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); } } }
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; } } } }