Exemplo n.º 1
0
 /**
  * Check for not-updated-today, not-deleted  keywords
  * And set for rank update if exist
  * 
  * daily
  */
 public function queue_keywords_for_update()
 {
     $keyword_rank = new Keyword_rank();
     $keyword_rank_ids = $keyword_rank->where('date', date('Y-m-d'))->get()->all_to_single_array('keyword_id');
     if (empty($keyword_rank_ids)) {
         $keyword_rank_ids = array(0);
     }
     $keywords = new Keyword();
     $keywords->where('is_deleted', 0)->where_not_in('id', $keyword_rank_ids)->get();
     if (!$keywords->exists()) {
         log_message('CRON_ERROR', __FUNCTION__ . ' > ' . 'No keywords for rank update');
         return;
     }
     $acc = $this->getAAC();
     foreach ($keywords as $keyword) {
         $user = new User($keyword->user_id);
         if (!$user->exists()) {
             continue;
         }
         $acc->setUser($user);
         if (!$acc->isGrantedPlan('local_search_keyword_tracking')) {
             continue;
         }
         $args = $keyword->to_array();
         $this->jobQueue->addJob('tasks/google_rank_task/grabber', $args, array('thread' => self::GOOGLE_RANK_THREAD));
     }
     $ids_str = implode(', ', array_values($keywords->all_to_single_array('id')));
     log_message('CRON_SUCCESS', __FUNCTION__ . ' > ' . 'Keywords for rank update ids: ' . $ids_str);
     return;
 }
Exemplo n.º 2
0
 public function listKeywords($dataaccountid, $start, $count, $orderby, $desc)
 {
     /*
     $details = new StdClass();
     $details->host = 'localhost';
     $details->database = 'data_17';
     $details->username = '******';
     $details->password = '******';
     
     //Config::set('database.connections.mysqlCustom.database', $details->database);
     Config::set('database.connections.key', array(
     	'driver'    => 'mysql',
     	'host'      => 'localhost',
     	'database'  => 'data_18',
     	'username'  => 'root',
     	'password'  => 'root',
     	));
     */
     //Config::set('database.connections.account', ['driver' => 'mysql', 'host' => $details->host, 'database' => $details->database, 'username' => $details->username, 'password' => $details->password]);
     //Config::set('database.connections.default', 'account');
     //DB::setDefaultConnection('account');
     /*
     Config::set('database.connections.mysql_tenant.database', $details->database);
     DB::setDefaultConnection('mysql_tenant');
     */
     if ($desc == 'true') {
         $desc = 'desc';
     } else {
         $desc = 'asc';
     }
     $totalRows = Keyword::where('dataAccount', $dataaccountid)->count();
     return Response::json(array('count' => $totalRows, 'data' => Keyword::where('dataAccount', $dataaccountid)->skip($start)->take($count)->orderBy($orderby, $desc)->get()));
 }
Exemplo n.º 3
0
 public function hourly_queue_keywords_for_update()
 {
     $keyword_rank = new Keyword_rank();
     $keyword_rank_ids = $keyword_rank->where('date', date('Y-m-d'))->get()->all_to_single_array('keyword_id');
     if (empty($keyword_rank_ids)) {
         $keyword_rank_ids = array(0);
     }
     $keywords = new Keyword();
     $keywords->where('is_deleted', 0)->where_not_in('id', $keyword_rank_ids)->get();
     if (!$keywords->exists()) {
         // log_message('CRON_ERROR', __FUNCTION__ . ' > ' . 'No keywords for rank update');
         exit;
     }
     $all_args = array();
     foreach ($keywords as $keyword) {
         $args = $keyword->to_array();
         $all_args[] = $args;
     }
     foreach ($all_args as $keyword_array) {
         try {
             $this->hourly_queue_keywords_for_update_single($keyword_array);
         } catch (Exception $e) {
             echo "Error " . $e->getMessage() . "\n";
         }
     }
     $ids_str = implode(', ', array_values($keywords->all_to_single_array('id')));
     log_message('CRON_SUCCESS', __FUNCTION__ . ' > ' . 'Keywords for rank update ids: ' . $ids_str);
     exit;
 }
Exemplo n.º 4
0
 public function kw()
 {
     $keyword_rank = new Keyword_rank();
     $keyword_rank_ids = $keyword_rank->where('date', date('Y-m-d'))->get()->all_to_single_array('keyword_id');
     if (empty($keyword_rank_ids)) {
         $keyword_rank_ids = array(0);
     }
     $keywords = new Keyword();
     $keywords->where('is_deleted', 0)->where_not_in('id', $keyword_rank_ids)->get();
     foreach ($keywords as $keyword) {
         var_dump($keyword->id);
     }
 }
Exemplo n.º 5
0
 public static function createWordCloud2($dataaccountid)
 {
     $tagArray = [];
     $temp = [];
     $temp = Keyword::where('dataAccount', $dataaccountid)->get(array('keyword'));
     foreach ($temp as $key => $keywrd) {
         $temp = explode(" ", $keywrd->keyword);
         if (sizeof($temp) > 1) {
             if (isset($tagArray[$temp[0] . " " . $temp[1]])) {
                 $tagArray[$temp[0] . " " . $temp[1]]++;
             } else {
                 $tagArray[$temp[0] . " " . $temp[1]] = 1;
             }
         }
     }
     arsort($tagArray, SORT_NUMERIC);
     //Sort alphabetically
     $insertData = [];
     foreach ($tagArray as $word => $count) {
         $insertData[] = array('word' => $word, 'freq' => $count, 'numword' => 2, 'dataaccount' => $dataaccountid);
     }
     DB::table('wordcloud')->insert($insertData);
     return Response::json($tagArray);
 }
Exemplo n.º 6
0
 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);
 }
 public function fetchDataSetsByUserId($userId)
 {
     // Return all data accounts
     $temp = [];
     // AUTHENTICATION NOT IMPLIMENTED
     //$dataac = DataAccount::where('user_id', $userId)->get();
     $dataac = DataAccount::get();
     foreach ($dataac as $k => $v) {
         $v->keywordCount = Keyword::where('dataAccount', $v->id)->count();
         $v->landingPageUrls = $v->landingPageUrls()->get();
         // Laravel's magic
         $temp[] = $v;
     }
     return Response::json($temp);
     //return Response::make(DataAccount::get());
     return $userId;
 }
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function destroy($id)
 {
     // Delete the data account and all data associated with it
     $lp = DataAccount::find($id)->landingPageUrls()->get();
     // Laravel's magic
     foreach ($lp as $v) {
         DB::table('landingpagewordcloud')->where('landing_page_urls_id', $v->id)->delete();
     }
     DataAccount::find($id)->landingPageUrls()->delete();
     DataAccount::destroy($id);
     Keyword::where('dataAccount', $id)->delete();
     Stopword::where('dataAccount', $id)->delete();
     Negativekeyword::where('dataAccount', $id)->delete();
     DB::table('keywords_segment')->where('dataAccount', $id)->delete();
     DB::table('segmentmap')->where('dataAccount', $id)->delete();
     DB::table('wordcloud')->where('dataAccount', $id)->delete();
     //DB::statement( 'drop database data_' . $id );
     return Response::json(array('success' => true));
 }