clipbucket/upload/ajax/home.php

109 lines
No EOL
2.7 KiB
PHP
Executable file

<?php
/**
* File: Home Ajax
* Description: ClipBucket home page will now be Ajax based to imporve page loading
* and to enhance user experience. This file will handle all ajax requests
* for ClipBucket's home page
* @since: 14th March, 2016, ClipBucket 2.8.1
* @author: Saqib Razzaq
* @modified: 8th April, 2016
*/
$is_ajax = true;
require '../includes/config.inc.php';
$params = array();
if (isset($_POST['load_type'])) {
$load_type = $_POST['load_type'];
if (isset($_POST['load_mode'])) {
$load_mode = $_POST['load_mode'];
if ($load_mode == 'featured') {
$params['featured'] = "yes";
}
if ($load_mode == 'recent') {
$params['order'] = 'date_added DESC';
} else {
$params['order'] = 'views';
}
}
if (isset($_POST['load_limit'])) {
$load_limit = $_POST['load_limit'];
} else {
$load_limit = "6";
}
if (isset($_POST['load_hit'])) {
$cur_load_hit = $_POST['load_hit'];
$start = $load_limit * $cur_load_hit - $load_limit;
} else {
$start = "0";
}
$params['limit'] = "$start,$load_limit";
if ($cur_load_hit == 1) {
$params['count_only'] = true;
$total_vids = get_videos($params);
}
switch ($load_type) {
case 'video':
$params['count_only'] = false;
$data = get_videos($params);
break;
case 'users':
$data = get_users($params);
break;
case 'photos':
$data = get_photos($params);
break;
case 'collections':
$data = get_collections($params);
break;
default:
$data = get_videos($params);
break;
}
#pr($params,true);
if (is_array($data)) {
if (count($data) < 1) {
$msg = array();
$msg['notice'] = "You've reached end of list";
#echo json_encode($msg);
return false;
}
$json_string['loadhit'] = $cur_load_hit + 1;
$json_string['array_meta'] = $data;
if ($load_mode == 'recent') {
$display_type = 'ajaxHome';
} else {
$display_type = 'featuredHome';
}
$quicklists = $_COOKIE['fast_qlist'];
$clean_cookies = str_replace(array("[","]"), "", $quicklists);
$clean_cookies = explode(",", $clean_cookies);
$clean_cookies = array_filter($clean_cookies);
assign("qlist_vids", $clean_cookies);
$count = 0;
foreach ($data as $key => $video) {
if ($cur_load_hit == 1 && $count == 0) {
assign("total_vids", $total_vids);
} else {
assign("total_vids","");
}
assign("video",$video);
assign("display_type",$display_type);
Template('blocks/videos/video.html');
$count = $count + 1;
}
}
} else {
$msg = array();
$msg['error'] = "Invalid request made";
echo json_encode($msg);
}
?>