Beispiel #1
0
if (!$counter) {
    echo "<big>Error: invalid counter ID</big>";
    exit;
}
if ($counter->User_Counter_Code) {
    // пользовательский счетчик
    echo "it's user-counter";
    exit;
}
// График "посетители"
echo "<img style='display:block; margin:0 auto;' alt='' src='attendance_diagram.php?counter_id=" . $counter->Openstat_Counter_Id . "&start_date=" . $from . "&end_date=" . $to . "&time_offset=" . $time_offset . "&level_of_detailing=" . $period . "&width=" . $width . "'>";
echo "<br />";
echo "<div style='clear: both; width: 100%;'>\n";
$from = $from + $time_offset;
$to = $to + $time_offset;
$openstat = new nc_Openstat_core_class($nc_core->get_settings('Openstat_Login', 'stats'), $nc_core->get_settings('Openstat_Password', 'stats'));
//        ----------------- сводная статистика ---------------------
$fieldset = new nc_admin_fieldset(NETCAT_MODULE_STATS_OPENSTAT_SUMMARY_STATS, 'on');
$fieldset->add("<table border='0' width='100%'>");
// Просмотры - визиты - посетители
$fieldset->add("<tr><td>");
$columns = array("0%0Dvisitors_sum", "0%0Dsessions_sum", "0%0Dpageviews_sum");
$attendance_report = $openstat->get_counter_report($counter->Openstat_Counter_Id, "Attendance", $from, $to, $period, $columns, 1, $lang);
if (!is_array($attendance_report)) {
    $fieldset->add(show_err($attendance_report));
} else {
    $sessions_num = $attendance_report['sum'][1];
    $fieldset->add(NETCAT_MODULE_STATS_OPENSTAT_SUM_PAGEVIEWS . ": <big>" . $attendance_report['sum'][2] . "</big></td>");
    $fieldset->add("<td>" . NETCAT_MODULE_STATS_OPENSTAT_SUM_SESSIONS . ": <big>" . $attendance_report['sum'][1] . "</big></td>");
    $fieldset->add("<td>" . NETCAT_MODULE_STATS_OPENSTAT_SUM_VISITORS . ": <big>" . $attendance_report['sum'][0] . "</big>");
}
Beispiel #2
0
}
$NETCAT_FOLDER = join(strstr(__FILE__, "/") ? "/" : "\\", array_slice(preg_split("/[\\/\\\\]+/", __FILE__), 0, -5)) . (strstr(__FILE__, "/") ? "/" : "\\");
include_once $NETCAT_FOLDER . "vars.inc.php";
require $ROOT_FOLDER . 'connect_io.php';
require $ADMIN_FOLDER . 'function.inc.php';
include_once $MODULE_FOLDER . "stats/openstat/openstat_core_class.php";
$ttf_font_file = $ROOT_FOLDER . "require/font/default.ttf";
$lang = $nc_core->lang->detect_lang(1);
if (!@(include_once $MODULE_FOLDER . "stats/" . $lang . ".lang.php")) {
    @(include_once $MODULE_FOLDER . "stats/en.lang.php");
}
if (!$perm->isSupervisor()) {
    exit;
}
global $nc_core;
$openstat = new nc_Openstat_core_class($nc_core->get_settings('Openstat_Login', 'stats'), $nc_core->get_settings('Openstat_Password', 'stats'));
$start_date = intval($start_date);
$end_date = intval($end_date);
$time_offset = intval($time_offset);
$counter_id = intval($counter_id);
$width = intval($width);
$width = $width > 640 ? $width : 640;
$columns = array("0%0Dvisitors_sum", "0%0Dsessions_sum", "0%0Dpageviews_sum");
$report = $openstat->get_counter_report($counter_id, "Attendance", $start_date + $time_offset, $end_date + $time_offset, $level_of_detailing, $columns, 0, $lang);
if (!$report) {
    echo "error";
    exit;
}
$y_min = $y_max = $report['item'][0]['c'][0];
$items = array();
foreach ($report['item'] as $item) {
Beispiel #3
0
function show_counters($phase)
{
    global $nc_core, $db;
    global $counters, $default_templ_id, $UI_CONFIG;
    if ($phase == 1) {
        // Форма добавления счетчика через API
        if (!extension_loaded('curl')) {
            nc_print_status(NETCAT_MODULE_STATS_OPENSTAT_NOT_FOUND_CURL, "error");
            EndHtml();
            exit;
        }
        $ret = add_api_counter();
        if ($ret) {
            return;
        }
    } elseif ($phase == 3 && isset($_POST['DeleteCounter'])) {
        // удалить выбранные
        global $DeleteCounter, $counters;
        $openstat = new nc_Openstat_core_class($nc_core->get_settings('Openstat_Login', 'stats'), $nc_core->get_settings('Openstat_Password', 'stats'));
        foreach ($counters as $del_counter) {
            //$DeleteCounter as $del_counter_id => $del_counter_flag) {
            if ($DeleteCounter[$del_counter->Counter_Id]) {
                if (!$del_counter->User_Counter_Code) {
                    $err_code = $openstat->delete_counter($del_counter->Openstat_Counter_Id);
                    if ($err_code != 204) {
                        if ($err_code == 403) {
                            nc_print_status(NETCAT_MODULE_STATS_OPENSTAT_ERROR_NEW_COUNTER_AUTH_ERROR, "error");
                        } else {
                            nc_print_status(NETCAT_MODULE_STATS_OPENSTAT_ERROR_DEL_COUNTER . $err_code, "error");
                        }
                        $UI_CONFIG->actionButtons[] = array("id" => "back", "caption" => NETCAT_MODULE_STATS_OPENSTAT_BACK, "align" => "left", "action" => "urlDispatcher.load('module.stats.openstat.counters')");
                        return;
                    }
                }
                $db->query("DELETE FROM `Stats_Openstat_Counters` WHERE `Counter_Id` = '" . $del_counter->Counter_Id . "'");
            }
        }
        nc_print_status(NETCAT_MODULE_STATS_CHANGES_SAVED, "ok");
    } elseif ($phase == 4 && isset($_POST['DoAction'])) {
        //удалить все
        $openstat = new nc_Openstat_core_class($nc_core->get_settings('Openstat_Login', 'stats'), $nc_core->get_settings('Openstat_Password', 'stats'));
        foreach ($counters as $del_counter) {
            if (!$del_counter->User_Counter_Code) {
                $err_code = $openstat->delete_counter($del_counter->Openstat_Counter_Id);
                if ($err_code != 204) {
                    if ($err_code == 403) {
                        nc_print_status(NETCAT_MODULE_STATS_OPENSTAT_ERROR_NEW_COUNTER_AUTH_ERROR, "error");
                    } else {
                        nc_print_status(NETCAT_MODULE_STATS_OPENSTAT_ERROR_DEL_COUNTER . $err_code, "error");
                    }
                    $UI_CONFIG->actionButtons[] = array("id" => "back", "caption" => NETCAT_MODULE_STATS_OPENSTAT_BACK, "align" => "left", "action" => "urlDispatcher.load('module.stats.openstat.counters')");
                    return;
                }
            }
            $db->query("DELETE FROM `Stats_Openstat_Counters` WHERE `Counter_Id` = '" . $db->escape($del_counter->Counter_Id) . "'");
        }
        nc_print_status(NETCAT_MODULE_STATS_CHANGES_SAVED, "ok");
    } elseif ($phase == 5) {
        // Форма добавления своего кода счетчика
        $ret = add_user_counter();
        if ($ret) {
            return;
        }
    } elseif ($phase == 7 && isset($_GET['counter_id'])) {
        //  вывод формы изменения
        global $counter_id;
        $counter_id = intval($counter_id);
        $counter_params = $counters[$counter_id];
        if (!$counter_params) {
            nc_print_status(NETCAT_MODULE_STATS_OPENSTAT_INVALID_COUNTER_ID, "error");
        } else {
            if ($counter_params->User_Counter_Code) {
                // свой код счетчика
                $GLOBALS['CounterCatalogueId'] = $counter_params->Catalogue_Id;
                $GLOBALS['UserCounterCode'] = $counter_params->Counter_Code;
                $GLOBALS['CounterCatalogueId'] = $counter_params->Catalogue_Id;
                $GLOBALS['CounterInAllTempl'] = 1;
                add_user_counter();
            } else {
                // Автосгенерированный счетчик
                $GLOBALS['CounterCatalogueId'] = $counter_params->Catalogue_Id;
                $GLOBALS['CounterRating'] = $counter_params->Rating;
                $GLOBALS['CounterAdvert'] = $counter_params->Advert;
                $GLOBALS['CounterColor'] = $counter_params->Color;
                $GLOBALS['CounterPicture'] = $counter_params->Size;
                $GLOBALS['CounterTrackLinks'] = $counter_params->TrackLinks;
                $GLOBALS['CounterInAllTempl'] = 1;
                add_api_counter();
            }
        }
        return;
    } elseif ($phase == 8) {
        // выбираем тип счетчика
        if (!($sites_ddlist = show_sites_without_counter_ddlist($counters))) {
            nc_print_status(NETCAT_MODULE_STATS_OPENSTAT_ERROR_ALREADY_COUNTERS_FOR_ALL_SITES, "error");
        } else {
            echo "<div style='position: absolute; top: 40%; width:95%; text-align: center;'>\n          <p><a href='?sub_view=counters&phase=1'>" . NETCAT_MODULE_STATS_OPENSTAT_ADD_API_COUNTER . "</a></p>\n          <br />\n          <p><a href='?sub_view=counters&phase=5'>" . NETCAT_MODULE_STATS_OPENSTAT_ADD_USER_COUNTER . "</a></p>\n          </div>\n";
        }
        $UI_CONFIG->actionButtons[] = array("id" => "back", "caption" => NETCAT_MODULE_STATS_OPENSTAT_BACK, "align" => "left", "action" => "urlDispatcher.load('module.stats.openstat.counters')");
        return;
    } elseif ($phase == 9) {
        // подтверждение удаления всех счетчиков
        echo "<p>" . NETCAT_MODULE_STATS_OPENSTAT_DEL_ALL_CONFIRM . "</p>\n";
        echo "<form name='delAllCountersFormSubmit' id='delAllCountersFormSubmit' method='post' action='?sub_view=counters&phase=4'>\n          <input type='hidden' name='DoAction' value='1'>\n          </form>\n";
        $UI_CONFIG->actionButtons[] = array("id" => "back", "caption" => NETCAT_MODULE_STATS_OPENSTAT_YES, "align" => "right", "action" => "mainView.submitIframeForm('delAllCountersFormSubmit')");
        $UI_CONFIG->actionButtons[] = array("id" => "back", "caption" => NETCAT_MODULE_STATS_OPENSTAT_NO, "align" => "left", "action" => "urlDispatcher.load('module.stats.openstat.counters')");
        return;
    } elseif ($phase == 10) {
        // подтверждение удаления выбранных счетчиков
        global $DeleteCounter, $counters;
        echo "<p>" . NETCAT_MODULE_STATS_OPENSTAT_DEL_SELECTED_CONFIRM . "</p>\n";
        echo "<form name='delCountersFormSubmit' id='delCountersFormSubmit' method='post' action='?sub_view=counters&phase=3'>";
        foreach ($DeleteCounter as $del_counter => $value) {
            echo "<input type='hidden' name='DeleteCounter[" . $del_counter . "]' value='" . $value . "'>\n";
        }
        echo "</form>\n";
        $UI_CONFIG->actionButtons[] = array("id" => "back", "caption" => NETCAT_MODULE_STATS_OPENSTAT_YES, "align" => "right", "action" => "mainView.submitIframeForm('delCountersFormSubmit')");
        $UI_CONFIG->actionButtons[] = array("id" => "back", "caption" => NETCAT_MODULE_STATS_OPENSTAT_NO, "align" => "left", "action" => "urlDispatcher.load('module.stats.openstat.counters')");
        return;
    }
    // -------------------- Выводим все счетчики -----------------------------
    $counters = $db->get_results("SELECT * FROM Stats_Openstat_Counters");
    if (!check_counters()) {
        return;
    }
    if ($counters) {
        echo "<form name='delCountersForm' id='delCountersForm' method='post' action='?sub_view=counters&phase=10'>\n            <table border=0 cellpadding=0 cellspacing=0 width=100%>\n            <tr><td >\n            <table class='admin_table' width=100%>\n            <tr>\n            <td  width=3%>ID</td>\n            <td  width=82%>" . NETCAT_MODULE_STATS_ADMIN_TAB_OPENSTAT_CATALOGUE . "</td>\n            <td width=5%>" . NETCAT_MODULE_STATS_ADMIN_TAB_OPENSTAT_EDIT . "</td>\n            <td align=center><div class='icons icon_delete' title='" . NETCAT_MODULE_STATS_ADMIN_TAB_OPENSTAT_DELETE . "'></div></td>\n            </tr>\n";
        foreach ($counters as $counter) {
            echo "<tr><td>" . $counter->Counter_Id . "</td>\n                <td>" . ($counter->Catalogue_Id ? "<a target='blank' href='http://" . $nc_core->catalogue->get_by_id($counter->Catalogue_Id, 'Domain') . "'>" . $counter->Catalogue_Id . ": " . $nc_core->catalogue->get_by_id($counter->Catalogue_Id, 'Catalogue_Name') . "</a>" : NETCAT_MODULE_STATS_OPENSTAT_ALL_SITES) . "</td>\n                <td align='center'><a href='?sub_view=counters&phase=7&counter_id=" . $counter->Counter_Id . "'><div class='icons icon_folder_edit' title='" . NETCAT_MODULE_STATS_ADMIN_TAB_OPENSTAT_EDIT . "'></div></a></td>\n                <td align='center'><input type='checkbox' name='DeleteCounter[" . $counter->Counter_Id . "]' value='1'></td>";
        }
        echo "</table></td></tr></table></form>";
        $UI_CONFIG->actionButtons[] = array("id" => "delete", "align" => "left", "caption" => NETCAT_MODULE_STATS_OPENSTAT_DEL_SELECTED, "action" => "mainView.submitIframeForm('delCountersForm')", "red_border" => true);
        $UI_CONFIG->actionButtons[] = array("id" => "delete_all", "align" => "left", "caption" => NETCAT_MODULE_STATS_OPENSTAT_DEL_ALL, "action" => "urlDispatcher.load('module.stats.openstat.counters(9)')", "red_border" => true);
    } else {
        nc_print_status(NETCAT_MODULE_STATS_OPENSTAT_NO_COUNTERS, "info");
    }
    $UI_CONFIG->actionButtons[] = array("id" => "add", "caption" => NETCAT_MODULE_STATS_OPENSTAT_ADD_COUNTER, "action" => "urlDispatcher.load('module.stats.openstat.counters(8)')");
}