コード例 #1
0
ファイル: object_href.php プロジェクト: davidmottet/automne
 /**
  * get an object value
  *
  * @param string $name : the name of the value to get
  * @param string $parameters (optional) : parameters for the value to get
  * @return multidimentionnal array : the object values structure
  * @access public
  */
 function getValue($name, $parameters = '')
 {
     $href = new CMS_href($this->_subfieldValues[0]->getValue());
     switch ($name) {
         case 'validhref':
             return $href->hasValidHREF();
             break;
         case 'hrefvalue':
             //get module codename
             $moduleCodename = CMS_poly_object_catalog::getModuleCodenameForField($this->_field->getID());
             //set location
             $location = $this->_public ? RESOURCE_DATA_LOCATION_PUBLIC : RESOURCE_DATA_LOCATION_EDITED;
             return $href->getHTML(false, $moduleCodename, $location, false, true);
             break;
         case 'hreflabel':
             return io::htmlspecialchars($href->getLabel());
             break;
         case 'hreftarget':
             return $href->getTarget();
             break;
         case 'hreftype':
             return $href->getLinkType();
             break;
         case 'popupWidth':
             $popup = $href->getPopup();
             return $popup['width'];
             break;
         case 'popupHeight':
             $popup = $href->getPopup();
             return $popup['height'];
             break;
         case 'hrefHTML':
             //get module codename
             $moduleCodename = CMS_poly_object_catalog::getModuleCodenameForField($this->_field->getID());
             //set location
             $location = $this->_public ? RESOURCE_DATA_LOCATION_PUBLIC : RESOURCE_DATA_LOCATION_EDITED;
             //add link title (if any)
             if ($parameters) {
                 $title = $parameters;
                 //add title attribute to link
                 $href->setAttributes(array('title' => io::htmlspecialchars($href->getLabel() . ' (' . $title . ')')));
             } else {
                 $title = false;
                 //add title attribute to link
                 $href->setAttributes(array('title' => io::htmlspecialchars($href->getLabel())));
             }
             return $href->getHTML($title, $moduleCodename, $location);
             break;
         default:
             return parent::getValue($name, $parameters);
             break;
     }
 }
コード例 #2
0
ファイル: object_oembed.php プロジェクト: davidmottet/automne
 /**
  * get an object value
  *
  * @param string $name : the name of the value to get
  * @param string $parameters (optional) : parameters for the value to get
  * @return multidimentionnal array : the object values structure
  * @access public
  */
 function getValue($name, $parameters = '')
 {
     if (in_array($name, array('fieldname', 'required', 'fieldID', 'value'))) {
         return parent::getValue($name, $parameters);
     }
     $params = $this->getParamsValues();
     if ($name == 'hasValue') {
         return $this->_subfieldValues[0]->getValue() ? true : false;
     }
     //oembed values : first, get size parameters
     @(list($width, $height) = explode(',', str_replace(';', ',', $parameters)));
     if (!io::isPositiveInteger($width)) {
         $width = '';
     }
     if (!io::isPositiveInteger($height)) {
         $height = '';
     }
     //load oembed object
     if (in_array($name, array('html', 'width', 'height'))) {
         //size specific values : get oembed object at queried size
         if (!isset($this->_oembedObjects[$width . '-' . $height])) {
             $this->_oembedObjects[$width . '-' . $height] = new CMS_oembed($this->_subfieldValues[0]->getValue(), $width, $height, $params['embedlyKey']);
         }
         $oembed = $this->_oembedObjects[$width . '-' . $height];
     } else {
         if ($this->_oembedObjects) {
             //load current oembed object
             $oembed = current($this->_oembedObjects);
         } else {
             $this->_oembedObjects[$width . '-' . $height] = new CMS_oembed($this->_subfieldValues[0]->getValue(), $width, $height, $params['embedlyKey']);
             $oembed = $this->_oembedObjects[$width . '-' . $height];
         }
     }
     if (!$oembed->hasProvider()) {
         return '';
     }
     if ($name == 'authorName') {
         $name = 'author_name';
     }
     if ($name == 'authorUrl') {
         $name = 'author_url';
     }
     if ($name == 'authorName') {
         $name = 'author_name';
     }
     if ($name == 'providerUrl') {
         $name = 'provider_url';
     }
     switch ($name) {
         case 'html':
             return $oembed->getHTML(array('class' => 'atm-embed'));
             break;
         case 'thumb':
             return $oembed->getThumbnail(array('class' => 'atm-thumb-embed'));
             break;
         case 'providerName':
             return io::htmlspecialchars($oembed->getProviderName());
             break;
         case 'url':
             return $this->_subfieldValues[0]->getValue();
             break;
         case 'datas':
             return $oembed->getDatas();
             break;
         default:
             return io::htmlspecialchars($oembed->getData($name));
             break;
     }
 }
コード例 #3
0
 /**
  * get an object value
  *
  * @param string $name : the name of the value to get
  * @param string $parameters (optional) : parameters for the value to get
  * @return multidimentionnal array : the object values structure
  * @access public
  */
 function getValue($name, $parameters = '')
 {
     global $cms_language;
     $params = $this->getParamsValues();
     $name = $name !== 0 ? $name : "0";
     switch ($name) {
         case 'ids':
             $ids = array();
             foreach (array_keys($this->_subfieldValues) as $subFieldID) {
                 if (is_object($this->_subfieldValues[$subFieldID])) {
                     $ids[] = $this->_subfieldValues[$subFieldID]->getValue();
                 }
             }
             return $ids;
             break;
         case 'values':
             return $this->_subfieldValues;
             break;
         case 'count':
             return sizeof($this->_subfieldValues);
             break;
         default:
             if (sensitiveIO::isPositiveInteger($name) || $name === "0") {
                 if (!is_object($this->_subfieldValues[$name])) {
                     return '';
                 }
                 switch ($parameters) {
                     case 'id':
                         return $this->_subfieldValues[$name]->getValue();
                         break;
                     case 'label':
                         //load user/group
                         $userGroup = $params['isGroup'] ? CMS_profile_usersGroupsCatalog::getByID($this->_subfieldValues[$name]->getValue()) : CMS_profile_usersCatalog::getByID($this->_subfieldValues[$name]->getValue());
                         if (is_object($userGroup) && !$userGroup->hasError()) {
                             return $params['isGroup'] ? io::htmlspecialchars($userGroup->getLabel()) : io::htmlspecialchars($userGroup->getFirstName() . ' ' . $userGroup->getLastName());
                         }
                         return '';
                         break;
                     case 'email':
                         //load user/group
                         $userGroup = $params['isGroup'] ? CMS_profile_usersGroupsCatalog::getByID($this->_subfieldValues[$name]->getValue()) : CMS_profile_usersCatalog::getByID($this->_subfieldValues[$name]->getValue());
                         if (is_object($userGroup) && !$userGroup->hasError()) {
                             return $params['isGroup'] ? '' : io::htmlspecialchars($userGroup->getEmail());
                         }
                         return '';
                         break;
                 }
             } else {
                 if (!isset($this->_subfieldValues[0]) || !is_object($this->_subfieldValues[0])) {
                     return '';
                 }
                 switch ($name) {
                     case 'label':
                         //load user/group
                         $userGroup = $params['isGroup'] ? CMS_profile_usersGroupsCatalog::getByID($this->_subfieldValues[0]->getValue()) : CMS_profile_usersCatalog::getByID($this->_subfieldValues[0]->getValue());
                         if (is_object($userGroup) && !$userGroup->hasError()) {
                             return $params['isGroup'] ? io::htmlspecialchars($userGroup->getLabel()) : io::htmlspecialchars($userGroup->getFirstName() . ' ' . $userGroup->getLastName());
                         }
                         return '';
                         break;
                     case 'email':
                         //load user/group
                         $userGroup = $params['isGroup'] ? CMS_profile_usersGroupsCatalog::getByID($this->_subfieldValues[0]->getValue()) : CMS_profile_usersCatalog::getByID($this->_subfieldValues[0]->getValue());
                         if (is_object($userGroup) && !$userGroup->hasError()) {
                             return $params['isGroup'] ? '' : io::htmlspecialchars($userGroup->getEmail());
                         }
                         return '';
                         break;
                     case 'id':
                         return $this->_subfieldValues[0]->getValue();
                         break;
                     default:
                         return parent::getValue($name, $parameters);
                         break;
                 }
             }
             break;
     }
 }
コード例 #4
0
ファイル: object_email.php プロジェクト: davidmottet/automne
 /**
  * get an object value
  *
  * @param string $name : the name of the value to get
  * @param string $parameters (optional) : parameters for the value to get
  * @return multidimentionnal array : the object values structure
  * @access public
  */
 function getValue($name, $parameters = '')
 {
     switch ($name) {
         case 'label':
             return $this->getLabel();
             break;
         case 'value':
             return $this->_subfieldValues[0]->getValue();
             break;
         default:
             return parent::getValue($name, $parameters);
             break;
     }
 }
コード例 #5
0
 /**
  * get an object value
  *
  * @param string $name : the name of the value to get
  * @param string $parameters (optional) : parameters for the value to get
  * @return multidimentionnal array : the object values structure
  * @access public
  */
 function getValue($name, $parameters = '')
 {
     global $cms_language, $cms_user;
     $name = $name !== 0 ? $name : "0";
     switch ($name) {
         case 'ids':
             $ids = array();
             foreach (array_keys($this->_subfieldValues) as $subFieldID) {
                 if (is_object($this->_subfieldValues[$subFieldID]) && io::isPositiveInteger($this->_subfieldValues[$subFieldID]->getValue())) {
                     $ids[] = $this->_subfieldValues[$subFieldID]->getValue();
                 }
             }
             return $ids;
             break;
         case 'labels':
             $labels = array();
             if (!$parameters) {
                 $parameters = ', ';
             }
             foreach (array_keys($this->_subfieldValues) as $subFieldID) {
                 $category = CMS_moduleCategories_catalog::getByID($this->_subfieldValues[$subFieldID]->getValue());
                 if (!$category->hasError()) {
                     $labels[] = io::htmlspecialchars($category->getLabel($cms_language));
                 }
             }
             return implode($labels, $parameters);
             break;
         case 'values':
             if ($parameters && is_object($cms_user)) {
                 $values = array();
                 $moduleCodename = CMS_poly_object_catalog::getModuleCodenameForField($this->_field->getID());
                 foreach (array_keys($this->_subfieldValues) as $subFieldID) {
                     if (is_object($this->_subfieldValues[$subFieldID]) && io::isPositiveInteger($this->_subfieldValues[$subFieldID]->getValue())) {
                         switch ($parameters) {
                             case 'none':
                                 if ($cms_user->hasModuleCategoryClearance($this->_subfieldValues[$subFieldID]->getValue(), CLEARANCE_MODULE_NONE, $moduleCodename)) {
                                     $values[$subFieldID] = $this->_subfieldValues[$subFieldID];
                                 }
                                 break;
                             case 'view':
                                 if ($cms_user->hasModuleCategoryClearance($this->_subfieldValues[$subFieldID]->getValue(), CLEARANCE_MODULE_VIEW, $moduleCodename)) {
                                     $values[$subFieldID] = $this->_subfieldValues[$subFieldID];
                                 }
                                 break;
                             case 'edit':
                                 if ($cms_user->hasModuleCategoryClearance($this->_subfieldValues[$subFieldID]->getValue(), CLEARANCE_MODULE_EDIT, $moduleCodename)) {
                                     $values[$subFieldID] = $this->_subfieldValues[$subFieldID];
                                 }
                                 break;
                             case 'manage':
                                 if ($cms_user->hasModuleCategoryClearance($this->_subfieldValues[$subFieldID]->getValue(), CLEARANCE_MODULE_MANAGE, $moduleCodename)) {
                                     $values[$subFieldID] = $this->_subfieldValues[$subFieldID];
                                 }
                                 break;
                             default:
                                 $values[$subFieldID] = $this->_subfieldValues[$subFieldID];
                                 break;
                         }
                     }
                 }
                 return $values;
             }
             return $this->_subfieldValues;
             break;
         case 'count':
             return sizeof($this->getValue('ids'));
             break;
         case 'start':
             $params = $this->getParamsValues();
             return $params['rootCategory'];
             break;
         default:
             if (sensitiveIO::isPositiveInteger($name) || $name === "0") {
                 switch ($parameters) {
                     case 'id':
                         return $this->_subfieldValues[$name]->getValue();
                         break;
                     case 'file':
                         $category = CMS_moduleCategories_catalog::getByID($this->_subfieldValues[$name]->getValue());
                         if (!$category->hasError()) {
                             $file = $category->getFile($cms_language);
                             if ($file) {
                                 //get module codename
                                 $moduleCodename = CMS_poly_object_catalog::getModuleCodenameForField($this->_field->getID());
                                 return PATH_MODULES_FILES_WR . '/' . $moduleCodename . '/' . RESOURCE_DATA_LOCATION_PUBLIC . '/' . $file;
                             }
                         }
                         return '';
                         break;
                     case 'categorydesc':
                         $category = CMS_moduleCategories_catalog::getByID($this->_subfieldValues[$name]->getValue());
                         if (!$category->hasError()) {
                             return $category->getDescription($cms_language);
                         }
                         return '';
                         break;
                     case 'categorytxtdesc':
                         $category = CMS_moduleCategories_catalog::getByID($this->_subfieldValues[$name]->getValue());
                         if (!$category->hasError()) {
                             return io::htmlspecialchars(strip_tags($category->getDescription($cms_language)));
                         }
                         return '';
                         break;
                     case 'label':
                         $category = CMS_moduleCategories_catalog::getByID($this->_subfieldValues[$name]->getValue());
                         if (!$category->hasError()) {
                             return io::htmlspecialchars($category->getLabel($cms_language));
                         }
                         return '';
                         break;
                     case 'iconPath':
                         $category = CMS_moduleCategories_catalog::getByID($this->_subfieldValues[$name]->getValue());
                         if (!$category->hasError()) {
                             $iconPathFS = $category->getIconPath(true, PATH_RELATIVETO_FILESYSTEM, true);
                             $iconPathWR = CMS_websitesCatalog::getCurrentDomain() . $category->getIconPath(true, PATH_RELATIVETO_WEBROOT, true);
                             if ($iconPathFS && file_exists($iconPathFS) && is_file($iconPathFS) && $iconPathWR) {
                                 return $iconPathWR;
                             }
                         }
                         return '';
                         break;
                     case 'iconHTML':
                         $iconPath = $this->getValue($name, 'iconPath');
                         if ($iconPath) {
                             $iconLabel = $this->getValue($name, 'label');
                             return '<img src="' . $iconPath . '" alt="" title="' . SensitiveIO::sanitizeHTMLString($iconLabel) . '" />';
                         }
                         return '';
                         break;
                 }
             } else {
                 switch ($name) {
                     case 'label':
                         $category = isset($this->_subfieldValues[0]) ? CMS_moduleCategories_catalog::getByID($this->_subfieldValues[0]->getValue()) : '';
                         if (is_object($category) && !$category->hasError()) {
                             return io::htmlspecialchars($category->getLabel($cms_language));
                         }
                         return '';
                         break;
                     case 'id':
                         return $this->_subfieldValues[0]->getValue();
                         break;
                     case 'file':
                         $category = CMS_moduleCategories_catalog::getByID($this->_subfieldValues[0]->getValue());
                         if (!$category->hasError()) {
                             $file = $category->getFile($cms_language);
                             if ($file) {
                                 //get module codename
                                 $moduleCodename = CMS_poly_object_catalog::getModuleCodenameForField($this->_field->getID());
                                 return PATH_MODULES_FILES_WR . '/' . $moduleCodename . '/' . RESOURCE_DATA_LOCATION_PUBLIC . '/' . $file;
                             }
                         }
                         return '';
                         break;
                     case 'categorydesc':
                         $category = CMS_moduleCategories_catalog::getByID($this->_subfieldValues[0]->getValue());
                         if (!$category->hasError()) {
                             return $category->getDescription($cms_language);
                         }
                         return '';
                         break;
                     case 'categorytxtdesc':
                         $category = CMS_moduleCategories_catalog::getByID($this->_subfieldValues[0]->getValue());
                         if (!$category->hasError()) {
                             return io::htmlspecialchars(strip_tags($category->getDescription($cms_language)));
                         }
                         return '';
                         break;
                     case 'iconPath':
                         $category = CMS_moduleCategories_catalog::getByID($this->_subfieldValues[0]->getValue());
                         if (!$category->hasError()) {
                             $iconPathFS = $category->getIconPath(true, PATH_RELATIVETO_FILESYSTEM, true);
                             $iconPathWR = CMS_websitesCatalog::getCurrentDomain() . $category->getIconPath(true, PATH_RELATIVETO_WEBROOT, true);
                             if ($iconPathFS && file_exists($iconPathFS) && is_file($iconPathFS) && $iconPathWR) {
                                 return $iconPathWR;
                             }
                         }
                         return '';
                         break;
                     case 'iconHTML':
                         $iconPath = $this->getValue('iconPath');
                         if ($iconPath) {
                             $iconLabel = $this->getValue('label');
                             return '<img src="' . $iconPath . '" alt="" title="' . SensitiveIO::sanitizeHTMLString($iconLabel) . '" />';
                         }
                         return '';
                         break;
                     default:
                         return parent::getValue($name, $parameters);
                         break;
                 }
             }
             break;
     }
 }
コード例 #6
0
ファイル: object_text.php プロジェクト: davidmottet/automne
 /**
  * get an object value
  *
  * @param string $name : the name of the value to get
  * @param string $parameters (optional) : parameters for the value to get
  * @return multidimentionnal array : the object values structure
  * @access public
  */
 function getValue($name, $parameters = '')
 {
     $params = $this->getParamsValues();
     switch ($name) {
         case 'label':
             return isset($params['html']) && $params['html'] ? $this->getLabel() : io::htmlspecialchars($this->getLabel());
             break;
         case 'txtvalue':
             if (isset($params['html']) && $params['html']) {
                 return strip_tags(str_replace('<br />', "\n", str_replace(array("\n", "\r"), "", $this->_evalPHPContent($this->_subfieldValues[0]->getValue()))));
             } else {
                 return $this->_subfieldValues[0]->getValue();
             }
             break;
         case 'htmlvalue':
         case 'value':
             //do not put an htmlspecialchars on text only value because line-breaks are auto converted to <br /> tags
             if (isset($params['html']) && $params['html']) {
                 return $this->_evalPHPContent($this->_subfieldValues[0]->getValue());
             } else {
                 return $name == 'value' ? str_replace('<br />', "\n", str_replace(array("\n", "\r"), "", $this->_subfieldValues[0]->getValue())) : sensitiveIO::convertTextToHTML($this->_subfieldValues[0]->getValue(), false);
             }
             break;
         case 'hasvalue':
             return $this->_subfieldValues[0]->getValue() ? true : false;
             break;
         case 'rawvalue':
             return $this->_subfieldValues[0]->getValue();
             break;
         default:
             return parent::getValue($name, $parameters);
             break;
     }
 }
コード例 #7
0
ファイル: object_image.php プロジェクト: davidmottet/automne
 /**
  * get an object value
  *
  * @param string $name : the name of the value to get
  * @param string $parameters (optional) : parameters for the value to get
  * @return multidimentionnal array : the object values structure
  * @access public
  */
 function getValue($name, $parameters = '')
 {
     switch ($name) {
         case 'label':
             return $this->getLabel();
             break;
         case 'image':
         case 'imageZoom':
             if ($name == 'image') {
                 $fieldIndex = 0;
             } else {
                 $fieldIndex = 2;
             }
             if ($this->_subfieldValues[$fieldIndex]->getValue() && $parameters) {
                 @(list($x, $y) = explode(',', str_replace(';', ',', $parameters)));
                 if (io::isPositiveInteger($x) && $x < $this->getValue($name . 'Width') || io::isPositiveInteger($y) && $y < $this->getValue($name . 'Height')) {
                     //get module codename
                     $crop = $x && $y ? 1 : 0;
                     //get module codename
                     $moduleCodename = CMS_poly_object_catalog::getModuleCodenameForField($this->_field->getID());
                     //set location
                     $location = $this->isPublic() ? RESOURCE_DATA_LOCATION_PUBLIC : RESOURCE_DATA_LOCATION_EDITED;
                     //resized image path
                     $pathInfo = pathinfo($this->_subfieldValues[$fieldIndex]->getValue());
                     $resizedImage = $pathInfo['filename'] . '-' . $x . '-' . $y . ($crop ? '-c' : '') . '.' . $pathInfo['extension'];
                     //resized image path
                     $resizedImagepathFS = PATH_MODULES_FILES_FS . '/' . $moduleCodename . '/' . $location . '/' . $resizedImage;
                     //if file already exists, no need to resize file send it
                     if (file_exists($resizedImagepathFS)) {
                         return $this->getValue('imagePath') . '/' . $resizedImage;
                     } else {
                         return CMS_websitesCatalog::getCurrentDomain() . PATH_REALROOT_WR . '/image-file' . (!STRIP_PHP_EXTENSION ? '.php' : '') . '?image=' . $this->_subfieldValues[$fieldIndex]->getValue() . '&amp;module=' . $moduleCodename . '&amp;x=' . $x . '&amp;y=' . $y . '&amp;crop=' . $crop . ($location != RESOURCE_DATA_LOCATION_PUBLIC ? '&amp;location=' . $location : '');
                     }
                 }
             }
             if ($this->_subfieldValues[$fieldIndex]->getValue()) {
                 return $this->getValue('imagePath') . '/' . $this->_subfieldValues[$fieldIndex]->getValue();
             }
             return '';
             break;
         case 'imageHTML':
             //get module codename
             $moduleCodename = CMS_poly_object_catalog::getModuleCodenameForField($this->_field->getID());
             //set location
             $location = $this->isPublic() ? RESOURCE_DATA_LOCATION_PUBLIC : RESOURCE_DATA_LOCATION_EDITED;
             //link content
             $img = '';
             if ($parameters) {
                 $img = $parameters;
             } elseif ($this->_subfieldValues[0]->getValue()) {
                 //bug 1380
                 $img = '<img src="' . $this->getValue('image') . '" alt="' . $this->_subfieldValues[1]->getValue() . '" />';
             }
             //add link to zoom if any
             if ($img && $this->_subfieldValues[2]->getValue()) {
                 $href = CMS_websitesCatalog::getCurrentDomain() . PATH_REALROOT_WR . "/" . self::OBJECT_IMAGE_POPUP_FILE . '?' . ($location != RESOURCE_DATA_LOCATION_PUBLIC ? 'location=' . RESOURCE_DATA_LOCATION_EDITED . '&amp;' : '') . 'file=' . $this->_subfieldValues[2]->getValue() . '&amp;label=' . urlencode($this->_subfieldValues[1]->getValue()) . '&amp;module=' . $moduleCodename;
                 // file informations
                 $popup = OPEN_ZOOMIMAGE_IN_POPUP ? ' onclick="javascript:CMS_openPopUpImage(\'' . addslashes($href) . '\');return false;"' : '';
                 $img = '<a target="_blank" rel="atm-enlarge" href="' . $href . '"' . $popup . ' title="' . $this->_subfieldValues[1]->getValue() . '">' . $img . '</a>';
             }
             return $img;
             break;
         case 'imageLabel':
             return $this->_subfieldValues[1]->getValue();
             break;
         case 'imageName':
             return $this->_subfieldValues[0]->getValue();
             break;
         case 'imageZoomName':
             return $this->_subfieldValues[2]->getValue();
             break;
         case 'imagePath':
             //get module codename
             $moduleCodename = CMS_poly_object_catalog::getModuleCodenameForField($this->_field->getID());
             //set location
             $location = $this->isPublic() ? RESOURCE_DATA_LOCATION_PUBLIC : RESOURCE_DATA_LOCATION_EDITED;
             $altDomain = $this->getAlternativeDomain();
             // If we are serving a public file and there is an alternative domain set up, change the url
             if ($this->isPublic() && $altDomain) {
                 return $altDomain . PATH_MODULES_FILES_WR . '/' . $moduleCodename . '/' . $location;
             } else {
                 return CMS_websitesCatalog::getCurrentDomain() . PATH_MODULES_FILES_WR . '/' . $moduleCodename . '/' . $location;
             }
             break;
         case 'imageMaxWidth':
             //get field parameters
             $params = $this->getParamsValues();
             return $params['maxWidth'] ? $params['maxWidth'] : '';
             break;
         case 'imageMaxHeight':
             //get field parameters
             $params = $this->getParamsValues();
             return $params['maxHeight'] ? $params['maxHeight'] : '';
             break;
         case 'imageWidth':
         case 'imageHeight':
             //get module codename
             $moduleCodename = CMS_poly_object_catalog::getModuleCodenameForField($this->_field->getID());
             //set location
             $location = $this->isPublic() ? RESOURCE_DATA_LOCATION_PUBLIC : RESOURCE_DATA_LOCATION_EDITED;
             $path = PATH_MODULES_FILES_FS . '/' . $moduleCodename . '/' . $location;
             $imgPath = $path . "/" . $this->_subfieldValues[0]->getValue();
             $sizeX = $sizeY = 0;
             if (file_exists($imgPath)) {
                 list($sizeX, $sizeY) = @getimagesize($imgPath);
             }
             if ($name == 'imageWidth') {
                 return (string) $sizeX;
             } else {
                 return (string) $sizeY;
             }
             break;
         case 'imageZoomWidth':
         case 'imageZoomHeight':
             //get module codename
             $moduleCodename = CMS_poly_object_catalog::getModuleCodenameForField($this->_field->getID());
             //set location
             $location = $this->isPublic() ? RESOURCE_DATA_LOCATION_PUBLIC : RESOURCE_DATA_LOCATION_EDITED;
             $path = PATH_MODULES_FILES_FS . '/' . $moduleCodename . '/' . $location;
             $imgPath = $path . "/" . $this->_subfieldValues[2]->getValue();
             $sizeX = $sizeY = 0;
             if (file_exists($imgPath)) {
                 list($sizeX, $sizeY) = @getimagesize($imgPath);
             }
             if ($name == 'imageZoomWidth') {
                 return (string) $sizeX;
             } else {
                 return (string) $sizeY;
             }
             break;
         case 'imageSize':
             //get module codename
             $moduleCodename = CMS_poly_object_catalog::getModuleCodenameForField($this->_field->getID());
             //set location
             $location = $this->isPublic() ? RESOURCE_DATA_LOCATION_PUBLIC : RESOURCE_DATA_LOCATION_EDITED;
             $path = PATH_MODULES_FILES_FS . '/' . $moduleCodename . '/' . $location;
             $filesize = @filesize($path . "/" . $this->_subfieldValues[0]->getValue());
             if ($filesize !== false && $filesize > 0) {
                 //convert in MB
                 $filesize = round($filesize / 1048576, 2) . ' M';
             } else {
                 $filesize = '0 M';
             }
             return $filesize;
             break;
         case 'imageZoomSize':
             //get module codename
             $moduleCodename = CMS_poly_object_catalog::getModuleCodenameForField($this->_field->getID());
             //set location
             $location = $this->isPublic() ? RESOURCE_DATA_LOCATION_PUBLIC : RESOURCE_DATA_LOCATION_EDITED;
             $path = PATH_MODULES_FILES_FS . '/' . $moduleCodename . '/' . $location;
             $filesize = @filesize($path . "/" . $this->_subfieldValues[2]->getValue());
             if ($filesize !== false && $filesize > 0) {
                 //convert in MB
                 $filesize = round($filesize / 1048576, 2) . ' M';
             } else {
                 $filesize = '0 M';
             }
             return $filesize;
             break;
         case 'alternativeDomain':
             return $this->getAlternativeDomain();
         default:
             return parent::getValue($name, $parameters);
             break;
     }
 }
コード例 #8
0
 /**
  * get an object value
  *
  * @param string $name : the name of the value to get
  * @param string $parameters (optional) : parameters for the value to get
  * @return multidimentionnal array : the object values structure
  * @access public
  */
 function getValue($name, $parameters = '')
 {
     switch ($name) {
         case "longitude":
             return $this->_subfieldValues[0]->getValue();
             break;
         case "latitude":
             return $this->_subfieldValues[1]->getValue();
             break;
         default:
             return parent::getValue($name, $parameters);
             break;
     }
 }
コード例 #9
0
ファイル: object_file.php プロジェクト: davidmottet/automne
 /**
  * get an object value
  *
  * @param string $name : the name of the value to get
  * @param string $parameters (optional) : parameters for the value to get
  * @return multidimentionnal array : the object values structure
  * @access public
  */
 function getValue($name, $parameters = '')
 {
     switch ($name) {
         case 'file':
         case 'thumb':
             if ($name == 'file') {
                 $fieldIndex = 4;
                 $fielfPrefix = 'image';
             } else {
                 $fieldIndex = 1;
                 $fielfPrefix = 'thumb';
             }
             // If we have a value and there are additionnal cropping parameters
             if ($this->_subfieldValues[$fieldIndex]->getValue() && $parameters && in_array($this->getValue($name . 'Extension'), array('jpg', 'jpeg', 'png', 'gif'))) {
                 @(list($x, $y) = explode(',', str_replace(';', ',', $parameters)));
                 if (io::isPositiveInteger($x) && $x < $this->getValue($fielfPrefix . 'Width') || io::isPositiveInteger($y) && $y < $this->getValue($fielfPrefix . 'Height')) {
                     $crop = $x && $y ? 1 : 0;
                     //get module codename
                     $moduleCodename = CMS_poly_object_catalog::getModuleCodenameForField($this->_field->getID());
                     //set location
                     $location = $this->isPublic() ? RESOURCE_DATA_LOCATION_PUBLIC : RESOURCE_DATA_LOCATION_EDITED;
                     //resized image path
                     $pathInfo = pathinfo($this->_subfieldValues[$fieldIndex]->getValue());
                     $resizedImage = $pathInfo['filename'] . '-' . $x . '-' . $y . ($crop ? '-c' : '') . '.' . $pathInfo['extension'];
                     //resized image path
                     $resizedImagepathFS = PATH_MODULES_FILES_FS . '/' . $moduleCodename . '/' . $location . '/' . $resizedImage;
                     //if file already exists, no need to resize file send it
                     if (file_exists($resizedImagepathFS)) {
                         return $this->getValue('filePath') . '/' . $resizedImage;
                     } else {
                         return CMS_websitesCatalog::getCurrentDomain() . PATH_REALROOT_WR . '/image-file' . (!STRIP_PHP_EXTENSION ? '.php' : '') . '?image=' . $this->_subfieldValues[$fieldIndex]->getValue() . '&amp;module=' . $moduleCodename . '&amp;x=' . $x . '&amp;y=' . $y . '&amp;crop=' . $crop . ($location != RESOURCE_DATA_LOCATION_PUBLIC ? '&amp;location=' . $location : '');
                     }
                 }
             }
             if ($this->_subfieldValues[$fieldIndex]->getValue()) {
                 // If we have a value but no cropping params
                 return $this->getValue('filePath') . '/' . $this->_subfieldValues[$fieldIndex]->getValue();
             }
             return '';
             break;
         case 'fileHTML':
             //get module codename
             $moduleCodename = CMS_poly_object_catalog::getModuleCodenameForField($this->_field->getID());
             //set location
             $location = $this->_public ? RESOURCE_DATA_LOCATION_PUBLIC : RESOURCE_DATA_LOCATION_EDITED;
             $filepath = $this->_subfieldValues[3]->getValue() == self::OBJECT_FILE_TYPE_INTERNAL ? PATH_MODULES_FILES_WR . '/' . $moduleCodename . '/' . $location . '/' . $this->_subfieldValues[4]->getValue() : $this->_subfieldValues[4]->getValue();
             //append website url if missing
             if (io::substr($filepath, 0, 1) == '/') {
                 $filepath = CMS_websitesCatalog::getCurrentDomain() . $filepath;
             }
             //link content
             $linkContent = $parameters ? $parameters : $this->_subfieldValues[0]->getValue();
             $file = '<a href="' . $filepath . '" target="_blank" title="' . $this->_subfieldValues[0]->getValue() . '">' . $linkContent . '</a>';
             return $file;
             break;
         case 'fileLabel':
             return $this->_subfieldValues[0]->getValue();
             break;
         case 'filename':
             return $this->_subfieldValues[4]->getValue();
             break;
         case 'thumbnail':
         case 'thumbname':
             return $this->_subfieldValues[1]->getValue();
             break;
         case 'filePath':
             //get module codename
             $moduleCodename = CMS_poly_object_catalog::getModuleCodenameForField($this->_field->getID());
             //set location
             $location = $this->isPublic() ? RESOURCE_DATA_LOCATION_PUBLIC : RESOURCE_DATA_LOCATION_EDITED;
             $altDomain = $this->getAlternativeDomain();
             // If we are serving a public file and there is an alternative domain set up, change the url
             if ($this->isPublic() && $altDomain) {
                 return $altDomain . PATH_MODULES_FILES_WR . '/' . $moduleCodename . '/' . $location;
             } else {
                 return CMS_websitesCatalog::getCurrentDomain() . PATH_MODULES_FILES_WR . '/' . $moduleCodename . '/' . $location;
             }
             break;
         case 'thumbMaxWidth':
             //get field parameters
             $params = $this->getParamsValues();
             return $params['thumbMaxWidth'] ? $params['thumbMaxWidth'] : '';
             break;
         case 'thumbMaxHeight':
             //get field parameters
             $params = $this->getParamsValues();
             return $params['thumbMaxHeight'] ? $params['thumbMaxHeight'] : '';
             break;
         case 'thumbWidth':
         case 'thumbHeight':
             //get module codename
             $moduleCodename = CMS_poly_object_catalog::getModuleCodenameForField($this->_field->getID());
             //set location
             $location = $this->isPublic() ? RESOURCE_DATA_LOCATION_PUBLIC : RESOURCE_DATA_LOCATION_EDITED;
             $path = PATH_MODULES_FILES_FS . '/' . $moduleCodename . '/' . $location;
             $imgPath = $path . "/" . $this->_subfieldValues[1]->getValue();
             $sizeX = $sizeY = 0;
             if (file_exists($imgPath)) {
                 list($sizeX, $sizeY) = @getimagesize($imgPath);
             }
             if ($name == 'thumbWidth') {
                 return (string) $sizeX;
             } else {
                 return (string) $sizeY;
             }
             break;
         case 'imageWidth':
         case 'imageHeight':
             if ($this->_subfieldValues[4]->getValue() && in_array($this->getValue('fileExtension'), array('jpg', 'jpeg', 'png', 'gif'))) {
                 //get module codename
                 $moduleCodename = CMS_poly_object_catalog::getModuleCodenameForField($this->_field->getID());
                 //set location
                 $location = $this->isPublic() ? RESOURCE_DATA_LOCATION_PUBLIC : RESOURCE_DATA_LOCATION_EDITED;
                 $path = PATH_MODULES_FILES_FS . '/' . $moduleCodename . '/' . $location;
                 $imgPath = $path . "/" . $this->_subfieldValues[4]->getValue();
                 $sizeX = $sizeY = 0;
                 if (file_exists($imgPath)) {
                     list($sizeX, $sizeY) = @getimagesize($imgPath);
                 }
                 if ($name == 'imageWidth') {
                     return (string) $sizeX;
                 } else {
                     return (string) $sizeY;
                 }
             }
             return 0;
             break;
         case 'fileSize':
             return $this->_subfieldValues[2]->getValue();
             break;
         case 'fileIcon':
             return $this->_getFileIcon();
             break;
         case 'fileExtension':
             return $this->_getFileExtension();
             break;
         case 'thumbExtension':
             return $this->_getThumbExtension();
             break;
         case 'alternativeDomain':
             return $this->getAlternativeDomain();
         default:
             return parent::getValue($name, $parameters);
             break;
     }
 }
コード例 #10
0
 /**
  * get an object value
  *
  * @param string $name : the name of the value to get
  * @param string $parameters (optional) : parameters for the value to get
  * @return multidimentionnal array : the object values structure
  * @access public
  */
 function getValue($name, $parameters = '')
 {
     switch ($name) {
         case 'unit':
             //get field parameters
             $params = $this->getParamsValues();
             return $params['unit'] ? $params['unit'] : '';
             break;
         default:
             return parent::getValue($name, $parameters);
             break;
     }
 }
コード例 #11
0
ファイル: object_date.php プロジェクト: davidmottet/automne
 /**
  * get an object value
  *
  * @param string $name : the name of the value to get
  * @param string $parameters (optional) : parameters for the value to get
  * @return multidimentionnal array : the object values structure
  * @access public
  */
 function getValue($name, $parameters = '')
 {
     // @TODOV4 : Manage language into database !
     $languages = array();
     $languages['fr'] = array('January' => 'Janvier', 'February' => 'F&eacute;vrier', 'March' => 'Mars', 'April' => 'Avril', 'May' => 'Mai', 'June' => 'Juin', 'July' => 'Juillet', 'August' => 'Ao&ucirc;t', 'September' => 'Septembre', 'October' => 'Octobre', 'November' => 'Novembre', 'December' => 'D&eacute;cembre', 'Monday' => 'Lundi', 'Tuesday' => 'Mardi', 'Wednesday' => 'Mercredi', 'Thursday' => 'Jeudi', 'Friday' => 'Vendredi', 'Saturday' => 'Samedi', 'Sunday' => 'Dimanche', 'Jan' => 'Jan', 'Feb' => 'F&eacute;v', 'Mar' => 'Mar', 'Apr' => 'Avr', 'May' => 'Mai', 'Jun' => 'Jui', 'Jul' => 'Jui', 'Aug' => 'Ao&ucirc;', 'Sep' => 'Sep', 'Oct' => 'Oct', 'Nov' => 'Nov', 'Dec' => 'D&eacute;c', 'Mon' => 'Lun', 'Tue' => 'Mar', 'Wed' => 'Mer', 'Thu' => 'Jeu', 'Fri' => 'Ven', 'Sat' => 'Sam', 'Sun' => 'Dim');
     switch ($name) {
         case 'formatedValue':
             global $cms_language;
             $date = new CMS_date();
             $date->setFromDBValue($this->_subfieldValues[0]->getValue());
             if (io::strtolower($parameters) == 'rss') {
                 $date = date('r', $date->getTimeStamp());
             } else {
                 $date = date($parameters, $date->getTimeStamp());
                 if (is_object($cms_language) && isset($languages[$cms_language->getCode()])) {
                     $date = str_replace(array_keys($languages[$cms_language->getCode()]), $languages[$cms_language->getCode()], $date);
                 }
             }
             return io::htmlspecialchars($date);
             break;
         case 'notNull':
             $date = new CMS_date();
             $date->setFromDBValue($this->_subfieldValues[0]->getValue());
             return !$date->isNull();
             break;
         case 'timestamp':
             $date = new CMS_date();
             $date->setFromDBValue($this->_subfieldValues[0]->getValue());
             return $date->getTimestamp();
             break;
         default:
             return parent::getValue($name, $parameters);
             break;
     }
 }