public function delete() { if ($this->getRouterId() != 0) { //delete all interfaces $networkinterfacelist = new Networkinterfacelist(false, $this->getRouterId()); $networkinterfacelist->delete(); //delete originator statusses $originator_status_list = new OriginatorStatusList($this->getRouterId()); $originator_status_list->delete(); //delete batman advanced interfaces try { $stmt = DB::getInstance()->prepare("DELETE FROM crawl_batman_advanced_interfaces WHERE router_id=?"); $stmt->execute(array($this->getRouterId())); } catch (PDOException $e) { echo $e->getMessage(); echo $e->getTraceAsString(); } //delete router statusses $router_status_list = new RouterStatusList($this->getRouterId()); $router_status_list->delete(); //delete event notifications (we need to delete all notifications that users created for this router //thats why we need a list here) $event_notification_list = new EventNotificationList(false, "router_offline", $this->getRouterId()); $event_notification_list->delete(); //Delete api keys $api_key_list = new ApiKeyList($this->getRouterId(), 'router'); $api_key_list->delete(); //delete router try { $stmt = DB::getInstance()->prepare("DELETE FROM routers WHERE id=?"); $stmt->execute(array($this->getRouterId())); return $stmt->rowCount(); } catch (PDOException $e) { echo $e->getMessage(); echo $e->getTraceAsString(); } } return false; }
//Crawl routers echo "Crawl routers\n"; if (!isset($GLOBALS['crawllog'])) { $GLOBALS['crawllog'] = false; } if ($GLOBALS['crawllog'] && !is_dir(ROOT_DIR . "/logs/")) { mkdir(ROOT_DIR . "/logs/"); } $range = 15; $routers_count = Router_old::countRouters(); for ($i = 0; $i <= $routers_count; $i += $range) { //start an independet crawl process for each $range routers to crawl routers simultaniously $return = array(); if ($GLOBALS['crawllog']) { $logcmd = "> " . ROOT_DIR . "/logs/crawler_" . $i . "-" . ($i + $range) . ".txt"; } else { $logcmd = "> /dev/null"; } $cmd = "php " . ROOT_DIR . "/integrated_xml_ipv6_crawler.php -o" . $i . " -l" . $range . " " . $logcmd . " & echo \$!"; echo "Initializing crawl process to crawl routers " . $i . " to " . ($i + $range) . "\n"; echo "Running command: {$cmd}\n"; exec($cmd, $return); echo "The initialized crawl process has the pid {$return['0']}\n"; } /** * Notifications */ echo "Sending notifications\n"; $event_notification_list = new EventNotificationList(); $event_notification_list->notify(); echo "Done\n";
if ($event_notification->delete()) { $message[] = array('Die Benachrichtigung wurde gelöscht.', 1); } else { $message[] = array('Die Benachrichtigung konnte nicht gelöscht werden.', 2); } Message::setMessage($message); header('Location: ./event_notifications.php'); } else { Permission::denyAccess(PERM_ROOT, $event_notification->getUserId()); } } elseif (empty($_POST)) { if (Permission::checkPermission(PERM_USER)) { $routerlist = new Routerlist(false, false, false, false, false, false, false, false, 0, -1); $routerlist->sort("hostname", "asc"); $smarty->assign('routerlist', $routerlist->getRouterlist()); $event_notification_list = new EventNotificationList($_SESSION['user_id']); $smarty->assign('event_notification_list', $event_notification_list->getEventNotificationList()); $smarty->display("header.tpl.html"); $smarty->display("event_notifications.tpl.html"); $smarty->display("footer.tpl.html"); } else { Permission::denyAccess(PERM_USER); } } else { if (Permission::checkPermission(PERM_USER)) { $event_notification = new EventNotification(false, (int) $_SESSION['user_id'], $_POST['action'], (int) $_POST['object'], true); if ($event_notification->store()) { $message[] = array('Die Benachrichtigung wurde eingetragen.', 1); } else { $message[] = array('Die Benachrichtigung konnte nicht eingetragen werden.', 2); }