48 lines
1.2 KiB
PHP
48 lines
1.2 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 lnApp_Request {
|
|
/**
|
|
* Get our Module_Method object for this request
|
|
*/
|
|
public function mmo() {
|
|
static $result = FALSE;
|
|
|
|
if (is_null($result) OR $result)
|
|
return $result;
|
|
|
|
$result = NULL;
|
|
|
|
list($c,$x) = substr_count($this->_controller,'_') ? explode('_',$this->_controller,2) : array($this->_controller,'');
|
|
|
|
$mo = ORM::factory('Module',array('name'=>$c));
|
|
|
|
if ($mo->loaded() AND $mo->active) {
|
|
$method = strtolower($this->_directory ? sprintf('%s:%s',$this->_directory.($x ? '_'.$x : ''),$this->_action) : $this->_action);
|
|
|
|
// Get the method number
|
|
$mmo = $mo->module_method
|
|
->where_open()
|
|
->where('name','=',$method)
|
|
->or_where('name','=',str_replace(':','_',$method)) // @todo This is temporary until all our method names have a colon delimiter
|
|
->where_close()
|
|
->find();
|
|
|
|
if ($mmo->loaded())
|
|
$result = $mmo;
|
|
}
|
|
|
|
return $result;
|
|
}
|
|
}
|
|
?>
|