public function delete($id) { \OCP\DB::beginTransaction(); $query = \OCP\DB::prepare('DELETE FROM *PREFIX*ownboard_postit_comments ' . 'WHERE id = ?'); $query->execute(array($id)); \OCP\DB::commit(); }
/** * Handle user removal from ownCloud */ public static function notifyUserDeletion($args) { try { \OCP\DB::beginTransaction(); $query = \OCP\DB::prepare('SELECT `pid`, `title` FROM `*PREFIX*collaboration_project` WHERE `pid` IN (SELECT DISTINCT(`pid`) FROM `*PREFIX*collaboration_works_on` WHERE `member`=?) AND `completed`=?'); $result = $query->execute(array($args['uid'], false)); $projs = $result->fetchAll(); if (count($projs) != 0) { $projects = $projs[0]['title']; $pids = $projs[0]['pid']; for ($i = 1; $i < count($projs); $i++) { $projects .= ', ' . $projs[$i]['title']; $pids .= ' ' . $projs[$i]['pid']; } OC_Collaboration_Post::createPost('Member Removed', 'Owncloud member \'' . $args['uid'] . '\' has been removed from owncloud and hence from the project(s) ' . $projects, OC_User::getUser(), NULL, 'Member removal', OC_Collaboration_Project::getMembersWorkingOnProjects(explode(' ', $pids)), true); } OC_Collaboration_Project::deleteMemberRole(NULL, $args['uid'], NULL, OC_User::getUser(), true); OC_Collaboration_Skillset::removeSkillsOfMember($args['uid']); OC_Collaboration_Post::removePostsByMember($args['uid'], true); \OCP\DB::commit(); OC_Log::write('collaboration', 'User deletion notification posted.', OCP\Util::INFO); } catch (\Exception $e) { OC_Log::write('collaboration', __METHOD__ . ', Exception: ' . $e->getMessage(), OCP\Util::DEBUG); return false; } }
public function setLast($userId, $phoneNumber, $lastDate) { \OCP\DB::beginTransaction(); $query = \OCP\DB::prepare('DELETE FROM *PREFIX*ocsms_conversation_read_states ' . 'WHERE user_id = ? AND phone_number = ?'); $query->execute(array($userId, $phoneNumber)); $query = \OCP\DB::prepare('INSERT INTO *PREFIX*ocsms_conversation_read_states' . '(user_id, phone_number, int_date) VALUES ' . '(?,?,?)'); $query->execute(array($userId, $phoneNumber, $lastDate)); \OCP\DB::commit(); }
public function setSetting($settingName, $userId, $settingValue) { \OCP\DB::beginTransaction(); $query = \OCP\DB::prepare('DELETE FROM *PREFIX*weather_config ' . 'WHERE `user` = ? and `key` = ?'); $query->execute(array($userId, $settingName)); $query = \OCP\DB::prepare('INSERT INTO *PREFIX*weather_config ' . '(`user`,`key`,`value`) VALUES (?,?,?)'); $query->execute(array($userId, $settingName, $settingValue)); \OCP\DB::commit(); }
public static function logRead($params) { //LOG: user, path, time // $logstring = \OCP\User::getUser().", ".$params['path'].", ".date("d-m-Y H:i:s"); $sql = "insert into `*PREFIX*accessstats_items` (`username`,`path`,`time`) values (?,?,?)"; \OCP\DB::beginTransaction(); $query = \OCP\DB::prepare($sql); $result = $query->execute(array(\OCP\User::getUser(), $params['path'], time())); \OCP\DB::commit(); }
public function delete($id) { \OCP\DB::beginTransaction(); // First delete comments in postits in the category $query = \OCP\DB::prepare('DELETE FROM *PREFIX*ownboard_postit_comments ' . 'WHERE postit_id IN (SELECT id FROM *PREFIX*ownboard_postit ' . 'WHERE category_id = ?)'); $query->execute(array($id)); // Next delete postits in the category $query = \OCP\DB::prepare('DELETE FROM *PREFIX*ownboard_postit ' . 'WHERE category_id = ?'); $query->execute(array($id)); // Then delete the category $query = \OCP\DB::prepare('DELETE FROM *PREFIX*ownboard_category ' . 'WHERE id = ?'); $query->execute(array($id)); \OCP\DB::commit(); }
public function create($userId, $name) { \OCP\DB::beginTransaction(); $query = \OCP\DB::prepare('INSERT INTO *PREFIX*weather_city ' . '(user_id, name) VALUES (?,?)'); $query->execute(array($userId, $name)); \OCP\DB::commit(); $sql = 'SELECT max(id) as maxid FROM ' . '*PREFIX*weather_city WHERE user_id = ? and name = ?'; $query = \OCP\DB::prepare($sql); $result = $query->execute(array($userId, $name)); if ($row = $result->fetchRow()) { return $row['maxid']; } return null; }
public function create($categoryId, $title) { $now = date("Y-m-d H:i:s"); \OCP\DB::beginTransaction(); $query = \OCP\DB::prepare('INSERT INTO *PREFIX*ownboard_postit' . '(title, category_id, last_update) VALUES (?,?,?)'); $query->execute(array($title, $categoryId, $now)); \OCP\DB::commit(); $sql = 'SELECT max(id) FROM ' . '*PREFIX*ownboard_postit WHERE category_id = ? and title = ? ' . 'and last_update = ?'; $query = \OCP\DB::prepare($sql); $result = $query->execute(array($categoryId, $title, $now)); if ($row = $result->fetchRow()) { return array("id" => $row['max'], "last_update" => $now); } return null; }
/** * Reset the flag to true for all accounts * @param OutputInterface $output */ protected function reset($output) { try { \OCP\DB::beginTransaction(); $sql = "UPDATE *PREFIX*preferences\n SET configvalue = 1\n WHERE appid = 'user_set_password' AND configkey = 'show'"; $stmt = \OCP\DB::prepare($sql); $rowCount = $stmt->execute(); \OCP\DB::commit(); $this->consoleDisplay(' flags have been resetted to "true".'); } catch (\Exception $e) { // rollBack not implemented in \OCP\DB! (ownCloud 7.0.5) $conn = \OCP\DB::getConnection(); $conn->rollBack(); $this->consoleDisplay('Fatal error: ' . $e->getMessage(), self::ERROR); } }
/** * Create a flag set to false for each existing account * @param OutputInterface $output */ protected function Init($output) { try { \OCP\DB::beginTransaction(); $sql = "INSERT INTO *PREFIX*preferences\n (SELECT uid, 'user_set_password', 'show', 0 FROM oc_users)\n ON duplicate key UPDATE configvalue = 0"; $stmt = \OCP\DB::prepare($sql); $rowCount = $stmt->execute(); \OCP\DB::commit(); $this->consoleDisplay(' flags have been initialized to "false".'); } catch (\Exception $e) { // rollBack not implemented in \OCP\DB! (ownCloud 7.0.5) $conn = \OCP\DB::getConnection(); $conn->rollBack(); $this->consoleDisplay('Fatal error: ' . $e->getMessage(), self::ERROR); } }
/** * @brief Alter the contents of a comment * @param Comment ID * @param Modified content to be presented in the comment * @return date|boolean (Modified time|false) */ public static function editComment($comment_id, $content) { try { \OCP\DB::beginTransaction(); $query = \OCP\DB::prepare('UPDATE `*PREFIX*collaboration_comment` SET `content`=?, `time`=CURRENT_TIMESTAMP WHERE `comment_id`=?'); $result = $query->execute(array($content, $comment_id)); $query = \OCP\DB::prepare('SELECT `time` FROM `*PREFIX*collaboration_comment` WHERE `comment_id`=?'); $result = $query->execute(array($comment_id)); $time = NULL; if ($row = $result->fetchRow()) { $time = $row['time']; } \OCP\DB::commit(); return $time; } catch (\Exception $e) { OC_Log::write('collaboration', __METHOD__ . ', Exception: ' . $e->getMessage(), OCP\Util::DEBUG); return false; } }
/** * @brief Delete a member from a role of a project * @param Project ID from which the role has to be removed * @param Member whose role has to be removed * @param Role to be removed * @param Member who removed the other member from his/her role * @param Whether the calling method has already initiated the (database) transaction * @return int|boolean (ID of the post intimating the role removal|false) */ public static function deleteMemberRole($pid, $member, $role, $user, $inTransaction = false) { try { if (!$inTransaction) { \OCP\DB::beginTransaction(); } // Remove from all roles if (is_null($pid) && is_null($role)) { $query = \OCP\DB::prepare('DELETE FROM `*PREFIX*collaboration_works_on` WHERE `member`=?'); $result = $query->execute(array($member)); } else { $query = \OCP\DB::prepare('DELETE FROM `*PREFIX*collaboration_works_on` WHERE `pid`=? AND `member`=? AND `role`=?'); $result = $query->execute(array($pid, $member, $role)); } // Member removed from owncloud if (is_null($pid)) { OC_Collaboration_Task::removeMembersTasks($member, $user, true); } else { if (!self::isMemberWorkingOnProject($member, $pid)) { OC_Collaboration_Task::unassignMembersTasks($member, $pid, $user, true); } } $post_id = OC_Collaboration_Post::createPost('Removed from role', 'You are removed from \'' . $role . '\' role from project \'' . self::getProjectTitle($pid) . '\'.', $user, $pid, 'Role Deletion', array($member), true); if (!$inTransaction) { \OCP\DB::commit(); } return $post_id; } catch (\Exception $e) { OC_Log::write('collaboration', __METHOD__ . ', Exception: ' . $e->getMessage(), OCP\Util::DEBUG); return false; } }
public function writeToDB($userId, $smsList, $purgeAllSmsBeforeInsert = false) { \OCP\DB::beginTransaction(); if ($purgeAllSmsBeforeInsert === true) { $query = \OCP\DB::prepare('DELETE FROM *PREFIX*ocsms_smsdatas ' . 'WHERE user_id = ?'); $result = $query->execute(array($userId)); } foreach ($smsList as $sms) { $smsFlags = sprintf("%s%s", $sms["read"] === "true" ? "1" : "0", $sms["seen"] === "true" ? "1" : "0"); // Only delete if we haven't purged the DB if ($purgeAllSmsBeforeInsert === false) { // Remove previous record // @ TODO: only update the required fields, getAllIds can be useful $query = \OCP\DB::prepare('DELETE FROM *PREFIX*ocsms_smsdatas ' . 'WHERE user_id = ? AND sms_id = ?'); $result = $query->execute(array($userId, (int) $sms["_id"])); } $now = date("Y-m-d H:i:s"); $query = \OCP\DB::prepare('INSERT INTO *PREFIX*ocsms_smsdatas ' . '(user_id, added, lastmodified, sms_flags, sms_date, sms_id,' . 'sms_address, sms_msg, sms_mailbox, sms_type) VALUES ' . '(?,?,?,?,?,?,?,?,?,?)'); $result = $query->execute(array($userId, $now, $now, $smsFlags, $sms["date"], (int) $sms["_id"], $sms["address"], $sms["body"], (int) $sms["mbox"], (int) $sms["type"])); } \OCP\DB::commit(); }
/** * @brief Edit the given post with the given title and content * @param Post ID * @param Title of the post * @param Modified post content * @return boolean (true|false) */ public static function editPost($post_id, $title, $content) { try { \OCP\DB::beginTransaction(); $query = \OCP\DB::prepare('UPDATE `*PREFIX*collaboration_post` SET `title`=?, `content`=?, `time`=CURRENT_TIMESTAMP WHERE `post_id`=?'); $del_comment = \OCP\DB::prepare('DELETE FROM `*PREFIX*collaboration_comment` WHERE `post_id`=?'); $result = $query->execute(array($title, $content, $post_id)); $result = $del_comment->execute(array($post_id)); \OCP\DB::commit(); return true; } catch (\Exception $e) { OC_Log::write('collaboration', __METHOD__ . ', Exception: ' . $e->getMessage(), OCP\Util::DEBUG); return false; } }
$data['songs'] = $collection->getSongs(); \OCP\JSON::encodedPrint($data); break; case 'scan': \OCP\DB::beginTransaction(); set_time_limit(0); //recursive scan can take a while $eventSource = new \OC_EventSource(); $watcher = new ScanWatcher($eventSource); $scanner = new Scanner($collection); \OC_Hook::connect('media', 'song_count', $watcher, 'count'); \OC_Hook::connect('media', 'song_scanned', $watcher, 'scanned'); $scanner->scanCollection(); $watcher->done(); $eventSource->close(); \OCP\DB::commit(); break; case 'scanFile': $scanner = new Scanner($collection); echo $scanner->scanFile($arguments['path']) ? 'true' : 'false'; break; case 'get_artists': \OCP\JSON::encodedPrint($collection->getArtists($arguments['search'])); break; case 'get_albums': \OCP\JSON::encodedPrint($collection->getAlbums($arguments['artist'], $arguments['search'])); break; case 'get_songs': \OCP\JSON::encodedPrint($collection->getSongs($arguments['artist'], $arguments['album'], $arguments['search'])); break; case 'get_path_info':
/** * @brief Changes the status of the task * @param Title ID * @param Title of the task * @param Task modified status * @param Member who created the task * @param Member who modified the task status * @param Reason for status change * @param Whether the calling method has already initiated the (database) transaction * @return boolean (true|false) */ public static function changeStatus($tid, $title, $status, $creator, $member = NULL, $reason = NULL, $inTransaction = false) { try { if (!$inTransaction) { \OCP\DB::beginTransaction(); } if (strcmp($status, 'Unassigned') == 0) { $member = NULL; } else { $member = self::getWorkingMember($tid); } $query = OCP\DB::prepare('INSERT INTO `*PREFIX*collaboration_task_status`(`tid`, `status`, `member`, `reason`, `last_updated_time`) VALUES(?, ?, ?, ?, CURRENT_TIMESTAMP)'); $result = $query->execute(array($tid, $status, $member, $reason)); $post_to = array(); if (is_null($member)) { $post_to = array(self::getTaskCreator($tid)); } else { $post_to = array(self::getTaskCreator($tid), $member); } OC_Collaboration_Post::createPost('Task Status Changed', 'The status of the task \'' . $title . '\' has been changed. Current status: ' . self::getStatusInFormat($status, $member, self::getTaskCreator($tid)) . '.', $creator, self::getProjectId($tid), 'Task Status Updation', $post_to, true, $tid); if (!$inTransaction) { \OCP\DB::commit(); } } catch (\Exception $e) { OC_Log::write('collaboration', __METHOD__ . ', Exception: ' . $e->getMessage(), OCP\Util::DEBUG); return false; } return true; }