Example #1
0
 protected function _complementFileData(array $data, $fileId, $dir)
 {
     if ($data[$fileId . 'Name']) {
         $args = array(Sitengine_Env::PARAM_CONTROLLER => 'users', Sitengine_Env::PARAM_FILE => $fileId, Sitengine_Env::PARAM_ID => $data['id']);
         $uri = $this->_permiso->getDownloadHandler();
         $uri .= Sitengine_Controller_Request_Http::makeNameValueQuery($args);
         require_once 'Sitengine/Mime/Type.php';
         $data[$fileId . 'Path'] = $dir . '/' . $data[$fileId . 'Name'];
         $data[$fileId . 'Uri'] = $uri;
         $data[$fileId . 'IsImage'] = Sitengine_Mime_Type::isImage($data[$fileId . 'Mime']);
         $data[$fileId . 'IsFlash'] = Sitengine_Mime_Type::isFlash($data[$fileId . 'Mime']);
         $data[$fileId . 'SizeKb'] = round($data[$fileId . 'Size'] / 1024);
         if ($data[$fileId . 'IsImage']) {
             $attr = array('src' => $uri, 'width' => $data[$fileId . 'Width'], 'height' => $data[$fileId . 'Height'], 'border' => 0);
             $data[$fileId . 'Tag'] = '<img ';
             foreach ($attr as $k => $v) {
                 $data[$fileId . 'Tag'] .= ' ' . $k . '="' . $v . '"';
             }
             $data[$fileId . 'Tag'] .= ' />';
         }
     }
     return $data;
 }
Example #2
0
 protected function _saveImportedFile($fileId, $sourcePath, $filename)
 {
     try {
         $width = 0;
         $height = 0;
         $mime = Sitengine_Mime_Type::get($sourcePath);
         if (!is_writeable($sourcePath) || !is_file($sourcePath)) {
             throw new Sitengine_Exception('file can not be accessed');
         }
         if (Sitengine_Mime_Type::isImage($mime)) {
             $info = getimagesize($sourcePath);
             if (!$info) {
                 $this->_rollbackFileImport();
                 throw new Sitengine_Exception('file is not an image');
             }
             $width = $info[0];
             $height = $info[1];
         }
         $data = array('name' => $filename, 'source' => basename($sourcePath), 'mime' => $mime, 'size' => filesize($sourcePath), 'width' => $width, 'height' => $height);
         $finalPath = $this->_configs[$fileId]['dir'] . '/' . $filename;
         if (!copy($sourcePath, $finalPath)) {
             throw new Sitengine_Exception('file could not be copied');
         }
         if (!unlink($sourcePath)) {
             throw new Sitengine_Exception('source file could not be deleted');
         }
         $this->_importedFiles[$fileId] = array('sourcePath' => $sourcePath, 'finalPath' => $finalPath);
         $this->_files[$fileId] = $data;
     } catch (Exception $exception) {
         $this->_rollbackFileImport();
         throw new Sitengine_Exception('file import failed', $exception);
     }
 }
Example #3
0
 protected function _complementFileData(array $data, $fileId)
 {
     if ($data[$fileId . 'Name']) {
         /*
         $args = array(
         	Sitengine_Env::PARAM_CONTROLLER => 'attachments',
         	Sitengine_Env::PARAM_FILE => $fileId,
         	Sitengine_Env::PARAM_ID => $data['id']
         );
         $uri  = $this->_newsletterPackage->getDownloadHandler();
         $uri .= Sitengine_Controller_Request_Http::makeNameValueQuery($args);
         */
         /*
         $uri  = $this->_newsletterPackage->getAttachmentFile1OriginalRequestDir();
         $uri .= '/'.$data[$fileId.'Name'];
         */
         #$config = $this->_newsletterPackage->getEnv()->getAmazonConfig('default');
         $key = $this->_configs[$fileId]['prefix'] . '/' . $data[$fileId . 'Name'];
         $uri = Sitengine_Amazon_S3::getUrl($this->_configs[$fileId]['bucket'], $key, '', $this->_configs[$fileId]['cname'], $this->_configs[$fileId]['ssl']);
         require_once 'Sitengine/Mime/Type.php';
         $data[$fileId . 'Path'] = $uri;
         $data[$fileId . 'Uri'] = $uri;
         $data[$fileId . 'IsImage'] = Sitengine_Mime_Type::isImage($data[$fileId . 'Mime']);
         $data[$fileId . 'IsFlash'] = Sitengine_Mime_Type::isFlash($data[$fileId . 'Mime']);
         $data[$fileId . 'SizeKb'] = round($data[$fileId . 'Size'] / 1024);
         if ($data[$fileId . 'IsImage']) {
             $attr = array('src' => $uri, 'width' => $data[$fileId . 'Width'], 'height' => $data[$fileId . 'Height'], 'border' => 0);
             $data[$fileId . 'Tag'] = '<img ';
             foreach ($attr as $k => $v) {
                 $data[$fileId . 'Tag'] .= ' ' . $k . '="' . $v . '"';
             }
             $data[$fileId . 'Tag'] .= ' />';
         }
     }
     return $data;
 }
Example #4
0
 public function complementRow(Sitengine_Blog_Files_Row $row)
 {
     $data = $row->toArray();
     $transcripts = $this->getTranscripts();
     $transcripts->setLanguage($this->_transcript);
     $index = $transcripts->getIndex();
     $default = $transcripts->getDefaultIndex();
     $data['title'] = $data['titleLang' . $index] ? $data['titleLang' . $index] : $data['titleLang' . $default];
     $data['markup'] = $data['markupLang' . $index] ? $data['markupLang' . $index] : $data['markupLang' . $default];
     $data['transcriptMissing'] = !$data['titleLang' . $index];
     require_once 'Sitengine/Amazon/S3.php';
     if ($data[self::FILE1ORIGINAL_ID . 'Name']) {
         /*
         $args = array(
         	Sitengine_Env::PARAM_CONTROLLER => 'files',
         	Sitengine_Env::PARAM_ID => $data['id']
         );
         $uri  = $this->_blogPackage->getDownloadHandler();
         $uri .= Sitengine_Controller_Request_Http::makeNameValueQuery($args);
         */
         #$config = $this->_blogPackage->getEnv()->getAmazonConfig('default');
         $key = $this->_configs[self::FILE1ORIGINAL_ID]['prefix'] . '/' . $data[self::FILE1ORIGINAL_ID . 'Name'];
         $uri = Sitengine_Amazon_S3::getUrl($this->_configs[self::FILE1ORIGINAL_ID]['bucket'], $key, '', $this->_configs[self::FILE1ORIGINAL_ID]['cname'], $this->_configs[self::FILE1ORIGINAL_ID]['ssl']);
         require_once 'Sitengine/Mime/Type.php';
         #$data[self::FILE1ORIGINAL_ID.'Path'] = $this->_blogPackage->getFileFile1OriginalDir().'/'.$data[self::FILE1ORIGINAL_ID.'Name'];
         $data[self::FILE1ORIGINAL_ID . 'Path'] = $uri;
         $data[self::FILE1ORIGINAL_ID . 'Uri'] = $uri;
         $data[self::FILE1ORIGINAL_ID . 'IsImage'] = Sitengine_Mime_Type::isImage($data[self::FILE1ORIGINAL_ID . 'Mime']);
         $data[self::FILE1ORIGINAL_ID . 'IsFlash'] = Sitengine_Mime_Type::isFlash($data[self::FILE1ORIGINAL_ID . 'Mime']);
         $data[self::FILE1ORIGINAL_ID . 'SizeKb'] = round($data[self::FILE1ORIGINAL_ID . 'Size'] / 1024);
         if ($data[self::FILE1ORIGINAL_ID . 'IsImage']) {
             $attr = array('src' => $uri, 'width' => $data[self::FILE1ORIGINAL_ID . 'Width'], 'height' => $data[self::FILE1ORIGINAL_ID . 'Height'], 'border' => 0);
             $data[self::FILE1ORIGINAL_ID . 'Tag'] = '<img ';
             foreach ($attr as $k => $v) {
                 $data[self::FILE1ORIGINAL_ID . 'Tag'] .= ' ' . $k . '="' . $v . '"';
             }
             $data[self::FILE1ORIGINAL_ID . 'Tag'] .= ' />';
         }
     }
     if ($data[self::FILE1THUMBNAIL_ID . 'Name']) {
         /*
         $args = array(
         	Sitengine_Env::PARAM_CONTROLLER => 'files',
         	Sitengine_Env::PARAM_FILE => 'thumb',
         	Sitengine_Env::PARAM_ID => $data['id']
         );
         $uri  = $this->_blogPackage->getDownloadHandler();
         $uri .= Sitengine_Controller_Request_Http::makeNameValueQuery($args);
         */
         $key = $this->_configs[self::FILE1THUMBNAIL_ID]['prefix'] . '/' . $data[self::FILE1THUMBNAIL_ID . 'Name'];
         $uri = Sitengine_Amazon_S3::getUrl($this->_configs[self::FILE1THUMBNAIL_ID]['bucket'], $key, '', $this->_configs[self::FILE1THUMBNAIL_ID]['cname'], $this->_configs[self::FILE1THUMBNAIL_ID]['ssl']);
         require_once 'Sitengine/Mime/Type.php';
         #$data[self::FILE1THUMBNAIL_ID.'Path'] = $this->_blogPackage->getFileFile1ThumbnailDir().'/'.$data[self::FILE1THUMBNAIL_ID.'Name'];
         $data[self::FILE1THUMBNAIL_ID . 'Path'] = $uri;
         $data[self::FILE1THUMBNAIL_ID . 'Uri'] = $uri;
         $data[self::FILE1THUMBNAIL_ID . 'IsImage'] = Sitengine_Mime_Type::isImage($data[self::FILE1THUMBNAIL_ID . 'Mime']);
         $data[self::FILE1THUMBNAIL_ID . 'IsFlash'] = Sitengine_Mime_Type::isFlash($data[self::FILE1THUMBNAIL_ID . 'Mime']);
         $data[self::FILE1THUMBNAIL_ID . 'SizeKb'] = round($data[self::FILE1THUMBNAIL_ID . 'Size'] / 1024);
         if ($data[self::FILE1THUMBNAIL_ID . 'IsImage']) {
             $attr = array('src' => $uri, 'width' => $data[self::FILE1THUMBNAIL_ID . 'Width'], 'height' => $data[self::FILE1THUMBNAIL_ID . 'Height'], 'border' => 0);
             $data[self::FILE1THUMBNAIL_ID . 'Tag'] = '<img ';
             foreach ($attr as $k => $v) {
                 $data[self::FILE1THUMBNAIL_ID . 'Tag'] .= ' ' . $k . '="' . $v . '"';
             }
             $data[self::FILE1THUMBNAIL_ID . 'Tag'] .= ' />';
         }
     }
     return $data;
 }
Example #5
0
 protected function _getMainSection()
 {
     try {
         $elements = array();
         $input = $this->_controller->getRequest()->getPost(null);
         #$valueSort = $this->_controller->getRequest()->get(Sitengine_Env::PARAM_SORT);
         #$valueOrder = $this->_controller->getRequest()->get(Sitengine_Env::PARAM_ORDER);
         #$valuePage = $this->_controller->getRequest()->get(Sitengine_Env::PARAM_PAGE);
         ########################################################################
         #### FILTER INPUT
         ########################################################################
         $fieldsNormal = array('id' => '', 'keyword' => '');
         $fieldsOnOff = array('locked' => 0);
         if ($this->_inputMode == Sitengine_Env::INPUTMODE_UPDATE) {
             require_once 'Sitengine/Form/Payloads.php';
             $payloads = new Sitengine_Form_Payloads();
             $payloads->start($this->_controller->getRequest()->get(Sitengine_Env::PARAM_PAYLOAD_NAME));
             $stored = $this->_controller->getEntity()->getData();
             $data = Sitengine_Controller_Request_Http::filterUpdateDeprecated(sizeof($input), $input, $fieldsNormal, $fieldsOnOff, $stored);
             #$data['transColor'] = $fieldsNormal['transColor'];
             $data = array_merge($stored, $data);
             $name = 'file1Original';
             if ($stored[$name . 'Name']) {
                 /*
                 $args = array(
                 	#Sitengine_Env::PARAM_ORG => $this->_controller->getPermiso()->getOrganization()->getNameNoDefault(),
                     Sitengine_Env::PARAM_ACTION => Sitengine_Sitemap_Backend_Controller::ACTION_BIN,
                     Sitengine_Env::PARAM_FILE => $name,
                     Sitengine_Env::PARAM_ID => $stored['id']
                 );
                 $route = $this->_controller->getFrontController()->getRouter()->getRoute(Sitengine_Sitemap_Backend_Front::ROUTE_INDEX);
                 $uri = $this->_controller->getRequest()->getBasePath().'/'.$route->assemble($args, true);
                 */
                 $uri = $this->_controller->getFrontController()->getSitemapPackage()->getFile1OriginalRequestDir() . '/' . $stored[$name . 'Name'];
                 $data[$name . 'Uri'] = $uri;
                 $data[$name . 'IsImage'] = Sitengine_Mime_Type::isImage($stored[$name . 'Mime']);
                 $data[$name . 'IsFlash'] = Sitengine_Mime_Type::isFlash($stored[$name . 'Mime']);
                 $data[$name . 'SizeKb'] = round($stored[$name . 'Size'] / 1024);
                 if ($data[$name . 'IsImage']) {
                     $attr = array('src' => $uri, 'width' => $stored[$name . 'Width'], 'height' => $stored[$name . 'Height'], 'border' => 0);
                     $data[$name . 'Tag'] = '<img ';
                     foreach ($attr as $k => $v) {
                         $data[$name . 'Tag'] .= ' ' . $k . '="' . $v . '"';
                     }
                     $data[$name . 'Tag'] .= ' />';
                 }
             }
             # set dates to timezone
             /*
             $name = 'cdate';
             $date = new Zend_Date($stored[$name], Zend_Date::ISO_8601, $this->_controller->getLocale());
             $date->setTimezone($this->_controller->getPreferences()->getTimezone());
             $data[$name]  = $date->get(Zend_Date::DATE_FULL).' ';
             $data[$name] .= $date->get(Zend_Date::TIME_FULL);
             */
             /*
             $name = 'mdate';
             $date = new Zend_Date($stored[$name], Zend_Date::ISO_8601, $this->_controller->getLocale());
             $date->setTimezone($this->_controller->getPreferences()->getTimezone());
             $data[$name]  = $date->get(Zend_Date::DATE_LONG).' ';
             $data[$name] .= $date->get(Zend_Date::TIME_LONG);
             */
             $hiddens = array(Sitengine_Env::PARAM_PAYLOAD_NAME => $payloads->getName(), Sitengine_Env::PARAM_MDATE => $stored['mdate']);
             $args = array(Sitengine_Env::PARAM_ID => $stored['id'], Sitengine_Env::PARAM_ACTION => Sitengine_Sitemap_Backend_Controller::ACTION_DOUPDATEFILE);
             $route = $this->_controller->getFrontController()->getRouter()->getRoute(Sitengine_Sitemap_Backend_Front::ROUTE_INDEX);
             $submitUri = $this->_controller->getRequest()->getBasePath() . '/' . $route->assemble($args, true);
             $title = $this->_controller->getTranslate()->translate('labelsViewformUpdateFileTitle');
         } else {
             require_once 'Sitengine/Form/Payloads.php';
             $payloads = new Sitengine_Form_Payloads();
             $payloads->start();
             $data = Sitengine_Controller_Request_Http::filterInsertDeprecated(sizeof($input), $input, $fieldsNormal, $fieldsOnOff);
             $gid = $this->_controller->getPermiso()->getDirectory()->getGroupId($this->_controller->getOwnerGroup());
             $data[Sitengine_Permiso::FIELD_GID] = !is_null($gid) ? $gid : Sitengine_Permiso::GID_ADMINISTRATORS;
             $data[Sitengine_Permiso::FIELD_UID] = $this->_controller->getPermiso()->getAuth()->getId();
             $hiddens = array(Sitengine_Env::PARAM_PAYLOAD_NAME => $payloads->getName());
             $args = array(Sitengine_Env::PARAM_PARENTID => $this->_controller->getEntity()->getParentId(), Sitengine_Env::PARAM_ACTION => Sitengine_Sitemap_Backend_Controller::ACTION_DONEWFILE);
             $route = $this->_controller->getFrontController()->getRouter()->getRoute(Sitengine_Sitemap_Backend_Front::ROUTE_INDEX);
             $submitUri = $this->_controller->getRequest()->getBasePath() . '/' . $route->assemble($args, true);
             $title = $this->_controller->getTranslate()->translate('labelsViewformNewFileTitle');
         }
         #Sitengine_Debug::print_r($data);
         ########################################################################
         #### ELEMENTS
         ########################################################################
         if ($payloads->isMain()) {
             /*
             if(
             	(!$data['id']) || # on insert
             	(isset($data[Sitengine_Permiso::FIELD_UID]) && $data[Sitengine_Permiso::FIELD_UID]==$this->_controller->getPermiso()->getAuth()->getId()) || # owners ok
             	#$this->_controller->getPermiso()->getUser()->hasSupervisorRights() || # supervisors ok
             	#$this->_controller->getPermiso()->getUser()->hasModeratorRights() # moderators ok
             	$this->_controller->getPermiso()->getDirectory()->userIsMember($this->_controller->getPermiso()->getAuth()->getId(), Sitengine_Permiso::GID_ADMINISTRATORS)
             )
             {
             	$n = Sitengine_Permiso::FIELD_UID;
             	$e = new Sitengine_Form_Element($n, $data[$n]);
             	$e->setClass('viewFormSelect');
             	$e->setId('viewForm'.$n);
             	$users = $this->_controller->getPermiso()->getDirectory()->getAllUsers();
             	$elements[$n] = $e->getSelect($users);
             	
             	$n = Sitengine_Permiso::FIELD_GID;
             	$e = new Sitengine_Form_Element($n, $data[$n]);
             	$e->setClass('viewFormSelect');
             	$e->setId('viewForm'.$n);
             	$groups = $this->_controller->getPermiso()->getDirectory()->getAllGroups();
             	$groups = array_merge($this->_controller->getTranslate()->translateGroup('fieldValsGid')->toArray(), $groups);
             	$elements[$n] = $e->getSelect($groups);
             	
             	$n = Sitengine_Permiso::FIELD_RAG;
             	$e = new Sitengine_Form_Element($n, '1');
             	$e->setClass('viewFormCheckbox');
             	$e->setId('viewForm'.$n);
             	$elements[$n] = $e->getCheckbox($data[$n]);
             	
             	$n = Sitengine_Permiso::FIELD_RAW;
             	$e = new Sitengine_Form_Element($n, '1');
             	$e->setClass('viewFormCheckbox');
             	$e->setId('viewForm'.$n);
             	$elements[$n] = $e->getCheckbox($data[$n]);
             	
             	$n = Sitengine_Permiso::FIELD_UAG;
             	$e = new Sitengine_Form_Element($n, '1');
             	$e->setClass('viewFormCheckbox');
             	$e->setId('viewForm'.$n);
             	$elements[$n] = $e->getCheckbox($data[$n]);
             	
             	$n = Sitengine_Permiso::FIELD_UAW;
             	$e = new Sitengine_Form_Element($n, '1');
             	$e->setClass('viewFormCheckbox');
             	$e->setId('viewForm'.$n);
             	$elements[$n] = $e->getCheckbox($data[$n]);
             	
             	$n = Sitengine_Permiso::FIELD_DAG;
             	$e = new Sitengine_Form_Element($n, '1');
             	$e->setClass('viewFormCheckbox');
             	$e->setId('viewForm'.$n);
             	$elements[$n] = $e->getCheckbox($data[$n]);
             	
             	$n = Sitengine_Permiso::FIELD_DAW;
             	$e = new Sitengine_Form_Element($n, '1');
             	$e->setClass('viewFormCheckbox');
             	$e->setId('viewForm'.$n);
             	$elements[$n] = $e->getCheckbox($data[$n]);
             }
             */
             $n = 'locked';
             $e = new Sitengine_Form_Element($n, '1');
             $e->setClass('viewFormCheckbox');
             $e->setId('viewForm' . $n);
             $elements[$n] = $e->getCheckbox($data[$n]);
             /*
             $n = 'enabled';
             $e = new Sitengine_Form_Element($n, '1');
             $e->setClass('viewFormCheckbox');
             $e->setId('viewForm'.$n);
             $elements[$n] = $e->getCheckbox($data[$n]);
             */
             $n = 'keyword';
             $e = new Sitengine_Form_Element($n, $data[$n]);
             $e->setClass('viewFormInput');
             $e->setId('viewForm' . $n);
             $elements[$n] = $e->getText(40);
             /*
             $n = 'transColor';
             $e = new Sitengine_Form_Element($n, $data[$n]);
             $e->setClass('viewFormInput');
             $e->setId('viewForm'.$n);
             $elements[$n] = $e->getText(10);
             */
             $n = 'file1Original';
             $e = new Sitengine_Form_Element($n);
             $e->setClass('viewFormFile');
             $e->setId('viewForm' . $n);
             $elements[$n] = $e->getFile(40);
             if ($this->_inputMode == Sitengine_Env::INPUTMODE_UPDATE) {
                 $n = 'cpyPasteUri';
                 $v = $this->_controller->getFrontController()->getSitemapPackage()->getFile1OriginalRequestDir() . '/' . $stored['file1OriginalName'];
                 $e = new Sitengine_Form_Element($n, $v);
                 $e->setClass('viewFormCheckbox');
                 $e->setId('viewForm' . $n);
                 $e->readonly();
                 $elements[$n] = $e->getText(80);
             }
         }
         ########################################################################
         #### PAYLOAD NAV DATA
         ########################################################################
         $payloadNav = array();
         ########################################################################
         #### COLLECT ALL DATA
         ########################################################################
         foreach ($hiddens as $k => $v) {
             $hiddens[$k] = Sitengine_Form_Element::getHidden($k, $v);
         }
         return array('payloadName' => $payloads->getName(), 'payloadIsMain' => $payloads->isMain(), 'queryUpdate' => isset($queryUpdate) ? $queryUpdate : '', 'title' => $title, 'inputMode' => $this->_inputMode, 'hiddens' => implode('', $hiddens), 'submitUri' => $submitUri, 'ELEMENTS' => $elements, 'PAYLOADNAV' => $payloadNav, 'DATA' => $data);
     } catch (Exception $exception) {
         require_once 'Sitengine/Sitemap/Backend/Exception.php';
         throw new Sitengine_Sitemap_Backend_Exception('form page error', $exception);
     }
 }
Example #6
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;
     }
 }