当前位置: 首页>>代码示例>>PHP>>正文


PHP FD::avatar方法代码示例

本文整理汇总了PHP中FD::avatar方法的典型用法代码示例。如果您正苦于以下问题:PHP FD::avatar方法的具体用法?PHP FD::avatar怎么用?PHP FD::avatar使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在FD的用法示例。


在下文中一共展示了FD::avatar方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: processAvatar

 private function processAvatar()
 {
     $db = FD::db();
     $sql = $db->sql();
     $query = 'select a.*';
     $query .= ' from `#__comprofiler` as a';
     $query .= ' where not exists ( ';
     $query .= '		select b.`id` from `#__social_migrators` as b';
     $query .= ' 			where a.`user_id` = b.`oid` and b.`element` = ' . $db->Quote('avatar') . ' and b.`component` = ' . $db->Quote($this->name);
     $query .= ' )';
     $query .= ' and a.`avatar` is not null';
     $query .= ' and a.`avatarapproved` = 1';
     $query .= ' ORDER BY a.`user_id` ASC';
     $query .= ' LIMIT ' . $this->limit;
     $sql->raw($query);
     $db->setQuery($sql);
     $cbAvatars = $db->loadObjectList();
     if (count($cbAvatars) <= 0) {
         return null;
     }
     foreach ($cbAvatars as $cbAvatar) {
         if (!$cbAvatar->avatar) {
             // no need to process further.
             $this->log('avatar', $cbAvatar->user_id, $cbAvatar->user_id);
             $this->info->setInfo('User ' . $cbAvatar->user_id . ' is using default avatar. no migration is needed.');
             continue;
         }
         $userid = $cbAvatar->user_id;
         // images/avatar/c7a88f6daec02aea3fd3bc4e.jpg
         $imagePath = JPATH_ROOT . '/images/comprofiler/' . $cbAvatar->avatar;
         $tmp = explode('/', $imagePath);
         $filename = $tmp[count($tmp) - 1];
         if (!JFile::exists($imagePath)) {
             $this->log('avatar', $cbAvatar->user_id, $cbAvatar->user_id);
             $this->info->setInfo('User ' . $cbAvatar->user_id . ' the avatar image file is not found from the server. Process aborted.');
             continue;
         }
         // lets copy this file to tmp folder 1st.
         $tmp = JFactory::getConfig()->get('tmp_path');
         $tmpImageFile = $tmp . '/' . md5(JFactory::getDate()->toSql());
         JFile::copy($imagePath, $tmpImageFile);
         $image = FD::image();
         $image->load($tmpImageFile);
         $avatar = FD::avatar($image, $userid, SOCIAL_TYPE_USER);
         // Check if there's a profile photos album that already exists.
         $albumModel = FD::model('Albums');
         // Retrieve the user's default album
         $album = $albumModel->getDefaultAlbum($userid, SOCIAL_TYPE_USER, SOCIAL_ALBUM_PROFILE_PHOTOS);
         // we need to update the album user_id to this current user.
         $album->user_id = $userid;
         $album->store();
         $photo = FD::table('Photo');
         $photo->uid = $userid;
         $photo->type = SOCIAL_TYPE_USER;
         $photo->user_id = $userid;
         $photo->album_id = $album->id;
         $photo->title = $filename;
         $photo->caption = '';
         $photo->ordering = 0;
         // We need to set the photo state to "SOCIAL_PHOTOS_STATE_TMP"
         $photo->state = SOCIAL_PHOTOS_STATE_TMP;
         // Try to store the photo first
         $state = $photo->store();
         // Push all the ordering of the photo down
         $photosModel = FD::model('photos');
         $photosModel->pushPhotosOrdering($album->id, $photo->id);
         // Render photos library
         $photoLib = FD::get('Photos', $image);
         $storage = $photoLib->getStoragePath($album->id, $photo->id);
         $paths = $photoLib->create($storage);
         // Create metadata about the photos
         foreach ($paths as $type => $fileName) {
             $meta = FD::table('PhotoMeta');
             $meta->photo_id = $photo->id;
             $meta->group = SOCIAL_PHOTOS_META_PATH;
             $meta->property = $type;
             $meta->value = $storage . '/' . $fileName;
             $meta->store();
         }
         // Create the avatars now, but we do not want the store function to create stream.
         // so we pass in the option. we will create the stream ourown.
         $options = array('addstream' => false);
         $avatar->store($photo, $options);
         // add photo privacy
         $this->addItemPrivacy('photos.view', $photo->id, SOCIAL_TYPE_PHOTO, $cbAvatar->user_id, '0');
         // add photo stream
         $photo->addPhotosStream('uploadAvatar', $cbAvatar->lastupdatedate);
         // log into mgirator
         $this->log('avatar', $cbAvatar->user_id, $cbAvatar->user_id);
         $this->info->setInfo('User avatar ' . $cbAvatar->user_id . ' is now migrated into EasySocial.');
     }
     //end foreach
     return $this->info;
 }
开发者ID:knigherrant,项目名称:decopatio,代码行数:94,代码来源:cb.php

示例2: processAvatar

 private function processAvatar()
 {
     $config = FD::config();
     $db = FD::db();
     $sql = $db->sql();
     $query = 'select a.*, c.uid as `esgroupid`';
     $query .= ' from `#__community_groups` as a';
     $query .= ' inner join `#__social_migrators` as c on a.`id` = c.`oid` and c.`element` = ' . $db->Quote('groups') . ' and c.`component` = ' . $db->Quote('com_community');
     $query .= ' where not exists ( ';
     $query .= '		select b.`id` from `#__social_migrators` as b';
     $query .= ' 			where a.`id` = b.`oid` and b.`element` = ' . $db->Quote('groupavatar') . ' and b.`component` = ' . $db->Quote($this->name);
     $query .= ' )';
     $query .= ' ORDER BY a.`id` ASC';
     $query .= ' LIMIT ' . $this->limit;
     $sql->raw($query);
     $db->setQuery($sql);
     $jsGroups = $db->loadObjectList();
     if (count($jsGroups) <= 0) {
         return null;
     }
     foreach ($jsGroups as $jsGroup) {
         if (!$jsGroup->avatar) {
             // no need to process further.
             $this->log('groupavatar', $jsGroup->id, $jsGroup->id);
             $this->info->setInfo('Group ' . $jsGroup->id . ' is using default avatar. no migration is needed.');
             continue;
         }
         $imagePath = JPATH_ROOT . '/' . $jsGroup->avatar;
         $tmp = explode('/', $imagePath);
         $filename = $tmp[count($tmp) - 1];
         if (!JFile::exists($imagePath)) {
             $this->log('groupavatar', $jsGroup->id, $jsGroup->id);
             $this->info->setInfo('Group ' . $jsGroup->id . ' the avatar image file is not found from the server. Process aborted.');
             continue;
         }
         // lets copy this file to tmp folder 1st.
         $tmp = JFactory::getConfig()->get('tmp_path');
         $tmpImageFile = $tmp . '/' . md5(JFactory::getDate()->toSql());
         JFile::copy($imagePath, $tmpImageFile);
         $image = FD::image();
         $image->load($tmpImageFile);
         $avatar = FD::avatar($image, $jsGroup->esgroupid, SOCIAL_TYPE_GROUP);
         // Check if there's a profile photos album that already exists.
         $albumModel = FD::model('Albums');
         // Retrieve the group's default album
         $album = $albumModel->getDefaultAlbum($jsGroup->esgroupid, SOCIAL_TYPE_GROUP, SOCIAL_ALBUM_PROFILE_PHOTOS);
         $album->user_id = $jsGroup->ownerid;
         $album->store();
         $photo = FD::table('Photo');
         $photo->uid = $jsGroup->esgroupid;
         $photo->user_id = $jsGroup->ownerid;
         $photo->type = SOCIAL_TYPE_GROUP;
         $photo->album_id = $album->id;
         $photo->title = $filename;
         $photo->caption = '';
         $photo->ordering = 0;
         // We need to set the photo state to "SOCIAL_PHOTOS_STATE_TMP"
         $photo->state = SOCIAL_PHOTOS_STATE_TMP;
         // Try to store the photo first
         $state = $photo->store();
         // Push all the ordering of the photo down
         $photosModel = FD::model('photos');
         $photosModel->pushPhotosOrdering($album->id, $photo->id);
         // Render photos library
         $photoLib = FD::get('Photos', $image);
         $storage = $photoLib->getStoragePath($album->id, $photo->id);
         $paths = $photoLib->create($storage);
         // Create metadata about the photos
         foreach ($paths as $type => $fileName) {
             $meta = FD::table('PhotoMeta');
             $meta->photo_id = $photo->id;
             $meta->group = SOCIAL_PHOTOS_META_PATH;
             $meta->property = $type;
             $meta->value = $storage . '/' . $fileName;
             $meta->store();
         }
         // Create the avatars now, but we do not want the store function to create stream.
         // so we pass in the option. we will create the stream our own.
         $options = array('addstream' => false);
         $avatar->store($photo, $options);
         // @Add stream item when a new event cover is uploaded
         // get the cover update date.
         $uploadDate = $this->getMediaUploadDate('groups.avatar.upload', $jsGroup->id);
         if (!$uploadDate) {
             // if empty, then lets just use event creation date.
             $uploadDate = $jsGroup->created;
         }
         $photo->addPhotosStream('uploadAvatar', $uploadDate);
         // log into mgirator
         $this->log('groupavatar', $jsGroup->id, $photo->id);
         $this->info->setInfo('Group avatar ' . $jsGroup->id . ' is now migrated into EasySocial.');
     }
     return $this->info;
 }
开发者ID:knigherrant,项目名称:decopatio,代码行数:94,代码来源:jomsocialgroup.php

示例3: createAvatar

 /**
  * Allows caller to set profile photo based on the photo that they have.
  *
  * @since   1.0
  * @access  public
  * @return
  */
 public function createAvatar()
 {
     // Check for request forgeries
     FD::checkToken();
     // Only registered users should be allowed to upload photos
     FD::requireLogin();
     // Get the current view
     $view = $this->getCurrentView();
     // Get the photo id
     $id = JRequest::getInt('id');
     // Try to load the photo.
     $photo = FD::table('Photo');
     $photo->load($id);
     // Try to load the photo with the provided id.
     if (!$id || !$photo->id) {
         $view->setMessage(JText::_('COM_EASYSOCIAL_PHOTOS_INVALID_ID_PROVIDED'), SOCIAL_MSG_ERROR);
         return $view->call(__FUNCTION__);
     }
     // Get the photos lib
     $lib = FD::photo($photo->uid, $photo->type, $photo);
     if (!$lib->canUseAvatar()) {
         $view->setMessage(JText::_('COM_EASYSOCIAL_PHOTOS_NO_PERMISSION_TO_USE_PHOTO_AS_AVATAR'), SOCIAL_MSG_ERROR);
         return $view->call(__FUNCTION__);
     }
     // Get the image object for the photo
     // Use "original" not "stock" because it might be rotated before this.
     $image = $photo->getImageObject('stock');
     if ($image === false) {
         $image = $photo->getImageObject('original');
     }
     // Need to rotate as necessary here because we're loading up using the stock photo and the stock photo
     // is as is when the user initially uploaded.
     $image->rotate($photo->getAngle());
     $tmp = JFactory::getConfig()->get('tmp_path');
     $tmpPath = $tmp . '/' . md5($photo->id) . $image->getExtension();
     $image->save($tmpPath);
     unset($image);
     $image = FD::image();
     $image->load($tmpPath);
     // Get the current user.
     $my = FD::user();
     // Load up the avatar library
     $avatar = FD::avatar($image, $photo->uid, $photo->type);
     // Crop the image to follow the avatar format. Get the dimensions from the request.
     $width = JRequest::getVar('width');
     $height = JRequest::getVar('height');
     $top = JRequest::getVar('top');
     $left = JRequest::getVar('left');
     // We need to get the temporary path so that we can delete it later once everything is done.
     $avatar->crop($top, $left, $width, $height);
     // Create the avatars now
     $avatar->store($photo);
     // Delete the temporary file.
     JFile::delete($tmpPath);
     return $view->call(__FUNCTION__, $photo);
 }
开发者ID:ppantilla,项目名称:bbninja,代码行数:63,代码来源:photos.php

示例4: upload

 /**
  * Responsible to store the uploaded images.
  *
  * @since	1.0
  * @access	public
  * @param	null
  *
  * @author	Mark Lee <mark@stackideas.com>
  */
 public function upload($files)
 {
     // Get config object.
     $config = FD::config();
     // Do not proceed if image doesn't exist.
     if (empty($files) || !isset($files['file'])) {
         $this->setError(JText::_('COM_EASYSOCIAL_PROFILES_DEFAULT_AVATARS_FILE_UNAVAILABLE'));
         return false;
     }
     // Get the single file input since the $files is an array.
     $file = $files['file'];
     // Get the default avatars storage location.
     $avatarsPath = JPATH_ROOT . '/' . FD::cleanPath($config->get('avatars.storage.container'));
     // Test if the avatars path folder exists. If it doesn't we need to create it.
     if (!FD::makeFolder($avatarsPath)) {
         $this->setError(JText::_('Errors when creating default container for avatar'));
         return false;
     }
     // Get the defaults avatar path.
     $defaultsPath = $avatarsPath . '/' . FD::cleanPath($config->get('avatars.storage.default'));
     // Ensure that the defaults path exist
     if (!FD::makeFolder($defaultsPath)) {
         $this->setError(JText::_('Errors when creating default path for avatar'));
         return false;
     }
     // Get the default avatars storage location for this type.
     $typePath = $config->get('avatars.storage.defaults.' . $this->type);
     $storagePath = $defaultsPath . '/' . FD::cleanPath($typePath);
     // Ensure storage path exists.
     if (!FD::makeFolder($storagePath)) {
         FD::logError(__FILE__, __LINE__, 'DEFAULT_AVATARS: Unable to create the path ' . $storagePath);
         $this->setError(JText::_('Errors when creating default path for avatar'));
         return false;
     }
     // Get the profile id and construct the final path.
     $idPath = FD::cleanPath($this->uid);
     $storagePath = $storagePath . '/' . $idPath;
     // Ensure storage path exists.
     if (!FD::makeFolder($storagePath)) {
         $this->setError(JText::_('Errors when creating default path for avatar'));
         return false;
     }
     // Get the image library to perform some checks.
     $image = FD::get('Image');
     $image->load($file['tmp_name']);
     // Test if the image is really a valid image.
     if (!$image->isValid()) {
         FD::logError(__FILE__, __LINE__, 'DEFAULT_AVATARS: Image uploaded ' . $file['name'] . ' is invalid');
         $this->setError(JText::_('COM_EASYSOCIAL_PROFILES_DEFAULT_AVATARS_FILE_NOT_IMAGE'));
         return false;
     }
     // Process avatar storage.
     $avatar = FD::avatar($image, $this->uid, $this->type);
     // Let's create the avatar.
     $sizes = $avatar->create($storagePath);
     // Assign the values back.
     foreach ($sizes as $size => $url) {
         $this->{$size} = $url;
     }
     return true;
 }
开发者ID:knigherrant,项目名称:decopatio,代码行数:70,代码来源:defaultavatar.php


注:本文中的FD::avatar方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。