public function delete(MediaModel $media, UserAccountModel $user) { global $DB; try { $DB->beginTransaction(); $stat = $DB->prepare("UPDATE media_in_group SET removed_by_user_account_id=:removed_by_user_account_id," . " removed_at=:removed_at , removal_approved_at= :removal_approved_at WHERE " . " media_id=:media_id AND removed_at IS NULL "); $stat->execute(array('media_id' => $media->getId(), 'removed_at' => \TimeSource::getFormattedForDataBase(), 'removal_approved_at' => \TimeSource::getFormattedForDataBase(), 'removed_by_user_account_id' => $user->getId())); $stat = $DB->prepare("UPDATE media_in_venue SET removed_by_user_account_id=:removed_by_user_account_id," . " removed_at=:removed_at , removal_approved_at= :removal_approved_at WHERE " . " media_id=:media_id AND removed_at IS NULL "); $stat->execute(array('media_id' => $media->getId(), 'removed_at' => \TimeSource::getFormattedForDataBase(), 'removal_approved_at' => \TimeSource::getFormattedForDataBase(), 'removed_by_user_account_id' => $user->getId())); $stat = $DB->prepare("UPDATE media_in_event SET removed_by_user_account_id=:removed_by_user_account_id," . " removed_at=:removed_at , removal_approved_at= :removal_approved_at WHERE " . " media_id=:media_id AND removed_at IS NULL "); $stat->execute(array('media_id' => $media->getId(), 'removed_at' => \TimeSource::getFormattedForDataBase(), 'removal_approved_at' => \TimeSource::getFormattedForDataBase(), 'removed_by_user_account_id' => $user->getId())); $stat = $DB->prepare("UPDATE media_information SET deleted_by_user_account_id=:deleted_by_user_account_id," . " deleted_at=:deleted_at WHERE " . " id=:id AND deleted_at IS NULL "); $stat->execute(array('id' => $media->getId(), 'deleted_at' => \TimeSource::getFormattedForDataBase(), 'deleted_by_user_account_id' => $user->getId())); $DB->commit(); } catch (Exception $e) { $DB->rollBack(); } $media->deleteFiles(); }
public function deleteFiles() { global $CONFIG; $dirname = $CONFIG->fileStoreLocation . DIRECTORY_SEPARATOR . 'media' . DIRECTORY_SEPARATOR; $cacheNormalDirname = $CONFIG->tmpFileCacheLocation . DIRECTORY_SEPARATOR . 'media' . DIRECTORY_SEPARATOR . 'normal' . DIRECTORY_SEPARATOR; $cacheThumbDirname = $CONFIG->tmpFileCacheLocation . DIRECTORY_SEPARATOR . 'media' . DIRECTORY_SEPARATOR . 'thumbnail' . DIRECTORY_SEPARATOR; foreach (MediaModel::getAllowedImageExtensions() as $extension) { $filename = $dirname . $this->getId() . "." . $extension; $cacheNormalFileName = $cacheNormalDirname . $this->getId() . "." . $extension; $cacheThumbFileName = $cacheThumbDirname . $this->getId() . "." . $extension; if (file_exists($filename)) { @unlink($filename); } if (file_exists($cacheNormalFileName)) { @unlink($cacheNormalFileName); } if (file_exists($cacheThumbFileName)) { @unlink($cacheThumbFileName); } } }
public function fetchAll() { $this->buildStart(); $this->build(); $this->buildStat(); $results = array(); while ($data = $this->stat->fetch()) { $media = new MediaModel(); $media->setFromDataBaseRow($data); $results[] = $media; } return $results; }
public function remove(MediaModel $media, GroupModel $group, UserAccountModel $user) { global $DB; $stat = $DB->prepare("UPDATE media_in_group SET removed_by_user_account_id=:removed_by_user_account_id," . " removed_at=:removed_at, removal_approved_at=:removal_approved_at WHERE " . " group_id=:group_id AND media_id=:media_id AND removed_at IS NULL "); $stat->execute(array('group_id' => $group->getId(), 'media_id' => $media->getId(), 'removed_at' => \TimeSource::getFormattedForDataBase(), 'removal_approved_at' => \TimeSource::getFormattedForDataBase(), 'removed_by_user_account_id' => $user->getId())); }