191 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			191 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /*
 | |
|  * @package		Joomla.Framework
 | |
|  * @copyright	Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.
 | |
|  * @license		GNU General Public License version 2 or later; see LICENSE.txt
 | |
|  *
 | |
|  * @component Phoca Component
 | |
|  * @copyright Copyright (C) Jan Pavelka www.phoca.cz
 | |
|  * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later;
 | |
|  */
 | |
| 
 | |
| defined('_JEXEC') or die();
 | |
| use Joomla\CMS\MVC\Controller\FormController;
 | |
| use Joomla\CMS\Session\Session;
 | |
| use Joomla\CMS\Factory;
 | |
| use Joomla\CMS\Language\Text;
 | |
| use Joomla\CMS\Filesystem\File;
 | |
| jimport('joomla.application.component.controllerform');
 | |
| jimport('joomla.client.helper');
 | |
| phocagalleryimport('phocagallery.youtube.youtube');
 | |
| 
 | |
| class PhocaGalleryCpControllerPhocaGalleryYtb extends FormController
 | |
| {
 | |
| 	//protected	$option 		= 'com_phocagallery';
 | |
| 	protected $context 	= 'com_phocagallery.phocagalleryytjjb';
 | |
| 
 | |
| 	function __construct() {
 | |
| 		parent::__construct();
 | |
| 		$this->registerTask( 'import'  , 	'import' );
 | |
| 	}
 | |
| 
 | |
| 	function import() {
 | |
| 
 | |
| 		Session::checkToken() or die( 'Invalid Token' );
 | |
| 		$app = Factory::getApplication();
 | |
| 		//$post	= JFactory::getApplication()->input->get('post');
 | |
| 		//$ytb_link	= JFactory::getApplication()->input->get( 'ytb_link', '', 'post', 'string', J REQUEST_NOTRIM);
 | |
| 		//$field		= JFactory::getApplication()->input->get( 'field', '', 'post', 'string', J REQUEST_NOTRIM);
 | |
| 		$ytb_link	= Factory::getApplication()->input->get( 'ytb_link', '',  'string' );
 | |
| 		$field		= Factory::getApplication()->input->get( 'field', '',  'string' );
 | |
| 		$catid		= Factory::getApplication()->input->get( 'catid', 0,  'int' );
 | |
| 
 | |
| 		$errorYtbMsg = '';
 | |
| 
 | |
| 		$folder = '';
 | |
| 		if ((int)$catid > 0) {
 | |
| 			$db =Factory::getDBO();
 | |
| 			$query = 'SELECT c.userfolder'
 | |
| 			.' FROM #__phocagallery_categories AS c'
 | |
| 			.' WHERE c.id = '.$db->Quote((int)$catid);
 | |
| 
 | |
| 			$db->setQuery($query, 0, 1);
 | |
| 			$folderObj = $db->loadObject();
 | |
| 
 | |
| 			if (!$db->execute()) {
 | |
| 				$this->setError($db->getErrorMsg());
 | |
| 				return false;
 | |
| 			}
 | |
| 
 | |
| 			if (isset($folderObj->userfolder) && $folderObj->userfolder != '') {
 | |
| 				$folder = $folderObj->userfolder . '/';// Save to category folder
 | |
| 			} else {
 | |
| 				$folder = '';// No category folder - save to root
 | |
| 			}
 | |
| 		} else {
 | |
| 			$errorYtbMsg .= Text::_('COM_PHOCAGALLERY_YTB_ERROR_NO_CATEGORY');
 | |
| 		}
 | |
| 
 | |
| 		$ytb	= PhocaGalleryYoutube::importYtb($ytb_link, $folder, $errorYtbMsg);
 | |
| 
 | |
| /*
 | |
| 		$ytb_code 	= str_replace("&feature=related","",PhocaGalleryYoutube::getCode(strip_tags($ytb_link)));
 | |
| 
 | |
| 		$msg = $errorMsg = '';
 | |
| 		$ytb				= array();
 | |
| 		$ytb['title']		= '';
 | |
| 		$ytb['desc']		= '';
 | |
| 		$ytb['filename']	= '';
 | |
| 		$ytb['link']		= strip_tags($ytb_link);
 | |
| 
 | |
| 		if(!function_exists("curl_init")){
 | |
| 			$errorMsg .= Text::_('COM_PHOCAGALLERY_YTB_NOT_LOADED_CURL');
 | |
| 		} else if ($ytb_code == '') {
 | |
| 			$errorMsg .= Text::_('COM_PHOCAGALLERY_YTB_URL_NOT_CORRECT');
 | |
| 		} else {
 | |
| 
 | |
| 			$folder = '';
 | |
| 			if ((int)$catid > 0) {
 | |
| 				$db =Factory::getDBO();
 | |
| 				$query = 'SELECT c.userfolder'
 | |
| 				.' FROM #__phocagallery_categories AS c'
 | |
| 				.' WHERE c.id = '.$db->Quote((int)$catid);
 | |
| 
 | |
| 				$db->setQuery($query, 0, 1);
 | |
| 				$folderObj = $db->loadObject();
 | |
| 
 | |
| 				if (!$db->query()) {
 | |
| 					$this->setError($db->getErrorMsg());
 | |
| 					return false;
 | |
| 				}
 | |
| 
 | |
| 				if (isset($folderObj->userfolder) && $folderObj->userfolder != '') {
 | |
| 					$folder = $folderObj->userfolder . '/';// Save to category folder
 | |
| 				} else {
 | |
| 					$folder = '';// No category folder - save to root
 | |
| 				}
 | |
| 			} else {
 | |
| 				$errorMsg .= Text::_('COM_PHOCAGALLERY_YTB_ERROR_NO_CATEGORY');
 | |
| 			}
 | |
| 
 | |
| 			// Data
 | |
| 			$cUrl		= curl_init("http://gdata.youtube.com/feeds/api/videos/".strip_tags($ytb_code));
 | |
|             curl_setopt($cUrl,CURLOPT_RETURNTRANSFER,1);
 | |
|             $xml		= curl_exec($cUrl);
 | |
|             curl_close($cUrl);
 | |
| 
 | |
| 			$xml 	= str_replace('<media:', '<phcmedia', $xml);
 | |
| 			$xml 	= str_replace('</media:', '</phcmedia', $xml);
 | |
| 
 | |
| 			$data = simplexml_load_file($file);
 | |
| 
 | |
| 			//Title
 | |
| 			if (isset($data->title)) {
 | |
| 				$ytb['title'] = (string)$data->title;
 | |
| 			}
 | |
| 
 | |
| 			if ($ytb['title'] == '' && isset($data->phcmediagroup->phcmediatitle)) {
 | |
| 				$ytb['title'] = (string)$data->phcmediagroup->phcmediatitle;
 | |
| 			}
 | |
| 
 | |
| 			if (isset($data->phcmediagroup->phcmediadescription)) {
 | |
| 				$ytb['desc'] = (string)$data->phcmediagroup->phcmediadescription;
 | |
| 			}
 | |
| 
 | |
| 			// Thumbnail
 | |
| 			if (isset($data->phcmediagroup->phcmediathumbnail[0]['url'])) {
 | |
| 				$cUrl		= curl_init(strip_tags((string)$data->phcmediagroup->phcmediathumbnail[0]['url']));
 | |
| 				curl_setopt($cUrl,CURLOPT_RETURNTRANSFER,1);
 | |
| 				$img		= curl_exec($cUrl);
 | |
| 				curl_close($cUrl);
 | |
| 			}
 | |
| 
 | |
| 			if ($img != '') {
 | |
| 				$cUrl		= curl_init("http://img.youtube.com/vi/".strip_tags($ytb_code)."/0.jpg");
 | |
| 				curl_setopt($cUrl,CURLOPT_RETURNTRANSFER,1);
 | |
| 				$img		= curl_exec($cUrl);
 | |
| 				curl_close($cUrl);
 | |
| 			}
 | |
| 
 | |
| 			$ytb['filename']	= $folder.strip_tags($ytb_code).'.jpg';
 | |
| 
 | |
|             if (!File::write(JPATH_ROOT . '/' .'images' . '/' . 'phocagallery' . '/'. $ytb['filename'], $img)) {
 | |
| 				$errorMsg .= Text::_('COM_PHOCAGALLERY_YTB_ERROR_WRITE_IMAGE');
 | |
| 			}
 | |
| 		}*/
 | |
| 
 | |
| 		if ((bool)$ytb !== false) {
 | |
| 
 | |
| 			Factory::getApplication()->input->set('ytb_title', $ytb['title']);
 | |
| 			Factory::getApplication()->input->set('ytb_desc', $ytb['desc']);
 | |
| 			Factory::getApplication()->input->set('ytb_filename', $ytb['filename']);
 | |
| 			Factory::getApplication()->input->set('ytb_link', $ytb['link']);
 | |
| 		}
 | |
| 
 | |
| 		if ($errorYtbMsg != '') {
 | |
| 			$msg 	= $errorYtbMsg;
 | |
| 			$import	= '';
 | |
| 			$redirect = 'index.php?option=com_phocagallery&view=phocagalleryytb&tmpl=component&field='.$field.'&catid='.(int)$catid.$import;
 | |
| 			$app->enqueueMessage($errorYtbMsg, 'error');
 | |
| 			$this->setRedirect( $redirect );
 | |
| 		} else {
 | |
| 			$msg 		= Text::_('COM_PHOCAGALLERY_YTB_SUCCESS_IMPORT');
 | |
| 			$import		= '&import=1';
 | |
| 
 | |
| 			$app->getUserStateFromRequest( $this->context.'.ytb_title', 'ytb_title', $ytb['title'], 'string' );
 | |
| 			$app->getUserStateFromRequest( $this->context.'.ytb_desc', 'ytb_desc', $ytb['desc'], 'string' );
 | |
| 			$app->getUserStateFromRequest( $this->context.'.ytb_filename', 'ytb_filename', $ytb['filename'], 'string' );
 | |
| 			$app->getUserStateFromRequest( $this->context.'.ytb_link', 'ytb_link', $ytb['link'], 'string' );
 | |
| 			$redirect = 'index.php?option=com_phocagallery&view=phocagalleryytb&tmpl=component&field='.$field.'&catid='.(int)$catid.$import;
 | |
| 			$app->enqueueMessage($msg, 'message');
 | |
| 			$this->setRedirect( $redirect );
 | |
| 		}
 | |
| 
 | |
| 	}
 | |
| 
 | |
| 	function cancel($key = NULL) {
 | |
| 		$this->setRedirect( 'index.php?option=com_phocagallery' );
 | |
| 	}
 | |
| }
 | |
| ?>
 |