function &get_dataset($params = array())
 {
     $request = request::instance();
     if (!($controller_id = $request->get_attribute('controller_id'))) {
         return new array_dataset();
     }
     $db_table =& db_table_factory::instance('sys_controller');
     $controller_data = $db_table->get_row_by_id($controller_id);
     if (!$controller_data) {
         return new array_dataset();
     }
     $site_object_controller =& site_object_controller::create($controller_data['name']);
     $actions = $site_object_controller->get_actions_definitions();
     $user_groups =& fetch_sub_branch('/root/user_groups', 'user_group', $counter);
     $result = array();
     foreach ($actions as $action => $action_params) {
         if (isset($action_params['action_name'])) {
             $result[$action]['action_name'] = $action_params['action_name'];
         } else {
             $result[$action]['action_name'] = str_replace('_', ' ', strtoupper($action[0]) . substr($action, 1));
         }
         $result[$action]['permissions_required'] = $action_params['permissions_required'];
         foreach ($user_groups as $group_id => $group_data) {
             $result[$action]['groups'][$group_id]['selector_name'] = 'policy[' . $group_id . '][' . $action . ']';
         }
     }
     return new array_dataset($result);
 }
  function & get_dataset($params = array())
  {
    $request = request :: instance();

    if(!$controller_id = $this->_get_controller_id())
      return new array_dataset();

    $db_table =& db_table_factory :: instance('sys_controller');
    $controller_data = $db_table->get_row_by_id($controller_id);

    if (!$controller_data)
      return new array_dataset();

    $site_object_controller =& site_object_controller :: create($controller_data['name']);

    $actions = $site_object_controller->get_actions_definitions();

    $result = array();
    foreach($actions as $action => $action_params)
    {
      if (!isset($action_params['can_have_access_template']) || !$action_params['can_have_access_template'])
        continue;

      if(isset($action_params['action_name']))
        $result[$action]['action_name'] = $action_params['action_name'];
      else
        $result[$action]['action_name'] = str_replace('_', ' ', strtoupper($action{0}) . substr($action, 1));
    }

    return new array_dataset($result);
  }
  function & get_dataset($params = array())
  {
    $request = request :: instance();

    if(!$controller_id = $request->get_attribute('controller_id'))
      return new array_dataset();

    $db_table =& db_table_factory :: instance('sys_controller');
    $controller_data = $db_table->get_row_by_id($controller_id);

    if (!$controller_data)
      return new array_dataset();

    $site_object_controller =& site_object_controller :: create($controller_data['name']);

    $actions = $site_object_controller->get_actions_definitions();

    $user_groups =& fetch_sub_branch('/root/admin/user_groups', 'user_group', $counter);

    $result = array();

    foreach($user_groups as $group_id => $group_data)
    {
      foreach($actions as $action => $action_params)
      {
        if (!isset($action_params['can_have_access_template']) || !$action_params['can_have_access_template'])
          continue;

        if(isset($action_params['action_name']))
          $result[$group_id]['actions'][$action]['action_name'] = $action_params['action_name'];
        else
          $result[$group_id]['actions'][$action]['action_name'] = str_replace('_', ' ', strtoupper($action{0}) . substr($action, 1));

        $result[$group_id]['group_name'] = $group_data['identifier'];
        $result[$group_id]['actions'][$action]['selector_name'] = 'template[' . $action . '][' . $group_id . ']';
      }
    }

    return new array_dataset($result);
  }
 function &get_controller()
 {
     $c =& site_object_controller::create($this->_class_properties['controller_class_name']);
     return $c;
 }
  function & get_controller()
  {
    if ($this->_controller)
      return $this->_controller;

    $controller_name = $this->get_controller_name();
    $this->_controller =& site_object_controller :: create($controller_name);
    return $this->_controller;
  }
 function &_get_controller($controller_name)
 {
   $controller =& site_object_controller :: create($controller_name);
   return $controller;
 }