public function POST()
 {
     //        throw new RESTMethodNotImplementedException ('Pesquisa', 'POST');
     $sk = new SecureKeyAuth();
     $sk->checkAuth();
     $params = $this->getPostParams();
     $fields = implode(',', array_keys($params));
     $keyparams = implode(',', array_map(function ($value) {
         return ':' . $value;
     }, array_keys($params)));
     $db = Database::getDatabase();
     try {
         $st = $db->prepare("INSERT INTO pesquisa ({$fields}) VALUES ({$keyparams})");
         foreach ($params as $field => $value) {
             $tipo = is_int($value) ? PDO::PARAM_INT : PDO::PARAM_STR;
             $st->bindValue(':' . $field, $value, $tipo);
         }
         if ($st->execute()) {
             $this->setResult(array('status' => 'OK'));
         } else {
             //$this->setResult($db->errorInfo());
             $this->setResult(array('status' => 'ERROR', 'fields' => $fields, 'keyparams' => $keyparams, 'sqlerrorcode' => $db->errorCode()));
         }
     } catch (PDOException $ex) {
         throw new RESTObjectException('Database insert fail');
     }
 }
 public function POST()
 {
     $sk = new SecureKeyAuth();
     $sk->checkAuth();
     $params = $this->getPostParams();
     $db = Database::getDatabase();
     $st = $db->prepare('INSERT INTO ' . 'promocao (idartista, nome, celular, texto)' . 'VALUES (:idartista, :nome, :celular, :texto)');
     $st->bindValue(':idartista', $params['idartista'], PDO::PARAM_INT);
     $st->bindValue(':nome', $params['nome'], PDO::PARAM_STR);
     $st->bindValue(':celular', $params['celular'], PDO::PARAM_STR);
     $st->bindValue(':texto', $params['texto'], PDO::PARAM_STR);
     if ($st->execute()) {
         $this->setResult(array('status' => 'OK', 'message' => 'Mensagem cadastrada com sucesso.'));
     } else {
         $this->setResult($db->errorInfo());
     }
 }
 public function POST()
 {
     throw new RESTMethodNotImplementedException('Device', 'POST');
     $fim = Application::getConf('votacao')->fim;
     $agora = time;
     if ($agora > $fim) {
         throw new RESTObjectException('Votações encerradas', $agora);
     }
     $sk = new SecureKeyAuth();
     $sd = new SecureDeviceHash();
     $sk->checkAuth();
     $sd->checkAuth();
     $params = $this->getPostParams();
     $db = Database::getDatabase();
     if ($db->select('device_votou_momo', "iddevice = {$params['iddevice']}")->fetch()) {
         throw new RESTObjectException('Você já votou para momo');
     }
     try {
         $db->beginTransaction();
         $flag = false;
         //inserir registro votado
         $flag = $db->exec("INSERT INTO device_votou_momo (iddevice) VALUES ({$params['iddevice']})") ? TRUE : FALSE;
         //inserir registro
         if ($flag) {
             $flag = $db->exec("INSERT INTO votos_momo (idmomo) VALUES ({$params['idmomo']})") ? TRUE : FALSE;
         }
         if ($flag) {
             $db->commit();
         } else {
             $db->rollBack();
             throw new RESTObjectException('Database insert fail');
         }
         $this->GET();
     } catch (PDOException $ex) {
         $db->rollBack();
         throw new RESTObjectException('Database insert fail');
     }
 }
 public function POST()
 {
     throw new RESTMethodNotImplementedException('Device', 'POST');
     $sk = new SecureKeyAuth();
     $sk->checkAuth();
     //Verificando secure key
     $result = array();
     $params = $this->getPostParams();
     if ($params === FALSE) {
         throw new RESTMethodNotImplementedException('Device', 'POST');
     }
     $flag_exists = false;
     $db = Database::getDatabase();
     if (trim(strtolower($params['platform'])) == 'android') {
         //Verificando serial
         $st_result = $db->query("SELECT * FROM device WHERE serial = '{$params['serial']}'")->fetch();
         $flag_exists = $st_result !== false;
     } else {
         $this->setResult(array('status' => 'ERROR', 'message' => 'Only Android devices are permited'));
         return;
     }
     if ($flag_exists) {
         $this->setResult(array('status' => 'ERROR', 'message' => 'Device is registered on database'));
         return;
     }
     $st = $db->prepare('INSERT INTO ' . 'device (uuid, serial, version, platform, model, hash_key)' . 'VALUES (:uuid, :serial, :version, :platform, :model, :hash_key)');
     $params['hash_key'] = md5($params['uuid'] . $params['model'] . $params['serial']);
     foreach ($params as $field => $value) {
         $result[$field] = $value;
         $st->bindValue(':' . $field, $value);
     }
     if ($st->execute()) {
         $this->setResult(array('status' => 'OK', 'iddevice' => $db->lastInsertId(), 'hash_key' => $params['hash_key']));
     } else {
         $this->setResult($db->errorInfo());
     }
 }