Exemplo n.º 1
0
 /**
  * @return boolean Returns true when successful.
  */
 public function delete()
 {
     // Check dependencies
     Validator::required(isset($this->albumIDs), __METHOD__);
     // Call plugins
     Plugins::get()->activate(__METHOD__, 0, func_get_args());
     // Init vars
     $photoIDs = array();
     // Execute query
     $query = Database::prepare(Database::get(), "SELECT id FROM ? WHERE album IN (?)", array(LYCHEE_TABLE_PHOTOS, $this->albumIDs));
     $photos = Database::execute(Database::get(), $query, __METHOD__, __LINE__);
     if ($photos === false) {
         return false;
     }
     // Only delete photos when albums contain photos
     if ($photos->num_rows > 0) {
         // Add each id to photoIDs
         while ($row = $photos->fetch_object()) {
             $photoIDs[] = $row->id;
         }
         // Convert photoIDs to a string
         $photoIDs = implode(',', $photoIDs);
         // Delete all photos
         $photo = new Photo($photoIDs);
         if ($photo->delete() !== true) {
             return false;
         }
     }
     // Delete albums
     $query = Database::prepare(Database::get(), "DELETE FROM ? WHERE id IN (?)", array(LYCHEE_TABLE_ALBUMS, $this->albumIDs));
     $result = Database::execute(Database::get(), $query, __METHOD__, __LINE__);
     // Call plugins
     Plugins::get()->activate(__METHOD__, 1, func_get_args());
     if ($result === false) {
         return false;
     }
     return true;
 }
Exemplo n.º 2
0
 private static function deletePhotoAction()
 {
     Validator::required(isset($_POST['photoIDs']), __METHOD__);
     $photo = new Photo($_POST['photoIDs']);
     Response::json($photo->delete());
 }