⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 controller.php

📁 没什么功能
💻 PHP
📖 第 1 页 / 共 2 页
字号:
					$params	=& $menu->getParams($item->id);					// Set Default State Data					$model->setState( 'parameters.menu', $params );				}			}		}		return $model;	}	/**	 * Adds to the stack of model paths in LIFO order.	 *	 * @static	 * @param	string|array The directory (string), or list of directories	 *                       (array) to add.	 * @return	void	 */	function addModelPath( $path )	{		jimport('joomla.application.component.model');		JModel::addIncludePath($path);	}	/**	 * Gets the available tasks in the controller.	 * @access	public	 * @return	array Array[i] of task names.	 * @since	1.5	 */	function getTasks()	{		return $this->_methods;	}	/**	 * Get the last task that is or was to be performed.	 *	 * @access	public	 * @return	 string The task that was or is being performed.	 * @since	1.5	 */	function getTask()	{		return $this->_task;	}	/**	 * Method to get the controller name	 *	 * The dispatcher name by default parsed using the classname, or it can be set	 * by passing a $config['name'] in the class constructor	 *	 * @access	public	 * @return	string The name of the dispatcher	 * @since	1.5	 */	function getName()	{		$name = $this->_name;		if (empty( $name ))		{			$r = null;			if ( !preg_match( '/(.*)Controller/i', get_class( $this ), $r ) ) {				JError::raiseError(500, "JController::getName() : Cannot get or parse class name.");			}			$name = strtolower( $r[1] );		}		return $name;	}	/**	 * Method to get a reference to the current view and load it if necessary.	 *	 * @access	public	 * @param	string	The view name. Optional, defaults to the controller	 * name.	 * @param	string	The view type. Optional.	 * @param	string	The class prefix. Optional.	 * @param	array	Configuration array for view. Optional.	 * @return	object	Reference to the view or an error.	 * @since	1.5	 */	function &getView( $name = '', $type = '', $prefix = '', $config = array() )	{		static $views;		if ( !isset( $views ) ) {			$views = array();		}		if ( empty( $name ) ) {			$name = $this->getName();		}		if ( empty( $prefix ) ) {			$prefix = $this->getName() . 'View';		}		if ( empty( $views[$name] ) )		{			if ( $view = & $this->_createView( $name, $prefix, $type, $config ) ) {				$views[$name] = & $view;			} else {				$result = JError::raiseError(					500, JText::_( 'View not found [name, type, prefix]:' )						. ' ' . $name . ',' . $type . ',' . $prefix				);				return $result;			}		}		return $views[$name];	}	/**	 * Add one or more view paths to the controller's stack, in LIFO order.	 *	 * @static	 * @param	string|array The directory (string), or list of directories	 * (array) to add.	 * @return	void	 */	function addViewPath( $path )	{		$this->_addPath( 'view', $path );	}	/**	 * Register (map) a task to a method in the class.	 *	 * @access	public	 * @param	string	The task.	 * @param	string	The name of the method in the derived class to perform	 *                  for this task.	 * @return	void	 * @since	1.5	 */	function registerTask( $task, $method )	{		if ( in_array( strtolower( $method ), $this->_methods ) ) {			$this->_taskMap[strtolower( $task )] = $method;		}	}	/**	 * Register the default task to perform if a mapping is not found.	 *	 * @access	public	 * @param	string The name of the method in the derived class to perform if	 * a named task is not found.	 * @return	void	 * @since	1.5	 */	function registerDefaultTask( $method )	{		$this->registerTask( '__default', $method );	}	/**	 * Sets the internal message that is passed with a redirect	 *	 * @access	public	 * @param	string	The message	 * @return	string	Previous message	 * @since	1.5	 */	function setMessage( $text )	{		$previous		= $this->_message;		$this->_message = $text;		return $previous;	}	/**	 * Set a URL for browser redirection.	 *	 * @access	public	 * @param	string URL to redirect to.	 * @param	string	Message to display on redirect. Optional, defaults to	 * 			value set internally by controller, if any.	 * @param	string	Message type. Optional, defaults to 'message'.	 * @return	void	 * @since	1.5	 */	function setRedirect( $url, $msg = null, $type = 'message' )	{		$this->_redirect = $url;		if ($msg !== null) {			// controller may have set this directly			$this->_message	= $msg;		}		$this->_messageType	= $type;	}	/**	 * Sets the access control levels.	 *	 * @access	public	 * @param	string The ACO section (eg, the component).	 * @param	string The ACO section value (if using a constant value).	 * @return	void	 * @since	1.5	 */	function setAccessControl( $section, $value = null )	{		$this->_acoSection = $section;		$this->_acoSectionValue = $value;	}	/**	 * Method to load and return a model object.	 *	 * @access	private	 * @param	string  The name of the model.	 * @param	string	Optional model prefix.	 * @param	array	Configuration array for the model. Optional.	 * @return	mixed	Model object on success; otherwise null	 * failure.	 * @since	1.5	 */	function &_createModel( $name, $prefix = '', $config = array())	{		$result = null;		// Clean the model name		$modelName	 = preg_replace( '/[^A-Z0-9_]/i', '', $name );		$classPrefix = preg_replace( '/[^A-Z0-9_]/i', '', $prefix );		$result =& JModel::getInstance($modelName, $classPrefix, $config);		return $result;	}	/**	 * Method to load and return a view object. This method first looks in the	 * current template directory for a match, and failing that uses a default	 * set path to load the view class file.	 *	 * Note the "name, prefix, type" order of parameters, which differs from the	 * "name, type, prefix" order used in related public methods.	 *	 * @access	private	 * @param	string	The name of the view.	 * @param	string	Optional prefix for the view class name.	 * @param	string	The type of view.	 * @param	array	Configuration array for the view. Optional.	 * @return	mixed	View object on success; null or error result on failure.	 * @since	1.5	 */	function &_createView( $name, $prefix = '', $type = '', $config = array() )	{		$result = null;		// Clean the view name		$viewName	 = preg_replace( '/[^A-Z0-9_]/i', '', $name );		$classPrefix = preg_replace( '/[^A-Z0-9_]/i', '', $prefix );		$viewType	 = preg_replace( '/[^A-Z0-9_]/i', '', $type );		// Build the view class name		$viewClass = $classPrefix . $viewName;		if ( !class_exists( $viewClass ) )		{			jimport( 'joomla.filesystem.path' );			$path = JPath::find(				$this->_path['view'],				$this->_createFileName( 'view', array( 'name' => $viewName, 'type' => $viewType) )			);			if ($path) {				require_once $path;				if ( !class_exists( $viewClass ) ) {					$result = JError::raiseError(						500, JText::_( 'View class not found [class, file]:' )						. ' ' . $viewClass . ', ' . $path );					return $result;				}			} else {				return $result;			}		}		$result = new $viewClass($config);		return $result;	}	/**	* Sets an entire array of search paths for resources.	*	* @access	protected	* @param	string	The type of path to set, typically 'view' or 'model'.	* @param	string|array	The new set of search paths. If null or false,	* resets to the current directory only.	*/	function _setPath( $type, $path )	{		// clear out the prior search dirs		$this->_path[$type] = array();		// actually add the user-specified directories		$this->_addPath( $type, $path );	}	/**	* Adds to the search path for templates and resources.	*	* @access	protected	* @param	string The path type (e.g. 'model', 'view'.	* @param	string|array The directory or stream to search.	* @return	void	*/	function _addPath( $type, $path )	{		// just force path to array		settype( $path, 'array' );		// loop through the path directories		foreach ( $path as $dir )		{			// no surrounding spaces allowed!			$dir = trim( $dir );			// add trailing separators as needed			if ( substr( $dir, -1 ) != DIRECTORY_SEPARATOR ) {				// directory				$dir .= DIRECTORY_SEPARATOR;			}			// add to the top of the search dirs			array_unshift( $this->_path[$type], $dir );		}	}	/**	 * Create the filename for a resource.	 *	 * @access	private	 * @param	string	The resource type to create the filename for.	 * @param	array	An associative array of filename information. Optional.	 * @return	string	The filename.	 * @since	1.5	 */	function _createFileName( $type, $parts = array() )	{		$filename = '';		switch ( $type )		{			case 'view':				if ( !empty( $parts['type'] ) ) {					$parts['type'] = '.'.$parts['type'];				}				$filename = strtolower($parts['name']).DS.'view'.$parts['type'].'.php';			break;		}		return $filename;	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -