예제 #1
0
 public function checkMessage()
 {
     require './database/Database.php';
     require './gcm/Gcm.php';
     $db = new Database();
     $dateTime = new DateTime('now', new DateTimeZone('Asia/Calcutta'));
     $queryTime = $dateTime->format('Y-m-d H:i:s');
     $queryString = "SELECT * FROM `message` WHERE `sent` = 0 AND `datetime` <= '{$queryTime}' ";
     if ($query = $db->queryDb($queryString)) {
         $gcm = new Gcm();
         $data = array();
         foreach ($query as $row) {
             switch ($row['update_type']) {
                 case 0:
                     $data['type'] = 0;
                     $data['message'] = $row['description'];
                     break;
                 case 1:
                     $data['type'] = 1;
                     $data['name'] = $row['name'];
                     $data['location'] = $row['location'];
                     $data['desc'] = $row['description'];
                     $data['long'] = $row['longitude'];
                     $data['lat'] = $row['latitude'];
                     break;
                 case 2:
                     $data['type'] = 2;
                     $data['url'] = 'http://10.42.0.1/gcm/images/' . $row['pick'];
                     $data['desc'] = $row['description'];
                     break;
                 default:
                     throw new Exception('Unsupported operation');
             }
             if ($gcm_response = $gcm->sendNotifcation(json_encode($data))) {
                 $jsonResponse = json_decode($gcm_response, TRUE);
                 $message_id = $jsonResponse['message_id'];
                 $this->setSent($db, $message_id, $row['message_id']);
             }
             sleep(1);
         }
     }
 }
예제 #2
0
    public static function updateRegisteredToken($token, $tokenId)
    {
        require_once './database/Database.php';
        $db = new Database();
        $updateQuery = "UPDATE `registered_devices` SET `token_id`='{$token}' WHERE `registration_id`='{$tokenId}'";
        return $db->queryUpdateDb($updateQuery);
    }
}
if (isset($_GET['token']) && $_GET['token'] != '') {
    if ($_GET['refreshed'] == 'false') {
        if (Register::registerDevice($_GET['token'])) {
            //send notification to registered user
            require './gcm/Gcm.php';
            $gcm = new Gcm();
            $messageWellcome = '{"type": "0", "message":"Well come to Archismat. We are happy to see you."}';
            $gcm->sendNotifcation($messageWellcome, $_GET['token']);
            //Notification sent
            echo mysqli_insert_id(Database::$conn);
        } else {
            echo -1;
        }
    } else {
        if ($_GET['refreshed'] == 'true') {
            if (Register::updateRegisteredToken($_GET['token'], $_GET['update_id'])) {
                echo 1;
            } else {
                echo -1;
            }
        }
    }
}