/** * 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; }