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