From 172e06079b30bac00c3c8fe80dcb095964f66dae Mon Sep 17 00:00:00 2001 From: Eero af Heurlin Date: Tue, 3 Jun 2008 22:40:42 +0300 Subject: [PATCH] make get_by_tags actually work --- plugins/ajatus/couchdb/transport.php | 12 ++++++++++-- plugins/ajatus/couchdb/views.php | 2 +- plugins/ajatus/couchdb/views/view.php | 15 ++++++++++++++- plugins/ajatus/helpers/tag.php | 4 ++-- 4 files changed, 27 insertions(+), 6 deletions(-) diff --git a/plugins/ajatus/couchdb/transport.php b/plugins/ajatus/couchdb/transport.php index 959203a..4177ca5 100644 --- a/plugins/ajatus/couchdb/transport.php +++ b/plugins/ajatus/couchdb/transport.php @@ -136,15 +136,23 @@ class couchdb_transport } protected function execute() - { + { + /* + echo "DEBUG: execute called with params
\n";
+        var_dump(func_get_args());
+        echo "
\n"; + */ list($url, $options, $postdata, $headers) = $this->parse_params(func_get_args()); $req = new HTTP_Request($url, $options); if ($postdata) { + /** + * addRawPostData() is deprecated, use setBody in stead $req->addRawPostData($postdata); - // var_dump("POST-DATA: $postdata"); + */ + $req->setBody($postdata); } if ($headers) diff --git a/plugins/ajatus/couchdb/views.php b/plugins/ajatus/couchdb/views.php index 53a5874..d3a24e2 100644 --- a/plugins/ajatus/couchdb/views.php +++ b/plugins/ajatus/couchdb/views.php @@ -55,7 +55,7 @@ class couchdb_views public function temp($function, $args=null) { $view = new couchdb_views_view('_temp_view', $this->configuration); - $view->set_args($function); + $view->set_args($function, true); if (! is_null($args)) { diff --git a/plugins/ajatus/couchdb/views/view.php b/plugins/ajatus/couchdb/views/view.php index 04f1f7f..48ef481 100644 --- a/plugins/ajatus/couchdb/views/view.php +++ b/plugins/ajatus/couchdb/views/view.php @@ -63,12 +63,17 @@ class couchdb_views_view extends couchdb_transport return false; } - public function set_args($args=null) + public function set_args($args=null, $raw = false) { if (is_null($args)) { return; } + if ($raw) + { + $this->data = $args; + return; + } if ( is_array($args) && !isset($args['views'])) @@ -102,7 +107,15 @@ class couchdb_views_view extends couchdb_transport if ( $this->name == '_temp_view' && !is_null($this->data)) { + /** + * This cannot be right return $this->execute("{$this->name}{$this->args}", 'POST', json_decode($this->data)); + */ + if (!is_string($this->data)) + { + return $this->execute("{$this->name}{$this->args}", 'POST', json_encode($this->data)); + } + return $this->execute("{$this->name}{$this->args}", 'POST', $this->data); } if ($create_mode) diff --git a/plugins/ajatus/helpers/tag.php b/plugins/ajatus/helpers/tag.php index 0bb4b59..087a511 100644 --- a/plugins/ajatus/helpers/tag.php +++ b/plugins/ajatus/helpers/tag.php @@ -86,12 +86,12 @@ class ajatus_helpers_tag $view = 'function(doc){'; $view .= "if (doc.value._type == 'tag' && doc.value.title.val == '{$name}' "; - if (! is_null($context)) + if (! empty($context)) { $view .= "&& doc.value.title.widget.config.context == '{$context}' "; } - if (! is_null($value)) + if (! empty($value)) { $view .= "&& doc.value.title.widget.config.value == '{$value}' "; } -- 2.11.4.GIT