b0y-101 Mini Shell


Current Path : E:/www/plan/components/com_jevents/views/default/abstract/
File Upload :
Current File : E:/www/plan/components/com_jevents/views/default/abstract/abstract.php

<?php
/**
 * JEvents Component for Joomla! 3.x
 *
 * @version     $Id: abstract.php 3153 2012-01-05 10:11:45Z geraintedwards $
 * @package     JEvents
 * @copyright   Copyright (C) 2008-2019 GWE Systems Ltd
 * @license     GNU/GPLv2, see http://www.gnu.org/licenses/gpl-2.0.html
 * @link        http://www.jevents.net
 */

// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die();


// option masks
define( 'MASK_BACKTOLIST', 0x0001 );
define( 'MASK_READON',     0x0002 );
define( 'MASK_POPUP',      0x0004 );
define( 'MASK_HIDEPDF',    0x0008 );
define( 'MASK_HIDEPRINT',  0x0010 );
define( 'MASK_HIDEEMAIL',  0x0020 );
define( 'MASK_IMAGES',     0x0040 );
define( 'MASK_VOTES',      0x0080 );
define( 'MASK_VOTEFORM',   0x0100 );

define( 'MASK_HIDEAUTHOR',     0x0200 );
define( 'MASK_HIDECREATEDATE', 0x0400 );
define( 'MASK_HIDEMODIFYDATE', 0x0800 );

define( 'MASK_LINK_TITLES', 0x1000 );

// mos_content.mask masks
define( 'MASK_HIDE_TITLE', 0x0001 );
define( 'MASK_HIDE_INTRO', 0x0002 );

use Joomla\String\StringHelper;

/**
 * HTML Abstract view class for the component frontend
 *
 * @static
 */
class JEventsDefaultView extends JEventsAbstractView
{
	var $jevlayout = null;

	function __construct($config = null)
	{
		parent::__construct($config);

		$this->jevlayout="default";	
		
		$this->addHelperPath(realpath(dirname(__FILE__)."/../helpers"));
		
		$this->addHelperPath( JPATH_BASE.'/'.'templates'.'/'.JFactory::getApplication()->getTemplate().'/'.'html'.'/'.JEV_COM_COMPONENT.'/'."helpers");

		$reg = JevRegistry::getInstance("jevents");
		$this->datamodel = $reg->getReference("jevents.datamodel");		

		if (!$this->datamodel)
		{
			// attach data model
			$this->datamodel  =  new JEventsDataModel();
			$this->datamodel->setupComponentCatids();
			$reg->setReference("jevents.datamodel" , $this->datamodel);
		}
		

	}

	function getViewName(){
		return $this->jevlayout;
	}

	function loadHelper( $file = null)
	{
		if (function_exists($file) || class_exists($file)) return true;
		
		// load the template script
		jimport('joomla.filesystem.path');
		$helper = JPath::find($this->_path['helper'], $this->_createFileName('helper', array('name' => $file)));

		if ($helper != false)
		{
			// include the requested template filename in the local scope
			include_once $helper;
		}
		return $helper;
	}
/*
	function _header() {
		$this->loadHelper("DefaultViewHelperHeader");
		DefaultViewHelperHeader($this);
	}

	function _footer() {
		$this->loadHelper("DefaultViewHelperFooter");
		DefaultViewHelperFooter($this);
	}

	function _showNavTableBar() {
		$this->loadHelper("DefaultViewHelperShowNavTableBar");
		DefaultViewHelperShowNavTableBar($this);
	}

	function _viewNavAdminPanel(){
		$this->loadHelper("DefaultViewHelperViewNavAdminPanel");
		DefaultViewHelperViewNavAdminPanel($this);
	}
*/
	// this doens't follow naming convention so must declare
	function _datecellAddEvent($year, $month,$day){
		$this->loadHelper("DefaultViewDatecellAddEvent");
		DefaultViewDatecellAddEvent($this,$year, $month,$day);
	}

	// These don't follow argument pattern
	function paginationForm($total, $limitstart, $limit){
		if ($this->loadHelper("DefaultPaginationForm")){
			DefaultPaginationForm($total, $limitstart, $limit, isset($this->keyword)?$this->keyword:"");
		}
	}
	
	function paginationSearchForm($total, $limitstart, $limit){
		if ($this->loadHelper("DefaultPaginationSearchForm")){
			DefaultPaginationSearchForm($total, $limitstart, $limit, isset($this->keyword)?$this->keyword:"");
		}
	}

	// This handles all methods where the view is passed as the first argument
	function __call($name, $arguments){
		if (strpos($name,"_")===0){
			$name="ViewHelper".ucfirst(JString::substr($name,1));
		}
		$helper = ucfirst($this->jevlayout).ucfirst($name);
		if (!$this->loadHelper($helper)){
			$helper = "Default".ucfirst($name);
			if (!$this->loadHelper($helper)){
				return;
			}
		}
		$args = array_unshift($arguments,$this);
		if (class_exists($helper)){
			if (class_exists("ReflectionClass") ){
				$reflectionObj = new ReflectionClass($helper);
				if (method_exists($reflectionObj,"newInstanceArgs")){
					$var = $reflectionObj->newInstanceArgs($arguments);	
				}
				else {
					$var = $this->CreateClass($helper,$arguments);
				}
			}
			else {
				$var = $this->CreateClass($helper,$arguments);
			}
			return;
		}
		else if (is_callable($helper)){
			return call_user_func_array($helper,$arguments);
		}
	}

	protected function CreateClass($className, $params) {
		switch (count($params)) {
			case 0:
				return new $className();
				break;
			case 1:
				return new $className($params[0]);
				break;
			case 2:
				return new $className($params[0], $params[1]);
				break;
			case 3:
				return new $className($params[0], $params[1], $params[2]);
				break;
			case 4:
				return new $className($params[0], $params[1], $params[2], $params[3]);
				break;
			case 5:
				return new $className($params[0], $params[1], $params[2], $params[3], $params[4]);
				break;
			case 6:
				return new $className($params[0], $params[1], $params[2], $params[3], $params[4], $params[5]);
				break;
			case 7:
				return new $className($params[0], $params[1], $params[2], $params[3], $params[4], $params[5], $params[6]);
				break;
			case 8:
				return new $className($params[0], $params[1], $params[2], $params[3], $params[4], $params[5], $params[6], $params[7]);
				break;
			case 9:
				return new $className($params[0], $params[1], $params[2], $params[3], $params[4], $params[5], $params[6], $params[7], $params[8]);
				break;
			case 10:
				return new $className($params[0], $params[1], $params[2], $params[3], $params[4], $params[5], $params[6], $params[7], $params[8], $params[9]);
				break;
			default:
				echo "Too many arguments";
				return null;
				break;
		}
	}

}

Copyright © 2019 by b0y-101