function echo_widgetclass_form($params, $phase = '', $widget_group = '') { global $ADMIN_PATH, $db, $nc_core; $params = (array) $params; $nc_core = nc_Core::get_object(); $db = $nc_core->db; if (get_fs()) { $widget_editor = new nc_widget_editor($nc_core->WIDGET_TEMPLATE_FOLDER, $nc_core->db); $widget_editor->load($params['Widget_Class_ID'], null, $params['File_Hash']); } echo "<form method='post' id='nc_widgetclass_form' action='index.php'>"; if (get_fs() && $phase != 3) { $widget_absolute_path = $widget_editor->get_absolute_path(); $widget_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 . 'widget' . $widget_editor->get_relative_path(); ?> <br /> <div><?php echo sprintf(CONTROL_WIDGETCLASS_FILES_PATH, $widget_filemanager_link, $widget_absolute_path); ?> </div> <br /> <?php } echo "<input type='hidden' name='fs' value='" . get_fs() . "' /><fieldset>" . "" . WIDGET_ADD_NAME . ":<br />" . nc_admin_input_simple('Name', $params['Name'], 50) . "<br /><br />" . "" . WIDGET_ADD_KEYWORD . ":<br />" . nc_admin_input_simple('Keyword', $params['Keyword'], 50) . "<br /><br />"; $widgetCategory = $db->get_col("SELECT DISTINCT `Category` FROM `Widget_Class`"); echo CONTROL_USER_GROUP . ":<br /><select name='Category' style='width:auto;'>\n"; foreach ($widgetCategory as $wc) { if ($params['Category'] == $wc || $widget_group == md5($wc)) { echo "\t<option value='" . $wc . "' selected='selected'>" . $wc . "</option>\n"; } else { echo "\t<option value='" . $wc . "'>" . $wc . "</option>\n"; } } echo "</select> " . "" . WIDGET_ADD_NEWGROUP . " " . nc_admin_input_simple('Category_New', null, 25, '', "maxlength='64'") . "</fieldset>" . "<table border='0' cellpadding='6' cellspacing='0' width='100%' ><tr style='display: none;'><td colspan='2'>" . "<div id='DescriptionOn' style='display: none'>" . "<p style='cursor: pointer;' onclick='document.getElementById(\"DescriptionOn\").style.display=\"none\";document.getElementById(\"DescriptionOff\").style.display=\"\";'> ▼ " . WIDGET_ADD_DESCRIPTION . ":</p>" . "<br />" . nc_admin_textarea_simple('Description', $params['Description'], '', 8, 60, "id='Description'") . "</div></td></tr></table><br />" . "<legend>" . WIDGET_ADD_OBJECTVIEW . "</legend>" . "<table border='0' cellpadding='6' cellspacing='0' width='100%' >" . "<tr>" . "<td>" . nc_admin_textarea_resize('Template', $params['Template'], "" . WIDGET_ADD_PAGEBODY . ":", 10, 60, 'PageBody') . "</td>" . "</tr>" . "</table>" . "<br />" . "<legend>" . WIDGET_ADD_DOPL . "</legend>" . "<table border='0' cellpadding='0' cellspacing='0' width='100%' >" . "<tr>" . "<td colspan='2'>" . "<font>" . nc_admin_checkbox_simple('InDevelop', 1, WIDGET_ADD_DEVELOP, $params['InDevelop']) . "</td>" . "</tr>" . "<tr>" . "<td colspan='2'>" . "<font>" . nc_admin_checkbox_simple('WidgetDisallow', 1, WIDGET_ADD_DISALLOW, $params['WidgetDisallow']) . "</td>" . "</tr>" . "<tr>" . "<td colspan='2'>" . "<font>" . nc_admin_checkbox_simple('IsStatic', 1, WIDGET_IS_STATIC, isset($params['IsStatic']) ? $params['IsStatic'] : 1) . "</td>" . "</tr>" . "<tr>" . "<td colspan='2'>" . "" . WIDGET_ADD_UPDATE . ":<br />" . nc_admin_input_simple('Update', $params['Update'], 5) . "\n <br />" . "</td>" . "</tr>" . "<tr>" . "<td colspan='2'>" . nc_admin_textarea_resize('Settings', $params['Settings'], "<br>" . WIDGET_ADD_SYSTEM . ":", 8, 60) . "</td>" . "</tr>" . ($phase == 30 ? "<tr><td colspan='2'><a href='" . $nc_core->SUB_FOLDER . $nc_core->HTTP_ROOT_PATH . "action.php?ctrl=admin.backup&action=export_run&raw=1&type=widget_class&id=" . $params['Widget_Class_ID'] . "&" . $nc_core->token->get_url() . "'>" . WIDGET_LIST_EXPORT . "</a></td></tr>" : "") . "</table>"; echo_remind_script(); }
/** * Функция рисует форму добавления макета дизайна * * @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'); }
/** * Показывает форму для SQL-запроса * * @global $nc_core, $UI_CONFIG * */ function ShowSQLForm() { global $nc_core, $UI_CONFIG; $db = $nc_core->db; $Query = $nc_core->input->fetch_post('Query'); ?> <form action='index.php' method='post'> <?php echo nc_admin_textarea_resize('Query', stripslashes($Query), '', 10, 60); ?> <br /> <input type='hidden' name='phase' value='2'> <?php print $nc_core->token->get_input(); ?> </form> <!-- Binding event_handlers to textarea resize link --> <script> (function (){ var links = document.getElementsByTagName("A"); var onclicker_grow = function (event) { ShrinkArea(event, 50); } var onclicker_shrink = function (event) { ShrinkArea(event,-50); } for (var i = 0 ; i < links.length ; i++){ if (links[i].className.search('textarea_shrink') != -1 ) { bindEvent(links[i], 'click', onclicker_grow ); } if (links[i].className.search('textarea_grow') != -1 ) { bindEvent(links[i], 'click', onclicker_shrink); } } }) (); </script> <div><?php echo SQL_CONSTRUCT_TITLE; ?> :</div> <form name='construct' onsubmit="genQuery( 'query' ); return false;"> <select id="query_action" onchange="genQuery( 'params' )" name="query_action"> <option value="0" selected="selected"><?php echo SQL_CONSTRUCT_CHOOSE_OP; ?> </option> <option value="selectTable"><?php echo SQL_CONSTRUCT_SELECT_TABLE; ?> </option> <option value="selectCc"><?php echo SQL_CONSTRUCT_SELECT_CC; ?> </option> <option value="enterCode"><?php echo SQL_CONSTRUCT_ENTER_CODE; ?> </option> <option value="showSettings"><?php echo SQL_CONSTRUCT_VIEW_SETTINGS; ?> </option> </select> <div id="query_params" name="query_params"></div> <script> function getTableFields (tbl, action) { $.ajax({ type: "GET", url: "#", data: {'tbl': tbl, 'phase': 3, action: action }, dataType: 'json', success: function(){ console.log(data); } }); } function genQuery ( option ) { action = $('#query_action').val(); classes = { selectTable: function() { this.query='selectTable'; this.genForm = function() { return "<td><?php echo SQL_CONSTRUCT_TABLE_NAME; ?> :</td><td><input type='text' id='tableName' value='" + getv('tableName') + "'></td></tr>"+ "<tr><td><?php echo SQL_CONSTRUCT_FIELDS; ?> :</td><td><input type='text' id='tableFlds' value='" + getv('tableFlds') + "'> <span style='font-size:12px!important'><?php echo SQL_CONSTRUCT_FIELDS_NOTE; ?> </span></td>"; }; this.genQuery = function () { html = "SELECT "; if ('' !== getv('tableFlds')) { fields = getv('tableFlds'); fields_array = fields.split(','); html += "`" + fields_array.join('`, `') + "`"; } else { html += "*"; } html += " FROM " + getv('tableName'); return html; }; }, selectCc: function() { this.query='selectCc'; this.genForm = function() { return "<td><?php echo SQL_CONSTRUCT_CC_ID; ?> :</td><td><input type='text' id='ccID' value='" + getv('ccID') + "'></td>"; }; this.genQuery = function () { return 'SELECT * FROM Message'+getv('ccID'); }; }, enterCode: function () { this.query='selectCc'; this.genForm = function() { return "<td><?php echo SQL_CONSTRUCT_REGNUM; ?> :</td><td><input type='text' id='lic' value='" + getv('lic') + "'></td></tr>"+ "<tr><td><?php echo SQL_CONSTRUCT_REGCODE; ?> :</td><td><input type='text' id='code' value='" + getv('code') + "'></td>"; }; this.genQuery = function () { return "UPDATE `Settings` SET `Value`='"+getv('lic')+"' WHERE `Key` = 'ProductNumber';\n"+ "UPDATE `Settings` SET `Value`='"+getv('code')+"' WHERE `Key` = 'Code';"; }; }, showSettings: function() { this.query='showSettings'; this.genForm = function() { html = "<td><?php echo SQL_CONSTRUCT_CHOOSE_MOD; ?> :</td><td><select name='moduleName' id='moduleName'>"; <?php $settings = $db->get_results("SELECT DISTINCT `module` FROM `Settings`", ARRAY_N); foreach ($settings as $setting) { echo "html += \"<option value='" . $setting[0] . "'>" . $setting[0] . "</option>\";\n"; } ?> html += "</select></td>"; return ""; }; this.genQuery = function () { //"+getv('moduleName')+" return "SELECT * FROM `Settings` WHERE `module` = 'system'"; }; } } function getv( id ) { return $('#'+id).val() === undefined ? '' : $('#'+id).val() } if ( 0 != action ) { qClass = new classes[ action ](); $('#query_params').html( "<table border=0><tr>"+qClass.genForm()+"</tr></table>" ); if ('query' == option) { $nc('#Query').text(qClass.genQuery()); $nc('textarea.has_codemirror').each(function(){ $nc(this).codemirror('setValue'); }); } } else { $('#query_params').html( '' ); } } </script> <input type='submit' value='<?php echo SQL_CONSTRUCT_GENERATE; ?> '> </form> <br /> <div><?php echo TOOLS_SQL_HISTORY; ?> :</div> <ul id='sqlHistory'> <?php $i = 0; $history = $db->get_col("SELECT `SQL_text` FROM `SQLQueries` ORDER BY `SQL_ID` DESC"); if (!empty($history)) { foreach ($history as $query) { ++$i; ?> <li> <a href='#'><?php echo htmlspecialchars($query, ENT_QUOTES); ?> </a><br/> </li> <?php } } ?> </ul> <br> <script type='text/javascript'> $nc('#sqlHistory li a').click(function(){ $nc('#Query').text($nc(this).text()); $nc('textarea.has_codemirror').each(function(){ $nc(this).codemirror('setValue'); }); return false; }); </script> <div><?php echo TOOLS_SQL_HELP; ?> :</div> <li><b>SHOW TABLES</b> - <?php echo TOOLS_SQL_HELP_SHOW; ?> <li><b>EXPLAIN `User`</b> - <?php printf(TOOLS_SQL_HELP_EXPLAIN, "User"); ?> <li><b>SELECT COUNT(*) FROM `Subdivision`</b> - <?php printf(TOOLS_SQL_HELP_SELECT, "Subdivision"); ?> <br><br> <?php echo TOOLS_SQL_HELP_DOCS; ?> <?php $UI_CONFIG->actionButtons[] = array("id" => "submit", "caption" => TOOLS_SQL_SEND, "action" => "mainView.submitIframeForm()"); return 0; }