示例#1
0
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>&nbsp;&nbsp;&nbsp;" . "" . WIDGET_ADD_NEWGROUP . "&nbsp;&nbsp;&nbsp;" . 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=\"\";'> &#x25BC; " . 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&amp;action=export_run&amp;raw=1&amp;type=widget_class&amp;id=" . $params['Widget_Class_ID'] . "&amp;" . $nc_core->token->get_url() . "'>" . WIDGET_LIST_EXPORT . "</a></td></tr>" : "") . "</table>";
    echo_remind_script();
}
示例#2
0
/**
 * Функция рисует форму добавления макета дизайна
 *
 * @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&amp;fs={$File_Mode}&amp;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&amp;action=export_run&amp;raw=1&amp;type=template&amp;id=" . $TemplateID . "&amp;" . $nc_core->token->get_url() . "'>" . CONTROL_TEMPLATE_EXPORT . "</a>";
    nc_print_admin_save_script('TemplateForm');
}
示例#3
0
/**
 * Показывает форму для 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;
}