aboutsummaryrefslogtreecommitdiff
path: root/mod/profile/actions/cropicon.php
blob: c367a42dc047632470a43e2ea4824bfd50883b20 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?php

	/**
	 * Elgg profile plugin upload new user icon action
	 * 
	 * @package ElggProfile
	 * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
	 * @author Curverider Ltd <info@elgg.com>
	 * @copyright Curverider Ltd 2008
	 * @link http://elgg.com/
	 */

		$x1 = (int) get_input('x_1',0);
		$y1 = (int) get_input('y_1',0);
		$x2 = (int) get_input('x_2',0);
		$y2 = (int) get_input('y_2',0);
		
		$user = page_owner_entity();
		
		$filehandler = new ElggFile();
		$filehandler->owner_guid = $user->getGUID();
		$filehandler->setFilename("profile/" . $user->username . "master" . ".jpg");
		$filename = $filehandler->getFilenameOnFilestore();
		
		$topbar = get_resized_image_from_existing_file($filename,16,16, true, $x1, $y1, $x2, $y2);
		$tiny = get_resized_image_from_existing_file($filename,25,25, true, $x1, $y1, $x2, $y2);
		$small = get_resized_image_from_existing_file($filename,40,40, true, $x1, $y1, $x2, $y2);
		$medium = get_resized_image_from_existing_file($filename,100,100, true, $x1, $y1, $x2, $y2);
		
		if ($small !== false
					&& $medium !== false
					&& $tiny !== false) {
				
					$filehandler = new ElggFile();
					$filehandler->owner_guid = $_SESSION['user']->getGUID();
					$filehandler->setFilename("profile/" . $_SESSION['user']->username . "medium.jpg");
					$filehandler->open("write");
					$filehandler->write($medium);
					$filehandler->close();
					$filehandler->setFilename("profile/" . $_SESSION['user']->username . "small.jpg");
					$filehandler->open("write");
					$filehandler->write($small);
					$filehandler->close();
					$filehandler->setFilename("profile/" . $_SESSION['user']->username . "tiny.jpg");
					$filehandler->open("write");
					$filehandler->write($tiny);
					$filehandler->close();
					$filehandler->setFilename("profile/" . $_SESSION['user']->username . "topbar.jpg");
					$filehandler->open("write");
					$filehandler->write($topbar);
					$filehandler->close();
					
					$user->x1 = $x1;
					$user->x2 = $x2;
					$user->y1 = $y1;
					$user->y2 = $y2;
					
					$_SESSION['user']->icontime = time();
					
					system_message(elgg_echo("profile:icon:uploaded"));
				
				} else {
					system_message(elgg_echo("profile:icon:notfound"));					
				}
			
	    //forward the user back to the upload page to crop
	    
	    $url = $vars['url'] . "mod/profile/editicon.php";
			
		if (isloggedin()) forward($url);

?>