/** * Write to persistence and submit resource to validation process too. * * @access public * @return boolean true on success, false on failure */ function writeToPersistence() { if ($this->_public) { $this->raiseError("Object is public, read-only !"); return false; } if (!is_a($this->_form, 'CMS_forms_formular') || $this->_form->getID() <= 0) { $this->raiseError("No CMS_forms_formular found"); return false; } // Delete old relations $sql = "\n\t\t\tdelete\n\t\t\tfrom\n\t\t\t\tmod_cms_forms_categories\n\t\t\twhere\n\t\t\t\tform_fca='" . SensitiveIO::sanitizeSQLString($this->_form->getID()) . "'\n\t\t"; $qD = new CMS_query($sql); if ($qD->hasError()) { $this->raiseError("Error deleting previous relations"); return false; } // Insert if (sizeof($this->_categories)) { $err = 0; // Insert each label foreach ($this->_categories as $obj) { if (is_a($obj, 'CMS_moduleCategory')) { // Insert $sql = "\n\t\t\t\t\t\tinsert into\n\t\t\t\t\t\t\tmod_cms_forms_categories\n\t\t\t\t\t\tset\n\t\t\t\t\t\t\tform_fca='" . SensitiveIO::sanitizeSQLString($this->_form->getID()) . "',\n\t\t\t\t\t \t\tcategory_fca='" . SensitiveIO::sanitizeSQLString($obj->getID()) . "'\n\t\t\t\t\t"; $q = new CMS_query($sql); if ($q->hasError()) { $err++; $this->raiseError("Error inserting relation for cateogry : " . $obj->getID()); } } } return $err == 0 ? true : false; } return true; }
<!--<script language="JavaScript" type="text/javascript">window.name = "cms_forms";</script>--> <?php // +----------------------------------------------------------------------+ // | Actions | // +----------------------------------------------------------------------+ switch ($step) { case 2: $form = new CMS_forms_formular($_POST["formId"]); //analyse the form from his xhtml code if (!$form->checkFormCode($_POST["formCode"])) { $errorMsg = 'DlgCMSFormsCopyError'; //then go to error window $step = 5; break; } $field = new CMS_forms_field('', $form->getID()); if (!is_object($field)) { $errorMsg = 'DlgCMSFormsFieldError'; //then go to error window $step = 5; break; } switch ($_POST["cms_action"]) { case "validate": //modify needed field values $field->setAttribute("type", $_POST["type_new"]); $field->setAttribute("name", $_POST["name_new"]); $field->setAttribute("label", $_POST["label_new"]); $field->setAttribute("value", $_POST["defaultValue_new"]); $field->setAttribute("required", $_POST["required_new"]); //Set params
} // +----------------------------------------------------------------------+ // | Session management | // +----------------------------------------------------------------------+ // Language if ($_REQUEST["items_language"] != '') { CMS_session::setSessionVar("items_language", $_REQUEST["items_language"]); } elseif (CMS_session::getSessionVar("items_language") == '' || is_object(CMS_session::getSessionVar("items_language"))) { CMS_session::setSessionVar("items_language", $cms_module->getParameters("default_language")); } $items_language = new CMS_language(CMS_session::getSessionVar("items_language")); // +----------------------------------------------------------------------+ // | Actions | // +----------------------------------------------------------------------+ $item = new CMS_forms_formular($_POST["item"]); if (!$item->getID()) { $item->setAttribute('language', $items_language); //item need an ID $item->writeToPersistence(); } // All item relations with categories $item_relations = new CMS_forms_formularCategories($item); switch ($_POST["cms_action"]) { case "validate": //checks and assignments $cms_message = ""; $item->setDebug(false); //check mandatory fields if (!$_POST["name"]) { $cms_message .= $cms_language->getMessage(MESSAGE_FORM_ERROR_MANDATORY_FIELDS); } else {
* @author Sébastien Pauchet <*****@*****.**> */ //force loading module cms_forms if (!class_exists('CMS_module_cms_forms')) { die('Cannot find cms_forms module ...'); } //set current page ID $mod_cms_forms["pageID"] = '{{pageID}}'; //Instanciate Form $form = new CMS_forms_formular($mod_cms_forms["formID"]); //Instanciate language $cms_language = $form->getLanguage(); //Instanciate field error Ids $cms_forms_error_ids = array(); //Form actions treatment if ($form->getID() && $form->isPublic()) { if (io::strtolower(APPLICATION_XHTML_DTD) != io::strtolower('<!DOCTYPE html>')) { echo '<a name="formAnchor' . $form->getID() . '"></a>'; } else { echo '<div id="formAnchor' . $form->getID() . '"></div>'; } //Create or append (from header) form required message if (isset($cms_forms_token[$form->getID()]) && $cms_forms_token[$form->getID()]) { $cms_forms_error_msg[$form->getID()] .= $cms_language->getMessage(CMS_forms_formular::MESSAGE_CMS_FORMS_TOKEN_EXPIRED, false, MOD_CMS_FORMS_CODENAME); } //Create or append (from header) form required message if (isset($cms_forms_required[$form->getID()]) && $cms_forms_required[$form->getID()] && is_array($cms_forms_required[$form->getID()])) { $cms_forms_error_msg[$form->getID()] .= $cms_language->getMessage(CMS_forms_formular::MESSAGE_CMS_FORMS_REQUIRED_FIELDS, false, MOD_CMS_FORMS_CODENAME) . '<ul>'; foreach ($cms_forms_required[$form->getID()] as $fieldName) { $field = $form->getFieldByName($fieldName, true); $cms_forms_error_msg[$form->getID()] .= '<li>' . $field->getAttribute('label') . '</li>';
getFormCode(); //--> </script> </div>'; break; case 2: $fieldTypes = array("text" => "<span fckLang=\"DlgCMSFormsText\">Texte</span>", "email" => "<span fckLang=\"DlgCMSFormsTextEmail\">Texte (Email)</span>", "integer" => "<span fckLang=\"DlgCMSFormsTextInteger\">Texte (Chiffres)</span>", "url" => "<span fckLang=\"DlgCMSFormsTextURL\">Texte (URL)</span>", "pass" => "<span fckLang=\"DlgCMSFormsTextPass\">Texte (Mot de passe)</span>", "file" => "<span fckLang=\"DlgCMSFormsFile\">Fichier joint</span>", "textarea" => "<span fckLang=\"DlgCMSFormsTextarea\">Zone de texte</span>", "select" => "<span fckLang=\"DlgCMSFormsSelect\">Selection multiple</span>", "checkbox" => "<span fckLang=\"DlgCMSFormsCheckbox\">Case à cocher</span>", "hidden" => "<span fckLang=\"DlgCMSFormsHidden\">Champ caché</span>", "submit" => "<span fckLang=\"DlgCMSFormsSubmit\">Bouton valider</span>"); $content = ' <div id="divInfo" style="DISPLAY: none"> <form id="modifyForm" action="' . $_SERVER["SCRIPT_NAME"] . '" method="post"> <input id="step" type="hidden" name="step" value="2" /> <input id="cms_action" type="hidden" name="cms_action" value="validate" /> <input id="fieldName" name="fieldName" value="' . $_POST['fieldName'] . '" type="hidden" /> <input name="formCode" value="' . htmlspecialchars($_POST['formCode']) . '" type="hidden" /> <input id="fieldId" name="fieldId" value="' . $fieldId . '" type="hidden" /> <input id="formId" type="hidden" name="formId" value="' . $form->getID() . '" /> <table border="0" cellspacing="1" cellpadding="0" width="100%"> <tr> <th align="right"><span fckLang="DlgCMSFormsRequire">Requis</span></th> <th width="130"><span fckLang="DlgCMSFormsLabel">Libellé</span></th> <th width="130"><span fckLang="DlgCMSFormsType">Type</span></th> <th width="60"><span fckLang="DlgCMSFormsOptions">Options</span></th> </tr> <tr>'; $required = $field->getAttribute("required") ? ' checked="checked"' : ''; $content .= ' <td align="right"><input type="checkbox" name="required_' . $field->getID() . '" value="1"' . $required . ' /></td> <td align="center" width="130"><input type="text" name="label_' . $field->getID() . '" value="' . htmlspecialchars(io::decodeEntities($field->getAttribute("label"))) . '" /><input type="hidden" name="name_' . $field->getID() . '" value="' . $field->getAttribute("name") . '" /></td> <td align="center" width="130"> <select name="type_' . $field->getID() . '" onchange="viewHideOptionsButton(this,\'options_' . $field->getID() . '\');">'; foreach ($fieldTypes as $aFieldType => $aFieldTypeLabel) {