?? controller.php
字號:
$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 + -