コード例 #1
0
ファイル: Auth.php プロジェクト: zamanua/NewFramework
 public static function NeedAuth($sType = '')
 {
     if (Auth::IsAuth()) {
         if ($sType && Auth::$aUser['type_'] != $sType) {
             if (Base::GetConstant('auth:error_type_redirect', 1)) {
                 Auth::LoginErrorRedirect(false);
             } else {
                 Base::$sText .= Language::GetText('auth_error_type_redirect');
                 Base::Process();
                 die;
             }
         }
         return true;
     } else {
         Auth::LoginErrorRedirect();
     }
 }
コード例 #2
0
ファイル: rate.ajax.php プロジェクト: KmServer/CumulusClips
    App::Throw404();
}
// Check if video is valid
if (!Video::Exist(array('video_id' => $_POST['video_id'], 'status' => 'approved'))) {
    App::Throw404();
}
$video = new Video($_POST['video_id']);
// Verify rating was given
if (!isset($_POST['rating']) || !in_array($_POST['rating'], array('1', '0'))) {
    App::Throw404();
}
// Verify user is logged in
if (!$logged_in) {
    echo json_encode(array('result' => 0, 'msg' => (string) Language::GetText('error_rate_login')));
    exit;
}
// Check user doesn't rate his own video
if ($user->user_id == $video->user_id) {
    echo json_encode(array('result' => 0, 'msg' => (string) Language::GetText('error_rate_own')));
    exit;
}
// Submit rating if none exists
if (Rating::AddRating($_POST['rating'], $video->video_id, $logged_in)) {
    Plugin::Trigger('rate.ajax.rate_video');
    echo json_encode(array('result' => 1, 'msg' => (string) Language::GetText('success_rated'), 'other' => Rating::GetRating($video->video_id)));
    exit;
} else {
    Plugin::Trigger('rate.ajax.rate_video_duplicate');
    echo json_encode(array('result' => 0, 'msg' => (string) Language::GetText('error_rate_duplicate')));
    exit;
}
コード例 #3
0
ファイル: upload.ajax.php プロジェクト: KmServer/CumulusClips
    ### Move video to site temp directory
    $target = UPLOAD_PATH . '/temp/' . $video->filename . '.' . $extension;
    Plugin::Trigger('upload.ajax.before_move_video');
    if (!@move_uploaded_file($_FILES['upload']['tmp_name'], $target)) {
        App::Alert('Error During Video Upload', 'The raw video file transfer failed. Video File: ' . $target);
        throw new Exception(Language::GetText('error_uploadify_system', array('host' => HOST)));
    }
    ### Change permissions on raw video file
    Plugin::Trigger('upload.ajax.before_change_permissions');
    try {
        Filesystem::Open();
        Filesystem::SetPermissions($target, 0644);
        Filesystem::Close();
    } catch (Exception $e) {
        App::Alert('Error During Video Upload', $e->getMessage());
        throw new Exception(Language::GetText('error_uploadify_system', array('host' => HOST)));
    }
    ### Update video information
    $data = array('status' => 'pending conversion', 'original_extension' => $extension);
    Plugin::Trigger('upload.ajax.before_update_video');
    $video->Update($data);
    ### Initilize Encoder
    $cmd_output = $config->debug_conversion ? CONVERSION_LOG : '/dev/null';
    Plugin::Trigger('upload.ajax.before_encode');
    $converter_cmd = 'nohup ' . Settings::Get('php') . ' ' . DOC_ROOT . '/cc-core/system/encode.php --video="' . $video->video_id . '" >> ' . $cmd_output . ' 2>&1 &';
    exec($converter_cmd);
    Plugin::Trigger('upload.ajax.encode');
    // Output success message
    exit(json_encode(array('result' => 1, 'msg' => '')));
} catch (Exception $e) {
    exit(json_encode(array('result' => 0, 'msg' => $e->getMessage())));
コード例 #4
0
        $comment_id = Comment::Create($data);
        $comment = new Comment($comment_id);
        $comment->Approve('activate');
        // Retrieve formatted new comment
        if (Settings::Get('auto_approve_comments') == 1) {
            if ($block) {
                View::InitView();
                ob_start();
                View::RepeatingBlock($block, array($comment->comment_id));
                $output = ob_get_contents();
                ob_end_clean();
            } else {
                $output = $comment;
            }
            $message = (string) Language::GetText('success_comment_posted');
            $other = array('auto_approve' => 1, 'output' => $output);
        } else {
            $message = (string) Language::GetText('success_comment_approve');
            $other = array('auto_approve' => 0, 'output' => '');
        }
        echo json_encode(array('result' => 1, 'msg' => $message, 'other' => $other));
        Plugin::Trigger('comment.ajax.post_comment');
        exit;
    } else {
        $error_msg = Language::GetText('errors_below');
        $error_msg .= '<br /><br /> - ' . implode('<br /> - ', $Errors);
        echo json_encode(array('result' => 0, 'msg' => $error_msg));
        exit;
    }
}
// END verify if page was submitted
コード例 #5
0
    if (empty(View::$vars->Errors)) {
        View::$vars->message = Language::GetText('success_profile_updated');
        View::$vars->message_type = 'success';
        View::$vars->user->Update(View::$vars->data);
        Plugin::Trigger('update_profile.update_profile');
    } else {
        View::$vars->message = Language::GetText('errors_below');
        View::$vars->message .= '<br /><br /> - ' . implode('<br /> - ', View::$vars->Errors);
        View::$vars->message_type = 'error';
    }
}
// END Handle Profile form
/**************************
Handle Reset Avatar Action
**************************/
if (!empty($_GET['action']) && $_GET['action'] == 'reset' && !empty(View::$vars->user->avatar)) {
    try {
        Filesystem::Open();
        Filesystem::Delete(UPLOAD_PATH . '/avatars/' . View::$vars->user->avatar);
        Filesystem::Close();
    } catch (Exception $e) {
        App::Alert('Error during Avatar Reset', $e->getMessage());
    }
    View::$vars->user->Update(array('avatar' => ''));
    View::$vars->message = Language::GetText('success_avatar_reset');
    View::$vars->message_type = 'success';
    Plugin::Trigger('update_profile.avatar_reset');
}
// Output page
Plugin::Trigger('update_profile.before_render');
View::Render('myaccount/update_profile.tpl');
コード例 #6
0
ファイル: contact.php プロジェクト: KmServer/CumulusClips
    $string = '/^[a-z0-9][a-z0-9_\\.\\-]+@[a-z0-9][a-z0-9\\.-]+\\.[a-z0-9]{2,4}$/i';
    if (!empty($_POST['email']) && !ctype_space($_POST['email']) && preg_match($string, $_POST['email'])) {
        View::$vars->email = trim($_POST['email']);
    } else {
        View::$vars->Errors['email'] = Language::GetText('error_email');
    }
    // Validate feedback
    if (!empty($_POST['feedback']) && !ctype_space($_POST['feedback'])) {
        View::$vars->feedback = trim($_POST['feedback']);
    } else {
        View::$vars->Errors['feedback'] = Language::GetText('error_message');
    }
    // Send email if no errors
    if (empty(View::$vars->Errors)) {
        $subject = 'Message received From ' . $config->sitename;
        $Msg = "Name: " . View::$vars->name . "\n";
        $Msg .= "E-mail: " . View::$vars->email . "\n";
        $Msg .= "Message:\n" . View::$vars->feedback;
        App::Alert($subject, $Msg);
        Plugin::Trigger('contact.send');
        View::$vars->message_type = 'success';
        View::$vars->message = Language::GetText('success_contact_sent');
    } else {
        View::$vars->message_type = 'error';
        View::$vars->message = Language::GetText('errors_below');
        View::$vars->message .= '<br /><br /> - ' . implode('<br /> - ', View::$vars->Errors);
    }
}
// Output Page
Plugin::Trigger('contact.before_render');
View::Render('contact.tpl');
コード例 #7
0
ファイル: flag.ajax.php プロジェクト: KmServer/CumulusClips
        throw new Exception(Language::GetText('error_flag_own'));
    }
    // Verify Flag doesn't exist
    $data = array('type' => $_POST['type'], 'id' => $_POST['id'], 'user_id' => $user->user_id);
    if (Flag::Exist($data)) {
        throw new Exception(Language::GetText('error_flag_duplicate'));
    }
    Plugin::Trigger('flag.ajax.before_flag');
    // Send admin alert
    if (Settings::Get('alerts_flags') == '1') {
        $subject = 'Content Flagged As Inappropriate';
        $body = "One of your members flagged content as inappropriate. ";
        $body .= "Please review the content to verify it is valid. ";
        $body .= "You can login to the Admin Panel to dismiss the flag, or uphold it and ban the content.";
        $body .= "\n\n=======================================================\n";
        $body .= "Content Type: {$type}\n";
        $body .= "URL: {$url}\n";
        $body .= "{$name}\n";
        $body .= "=======================================================";
        Plugin::Trigger('flag.ajax.alert');
        App::Alert($subject, $body);
    }
    // Create flag and output message
    Flag::Create($data);
    Plugin::Trigger('flag.ajax.flag');
    echo json_encode(array('result' => 1, 'msg' => (string) Language::GetText('success_flag')));
    exit;
} catch (Exception $e) {
    echo json_encode(array('result' => 0, 'msg' => $e->getMessage()));
    exit;
}
コード例 #8
0
ファイル: myfavorites.php プロジェクト: KmServer/CumulusClips
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);
// Output page
コード例 #9
0
<?php

// Include required files
include_once dirname(dirname(__FILE__)) . '/config/bootstrap.php';
App::LoadClass('User');
Plugin::Trigger('username.ajax.start');
### Check if username is in use
if (!empty($_POST['username']) && strlen($_POST['username']) >= 4) {
    if (User::Exist(array('username' => $_POST['username']))) {
        echo json_encode(array('result' => 0, 'msg' => (string) Language::GetText('error_username_unavailable')));
    } else {
        echo json_encode(array('result' => 1, 'msg' => (string) Language::GetText('username_available')));
    }
} else {
    echo json_encode(array('result' => 0, 'msg' => (string) Language::GetText('username_minimum')));
}
コード例 #10
0
Plugin::Trigger('subscriptions.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/subscriptions';
View::$vars->message = null;
/***********************
Handle Form if submitted
***********************/
if (isset($_GET['id']) && is_numeric($_GET['id'])) {
    $data = array('user_id' => View::$vars->user->user_id, 'member' => $_GET['id']);
    $id = Subscription::Exist($data);
    if ($id) {
        $subscribed_user = new User($_GET['id']);
        Subscription::Delete($id);
        View::$vars->message = Language::GetText('success_unsubscribed', array('username' => $subscribed_user->username));
        View::$vars->message_type = 'success';
        Plugin::Trigger('subscriptions.unsubscribe');
    }
}
/******************
Prepare page to run
******************/
// Retrieve total count
$query = "SELECT sub_id FROM " . DB_PREFIX . "subscriptions WHERE 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
コード例 #11
0
ファイル: myvideos.php プロジェクト: KmServer/CumulusClips
View::InitView('myvideos');
Plugin::Trigger('myvideos.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/myvideos';
View::$vars->message = null;
/***********************
Handle Form if submitted
***********************/
if (isset($_GET['vid']) && is_numeric($_GET['vid'])) {
    $data = array('user_id' => View::$vars->user->user_id, 'video_id' => $_GET['vid']);
    $video_id = Video::Exist($data);
    if ($video_id) {
        Video::Delete($video_id);
        View::$vars->message = Language::GetText('success_video_deleted');
        View::$vars->message_type = 'success';
        Plugin::Trigger('myvideos.delete_video');
    }
}
// Retrieve total count
$query = "SELECT video_id FROM " . DB_PREFIX . "videos WHERE user_id = " . View::$vars->user->user_id . " AND status = 'approved'";
$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);
// Output page
コード例 #12
0
ファイル: index.php プロジェクト: KmServer/CumulusClips
<?php

// Include required files
include_once dirname(dirname(dirname(__FILE__))) . '/config/bootstrap.php';
App::LoadClass('Video');
// Establish page variables, objects, arrays, etc
View::InitView('mobile_index');
Plugin::Trigger('mobile_index.start');
// Retrieve updated page title
View::$vars->meta->title = Language::GetText('mobile_heading', array('sitename' => $config->sitename));
// Retrieve Featured Video
$query = "SELECT video_id FROM " . DB_PREFIX . "videos WHERE status = 'approved' AND featured = 1 AND private = '0' AND gated = '0'";
View::$vars->featured_video = array();
$result_featured = $db->Query($query);
while ($video = $db->FetchObj($result_featured)) {
    View::$vars->featured_video[] = $video->video_id;
}
// Retrieve Recent Videos
$query = "SELECT video_id FROM " . DB_PREFIX . "videos WHERE status = 'approved' AND private = '0' AND gated = '0' ORDER BY video_id DESC LIMIT 3";
View::$vars->recent_videos = array();
$result_recent = $db->Query($query);
while ($video = $db->FetchObj($result_recent)) {
    View::$vars->recent_videos[] = $video->video_id;
}
// Output Page
Plugin::Trigger('mobile_index.before_render');
View::Render('index.tpl');
コード例 #13
0
ファイル: activate.php プロジェクト: KmServer/CumulusClips
// Establish page variables, objects, arrays, etc
View::InitView('activate');
Plugin::Trigger('activate.start');
View::$vars->logged_in = User::LoginCheck();
Functions::RedirectIf(!View::$vars->logged_in, HOST . '/myaccount/');
View::$vars->message = null;
### Verify token was provided
if (isset($_GET['token'])) {
    $token = $_GET['token'];
    $id = User::Exist(array('confirm_code' => $token, 'status' => 'new'));
    if ($id) {
        $user = new User($id);
        $user->Approve('activate');
        if (Settings::Get('auto_approve_users') == 1) {
            View::$vars->message = Language::GetText('activate_success', array('host' => HOST));
            $_SESSION['user_id'] = $user->user_id;
        } else {
            View::$vars->message = Language::GetText('activate_approve');
        }
        View::$vars->message_type = 'success';
        Plugin::Trigger('activate.activate');
    } else {
        View::$vars->message = Language::GetText('activate_error', array('host' => HOST));
        View::$vars->message_type = 'error';
    }
} else {
    App::Throw404();
}
// Output Page
Plugin::Trigger('activate.before_render');
View::Render('activate.tpl');
コード例 #14
0
ファイル: videos.php プロジェクト: KmServer/CumulusClips
        $url .= '/' . $_GET['category'];
    }
} elseif (isset($_GET['load']) && in_array($_GET['load'], $load)) {
    switch ($_GET['load']) {
        case 'most-viewed':
            View::$vars->sub_header = Language::GetText('most_viewed');
            $query = "SELECT video_id FROM " . DB_PREFIX . "videos WHERE status = 'approved' AND private = '0' ORDER BY views DESC";
            $url .= '/most-viewed';
            break;
        case 'most-discussed':
            View::$vars->sub_header = Language::GetText('most_discussed');
            $query = "SELECT " . DB_PREFIX . "videos.video_id, COUNT(comment_id) AS 'sum' from " . DB_PREFIX . "videos LEFT JOIN " . DB_PREFIX . "comments ON " . DB_PREFIX . "videos.video_id = " . DB_PREFIX . "comments.video_id WHERE " . DB_PREFIX . "videos.status = 'approved' AND private = '0' GROUP BY video_id ORDER BY sum DESC";
            $url .= '/most-discussed';
            break;
        case 'most-rated':
            View::$vars->sub_header = Language::GetText('most_rated');
            $query = "SELECT " . DB_PREFIX . "videos.video_id, COUNT(rating) AS 'rating_count', SUM(rating) as 'rating_sum' from " . DB_PREFIX . "videos LEFT JOIN " . DB_PREFIX . "ratings ON " . DB_PREFIX . "videos.video_id = " . DB_PREFIX . "ratings.video_id WHERE " . DB_PREFIX . "videos.status = 'approved' AND private = '0' GROUP BY video_id ORDER BY rating_count DESC, rating_sum DESC";
            $url .= '/most-rated';
            break;
    }
}
// Retrieve total count
$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}";
$result = $db->Query($query);
View::$vars->browse_videos = array();
コード例 #15
0
ファイル: avatar.ajax.php プロジェクト: KmServer/CumulusClips
    }
    ### Validate image data
    $handle = fopen($_FILES['upload']['tmp_name'], 'r');
    $image_data = fread($handle, filesize($_FILES['upload']['tmp_name']));
    if (!@imagecreatefromstring($image_data)) {
        throw new Exception(Language::GetText('error_uploadify_extension'));
    }
    ### Change permissions on avatar & delete previous IF/APP
    try {
        Filesystem::Open();
        $avatar_path = UPLOAD_PATH . '/avatars';
        $save_as = Avatar::CreateFilename($extension);
        Avatar::SaveAvatar($_FILES['upload']['tmp_name'], $extension, $save_as);
        // Check for existing avatar
        if (!empty($user->avatar)) {
            Avatar::Delete($user->avatar);
        }
        Filesystem::SetPermissions("{$avatar_path}/{$save_as}", 0644);
        Filesystem::Close();
    } catch (Exception $e) {
        App::Alert('Error During Avatar Upload', $e->getMessage());
        throw new Exception(Language::GetText('error_uploadify_system', array('host' => HOST)));
    }
    ### Update User
    $user->Update(array('avatar' => $save_as));
    Plugin::Trigger('update_profile.update_avatar');
    // Output success message
    exit(json_encode(array('result' => 1, 'msg' => (string) Language::GetText('success_avatar_updated'), 'other' => $user->avatar_url)));
} catch (Exception $e) {
    exit(json_encode(array('result' => 0, 'msg' => $e->getMessage())));
}
コード例 #16
0
ファイル: post.ajax.php プロジェクト: KmServer/CumulusClips
if (!$logged_in) {
    App::Throw404();
}
$user = new User($logged_in);
$data = array();
/***********************
Handle page if submitted
***********************/
if (isset($_POST['submitted'])) {
    // Save update if no errors were found
    if (!empty($_POST['post']) && !ctype_space($_POST['post'])) {
        $data['post'] = htmlspecialchars(trim($_POST['post']));
        $data['user_id'] = $user->user_id;
        Plugin::Trigger('post.ajax.before_post_update');
        $post_id = Post::Create($data);
        $post = new Post($post_id);
        // Retrieve new formatted status updated
        View::InitView();
        ob_start();
        View::RepeatingBlock('post.tpl', array($post->post_id));
        $status_update = ob_get_contents();
        ob_end_clean();
        Plugin::Trigger('post.ajax.post_update');
        echo json_encode(array('result' => 1, 'msg' => (string) Language::GetText('success_status_updated'), 'other' => $status_update));
        exit;
    } else {
        echo json_encode(array('result' => 0, 'msg' => (string) Language::GetText('error_status_update')));
        exit;
    }
}
// END verify if page was submitted
コード例 #17
0
    // Validate Video Comments
    if (isset($_POST['video_comment']) && in_array($_POST['video_comment'], array('0', '1'))) {
        View::$vars->data['video_comment'] = $_POST['video_comment'];
    } else {
        View::$vars->errors['video_comment'] = TRUE;
    }
    // Validate Private Message
    if (isset($_POST['new_message']) && in_array($_POST['new_message'], array('0', '1'))) {
        View::$vars->data['new_message'] = $_POST['new_message'];
    } else {
        View::$vars->errors['new_message'] = TRUE;
    }
    // Validate New member Videos
    if (isset($_POST['new_video']) && in_array($_POST['new_video'], array('0', '1'))) {
        View::$vars->data['new_video'] = $_POST['new_video'];
    } else {
        View::$vars->errors['new_video'] = TRUE;
    }
    if (empty(View::$vars->errors)) {
        View::$vars->privacy->Update(View::$vars->data);
        View::$vars->message = Language::GetText('success_privacy_updated');
        View::$vars->message_type = 'success';
        Plugin::Trigger('privacy_settings.update_privacy');
    } else {
        View::$vars->message = Language::GetText('error_general');
        View::$vars->message_type = 'error';
    }
}
// Output page
Plugin::Trigger('privacy_settings.before_render');
View::Render('myaccount/privacy_settings.tpl');
コード例 #18
0
ファイル: Pagination.php プロジェクト: KmServer/CumulusClips
 private function GetNext()
 {
     return $this->page != $this->page_count ? '<li><a href="' . $this->BuildURL($this->page + 1) . '">' . Language::GetText('next') . '&raquo;</a></li>' : '';
 }
コード例 #19
0
ファイル: language.php プロジェクト: KmServer/CumulusClips
<?php

// Include required files
include_once dirname(dirname(__FILE__)) . '/config/bootstrap.php';
// Node requested from language file
if (isset($_GET['get'])) {
    // Return requested string
    if (!empty($_POST['node'])) {
        if (!empty($_POST['replacements']) && is_array($_POST['replacements'])) {
            $replacements = $_POST['replacements'];
        } else {
            $replacements = array();
        }
        $string = Language::GetText($_POST['node'], $replacements);
        echo $string ? $string : '';
        exit;
    }
    // Language change requested
} else {
    if (isset($_GET['set'])) {
        // Set language to user's request
        $active_languages = Language::GetActiveLanguages();
        if (array_key_exists($_GET['language'], $active_languages)) {
            $_SESSION['user_lang'] = $_GET['language'];
        }
        // Redirect user to previous page
        if (!empty($_SERVER['HTTP_REFERER'])) {
            header('Location: ' . $_SERVER['HTTP_REFERER']);
            exit;
        } else {
            header('Location: ' . HOST . '/');
コード例 #20
0
        $data = array('member' => $member->user_id, 'user_id' => $user->user_id);
        if (!Subscription::Exist($data)) {
            $subscribed = Subscription::Create($data);
            Plugin::Trigger('subscribe.ajax.subscribe');
            echo json_encode(array('result' => 1, 'msg' => (string) Language::GetText('success_subscribed', array('username' => $member->username)), 'other' => (string) Language::GetText('unsubscribe')));
            exit;
        } else {
            echo json_encode(array('result' => 0, 'msg' => (string) Language::GetText('error_subscribe_duplicate')));
            exit;
        }
        ### Handle unsubscribe user from a member
    ### Handle unsubscribe user from a member
    case 'unsubscribe':
        // Verify user is logged in
        if (!$logged_in) {
            echo json_encode(array('result' => 0, 'msg' => (string) Language::GetText('error_subscribe_login')));
            exit;
        }
        // Delete subscription if one exists
        $subscription_id = Subscription::Exist(array('user_id' => $user->user_id, 'member' => $member->user_id));
        if ($subscription_id) {
            Subscription::Delete($subscription_id);
            Plugin::Trigger('subscribe.ajax.unsubscribe');
            echo json_encode(array('result' => 1, 'msg' => (string) Language::GetText('success_unsubscribed', array('username' => $member->username)), 'other' => (string) Language::GetText('subscribe')));
            exit;
        } else {
            echo json_encode(array('result' => 0, 'msg' => (string) Language::GetText('error_subscribe_noexist')));
            exit;
        }
}
// END action switch
コード例 #21
0
                Message::Delete($message_id);
                Plugin::Trigger('message_inbox.purge_single_message');
            }
        }
        View::$vars->message = Language::GetText('success_messages_purged');
        View::$vars->message_type = 'success';
        Plugin::Trigger('messsage_inbox.purge_all_messages');
    }
    // Delete message (Request came from view message page)
} else {
    if (isset($_GET['delete']) && is_numeric($_GET['delete']) && $_GET['delete'] > 0) {
        $data = array('recipient' => View::$vars->user->user_id, 'message_id' => $_GET['delete']);
        $message_id = Message::Exist($data);
        if ($message_id) {
            Message::Delete($message_id);
            View::$vars->message = Language::GetText('success_messages_purged');
            View::$vars->message_type = 'success';
            Plugin::Trigger('message_inbox.delete_message');
        }
    }
}
/******************
Prepare page to run
******************/
// Retrieve total count
$query = "SELECT message_id FROM " . DB_PREFIX . "messages WHERE recipient = " . 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();
コード例 #22
0
ファイル: feed.php プロジェクト: KmServer/CumulusClips
        $user = new User($id);
        $query_addon = " AND user_id = {$user->user_id}";
        $title = $user->username;
        $url = HOST . "/members/{$user->username}/";
    } else {
        header('Location: ' . HOST . '/feed/');
        exit;
    }
} else {
    $query_addon = '';
    $title = $config->sitename;
    $url = HOST . '/';
}
$xml = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"></rss>');
$feed = $xml->addChild('channel');
$feed->addChild('title', $title . ' - ' . Language::GetText('video_feed'));
$meta = Language::GetMeta('index');
$title = empty($meta->title) ? $config->sitename : $meta->title;
$feed->addChild('description', $meta->title);
$feed->addChild('link', $url);
### Retrieve Videos
$query = "SELECT video_id FROM " . DB_PREFIX . "videos WHERE status = 'approved' AND private = '0'" . $query_addon . " ORDER BY video_id DESC LIMIT 20";
$result = $db->Query($query);
while ($row = $db->FetchObj($result)) {
    $video = new Video($row->video_id);
    $item = $feed->addChild('item');
    $item->addChild('title', $video->title);
    $item->addChild('description', $video->description);
    $item->addChild('link', $video->url . '/');
}
header("Content-type: text/xml");
コード例 #23
0
ファイル: Rating.php プロジェクト: KmServer/CumulusClips
 /**
  * Retrieve ratings for a video
  * @param integer $video_id Video to retrieve ratings for
  * @return object Returns stdClass object with properties for (dis)like
  * counts & text, and total ratings
  */
 static function GetRating($video_id)
 {
     $db = Database::GetInstance();
     $rating = new stdClass();
     // Total
     $rating->count = self::GetCount($video_id);
     // Like
     $like_count = self::GetLikeCount($video_id);
     $rating->likes = $like_count;
     $rating->like_text = Language::GetText('like');
     // Dislike
     $dislike_count = self::GetDislikeCount($video_id);
     $rating->dislikes = $dislike_count;
     $rating->dislike_text = Language::GetText('dislike');
     return $rating;
 }
コード例 #24
0
ファイル: login.php プロジェクト: KmServer/CumulusClips
***********************/
if (isset($_POST['submitted_forgot'])) {
    View::$vars->forgot_submit = TRUE;
    // validate email
    $string = '/^[a-z0-9][a-z0-9\\._-]+@[a-z0-9][a-z0-9\\.-]+[a-z0-9]{2,4}$/i';
    if (!empty($_POST['email']) && !ctype_space($_POST['email']) && preg_match($string, $_POST['email'])) {
        $data = array('email' => $_POST['email']);
        $user_id = User::Exist($data);
        if ($user_id) {
            $user = new User($user_id);
            $new_password = $user->ResetPassword();
            View::$vars->message = Language::GetText('success_login_sent');
            View::$vars->message_type = 'success';
            View::$vars->forgot_submit = NULL;
            $replacements = array('sitename' => $config->sitename, 'username' => $user->username, 'password' => $new_password);
            $mail = new Mail();
            $mail->LoadTemplate('forgot_password', $replacements);
            $mail->Send($user->email);
            Plugin::Trigger('login.password_reset');
        } else {
            View::$vars->message = Language::GetText('error_no_users_email');
            View::$vars->message_type = 'error';
        }
    } else {
        View::$vars->message = Language::GetText('error_email');
        View::$vars->message_type = 'error';
    }
}
// Output Page
Plugin::Trigger('login.before_render');
View::Render('login.tpl');