コード例 #1
0
 /**
  * Get array with control group objects represented as objects or arrays   
  * 
  * @param	$control_id control id
  * @param	$returnType representation of returned control grups, as objects or as arrays  
  * @return a control_group_list
  */
 function get_control_groups_by_control($control_id, $returnType = "object")
 {
     $control_id = (int) $control_id;
     $sql = "SELECT cg.*, cgl.order_nr ";
     $sql .= "FROM controller_control_group_list cgl, controller_control_group cg ";
     $sql .= "WHERE cgl.control_id={$control_id} ";
     $sql .= "AND cgl.control_group_id=cg.id ";
     $sql .= "ORDER BY cgl.order_nr ASC";
     $this->db->query($sql);
     $control_group_list = array();
     while ($this->db->next_record()) {
         $control_group = new controller_control_group($this->unmarshal($this->db->f('id'), 'int'));
         $control_group->set_group_name($this->unmarshal($this->db->f('group_name', true), 'string'));
         $control_group->set_procedure_id($this->unmarshal($this->db->f('procedure_id'), 'int'));
         $control_group->set_control_area_id($this->unmarshal($this->db->f('control_area_id'), 'int'));
         $control_group->set_building_part_id($this->unmarshal($this->db->f('building_part_id'), 'int'));
         $control_group->set_component_location_id($this->unmarshal($this->db->f('component_location_id'), 'int'));
         $component_criteria = $this->db->f('component_criteria') ? unserialize($this->db->f('component_criteria', true)) : array();
         $control_group->set_component_criteria($component_criteria);
         if ($returnType == "array") {
             $control_group_list[] = $control_group->toArray();
         } else {
             $control_group_list[] = $control_group;
         }
     }
     return $control_group_list;
 }
コード例 #2
0
 /**
  * Get an array of control groups within specified control area
  * 
  * @param $control_area_id control area
  * @return array of control group as arrays
  */
 function get_control_groups_by_control_area($control_area_id)
 {
     $cat_id = (int) $control_area_id;
     $cats = CreateObject('phpgwapi.categories', -1, 'controller', '.control');
     $cat_path = $cats->get_path($cat_id);
     foreach ($cat_path as $_category) {
         $cat_filter[] = $_category['id'];
     }
     $filter_control_area = "control_area_id IN (" . implode(',', $cat_filter) . ')';
     $sql = "SELECT * FROM controller_control_group WHERE {$filter_control_area}";
     $this->db->query($sql);
     $controls_array = array();
     while ($this->db->next_record()) {
         $control_group = new controller_control_group((int) $this->db->f('id'));
         $control_group->set_group_name($this->unmarshal($this->db->f('group_name', true), 'string'));
         $control_group->set_procedure_id($this->unmarshal($this->db->f('procedure_id'), 'int'));
         $control_group->set_procedure_name($this->unmarshal($this->db->f('procedure_title', true), 'string'));
         $control_group->set_control_area_id($this->unmarshal($this->db->f('control_area_id'), 'int'));
         $category = execMethod('phpgwapi.categories.return_single', $this->unmarshal($this->db->f('control_area_id', 'int')));
         $control_group->set_control_area_name($category[0]['name']);
         $control_group->set_building_part_id($this->unmarshal($this->db->f('building_part_id'), 'string'));
         $control_group->set_building_part_descr($this->unmarshal($this->db->f('building_part_descr', true), 'string'));
         $control_group->set_component_location_id($this->unmarshal($this->db->f('component_location_id'), 'int'));
         $control_groups_array[] = $control_group->toArray();
     }
     if (count($control_groups_array) > 0) {
         return $control_groups_array;
     } else {
         return null;
     }
 }