예제 #1
0
 public function post_server_stats($server)
 {
     $new = Model_Server_Statistic::forge();
     $new->server = $server;
     $new->server_stats = serialize($_POST);
     $new->save();
     if ((int) $_POST['harddisk'] <= 5) {
         $previous_alerts = \Model_Adam_Announcement::query()->where('campaign', $server)->where('alert_type', 'SERVERSPACE15');
         if ($previous_alerts->count() == 0) {
             Controller_Heartbeat::submit_ticket("Disk Space Low on " . $server, "Disk space on server " . $server . " is running low. Currently at " . $_POST['harddisk'] . "% Free!", 1, 4);
             $adam_announcement = \Model_Adam_Announcement::forge(array('campaign' => $server, 'alert_type' => "SERVERSPACE15", 'remove_date' => date("Y-m-d H:i:s", strtotime("+15 minutes"))));
             $adam_announcement->save();
         }
     } else {
         if ((int) $_POST['harddisk'] <= 10) {
             $previous_alerts = \Model_Adam_Announcement::query()->where('campaign', $server)->where('alert_type', 'SERVERSPACE60');
             if ($previous_alerts->count() == 0) {
                 Controller_Heartbeat::submit_ticket("Disk Space Low on " . $server, "Disk space on server " . $server . " is running low. Currently at " . $_POST['harddisk'] . "% Free!", 1, 3);
                 $adam_announcement = \Model_Adam_Announcement::forge(array('campaign' => $server, 'alert_type' => "SERVERSPACE60", 'remove_date' => date("Y-m-d H:i:s", strtotime("+60 minutes"))));
                 $adam_announcement->save();
             }
         }
     }
     $this->response('SUCCESS');
 }
예제 #2
0
 public function action_delete($id = null)
 {
     if ($adam_announcement = Model_Adam_Announcement::find($id)) {
         $adam_announcement->delete();
         Session::set_flash('success', 'Deleted adam_announcement #' . $id);
     } else {
         Session::set_flash('error', 'Could not delete adam_announcement #' . $id);
     }
     Response::redirect('adam/announcements');
 }
예제 #3
0
파일: adam.php 프로젝트: ClixLtd/pccupload
 public function remove_announcements()
 {
     date_default_timezone_set('Europe/London');
     $removable = \Model_Adam_Announcement::query()->where('remove_date', '<', date('Y-m-d H:i:s'))->get();
     foreach ($removable as $remove) {
         $remove->delete();
     }
 }
예제 #4
0
 private function get_html_dom($surname, $town, $page_number = 1)
 {
     date_default_timezone_set('Europe/London');
     $html = null;
     while (!is_object($html)) {
         $proxy_query = \Model_Proxy::find()->where('fail_count', '<', static::$current_max_count)->order_by('use_count', 'asc')->limit(1);
         while ($proxy_query->count() == 0) {
             static::$current_max_count++;
             echo "Proxy Count Now: " . static::$current_max_count;
             @ob_flush();
             $proxy_query = \Model_Proxy::find()->where('fail_count', '<', static::$current_max_count);
         }
         if ($proxy_query->count() > 0) {
             $count = $proxy_query->count();
             if ($count < 50 and static::$current_max_count == 1) {
                 $previous_alerts = \Model_Adam_Announcement::find()->where('campaign', 'NULL')->where('alert_type', 'PROXY-50');
                 if ($previous_alerts->count() == 0) {
                     Datascrape::send_push_message("Just so you know, there are less than 50 fresh proxies available to use!");
                     $adam_announcement = \Model_Adam_Announcement::forge(array('campaign' => "NULL", 'alert_type' => "PROXY-50", 'remove_date' => date("Y-m-d H:i:s", strtotime("+15 minutes"))));
                     $adam_announcement->save();
                 }
             }
             $proxy = $proxy_query->get_one();
             echo "Trying Proxy (from " . $count . ") - " . $proxy->host . ":" . $proxy->port;
             $html = \Simple_Html_Dom\helper::file_get_html('http://www.ukphonebook.com/telephone_directory/search?data_source=osis&name=' . $surname . '&place=' . $town . '&er_years%5B0%5D=pre-2013&er_years%5B1%5D=2013&page=' . $page_number, false, stream_context_create(array('http' => array('proxy' => $proxy->host . ":" . $proxy->port, 'request_fulluri' => true, 'timeout' => 10, 'method' => "GET", 'header' => "Accept-language: en\r\n" . "Cookie: foo=bar\r\n" . "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.107 Safari/534.13\r\n"))));
             if (!is_object($html)) {
                 $proxy->use_count = $proxy->use_count + 1;
                 $proxy->fail_count = $proxy->fail_count + 1;
                 $proxy->save();
                 echo " - Failed\n";
                 @ob_flush();
             } else {
                 $proxy->use_count = $proxy->use_count + 1;
                 $proxy->save();
                 echo " - Passed\n";
             }
         } else {
             $html = "NOPROXY";
         }
     }
     return $html;
 }