Version 3.3.4
This commit is contained in:
1 parent
78706903a2
commit
fb6b5baabc
2206 files changed
+409828
-382984
No files matched your search
@@ -1,194 +1,200 @@
|
||||
<?php
|
||||
/**
|
||||
* @file photo.php Returns a cropped photo for an ajax request
|
||||
*~TERABYTE_DOC_READY~
|
||||
* $Copyright: (c) 2001 - 2011 Invision Power Services, Inc.$
|
||||
* $License: This is NULLED!
|
||||
* $Author: mmecham $
|
||||
* @since 7th Feb 2011
|
||||
* $LastChangedDate: 2011-09-08 11:58:29 -0400 (Thu, 08 Sep 2011) $
|
||||
* @version v3.2.3
|
||||
* $Revision: 9467 $
|
||||
*/
|
||||
|
||||
if ( ! defined( 'IN_IPB' ) )
|
||||
{
|
||||
print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files.";
|
||||
exit();
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @class public_members_ajax_photo
|
||||
* @brief Returns a cropped photo for an ajax request
|
||||
*
|
||||
*/
|
||||
class public_members_ajax_photo extends ipsAjaxCommand
|
||||
{
|
||||
/**
|
||||
* Main function executed automatically by the controller
|
||||
*
|
||||
* @param object $registry Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
$this->registry->class_localization->loadLanguageFile( array( 'public_profile' ), 'members' );
|
||||
|
||||
/* Load library */
|
||||
$classToLoad = IPSLib::loadLibrary( IPS_ROOT_PATH . 'sources/classes/member/photo.php', 'classes_member_photo' );
|
||||
$this->photo = new $classToLoad( $registry );
|
||||
|
||||
switch( $this->request[ 'do' ] )
|
||||
{
|
||||
case 'cropPhoto':
|
||||
$this->_cropPhoto();
|
||||
break;
|
||||
case 'show':
|
||||
$this->_show();
|
||||
break;
|
||||
case 'remove':
|
||||
$this->_remove();
|
||||
break;
|
||||
case 'save':
|
||||
$this->_save();
|
||||
break;
|
||||
case 'importUrl':
|
||||
$this->_importUrl();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Import a photo or image from URL
|
||||
*
|
||||
*/
|
||||
protected function _importUrl()
|
||||
{
|
||||
$url = trim( $this->request['url'] );
|
||||
|
||||
/* Do it */
|
||||
try
|
||||
{
|
||||
/* Check for valid URL */
|
||||
$photo = $this->photo->save( $this->memberData, 'url', '', $url );
|
||||
|
||||
if ( is_array( $photo ) )
|
||||
{
|
||||
$photo = IPSMember::buildDisplayData( IPSMember::load( $this->memberData['member_id'], 'all' ) );
|
||||
$photo['oldThumb'] = $this->memberData['pp_small_photo'];
|
||||
$photo['status'] = 'ok';
|
||||
$photo['thumb'] = $photo['pp_thumb_photo'];
|
||||
$this->returnJsonArray( $photo );
|
||||
}
|
||||
}
|
||||
catch( Exception $error )
|
||||
{
|
||||
$msg = $error->getMessage();
|
||||
|
||||
switch ( $msg )
|
||||
{
|
||||
default:
|
||||
$this->returnJsonError( $this->lang->words[ $msg ] );
|
||||
break;
|
||||
case 'PROFILE_DISABLED':
|
||||
$this->returnJsonError( 'member_profile_disabled' );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves data
|
||||
*
|
||||
* @return @e void [HTML]
|
||||
*/
|
||||
protected function _save()
|
||||
{
|
||||
$photoType = $this->request['photoType'];
|
||||
$gravatar = $this->request['gravatar'];
|
||||
|
||||
/* Do it */
|
||||
try
|
||||
{
|
||||
$photo = $this->photo->save( $this->memberData, $photoType, $gravatar );
|
||||
|
||||
if ( is_array( $photo ) )
|
||||
{
|
||||
$photo = IPSMember::buildDisplayData( IPSMember::load( $this->memberData['member_id'], 'all' ) );
|
||||
$photo['oldThumb'] = $this->memberData['pp_small_photo'];
|
||||
$photo['status'] = 'ok';
|
||||
$photo['thumb'] = $photo['pp_thumb_photo'];
|
||||
$this->returnJsonArray( $photo );
|
||||
}
|
||||
}
|
||||
catch( Exception $error )
|
||||
{
|
||||
$msg = $error->getMessage();
|
||||
|
||||
switch ( $msg )
|
||||
{
|
||||
default:
|
||||
$this->returnJsonError( $this->lang->words[ 'pp_' . $msg ] );
|
||||
break;
|
||||
case 'PROFILE_DISABLED':
|
||||
$this->returnJsonError( 'member_profile_disabled' );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the photo
|
||||
*
|
||||
* @return @e void [HTML]
|
||||
*/
|
||||
protected function _remove()
|
||||
{
|
||||
$this->photo->remove( $this->memberData['member_id'] );
|
||||
|
||||
$return = IPSMember::buildDisplayData( IPSMember::load( $this->memberData['member_id'], 'all' ) );
|
||||
$return['oldThumb'] = $this->memberData['pp_small_photo'];
|
||||
$return['status'] = 'deleted';
|
||||
$return['thumb'] = $return['pp_thumb_photo'];
|
||||
|
||||
$this->returnJsonArray( $return );
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the photo editor
|
||||
*
|
||||
* @return @e void [HTML]
|
||||
*/
|
||||
protected function _show()
|
||||
{
|
||||
$this->returnHtml( $this->photo->getEditorHtml( $this->memberData ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* Crop the chosen photo
|
||||
*
|
||||
* @return @e void [JSON array]
|
||||
*/
|
||||
protected function _cropPhoto()
|
||||
{
|
||||
$x1 = intval( $this->request['x1'] );
|
||||
$x2 = intval( $this->request['x2'] );
|
||||
$y1 = intval( $this->request['y1'] );
|
||||
$y2 = intval( $this->request['y2'] );
|
||||
$dims = array( 'x1' => $x1, 'y1' => $y1, 'x2' => $x2, 'y2' => $y2 );
|
||||
|
||||
/* Crop and fetch return data */
|
||||
$return = $this->photo->cropPhoto( $this->memberData['member_id'], $dims );
|
||||
$member = IPSMember::buildDisplayData( IPSMember::load( $this->memberData['member_id'], 'all' ) );
|
||||
|
||||
if ( $return['status'] == 'ok' )
|
||||
{
|
||||
$this->returnJsonArray( array_merge( $member, $return ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->returnJsonError('fail');
|
||||
}
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* @file photo.php Returns a cropped photo for an ajax request
|
||||
*~TERABYTE_DOC_READY~
|
||||
* $Copyright: (c) 2001 - 2011 Invision Power Services, Inc.$
|
||||
* $License: http://www.invisionpower.com/company/standards.php#license$
|
||||
* $Author: bfarber $
|
||||
* @since 7th Feb 2011
|
||||
* $LastChangedDate: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
|
||||
* @version v3.3.4
|
||||
* $Revision: 10914 $
|
||||
*/
|
||||
|
||||
if ( ! defined( 'IN_IPB' ) )
|
||||
{
|
||||
print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files.";
|
||||
exit();
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @class public_members_ajax_photo
|
||||
* @brief Returns a cropped photo for an ajax request
|
||||
*
|
||||
*/
|
||||
class public_members_ajax_photo extends ipsAjaxCommand
|
||||
{
|
||||
/**
|
||||
* Main function executed automatically by the controller
|
||||
*
|
||||
* @param object $registry Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
$this->registry->class_localization->loadLanguageFile( array( 'public_profile' ), 'members' );
|
||||
|
||||
/* Load library */
|
||||
$classToLoad = IPSLib::loadLibrary( IPS_ROOT_PATH . 'sources/classes/member/photo.php', 'classes_member_photo' );
|
||||
$this->photo = new $classToLoad( $registry );
|
||||
|
||||
switch( $this->request[ 'do' ] )
|
||||
{
|
||||
case 'cropPhoto':
|
||||
$this->_cropPhoto();
|
||||
break;
|
||||
case 'show':
|
||||
$this->_show();
|
||||
break;
|
||||
case 'remove':
|
||||
$this->_remove();
|
||||
break;
|
||||
case 'save':
|
||||
$this->_save();
|
||||
break;
|
||||
case 'importUrl':
|
||||
$this->_importUrl();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Import a photo or image from URL
|
||||
*
|
||||
*/
|
||||
protected function _importUrl()
|
||||
{
|
||||
$url = trim( $this->request['url'] );
|
||||
|
||||
/* Do it */
|
||||
try
|
||||
{
|
||||
/* Check for valid URL */
|
||||
$photo = $this->photo->save( $this->memberData, 'url', '', $url );
|
||||
|
||||
if ( is_array( $photo ) )
|
||||
{
|
||||
$photo = IPSMember::buildDisplayData( IPSMember::load( $this->memberData['member_id'], 'all' ) );
|
||||
$photo['oldThumb'] = $this->memberData['pp_small_photo'];
|
||||
$photo['status'] = 'ok';
|
||||
$photo['thumb'] = $photo['pp_thumb_photo'];
|
||||
$this->returnJsonArray( $photo );
|
||||
}
|
||||
}
|
||||
catch( Exception $error )
|
||||
{
|
||||
$msg = $error->getMessage();
|
||||
|
||||
switch ( $msg )
|
||||
{
|
||||
default:
|
||||
$this->returnJsonError( $this->lang->words[ 'pp_' . $msg ] );
|
||||
break;
|
||||
case 'upload_to_big':
|
||||
$this->returnJsonError( sprintf( $this->lang->words[ 'pp_' . $msg ], $this->memberData['photoMaxKb'] ) );
|
||||
break;
|
||||
case 'PROFILE_DISABLED':
|
||||
$this->returnJsonError( 'member_profile_disabled' );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves data
|
||||
*
|
||||
* @return @e void [HTML]
|
||||
*/
|
||||
protected function _save()
|
||||
{
|
||||
$photoType = $this->request['photoType'];
|
||||
$gravatar = $this->request['gravatar'];
|
||||
|
||||
/* Do it */
|
||||
try
|
||||
{
|
||||
$photo = $this->photo->save( $this->memberData, $photoType, $gravatar );
|
||||
|
||||
if ( is_array( $photo ) )
|
||||
{
|
||||
$photo = IPSMember::buildDisplayData( IPSMember::load( $this->memberData['member_id'], 'all' ) );
|
||||
$photo['oldThumb'] = $this->memberData['pp_small_photo'];
|
||||
$photo['status'] = 'ok';
|
||||
$photo['thumb'] = $photo['pp_thumb_photo'];
|
||||
$this->returnJsonArray( $photo );
|
||||
}
|
||||
}
|
||||
catch( Exception $error )
|
||||
{
|
||||
$msg = $error->getMessage();
|
||||
|
||||
switch ( $msg )
|
||||
{
|
||||
case 'upload_to_big':
|
||||
$this->returnJsonError( sprintf( $this->lang->words[ 'pp_' . $msg ], $this->memberData['photoMaxKb'] ) );
|
||||
break;
|
||||
default:
|
||||
$this->returnJsonError( $this->lang->words[ 'pp_' . $msg ] );
|
||||
break;
|
||||
case 'PROFILE_DISABLED':
|
||||
$this->returnJsonError( 'member_profile_disabled' );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the photo
|
||||
*
|
||||
* @return @e void [HTML]
|
||||
*/
|
||||
protected function _remove()
|
||||
{
|
||||
$this->photo->remove( $this->memberData['member_id'] );
|
||||
|
||||
$return = IPSMember::buildDisplayData( IPSMember::load( $this->memberData['member_id'], 'all' ) );
|
||||
$return['oldThumb'] = $this->memberData['pp_small_photo'];
|
||||
$return['status'] = 'deleted';
|
||||
$return['thumb'] = $return['pp_thumb_photo'];
|
||||
|
||||
$this->returnJsonArray( $return );
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the photo editor
|
||||
*
|
||||
* @return @e void [HTML]
|
||||
*/
|
||||
protected function _show()
|
||||
{
|
||||
$this->returnHtml( $this->photo->getEditorHtml( $this->memberData ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* Crop the chosen photo
|
||||
*
|
||||
* @return @e void [JSON array]
|
||||
*/
|
||||
protected function _cropPhoto()
|
||||
{
|
||||
$x1 = intval( $this->request['x1'] );
|
||||
$x2 = intval( $this->request['x2'] );
|
||||
$y1 = intval( $this->request['y1'] );
|
||||
$y2 = intval( $this->request['y2'] );
|
||||
$dims = array( 'x1' => $x1, 'y1' => $y1, 'x2' => $x2, 'y2' => $y2 );
|
||||
|
||||
/* Crop and fetch return data */
|
||||
$return = $this->photo->cropPhoto( $this->memberData['member_id'], $dims );
|
||||
$member = IPSMember::buildDisplayData( IPSMember::load( $this->memberData['member_id'], 'all' ) );
|
||||
|
||||
if ( $return['status'] == 'ok' )
|
||||
{
|
||||
$this->returnJsonArray( array_merge( $member, $return ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->returnJsonError('fail');
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user