public function delete($user_id = NULL)
 {
     $user = $this->prepare_user($user_id);
     if ($this->ion_auth->is_admin($user_id)) {
         $url = 'manage_admins';
     } elseif ($this->ion_auth->is_manager($user_id)) {
         $url = 'manage_accounts';
     } else {
         $url = 'admin_users';
     }
     if ($this->ion_auth->is_collaborator($user_id)) {
         $this->c_user->delete($user);
     }
     $user_deleted = $this->ion_auth->delete_user($user->id);
     if (!$user_deleted) {
         $this->addFlash(lang('delete_error', [$this->ion_auth->errors()]));
         redirect('admin/admin_users');
     }
     $sender = $this->get('core.mail.sender');
     $sender->sendUserDeleteMail(array('user' => $user));
     $access_token = new Access_token();
     $access_token->where('user_id', $user->id)->get()->delete_all();
     $directory_user = new Directory_User();
     $directory_user->where('user_id', $user->id)->get()->delete_all();
     $facebook_fanpage = new Facebook_Fanpage();
     $facebook_fanpage->where('user_id', $user->id)->get()->delete_all();
     $keyword = new Keyword();
     $keyword->where('user_id', $user->id)->get();
     foreach ($keyword as $k) {
         $keyword_rank = new Keyword_rank();
         $keyword_rank->where('keyword_id', $k->id)->get()->delete_all();
     }
     $keyword->delete_all();
     $media = new Media();
     $media->where('user_id', $user->id)->get()->delete_all();
     $post = new Post();
     $post->where('user_id', $user->id)->get();
     foreach ($post as $p) {
         $post_social = new Post_social();
         $post_social->where('post_id', $p->id)->get()->delete_all();
     }
     $post->delete_all();
     $review = new Review();
     $review->where('user_id', $user->id)->get()->delete_all();
     $reviews_notification = new Reviews_notification();
     $reviews_notification->where('user_id', $user->id)->get()->delete_all();
     $rss_feeds_users = new Rss_feeds_users();
     $rss_feeds_users->where('user_id', $user->id)->get()->delete_all();
     $social_post = new Social_post();
     $social_post->where('user_id', $user->id)->get()->delete_all();
     $social_value = new Social_value();
     $social_value->where('user_id', $user->id)->get()->delete_all();
     $user_additional = new User_additional();
     $user_additional->where('user_id', $user->id)->get()->delete_all();
     $user_feed = new User_feed();
     $user_feed->where('user_id', $user->id)->get()->delete_all();
     $user_timezone = new User_timezone();
     $user_timezone->where('user_id', $user->id)->get()->delete_all();
     $this->addFlash(lang('delete_success'), 'success');
     redirect('admin/' . $url);
 }
Exemple #2
0
 public function notf()
 {
     $this->load->helper('review_format');
     $subject = 'New reviews';
     $users = Reviews_notification::getUniqUsers();
     foreach ($users as $user) {
         $dap_user = new User($user['user_id']);
         if (!$dap_user) {
             //Reviews_notification::deleteAllByUser($user['user_id']);
             continue;
         }
         $email = $dap_user->email;
         $reviews = Reviews_notification::getReviewsByUser($user['user_id']);
         if ($reviews->count()) {
             $notification = array('to' => $email, 'subject' => $subject, 'body' => array());
             $notification['body']['body'] = $this->template->block('notify_review', 'templates/email/notify_review', array('reviews' => $reviews));
             $notification['body']['content_type'] = 'text/html';
             $sender = $this->get('core.mailer');
             $sender->sendMail($notification['subject'], $notification['body'], $notification['to']);
             // $reviews->delete_all();
         }
     }
 }
Exemple #3
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;
             }
         }
     }
 }