Exemple #1
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');
}
Exemple #2
0
/**
 * Форма действий шаблона
 *
 * @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>";
    }
}