root/dev/common/portrait_grab.php @ 314

Revision 314, 3.4 KB (checked in by ralle030583, 15 years ago)

DB Update003 : Warefare Links fixed from mid to highslot
Ticket #71 : Kill_detail.tpl Slot,Destroyed,Dropped items has own table-row styles in the style.css's
Ticket #70 : KB_VERSION not a number
Ticket #69 : Update Portrait Update
Ticket #68 : possibility to disabe out of game posting
Ticket #64 : Problem with IGB links when KB not in web root

Line 
1<?php
2/* ex: set ts=4: set sw=4: set expandtab */
3require_once('common/includes/class.pilot.php');
4require_once('common/includes/class.corp.php');
5require_once('common/includes/class.alliance.php');
6define('IS_IMG_MAX', 256);
7
8$page = new Page('Capture portrait');
9
10$html .= '<html><head><title>Update portrait</title></head><body>';
11
12if (!$page->igb())
13{
14    $html .= 'You need to access this page from the EVE ingame browser.';
15}
16else
17{
18    if (($_SERVER['HTTP_EVE_TRUSTED'] == 'no'))
19    {
20        Header('eve.trustme:http://'.$_SERVER['HTTP_HOST'].'/::Need trust to grab character portrait.');
21        $html .= '<h1>Trust Required</h1>';
22        $html .= 'This site needs to be trusted in order to grab your character portrait.';
23    }
24    else
25    {
26        $now = date('Y-m-d H:m:s');
27        $alliance = new Alliance();
28        $all_id = $alliance->add($_SERVER['HTTP_EVE_ALLIANCENAME']);
29        $corp = new Corporation();
30        $crp_id = $corp->add($_SERVER['HTTP_EVE_CORPNAME'], $alliance, $now);
31        $pilot = new Pilot();
32        $plt_id = $pilot->add($_SERVER['HTTP_EVE_CHARNAME'], $corp, $now);
33        $id = intval($_SERVER['HTTP_EVE_CHARID']);
34        $pilot->setCharacterID($id);
35                if (file_exists("cache/portraits/".$id."_256.jpg") && 1 == $_REQUEST['force']) 
36                {
37                        // Remove just in case.
38                        @unlink("cache/portraits/".$id."}_32.jpg");
39                    @unlink("cache/portraits/".$id."_64.jpg");
40                        @unlink("cache/portraits/".$id."_128.jpg");
41                        @unlink("cache/portraits/".$id."_256.jpg");
42                        if (0 == create_portraits($id))
43                        {
44                                $message = "Character portrait uploaded.";
45                        }
46                        else
47                        {
48                                $message = "Character portrait update failed.";
49                        }
50                }
51                elseif (file_exists("cache/portraits/".$id."_256.jpg"))
52                {
53                        $message = "Character portrait not updated, as it already exists. <a href='".KB_HOST."?a=portrait_grab&force=1'>Click</a> to force an update.";
54                }
55                else
56                {
57                        if (0 == create_portraits($id))
58                        {
59                                $message = "Character portrait uploaded.";
60                        }
61                        else
62                        {
63                                $message = "Character portrait update failed.";
64                        }
65                       
66        }
67        $html .= "<img src='".$pilot->getPortraitURL(64)."' border='0' />";
68        $html .= "<br />$message <br />$port_error_msg <br />";
69        $html .= "<a href='".KB_HOST."?a=igb'>Return</a> to the killboard.<br />";
70        }
71}
72
73$html .= "</body></html>";
74
75$page->setContent($html);
76$page->generate();
77
78function create_portraits($id) {
79        global $port_error_msg;
80        if (1 != ini_get('allow_url_fopen')) {
81                $port_error_msg = 'This web host does not allow PHP to create HTTP connections.  Check allow_url_fopen.';
82                return -99;
83        }
84        if (! is_writable('cache/portraits/')) {
85                $port_error_msg = 'The portraits directory is not writable.  Please fix this.';
86                return -99;
87        }
88
89        $img = @imagecreatefromjpeg("http://img.eve.is/serv.asp?s=".IS_IMG_MAX."&c=".$id);
90        if ($img)
91        {
92                $dims = array (32, 64, 128);
93                foreach ($dims as $dim) {
94                        $newimg = @imagecreatetruecolor($dim,$dim);
95                        @imagecopyresampled($newimg, $img, 0,0,0,0,$dim,$dim,IS_IMG_MAX,IS_IMG_MAX);
96                        @imagejpeg($newimg, "cache/portraits/".$id."_".$dim.".jpg");
97                }
98                @imagejpeg($img, "cache/portraits/" . $id . "_256.jpg");
99                $return = 0;
100        }
101        else
102        {
103                $port_error_msg = 'Attempting to create an image failed, and it was not because the directory was not writable.';
104                $return = -99;
105        }
106        return $return;
107}
108?>
Note: See TracBrowser for help on using the browser.