/** * 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; } }
/** * 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; } }
/** * 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; } }
/** * 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; } }
/** * 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; } }
/** * 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; } }
/** * 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() . '&module=' . $moduleCodename . '&x=' . $x . '&y=' . $y . '&crop=' . $crop . ($location != RESOURCE_DATA_LOCATION_PUBLIC ? '&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 . '&' : '') . 'file=' . $this->_subfieldValues[2]->getValue() . '&label=' . urlencode($this->_subfieldValues[1]->getValue()) . '&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; } }
/** * 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; } }
/** * 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() . '&module=' . $moduleCodename . '&x=' . $x . '&y=' . $y . '&crop=' . $crop . ($location != RESOURCE_DATA_LOCATION_PUBLIC ? '&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; } }
/** * 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; } }
/** * 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évrier', 'March' => 'Mars', 'April' => 'Avril', 'May' => 'Mai', 'June' => 'Juin', 'July' => 'Juillet', 'August' => 'Août', 'September' => 'Septembre', 'October' => 'Octobre', 'November' => 'Novembre', 'December' => 'Décembre', 'Monday' => 'Lundi', 'Tuesday' => 'Mardi', 'Wednesday' => 'Mercredi', 'Thursday' => 'Jeudi', 'Friday' => 'Vendredi', 'Saturday' => 'Samedi', 'Sunday' => 'Dimanche', 'Jan' => 'Jan', 'Feb' => 'Fév', 'Mar' => 'Mar', 'Apr' => 'Avr', 'May' => 'Mai', 'Jun' => 'Jui', 'Jul' => 'Jui', 'Aug' => 'Aoû', 'Sep' => 'Sep', 'Oct' => 'Oct', 'Nov' => 'Nov', 'Dec' => 'Dé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; } }