• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

PHP func_generator函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了PHP中func_generator函数的典型用法代码示例。如果您正苦于以下问题:PHP func_generator函数的具体用法?PHP func_generator怎么用?PHP func_generator使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



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

示例1: __construct

 /**
  * Инициализация
  *
  * @param string $sFileName Путь до файла лога профайлера
  * @param bool $bEnable Статус активности
  */
 protected function __construct($sFileName, $bEnable)
 {
     $this->bEnable = $bEnable;
     $this->sFileName = $sFileName;
     $this->sRequestId = func_generator(32);
     $this->iTimeId = 0;
 }
开发者ID:cbrspc,项目名称:LIVESTREET-1-DISTRIB,代码行数:13,代码来源:Profiler.class.php


示例2: EventReceptiondeskAdd

 protected function EventReceptiondeskAdd()
 {
     $this->Lang_AddLangJs(array('topic_photoset_photo_delete', 'topic_photoset_mark_as_preview', 'topic_photoset_photo_delete_confirm', 'topic_photoset_is_preview', 'topic_photoset_upload_choose', 'plugin.receptiondesk.receptiondesk_admin_question_create_author_files_remove', 'plugin.receptiondesk.receptiondesk_admin_question_create_author_files_remove_confirm'));
     $this->Viewer_AddHtmlTitle($this->Lang_Get('plugin.receptiondesk.receptiondesk_admin_question_create_title'));
     $this->sMenuItemSelect = 'receptiondesk_create';
     if (empty($_COOKIE['ls_receptiondesk_file_target_tmp'])) {
         setcookie('ls_receptiondesk_file_target_tmp', func_generator(), time() + 24 * 3600, Config::Get('sys.cookie.path'), Config::Get('sys.cookie.host'));
     } else {
         setcookie('ls_receptiondesk_file_target_tmp', $_COOKIE['ls_receptiondesk_file_target_tmp'], time() + 24 * 3600, Config::Get('sys.cookie.path'), Config::Get('sys.cookie.host'));
         $this->Viewer_Assign('aQuestionFiles', $this->PluginReceptiondesk_Tools_getFilesByTargetTmp($_COOKIE['ls_receptiondesk_file_target_tmp']));
     }
     $this->SetTemplateAction('create');
 }
开发者ID:olegverstka,项目名称:kprf.dev,代码行数:13,代码来源:ActionReceptiondesk.class.php


示例3: EventSubscriptionAjaxSetSubscription

 protected function EventSubscriptionAjaxSetSubscription()
 {
     $this->Viewer_SetResponseAjax('json');
     require_once Config::Get('path.root.engine') . '/lib/external/XXTEA/encrypt.php';
     if (!($sSubscriptionMail = getRequestStr('subscription_mail'))) {
         $this->Message_AddErrorSingle($this->Lang_Get('plugin.subscription.subscription_mail_error_empty'), $this->Lang_Get('error'));
         return;
     }
     $oSubscription = Engine::GetEntity('PluginSubscription_ModuleSubscription_EntitySubscription');
     $oSubscription->_setValidateScenario('subscription_mail');
     $oSubscription->setMail($sSubscriptionMail);
     $oSubscription->_Validate();
     if ($oSubscription->_hasValidateErrors()) {
         $this->Message_AddErrorSingle($oSubscription->_getValidateError());
         return false;
     }
     if ($oSubscription = $this->PluginSubscription_Subscription_GetSubscriptionByMail($sSubscriptionMail)) {
         if ($oSubscription->getUnsubscribeHash()) {
             $sUnsubscribeCode = $oSubscription->getUnsubscribeHash();
             $sUnsubscribeCode .= base64_encode(xxtea_encrypt($oSubscription->getMail(), $oSubscription->getUnsubscribeHash()));
             $sUnsubscribeCode = str_replace(array('/', '+'), array('{', '}'), $sUnsubscribeCode);
             $this->Notify_Send($oSubscription->getMail(), 'notify.subscription_unsubscription.tpl', $this->Lang_Get('plugin.subscription.subscription_mail_message_subject'), array('sUnsubscribeCode' => $sUnsubscribeCode), 'subscription');
             $this->Viewer_AssignAjax('sText', $this->Lang_Get('plugin.subscription.subscription_block_subscription_submit_unsubscrib_ok'));
         } else {
             if ($oSubscription->getSubscribeDate()) {
                 $this->Viewer_AssignAjax('sText', $this->Lang_Get('plugin.subscription.subscription_mail_error_used'));
             } else {
                 $sSubscribeCode = $oSubscription->getSubscribeHash();
                 $sSubscribeCode .= base64_encode(xxtea_encrypt($oSubscription->getMail(), $oSubscription->getSubscribeHash()));
                 $sSubscribeCode = str_replace(array('/', '+'), array('{', '}'), $sSubscribeCode);
                 $this->Notify_Send($oSubscription->getMail(), 'notify.subscription_subscription.tpl', $this->Lang_Get('plugin.subscription.subscription_mail_message_subject'), array('sSubscribeCode' => $sSubscribeCode), 'subscription');
                 $this->Viewer_AssignAjax('sText', $this->Lang_Get('plugin.subscription.subscription_block_subscription_submit_repeatedly_ok'));
             }
         }
     } else {
         $oSubscription = Engine::GetEntity('PluginSubscription_ModuleSubscription_EntitySubscription');
         $oSubscription->setMail($sSubscriptionMail);
         $oSubscription->setSubscribeHash(func_generator());
         if ($this->PluginSubscription_Subscription_AddSubscription($oSubscription)) {
             $sSubscribeCode = $oSubscription->getSubscribeHash();
             $sSubscribeCode .= base64_encode(xxtea_encrypt($oSubscription->getMail(), $oSubscription->getSubscribeHash()));
             $sSubscribeCode = str_replace(array('/', '+'), array('{', '}'), $sSubscribeCode);
             $this->Notify_Send($oSubscription->getMail(), 'notify.subscription_subscription.tpl', $this->Lang_Get('plugin.subscription.subscription_mail_message_subject'), array('sSubscribeCode' => $sSubscribeCode), 'subscription');
             $this->Viewer_AssignAjax('sText', $this->Lang_Get('plugin.subscription.subscription_block_subscription_submit_ok'));
         } else {
             $this->Viewer_AssignAjax('sText', $this->Lang_Get('system_error'));
         }
     }
     return true;
 }
开发者ID:olegverstka,项目名称:kprf.dev,代码行数:50,代码来源:ActionAjax.class.php


示例4: EventSubscriptionNewsSubscribe

 protected function EventSubscriptionNewsSubscribe()
 {
     if (!($sString = $this->GetParamEventMatch(1, 0))) {
         return parent::EventNotFound();
     }
     $sString = str_replace(array('{', '}'), array('/', '+'), $sString);
     $sHash = substr($sString, 0, 10);
     require_once Config::Get('path.root.engine') . '/lib/external/XXTEA/encrypt.php';
     $sMail = xxtea_decrypt(base64_decode(substr($sString, 10)), $sHash);
     if (!($oSubscription = $this->PluginSubscription_Subscription_GetSubscriptionByMail($sMail, $sHash))) {
         return parent::EventNotFound();
     }
     $oSubscription->setUnsubscribeHash(func_generator());
     $oSubscription->setSubscribeDate(date("Y-m-d H:i:s"));
     if (!$this->PluginSubscription_Subscription_UpdateSubscription($oSubscription)) {
         return parent::EventNotFound();
     }
     $this->SetTemplateAction('news_subscribe');
 }
开发者ID:olegverstka,项目名称:kprf.dev,代码行数:19,代码来源:ActionSubscription.class.php


示例5: CreateFilePreview

 /**
  * Создает превью у файла для определенного типа
  *
  * @param $oMedia
  * @param $oTarget
  *
  * @return bool|string
  */
 public function CreateFilePreview($oMedia, $oTarget)
 {
     if (!$this->GetTargetTypeParam($oTarget->getTargetType(), 'allow_preview')) {
         return false;
     }
     /**
      * Нужно удалить прошлое превью (если оно есть)
      */
     $this->RemoveFilePreview($oMedia, $oTarget);
     if ($oMedia->getType() == self::MEDIA_TYPE_IMAGE) {
         $aParams = $this->Image_BuildParams('media.preview_' . $oTarget->getTargetType());
         if (!($oImage = $this->Image_OpenFrom($oMedia->getFilePath(), $aParams))) {
             return $this->Image_GetLastError();
         }
         /**
          * Сохраняем во временный файл
          */
         if (!($sFileTmp = $oImage->saveTmp())) {
             return $this->Image_GetLastError();
         }
         unset($oImage);
         /**
          * Получаем список необходимых размеров превью
          */
         $aSizes = $this->GetConfigParam('image.preview.sizes', $oTarget->getTargetType());
         /**
          * Каталог для сохранения превью
          */
         $sPath = $this->GetSaveDir($oTarget->getTargetType(), $oTarget->getTargetId(), 'preview');
         /**
          * Уникальное имя файла
          */
         $sFileName = func_generator(20);
         /**
          * Генерируем варианты с необходимыми размерами
          */
         $sFileLast = $this->GenerateImageBySizes($sFileTmp, $sPath, $sFileName, $aSizes, $aParams);
         $aSizeLast = end($aSizes);
         $sReplaceSize = '_' . $aSizeLast['w'] . 'x' . $aSizeLast['h'];
         if ($aSizeLast['crop']) {
             $sReplaceSize .= 'crop';
         }
         $sFileLast = str_replace($sReplaceSize, '', $sFileLast);
         /**
          * Теперь можно удалить временный файл
          */
         $this->Fs_RemoveFileLocal($sFileTmp);
         /**
          * Сохраняем данные во связи
          */
         $oTarget->setDataOne('image_preview_sizes', $aSizes);
         $oTarget->setDataOne('image_preview', $sFileLast);
         $oTarget->setIsPreview(1);
         $oTarget->Update();
         /**
          * Уведомляем объект о создании нового превью
          */
         if ($oTarget->getTargetId()) {
             $this->NotifyCreatePreviewTarget($oTarget->getTargetType(), $oTarget->getTargetId(), $oTarget);
         }
         return true;
     }
 }
开发者ID:pinguo-liguo,项目名称:livestreet,代码行数:71,代码来源:Media.class.php


示例6: EventAdd

 /**
  * Добавление ссылки
  *
  * @return unknown
  */
 protected function EventAdd()
 {
     /**
      * Проверяем авторизован ли юзер
      */
     if (!$this->User_IsAuthorization()) {
         $this->Message_AddErrorSingle($this->Lang_Get('not_access'), $this->Lang_Get('error'));
         return Router::Action('error');
     }
     /**
      * Меню
      */
     $this->sMenuSubItemSelect = 'add';
     /**
      * Загружаем переменные в шаблон
      */
     $this->Viewer_Assign('aBlogsAllow', $this->Blog_GetBlogsAllowByUser($this->oUserCurrent));
     $this->Viewer_AddHtmlTitle($this->Lang_Get('topic_photoset_title_create'));
     // Если нет временного ключа для нового топика, то генерируеи. если есть, то загружаем фото по этому ключу
     if (empty($_COOKIE['ls_photoset_target_tmp'])) {
         setcookie('ls_photoset_target_tmp', func_generator(), time() + 24 * 3600, Config::Get('sys.cookie.path'), Config::Get('sys.cookie.host'));
     } else {
         setcookie('ls_photoset_target_tmp', $_COOKIE['ls_photoset_target_tmp'], time() + 24 * 3600, Config::Get('sys.cookie.path'), Config::Get('sys.cookie.host'));
         $this->Viewer_Assign('aPhotos', $this->Topic_getPhotosByTargetTmp($_COOKIE['ls_photoset_target_tmp']));
     }
     /**
      * Обрабатываем отправку формы
      */
     return $this->SubmitAdd();
 }
开发者ID:randomtoy,项目名称:livestreet,代码行数:35,代码来源:ActionPhotoset.class.php


示例7: EventAjaxUploadAvatar

 /**
  * Загрузка аватара в блог
  */
 protected function EventAjaxUploadAvatar()
 {
     /**
      * Устанавливаем формат Ajax ответа
      */
     $this->Viewer_SetResponseAjax('json');
     if (!isset($_FILES['photo']['tmp_name'])) {
         return $this->EventErrorDebug();
     }
     if (!($oBlog = $this->Blog_GetBlogById(getRequestStr('target_id')))) {
         return $this->EventErrorDebug();
     }
     if (!$oBlog->isAllowEdit()) {
         return $this->EventErrorDebug();
     }
     /**
      * Копируем загруженный файл
      */
     $sFileTmp = Config::Get('sys.cache.dir') . func_generator();
     if (!move_uploaded_file($_FILES['photo']['tmp_name'], $sFileTmp)) {
         return false;
     }
     /**
      * Если объект изображения не создан, возвращаем ошибку
      */
     if (!($oImage = $this->Image_Open($sFileTmp))) {
         $this->Fs_RemoveFileLocal($sFileTmp);
         $this->Message_AddError($this->Image_GetLastError());
         return;
     }
     /**
      * Ресайзим и сохраняем именьшенную копию
      * Храним две копии - мелкую для показа пользователю и крупную в качестве исходной для ресайза
      */
     $sDir = Config::Get('path.uploads.images') . "/tmp/blog/{$oBlog->getId()}";
     if ($sFileOriginal = $oImage->resize(1000, null)->saveSmart($sDir, 'original')) {
         if ($sFilePreview = $oImage->resize(350, null)->saveSmart($sDir, 'preview')) {
             list($iOriginalWidth, $iOriginalHeight) = @getimagesize($this->Fs_GetPathServer($sFileOriginal));
             list($iWidth, $iHeight) = @getimagesize($this->Fs_GetPathServer($sFilePreview));
             /**
              * Сохраняем в сессии временный файл с изображением
              */
             $this->Session_Set('sBlogAvatarFileTmp', $sFileOriginal);
             $this->Session_Set('sBlogAvatarFilePreviewTmp', $sFilePreview);
             $this->Viewer_AssignAjax('path', $this->Fs_GetPathWeb($sFilePreview));
             $this->Viewer_AssignAjax('original_width', $iOriginalWidth);
             $this->Viewer_AssignAjax('original_height', $iOriginalHeight);
             $this->Viewer_AssignAjax('width', $iWidth);
             $this->Viewer_AssignAjax('height', $iHeight);
             $this->Fs_RemoveFileLocal($sFileTmp);
             return;
         }
     }
     $this->Message_AddError($this->Image_GetLastError());
     $this->Fs_RemoveFileLocal($sFileTmp);
 }
开发者ID:pinguo-liguo,项目名称:livestreet,代码行数:59,代码来源:ActionBlog.class.php


示例8: EventReminder

 /**
  * Обработка напоминания пароля
  *
  */
 protected function EventReminder()
 {
     $this->Viewer_AddHtmlTitle($this->Lang_Get('password_reminder'));
     if ($this->GetParam(0) == 'send') {
         $this->SetTemplateAction('reminder_send');
         return;
     }
     /**
      * Проверка кода на восстановление пароля и генерация нового пароля
      */
     if (func_check($this->GetParam(0), 'md5')) {
         if ($oReminder = $this->User_GetReminderByCode($this->GetParam(0))) {
             if (!$oReminder->getIsUsed() and strtotime($oReminder->getDateExpire()) > time() and $oUser = $this->User_GetUserById($oReminder->getUserId())) {
                 $sNewPassword = func_generator(7);
                 $oUser->setPassword(func_encrypt($sNewPassword));
                 if ($this->User_Update($oUser)) {
                     $oReminder->setDateUsed(date("Y-m-d H:i:s"));
                     $oReminder->setIsUsed(1);
                     $this->User_UpdateReminder($oReminder);
                     $this->Notify_SendReminderPassword($oUser, $sNewPassword);
                     $this->SetTemplateAction('reminder_confirm');
                     return;
                 }
             }
         }
         $this->Message_AddErrorSingle($this->Lang_Get('password_reminder_bad_code'), $this->Lang_Get('error'));
         return Router::Action('error');
     }
     /**
      * Обрабатываем запрос на смену пароля
      */
     if (isPost('submit_reminder')) {
         if (func_check(getRequest('mail'), 'mail') and $oUser = $this->User_GetUserByMail(getRequest('mail'))) {
             /**
              * Формируем и отправляем ссылку на смену пароля
              */
             $oReminder = Engine::GetEntity('User_Reminder');
             $oReminder->setCode(func_generator(32));
             $oReminder->setDateAdd(date("Y-m-d H:i:s"));
             $oReminder->setDateExpire(date("Y-m-d H:i:s", time() + 60 * 60 * 24 * 7));
             $oReminder->setDateUsed(null);
             $oReminder->setIsUsed(0);
             $oReminder->setUserId($oUser->getId());
             if ($this->User_AddReminder($oReminder)) {
                 $this->Notify_SendReminderCode($oUser, $oReminder);
                 Router::Location(Router::GetPath('login') . 'reminder/send/');
             }
         } else {
             $this->Message_AddError($this->Lang_Get('password_reminder_bad_email'), $this->Lang_Get('error'));
         }
     }
 }
开发者ID:lifecom,项目名称:Huddlebuddle,代码行数:56,代码来源:ActionLogin.class.php


示例9: saveSmart

 /**
  * Сохраняет изображения в файл
  *
  * @param string $sDir	Директория куда нужно сохранить изображение относительно корня сайта (path.root.server)
  * @param string $sFile	Имя файла для сохранения, без расширения (расширение подставляется автоматически в зависимости от типа изображения)
  *
  * @return bool | string	При успешном сохранении возвращает полный путь до файла
  */
 public function saveSmart($sDir, $sFile)
 {
     if (!($oImage = $this->getImage())) {
         return false;
     }
     try {
         $sFormat = $this->getParam('format_auto') && $this->getFormat() ? $this->getFormat() : $this->getParam('format');
         $sFileTmp = Config::Get('path.tmp.server') . DIRECTORY_SEPARATOR . func_generator(20);
         $oImage->save($sFileTmp, array('format' => $sFormat, 'quality' => $this->getParam('quality')));
         $sFile .= '.' . $sFormat;
         return $this->Image_SaveFileSmart($sFileTmp, $sDir, $sFile, 0666, true);
     } catch (Exception $e) {
         $this->setLastError($e->getMessage());
         // TODO: fix exception for Gd driver
         if (strpos($e->getFile(), 'Imagine' . DIRECTORY_SEPARATOR . 'Gd')) {
             restore_error_handler();
         }
     }
     return false;
 }
开发者ID:KaMaToZzz,项目名称:livestreet-framework,代码行数:28,代码来源:Image.entity.class.php


示例10: EventUploadAvatar

 /**
  * Загрузка временной картинки для аватара
  */
 protected function EventUploadAvatar()
 {
     /**
      * Устанавливаем формат Ajax ответа
      */
     $this->Viewer_SetResponseAjax('jsonIframe', false);
     if (!isset($_FILES['avatar']['tmp_name'])) {
         return false;
     }
     /**
      * Копируем загруженный файл
      */
     $sFileTmp = Config::Get('sys.cache.dir') . func_generator();
     if (!move_uploaded_file($_FILES['avatar']['tmp_name'], $sFileTmp)) {
         return false;
     }
     /**
      * Ресайзим и сохраняем уменьшенную копию
      */
     $sDir = Config::Get('path.uploads.images') . "/tmp/avatars/{$this->oUserCurrent->getId()}";
     if ($sFileAvatar = $this->Image_Resize($sFileTmp, $sDir, 'original', Config::Get('view.img_max_width'), Config::Get('view.img_max_height'), 200, null, true)) {
         /**
          * Зписываем в сессию
          */
         $this->Session_Set('sAvatarFileTmp', $sFileAvatar);
         $this->Viewer_AssignAjax('sTmpFile', $this->Image_GetWebPath($sFileAvatar));
     } else {
         $this->Message_AddError($this->Image_GetLastError(), $this->Lang_Get('error'));
     }
     unlink($sFileTmp);
 }
开发者ID:cbrspc,项目名称:LIVESTREET-1-DISTRIB,代码行数:34,代码来源:ActionSettings.class.php


示例11: saveSmart

 /**
  * Сохраняет изображение в файл
  *
  * @param string $sDir Директория куда нужно сохранить изображение относительно корня сайта (path.root.server)
  * @param string $sFile Имя файла для сохранения, без расширения (расширение подставляется автоматически в зависимости от типа изображения)
  * @param array $aParamsSave Дополнительные опции сохранения, например, не делать вотермарк
  *
  * @return bool | string    При успешном сохранении возвращает полный путь до файла
  */
 public function saveSmart($sDir, $sFile, $aParamsSave = array())
 {
     $_this = $this;
     return $this->callExceptionMethod(function ($oImage) use($_this, $sDir, $sFile, $aParamsSave) {
         $sFormat = $_this->getParam('format_auto') && $_this->getFormat() ? $_this->getFormat() : $_this->getParam('format');
         $sFileTmp = Config::Get('path.tmp.server') . DIRECTORY_SEPARATOR . func_generator(20);
         $_this->internalSave($sFileTmp, $sFormat, $aParamsSave);
         $sFile .= '.' . $sFormat;
         return $_this->Image_SaveFileSmart($sFileTmp, $sDir, $sFile, 0666, true);
     });
 }
开发者ID:vgrish,项目名称:livestreet-framework,代码行数:20,代码来源:Image.entity.class.php


示例12: Resize

 /**
  * Resize,copy image,
  * make rounded corners and add watermark
  *
  * @param  string $sFileSrc Исходный файл изображения
  * @param  string $sDirDest Директория куда нужно сохранить изображение относительно корня сайта (path.root.server)
  * @param  string $sFileDest Имя файла для сохранения, без расширения
  * @param  int $iWidthMax Максимально допустимая ширина изображения
  * @param  int $iHeightMax Максимало допустимая высота изображения
  * @param  int|null $iWidthDest Ширина необходимого изображения на выходе
  * @param  int|null $iHeightDest Высота необходимого изображения на выходе
  * @param  bool $bForcedMinSize Растягивать изображение по ширине или нет, если исходное меньше. При false - изображение будет растянуто
  * @param  array|null $aParams Параметры
  * @param  LiveImage|null $oImage Объект изображения, если null то будет содано автоматически
  * @return string|bool  Полный серверный путь до сохраненного изображения
  */
 public function Resize($sFileSrc, $sDirDest, $sFileDest, $iWidthMax, $iHeightMax, $iWidthDest = null, $iHeightDest = null, $bForcedMinSize = true, $aParams = null, $oImage = null)
 {
     $this->ClearLastError();
     /**
      * Если параметры не переданы, устанавливаем действия по умолчанию
      */
     if (!is_array($aParams)) {
         $aParams = $this->aParamsDefault;
     }
     /**
      * Если объект не передан как параметр,
      * создаем новый
      */
     if (!$oImage) {
         $oImage = $this->CreateImageObject($sFileSrc);
     }
     if ($oImage->get_last_error()) {
         $this->SetLastError($oImage->get_last_error());
         return false;
     }
     $sFileDest .= '.' . $oImage->get_image_params('format');
     if ($oImage->get_image_params('width') > $iWidthMax or $oImage->get_image_params('height') > $iHeightMax) {
         return false;
     }
     if ($iWidthDest) {
         if ($bForcedMinSize and $iWidthDest > $oImage->get_image_params('width')) {
             $iWidthDest = $oImage->get_image_params('width');
         }
         /**
          * Ресайзим и выводим результат в файл.
          * Если не задана новая высота, то применяем масштабирование.
          * Если нужно добавить Watermark, то запрещаем ручное управление alfa-каналом
          */
         $oImage->resize($iWidthDest, $iHeightDest, !$iHeightDest, !$aParams['watermark_use']);
         /**
          * Добавляем watermark согласно в конфигурации заданым параметрам
          */
         if ($aParams['watermark_use']) {
             if ($oImage->get_image_params('width') > $aParams['watermark_min_width'] and $oImage->get_image_params('height') > $aParams['watermark_min_height']) {
                 switch ($aParams['watermark_type']) {
                     default:
                     case 'text':
                         $oImage->set_font($aParams['watermark_font_size'], 0, $aParams['path']['fonts'] . $aParams['watermark_font'] . '.ttf');
                         $oImage->watermark($aParams['watermark_text'], explode(',', $aParams['watermark_position'], 2), explode(',', $aParams['watermark_font_color']), explode(',', $aParams['watermark_back_color']), $aParams['watermark_font_alfa'], $aParams['watermark_back_alfa']);
                         break;
                     case 'image':
                         $oImage->paste_image($aParams['path']['watermarks'] . $aParams['watermark_image'], false, explode(',', $aParams['watermark_position'], 2));
                         break;
                 }
             }
         }
         /**
          * Скругляем углы
          */
         if ($aParams['round_corner']) {
             $oImage->round_corners($aParams['round_corner_radius'], $aParams['round_corner_rate']);
         }
         /**
          * Для JPG формата устанавливаем output quality, если это предусмотрено в конфигурации
          */
         if (isset($aParams['jpg_quality']) and $oImage->get_image_params('format') == 'jpg') {
             $oImage->set_jpg_quality($aParams['jpg_quality']);
         }
         $sFileTmp = Config::Get('sys.cache.dir') . func_generator(20);
         $oImage->output(null, $sFileTmp);
         return $this->SaveFile($sFileTmp, $sDirDest, $sFileDest, 0666, true);
     } else {
         return $this->SaveFile($sFileSrc, $sDirDest, $sFileDest, 0666, false);
     }
     return false;
 }
开发者ID:cbrspc,项目名称:LIVESTREET-1-DISTRIB,代码行数:87,代码来源:Image.class.php


示例13: beforeSaveValue

 /**
  * Дополнительная обработка перед сохранением значения
  * Здесь нужно выполнять основную загрузку файла
  */
 public function beforeSaveValue()
 {
     $oValue = $this->getValueObject();
     $oProperty = $oValue->getProperty();
     if (!($aFile = $oValue->getDataOne('file_raw'))) {
         return true;
     }
     $oValue->setDataOne('file_raw', null);
     /**
      * Удаляем предыдущий файл
      */
     if (isset($aFile['remove']) or isset($aFile['name'])) {
         if ($aFilePrev = $oValue->getDataOne('file')) {
             $this->RemoveFile($aFilePrev['path']);
             $oValue->setDataOne('file', array());
             $oValue->setValueVarchar(null);
         }
     }
     if (isset($aFile['name'])) {
         /**
          * Выполняем загрузку файла
          */
         $aPathInfo = pathinfo($aFile['name']);
         $sExtension = isset($aPathInfo['extension']) ? $aPathInfo['extension'] : 'unknown';
         $sFileName = func_generator(20) . '.' . $sExtension;
         /**
          * Копируем загруженный файл
          */
         $sDirTmp = Config::Get('path.tmp.server') . '/property/';
         if (!is_dir($sDirTmp)) {
             @mkdir($sDirTmp, 0777, true);
         }
         $sFileTmp = $sDirTmp . $sFileName;
         if (move_uploaded_file($aFile['tmp_name'], $sFileTmp)) {
             $sDirSave = Config::Get('path.root.server') . $oProperty->getSaveFileDir();
             if (!is_dir($sDirSave)) {
                 @mkdir($sDirSave, 0777, true);
             }
             $sFilePath = $sDirSave . $sFileName;
             /**
              * Сохраняем файл
              */
             if ($sFilePathNew = $this->SaveFile($sFileTmp, $sFilePath, null, true)) {
                 /**
                  * Сохраняем данные о файле
                  */
                 $oValue->setDataOne('file', array('path' => $sFilePathNew, 'size' => filesize($sFilePath), 'name' => htmlspecialchars($aPathInfo['filename']), 'extension' => htmlspecialchars($aPathInfo['extension'])));
                 /**
                  * Сохраняем уникальный ключ для доступа к файлу
                  */
                 $oValue->setValueVarchar(func_generator(32));
                 return true;
             }
         }
     }
 }
开发者ID:pinguo-liguo,项目名称:livestreet,代码行数:60,代码来源:ValueTypeFile.entity.class.php


示例14: EventIndex

 /**
  * Показывает страничку регистрации и обрабатывает её
  *
  * @return unknown
  */
 protected function EventIndex()
 {
     /**
      * Если нажали кнопку "Зарегистрироваться"
      */
     if (isPost('submit_register')) {
         //Проверяем  входные данные
         $bError = false;
         /**
          * Проверка логина
          */
         if (!func_check(getRequest('login'), 'login', 3, 30)) {
             $this->Message_AddError($this->Lang_Get('registration_login_error'), $this->Lang_Get('error'));
             $bError = true;
         }
         /**
          * Проверка мыла
          */
         if (!func_check(getRequest('mail'), 'mail')) {
             $this->Message_AddError($this->Lang_Get('registration_mail_error'), $this->Lang_Get('error'));
             $bError = true;
         }
         /**
          * Проверка пароля
          */
         if (!func_check(getRequest('password'), 'password', 5)) {
             $this->Message_AddError($this->Lang_Get('registration_password_error'), $this->Lang_Get('error'));
             $bError = true;
         } elseif (getRequest('password') != getRequest('password_confirm')) {
             $this->Message_AddError($this->Lang_Get('registration_password_error_different'), $this->Lang_Get('error'));
             $bError = true;
         }
         /**
          * Проверка капчи(циферки с картинки)
          */
         if (!isset($_SESSION['captcha_keystring']) or $_SESSION['captcha_keystring'] != strtolower(getRequest('captcha'))) {
             $this->Message_AddError($this->Lang_Get('registration_captcha_error'), $this->Lang_Get('error'));
             $bError = true;
         }
         /**
          * А не занят ли логин?
          */
         if ($this->User_GetUserByLogin(getRequest('login'))) {
             $this->Message_AddError($this->Lang_Get('registration_login_error_used'), $this->Lang_Get('error'));
             $bError = true;
         }
         /**
          * А не занято ли мыло?
          */
         if ($this->User_GetUserByMail(getRequest('mail'))) {
             $this->Message_AddError($this->Lang_Get('registration_mail_error_used'), $this->Lang_Get('error'));
             $bError = true;
         }
         /**
          * Если всё то пробуем зарегить
          */
         if (!$bError) {
             /**
              * Создаем юзера
              */
             $oUser = Engine::GetEntity('User');
             $oUser->setLogin(getRequest('login'));
             $oUser->setMail(getRequest('mail'));
             $oUser->setPassword(func_encrypt(getRequest('password')));
             $oUser->setDateRegister(date("Y-m-d H:i:s"));
             $oUser->setIpRegister(func_getIp());
             /**
              * Если используется активация, то генерим код активации
              */
             if (Config::Get('general.reg.activation')) {
                 $oUser->setActivate(0);
                 $oUser->setActivateKey(md5(func_generator() . time()));
             } else {
                 $oUser->setActivate(1);
                 $oUser->setActivateKey(null);
             }
             /**
              * Регистрируем
              */
             if ($this->User_Add($oUser)) {
                 /**
                  * Убиваем каптчу
                  */
                 unset($_SESSION['captcha_keystring']);
                 /**
                  * Создаем персональный блог
                  */
                 $this->Blog_CreatePersonalBlog($oUser);
                 /**
                  * Если юзер зарегистрировался по приглашению то обновляем инвайт
                  */
                 if (Config::Get('general.reg.invite') and $oInvite = $this->User_GetInviteByCode($this->GetInviteRegister())) {
                     $oInvite->setUserToId($oUser->getId());
                     $oInvite->setDateUsed(date("Y-m-d H:i:s"));
                     $oInvite->setUsed(1);
//.........这里部分代码省略.........
开发者ID:lifecom,项目名称:test,代码行数:101,代码来源:ActionRegistration.class.php


示例15: EventMediaGenerateTargetTmp

 protected function EventMediaGenerateTargetTmp()
 {
     $sType = getRequestStr('type');
     if ($this->Media_IsAllowTargetType($sType)) {
         $sTmp = func_generator();
         $this->Session_SetCookie('media_target_tmp_' . $sType, $sTmp, time() + 24 * 3600);
         $this->Viewer_AssignAjax('sTmpKey', $sTmp);
     }
 }
开发者ID:pinguo-liguo,项目名称:livestreet,代码行数:9,代码来源:ActionAjax.class.php


示例16: UploadBlogAvatar

 /**
  * Загружает аватар в блог
  *
  * @param array $aFile	Массив $_FILES при загрузке аватара
  * @param ModuleBlog_EntityBlog $oBlog	Блог
  * @return bool
  */
 public function UploadBlogAvatar($aFile, $oBlog)
 {
     if (!is_array($aFile) || !isset($aFile['tmp_name'])) {
         return false;
     }
     $sFileTmp = Config::Get('sys.cache.dir') . func_generator();
     if (!move_uploaded_file($aFile['tmp_name'], $sFileTmp)) {
         return false;
     }
     $sPath = $this->Image_GetIdDir($oBlog->getOwnerId()) . "blogs/" . $oBlog->getId() . "/";
     $aParams = $this->Image_BuildParams('avatar');
     $oImage = $this->Image_CreateImageObject($sFileTmp);
     /**
      * Если объект изображения не создан,
      * возвращаем ошибку
      */
     if ($sError = $oImage->get_last_error()) {
         // Вывод сообщения об ошибки, произошедшей при создании объекта изображения
         // $this->Message_AddError($sError,$this->Lang_Get('error'));
         @unlink($sFileTmp);
         return false;
     }
     /**
      * Срезаем квадрат
      */
     $oImage = $this->Image_CropSquare($oImage);
     $aSize = Config::Get('module.blog.avatar_size');
     rsort($aSize, SORT_NUMERIC);
     $sSizeBig = array_shift($aSize);
     if ($oImage && ($sFileAvatar = $this->Image_Resize($sFileTmp, $sPath, "avatar_blog_{$oBlog->getUrl()}_{$sSizeBig}x{$sSizeBig}", Config::Get('view.img_max_width'), Config::Get('view.img_max_height'), $sSizeBig, $sSizeBig, false, $aParams, $oImage))) {
         foreach ($aSize as $iSize) {
             if ($iSize == 0) {
                 $this->Image_Resize($sFileTmp, $sPath, "avatar_blog_{$oBlog->getUrl()}", Config::Get('view.img_max_width'), Config::Get('view.img_max_height'), null, null, false, $aParams, $oImage);
             } else {
                 $this->Image_Resize($sFileTmp, $sPath, "avatar_blog_{$oBlog->getUrl()}_{$iSize}x{$iSize}", Config::Get('view.img_max_width'), Config::Get('view.img_max_height'), $iSize, $iSize, false, $aParams, $oImage);
             }
         }
         @unlink($sFileTmp);
         /**
          * Если все нормально, возвращаем расширение загруженного аватара
          */
         return $this->Image_GetWebPath($sFileAvatar);
     }
     @unlink($sFileTmp);
     /**
      * В случае ошибки, возвращаем false
      */
     return false;
 }
开发者ID:lunavod,项目名称:bunker_stable,代码行数:56,代码来源:Blog.class.php


示例17: MakeUserChangemail

 /**
  * Формирование процесса смены емайла в профиле пользователя
  *
  * @param ModuleUser_EntityUser $oUser	Объект пользователя
  * @param string $sMailNew	Новый емайл
  * @return bool|ModuleUser_EntityChangemail
  */
 public function MakeUserChangemail($oUser, $sMailNew)
 {
     $oChangemail = Engine::GetEntity('ModuleUser_EntityChangemail');
     $oChangemail->setUserId($oUser->getId());
     $oChangemail->setDateAdd(date("Y-m-d H:i:s"));
     $oChangemail->setDateExpired(date("Y-m-d H:i:s", time() + 3 * 24 * 60 * 60));
     // 3 дня для смены емайла
     $oChangemail->setMailFrom($oUser->getMail() ? $oUser->getMail() : '');
     $oChangemail->setMailTo($sMailNew);
     $oChangemail->setCodeFrom(func_generator(32));
     $oChangemail->setCodeTo(func_generator(32));
     if ($this->AddUserChangemail($oChangemail)) {
         /**
          * Если у пользователя раньше не было емайла, то сразу шлем подтверждение на новый емайл
          */
         if (!$oChangemail->getMailFrom()) {
             $oChangemail->setConfirmFrom(1);
             $this->User_UpdateUserChangemail($oChangemail);
             /**
              * Отправляем уведомление на новый емайл
              */
             $this->Notify_Send($oChangemail->getMailTo(), 'notify.user_changemail_to.tpl', $this->Lang_Get('notify_subject_user_changemail'), array('oUser' => $oUser, 'oChangemail' => $oChangemail));
         } else {
             /**
              * Отправляем уведомление на старый емайл
              */
             $this->Notify_Send($oUser, 'notify.user_changemail_from.tpl', $this->Lang_Get('notify_subject_user_changemail'), array('oUser' => $oUser, 'oChangemail' => $oChangemail));
         }
         return $oChangemail;
     }
     return false;
 }
开发者ID:lunavod,项目名称:bunker_stable,代码行数:39,代码来源:User.class.php


示例18: UploadTopicImageUrl

 /**
  * Загрузка изображений по переданному URL
  *
  * @param  string          $sUrl
  * @param  ModuleUser_EntityUser $oUser
  * @return (string|bool)
  */
 public function UploadTopicImageUrl($sUrl, $oUser)
 {
     /**
      * Проверяем, является ли файл изображением
      */
     if (!@getimagesize($sUrl)) {
         return ModuleImage::UPLOAD_IMAGE_ERROR_TYPE;
     }
     /**
      * Открываем файловый поток и считываем файл поблочно,
      * контролируя максимальный размер изображения
      */
     $oFile = fopen($sUrl, 'r');
     if (!$oFile) {
         return ModuleImage::UPLOAD_IMAGE_ERROR_READ;
     }
     $iMaxSizeKb = 500;
     $iSizeKb = 0;
     $sContent = '';
     while (!feof($oFile) and $iSizeKb < $iMaxSizeKb) {
         $sContent .= fread($oFile, 1024 * 1);
         $iSizeKb++;
     }
     /**
      * Если конец файла не достигнут,
      * значит файл имеет недопустимый размер
      */
     if (!feof($oFile)) {
         return ModuleImage::UPLOAD_IMAGE_ERROR_SIZE;
     }
     fclose($oFile);
     /**
      * Создаем tmp-файл, для временного хранения изо 

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP func_getIp函数代码示例发布时间:2022-05-15
下一篇:
PHP func_fill_year函数代码示例发布时间:2022-05-15
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap