a82c7823684b04b33a2aa1a5f7988c35a9cab17d
Author: k-kishida
Date: 2010-02-11 21:06:19 +0900
diff --git a/app/models/query.php b/app/models/query.php
index 989f260..2b1c5dd 100644
--- a/app/models/query.php
+++ b/app/models/query.php
@@ -797,8 +797,23 @@ class Query extends AppModel
$filters = array();
$rb_filters = Spyc::YAMLLoad($query['filters']);
foreach($rb_filters as $field=>$filter) {
- $operator = $filter[0]['operator'];
- $values = $filter[1];
+ if($filter[0] == 'values:') {
+ // For Ruby serialize format:
+ $values = array();
+ foreach($filter as $value) {
+ if($value == 'values:') {
+ continue;
+ } elseif(is_array($value) && !empty($value['operator'])) {
+ $operator = $value['operator'];
+ } else {
+ $values[] = $value;
+ }
+ }
+ } else {
+ // For PHP yaml dump format:
+ $operator = $filter[0]['operator'];
+ $values = $filter[1];
+ }
$filters[$field] = compact('operator', 'values');
}
return $filters;
