38 lines
1.7 KiB
PHP
38 lines
1.7 KiB
PHP
|
<?php defined('SYSPATH') or die('No direct access allowed.');
|
||
|
|
||
|
/**
|
||
|
* This class provides System Search capabilities
|
||
|
*
|
||
|
* @package OSB
|
||
|
* @category Controllers/User
|
||
|
* @author Deon George
|
||
|
* @copyright (c) 2009-2013 Open Source Billing
|
||
|
* @license http://dev.osbill.net/license.html
|
||
|
*/
|
||
|
class Controller_User_Search extends Controller_Search {
|
||
|
protected $secure_actions = array(
|
||
|
'ajaxlist'=>TRUE,
|
||
|
);
|
||
|
|
||
|
/**
|
||
|
* Used by AJAX calls to find accounts, invoices, services and payments
|
||
|
*/
|
||
|
public function action_ajaxlist() {
|
||
|
$result = array();
|
||
|
|
||
|
if (isset($_REQUEST['term']) AND trim($_REQUEST['term'])) {
|
||
|
$result = array_merge($result,ORM::factory('Account')->list_autocomplete($_REQUEST['term'],'url','id',array('ACC %s: %s'=>array('id','name(TRUE)')),array(),array('urlprefix'=>'a/service/list/')));
|
||
|
$result = array_merge($result,ORM::factory('Invoice')->list_autocomplete($_REQUEST['term'],'url','id',array('INV %s: %s'=>array('id','account->name(TRUE)')),array(),array('urlprefix'=>'u/invoice/view/')));
|
||
|
$result = array_merge($result,ORM::factory('Service')->list_autocomplete($_REQUEST['term'],'url','id',array('SVC %s: %s'=>array('id','service_name()')),array(),array('urlprefix'=>'u/service/view/')));
|
||
|
|
||
|
foreach (array('Service_Plugin_Adsl','Service_Plugin_Domain','Service_Plugin_Host') as $o)
|
||
|
$result = array_merge($result,ORM::factory($o)->list_autocomplete($_REQUEST['term'],'url','service_id',array('SVC %s: %s'=>array('service_id','service_name()')),array(),array('urlprefix'=>'u/service/view/')));
|
||
|
}
|
||
|
|
||
|
$this->auto_render = FALSE;
|
||
|
$this->response->headers('Content-Type','application/json');
|
||
|
$this->response->body(json_encode(array_values($result)));
|
||
|
}
|
||
|
}
|
||
|
?>
|