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; }
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); } }
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; }
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; }
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); } }
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; } }