diff options
| author | cash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-12-18 20:15:24 +0000 | 
|---|---|---|
| committer | cash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-12-18 20:15:24 +0000 | 
| commit | 9ac841f26e05af3515643e44eb5fde30bcfb1b75 (patch) | |
| tree | 65db9ad52cd03922e2451f85b8e8e56c2b4770fe /mod | |
| parent | 569f19d8ff89539eb8d38b1ca1b07a2baa41852c (diff) | |
| download | elgg-9ac841f26e05af3515643e44eb5fde30bcfb1b75.tar.gz elgg-9ac841f26e05af3515643e44eb5fde30bcfb1b75.tar.bz2 | |
moved the avatar forms and actions into core from profile plugin
git-svn-id: http://code.elgg.org/elgg/trunk@7670 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'mod')
| -rw-r--r-- | mod/groups/start.php | 2 | ||||
| -rw-r--r-- | mod/profile/actions/cropicon.php | 73 | ||||
| -rw-r--r-- | mod/profile/actions/iconupload.php | 62 | ||||
| -rw-r--r-- | mod/profile/views/default/profile/editicon.php | 106 | 
4 files changed, 5 insertions, 238 deletions
| diff --git a/mod/groups/start.php b/mod/groups/start.php index aaaaa3f45..c2b3dc35b 100644 --- a/mod/groups/start.php +++ b/mod/groups/start.php @@ -39,7 +39,7 @@  		elgg_register_action("groups/invite", $CONFIG->pluginspath . "groups/actions/invite.php");  		// Add a page owner handler -		elgg_register_plugin_hook_handler('page_owner', 'system', 'groups_page_owner_handler'); +		//elgg_register_plugin_hook_handler('page_owner', 'system', 'groups_page_owner_handler');  		// Add some widgets  		elgg_register_widget_type('a_users_groups',elgg_echo('groups:widget:membership'), elgg_echo('groups:widgets:description')); diff --git a/mod/profile/actions/cropicon.php b/mod/profile/actions/cropicon.php deleted file mode 100644 index c65b5f56d..000000000 --- a/mod/profile/actions/cropicon.php +++ /dev/null @@ -1,73 +0,0 @@ -<?php -/** - * Elgg profile plugin upload new user icon action - * - * @package ElggProfile - */ - -$profile_username = get_input('username'); -$profile_owner = get_user_by_username($profile_username); - -if (!$profile_owner || !($profile_owner instanceof ElggUser) || !$profile_owner->canEdit()) { -	register_error(elgg_echo('profile:icon:fail')); -	forward(REFERER); -} - -$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); - -$filehandler = new ElggFile(); -$filehandler->owner_guid = $profile_owner->getGUID(); -$filehandler->setFilename("profile/" . $profile_owner->guid . "master" . ".jpg"); -$filename = $filehandler->getFilenameOnFilestore(); - -$topbar = get_resized_image_from_existing_file($filename, 16, 16, true, $x1, $y1, $x2, $y2, TRUE); -$tiny = get_resized_image_from_existing_file($filename, 25, 25, true, $x1, $y1, $x2, $y2, TRUE); -$small = get_resized_image_from_existing_file($filename, 40, 40, true, $x1, $y1, $x2, $y2, TRUE); -$medium = get_resized_image_from_existing_file($filename, 100, 100, true, $x1, $y1, $x2, $y2, TRUE); -$large = get_resized_image_from_existing_file($filename, 550, 550, true, $x1, $y1, $x2, $y2); - -if ($tiny !== FALSE && $small !== FALSE && $medium !== FALSE && $large !== FALSE) { -	$filehandler = new ElggFile(); -	$filehandler->owner_guid = $profile_owner->getGUID(); -	$filehandler->setFilename("profile/" .  $profile_owner->guid . "large.jpg"); -	$filehandler->open("write"); -	$filehandler->write($large); -	$filehandler->close(); -	$filehandler->setFilename("profile/" .  $profile_owner->guid . "medium.jpg"); -	$filehandler->open("write"); -	$filehandler->write($medium); -	$filehandler->close(); -	$filehandler->setFilename("profile/" .  $profile_owner->guid . "small.jpg"); -	$filehandler->open("write"); -	$filehandler->write($small); -	$filehandler->close(); -	$filehandler->setFilename("profile/" .  $profile_owner->guid . "tiny.jpg"); -	$filehandler->open("write"); -	$filehandler->write($tiny); -	$filehandler->close(); -	$filehandler->setFilename("profile/" .  $profile_owner->guid . "topbar.jpg"); -	$filehandler->open("write"); -	$filehandler->write($topbar); -	$filehandler->close(); - -	$profile_owner->x1 = $x1; -	$profile_owner->x2 = $x2; -	$profile_owner->y1 = $y1; -	$profile_owner->y2 = $y2; - -	$profile_owner->icontime = time(); - -	system_message(elgg_echo("profile:icon:uploaded")); -} else { -	register_error(elgg_echo("profile:icon:notfound")); -} - -//forward the user back to the upload page to crop -$url = elgg_get_site_url()."pg/profile/{$profile_owner->username}/edit/icon"; - -if (isloggedin()) { -	forward($url); -} diff --git a/mod/profile/actions/iconupload.php b/mod/profile/actions/iconupload.php deleted file mode 100644 index 546aa0e9c..000000000 --- a/mod/profile/actions/iconupload.php +++ /dev/null @@ -1,62 +0,0 @@ -<?php -/** - * Elgg profile plugin upload new user icon action - * - * @package ElggProfile - */ - -$profile_username = get_input('username'); -$profile_owner = get_user_by_username($profile_username); - -if (!$profile_owner || !($profile_owner instanceof ElggUser) || !$profile_owner->canEdit()) { -	register_error(elgg_echo('profile:icon:fail')); -	forward(REFERER); -} - -$profile_owner_guid = $profile_owner->getGUID(); - -//@todo make this configurable? -$icon_sizes = array( -	'topbar' => array('w'=>16, 'h'=>16, 'square'=>TRUE, 'upscale'=>TRUE), -	'tiny' => array('w'=>25, 'h'=>25, 'square'=>TRUE, 'upscale'=>TRUE), -	'small' => array('w'=>40, 'h'=>40, 'square'=>TRUE, 'upscale'=>TRUE), -	'medium' => array('w'=>100, 'h'=>100, 'square'=>TRUE, 'upscale'=>TRUE), -	'large' => array('w'=>200, 'h'=>200, 'square'=>FALSE, 'upscale'=>FALSE), -	'master' => array('w'=>550, 'h'=>550, 'square'=>FALSE, 'upscale'=>FALSE) -); - -// get the images and save their file handlers into an array -// so we can do clean up if one fails. -$files = array(); -foreach ($icon_sizes as $name => $size_info) { -	$resized = get_resized_image_from_uploaded_file('profileicon', $size_info['w'], $size_info['h'], $size_info['square'], $size_info['upscale']); - -	if ($resized) { -		//@todo Make these actual entities.  See exts #348. -		$file = new ElggFile(); -		$file->owner_guid = $profile_owner_guid; -		$file->setFilename("profile/{$profile_owner_guid}{$name}.jpg"); -		$file->open('write'); -		$file->write($resized); -		$file->close(); -		$files[] = $file; -	} else { -		// cleanup on fail -		foreach ($files as $file) { -			$file->delete(); -		} - -		system_message(elgg_echo('profile:icon:notfound')); -		forward(REFERER); -	} -} - -$profile_owner->icontime = time(); -if (elgg_trigger_event('profileiconupdate', $profile_owner->type, $profile_owner)) { -	// pull this out into the river plugin. -	//add_to_river('river/user/default/profileiconupdate','update',$user->guid,$user->guid); -	system_message(elgg_echo("profile:icon:uploaded")); -} - -//forward the user back to the upload page to crop -forward(REFERER); diff --git a/mod/profile/views/default/profile/editicon.php b/mod/profile/views/default/profile/editicon.php index 9eeaecb4a..878ec504b 100644 --- a/mod/profile/views/default/profile/editicon.php +++ b/mod/profile/views/default/profile/editicon.php @@ -12,8 +12,6 @@  $currentuser = get_loggedin_user();  ?>  <div id="edit_profile_avatar"> -<!-- grab the required js for icon cropping --> -<script type="text/javascript" src="<?php echo elgg_get_site_url(); ?>mod/profile/views/default/js/jquery.imgareaselect-0.8.min.js"></script>  <p class="margin-top"><?php echo elgg_echo('profile:profilepictureinstructions'); ?></p> @@ -30,112 +28,16 @@ $currentuser = get_loggedin_user();  </div>  <div id="avatar_upload"> -	<form action="<?php echo elgg_get_site_url(); ?>action/profile/iconupload" method="post" enctype="multipart/form-data"> -	<?php echo elgg_view('input/securitytoken'); ?> -	<input type="hidden" name="username" value="<?php echo $currentuser->username; ?>" /> -	<p><label><?php echo elgg_echo("profile:editicon"); ?></label><br /> -	 -		<?php -			 -			echo elgg_view("input/file",array('internalname' => 'profileicon')); -		?> -		<br /><input type="submit" class="submit-button" value="<?php echo elgg_echo("upload"); ?>" /> -	</p> -	</form> +<?php +	echo elgg_view_form('avatar/upload', array('enctype' => 'multipart/form-data'), array('entity' => $currentuser)); +?>  </div>  <div id="avatar_croppingtool">	  <label><?php echo elgg_echo('profile:profilepicturecroppingtool'); ?></label><br /> -<p>	 -<?php -    echo elgg_echo("profile:createicon:instructions"); -     -    //display the current user photo -      -    $user_master_image = $currentuser->getIcon('master'); -     +<?php echo elgg_view_form('avatar/crop', array(), array('entity' => get_loggedin_user()));  ?> -</p> -<script type="text/javascript"> - -    //function to display a preview of the users cropped section -    function preview(img, selection) { -		// catch for the first click on the image -		if (selection.width == 0 || selection.height == 0) { -			return; -		} -		 -        var origWidth = $("#user_avatar").width(); //get the width of the users master photo -        var origHeight = $("#user_avatar").height(); //get the height of the users master photo -        var scaleX = 100 / selection.width;  -        var scaleY = 100 / selection.height;  -        $('#user_avatar_preview > img').css({  -            width: Math.round(scaleX * origWidth) + 'px',  -            height: Math.round(scaleY * origHeight) + 'px',  -            marginLeft: '-' + Math.round(scaleX * selection.x1) + 'px',  -            marginTop: '-' + Math.round(scaleY * selection.y1) + 'px'  -         });  -    }  -         -    //variables for the newly cropped avatar -    //var $x1, $y1, $x2, $y2, $w, $h; -         -        function selectChange(img, selection){ -            -           //populate the form with the correct coordinates once a user has cropped their image -           $('#x_1').val(selection.x1); -           $('#x_2').val(selection.x2); -           $('#y_1').val(selection.y1); -           $('#y_2').val(selection.y2); -            -         }      -          -        $(document).ready(function () { -             -            //get the coordinates from the form -            /* -            var x_1 = $('#x_1').val(); -            var x_2 = $('#x_2').val(); -            var y_1 = $('#y_1').val(); -            var y_2 = $('#y_2').val(); -            var w = x_2 - x_1; -            var h = y_2 - y_1; -            selection = { x1: x_1, y1: y_1, x2: x_2, y2: y_2, width: w, height: h }; -            */ -             -            $('<div id="user_avatar_preview"><img src="<?php echo $user_master_image; ?>" /></div>')  -            .insertAfter($('#user_avatar')); -             -            $('<div id="user_avatar_preview_title"><label><?php echo elgg_echo('profile:preview'); ?></label></div>').insertBefore($('#user_avatar_preview')); -        });  -         -        $(window).load(function () {  -             -            //this produces the coordinates -            $('#user_avatar').imgAreaSelect({ selectionOpacity: 0, onSelectEnd: selectChange }); -            //show the preview -            $('#user_avatar').imgAreaSelect({ aspectRatio: '1:1', onSelectChange: preview }); -   -        }); -  -</script> - -<p> -<img id="user_avatar" src="<?php echo $user_master_image; ?>" alt="<?php echo elgg_echo("profile:icon"); ?>" /> -</p> - -<div class="clearfloat"></div> - -<form action="<?php echo elgg_get_site_url(); ?>action/profile/cropicon" method="post" /> -	<?php echo elgg_view('input/securitytoken'); ?> -	<input type="hidden" name="username" value="<?php echo get_loggedin_user()->username; ?>" /> -	<input type="hidden" name="x_1" value="<?php echo get_loggedin_user()->x1; ?>" id="x_1" /> -    <input type="hidden" name="x_2" value="<?php echo get_loggedin_user()->x2; ?>" id="x_2" /> -    <input type="hidden" name="y_1" value="<?php echo get_loggedin_user()->y1; ?>" id="y_1" /> -    <input type="hidden" name="y_2" value="<?php echo get_loggedin_user()->y2; ?>" id="y_2" /> -	<input type="submit" name="submit" value="<?php echo elgg_echo("profile:createicon"); ?>" /> -</form>  </div>  </div> | 
