Exemple #1
0
 protected function grabb($directory_user)
 {
     log_message('TASK_ERROR', __FUNCTION__ . ' > ' . 'Reviews grabber');
     try {
         $directory = new DM_Directory($directory_user['directory_id']);
         if (!$directory->exists()) {
             throw new Exception('Directory id:' . $directory_user['directory_id'] . ' doesn\'t exist');
         }
         if (!$directory->status) {
             throw new Exception('Directory id:' . $directory_user['directory_id'] . ' is disabled');
         }
         $link = !empty($directory_user['additional']) && !($directory->type == 'Foursquare') ? $directory_user['additional'] : $directory_user['link'];
         $directory_parcer = Directory_Parser::factory($directory->type)->set_url($link);
         //For fousquare only
         $directory_parcer->set_directory_user($directory_user);
         $reviews = $directory_parcer->get_reviews();
     } catch (Exception $e) {
         log_message('TASK_ERROR', __FUNCTION__ . ' > ' . 'Reviews: ' . $e->getMessage());
         throw $e;
     }
     //$today_midnight = strtotime('-7 day midnight');
     $today_midnight = strtotime('-34 day midnight');
     if (is_array($reviews) && !empty($reviews)) {
         foreach ($reviews as $_review) {
             $review_model = new Review();
             $review_model->from_array($_review);
             $review_model->user_id = $directory_user['user_id'];
             $review_model->directory_id = $directory_user['directory_id'];
             $review_model->posted_date = date('Y-m-d', $_review['posted']);
             $review_model->save();
             if (!$review_model->id) {
                 var_dump($review_model->error);
             }
             log_message('TASK_ERROR', __FUNCTION__ . ' > ' . 'Review saved');
             // notify user about new review
             if ($_review['posted'] > $today_midnight && !empty($review_model->id) && !empty($directory_user['user_id']) && !empty($directory_user['notify'])) {
                 $obj = Reviews_notification::addOne($directory_user['user_id'], $review_model->id);
                 if (!$obj->id) {
                     echo 'Error notification: ' . date('d-m-Y H:i') . ' - ' . $obj->error->string . PHP_EOL;
                 }
             }
         }
     }
 }
Exemple #2
0
 public function grabber(array $directory_user)
 {
     try {
         $directory = new DM_Directory($directory_user['directory_id']);
         if (!$directory->exists()) {
             throw new Exception('Directory id:' . $directory_user['directory_id'] . ' doesn\'t exist');
         }
         if (!$directory->status) {
             throw new Exception('Directory id:' . $directory_user['directory_id'] . ' is disabled');
         }
         $link = !empty($directory_user['additional']) ? $directory_user['additional'] : $directory_user['link'];
         $directory_parcer = Directory_Parser::factory($directory->type)->set_url($link);
         $reviews = $directory_parcer->get_reviews();
     } catch (Exception $e) {
         throw $e;
     }
     //$today_midnight = strtotime('-7 day midnight');
     $today_midnight = strtotime('-14 day midnight');
     foreach ($reviews as $_review) {
         $review_model = new Review();
         $review_model->from_array($_review);
         $review_model->user_id = $directory_user['user_id'];
         $review_model->directory_id = $directory_user['directory_id'];
         $review_model->posted_date = date('Y-m-d', $_review['posted']);
         $review_model->save();
         // notify user about new review
         if (!empty($directory_user['notify_status']) && $_review['posted'] > $today_midnight && !empty($review_model->id) && !empty($directory_user['user_id']) && !empty($directory_user['notify'])) {
             $obj = Reviews_notification::addOne($directory_user['user_id'], $review_model->id);
             if (!$obj->id) {
                 echo 'Error notification: ' . date('d-m-Y H:i') . ' - ' . $obj->error->string . PHP_EOL;
             }
         }
     }
 }