예제 #1
0
 function GetMaskList(LOGGROUP $grp = NULL, $flags = 0)
 {
     $list = array();
     try {
         $gids = array();
         $groups = $this->GetDVINGroups();
         $sth = $this->db->Query("SELECT ColumnName, GrID  FROM DVIN_TIMESERIES", DATABASE::FETCH_NUM);
         while ($row = $sth->fetch(PDO::FETCH_NUM)) {
             $gids[$row[0]] = $row[1];
         }
         $items = parent::GetItemList($grp, $mask, $flags);
         foreach ($items as $iid => $item) {
             $gid = $gids[$item['column']];
             if (is_numeric($gid)) {
                 if (!isset($list[$gid])) {
                     if ($groups[$gid]) {
                         $name = $groups[$gid];
                     } else {
                         $name = "Mask {$gid}";
                     }
                     $list[$gid] = array('id' => "maskid{$gid}", 'name' => $name);
                     if ($flags & REQUEST::NEED_INFO) {
                         $list[$gid]['mask'] = "{$iid}";
                     }
                 } else {
                     if ($flags & REQUEST::NEED_INFO) {
                         $list[$gid]['mask'] .= ",{$iid}";
                     }
                 }
             }
         }
     } catch (ADEIException $ae) {
     }
     /*
         $resp = $this->db->Query("SELECT maskid, name, mask FROM masks WHERE gid=" . $grp->gid);
         foreach ($resp as $row) {
     	if (!preg_match("/[\w\d]/", $row['name'])) $row['name'] = _("No name");
     
     	$id = "maskid" . $row['maskid'];
     	
     	$list[$id] = array(
     	    'id' => $id,
     	    'name' => $row['name']
     	);
     	
     	if ($flags&REQUEST::NEED_INFO) {
     	    $list[$id]['mask'] = implode(",", $this->ParseMask($row['mask']));
     	}
         }
     */
     return array_merge(parent::GetMaskList($grp, $flags), $list);
 }