$cms_message .= "\n" . $cms_language->getMessage(MESSAGE_FORM_ERROR_MALFORMED_FIELD, array($cms_language->getMessage(MESSAGE_PAGE_FIELD_PUBDATE_BEG))); $cms_message .= "\n" . $cms_language->getMessage(MESSAGE_FORM_ERROR_MALFORMED_FIELD, array($cms_language->getMessage(MESSAGE_PAGE_FIELD_PUBDATE_END))); $dt_set_1 = $dt_set_2 = false; } } if ($dt_set_1 && $dt_set_2) { $item->setPublicationDates($dt_beg, $dt_end); } } if (!$cms_message) { //save the data if (!$item->writeToPersistence(true, $action == 'save')) { $cms_message .= $cms_language->getMessage(MESSAGE_ERROR_WRITETOPERSISTENCE); } if (!$cms_message) { $content = array('success' => true, 'id' => $item->getID()); $cms_message = $cms_language->getMessage(MESSAGE_ACTION_OPERATION_DONE); if ($action == 'save') { break; } //validate saving if ($object->isPrimaryResource()) { $codename = CMS_poly_object_catalog::getModuleCodenameForObject($item->getID()); if ($cms_user->hasValidationClearance($codename)) { //then validate this item content $validation = new CMS_resourceValidation($codename, RESOURCE_EDITION_CONTENT, $item); $mod = CMS_modulesCatalog::getByCodename($codename); $mod->processValidation($validation, VALIDATION_OPTION_ACCEPT); //Log action $log = new CMS_log(); $log->logResourceAction(CMS_log::LOG_ACTION_RESOURCE_DIRECT_VALIDATION, $cms_user, $codename, $item->getStatus(), 'Item \'' . $item->getLabel() . '\' (' . $item->getObjectDefinition()->getLabel($cms_language) . ')', $item);
if (is_array($fieldAdmin)) { $itemFields .= sensitiveIO::jsonEncode($fieldAdmin) . ','; } } //do some search and replace to allow use of js functions in returned code $itemFields = str_replace('"scope":"this"', '"scope":this', $itemFields); function replaceCallBack($parts) { return 'function(' . str_replace(array('\\"', '\\/'), array('"', '/'), $parts[1]) . '}'; } $itemFields = preg_replace_callback('#"function\\((.*)}"#U', 'replaceCallBack', $itemFields); //Append pub dates if object is a primary resource $saveAndValidate = ''; $saveIconCls = $saveTooltip = ''; if ($object->isPrimaryResource()) { if (!$item->getID()) { $dt = new CMS_date(); $dt->setDebug(false); $dt->setNow(); $pubStart = $dt->getLocalizedDate($cms_language->getDateFormat()); } else { $pubStart = $item->getPublicationDateStart(false)->getLocalizedDate($cms_language->getDateFormat()); } $pubEnd = $item->getPublicationDateEnd(false)->getLocalizedDate($cms_language->getDateFormat()); $dateMask = $cms_language->getDateFormatMask(); $itemFields .= "{\n\t\ttitle:\t\t\t'{$cms_language->getJSMessage(MESSAGE_PAGE_SUBTITLE_WEBSITE_PUBS, false, MOD_POLYMOD_CODENAME)}',\n\t\txtype:\t\t\t'fieldset',\n\t\tautoHeight:\t\ttrue,\n\t\tdefaultType:\t'datefield',\n\t\tlabelWidth:\t\t140,\n\t\tdefaults:\t\t{\n\t\t\twidth:\t\t\t100,\n\t\t\tanchor:\t\t\t'',\n\t\t\tformat:\t\t\t'{$cms_language->getDateFormat()}'\n\t\t},\n\t\titems:\t\t\t[{\n\t\t\tfieldLabel:\t'<span ext:qtip=\"{$cms_language->getJSMessage(MESSAGE_PAGE_FIELD_DATE_COMMENT, array($dateMask))}\" class=\"atm-help\"><span class=\"atm-red\">*</span> {$cms_language->getJSMessage(MESSAGE_PAGE_FIELD_PUBDATE_BEG)}</span>',\n\t\t\tname:\t\t'pubStart',\n\t\t\tallowBlank:\tfalse,\n\t\t\tvalue:\t\t'{$pubStart}'\n\t\t},{\n\t\t\tfieldLabel:\t'<span ext:qtip=\"{$cms_language->getJSMessage(MESSAGE_PAGE_FIELD_DATE_COMMENT, array($dateMask))}\" class=\"atm-help\">{$cms_language->getJSMessage(MESSAGE_PAGE_FIELD_PUBDATE_END)}</span>',\n\t\t\tname:\t\t'pubEnd',\n\t\t\tallowBlank:\ttrue,\n\t\t\tvalue:\t\t'{$pubEnd}'\n\t\t}]\n\t},"; if ($cms_user->hasValidationClearance($codename)) { $saveAndValidate = ",{\n\t\t\tid:\t\t\t\t'{$winId}-save-validate',\n\t\t\txtype:\t\t\t'button',\n\t\t\ttext:\t\t\t'{$cms_language->getJSMessage(MESSAGE_PAGE_PUBLISH)}',\n\t\t\ttooltip:\t\t'{$cms_language->getJSMessage(MESSAGE_PAGE_SAVE_AND_VALID_DESC, false, MOD_POLYMOD_CODENAME)}',\n\t\t\ticonCls:\t\t'atm-pic-validate',\n\t\t\tname:\t\t\t'submitAndValidAdmin',\n\t\t\thandler:\t\tsubmitItem.createDelegate(this, ['save-validate']),\n\t\t\tscope:\t\t\tthis\n\t\t}"; $saveIconCls = 'atm-pic-draft-validation'; $saveTooltip = $cms_language->getJSMessage(MESSAGE_PAGE_SAVE_PRIMARY_DESC, false, MOD_POLYMOD_CODENAME); }