Example #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');
 }
Example #2
0
 public function action_create()
 {
     if (Input::method() == 'POST') {
         $val = Model_Adam_Announcement::validate('create');
         if ($val->run()) {
             $adam_announcement = Model_Adam_Announcement::forge(array('campaign' => Input::post('campaign'), 'alert_type' => Input::post('alert_type'), 'remove_date' => Input::post('remove_date')));
             if ($adam_announcement and $adam_announcement->save()) {
                 Session::set_flash('success', 'Added adam_announcement #' . $adam_announcement->id . '.');
                 Response::redirect('adam/announcements');
             } else {
                 Session::set_flash('error', 'Could not save adam_announcement.');
             }
         } else {
             Session::set_flash('error', $val->error());
         }
     }
     $this->template->title = "Adam_Announcements";
     $this->template->content = View::forge('adam/announcements/create');
 }
Example #3
0
 public function check_dialable_leads($campaign_id, $dialler = null)
 {
     date_default_timezone_set('Europe/London');
     $dialler = is_null($dialler) ? "gabdialler" : $dialler;
     $campaign_stats = \Goautodial\Model_Vicidial_Campaign_Stats::find($campaign_id, array(), $dialler);
     if ($campaign_stats->dialable_leads < $campaign_stats->calls_fivemin) {
         $previous_alerts = \Model_Adam_Announcement::query()->where('campaign', $campaign_id)->where('alert_type', 'LEADS5');
         if ($previous_alerts->count() == 0) {
             $sendMessage = static::$emergency_introductions[rand(0, count(static::$emergency_introductions) - 1)] . "There are less than 5 minutes worth of leads left in the " . $campaign_id . " campaign on " . $dialler . ". " . $message;
             //$message = @Adam::pick_best_lists($campaign_id, $dialler);
             Adam::send_push_message($sendMessage);
             Adam::submit_ticket("LEADS ALERT - " . $dialler, $sendMessage, 10, 5);
             $adam_announcement = \Model_Adam_Announcement::forge(array('campaign' => $campaign_id, 'alert_type' => "LEADS5", 'remove_date' => date("Y-m-d H:i:s", strtotime("+5 minutes"))));
             $adam_announcement->save();
         }
     } else {
         if ($campaign_stats->dialable_leads < $campaign_stats->calls_fivemin * 3) {
             $previous_alerts = \Model_Adam_Announcement::query()->where('campaign', $campaign_id)->where('alert_type', 'LEADS15');
             if ($previous_alerts->count() == 0) {
                 $sendMessage = static::$moderate_introductions[rand(0, count(static::$moderate_introductions) - 1)] . "There are less than 15 minutes worth of leads left in the " . $campaign_id . " campaign on " . $dialler . ". " . $message;
                 //$message = @Adam::pick_best_lists($campaign_id, $dialler);
                 Adam::send_push_message($sendMessage);
                 Adam::submit_ticket("LEADS WARNING - " . $dialler, $sendMessage, 10, 4);
                 $adam_announcement = \Model_Adam_Announcement::forge(array('campaign' => $campaign_id, 'alert_type' => "LEADS15", 'remove_date' => date("Y-m-d H:i:s", strtotime("+15 minutes"))));
                 $adam_announcement->save();
             }
         } else {
             if ($campaign_stats->dialable_leads < $campaign_stats->calls_halfhour) {
                 $previous_alerts = \Model_Adam_Announcement::query()->where('campaign', $campaign_id)->where('alert_type', 'LEADS30');
                 if ($previous_alerts->count() == 0) {
                     $sendMessage = static::$casual_introductions[rand(0, count(static::$casual_introductions) - 1)] . "There are less than 30 minutes worth of leads left in the " . $campaign_id . " campaign on " . $dialler . ". " . $message;
                     //$message = @Adam::pick_best_lists($campaign_id, $dialler);
                     Adam::send_push_message($sendMessage);
                     Adam::submit_ticket("LEADS ALERT - " . $dialler, $sendMessage, 10, 3);
                     $adam_announcement = \Model_Adam_Announcement::forge(array('campaign' => $campaign_id, 'alert_type' => "LEADS30", 'remove_date' => date("Y-m-d H:i:s", strtotime("+30 minutes"))));
                     $adam_announcement->save();
                 }
             }
         }
     }
 }
Example #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;
 }