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>"); }
} $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) {
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)')"); }