コード例 #1
0
 public static function filterQueries($queries, $user)
 {
     $result = array();
     foreach ($queries as $qid => $title) {
         $qdao = new QueryDAO();
         $segments = $qdao->getSegmentsByQueryId($qid);
         $tristate = User::createPropertyMap(0);
         foreach (array_values($segments) as $segment) {
             $prop = $segment[0];
             $value = $segment[1];
             if ($tristate[$prop] != 1) {
                 $tristate[$prop] = User::indexOfUserValue($prop, $user) == $value ? 1 : -1;
             }
         }
         $applies = true;
         foreach (array_values($tristate) as $value) {
             if ($value == -1) {
                 $applies = false;
                 break;
             }
         }
         if ($applies) {
             $result[$qid] = $title;
         }
     }
     return $result;
 }