TRUE, 'list'=>TRUE, 'view'=>TRUE, ); /** * This ajax functions obtains the manage button login/password for this service */ public function action_ajaxmanage() { $so = ORM::factory('Service',$this->request->param('id')); $k = Session::instance()->get_once('manage_button'); $amo = $so->plugin(isset($_REQUEST['t']) ? $_REQUEST['t'] : ''); $o = array( 'u'=>$amo->username() ? $amo->username() : strtolower($amo->name()), 'p'=>(! $k OR ! $this->request->is_ajax() OR ! $so->loaded() OR ! isset($_REQUEST['k']) OR $k != $_REQUEST['k']) ? Random::char() : $amo->password(), ); $this->response->headers('Content-Type','application/json'); $this->response->body(json_encode($o)); } /** * Show a list of services */ public function action_list() { $this->meta->title = 'Service List'; Block::factory() ->title(sprintf('Services for Account: %s',$this->ao->accnum())) ->title_icon('icon-th-list') ->body(Table::factory() ->jssort('services') ->data($this->ao->service->find_all()) ->columns(array( 'id'=>'ID', 'service_name()'=>'Service', 'recur_schedule'=>'Billing', 'price(TRUE,TRUE)'=>'Price', 'status'=>'Active', )) ->prepend(array( 'id'=>array('url'=>URL::link('user','service/view/')), )) ); } public function action_view() { list($id,$output) = Table::page(__METHOD__); $so = ORM::factory('Service',$id); if (! $so->loaded() OR ! Auth::instance()->authorised($so->account)) throw HTTP_Exception::factory(403,'Service either doesnt exist, or you are not authorised to see it'); $this->meta->title = 'Service: '.$so->name(); $output .= View::factory('service/user/view') ->set('o',$so); Block::factory() ->title(sprintf('%s: %s',$so->id(),$so->service_name())) ->title_icon('fa fa-server') ->body($output); } } ?>