04ebda2aaa
Improvements to NAVBAR, updates to StaticList methods, other minor items Enable product category rendering and other minor improvements Added ADSL-large category price plan
58 lines
1.5 KiB
PHP
58 lines
1.5 KiB
PHP
<?php defined('SYSPATH') or die('No direct access allowed.');
|
|
|
|
/**
|
|
* Request. Uses the [Route] class to determine what
|
|
* [Controller] to send the request to.
|
|
*
|
|
* @package OSB
|
|
* @category Modifications
|
|
* @author Deon George
|
|
* @copyright (c) 2009-2013 Open Source Billing
|
|
* @license http://dev.osbill.net/license.html
|
|
*/
|
|
class Request extends Kohana_Request {
|
|
/**
|
|
* Sets and gets the directory for the controller.
|
|
*
|
|
* We override the Kohana version, so that we can have short directory URLs.
|
|
* eg: admin=>a,reseller=>r.
|
|
*
|
|
* @param string $directory Directory to execute the controller from
|
|
* @return mixed
|
|
*/
|
|
public function directory($directory = NULL) {
|
|
// If $directory is NULL, we are a getter and see if we need to expand the directory
|
|
if ($directory === NULL AND $this->_directory)
|
|
$this->_directory = URL::dir($this->_directory);
|
|
|
|
return parent::directory($directory);
|
|
}
|
|
|
|
/**
|
|
* Get our Module_Method object for this request
|
|
*/
|
|
public function mmo() {
|
|
static $result = FALSE;
|
|
|
|
if (is_null($result) OR $result)
|
|
return $result;
|
|
|
|
$result = NULL;
|
|
|
|
$mo = ORM::factory('Module',array('name'=>$this->_controller));
|
|
|
|
if ($mo->loaded() AND $mo->status) {
|
|
$method = strtolower($this->_directory ? sprintf('%s_%s',$this->_directory,$this->_action) : $this->_action);
|
|
|
|
// Get the method number
|
|
$mmo = ORM::factory('Module_Method',array('module_id'=>$mo->id,'name'=>$method));
|
|
|
|
if ($mmo->loaded())
|
|
$result = $mmo;
|
|
}
|
|
|
|
return $result;
|
|
}
|
|
}
|
|
?>
|