/** * Get all the available languages for backoffice use (no module specified) or for a module backoffice. * Static function. * * @param string $module The codename of a module we want the languages of. * @param string $orderBy The ordering key to use (default : label_lng) * @return array(CMS_language) The available languages sorted by label * @access public */ static function getAllLanguages($module = false, $orderBy = "label_lng") { static $languagesCatalog; if (isset($languagesCatalog[$module ? $module : 'all'])) { return $languagesCatalog[$module ? $module : 'all']; } $sql = "\n\t\t\tselect\n\t\t\t\tcode_lng\n\t\t\tfrom\n\t\t\t\tlanguages\n\t\t"; if (!$module && $module != 'all') { $sql .= 'where availableForBackoffice_lng=1'; } if ($orderBy) { $sql .= ' order by ' . $orderBy . ' '; } $q = new CMS_query($sql); $languages = array(); while ($code = $q->getValue("code_lng")) { $lng = new CMS_language($code); if (!$lng->hasError() && (!$module || !in_array($module, $lng->getModulesDenied()))) { $languages[$code] = $lng; } } $languagesCatalog[$module ? $module : 'all'] = $languages; return $languages; }
/** * Returns the html needed by the editor * * @return string * @access public */ function getHTML() { $value = $this->_initialContent; // Editor base path $sBasePath = PATH_MAIN_WR . '/fckeditor/'; $oFCKeditor = new FCKeditor($this->_formField); $oFCKeditor->BasePath = $sBasePath; $oFCKeditor->Config['AutoDetectLanguage'] = false; $oFCKeditor->Config['DefaultLanguage'] = $this->_language->getCode(); $oFCKeditor->Value = $value; if (is_array($this->_editorAttributes)) { while (list($k, $v) = @each($this->_editorAttributes)) { if ($v != '') { $oFCKeditor->{$k} = $v; } } } if (is_array($this->_editorConfigAttributes)) { while (list($k, $v) = @each($this->_editorConfigAttributes)) { if ($v != '') { $oFCKeditor->Config[$k] = $v; } } } return $oFCKeditor->Create(); }
/** * Access to a filename path * * @access public * @param mixed $language : CMS_language or language code * @param boolean $withPath If false, only returns the filename * @param string $dataLocation Where does the data lies ? See CMS_resource constants * @param integer $relativeTo Can be web root or filesystem relative, see base constants * @param boolean $withFilename Should the function return the filename too or only the path ? * @return string */ function getFilePath($language = false, $withPath = true, $relativeTo = PATH_RELATIVETO_WEBROOT, $withFilename = true) { if (!$this->_files) { $this->_retrieveLabels(); } if (!$language && is_object($this->_language)) { $language = $this->_language->getCode(); } elseif (is_a($language, 'CMS_language')) { $language = $language->getCode(); } if (!$language) { return ''; } if ($withPath) { switch ($relativeTo) { case PATH_RELATIVETO_WEBROOT: $path = PATH_MODULES_FILES_WR . "/" . $this->_moduleCodename . "/" . RESOURCE_DATA_LOCATION_PUBLIC; break; case PATH_RELATIVETO_FILESYSTEM: $path = PATH_MODULES_FILES_FS . "/" . $this->_moduleCodename . "/" . RESOURCE_DATA_LOCATION_PUBLIC; break; } if ($withFilename) { return $path . "/" . $this->_files[$language]; } else { return $path; } return false; } elseif (isset($this->_files[$language])) { return $this->_files[$language]; } else { return ''; } }
/** * Writes the news into persistence (MySQL for now), along with base data. * * @return boolean true on success, false on failure * @access public */ function writeToPersistence() { //save data $closed = $this->_public === true ? 0 : 1; $sql_fields = "\n\t\t\towner_frm='" . $this->_ownerID . "',\n\t\t\tlanguage_frm='" . SensitiveIO::sanitizeSQLString($this->_language->getCode()) . "',\n\t\t\tname_frm='" . SensitiveIO::sanitizeSQLString($this->_name) . "',\n\t\t\tsource_frm='" . SensitiveIO::sanitizeSQLString($this->_source) . "',\n\t\t\tresponses_frm='" . SensitiveIO::sanitizeSQLString($this->_responses) . "',\n\t\t\tclosed_frm='" . $closed . "'"; if ($this->_formID) { $sql = "\n\t\t\t\tupdate\n\t\t\t\t\tmod_cms_forms_formulars\n\t\t\t\tset\n\t\t\t\t\t" . $sql_fields . "\n\t\t\t\twhere\n\t\t\t\t\tid_frm='" . $this->_formID . "'\n\t\t\t"; } else { $sql = "\n\t\t\t\tinsert into\n\t\t\t\t\tmod_cms_forms_formulars\n\t\t\t\tset\n\t\t\t\t\t" . $sql_fields; } $q = new CMS_query($sql); if ($q->hasError()) { $this->raiseError("Failed to write"); return false; } elseif (!$this->_formID) { $this->_formID = $q->getLastInsertedID(); } //then create the 4 defaut actions for this form if hasn't any if (!$this->hasActions()) { //Form answer excedeed $alreadyFoldAction = new CMS_forms_action(); $alreadyFoldAction->setInteger("form", $this->_formID); $alreadyFoldAction->setInteger("type", CMS_forms_action::ACTION_ALREADY_FOLD); $alreadyFoldAction->setString("value", 'text'); $alreadyFoldAction->writeToPersistence(); //Save form results in DB $dbAction = new CMS_forms_action(); $dbAction->setInteger("form", $this->_formID); $dbAction->setInteger("type", CMS_forms_action::ACTION_DB); $dbAction->writeToPersistence(); //form OK $okAction = new CMS_forms_action(); $okAction->setInteger("form", $this->_formID); $okAction->setInteger("type", CMS_forms_action::ACTION_FORMOK); $okAction->setString("value", 'text'); $okAction->writeToPersistence(); //form NOK $nokAction = new CMS_forms_action(); $nokAction->setInteger("form", $this->_formID); $nokAction->setInteger("type", CMS_forms_action::ACTION_FORMNOK); $nokAction->setString("value", 'text'); $nokAction->writeToPersistence(); } return true; }
/** * get admin object description * * @param mixed $language the language code (string) or the CMS_language (object) to use for description * @return string, the description * @access public */ function getDescription($language) { if (is_a($language, "CMS_language")) { return $language->getMessage($this->_objectDescription, false, $this->_messagesModule); } else { $tmplanguage = new CMS_language($language); return $tmplanguage->getMessage($this->_objectDescription, false, $this->_messagesModule); } }
/** * get object description * * @param mixed $language the language code (string) or the CMS_language (object) to use for description * @return string, the description * @access public */ function getDescription($language) { //get object definition $objectDef = $this->getObjectDefinition(); $description = new CMS_object_i18nm($objectDef->getValue("descriptionID")); if (is_a($language, "CMS_language")) { $subdesc = $description->getValue($language->getCode()); return $language->getMessage($this->_objectDescription, array($subdesc), MOD_POLYMOD_CODENAME); } else { $subdesc = $description->getValue($language); $tmplanguage = new CMS_language($language); return $tmplanguage->getMessage($this->_objectDescription, array($subdesc), MOD_POLYMOD_CODENAME); } }
/** * Import module from given array datas * * @param array $data The module datas to import * @param array $params The import parameters. * array( * create => false|true : create missing objects (default : true) * update => false|true : update existing objects (default : true) * files => false|true : use files from PATH_TMP_FS (default : true) * ) * @param CMS_language $cms_language The CMS_langage to use * @param array $idsRelation : Reference : The relations between import datas ids and real imported ids * @param string $infos : Reference : The import infos returned * @return boolean : true on success, false on failure * @access public */ function fromArray($data, $params, $cms_language, &$idsRelation, &$infos) { if (!$this->getID()) { if (!isset($params['create']) || $params['create'] == true) { //if module does not exists yet, add codename and default admin frontend $this->setCodename($data['codename']); $this->setAdminFrontend('index.php'); } else { $infos .= 'Module does not exists and parameter does not allow to create it ...' . "\n"; return false; } } if (!$this->getID() && (!isset($params['create']) || $params['create'] == true) || $this->getID() && (!isset($params['update']) || $params['update'] == true)) { if (isset($data['labels'])) { //create labels $this->setLabel($cms_language->createMessage($this->_codename, $data['labels'])); } if (!$this->writeToPersistence()) { $infos .= 'Error writing module ...' . "\n"; return false; } elseif (isset($data['parameters']) && is_array($data['parameters']) && $data['parameters']) { //write module parameters $this->_hasParameters = 1; $filename = PATH_MODULES_FS . "/" . $this->_codename . "_rc.xml"; if (!file_exists($filename)) { $file = new CMS_file($filename); $file->writeToPersistence(true); } $this->setAndWriteParameters($data['parameters']); $this->writeToPersistence(); } } //append codename to parameters $params['module'] = $this->_codename; //add categories if (isset($data['categories']) && $data['categories']) { if (!CMS_moduleCategories_catalog::fromArray($data['categories'], $params, $cms_language, $idsRelation, $infos)) { $infos .= 'Error during categories import ...' . "\n"; return false; } } if (!isset($params['files']) || $params['files'] == true) { //add JS if (isset($data['js']) && $data['js']) { foreach ($data['js'] as $jsFile) { if ($jsFile && file_exists(PATH_TMP_FS . $jsFile)) { if (file_exists(PATH_REALROOT_FS . $jsFile) && (!isset($params['updateJs']) || $params['updateJs'] == true) || (!isset($params['create']) || $params['create'] == true)) { if (CMS_file::moveTo(PATH_TMP_FS . $jsFile, PATH_REALROOT_FS . $jsFile)) { CMS_file::chmodFile(FILES_CHMOD, PATH_REALROOT_FS . $jsFile); } else { $infos .= 'Error during copy of file ' . $jsFile . ' ...' . "\n"; } } } } } } if (!isset($params['files']) || $params['files'] == true) { //add CSS if (isset($data['css']) && $data['css']) { foreach ($data['css'] as $cssFile) { if ($cssFile && file_exists(PATH_TMP_FS . $cssFile)) { if (file_exists(PATH_REALROOT_FS . $cssFile) && (!isset($params['updateCss']) || $params['updateCss'] == true) || (!isset($params['create']) || $params['create'] == true)) { if (CMS_file::moveTo(PATH_TMP_FS . $cssFile, PATH_REALROOT_FS . $cssFile)) { CMS_file::chmodFile(FILES_CHMOD, PATH_REALROOT_FS . $cssFile); } else { $infos .= 'Error during copy of file ' . $cssFile . ' ...' . "\n"; } } } } } } if (!isset($params['files']) || $params['files'] == true) { //add IMG if (isset($data['img']) && $data['img']) { foreach ($data['img'] as $imgFile) { if ($imgFile && file_exists(PATH_TMP_FS . $imgFile)) { if (file_exists(PATH_REALROOT_FS . $imgFile) && (!isset($params['updateImg']) || $params['updateImg'] == true) || (!isset($params['create']) || $params['create'] == true)) { if (CMS_file::moveTo(PATH_TMP_FS . $imgFile, PATH_REALROOT_FS . $imgFile)) { CMS_file::chmodFile(FILES_CHMOD, PATH_REALROOT_FS . $imgFile); } else { $infos .= 'Error during copy of file ' . $imgFile . ' ...' . "\n"; } } } } } } if (!isset($params['files']) || $params['files'] == true) { //add rows if (isset($data['rows']) && $data['rows']) { if (!CMS_rowsCatalog::fromArray($data['rows'], $params, $cms_language, $idsRelation, $infos)) { $infos .= 'Error during rows import ...' . "\n"; return false; } } } return true; }
* @package Automne * @subpackage admin * @author Sébastien Pauchet <*****@*****.**> */ //This page must be accessible by all users to avoid infinite loop if a website home page is redirected to an external website require_once dirname(__FILE__) . '/../../cms_rc_frontend.php'; define("MESSAGE_PAGE_REDIRECT", 320); define("MESSAGE_PAGE_PAGE", 1303); define("MESSAGE_PAGE_PAGE_REDIRECT_ERROR", 703); //load interface instance $view = CMS_view::getInstance(); $view->addCSSFile('main'); $view->addCSSFile('info'); //force language if none exists if (!isset($cms_language) || !is_object($cms_language)) { $cms_language = new CMS_language(ADMINISTRATION_DEFAULT_LANGUAGE); } //get page if (isset($_GET['pageId']) && sensitiveIO::isPositiveInteger($_GET['pageId'])) { $page = CMS_tree::getPageById($_GET['pageId']); } if (isset($page) && !$page->hasError()) { $redirect = ''; $redirectlink = $page->getRedirectLink(true); if ($redirectlink->hasValidHREF()) { if ($redirectlink->getLinkType() == RESOURCE_LINK_TYPE_INTERNAL) { $redirectPage = new CMS_page($redirectlink->getInternalLink()); if (!$redirectPage->hasError()) { $label = $cms_language->getMessage(MESSAGE_PAGE_PAGE) . ' "' . $redirectPage->getTitle() . '" (' . $redirectPage->getID() . ')'; } $redirect = '<a href="' . $redirectPage->getURL(false, false, PATH_RELATIVETO_WEBROOT, true) . '">' . io::htmlspecialchars($label) . '</a>';
CMS_grandFather::raiseError('Missing language code ... '); $view->setContent($content); $view->show(); } $cms_message = ''; switch ($action) { case 'save': if ($code) { $language = CMS_languagesCatalog::getByCode($code); if (!$language || $language->hasError()) { CMS_grandFather::raiseError('Unknown language code : ' . $code); $view->setContent($content); $view->show(); } } else { $language = new CMS_language(); $language->setCode($selectedCode); $languagesCodes = CMS_languagesCatalog::getAllLanguagesCodes(); $language->setLabel($languagesCodes[$selectedCode]); } $language->setDateFormat($dateFormat); if ($modulesDenied) { $modulesDenied = array_map('trim', explode(',', $modulesDenied)); $language->setModulesDenied($modulesDenied); } else { $language->setModulesDenied(array()); } $language->setAvailableForBackoffice($admin); if ($language->writeToPersistence()) { $content = array('success' => true); $cms_message = $cms_language->getMessage(MESSAGE_ACTION_OPERATION_DONE);
/** * Set language * * @param CMS_language $language * @return boolean * @access public */ function setLanguage($language) { // Check if CMS_contactData object if (is_a($language, "CMS_language") && !$language->hasError()) { $this->_language = $language; return true; } else { $language = new CMS_language($language); if ($language && !$language->hasError()) { $this->_language = $language; return true; } } $this->raiseError("Object required, or available language code : " . $language); return false; }
/** * Returns the label for current status. * * @param CMS_language $language : Current language to get label * @return string label * @access public */ function getStatusLabel($language) { //Hack : check for non-sense status (usually it is a page which creation is not properly done) if ($this->_publication == RESOURCE_PUBLICATION_NEVERVALIDATED && !$this->_editions) { $this->addEdition(RESOURCE_EDITION_CONTENT, $user); $this->writeToPersistence(); } $img_status = $this->_publication == RESOURCE_PUBLICATION_NEVERVALIDATED ? "rond" : "carre"; if ($this->_publication == RESOURCE_PUBLICATION_PUBLIC) { $img_status .= "_pub"; } if ($this->_proposedFor == RESOURCE_LOCATION_DELETED) { $img_status .= "_sup"; } if ($this->_proposedFor == RESOURCE_LOCATION_ARCHIVED) { $img_status .= "_arc"; } if (($this->_editions & RESOURCE_EDITION_BASEDATA || $this->_editions & RESOURCE_EDITION_CONTENT) && !($this->_validationsRefused & RESOURCE_EDITION_BASEDATA) && !($this->_validationsRefused & RESOURCE_EDITION_CONTENT)) { $img_status .= "-o"; } elseif ($this->_validationsRefused & RESOURCE_EDITION_BASEDATA || $this->_validationsRefused & RESOURCE_EDITION_CONTENT || $this->_validationsRefused & RESOURCE_EDITION_LOCATION) { $img_status .= "-r"; } else { $img_status .= "-v"; } if ($this->_editions & RESOURCE_EDITION_SIBLINGSORDER) { if ($this->_validationsRefused & RESOURCE_EDITION_SIBLINGSORDER) { $img_siblings = "orderefuse"; } else { $img_siblings = "ordervalider"; } } if ($this->_editions & RESOURCE_EDITION_MOVE) { if ($this->_validationsRefused & RESOURCE_EDITION_MOVE) { $img_siblings = "mouvrefuse"; } else { $img_siblings = "mouvalider"; } } if ($this->getDraft() && $img_status == 'rond-o') { $img_status = 'draft'; } $label = $this->_getStatusLabel($img_status); $label .= isset($img_siblings) ? ', ' . $this->_getStatusLabel($img_siblings) : ''; if ($lockUserId = $this->getLock()) { $lockUser = CMS_profile_usersCatalog::getById($lockUserId); $lockDate = $this->getLockDate(); if (is_object($lockUser) && is_object($lockDate)) { $label .= ' - ' . $language->getMessage(self::MESSAGE_STATUS_LOCKEDBY) . ' ' . $lockUser->getFullName() . ' (' . $lockDate->getLocalizedDate($language->getDateFormat() . ' - H:i:s') . ')'; } else { $label .= ' - ' . $language->getMessage(self::MESSAGE_STATUS_LOCKED); } } if ($this->getDraft()) { $label .= $img_status != 'draft' ? ' - ' . $language->getMessage(self::MESSAGE_STATUS_DRAFT) : $language->getMessage(self::MESSAGE_STATUS_DRAFT); } /*if ($this->getDraft() && $img_status == 'rond-o') { $label .= $language->getMessage(self::MESSAGE_STATUS_DRAFT); }*/ return $label; }
/** * Create messages. * @param string $sCodename Module's codename. * @param array $aMessages Localised message. $sLanguageCode => $sMessage * @return Id of the inserted message. */ public function createMessage($sCodename, $aMessages) { $iId = CMS_language::getNextMessageId($sCodename); foreach ($aMessages as $sLanguageCode => $sMessage) { $oQuery = new CMS_query("\n\t\t\t\tINSERT INTO\n\t\t\t\t\tmessages\n\t\t\t\tSET\n\t\t\t\t\tid_mes = " . SensitiveIO::sanitizeSQLString($iId) . ",\n\t\t\t\t\tmodule_mes = '" . SensitiveIO::sanitizeSQLString($sCodename) . "',\n\t\t\t\t\tlanguage_mes = '" . SensitiveIO::sanitizeSQLString($sLanguageCode) . "',\n\t\t\t\t\tmessage_mes = '" . SensitiveIO::sanitizeSQLString($sMessage) . "'\n\t\t\t"); } return $iId; }
$view->show(); } //check user rights if (!$cms_user->hasAdminClearance(CLEARANCE_ADMINISTRATION_EDITVALIDATEALL)) { CMS_grandFather::raiseError('User has no rights on language management'); $view->show(); } //load item messages if ($code) { $language = CMS_languagesCatalog::getByCode($code); if (!$language || $language->hasError()) { CMS_grandFather::raiseError('Unknown language code : ' . $code); $view->show(); } } else { $language = new CMS_language(); } $winLabel = sensitiveIO::sanitizeJSString($cms_language->getMessage(MESSAGE_PAGE_LANGUAGE_MANAGEMENT) . " :: " . $cms_language->getMessage(MESSAGE_PAGE_CREATE_UPDATE)); $languagesCodes = CMS_languagesCatalog::getAllLanguagesCodes(); $comboLanguages = array(array('format' => '', 'label' => '-')); foreach ($languagesCodes as $languageCode => $label) { $comboLanguages[] = array('code' => $languageCode, 'label' => $languageCode . ' : ' . $label); } $comboLanguages = sensitiveIO::jsonEncode($comboLanguages); $datesFormat = array(array('format' => '', 'label' => '-'), array('format' => 'd/m/Y', 'label' => date('d/m/Y') . ' (d/m/Y)'), array('format' => 'm/d/Y', 'label' => date('m/d/Y') . ' (m/d/Y)'), array('format' => 'Y/m/d', 'label' => date('Y/m/d') . ' (Y/m/d)')); $datesFormat = sensitiveIO::jsonEncode($datesFormat); $modules = CMS_modulesCatalog::getAll(); $modulesDenied = $language->getModulesDenied(); $availableModules = $excludedModules = array(); foreach ($modules as $codename => $module) { if (in_array($codename, $modulesDenied)) {
/** * This function is called to catch and launch all FE forms actions * * @param array $formIDs : the forms ids to check for actions * @param integer $pageID : the current page id * @param boolean $public : the data status * @param string $languageCode : the language code used * @param reference array $polymodFormsError : the forms error status to return * @param reference array $polymodFormsItem : reference to the forms item * @return boolean : true on success, false on failure * @access public * @static */ static function formActions($formIDs, $pageID, $languageCode, $public, &$polymodFormsError, &$polymodFormsItems) { global $cms_language, $cms_user; if (!is_array($formIDs)) { return false; } foreach ($formIDs as $formID) { if (io::request('formID') && io::request('formID') == $formID) { if (!isset($cms_language) || $cms_language->getCode() != $languageCode) { $cms_language = new CMS_language($languageCode); } //instanciate item $item = ''; if (io::request('object', 'io::isPositiveInteger', '')) { //check user rights on module $module = CMS_poly_object_catalog::getModuleCodenameForObjectType(io::request('object')); //Check user rights //here assume than user should only need the view right on module, because admin right allow Automne administration access if (!is_object($cms_user) || !$cms_user->hasModuleClearance($module, CLEARANCE_MODULE_VIEW)) { CMS_grandFather::raiseError('No user found or user has no administration rights on module ' . $module); return false; } //instanciate object $object = CMS_poly_object_catalog::getObjectDefinition(io::request('object')); if ($object && io::request('item', 'io::isPositiveInteger', '')) { $search = new CMS_object_search($object, false); $search->addWhereCondition('item', io::request('item')); $items = $search->search(); if (isset($items[io::request('item')])) { $item = $items[io::request('item')]; } else { $item = new CMS_poly_object($object->getID()); } } else { $item = new CMS_poly_object($object->getID()); } } if (is_object($item) && !$item->hasError()) { //get item fieldsObjects $fieldsObjects =& $item->getFieldsObjects(); //checks and assignments $item->setDebug(false); //first, check mandatory values foreach ($fieldsObjects as $fieldID => $aFieldObject) { //if field is part of formular if (isset($_REQUEST['polymodFields'][$fieldID])) { if (!$item->checkMandatory($fieldID, $_REQUEST, '')) { $polymodFormsError[$formID]['required'][$fieldID] = $fieldID; } } } //second, set values for all fields foreach ($fieldsObjects as $fieldID => $aFieldObject) { //if field is part of formular if (isset($_REQUEST['polymodFields'][$fieldID])) { //if form use a callback, call it //do not use call_user_function here $funcName = 'form_' . $formID . '_' . $fieldID; if (!$item->setValues($fieldID, $_REQUEST, '')) { $polymodFormsError[$formID]['malformed'][] = $fieldID; } elseif (!isset($polymodFormsError[$formID]['required'][$fieldID]) && function_exists('form_' . $formID . '_' . $fieldID) && !$funcName($formID, $fieldID, $item)) { $polymodFormsError[$formID]['malformed'][] = $fieldID; } } } //set publication dates if needed if (isset($_REQUEST['polymodFields']) && $_REQUEST['polymodFields']) { if ($object->isPrimaryResource()) { // Dates management $dt_beg = new CMS_date(); $dt_beg->setDebug(false); $dt_beg->setFormat($cms_language->getDateFormat()); $dt_end = new CMS_date(); $dt_end->setDebug(false); $dt_end->setFormat($cms_language->getDateFormat()); if (!($dt_set_1 = $dt_beg->setLocalizedDate(@$_REQUEST["pub_start"], true))) { $polymodFormsError[$formID]['malformed'][] = 'pub_start'; } if (!($dt_set_2 = $dt_end->setLocalizedDate(@$_REQUEST["pub_end"], true))) { $polymodFormsError[$formID]['malformed'][] = 'pub_end'; } //if $dt_beg && $dt_end, $dt_beg must be lower than $dt_end if (!$dt_beg->isNull() && !$dt_end->isNull()) { if (CMS_date::compare($dt_beg, $dt_end, '>')) { $polymodFormsError[$formID]['malformed'][] = 'pub_start'; $polymodFormsError[$formID]['malformed'][] = 'pub_end'; $dt_set_1 = $dt_set_2 = false; } } if ($dt_set_1 && $dt_set_2) { $item->setPublicationDates($dt_beg, $dt_end); } } } //Check form token if (!isset($_POST["atm-token"]) || !CMS_session::checkToken(MOD_POLYMOD_CODENAME . '-' . $formID, $_POST["atm-token"])) { $polymodFormsError[$formID]['error'][] = 'form-token'; return false; } else { //Token is used so expire it CMS_session::expireToken(MOD_POLYMOD_CODENAME . '-' . $formID); } if (!$polymodFormsError[$formID]) { //save the data if (!$item->writeToPersistence()) { $polymodFormsError[$formID]['error'][] = 'write'; $polymodFormsError[$formID]['filled'] = 0; } else { $polymodFormsError[$formID]['filled'] = 1; //if form use a callback, call it //do not use call_user_function here $funcName = 'form_' . $formID; if (function_exists('form_' . $formID) && !$funcName($formID, $item)) { $polymodFormsError[$formID]['filled'] = 0; $polymodFormsError[$formID]['error'][] = 'callback'; } } //if item is a primary resource, unlock it if ($object->isPrimaryResource()) { $item->unlock(); } } else { $polymodFormsError[$formID]['filled'] = 0; } //save item for later use $polymodFormsItems[$formID] = $item; } else { $polymodFormsError[$formID]['filled'] = 0; $polymodFormsError[$formID]['error'][] = 'right'; CMS_grandFather::raiseError('No item found or user has no administration rights on item... '); return false; } } } return true; }
/** * get object label * * @return string : the label * @access public */ function getLabel() { global $cms_language; if (!is_object($this->_subfieldValues[0])) { $this->raiseError("No subField to get for label : " . print_r($this->_subfieldValues, true)); return false; } $date = new CMS_date(); $date->setFromDBValue($this->_subfieldValues[0]->getValue()); $params = $this->getParamsValues(); if (!is_object($cms_language)) { $cms_language = new CMS_language(APPLICATION_DEFAULT_LANGUAGE); } if (!$date->isNull()) { if (!$params['withHMS']) { return $date->getLocalizedDate($cms_language->getDateFormat()); } else { return $date->getLocalizedDate($cms_language->getDateFormat()) . ' ' . $date->getHour() . ':' . $date->getMinute() . ':' . $date->getSecond(); } } return ''; }