Example #1
0
/**
 * Рекомендуемые скрипты для вставки в макет
 *
 * @return string html
 */
function nc_js()
{
    static $released = false;
    global $LAST_LOCAL_PATCH, $NC_CHARSET;
    // get super object
    $nc_core = nc_Core::get_object();
    // determine file mode
    if ($addslashes = $nc_core->template->get_current() ? !$nc_core->template->get_current("File_Mode") : false) {
        // get backtrace
        $debug_backtrace = (array) debug_backtrace();
        // search eval
        foreach ($debug_backtrace as $row) {
            if ($row['function'] == 'eval') {
                $addslashes = false;
                break;
            }
        }
    }
    $admin_mode = $nc_core->get_variable("admin_mode") || $nc_core->get_settings("QuickBar") && nc_quickbar_permission();
    // load jQuery and plugins
    $ret_jquery = nc_jquery(true, $admin_mode);
    // load CSS
    $ret_css = nc_css();
    if ($released) {
        return;
    }
    // system nc variable
    $ret = "<script type='text/javascript'>" . "if (typeof(nc_token) == 'undefined') {" . "var nc_token = '" . $nc_core->token->get(+$AUTH_USER_ID) . "';" . "}" . "var nc_save_keycode = " . ($nc_core->get_settings('SaveKeycode') ? $nc_core->get_settings('SaveKeycode') : 83) . ";" . "</script>" . PHP_EOL;
    $files = array();
    if ($nc_core->get_settings('JSLoadModulesScripts')) {
        if ($nc_core->modules->get_by_keyword('auth')) {
            $files[] = $nc_core->SUB_FOLDER . $nc_core->HTTP_ROOT_PATH . "modules/auth/auth.js";
            //$ret .= "<script type='text/javascript' src='" . $nc_core->SUB_FOLDER . $nc_core->HTTP_ROOT_PATH . "modules/auth/auth.js" . "'></script>" . PHP_EOL;
        }
        if ($nc_core->modules->get_by_keyword('minishop')) {
            $files[] = $nc_core->SUB_FOLDER . $nc_core->HTTP_ROOT_PATH . "modules/minishop/minishop.js";
            //$ret .= "<script type='text/javascript' src='" . $nc_core->SUB_FOLDER . $nc_core->HTTP_ROOT_PATH . "modules/minishop/minishop.js" . "'></script>" . PHP_EOL;
        }
    }
    if ($nc_core->get_variable("inside_admin")) {
        $ret .= "<script type='text/javascript' language='Javascript'>" . PHP_EOL . "var NETCAT_PATH = '" . $nc_core->SUB_FOLDER . $nc_core->HTTP_ROOT_PATH . "'," . PHP_EOL . "ADMIN_PATH = '" . $nc_core->ADMIN_PATH . "'," . PHP_EOL . "ICON_PATH = '" . $nc_core->ADMIN_TEMPLATE . "' + 'img/';" . PHP_EOL . "</script>" . PHP_EOL;
        $files[] = $nc_core->ADMIN_PATH . "js/jquery.mousewheel.js";
        $files[] = $nc_core->ADMIN_PATH . "js/jquery.jscrollpane.min.js";
        $files[] = $nc_core->ADMIN_PATH . "js/jquery.cookie.js";
        //$ret .= "<script type='text/javascript' src='" . $nc_core->ADMIN_PATH . "js/jquery.mousewheel.js?" . $LAST_LOCAL_PATCH . "'></script>";
        //$ret .= "<script type='text/javascript' src='" . $nc_core->ADMIN_PATH . "js/jquery.jscrollpane.min.js?" . $LAST_LOCAL_PATCH . "'></script>";
    }
    if ($nc_core->get_variable("admin_mode") || $nc_core->get_settings("QuickBar") && nc_quickbar_permission()) {
        $lang = $nc_core->lang->detect_lang(1);
        if ($lang == 'ru') {
            $lang = $nc_core->NC_UNICODE ? "ru_utf8" : "ru_cp1251";
        }
        $files[] = $nc_core->ADMIN_PATH . "js/lang/" . $lang . ".js";
        $files[] = $nc_core->ADMIN_PATH . "js/nc/nc.min.js";
        $files[] = $nc_core->ADMIN_PATH . "js/nc/ui/modal_dialog.min.js";
        if (in_array(strtolower($NC_CHARSET), array('cp1251', 'windows-1251', 'win-1251', '1251'))) {
            $files[] = $nc_core->ADMIN_PATH . 'js/transliterate-cp1251.js';
        } else {
            $files[] = $nc_core->ADMIN_PATH . 'js/transliterate-utf8.js';
        }
        $files[] = $nc_core->ADMIN_PATH . "js/nc_admin.js";
        $files[] = $nc_core->ADMIN_PATH . "js/lib.js";
        $files[] = $nc_core->ADMIN_PATH . "js/forms.js";
        $files[] = $nc_core->ADMIN_PATH . 'js/datepicker/bootstrap-datepicker.min.js';
        //$ret .= "<script type='text/javascript' src='" . $nc_core->ADMIN_PATH . "js/lang/" . $lang . ".js' charset='" . $nc_core->NC_CHARSET . "'></script>" . PHP_EOL;
        //$ret .= "<script type='text/javascript' src='" . $nc_core->ADMIN_PATH . "js/nc/nc.min.js'></script>" . PHP_EOL;
        //$ret .= "<script type='text/javascript' src='" . $nc_core->ADMIN_PATH . "js/nc/ui/modal_dialog.min.js'></script>" . PHP_EOL;
        //$ret .= "<script type='text/javascript' src='" . $nc_core->ADMIN_PATH . "js/nc_admin.js'></script>" . PHP_EOL;
        //$ret .= "<script type='text/javascript' src='" . $nc_core->ADMIN_PATH . "js/lib.js'></script>" . PHP_EOL;
        //$ret .= "<script type='text/javascript' src='" . $nc_core->ADMIN_PATH . "js/forms.js'></script>" . PHP_EOL;
    }
    $http_jquery_folder_path = nc_standardize_path_to_folder($nc_core->SUB_FOLDER . $nc_core->HTTP_TEMPLATE_PATH . "jquery/");
    $files[] = $http_jquery_folder_path . "jquery.nclsdisplay.js";
    //$ret .= "<script type='text/javascript' src='" . $http_jquery_folder_path . "jquery.nclsdisplay.js'></script>" . PHP_EOL;
    $minified = nc_minify_file($files, 'js');
    //$minified = $files;
    foreach ($minified as $file) {
        $ret .= "<script type='text/javascript' src='" . $file . "'></script>" . PHP_EOL;
    }
    // (1) Include datepicker:
    //$html = "<script src='$admin_js_path/datepicker/bootstrap-datepicker.min.js'></script>\n";
    $datepicker_html = "<link rel='stylesheet' href='" . $nc_core->ADMIN_PATH . "js/datepicker/datepicker.css' />\n";
    // (2) Configure datepicker
    // datepicker docs: https://github.com/eternicode/bootstrap-datepicker
    $nc = '$nc';
    if (PHP_INT_SIZE == 4) {
        $start_date = date("Y-m-d", -PHP_INT_MAX);
        $end_date = date("Y-m-d", PHP_INT_MAX);
    } else {
        $start_date = "1901-01-01";
        $end_date = "2200-12-31";
    }
    $script = "\n            (function(datepicker) {\n                if (datepicker) {\n                    datepicker.dates['netcat'] = {\n                        days: " . nc_array_json(explode(" ", NETCAT_DATEPICKER_CALENDAR_DAYS)) . ",\n                        daysShort: " . nc_array_json(explode(" ", NETCAT_DATEPICKER_CALENDAR_DAYS_SHORT)) . ",\n                        daysMin: " . nc_array_json(explode(" ", NETCAT_DATEPICKER_CALENDAR_DAYS_MIN)) . ",\n                        months: " . nc_array_json(explode(" ", NETCAT_DATEPICKER_CALENDAR_MONTHS)) . ",\n                        monthsShort: " . nc_array_json(explode(" ", NETCAT_DATEPICKER_CALENDAR_MONTHS_SHORT)) . ",\n                        today: '" . addcslashes(NETCAT_DATEPICKER_CALENDAR_TODAY, "'") . "'\n                    };\n                    {$nc}.extend(datepicker.defaults, {\n                        format: '" . NETCAT_DATEPICKER_CALENDAR_DATE_FORMAT . "',\n                        language: 'netcat',\n                        autoclose: true,\n                        weekStart: 1,\n                        startDate: '{$start_date}',\n                        endDate: '{$end_date}'\n                    });\n                }\n            })({$nc}.fn.datepicker);\n        ";
    $ret .= $datepicker_html . "<script>\n" . str_replace(array(" ", "\n", "\r"), "", $script) . "\n</script>\n";
    $released = 1;
    return $ret_jquery . $ret_css . ($addslashes ? str_replace("\\'", "'", addcslashes($ret, "\"'\$")) : $ret);
}
Example #2
0
        exit;
    }
}
switch ($phase) {
    case 1:
        # покажем список рубрик
        BeginHtml($Title2, $Title2, "http://" . $DOC_DOMAIN . "/management/favorites/");
        $UI_CONFIG = new ui_config_favorite('list');
        ShowFavorites();
        //echo "<a href=# onclick=\"window.open('".$ADMIN_PATH."subdivision/favorites.php?phase=4','LIST','top=50, left=100,directories=no,height=600,location=no,menubar=no,resizable=no,scrollbars=yes,status=yes,toolbar=no,width=400');return false;\"><b>".CONTROL_CONTENT_SUBDIVISION_FUNCS_ADDSECTION."</b></a>";
        break;
    case 4:
    case 2:
        // покажем список разделов всего сайта для добавления в избранное
        $structure = GetSubsForFavorites(0, "get_children", $catid);
        print "<html>\n\t\t <title>" . SECTION_CONTROL_CONTENT_FAVORITES . "</title>\n\t\t <head>\n\t\t  <link type='text/css' rel='Stylesheet' href='" . $ADMIN_TEMPLATE . "css/admin.css'>\n\t\t  " . nc_css() . "\n\t\t  <script>\n\n\t\t    function add_to_favorites(sub_id, phase)\n                    {\n";
        print "opener.frames['mainViewIframe'].location.href='" . $ADMIN_PATH . "subdivision/favorites.php?phase='+phase+'&subid='+sub_id;";
        print "\n}\n\n\t\t  </script>\n\t\t </head>\n\t\t <body style='overflow-y: visible;'>";
        echo "<div id='menu_left' style='padding: 15px;'>\n            <div class='menu_left_block' style='overflow: visible;'>";
        ShowCataloguesForFavorites($catid, $phase);
        ShowSubsForFavorites($structure, 0, $catid, $phase);
        echo "</div></div>";
        echo "</body></html>";
        break;
    case 3:
        //Добавление в избранное
        if ($perm->isSubdivisionAdmin($subid)) {
            AddFavorites($subid);
        }
        header("Location: http://" . $HTTP_HOST . "" . $ADMIN_PATH . "");
        break;