Example #1
0
 /**
  * Delete a record
  * @param integer $id ID of record to be deleted
  * @return void Record is deleted from database
  */
 static function Delete($id)
 {
     App::LoadClass('Privacy');
     App::LoadClass('Avatar');
     App::LoadClass('Video');
     App::LoadClass('Subscription');
     App::LoadClass('Rating');
     App::LoadClass('Flag');
     App::LoadClass('Favorite');
     App::LoadClass('Comment');
     App::LoadClass('Post');
     App::LoadClass('Message');
     $db = Database::GetInstance();
     $user = new self($id);
     Plugin::Trigger('user.delete');
     // Delete Avatar
     if (!empty($user->avatar)) {
         Avatar::Delete($user->avatar);
     }
     // Delete Privacy Record
     $privacy_id = Privacy::Exist(array('user_id' => $id));
     Privacy::Delete($privacy_id);
     // Delete Comments
     $query = "SELECT comment_id FROM " . DB_PREFIX . "comments WHERE user_id = {$id}";
     $result = $db->Query($query);
     while ($row = $db->FetchObj($result)) {
         Comment::Delete($row->comment_id);
     }
     // Delete Ratings
     $query = "SELECT rating_id FROM " . DB_PREFIX . "ratings WHERE user_id = {$id}";
     $result = $db->Query($query);
     while ($row = $db->FetchObj($result)) {
         Rating::Delete($row->rating_id);
     }
     // Delete Favorites
     $query = "SELECT fav_id FROM " . DB_PREFIX . "favorites WHERE user_id = {$id}";
     $result = $db->Query($query);
     while ($row = $db->FetchObj($result)) {
         Favorite::Delete($row->fav_id);
     }
     // Delete Flags
     $query = "SELECT flag_id FROM " . DB_PREFIX . "flags WHERE id = {$id} AND type = 'user'";
     $result = $db->Query($query);
     while ($row = $db->FetchObj($result)) {
         Flag::Delete($row->flag_id);
     }
     // Delete Subscriptions
     $query = "SELECT sub_id FROM " . DB_PREFIX . "subscriptions WHERE user_id = {$id} OR member = {$id}";
     $result = $db->Query($query);
     while ($row = $db->FetchObj($result)) {
         Subscription::Delete($row->sub_id);
     }
     // Delete Posts
     $query = "SELECT post_id FROM " . DB_PREFIX . "posts WHERE user_id = {$id}";
     $result = $db->Query($query);
     while ($row = $db->FetchObj($result)) {
         Post::Delete($row->post_id);
     }
     // Delete Messages
     $query = "SELECT message_id FROM " . DB_PREFIX . "messages WHERE user_id = {$id} OR recipient = {$id}";
     $result = $db->Query($query);
     while ($row = $db->FetchObj($result)) {
         Message::Delete($row->message_id);
     }
     // Delete Videos
     $query = "SELECT video_id FROM " . DB_PREFIX . "videos WHERE user_id = {$id}";
     $result = $db->Query($query);
     while ($row = $db->FetchObj($result)) {
         Video::Delete($row->video_id);
     }
     // Delete Privacy
     $query = "SELECT privacy_id FROM " . DB_PREFIX . "privacy WHERE user_id = {$id}";
     $result = $db->Query($query);
     while ($row = $db->FetchObj($result)) {
         Privacy::Delete($row->privacy_id);
     }
     // Delete User
     $query = "DELETE FROM " . DB_PREFIX . self::$table . " WHERE " . self::$id_name . " = {$id}";
     $db->Query($query);
 }
Example #2
0
// Establish page variables, objects, arrays, etc
View::InitView('myfavorites');
Plugin::Trigger('myfavorites.start');
Functions::RedirectIf(View::$vars->logged_in = User::LoginCheck(), HOST . '/login/');
View::$vars->user = new User(View::$vars->logged_in);
$records_per_page = 9;
$url = HOST . '/myaccount/myfavorites';
View::$vars->message = null;
/***********************
Handle Form if submitted
***********************/
if (isset($_GET['vid']) && is_numeric($_GET['vid']) && $_GET['vid'] != 0) {
    $data = array('user_id' => View::$vars->user->user_id, 'video_id' => $_GET['vid']);
    $id = Favorite::Exist($data);
    if ($id) {
        Favorite::Delete($id);
        View::$vars->message = Language::GetText('success_favorite_removed');
        View::$vars->message_type = 'success';
        Plugin::Trigger('myfavorites.remove_favorite');
    }
}
// Retrieve total count
$query = "SELECT " . DB_PREFIX . "favorites.video_id FROM " . DB_PREFIX . "favorites INNER JOIN " . DB_PREFIX . "videos ON " . DB_PREFIX . "favorites.video_id = " . DB_PREFIX . "videos.video_id WHERE status = 'approved' AND private = '0' AND " . DB_PREFIX . "favorites.user_id = " . View::$vars->user->user_id;
$result_count = $db->Query($query);
$total = $db->Count($result_count);
// Initialize pagination
View::$vars->pagination = new Pagination($url, $total, $records_per_page);
$start_record = View::$vars->pagination->GetStartRecord();
// Retrieve limited results
$query .= " LIMIT {$start_record}, {$records_per_page}";
View::$vars->result = $db->Query($query);
Example #3
0
 /**
  * Delete a video
  * @param integer $video_id ID of video to be deleted
  * @return void Video is deleted from database and all related files and records are also deleted
  */
 static function Delete($video_id)
 {
     App::LoadClass('Rating');
     App::LoadClass('Flag');
     App::LoadClass('Favorite');
     App::LoadClass('Comment');
     $db = Database::GetInstance();
     $video = new self($video_id);
     Plugin::Trigger('video.delete');
     // Delete files
     try {
         Filesystem::Open();
         Filesystem::Delete(UPLOAD_PATH . '/flv/' . $video->filename . '.flv');
         Filesystem::Delete(UPLOAD_PATH . '/thumbs/' . $video->filename . '.jpg');
         Filesystem::Delete(UPLOAD_PATH . '/mobile/' . $video->filename . '.mp4');
         Filesystem::Close();
     } catch (Exception $e) {
         App::Alert('Error During Video Removal', "Unable to delete video files for: {$video->filename}. The video has been removed from the system, but the files still remain. Error: " . $e->getMessage());
     }
     // Delete Comments
     $query = "SELECT comment_id FROM " . DB_PREFIX . "comments WHERE video_id = {$video_id}";
     $result = $db->Query($query);
     while ($row = $db->FetchObj($result)) {
         Comment::Delete($row->comment_id);
     }
     // Delete Ratings
     $query = "SELECT rating_id FROM " . DB_PREFIX . "ratings WHERE video_id = {$video_id}";
     $result = $db->Query($query);
     while ($row = $db->FetchObj($result)) {
         Rating::Delete($row->rating_id);
     }
     // Delete Favorites
     $query = "SELECT fav_id FROM " . DB_PREFIX . "favorites WHERE video_id = {$video_id}";
     $result = $db->Query($query);
     while ($row = $db->FetchObj($result)) {
         Favorite::Delete($row->fav_id);
     }
     // Delete Flags
     $query = "SELECT flag_id FROM " . DB_PREFIX . "flags WHERE id = {$video_id} AND type = 'video'";
     $result = $db->Query($query);
     while ($row = $db->FetchObj($result)) {
         Flag::Delete($row->flag_id);
     }
     // Delete Video
     $query = "DELETE FROM " . DB_PREFIX . "videos WHERE video_id = {$video_id}";
     $db->Query($query);
 }