Пример #1
0
/**
 * Callback function for shortcode [tnt_video_list]
 */
function tntSCVideoList($attr)
{
    $tntOptions = get_option('tntVideoManageOptions');
    //Get cat ID
    $catID = $attr['id'];
    //Get column
    $columnOption = $tntOptions['columnPerRow'];
    $columns = isset($attr['col']) ? $attr['col'] : $columnOption;
    //Get video width
    $videoWidthOption = $tntOptions['videoWidth'];
    $vidWidth = isset($attr['width']) ? $attr['width'] : $videoWidthOption;
    //Get video height
    $videoHeightOption = $tntOptions['videoHeight'];
    $vidHeight = isset($attr['height']) ? $attr['height'] : $videoHeightOption;
    //Get Limit
    $limitOption = $tntOptions['limitPerPage'];
    $numLimit = isset($attr['limit']) ? $attr['limit'] : $limitOption;
    //Get Order and Order by
    $arrVideoOrder = array('videoid', 'addingdate', 'editingdate', 'alphabet', 'ordernumber');
    $arrVideoOrderBy = array('asc', 'desc');
    $orderOption = $tntOptions['videoOrder'];
    $orderbyOption = $tntOptions['videoOrderBy'];
    $vidOrder = isset($attr['order']) && in_array($attr['order'], $arrVideoOrder) ? $attr['order'] : $orderOption;
    $vidOrderBy = isset($attr['orderby']) && in_array($attr['orderby'], $arrVideoOrderBy) ? $attr['orderby'] : $orderbyOption;
    //Get videos by catID
    $args = array('catID' => $catID, 'isPublish' => 1);
    $videoList = TNT_Video::tntGetVideos($args);
    //Get all information for pagination
    $items = count($videoList);
    if ($items > 0) {
        $p = new TNT_Pagination();
        $p->items($items);
        $p->limit($numLimit);
        // Limit entries per page
        $p->target($_SERVER["REQUEST_URI"]);
        $p->calculate();
        // Calculates what to show
        $p->parameterName('paged');
        $p->adjacents(1);
        //No. of page away from the current page
        $pageMix = explode('/page/', $_SERVER["REQUEST_URI"]);
        $page = '';
        if (isset($pageMix[1])) {
            $page = (int) substr($pageMix[1], 0, 5);
        } else {
            if ($_GET['paged'] != '') {
                $page = $_GET['paged'];
            } else {
                $page = 1;
            }
        }
        $p->page = $page != null ? $page : 1;
        //Query for limit paging
        $limit = "LIMIT " . ($p->page - 1) * $p->limit . ", " . $p->limit;
    } else {
        echo "No Record Found! Category ID was not existed!";
        exit;
    }
    //Get videos by options
    switch ($vidOrder) {
        case 'addingdate':
            $vidOrder = 'date_created';
            break;
        case 'editingdate':
            $vidOrder = 'date_modified';
            break;
        case 'alphabet':
            $vidOrder = 'video_title';
            break;
        case 'ordernumber':
            $vidOrder = 'video_order';
            break;
        default:
            $vidOrder = 'video_id';
            break;
    }
    $args = array('catID' => $catID, 'isPublish' => 1, 'limitText' => $limit, 'orderBy' => $vidOrder, 'order' => $vidOrderBy);
    $videoListLimit = TNT_Video::tntGetVideos($args);
    //Show template
    $vListToShow = "";
    foreach ($videoListLimit as $video) {
        $v = "";
        $videoTypeTitle = $video->video_type_title;
        $linkEmbed = "";
        $thumbImg = "";
        switch ($videoTypeTitle) {
            case "Youtube":
                $linkEmbed = tntGetYoutubeEmbedLink($video->video_link);
                $thumbImg = tntGetYoutubeThumbLink($video->video_link);
                break;
            case "Vimeo":
                $linkEmbed = tntGetVimeoEmbedLink($video->video_link);
                $thumbImg = tntGetVimeoThumbLink($video->video_link);
                break;
            case "DailyMotion":
                $linkEmbed = tntGetDailymotionEmbedLink($video->video_link);
                $thumbImg = tntGetDailymotionThumbLink($video->video_link);
                break;
            default:
                break;
        }
        $v['videoTitle'] = $video->video_title;
        $v['videoThumb'] = $thumbImg;
        $v['videoUrl'] = $video->video_link;
        $v['videoEmbed'] = $linkEmbed;
        $v['videoWidth'] = $vidWidth;
        $v['videoHeight'] = $vidHeight;
        $vListToShow[] = $v;
    }
    $tntPagi = $p->getOutput();
    $view = tntTemplateVideoList($vListToShow, $tntPagi, $columns);
    return $view;
}
Пример #2
0
/**
 * Function to display the "video manage" page
 */
function tnt_video_manage()
{
    ?>
		<div class="wrap">
			<?php 
    screen_icon('upload');
    ?>
			<h2>Video Manage</h2>
			<hr />
			<?php 
    //Get var filter
    $catID = isset($_GET["vCat"]) ? $_GET["vCat"] : 0;
    $typeID = isset($_GET["vLinkType"]) ? $_GET["vLinkType"] : 0;
    $orderBy = isset($_GET["orderBy"]) ? $_GET["orderBy"] : null;
    $order = isset($_GET["order"]) ? $_GET["order"] : null;
    $tntVideos = TNT_Video::tntGetVideos(array('catID' => $catID, 'typeID' => $typeID));
    $items = count($tntVideos);
    //Get Plugin Options
    $tntOptions = get_option('tntVideoManageOptions');
    $numLimit = $tntOptions['limitAdminPerPage'];
    if ($items > $numLimit) {
        $p = new TNT_Pagination();
        $p->items($items);
        $p->limit($numLimit);
        // Limit entries per page
        $p->target($_SERVER["REQUEST_URI"]);
        $p->calculate();
        // Calculates what to show
        $p->parameterName('paged');
        $p->adjacents(1);
        //No. of page away from the current page
        if (!isset($_GET['paged'])) {
            $p->page = 1;
        } else {
            $p->page = $_GET['paged'];
        }
        $p->currentPage($p->page);
        // Gets and validates the current page
        //Query for limit paging
        $limit = "LIMIT " . ($p->page - 1) * $p->limit . ", " . $p->limit;
    } else {
        $limit = "LIMIT 0, 10";
    }
    ?>
			<!-- Filter -->
			<form method="GET" action="">
				<input type="hidden" name="page" value="tnt_video_manage_page" />	
				<table width="100%">
					<tr>
						<td width="33%">			
							Filter by Category: <?php 
    echo TNT_VideoCat::tntDisplayListCat($catID);
    ?>
	
						</td>
						<td width="33%">
							Filter by Type: <?php 
    echo TNT_VideoType::tntDisplayListType($typeID);
    ?>
						</td>
						<td width="34%">
							Order by: 
							<select name="orderBy">
								<option <?php 
    echo $orderBy == 'date_created' ? "selected" : "";
    ?>
 value="date_created">Created Date</option>
								<option <?php 
    echo $orderBy == 'date_modified' ? "selected" : "";
    ?>
 value="date_modified">Editing Date</option>
								<option <?php 
    echo $orderBy == 'video_title' ? "selected" : "";
    ?>
 value="video_title">Title</option>
								<option <?php 
    echo $orderBy == 'video_link_type' ? "selected" : "";
    ?>
 value="video_link_type">Type</option>
								<option <?php 
    echo $orderBy == 'video_status' ? "selected" : "";
    ?>
 value="video_status">Status</option>
								<option <?php 
    echo $orderBy == 'video_order' ? "selected" : "";
    ?>
 value="video_order">Order Number</option>
							</select>
							<select name="order">
								<option <?php 
    echo $order == 'ASC' ? "selected" : "";
    ?>
 value="ASC">Ascending</option>
								<option <?php 
    echo $order == 'DESC' ? "selected" : "";
    ?>
 value="DESC">Descending</option>
							</select>
							<input type="submit" value="Filter" class="button-secondary" />
						</td>
					</tr>
				</table>
			</form>
			<!-- Filter -->
			<!-- Message -->
			<div class='<?php 
    echo $items > 0 ? "updated" : "error";
    ?>
'><p><?php 
    echo $items;
    ?>
 Result(s) found!</p></div>    
			<!--End  Message -->

			<form method="POST" action="">
			<table>
				<tr>
					<td align="left" width="70">Actions</td>
					<td align="left" width="95">
						<select name="tntActions">
							<option value="1">Publish</option>
							<option value="2">Unpublish</option>
							<option value="3">Delete</option>
						</select>
					</td>
					<td align="left" width="120"><input type="submit" class="button-secondary btnAct" name="tntBtnAct" value="Update" /></td>	
				</tr>
			</table>
			<?php 
    //show message
    if (isset($_GET["m"])) {
        $m = $_GET["m"];
        if ($m) {
            showMessage("Your video(s) updated successfully!", $m);
        } else {
            showMessage("Your video(s) updated failed!", $m);
        }
    }
    ?>
			<!-- List Video -->
			<table class="tntTable widefat">
				<thead>
					<tr>
						<td><input type="checkbox" name="tntChkAll" class="tntChkAll" /></td>
						<th>ID</th>
						<th>Title</th>
						<th>Category</th>
						<th>Type</th>
						<th>Link</th>
						<th>Status</th>
						<th width="50">Order Num</th>
						<th width="100">Created Date (GMT + 0:00)</th>
						<th width="100">Last Modified (GMT + 0:00)</th>
						<th>Action</th>
					</tr>
				</thead>
				<tfoot>
					<tr>
						<th></th>
						<th>ID</th>
						<th>Title</th>
						<th>Category</th>
						<th>Type</th>
						<th>Link</th>
						<th>Status</th>
						<th>Order Num</th>
						<th>Created Date (GMT +0)</th>
						<th>Last Modified (GMT +0)</th>
						<th>Action</th>
					</tr>
				</tfoot>
				<tbody>
					<?php 
    $tntVideos = TNT_Video::tntGetVideos(array('catID' => $catID, 'typeID' => $typeID, 'limitText' => $limit, 'orderBy' => $orderBy, 'order' => $order));
    foreach ($tntVideos as $tntV) {
        ?>
							<tr>
								<td><input type="checkbox" name="tntChkVideos[]" class="tntSubChk" value="<?php 
        echo $tntV->video_id;
        ?>
" /></td>
								<td><a href="<?php 
        echo admin_url();
        ?>
admin.php?page=tnt_video_edit_page&videoID=<?php 
        echo $tntV->video_id;
        ?>
"><b><?php 
        echo $tntV->video_id;
        ?>
</b></a></td>
								<td><b><a href="<?php 
        echo admin_url();
        ?>
admin.php?page=tnt_video_edit_page&videoID=<?php 
        echo $tntV->video_id;
        ?>
"><?php 
        echo $tntV->video_title;
        ?>
</a></b></td>
								<td><?php 
        echo $tntV->video_cat_title;
        ?>
</td>
								<td>
									<?php 
        switch ($tntV->video_type_title) {
            case 'DailyMotion':
                echo '<img src="' . TNT_IMG_URL . '/dailymotion.gif" alt="' . $tntV->video_type_title . '" title="' . $tntV->video_type_title . '" />';
                break;
            case 'Vimeo':
                echo '<img src="' . TNT_IMG_URL . '/vimeo.gif" alt="' . $tntV->video_type_title . '" title="' . $tntV->video_type_title . '" />';
                break;
            default:
                echo '<img src="' . TNT_IMG_URL . '/utube.gif" alt="' . $tntV->video_type_title . '" title="' . $tntV->video_type_title . '" />';
                break;
        }
        ?>
								</td>
								<td><a href="<?php 
        echo $tntV->video_link;
        ?>
" target=_blank>Click to watch</a></td>
								<td><?php 
        echo $tntV->video_status ? '<img src="' . TNT_IMG_URL . '/publish.gif" alt="Published" />' : '<img src="' . TNT_IMG_URL . '/unpublish.gif" alt="Unpublished" />';
        ?>
</td>
								<td><?php 
        echo $tntV->video_order;
        ?>
</td>
								<td><?php 
        echo date('Y-m-d H:i:s', $tntV->date_created);
        ?>
</td>
								<td><?php 
        echo date('Y-m-d H:i:s', $tntV->date_modified);
        ?>
</td>
								<td>
									<a href="<?php 
        echo admin_url();
        ?>
admin.php?page=tnt_video_edit_page&videoID=<?php 
        echo $tntV->video_id;
        ?>
" class="button-secondary">Edit</a> 
									<a href="<?php 
        echo admin_url();
        ?>
admin.php?page=tnt_video_del_page&videoID=<?php 
        echo $tntV->video_id;
        ?>
" class="button-secondary">Delete</a>
								</td>
							</tr>
					 <?php 
    }
    ?>
				</tbody>
			</table><!-- List Video -->

			<?php 
    if ($items > $numLimit) {
        ?>
				<div class="tablenav">
				    <div class='tablenav-pages'>
				        <?php 
        echo $p->show();
        // Echo out the list of paging.
        ?>
				    </div>
				</div>				
			<?php 
    }
    ?>
			</form>
		</div>

		<script type="text/javascript">
			jQuery(document).ready(function($){

				//check if have any videos checked
				$(".btnAct").click(function(e){
					var rs = false;

					$('.tntTable tr').each (function ()
					{
						var checkbox = $(this).find(".tntSubChk");
						if (checkbox.is (':checked'))
						{
							rs = true;
						}
					});

					if(rs == false)
					{
						alert("No Items checked");
						e.preventDefault();	
					}
				});

				$(".tntChkAll").click(function(){
					if($(this).is(":checked"))
					{
						$('.tntTable tr').each (function ()
						{
							var checkbox = $(this).find(".tntSubChk");
							checkbox.attr("checked", "checked");
						});
					}
					else
					{
						$('.tntTable tr').each (function ()
						{
							var checkbox = $(this).find(".tntSubChk");
							checkbox.removeAttr("checked");
						});	
					}
				});
			});	
		</script>
	<?php 
}