Esempio n. 1
0
 /**
  * Marks database responses as downloaded
  * @static
  * @param array $arr_ids response ids to mark
  * @param array $db 'SC Database array'
  * @param bool $local local database or not?
  */
 public static function mark_as_downloaded($arr_ids, $db, $local = FALSE)
 {
     // Connect to the database
     try {
         $dsn = SC_Data_Recording::getDSN($db);
         $pdo = new PDO($dsn, $db['user'], $db['pass']);
         $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     } catch (PDOException $e) {
         exit('Could not connect to database');
     }
     //Update response status to flag as downloaded
     $qmarks = array_fill(0, count($arr_ids), '?');
     $sql = "UPDATE `responses` SET `Status` = ?, `Exported` = ? WHERE `ResponseID` IN (" . implode(", ", $qmarks) . ")";
     $params = array(SC_Data_Recording::DB_STATUS_DOWNLOADED, time());
     foreach ($arr_ids as $id) {
         $params[] = $id;
     }
     try {
         $stmt = $pdo->prepare($sql);
         $stmt->execute($params);
     } catch (PDOException $e) {
         exit('Responses update error. ' . $e->getMessage());
     }
     $pdo = NULL;
 }