/** * Функция рисует форму добавления макета дизайна * * @param unknown_type $TemplateID * @param unknown_type $phase * @param unknown_type $type */ function TemplateForm($TemplateID, $phase, $type, $File_Mode, $refresh = false) { # type = 1 - это insert # type = 2 - это update global $ROOT_FOLDER, $HTTP_FILES_PATH, $DOMAIN_NAME; global $systemTableID, $systemMessageID, $systemTableName; global $ParentTemplateID, $admin_mode; global $INCLUDE_FOLDER; global $UI_CONFIG, $ADMIN_PATH; $nc_core = nc_Core::get_object(); $db = $nc_core->db; if ($File_Mode) { $template_editor = new nc_template_editor($nc_core->TEMPLATE_FOLDER, $nc_core->db); } $TemplateID = +$TemplateID; $params = array('Description', 'Settings', 'Header', 'Footer', 'CustomSettings', 'ParentTemplateID'); foreach ($params as $v) { global ${$v}; } $st = new nc_Component(0, 4); foreach ($st->get_fields(0, 0) as $v) { $v = 'f_' . $v; ${$v} = $nc_core->input->fetch_get_post($v); } require_once $INCLUDE_FOLDER . "s_files.inc.php"; $is_there_any_files = getFileCount(0, $systemTableID); if ($type == 1) { $UI_CONFIG = new ui_config_template('add', $TemplateID); $Array['Description'] = stripslashes($Description); $Array['Settings'] = stripslashes($Settings); $Array['Header'] = stripslashes($Header); $Array['Footer'] = stripslashes($Footer); $Array['CustomSettings'] = stripslashes($CustomSettings); } else { if ($type == 2) { $UI_CONFIG = new ui_config_template('edit', $TemplateID); $SQL = "select Description,\n Settings,\n Header,\n Footer,\n CustomSettings,\n File_Hash\n from Template\n where Template_ID = " . $TemplateID; $Array = $db->get_row($SQL, ARRAY_A); } } if ($File_Mode && $phase != 3) { $template_editor->load_template($TemplateID, null, $Array['File_Hash']); $template_absolute_path = $template_editor->get_absolute_path(); $template_filemanager_link = $nc_core->SUB_FOLDER . $nc_core->HTTP_ROOT_PATH . "modules/filemanager/admin.php?page=manager&phase=1&dir=" . $nc_core->SUB_FOLDER . $nc_core->HTTP_TEMPLATE_PATH . 'template' . $template_editor->get_relative_path(); $template_editor->fill_fields(); $new_template = $template_editor->get_standart_fields(); $Array = array_merge($Array, $new_template); } if ($type == 1 && !$Array['Settings'] && $File_Mode) { $Array['Settings'] = "<?php\n\n\n?>"; } if (!$File_Mode) { echo "<br /><font color=gray>" . CONTROL_TEMPLATE_INFO_CONVERT . "</font>"; } $set = $nc_core->get_settings(); if ($TemplateID && $refresh) { ?> <script> parent.window.frames[0].window.location.href += '&selected_node=template-<?php echo $TemplateID; ?> '; </script> <?php } if ($set['CMEmbeded']) { ?> <div id="templateFields" class="completionData" style="display:none"></div> <script> $nc('#templateFields').data('completionData', $nc.parseJSON("<?php echo addslashes(json_safe_encode(getCompletionDataForTemplateFields($systemTableID))); ?> ")); </script> <?php } ?> <form id='TemplateForm' <?php echo $is_there_any_files ? "enctype=multipart/form-data" : ""; ?> method=post action="index.php"> <?php echo $File_Mode ? "<input type='hidden' name='fs' value='1'>" : ""; ?> <br /> <?php if ($File_Mode && $phase != 3) { ?> <div><?php echo sprintf(CONTROL_TEMPLATE_FILES_PATH, $template_filemanager_link, $template_absolute_path); ?> </div> <?php } ?> <br /> <font color=gray><?php echo CONTROL_TEMPLATE_TEPL_NAME; ?> :<br> <?php echo nc_admin_input_simple('Description', $Array["Description"], 50, '', "maxlength='64'"); ?> <br><br> <?php echo nc_admin_textarea_resize('Settings', $Array["Settings"], CONTROL_TEMPLATE_TEPL_MENU . ':', 12, 60, "Settings"); ?> <br><br> <?php echo nc_admin_textarea_resize('Header', $Array["Header"], CONTROL_TEMPLATE_TEPL_HEADER . ':', 20, 60, "TemplateHeader"); ?> <br><br> <?php echo nc_admin_textarea_resize('Footer', $Array["Footer"], CONTROL_TEMPLATE_TEPL_FOOTER . ':', 20, 60, "TemplateFooter"); ?> <br><br> <div style='display: none'> <?php echo nc_admin_textarea_resize('CustomSettings', $Array["CustomSettings"], '', 8, 60, "CustomSettings"); ?> </div> <?php if ($type == 1) { $action = "add"; } if ($type == 2) { $action = "change"; $message = $TemplateID; } require $ROOT_FOLDER . "message_fields.php"; if ($fldCount) { if ($type == 2) { $fieldQuery = '`' . join($fld, "`,`") . '`'; $fldValue = $db->get_row("SELECT " . $fieldQuery . " FROM `Template` WHERE `Template_ID` = '" . $systemMessageID . "'", ARRAY_N); } ?> <br /> <legend><a href=<?php echo "" . $ADMIN_PATH . "field/index.php?isSys=1&fs={$File_Mode}&Id=" . $systemTableID; ?> ><?php echo CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_EXTFIELDS; ?> </a></legend> <table border=0 cellpadding=6 cellspacing=0 width=100%> <tr> <td><font color=gray> <?php require $ROOT_FOLDER . "message_edit.php"; ?> </td> </tr> </table> <br> <?php } else { echo "\n <hr size=1 color=cccccc>"; } echo "\n <div align=right>"; if ($type == 1) { $UI_CONFIG->actionButtons[] = array("id" => "submit", "caption" => CONTROL_TEMPLATE_TEPL_CREATE, "action" => "mainView.submitIframeForm()"); } else { if ($type == 2) { $UI_CONFIG->actionButtons[] = array("id" => "submit", "caption" => CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_SAVE, "action" => 'return false;" id="nc_class_save'); //"mainView.submitIframeForm()"); global $system_env; if ($system_env['SyntaxCheck']) { $UI_CONFIG->actionButtons[] = array("id" => "debug", "caption" => NETCAT_DEBUG_BUTTON_CAPTION, "action" => "document.getElementById('mainViewIframe').contentWindow.FormAsyncDebug()"); } $UI_CONFIG->actionButtons[] = array("id" => "preview", "caption" => NETCAT_PREVIEW_BUTTON_CAPTIONTEMPLATE, "align" => "left", "action" => "document.getElementById('mainViewIframe').contentWindow.SendTemplatePreview('','../../index.php')"); } } echo "\n </div>\n <INPUT TYPE=hidden NAME=posting VALUE=1>\n <INPUT TYPE=hidden NAME=type VALUE=" . $type . ">\n <input type=hidden name=phase value=" . $phase . ">\n <input type=hidden name=TemplateID value=" . $TemplateID . ">\n <input type=hidden name=ParentTemplateID value=" . $ParentTemplateID . ">\n <input type='submit' class='hidden'>\n " . $nc_core->token->get_input(); if ($nc_core->get_settings('TextareaResize')) { echo '<script type="text/javascript">bindTextareaResizeButtons();</script>'; } $UI_CONFIG->remind[] = 'remind_template_edit'; echo "</form>\n <a href='" . $nc_core->SUB_FOLDER . $nc_core->HTTP_ROOT_PATH . "action.php?ctrl=admin.backup&action=export_run&raw=1&type=template&id=" . $TemplateID . "&" . $nc_core->token->get_url() . "'>" . CONTROL_TEMPLATE_EXPORT . "</a>"; nc_print_admin_save_script('TemplateForm'); }
/** * Форма действий шаблона * * @param int $ClassID or SystemTableID * @param string action - * @param int $phase * @param int type: 1 - class, 2 - system table * @param int myaction: 1 - add, 2 - edit, 3 - search, 4 - subscribe, 5 - delete */ function ClassActionForm($ClassID, $action, $phase, $type, $myaction, $isNaked = false) { global $ClassGroup, $SystemTableID, $user_table_mode; global $UI_CONFIG; $nc_core = nc_Core::get_object(); $db = $nc_core->db; if (!$ClassID) { print nc_print_status(CONTROL_CLASS_ERRORS_DB, 'error'); return; } if (!$isNaked) { ?> <form method='post' id="ClassForm" action='<?php echo $action; ?> '><?php } ?> <font color='gray'> <?php $select = "SELECT `AddTemplate`,\n `AddCond`,\n `AddActionTemplate`,\n `EditTemplate`,\n `EditCond`,\n `EditActionTemplate`,\n `CheckActionTemplate`,\n `DeleteTemplate`,\n `DeleteCond`,\n `DeleteActionTemplate`,\n `SearchTemplate`,\n `FullSearchTemplate`,\n `SubscribeTemplate`,\n `SubscribeCond`,\n `System_Table_ID`,\n `File_Mode`,\n `File_Path`"; // class or system table $select .= $type == 1 ? " FROM `Class` WHERE `Class_ID` = " : " FROM `Class` WHERE `File_Mode` = " . +$_REQUEST['fs'] . " AND `ClassTemplate` = 0 AND `System_Table_ID` = "; $select .= "'" . intval($ClassID) . "'"; if (!($Array = $nc_core->db->get_row($select))) { print nc_print_status(CONTROL_CLASS_ERRORS_DB, "error"); exit; } $show_generate_link = false; if (!$SystemTableID || $SystemTableID == 3) { $show_generate_link = true; $sysTable = $SystemTableID ? $SystemTableID : 0; } $SystemTableID != $Array->System_Table_ID && $type == 1 ? $sysTable = $Array->System_Table_ID : ""; $classTemplate = $type == 1 ? $nc_core->component->get_by_id($ClassID, "ClassTemplate") : 0; $File_Mode = nc_get_file_mode('Class'); $File_Mode = $File_Mode ? $File_Mode : $Array->File_Mode; echo "<input type='hidden' name='fs' value='{$File_Mode}'>"; if ($File_Mode) { if (true || !$classTemplate) { $class_editor = new nc_class_editor($nc_core->CLASS_TEMPLATE_FOLDER, $nc_core->db); $class_editor->load($ClassID, $Array->File_Path); $class_editor->fill_fields(); $class_fields = $class_editor->get_fields(); foreach ($class_fields as $key => $val) { $Array->{$key} = $val; } } } // Add, edit, delete, search or subscribe switch ($myaction) { // add case 1: if ($type == 1) { if (!$classTemplate) { $UI_CONFIG = new ui_config_class('customadd', $ClassID); } else { $UI_CONFIG = new ui_config_class_template('customadd', $ClassID); } } if ($type == 2) { $UI_CONFIG = new ui_config_system_class('customadd', $SystemTableID); } echo "<br />"; print CONTROL_CLASS_CLASS_FORMS_ADDFORM . ($show_generate_link ? " (<a href='#' onclick=\"generateForm(" . ($classTemplate ? $classTemplate : $ClassID) . ", " . $sysTable . ", 'AddTemplate'); return false;\">" . CONTROL_CLASS_CLASS_FORMS_ADDFORM_GEN . "</a>)" : "") . ":<br><TEXTAREA ROWS='10' WRAP='OFF' COLS='60' NAME='AddTemplate' id='AddTemplate'>" . htmlspecialchars($Array->AddTemplate) . "</TEXTAREA><br><br>"; print CONTROL_CLASS_CLASS_FORMS_ADDRULES . ($show_generate_link ? " (<a href='#' onclick=\"generateForm(" . ($classTemplate ? $classTemplate : $ClassID) . ", " . $sysTable . ", 'AddCond'); return false;\">" . CONTROL_CLASS_CLASS_FORMS_ADDCOND_GEN . "</a>)" : "") . ":<br><TEXTAREA ROWS='10' WRAP='OFF' COLS='60' NAME='AddCond' id='AddCond'>" . htmlspecialchars($Array->AddCond) . "</TEXTAREA><br><br>"; print CONTROL_CLASS_CLASS_FORMS_ADDLASTACTION . ($show_generate_link ? " (<a href='#' onclick=\"generateForm(" . ($classTemplate ? $classTemplate : $ClassID) . ", " . $sysTable . ", 'AddActionTemplate'); return false;\">" . CONTROL_CLASS_CLASS_FORMS_ADDACTION_GEN . "</a>)" : "") . ":<br><TEXTAREA ROWS='10' WRAP='OFF' COLS='60' NAME='AddActionTemplate' id='AddActionTemplate'>" . htmlspecialchars($Array->AddActionTemplate) . "</TEXTAREA><br><br>"; $UI_CONFIG->remind[] = 'remind_add'; print_bind(); break; // edit // edit case 2: if ($type == 1) { if (!$classTemplate) { $UI_CONFIG = new ui_config_class('customedit', $ClassID); } else { $UI_CONFIG = new ui_config_class_template('customedit', $ClassID); } } if ($type == 2) { $UI_CONFIG = new ui_config_system_class('customedit', $SystemTableID); } echo "<br />"; print CONTROL_CLASS_CLASS_FORMS_EDITFORM . "" . ($show_generate_link ? " (<a href='#' onclick=\"generateForm(" . ($classTemplate ? $classTemplate : $ClassID) . ", " . $sysTable . ", 'EditTemplate'); return false;\">" . CONTROL_CLASS_CLASS_FORMS_EDITFORM_GEN . "</a>)" : "") . ":<br><TEXTAREA ROWS='10' WRAP='OFF' COLS='60' NAME='EditTemplate' id='EditTemplate'>" . htmlspecialchars($Array->EditTemplate) . "</TEXTAREA><br><br>"; print CONTROL_CLASS_CLASS_FORMS_EDITRULES . ($show_generate_link ? " (<a href='#' onclick=\"generateForm(" . ($classTemplate ? $classTemplate : $ClassID) . ", " . $sysTable . ", 'EditCond'); return false;\">" . CONTROL_CLASS_CLASS_FORMS_EDITCOND_GEN . "</a>)" : "") . ":<br><TEXTAREA ROWS='10' WRAP='OFF' COLS='60' NAME='EditCond' id='EditCond'>" . htmlspecialchars($Array->EditCond) . "</TEXTAREA><br><br>"; print CONTROL_CLASS_CLASS_FORMS_EDITLASTACTION . ($show_generate_link ? " (<a href='#' onclick=\"generateForm(" . ($classTemplate ? $classTemplate : $ClassID) . ", " . $sysTable . ", 'EditActionTemplate'); return false;\">" . CONTROL_CLASS_CLASS_FORMS_EDITACTION_GEN . "</a>)" : "") . ":<br><TEXTAREA ROWS='10' WRAP='OFF' COLS='60' NAME='EditActionTemplate' id='EditActionTemplate'>" . htmlspecialchars($Array->EditActionTemplate) . "</TEXTAREA><br><br>"; print CONTROL_CLASS_CLASS_FORMS_ONONACTION . ($show_generate_link ? " (<a href='#' onclick=\"generateForm(" . ($classTemplate ? $classTemplate : $ClassID) . ", " . $sysTable . ", 'CheckActionTemplate'); return false;\">" . CONTROL_CLASS_CLASS_FORMS_CHECKACTION_GEN . "</a>)" : "") . ":<br><TEXTAREA ROWS='10' WRAP='OFF' COLS='60' NAME='CheckActionTemplate' id='CheckActionTemplate'>" . htmlspecialchars($Array->CheckActionTemplate) . "</TEXTAREA><br><br>"; print_bind(); break; // search // search case 3: if ($type == 1) { if (!$classTemplate) { $UI_CONFIG = new ui_config_class('customsearch', $ClassID); } else { $UI_CONFIG = new ui_config_class_template('customsearch', $ClassID); } } if ($type == 2) { $UI_CONFIG = new ui_config_system_class('customsearch', $SystemTableID); } echo "<br />"; print CONTROL_CLASS_CLASS_FORMS_QSEARCH . "" . ($show_generate_link ? " (<a href='#' onclick=\"generateForm(" . ($classTemplate ? $classTemplate : $ClassID) . ", " . $sysTable . ", 'FullSearchTemplate'); return false;\">" . CONTROL_CLASS_CLASS_FORMS_QSEARCH_GEN . "</a>)" : "") . ":<br><TEXTAREA ROWS='10' WRAP='OFF' COLS='60' NAME='FullSearchTemplate' id='FullSearchTemplate'>" . htmlspecialchars($Array->FullSearchTemplate) . "</TEXTAREA><br><br>"; print CONTROL_CLASS_CLASS_FORMS_SEARCH . "" . ($show_generate_link ? " (<a href='#' onclick=\"generateForm(" . ($classTemplate ? $classTemplate : $ClassID) . ", " . $sysTable . ", 'SearchTemplate'); return false;\">" . CONTROL_CLASS_CLASS_FORMS_SEARCH_GEN . "</a>)" : "") . ":<br><TEXTAREA ROWS='10' WRAP='OFF' COLS=60 NAME='SearchTemplate' id='SearchTemplate'>" . htmlspecialchars($Array->SearchTemplate) . "</TEXTAREA><br><br>"; $UI_CONFIG->remind[] = 'remind_search'; print_bind(); break; // subscribe // subscribe case 4: if ($type == 1) { if (!$classTemplate) { $UI_CONFIG = new ui_config_class('customsubscribe', $ClassID); } else { $UI_CONFIG = new ui_config_class_template('customsubscribe', $ClassID); } } if ($type == 2) { $UI_CONFIG = new ui_config_system_class('customsubscribe', $SystemTableID); } echo "<br />"; print CONTROL_CLASS_CLASS_FORMS_MAILRULES . ":<br><TEXTAREA ROWS='10' WRAP='OFF' COLS='60' NAME='SubscribeCond' id='SubscribeCond'>" . htmlspecialchars($Array->SubscribeCond) . "</TEXTAREA><br><br>"; print CONTROL_CLASS_CLASS_FORMS_MAILTEXT . ":<br><TEXTAREA ROWS='10' WRAP='OFF' COLS='60' NAME='SubscribeTemplate' id = 'SubscribeTemplate'>" . htmlspecialchars($Array->SubscribeTemplate) . "</TEXTAREA><br><br>"; $UI_CONFIG->remind[] = 'remind_subscrib'; print_bind(); break; // delete // delete case 5: if ($type == 1) { if (!$classTemplate) { $UI_CONFIG = new ui_config_class('customdelete', $ClassID); } else { $UI_CONFIG = new ui_config_class_template('customdelete', $ClassID); } } if ($type == 2) { $UI_CONFIG = new ui_config_system_class('customdelete', $SystemTableID); } echo "<br />"; print CONTROL_CLASS_CLASS_FORMS_DELETEFORM . ($show_generate_link ? " (<a href='#' onclick=\"generateForm(" . ($classTemplate ? $classTemplate : $ClassID) . ", " . $sysTable . ", 'DeleteTemplate'); return false;\">" . CONTROL_CLASS_CLASS_FORMS_EDITFORM_GEN . "</a>)" : "") . "<br><TEXTAREA ROWS='10' WRAP='OFF' COLS='60' NAME='DeleteTemplate' id='DeleteTemplate'>" . htmlspecialchars($Array->DeleteTemplate) . "</TEXTAREA><br><br>"; print CONTROL_CLASS_CLASS_FORMS_DELETERULES . ":<br><TEXTAREA ROWS='10' WRAP='OFF' COLS='60' NAME='DeleteCond' id='DeleteCond'>" . htmlspecialchars($Array->DeleteCond) . "</TEXTAREA><br><br>"; print CONTROL_CLASS_CLASS_FORMS_ONDELACTION . ($show_generate_link ? " (<a href='#' onclick=\"generateForm(" . ($classTemplate ? $classTemplate : $ClassID) . ", " . $sysTable . ", 'DeleteActionTemplate'); return false;\">" . CONTROL_CLASS_CLASS_FORMS_DELETEACTION_GEN . "</a>)" : "") . ":<br><TEXTAREA ROWS='10' WRAP='OFF' COLS='60' NAME='DeleteActionTemplate' id='DeleteActionTemplate'>" . htmlspecialchars($Array->DeleteActionTemplate) . "</TEXTAREA><br><br>"; $UI_CONFIG->remind[] = 'remind_delete'; print_bind(); break; } if (!$isNaked) { $UI_CONFIG->actionButtons[] = array("id" => "submit", "caption" => CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_SAVE, "action" => 'return false;" id="nc_class_save'); global $system_env; if ($system_env['SyntaxCheck']) { $UI_CONFIG->actionButtons[] = array("id" => "debug", "caption" => NETCAT_DEBUG_BUTTON_CAPTION, "action" => "document.getElementById('mainViewIframe').contentWindow.FormAsyncDebug()"); } switch ($myaction) { case 1: $UI_CONFIG->actionButtons[] = array("id" => "preview", "caption" => NETCAT_PREVIEW_BUTTON_CAPTIONADDFORM, "align" => "left", "action" => "document.getElementById('mainViewIframe').contentWindow.SendClassPreview('','../../add.php')"); break; case 2: $UI_CONFIG->actionButtons[] = array("id" => "preview", "caption" => NETCAT_PREVIEW_BUTTON_CAPTIONEDITFORM, "align" => "left", "action" => "document.getElementById('mainViewIframe').contentWindow.SendClassPreview('','../../message.php')"); break; case 3: $UI_CONFIG->actionButtons[] = array("id" => "preview", "caption" => NETCAT_PREVIEW_BUTTON_CAPTIONSEARCHFORM, "align" => "left", "action" => "document.getElementById('mainViewIframe').contentWindow.SendClassPreview('','../../search.php')"); break; } nc_print_admin_save_script('ClassForm'); print $nc_core->token->get_input(); print "<input type='hidden' name='ClassID' value='" . $ClassID . "'/>\n"; print "<input type='hidden' name='phase' value='" . $phase . "'/>"; print "<input type='hidden' name='myaction' value='" . $myaction . "'/>"; print "<input type='hidden' name='type' value='" . $type . "'/>"; print "<input type='hidden' name='ClassGroup' value='" . $ClassGroup . "'/>"; print "<input type='hidden' name='ClassTemplate' value='" . $classTemplate . "'/>"; print "\n\t<input type='submit' class='hidden' /><div style='display:none' id='classFields'>" . GetFieldsByClassId($ClassID) . "</div>"; } if ($nc_core->get_settings('TextareaResize')) { echo '<script type="text/javascript">bindTextareaResizeButtons();</script>'; } print "\n </font> "; if (!$isNaked) { "</form>"; } }