Пример #1
0
 public function handleUpdateUploads($id, array $stored)
 {
     try {
         $upload = new Sitengine_Upload(self::FILE1ORIGINAL_ID);
         if ($upload->isFile()) {
             if ($stored[self::FILE1ORIGINAL_ID . self::FILETAG_NAME]) {
                 $this->_removeFile(self::FILE1ORIGINAL_ID, $stored[self::FILE1ORIGINAL_ID . self::FILETAG_NAME]);
             }
             if ($stored[self::FILE1THUMBNAIL_ID . self::FILETAG_NAME]) {
                 $this->_removeFile(self::FILE1THUMBNAIL_ID, $stored[self::FILE1THUMBNAIL_ID . self::FILETAG_NAME]);
             }
         }
         if ($upload->isFile()) {
             if (Sitengine_Mime_Type::isJpg($upload->getMime()) || Sitengine_Mime_Type::isGif($upload->getMime()) || Sitengine_Mime_Type::isPng($upload->getMime())) {
                 $this->_resizeSaveUploadedImage(self::FILE1THUMBNAIL_ID, $upload, $id);
             }
             $name = $this->makeFileName(self::FILE1ORIGINAL_ID, $id, Sitengine_Mime_Type::getSuffix($upload->getMime()));
             $this->_saveUploadedFile(self::FILE1ORIGINAL_ID, $upload, $name);
         }
     } catch (Exception $exception) {
         require_once 'Sitengine/Sitemap/Backend/Exception.php';
         throw new Sitengine_Sitemap_Backend_Exception('handle insert upload error', $exception);
     }
 }
Пример #2
0
 public function handleUpdateUploads($id, array $stored)
 {
     try {
         $upload = new Sitengine_Upload(self::AVATAR_ORIGINAL);
         $avatarDelete = isset($_POST[self::AVATAR_ORIGINAL . 'Delete']) && $_POST[self::AVATAR_ORIGINAL . 'Delete'] == 1;
         if ($avatarDelete || $upload->isFile()) {
             if ($stored[self::AVATAR_ORIGINAL . self::FILETAG_NAME]) {
                 $this->_removeFile(self::AVATAR_ORIGINAL, $stored[self::AVATAR_ORIGINAL . self::FILETAG_NAME]);
             }
             if ($stored[self::AVATAR_THUMB . self::FILETAG_NAME]) {
                 $this->_removeFile(self::AVATAR_THUMB, $stored[self::AVATAR_THUMB . self::FILETAG_NAME]);
             }
         }
         if ($upload->isFile()) {
             if (Sitengine_Mime_Type::isJpg($upload->getMime()) || Sitengine_Mime_Type::isGif($upload->getMime()) || Sitengine_Mime_Type::isPng($upload->getMime())) {
                 $this->_resizeSaveUploadedImage(self::AVATAR_THUMB, $upload, $id);
             }
             $name = $this->makeFileName(self::AVATAR_ORIGINAL, $id, Sitengine_Mime_Type::getSuffix($upload->getMime()));
             $this->_saveUploadedFile(self::AVATAR_ORIGINAL, $upload, $name);
         }
     } catch (Exception $exception) {
         require_once 'Sitengine/Permiso/Exception.php';
         throw new Sitengine_Permiso_Exception('handle insert upload error', $exception);
     }
 }
Пример #3
0
 protected function _checkInput()
 {
     if ($this->_payloads->isMain()) {
         $name = 'titleLang' . $this->_controller->getRecord()->getTranscripts()->getDefaultIndex();
         if (Sitengine_Validator::nada($this->_controller->getRequest()->getPost($name))) {
             $message = $this->_controller->getTranslate()->translate('hintsTitleRequired');
             $this->_controller->getStatus()->addHint($name, $message);
         }
         $name = 'gid';
         if ($this->_controller->getRequest()->getPost($name) == Sitengine_Blog_Frontend_Blogs_Posts_Files_Controller::VALUE_NONESELECTED) {
             $message = $this->_controller->getTranslate()->translate('hintsGidRequired');
             $this->_controller->getStatus()->addHint($name, $message);
         }
         $fileId = 'file1Original';
         $upload = new Sitengine_Upload($fileId);
         if ($upload->isFile()) {
             $type = $this->_controller->getEntity()->getAncestorType();
             if ($type == Sitengine_Blog_Posts_Table::TYPE_GALLERY) {
                 $typesPattern = '/(gif|jpg|jpeg|png)/i';
             } else {
                 $typesPattern = '/(gif|jpg|jpeg|png|pdf|mpeg|quicktime|msword|excel)/i';
             }
             $messages = array();
             if (!preg_match($typesPattern, $upload->getMime())) {
                 $messages[] = $this->_controller->getTranslate()->translate('hintsFile1OriginalFiletype');
             }
             if ($upload->getSize() > 1024 * 1024 * 15) {
                 $messages[] = $this->_controller->getTranslate()->translate('hintsFile1OriginalFilesize');
             }
             if (sizeof($messages)) {
                 $this->_controller->getStatus()->addHint($fileId, $messages);
             }
         }
     }
     return !$this->_controller->getStatus()->hasHints();
 }
Пример #4
0
 protected function _checkInput()
 {
     $table = $this->_controller->getFrontController()->getProtoPackage()->getGoodiesTable();
     $transcripts = $table->getTranscripts();
     /*
     require_once 'Zend/Validate/StringLength.php';
     $validator = new Zend_Validate_StringLength(4);
     $val = $this->_controller->getRequest()->getPost($name);
     
     $validator->setMessage(
     	$this->_controller->getTranslate()->translate('hintsTest'),
         Zend_Validate_StringLength::TOO_SHORT
     );
     if(!$validator->isValid($val)) {
     	$this->_controller->getStatus()->addHint($name, $validator->getMessages(), $validator->getErrors());
         Sitengine_Debug::print_r($this->_controller->getStatus());
     }
     exit;
     */
     if ($this->_payloads->isMain() || $this->_payloads->isDefaultTranscript()) {
         $name = 'titleLang' . $transcripts->getDefaultIndex();
         if (Sitengine_Validator::nada($this->_controller->getRequest()->getPost($name))) {
             $message = $this->_controller->getTranslate()->translate('hintsTitleRequired');
             $this->_controller->getStatus()->addHint($name, $message);
         }
     }
     if ($this->_payloads->isMain()) {
         $name = 'gid';
         if ($this->_controller->getRequest()->getPost($name) == Sitengine_Proto_Backend_Goodies_Controller::VALUE_NONESELECTED) {
             $message = $this->_controller->getTranslate()->translate('hintsGidRequired');
             $this->_controller->getStatus()->addHint($name, $message);
         }
         $name = 'type';
         if (Sitengine_Validator::nada($this->_controller->getRequest()->getPost($name), Sitengine_Proto_Backend_Goodies_Controller::VALUE_NONESELECTED)) {
             $message = $this->_controller->getTranslate()->translate('hintsTypeRequired');
             $this->_controller->getStatus()->addHint($name, $message);
         }
         $fileId = 'file1Original';
         $upload = new Sitengine_Upload($fileId);
         if ($upload->isFile()) {
             /*
             $name = 'transColor';
             $val = $this->_controller->getRequest()->getPost($name);
             if($val && !Sitengine_Validator::rgbColor($val)) {
             	$message = $this->_controller->getTranslate()->translate('hintsTransColorInvalid');
             	$this->_controller->getStatus()->addHint($name, $messages);
             }
             */
             $messages = array();
             if (!preg_match('/(gif|jpg|jpeg|png|pdf|mpeg|quicktime|msword|excel)/i', $upload->getMime())) {
                 $messages[] = $this->_controller->getTranslate()->translate('hintsFile1OriginalFiletype');
             }
             if ($upload->getSize() > '1048576') {
                 # 1M
                 $messages[] = $this->_controller->getTranslate()->translate('hintsFile1OriginalFilesize');
             }
             if (sizeof($messages)) {
                 $this->_controller->getStatus()->addHint($fileId, $messages);
             }
         }
     }
     return !$this->_controller->getStatus()->hasHints();
 }
Пример #5
0
 protected function _saveUploadedFile($fileId, Sitengine_Upload $upload, $name)
 {
     try {
         $width = 0;
         $height = 0;
         if (Sitengine_Mime_Type::isImage($upload->getMime())) {
             $info = getimagesize($upload->getTempName());
             if (!$info) {
                 $this->_rollback();
                 throw new Sitengine_Exception('uploaded file is not an image');
             }
             $width = $info[0];
             $height = $info[1];
         }
         $data = array('name' => $name, 'source' => $upload->getName(), 'mime' => $upload->getMime(), 'size' => $upload->getSize(), 'width' => $width, 'height' => $height);
         $upload->save($this->_configs[$fileId]['dir'] . '/' . $name);
         chmod($this->_configs[$fileId]['dir'] . '/' . $name, $this->_configs[$fileId]['mode']);
         $this->_newFiles[$fileId] = $name;
         $this->_files[$fileId] = $data;
     } catch (Exception $exception) {
         $this->_rollback();
         throw new Sitengine_Exception('save uploaded file failed', $exception);
     }
 }
Пример #6
0
 protected function _checkUpload($required = false)
 {
     $name = 'file1Original';
     $upload = new Sitengine_Upload($name);
     if ($required && !$upload->isFile()) {
         $message = $this->_controller->getTranslate()->translate('hints' . ucfirst($name) . 'Required');
         $this->_controller->getStatus()->addHint($name, $message);
         return null;
     } else {
         if ($upload->isFile()) {
             $n = 'transColor';
             $v = $this->_controller->getRequest()->getPost($n);
             if ($v && !Sitengine_Validator::rgbColor($v)) {
                 $message = $this->_controller->getTranslate()->translate('hints' . ucfirst($n) . 'Invalid');
                 $this->_controller->getStatus()->addHint($n, $message);
             }
             #print $upload->getMime();
             if (!preg_match($this->_allowedTypes, $upload->getMime())) {
                 $message = $this->_controller->getTranslate()->translate('hints' . ucfirst($name) . 'Filetype');
                 $this->_controller->getStatus()->addHint($name, $message);
             }
             if ($upload->getSize() > $this->_maxSize) {
                 $message = $this->_controller->getTranslate()->translate('hints' . ucfirst($name) . 'Filesize');
                 $this->_controller->getStatus()->addHint($name, $message);
             }
         }
     }
 }
Пример #7
0
 public function handleUpdateUploads($id, array $stored)
 {
     try {
         $upload = new Sitengine_Upload(self::FILE1ORIGINAL_ID);
         if ($upload->isFile()) {
             require_once 'Sitengine/Mime/Type.php';
             $suffix = Sitengine_Mime_Type::getSuffix($upload->getMime());
             $file1OriginalName = $this->makeFileName(self::FILE1ORIGINAL_ID, $id, $suffix);
             if ($stored[self::FILE1ORIGINAL_ID . 'Name'] != $file1OriginalName) {
                 if ($stored[self::FILE1ORIGINAL_ID . 'Name']) {
                     $this->_removeFile(self::FILE1ORIGINAL_ID, $stored[self::FILE1ORIGINAL_ID . self::FILETAG_NAME]);
                 }
             }
             $this->_saveUploadedFile(self::FILE1ORIGINAL_ID, $upload, $file1OriginalName);
         }
     } catch (Exception $exception) {
         $this->_rollback();
         require_once 'Sitengine/Newsletter/Exception.php';
         throw new Sitengine_Newsletter_Exception('handle update upload error', $exception);
     }
 }
Пример #8
0
 public function handleUpdateUploads($id, array $stored)
 {
     try {
         $upload = new Sitengine_Upload(self::FILE1ORIGINAL_ID);
         if ($upload->isFile()) {
             $suffix = Sitengine_Mime_Type::getSuffix($upload->getMime());
             $file1OriginalName = $this->makeFileName(self::FILE1ORIGINAL_ID, $id, $suffix);
             if ($stored[self::FILE1ORIGINAL_ID . 'Name'] != $file1OriginalName) {
                 if ($stored[self::FILE1ORIGINAL_ID . 'Name']) {
                     $this->_removeFile(self::FILE1ORIGINAL_ID, $stored[self::FILE1ORIGINAL_ID . self::FILETAG_NAME]);
                 }
                 if ($stored[self::FILE1THUMBNAIL_ID . 'Name']) {
                     $this->_removeFile(self::FILE1THUMBNAIL_ID, $stored[self::FILE1THUMBNAIL_ID . self::FILETAG_NAME]);
                 }
             }
             if (Sitengine_Mime_Type::isJpg($upload->getMime()) || Sitengine_Mime_Type::isGif($upload->getMime()) || Sitengine_Mime_Type::isPng($upload->getMime())) {
                 $this->_resizeSaveUploadedImage(self::FILE1THUMBNAIL_ID, $upload, $id);
             }
             $this->_saveUploadedFile(self::FILE1ORIGINAL_ID, $upload, $file1OriginalName);
         }
     } catch (Exception $exception) {
         $this->_rollback();
         require_once 'Sitengine/Blog/Exception.php';
         throw new Sitengine_Blog_Exception('handle update upload error', $exception);
     }
 }
Пример #9
0
 public function handleUpdateUploads($id, array $stored)
 {
     try {
         # upload 1
         $upload = new Sitengine_Upload(self::FILE1ORIGINAL_ID);
         $file1Delete = isset($_POST[self::FILE1ORIGINAL_ID . 'Delete']) && $_POST[self::FILE1ORIGINAL_ID . 'Delete'] == 1;
         if ($file1Delete || $upload->isFile()) {
             if ($stored[self::FILE1ORIGINAL_ID . self::FILETAG_NAME]) {
                 $this->_removeFile(self::FILE1ORIGINAL_ID, $stored[self::FILE1ORIGINAL_ID . self::FILETAG_NAME]);
             }
             if ($stored[self::FILE1THUMBNAIL_ID . self::FILETAG_NAME]) {
                 $this->_removeFile(self::FILE1THUMBNAIL_ID, $stored[self::FILE1THUMBNAIL_ID . self::FILETAG_NAME]);
             }
             if ($stored[self::FILE1FITTED_ID . self::FILETAG_NAME]) {
                 $this->_removeFile(self::FILE1FITTED_ID, $stored[self::FILE1FITTED_ID . self::FILETAG_NAME]);
             }
         }
         if ($upload->isFile()) {
             if (Sitengine_Mime_Type::isJpg($upload->getMime()) || Sitengine_Mime_Type::isGif($upload->getMime()) || Sitengine_Mime_Type::isPng($upload->getMime())) {
                 $this->_resizeSaveUploadedImage(self::FILE1THUMBNAIL_ID, $upload, $id);
                 $this->_resizeSaveUploadedImage(self::FILE1FITTED_ID, $upload, $id);
             }
             $name = $this->makeFileName(self::FILE1ORIGINAL_ID, $id, Sitengine_Mime_Type::getSuffix($upload->getMime()));
             $this->_saveUploadedFile(self::FILE1ORIGINAL_ID, $upload, $name);
         }
         # upload 2
         $upload = new Sitengine_Upload(self::FILE2ORIGINAL_ID);
         $file2Delete = isset($_POST[self::FILE2ORIGINAL_ID . 'Delete']) && $_POST[self::FILE2ORIGINAL_ID . 'Delete'] == 1;
         if ($file2Delete || $upload->isFile()) {
             if ($stored[self::FILE2ORIGINAL_ID . self::FILETAG_NAME]) {
                 $this->_removeFile(self::FILE2ORIGINAL_ID, $stored[self::FILE2ORIGINAL_ID . self::FILETAG_NAME]);
             }
             if ($stored[self::FILE2THUMBNAIL_ID . self::FILETAG_NAME]) {
                 $this->_removeFile(self::FILE2THUMBNAIL_ID, $stored[self::FILE2THUMBNAIL_ID . self::FILETAG_NAME]);
             }
             if ($stored[self::FILE2FITTED_ID . self::FILETAG_NAME]) {
                 $this->_removeFile(self::FILE2FITTED_ID, $stored[self::FILE2FITTED_ID . self::FILETAG_NAME]);
             }
         }
         if ($upload->isFile()) {
             if (Sitengine_Mime_Type::isJpg($upload->getMime()) || Sitengine_Mime_Type::isGif($upload->getMime()) || Sitengine_Mime_Type::isPng($upload->getMime())) {
                 $this->_resizeSaveUploadedImage(self::FILE2THUMBNAIL_ID, $upload, $id);
                 $this->_resizeSaveUploadedImage(self::FILE2FITTED_ID, $upload, $id);
             }
             $name = $this->makeFileName(self::FILE2ORIGINAL_ID, $id, Sitengine_Mime_Type::getSuffix($upload->getMime()));
             $this->_saveUploadedFile(self::FILE2ORIGINAL_ID, $upload, $name);
         }
     } catch (Exception $exception) {
         require_once 'Sitengine/Proto/Exception.php';
         throw new Sitengine_Proto_Exception('handle insert upload error', $exception);
     }
 }
Пример #10
0
 protected function _insertAudioPost($blogId)
 {
     try {
         $this->_payloads->start();
         $input = $this->_controller->getRequest()->getPost(null);
         $fields = $this->_getAudioPostFields();
         $id = Sitengine_String::createId();
         $data = array();
         $name = 'file1Original';
         $upload = new Sitengine_Upload($name);
         if (!$upload->isFile()) {
             $message = $this->_controller->getTranslate()->translate('audioposthintsFile1OriginalRequired');
             $this->_controller->getStatus()->addHint($name, $message);
             return null;
         }
         if (!$this->_checkAudioPostInput()) {
             return null;
         }
         $this->_controller->getRecord()->handleInsertUploads($id);
         foreach ($fields[self::FIELDS_ONOFF] as $k => $v) {
             $data[$k] = array_key_exists($k, $input) ? 1 : 0;
         }
         foreach ($fields[self::FIELDS_NORMAL] as $k => $v) {
             $data[$k] = array_key_exists($k, $input) ? $input[$k] : $v;
         }
         $date = new Zend_Date();
         $date->setTimezone('UTC');
         $data['cdate'] = $date->get('YYYY-MM-dd HH:mm:ss', Sitengine_Env::LANGUAGE_EN);
         $data['mdate'] = $data['cdate'];
         $data['id'] = $id;
         $data['blogId'] = $blogId;
         $data['type'] = Sitengine_Blog_Posts_Table::TYPE_AUDIO;
         #$data[Sitengine_Permiso::FIELD_OID] = $this->_controller->getPermiso()->getOrganization()->getId();
         $data = array_merge($data, $this->_controller->getRecord()->getFileData());
         #Sitengine_Debug::print_r($data);
         $affectedRows = $this->_controller->getRecord()->insert($data);
         if (!$affectedRows) {
             $error = $this->_controller->getRecord()->getError();
             if ($error === null) {
                 return null;
             }
             $message = $this->_controller->getTranslate()->translate('hints' . ucfirst($error));
             $this->_controller->getStatus()->addHint('record', $message);
             return null;
         }
         return $data;
     } catch (Exception $exception) {
         require_once 'Sitengine/Blog/Frontend/Blogs/Posts/Exception.php';
         throw new Sitengine_Blog_Frontend_Blogs_Posts_Exception('insert error', $exception);
     }
 }
Пример #11
0
 protected function _saveUploadedFile($fileId, Sitengine_Upload $upload, $name)
 {
     try {
         require_once 'Sitengine/Mime/Type.php';
         $width = 0;
         $height = 0;
         $mime = $upload->getMime();
         if ($mime == 'application/octet-stream') {
             #if(preg_match('/.*\.(gif|jpg|jpeg|png|mp3|pdf|wav|doc|xls|zip|aif|tif|css|sit|tar)$/i', $name))
             #{
             # try to fix mimetype if file is being uploaded through a flash app
             require_once 'Sitengine/Mime/Type.php';
             $mime = Sitengine_Mime_Type::get($name);
             #}
         }
         if (Sitengine_Mime_Type::isImage($mime)) {
             $info = getimagesize($upload->getTempName());
             if (!$info) {
                 require_once 'Sitengine/Exception.php';
                 throw new Sitengine_Exception('uploaded file is not an image');
             }
             $width = $info[0];
             $height = $info[1];
         }
         $data = array('name' => $name, 'source' => $upload->getName(), 'mime' => $mime, 'size' => $upload->getSize(), 'width' => $width, 'height' => $height);
         #$key = $this->_configs[$fileId]['prefix'].'/'.$name;
         #$object = $this->_configs[$fileId]['object'];
         require_once 'Sitengine/Amazon/S3/Object.php';
         $object = new Sitengine_Amazon_S3_Object($this->_configs[$fileId]['connection'], $this->_configs[$fileId]['bucket'], $this->_configs[$fileId]['prefix'] . '/' . $name, $this->_configs[$fileId]['cname'], $this->_configs[$fileId]['ssl']);
         $amzHeaders = $this->_configs[$fileId]['amzHeaders'];
         $response = $object->put($upload->getTempName(), array(), $amzHeaders);
         if ($response->getHttpResponse()->isError()) {
             require_once 'Sitengine/Exception.php';
             throw new Sitengine_Exception('file could not be uploaded to s3');
         }
         $this->_newFiles[$fileId] = $name;
         $this->_files[$fileId] = $data;
     } catch (Exception $exception) {
         $this->_rollback();
         throw $exception;
     }
 }
Пример #12
0
 protected function _checkInput()
 {
     $name = 'title';
     if (Sitengine_Validator::nada($this->_controller->getRequest()->getPost($name))) {
         $message = $this->_controller->getTranslate()->translate('hintsTitleRequired');
         $this->_controller->getStatus()->addHint($name, $message);
     }
     $fileId = 'file1Original';
     $upload = new Sitengine_Upload($fileId);
     if ($upload->isFile()) {
         $messages = array();
         if (!preg_match('/(gif|jpg|jpeg|png|pdf|mpeg|mpg|quicktime|msword|excel)/i', $upload->getMime())) {
             $messages[] = $this->_controller->getTranslate()->translate('hintsFile1OriginalFiletype');
         }
         if ($upload->getSize() > 1024 * 1024 * 5) {
             $messages[] = $this->_controller->getTranslate()->translate('hintsFile1OriginalFilesize');
         }
         if (sizeof($messages)) {
             $this->_controller->getStatus()->addHint($fileId, $messages);
         }
     }
     return !$this->_controller->getStatus()->hasHints();
 }