Ejemplo n.º 1
0
 /**
  * Given the aql array, append table names to strings in the clause aray if they are
  * missing
  * @param   array   $aql_array
  * @param   array   $clause_array
  */
 public static function check_clause_array($aql_array, $clause_array)
 {
     $first = reset($aql_array);
     $clauses = aql2array::$clauses;
     $comparisons = aql2array::$comparisons;
     foreach ($clause_array as $k => $v) {
         if (in_array($k, $clauses)) {
             $clause_array = array($first['as'] => $clause_array);
             break;
         }
     }
     foreach ($clause_array as $table => $v) {
         if (!is_array($v)) {
             continue;
         }
         foreach ($v as $clause => $value) {
             if ($clause == 'where') {
                 $value = is_array($value) ? $value : array($value);
                 $arr = aql2array::prepare_where($value, $aql_array[$table]['table']);
                 $clause_array[$table][$clause] = aql2array::check_where($arr, $aql_array[$table]['as']);
             } else {
                 $value = is_array($value) ? $value : explodeOnComma($value);
                 $clause_array[$table][$clause] = aql2array::check_clause($value, $aql_array[$table], $aql_array[$table]['fields']);
             }
         }
     }
     return $clause_array;
 }