예제 #1
0
 /**
  * Call the Character API
  *
  */
 private function CallCharacterAPI()
 {
     global $db;
     $Guild = new \bbdkp\controller\guilds\Guilds();
     $Guild->guildid = request_var('hidden_guildid', 0);
     $Guild->Getguild();
     $minlevel = request_var('hidden_minlevel', 0);
     $maxlevel = request_var('hidden_maxlevel', 200);
     $selectactive = request_var('hidden_active', 0);
     $selectnonactive = request_var('hidden_nonactive', 0);
     $member_filter = utf8_normalize_nfc(request_var('hidden_member_name', '', true));
     $members_result = $Guild->listmembers('member_id', 0, 0, $minlevel, $maxlevel, $selectactive, $selectnonactive, $member_filter, true);
     $log = '';
     $i = 0;
     $j = 0;
     while ($row = $db->sql_fetchrow($members_result)) {
         if ($j > 100) {
             break;
         }
         $member = new \bbdkp\controller\members\Members($row['member_id']);
         $last_update = $member->last_update;
         $diff = \round(\abs(\time() - $last_update) / 86400, 2);
         // 1 days ago ? call armory
         if ($diff > 1) {
             $i += 1;
             if ($log != '') {
                 $log .= ', ';
             }
             $old_member = new \bbdkp\controller\members\Members($row['member_id']);
             if (isset($member)) {
                 if ($member->member_rank_id < 90) {
                     $member->Armory_getmember();
                 }
                 $member->Updatemember($old_member);
             }
             unset($old_member);
             $log .= $row['member_name'];
         }
         unset($member);
         $j++;
     }
     $db->sql_freeresult($members_result);
     unset($members_result);
     return array($i, $log);
 }