%PDF- %PDF-
| Direktori : /home/lightco1/www/lightingrepublic.com.au/components/com_allvideoshare/models/ |
| Current File : /home/lightco1/www/lightingrepublic.com.au/components/com_allvideoshare/models/user.php |
<?php
/*
* @version $Id: user.php 2.2.0 2014-01-18 $
* @package Joomla
* @copyright Copyright (C) 2012-2014 MrVinoth
* @license GNU/GPL http://www.gnu.org/licenses/gpl-2.0.html
*/
// no direct access
defined('_JEXEC') or die('Restricted access');
// Import libraries
require_once( JPATH_ROOT.DS.'administrator'.DS.'components'.DS.'com_allvideoshare'.DS.'models'.DS.'model.php' );
require_once( JPATH_COMPONENT_ADMINISTRATOR.DS.'etc'.DS.'upload.php' );
jimport('joomla.filesystem.file');
jimport('joomla.filesystem.folder');
class AllVideoShareModelUser extends AllVideoShareModel {
function __construct() {
parent::__construct();
}
function getconfig() {
$db = JFactory::getDBO();
$query = "SELECT * FROM #__allvideoshare_config";
$db->setQuery( $query );
$output = $db->loadObjectList();
return($output);
}
function getvideos($user) {
$mainframe = JFactory::getApplication();
$limit = $mainframe->getUserStateFromRequest('global.list.limit', 'limit', 10, 'int');
$limitstart = JRequest::getVar('limitstart', 0, '', 'int');
// In case limit has been changed, adjust it
$limitstart = ($limit != 0 ? (floor($limitstart / $limit) * $limit) : 0);
$this->setState('limit', $limit);
$this->setState('limitstart', $limitstart);
$db = JFactory::getDBO();
$query = "SELECT * FROM #__allvideoshare_videos WHERE user=" . $db->quote( $user );
$query .= " ORDER BY ordering";
$db->setQuery ( $query, $limitstart, $limit );
$output = $db->loadObjectList();
return($output);
}
function getpagination( $user ) {
jimport( 'joomla.html.pagination' );
$pageNav = new JPagination($this->gettotal( $user ), $this->getState('limitstart'), $this->getState('limit'));
return($pageNav);
}
function gettotal( $user ) {
$db = JFactory::getDBO();
$query = "SELECT COUNT(*) FROM #__allvideoshare_videos WHERE user=" . $db->quote( $user );
$db->setQuery( $query );
$output = $db->loadResult();
return($output);
}
function getcategories() {
$db = JFactory::getDBO();
$query = 'SELECT * FROM #__allvideoshare_categories';
$db->setQuery( $query );
$mitems = $db->loadObjectList();
$children = array();
if( $mitems ) {
foreach ( $mitems as $v ) {
$v->title = $v->name;
$v->parent_id = $v->parent;
$pt = $v->parent;
$list = @$children[$pt] ? $children[$pt] : array();
array_push( $list, $v );
$children[$pt] = $list;
}
}
$list = JHTML::_('menu.treerecurse', 0, '', array(), $children, 9999, 0, 0 );
return $list;
}
function getrow() {
$db = JFactory::getDBO();
$row = JTable::getInstance('Videos', 'AllVideoShareTable');
$cid = JRequest::getVar( 'cid', array(0), '', 'array' );
$id = $cid[0];
$row->load($id);
return $row;
}
function savevideo() {
$mainframe = JFactory::getApplication();
$row = JTable::getInstance('Videos', 'AllVideoShareTable');
$cid = JRequest::getVar( 'cid', array(0), '', 'array' );
$id = $cid[0];
$row->load($id);
if(!$row->bind(JRequest::get('post'))) {
JError::raiseError(500, $row->getError());
}
jimport( 'joomla.filter.output' );
$row->title = AllVideoShareFallback::safeString($row->title);
if(!$row->slug) $row->slug = $row->title;
$row->slug = JFilterOutput::stringURLSafe($row->slug);
$row->description = JRequest::getVar('description', '', 'post', 'string', JREQUEST_ALLOWHTML);
$row->thirdparty = JRequest::getVar('thirdparty', '', 'post', 'string', JREQUEST_ALLOWRAW);
if($row->type != 'youtube') {
$dir = JFilterOutput::stringURLSafe( $row->category );
if(!JFolder::exists(ALLVIDEOSHARE_UPLOAD_BASE . $dir . DS)) {
JFolder::create(ALLVIDEOSHARE_UPLOAD_BASE . $dir . DS);
}
if($row->type == 'upload') {
$row->video = AllVideoShareUpload::doUpload('upload_video', $dir);
$row->hd = AllVideoShareUpload::doUpload('upload_hd', $dir);
}
if($row->type != 'upload') {
$row->video = AllVideoShareFallback::safeString($row->video);
$row->hd = AllVideoShareFallback::safeString($row->hd);
}
if($row->type == 'rtmp') {
$row->streamer = AllVideoShareFallback::safeString($row->streamer);
}
$row->thumb = AllVideoShareUpload::doUpload('upload_thumb', $dir);
$row->preview = AllVideoShareUpload::doUpload('upload_preview', $dir);
}
if($row->type == 'youtube') {
$v = $this->getYouTubeVideoId($row->video);
$row->video = 'http://www.youtube.com/watch?v=' . $v;
if(!$row->thumb) {
$row->thumb = 'http://img.youtube.com/vi/'.$v.'/default.jpg';
}
if(!$row->preview) {
$row->preview = 'http://img.youtube.com/vi/'.$v.'/0.jpg';
}
}
if(!$row->thumb && !JRequest::getCmd('upload_thumb')) {
$row->thumb = 'http://img.youtube.com/vi/default.jpg';
}
$row->reorder( "category='" . $row->category . "'" );
if(!$row->store()){
JError::raiseError(500, $row->getError() );
}
$itemId = '';
if(JRequest::getInt('Itemid')) {
$itemId = '&Itemid=' . JRequest::getInt('Itemid');
}
$link = JRoute::_( 'index.php?option=com_allvideoshare&view=user' . $itemId, false );
$mainframe->redirect($link, JText::_('SAVED'));
}
function getYouTubeVideoId($url) {
$video_id = false;
$url = parse_url($url);
if(strcasecmp($url['host'], 'youtu.be') === 0) {
$video_id = substr($url['path'], 1);
} else if(strcasecmp($url['host'], 'www.youtube.com') === 0) {
if(isset($url['query'])) {
parse_str($url['query'], $url['query']);
if(isset($url['query']['v'])) {
$video_id = $url['query']['v'];
}
}
if($video_id == false) {
$url['path'] = explode('/', substr($url['path'], 1));
if(in_array($url['path'][0], array('e', 'embed', 'v'))) {
$video_id = $url['path'][1];
}
}
}
return $video_id;
}
function deletevideo() {
$mainframe = JFactory::getApplication();
$cid = JRequest::getVar( 'cid', array(), '', 'array' );
$db = JFactory::getDBO();
$cids = implode( ',', $cid );
if(count($cid)) {
$query = "DELETE FROM #__allvideoshare_videos WHERE id IN ( $cids )";
$db->setQuery( $query );
if (!$db->query()) {
echo "<script> alert('".$db->getErrorMsg()."');window.history.go(-1); </script>\n";
}
}
$itemId = '';
if(JRequest::getInt('Itemid')) {
$itemId = '&Itemid=' . JRequest::getInt('Itemid');
}
$link = JRoute::_( 'index.php?option=com_allvideoshare&view=user' . $itemId, false );
$mainframe->redirect($link );
}
}