%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home1/lightco1/www/administrator/components/com_poweradmin/views/changeposition/
Upload File :
Create Path :
Current File : //home1/lightco1/www/administrator/components/com_poweradmin/views/changeposition/view.html.php

<?php
/**
 * @version     $Id: view.html.php 16024 2012-09-13 11:55:37Z hiepnv $
 * @package     JSN_Poweradmin
 * @subpackage  Config
 * @author      JoomlaShine Team <support@joomlashine.com>
 * @copyright   Copyright (C) 2012 JoomlaShine.com. All Rights Reserved.
 * @license     GNU/GPL v2 or later http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Websites: http://www.joomlashine.com
 * Technical Support:  Feedback - http://www.joomlashine.com/contact-us/get-support.html
 */

// No direct access to this file
defined('_JEXEC') or die('Restricted access');

jimport('joomla.application.component.view');

include_once (JPATH_ROOT . '/plugins/system/jsnframework/libraries/joomlashine/positions/view.php');

class PoweradminViewChangeposition extends JSNBaseView
{
	/**
	 * Custom sript
	 *
	 * @var array
	 */
	protected $customScripts = array();
	
	/**
	 * Constructor
	 *
	 * @param   array  $config  A named configuration array for object construction.
	 */
	public function __construct($config = array())
	{
		// Display only the component output
		JFactory::getApplication()->input->def('tmpl', 'component');
	
		parent::__construct($config);
	}
	
	
	public function display($tpl = null)
	{
 		$app = JFactory::getApplication();
 		$document = JFactory::getDocument();
 		// Check if this view is used for module editing page.
 		$moduleEdit = JRequest::getCmd('moduleedit', '');
 		$active_positions = Array();
 		$model = $this->getModel('changeposition');
 		if(!$moduleEdit){
 			$moduleid = $app->getUserState( 'com_poweradmin.changeposition.moduleid' );

 		}else{
 			$moduleid = array(JRequest::getCmd('moduleid', ''));
 		}

 		for( $i = 0; $i < count($moduleid); $i++ ){
 			$active_positions[] = "$('#".$model->getModulePosition(  $moduleid[$i] )."-jsnposition').addClass('active-position').attr('title', 'Active position');";
 		}

 		JSNHtmlAsset::addScript(JURI::root(true) . '/media/jui/js/jquery.js');
 		JSNHtmlAsset::addScript( JSN_POWERADMIN_LIB_JSNJS_URI. 'jsn.jquery.noconflict.js');
 		JSNHtmlAsset::addScript(JSN_POWERADMIN_LIB_JSNJS_URI. 'jsn.functions.js');
 		//$document->addScript(JSN_POWERADMIN_LIB_JSNJS_URI. 'jsn.filter.visualmode.js');


 		//Enable position filter.
 		$this->setFilterable(true);

		$customScript = "
			var baseUrl  = '".JURI::root()."';
			var token  = '".JSession::getFormToken()."';
			var moduleid = new Array();
			moduleid = [". @implode(",", $moduleid)."];
			(function ($){
				$(document).ready(function (){
					".implode(PHP_EOL, $active_positions)."
				});
			})(JoomlaShine.jQuery);
 		";

 		$this->addCustomScripts($customScript);


 		//Callback after position clicked.
 		if(!$moduleEdit){
 			$onPostionClick = "
 			if ( !$(this).hasClass('active-position') ){
				JoomlaShine.jQuery.setPosition(moduleid, $(this).attr('id').replace('-jsnposition', ''));
 				parent.JoomlaShine.jQuery('.ui-dialog-content').dialog('close');
 			}
 			";
 		}else{
 			$onPostionClick = "
 			if ( !$(this).hasClass('active-position') ){
 				var posName = $(this).attr('id').replace('-jsnposition', '');
 				parent.JoomlaShine.jQuery('#jform_position').val(posName);
 				parent.modal.close();
 			}
 			";
 		}

 		$this->addPositionClickCallBack($onPostionClick);

 		$template = JSNTemplateHelper::getInstance();
 		$onPositionClick = '';
 		$initFilter = '';
 		$displayNotice = $app->input->getInt('notice');
 		$bypassNotif	= $app->input->getVar('bypassNotif', '');

 		// Get template author.
 		$templateAuthor = $template->getAuthor();
 		
 		JSNPositionsHelper::dispatchTemplateFramework($templateAuthor);
 		
 		$document->addStyleSheet(JSN_URL_ASSETS . '/joomlashine/css/jsn-positions.css');
 		
 		if (JSNVersion::isJoomlaCompatible('3.0'))
 		{
 			$document->addScript(JURI::root(true) . '/media/jui/js/jquery.js');
 		}
 		else
 		{
 			$document->addScript(JSN_URL_ASSETS . '/3rd-party/jquery/jquery-1.8.2.js');
 		}
 		
 		if (isset($this->filterEnabled) AND $this->filterEnabled)
 		{
 			$document->addScript(JSN_URL_ASSETS . '/joomlashine/js/positions.filter.js');
 			$initFilter = 'changeposition = new JoomlaShine.jQuery.visualmodeFilter({});';
 		}
 		
 		if (isset($this->customScripts))
 		{
 			$document->addScriptDeclaration(implode('\n', $this->customScripts));
 		}
 		
 		$onPositionClick = isset($this->onPositionClickCallBack) ? implode('\n', $this->onPositionClickCallBack) : '';
 		
 		// Get JSN Template Framework version
 		$db	= JFactory::getDbo();
 		$q	= $db->getQuery(true);
 		
 		$q->select('manifest_cache');
 		$q->from('#__extensions');
 		$q->where("element = 'jsntplframework'");
 		$q->where("type = 'plugin'", 'AND');
 		$q->where("folder = 'system'", 'AND');
 		
 		$db->setQuery($q);
 		
 		// Load dependency installation status.
 		$res 	= $db->loadObject();
 		$res	= json_decode($res->manifest_cache);
 		$jsnTplFwVersion	=	$res->version;
 		
 		$jsnTemplateCustomJs	= '';
 		if (version_compare($jsnTplFwVersion, '2.0.1', '<=')) {
 			$jsnTemplateCustomJs	= "$('body').addClass('jsn-bootstrap');";
 		}
 		
 		$_customScript = "
			var changeposition;
			(function($){
				$(document).ready(function (){
					var posOutline	= $('.jsn-position');
					var _idAlter	= false;
					if ($('.jsn-position').length == 0) {
						posOutline	= $('.mod-preview');
						_idAlter	= true;
					}else{
						posOutline.css({'z-index':'9999', 'position':'relative'});
					}
					posOutline.each(function(){
						if(_idAlter){
							previewInfo = $(this).children('.mod-preview-info').text();

							_splitted = previewInfo.split('[');
							if(_splitted.length > 1){
								posname	= _splitted[0];
							}
							_splitted = posname.split(': ');
							if(_splitted.length > 1){
								posname	= _splitted[1];
							}

							posname = $.trim(posname);

							$(this).attr('id', posname + '-jsnposition');
						}

						$(this)[0].oncontextmenu = function() {
							return false;
						}
					})
					.click(function () {
						" . $onPositionClick . "
					});
					" . $jsnTemplateCustomJs ."
				});
				" . $initFilter . "
				
			})(jQuery);
		";
 		$document->addScriptDeclaration($_customScript);
 		
 		$previewModulePositionsIsEnabled = JComponentHelper::getParams('com_templates')->get('template_positions_display', 0);

 		if (!$previewModulePositionsIsEnabled)
 		{
 			/**
 			 * Get config class
 			 */
 			JSNFactory::localimport('libraries.joomlashine.config');
 			JSNConfig::extension( 'com_templates', array( 'template_positions_display' => 1 ) );
 		}
 		
 		$config 	= JFactory::getConfig();
 		$secret 	= $config->get('secret');
 		
 		$jsnrender = JSNPositionsRender::getInstance();
 		$jsnrender->renderPage(JURI::root() . 'index.php?poweradmin=1&vsm_changeposition=1&tp=1&jsnpa_key=' . md5($secret), 'changePosition');
 		
 		$this->jsnrender = $jsnrender;
 		
		parent::display($tpl);
	}
	
	
	/**
	 * Method to add customs javacript into page.
	 *
	 * @param   string  $customScript  Custom script
	 *
	 * @return  void
	 */
	
	public function addCustomScripts($customScript = '')
	{
		$this->customScripts[] = $customScript;
	
		return;
	}
	
	/**
	 * Method to add javascript callback functions after a position clicked.
	 *
	 * @param   string  $script  Script code
	 *
	 * @return  void
	 */
	public function addPositionClickCallBack($script = '')
	{
		$this->onPositionClickCallBack[] = $script;
	
		return;
	}
	
	/**
	 * Method to enable/disable position filter.
	 *
	 * @param   boolean  $filterEnabled  Whether to enable filter or not?
	 *
	 * @return  void
	 */
	public function setFilterable($filterEnabled = false)
	{
		$this->filterEnabled = $filterEnabled;
	}
	
	/**
	 * Add assets
	 *
	 * @return  void
	 */
	public function _addAssets()
	{
	}	
}

Zerion Mini Shell 1.0