コード例 #1
0
ファイル: User.php プロジェクト: stellio/vTrack
 public function action_save()
 {
     $msg = '';
     $user_id = $this->request->post('user_id');
     $b = new Browser();
     $url = "https://api.vk.com/method/users.get?user_ids=" . $user_id;
     $response = $b->openUrl($url)->jsonAsArray();
     if (isset($response['response'])) {
         foreach ($response['response'] as $user) {
             $userRecord = ORM::factory('User')->where('user_id', '=', $user['uid'])->find_all();
             if (count($userRecord)) {
                 $msg = 'Пользователь уже добавлен';
                 $this->template->content = View::factory('msg/error')->bind('msg', $msg);
             } else {
                 $newUser = ORM::factory('User');
                 $newUser->user_id = $user['uid'];
                 $newUser->first_name = $user['first_name'];
                 $newUser->last_name = $user['last_name'];
                 if ($newUser->save()) {
                     $msg = "Добавлен";
                     $this->template->content = View::factory('msg/success')->bind('msg', $msg);
                 }
             }
         }
     }
 }
コード例 #2
0
ファイル: update.php プロジェクト: stellio/vTrack
// class and creates the table if it doesn't already exist.
// Wouldn't normally be needed if the table is already there.
$db = ORM::get_db();
$db->exec("\n        CREATE TABLE IF NOT EXISTS users (\n            id INTEGER PRIMARY KEY AUTO_INCREMENT, \n            user_id TEXT,\n            first_name TEXT,\n            last_name TEXT\n        ) DEFAULT CHARSET=utf8;");
$db->exec("\n\t\tCREATE TABLE IF NOT EXISTS trackers (\n    \t\tid INTEGER PRIMARY KEY AUTO_INCREMENT, \n    \t\tuser_id TEXT,\n\t\t\tdate TEXT,\n\t\t\tparams TEXT\n\t\t) DEFAULT CHARSET=utf8;");
$users = ORM::for_table('users')->find_many();
$idList = array();
foreach ($users as $user) {
    $idList[] = $user->user_id;
}
$idList = implode(',', $idList);
$b = new Browser();
// $url =  "https://api.vk.com/method/users.get?user_ids=101009040,parruslt&fields=online,online_mobile";
$url = sprintf("https://api.vk.com/method/users.get?user_ids=%s&fields=online,online_mobile", $idList);
// $url =  "https://api.vk.com/method/users.get?user_ids=138355715&fields=online,online_mobile";
$response = $b->openUrl($url)->jsonAsArray();
// echo "<pre>";
// print_r($response);
// echo "</pre>";
// exit();
if (isset($response['response'])) {
    foreach ($response['response'] as $user) {
        $userRecord = ORM::for_table('users')->where('user_id', $user['uid'])->find_one();
        if ($userRecord) {
            if (isset($user['online']) && $user['online'] == '1') {
                $currentDate = date('Y.m.d');
                $trackRecord = ORM::for_table('trackers')->where(array('user_id' => $user['uid'], 'date' => $currentDate))->find_one();
                if ($trackRecord) {
                    $params = unserialize($trackRecord->params);
                    $params[] = array('time' => date('H:i'), 'from_mobile' => isset($user['online_mobile']) ? 1 : 0, 'from_mobile_app' => isset($user['online_app']) ? 1 : 0);
                    $trackRecord->params = serialize($params);