コード例 #1
0
ファイル: tservices.php プロジェクト: kapai69/fl-ru-damp
 /**
  * Удаление типовой услуги по ID
  * доступ и наличие долны быть проверены перед вызовом.
  * 
  * @param int $id
  *
  * @return bool
  */
 public function deleteById($id)
 {
     $files = $this->db()->col("\n            SELECT id  \n            FROM {$this->TABLE_FILES} \n            WHERE src_id = ?i\n        ", $id);
     if (count($files)) {
         $cfile = new cFile();
         foreach ($files as $file_id) {
             $cfile->Delete($file_id);
         }
     }
     $this->db()->query("\n            DELETE FROM {$this->TABLE} \n            WHERE id = ?i AND user_id = ?i\n        ", $id, $this->uid);
     return true;
 }
コード例 #2
0
ファイル: portfolio.php プロジェクト: kapai69/fl-ru-damp
 /**
  * генерирует статическое превью, то есть gif будет без анимации
  * имя файла сохраняется в поле static_preview.
  *
  * @param array   $date  данные о работе в портфолио (необходимы ключи id, prev_pict)
  * @param integer $login логин пользователя которому принадлежит работа
  */
 public function GenerateStaticPreview(&$work, $login)
 {
     global $DB;
     $maxWidth = self::PREVIEW_MAX_WIDTH;
     $maxHeight = self::PREVIEW_MAX_HEIGHT;
     if ($work['static_preview']) {
         return true;
     }
     $isGIF = (bool) preg_match('~\\.gif$~', $work['prev_pict']);
     if (!$isGIF) {
         $staticName = $work['prev_pict'];
     } else {
         $image = new cFile();
         $dir = 'users/' . substr($login, 0, 2) . '/' . $login . '/upload/';
         $image->getInfo($dir . $work['prev_pict']);
         $imageSize = $image->image_size;
         if ($imageSize['width'] > $maxWidth || $imageSize['height'] > $maxHeight) {
             $staticName = 'st_' . $image->name;
             $image->resizeImage($dir . $staticName, $maxWidth, $maxHeight, 'auto', true);
         } else {
             $staticName = $work['prev_pict'];
         }
     }
     $work['static_preview'] = $staticName;
     $sql = 'UPDATE portfolio SET static_preview = ? WHERE id = ?i';
     $DB->query($sql, $staticName, $work['id']);
     if ($DB->error) {
         return false;
     } else {
         return true;
     }
 }