/** * Retrieve custom text from the loaded language xml file * @param string $node The name of the custom language xml node to retrieve * @param array $replace Optional Replacements for placeholders (See Functions::Replace for more deails) * @return string The requested string is returned with replacements made * to it or boolean false if requested node is invalid */ static function GetCustomText($node, $replace = array()) { // Retrieve node text if it exists if (isset(self::$xml->custom->{$node})) { $string = self::$xml->custom->{$node}; // Check for text replacements if (!empty($replace)) { $string = Functions::Replace($string, $replace); } return $string; } else { return false; } }
} $success = NULL; $errors = NULL; $sub_id = NULL; $post_count = 5; // Verify Member was supplied if (isset($_GET['username'])) { $data = array('username' => $_GET['username'], 'status' => 'Active'); $user_id = User::Exist($data); } else { App::Throw404(); } // Verify Member exists if ($user_id) { View::$vars->member = new User($user_id); View::$vars->meta->title = Functions::Replace(View::$vars->meta->title, array('member' => View::$vars->member->username)); Plugin::Trigger('profile.load_member'); } else { App::Throw404(); } ### Check if user is subscribed if (View::$vars->logged_in) { $data = array('user_id' => View::$vars->user->user_id, 'member' => View::$vars->member->user_id); View::$vars->subscribe_text = Subscription::Exist($data) ? 'unsubscribe' : 'subscribe'; } else { View::$vars->subscribe_text = 'subscribe'; } ### Count subscription $query = "SELECT COUNT(sub_id) FROM " . DB_PREFIX . "subscriptions WHERE member = " . View::$vars->member->user_id; $result = $db->Query($query); View::$vars->sub_count = $db->FetchRow($result);
if (View::$vars->logged_in) { View::$vars->user = new User(View::$vars->logged_in); } $keyword = NULL; View::$vars->cleaned = NULL; $url = HOST . '/search'; $query_string = array(); $records_per_page = 9; // Verify a keyword was given if (isset($_POST['submitted_search'])) { View::$vars->cleaned = htmlspecialchars($_POST['keyword']); } elseif (isset($_GET['keyword'])) { View::$vars->cleaned = htmlspecialchars($_GET['keyword']); } $query_string['keyword'] = View::$vars->cleaned; View::$vars->meta->title = Functions::Replace(View::$vars->meta->title, array('keyword' => View::$vars->cleaned)); $keyword = $db->Escape(View::$vars->cleaned); // Retrieve count of all videos $query = "SELECT COUNT(video_id) as total FROM " . DB_PREFIX . "videos WHERE status = 'approved' AND private = '0'"; $result_total = $db->Query($query); $total = $db->FetchObj($result_total); // Retrieve total count if ($total->total > 20 && strlen($keyword) > 3) { // Use FULLTEXT query $query = "SELECT video_id FROM " . DB_PREFIX . "videos WHERE status = 'approved' AND private = '0' AND MATCH(title, tags, description) AGAINST('{$keyword}')"; Plugin::Trigger('search.search_count'); $result_count = $db->Query($query); $count = $db->Count($result_count); } else { // Use LIKE query $query = "SELECT video_id FROM " . DB_PREFIX . "videos WHERE status = 'approved' AND private = '0' AND (title LIKE '%{$keyword}%' OR description LIKE '%{$keyword}%' OR tags LIKE '%{$keyword}%')";
if (!empty($_GET['vid']) && is_numeric($_GET['vid']) && Video::Exist(array('status' => 'approved', 'video_id' => $_GET['vid']))) { View::$vars->video = new Video($_GET['vid']); View::$vars->video_url = View::$vars->video->url; $url = HOST . '/videos/' . View::$vars->video->video_id . '/comments'; } else { if (!empty($_GET['private']) && ($video_id = Video::Exist(array('status' => 'approved', 'private_url' => $_GET['private'])))) { View::$vars->video = new Video($video_id); View::$vars->private = true; View::$vars->video_url = HOST . '/private/videos/' . View::$vars->video->private_url; $url = HOST . '/private/comments/' . View::$vars->video->private_url; } else { App::Throw404(); } } // Retrieve Video View::$vars->meta->title = Functions::Replace(View::$vars->meta->title, array('video' => View::$vars->video->title)); // Retrieve comments count $query = "SELECT comment_id FROM " . DB_PREFIX . "comments WHERE video_id = " . View::$vars->video->video_id . " ORDER BY comment_id DESC"; $result_count = $db->Query($query); View::$vars->total_comments = $db->Count($result_count); // Initialize pagination View::$vars->pagination = new Pagination($url, View::$vars->total_comments, $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->comment_list = array(); while ($row = $db->FetchObj($result)) { View::$vars->comment_list[] = $row->comment_id; } // Output page