public function updateMarked()
 {
     $controller = new AppController();
     $fitbit = $controller->loadComponent('Fitbit');
     $lr_table = TableRegistry::get('LinkedRecords');
     $linked_records = $lr_table->find()->contain('SocialAccounts')->where(['marked_for_update' => 1]);
     foreach ($linked_records as $linked_record) {
         $fitbit->_saveSteps($linked_record->social_account, 'steps', $linked_record->associated_date);
     }
 }
Example #2
0
 public function afterCookieLogin($event, $entity, $options = [])
 {
     $controller = new AppController();
     $auth = $controller->loadComponent('Auth');
     $this->_plusPlusCount($auth->user(), 'cookie_login_count');
 }
Example #3
0
 public function generateAllFriendActivities()
 {
     $controller = new AppController();
     $stream = $controller->loadComponent('Stream');
     $f_table = TableRegistry::get('Friendships');
     $friends = $f_table->find()->where(['status' => 'accepted'])->order(['Friendships.modified' => 'desc'])->all();
     foreach ($friends as $friend) {
         $base_data = $stream->_createStreamData($friend->id, 'Friendship');
         if (!$base_data) {
             continue;
         }
         //            debug($friend->getShortName());
         //            debug($base_data);
         //            if($base_data['game_type_name'] =='Coding')
         //                continue;
         //            debug($base_data);
         //            debug($game->winners);
         //            debug($base_data['display']);
         //            if (!$tm_table->exists(['id'=>$base_data['first_user_id']]))
         $stream->_pushToStream($base_data, $base_data['first_user_id']);
         //            if (!$tm_table->exists(['id'=>$base_data['second_user_id']]))
         $stream->_pushToStream($base_data, $base_data['second_user_id']);
     }
 }
 /**
  * Start the shell and interactive console.
  *
  * @return int|void
  */
 public function main()
 {
     $sa_table = TableRegistry::get('Friendships');
     $fitbit_accounts = $sa_table->find()->matching('Froms.SocialAccounts', function ($q) {
         return $q->where(['provider' => 'Fitbit']);
     })->contain(['Tos']);
     $game = TableRegistry::get('Games');
     $controller = new AppController();
     $stream = $controller->loadComponent('Stream');
     $tm_table = TableRegistry::get('TempMembers');
     debug(Time::now()->i18nFormat('yyyy-MM-dd 00:00:00'));
     $lr_table = TableRegistry::get('LinkedRecords');
     foreach ($fitbit_accounts as $fitbit_account) {
         //find all pairings of fitbit friends
         if (empty($social_accounts = $fitbit_account['to']['social_accounts'])) {
             continue;
         }
         $fitbit_social_account = false;
         foreach ($social_accounts as $social_account) {
             if ($social_account->provider == 'Fitbit') {
                 $fitbit_social_account = $social_account->id;
             }
         }
         if (!$fitbit_social_account) {
             continue;
         }
         //
         //find todays linked record
         $to = $lr_table->find()->where(['social_account_id' => $fitbit_social_account, 'associated_date' => Time::now()->i18nFormat('yyyy-MM-dd 00:00:00')]);
         if (!$to->first()) {
             continue;
         }
         //
         //            debug($to->first());
         //            return;
         $to_mem = ['member_id' => $fitbit_account->to->id, 'points' => null, 'role' => 'member', 'linked_record_id' => $to->first()->id];
         if (empty($social_accounts = $fitbit_account['from']['social_accounts'])) {
             continue;
         }
         $fitbit_social_account = false;
         foreach ($social_accounts as $social_account) {
             if ($social_account->provider == 'Fitbit') {
                 $fitbit_social_account = $social_account->id;
             }
         }
         if (!$fitbit_social_account) {
             continue;
         }
         $from = $lr_table->find()->where(['social_account_id' => $fitbit_social_account, 'associated_date' => Time::now()->i18nFormat('yyyy-MM-dd 00:00:00')]);
         if (!$from->first()) {
             continue;
         }
         $from_mem = ['member_id' => $fitbit_account->from->id, 'points' => null, 'role' => 'member', 'linked_record_id' => $from->first()->id];
         $game_array = ['status' => 'complete', 'score_type' => 'score', 'game_type_id' => '81e376fa-9f08-4814-82e7-00a2cbf1935b', 'game_memberships' => [$to_mem, $from_mem]];
         $new_game = $game->newEntity($game_array);
         if ($game->save($new_game)) {
             $base_data = $stream->_createStreamData($new_game->id, 'Game');
             Debugger::log($base_data);
             if ($base_data) {
                 if (!$tm_table->exists(['id' => $base_data['first_user_id']])) {
                     $stream->_pushToStream($base_data, $base_data['first_user_id']);
                 }
                 if (!$tm_table->exists(['id' => $base_data['second_user_id']])) {
                     $stream->_pushToStream($base_data, $base_data['second_user_id']);
                 }
             }
         }
     }
 }