svn: /pecl/solr/trunk/ php_solr.c php_solr.h php_solr_client.c
| From: | Israel Ekpo | Date: | Sun, 01 Nov 2009 13:03:36 +0000 |
| Subject: | svn: /pecl/solr/trunk/ php_solr.c php_solr.h php_solr_client.c | ||
| Groups: | php.pecl.cvs | ||
| Request: | Send a blank email to pecl-cvs+get-13212@lists.php.net to get a copy of this message | ||
iekpo Sun, 01 Nov 2009 13:03:36 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=290122
Log:
Added the SolrClient::getOptions() method
Changed paths:
U pecl/solr/trunk/php_solr.c
U pecl/solr/trunk/php_solr.h
U pecl/solr/trunk/php_solr_client.c
Modified: pecl/solr/trunk/php_solr.c
===================================================================
--- pecl/solr/trunk/php_solr.c 2009-11-01 13:02:10 UTC (rev 290121)
+++ pecl/solr/trunk/php_solr.c 2009-11-01 13:03:36 UTC (rev 290122)
@@ -22,8 +22,8 @@
#ifdef HAVE_SOLR
-#if ((PHP_MAJOR_VERSION < 5) || (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION < 2) ||
(PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION == 2 && PHP_RELEASE_VERSION < 11))
-#error PHP 5.2.11 or greater is required. Please upgrade your php version.
+#if ((PHP_MAJOR_VERSION < 5) || (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION < 2) ||
(PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION == 2 && PHP_RELEASE_VERSION < 4))
+#error PHP 5.2.4 or newer is required. Please upgrade your php version.
#endif
#if LIBCURL_VERSION_NUM < 0x071200
@@ -542,6 +542,7 @@
PHP_ME(SolrClient, __sleep, Solr_no_args, ZEND_ACC_PUBLIC)
PHP_ME(SolrClient, __wakeup, NULL, ZEND_ACC_PUBLIC)
PHP_ME(SolrClient, __clone, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CLONE)
+ PHP_ME(SolrClient, getOptions, Solr_no_args, ZEND_ACC_PUBLIC)
PHP_ME(SolrClient, setServlet, SolrClient_setServlet_args, ZEND_ACC_PUBLIC)
PHP_ME(SolrClient, query, SolrClient_query_args, ZEND_ACC_PUBLIC)
PHP_ME(SolrClient, addDocument, SolrClient_addDocument_args, ZEND_ACC_PUBLIC)
Modified: pecl/solr/trunk/php_solr.h
===================================================================
--- pecl/solr/trunk/php_solr.h 2009-11-01 13:02:10 UTC (rev 290121)
+++ pecl/solr/trunk/php_solr.h 2009-11-01 13:03:36 UTC (rev 290122)
@@ -69,6 +69,10 @@
#include <TSRM/TSRM.h>
#endif
+#if ((PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION == 2))
+#define SOLR_ZEND_ENGINE_2_2 1
+#endif
+
/* List of constants */
#include "solr_constants.h"
@@ -226,6 +230,7 @@
PHP_METHOD(SolrClient, __wakeup);
PHP_METHOD(SolrClient, __clone);
PHP_METHOD(SolrClient, query);
+PHP_METHOD(SolrClient, getOptions);
PHP_METHOD(SolrClient, addDocument);
PHP_METHOD(SolrClient, addDocuments);
PHP_METHOD(SolrClient, setServlet);
Modified: pecl/solr/trunk/php_solr_client.c
===================================================================
--- pecl/solr/trunk/php_solr_client.c 2009-11-01 13:02:10 UTC (rev 290121)
+++ pecl/solr/trunk/php_solr_client.c 2009-11-01 13:03:36 UTC (rev 290122)
@@ -1653,6 +1653,59 @@
}
/* }}} */
+/* {{{ proto array SolrClient::getOptions()
+ Returns all the options for this client. */
+PHP_METHOD(SolrClient, getOptions)
+{
+ solr_client_t *client = NULL;
+
+ solr_client_options_t *options = NULL;
+
+ if (!return_value_used)
+ {
+ php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Return value requested but output not
processed.");
+
+ return;
+ }
+
+ /* Retrieve the client entry */
+ if (solr_fetch_client_entry(getThis(), &client TSRMLS_CC) == FAILURE)
+ {
+ php_error_docref(NULL TSRMLS_CC, E_ERROR, "Unable to retrieve client");
+
+ return;
+ }
+
+ options = &(client->options);
+
+ array_init(return_value);
+
+ add_assoc_long(return_value, "timeout", options->timeout);
+ add_assoc_bool(return_value, "secure", (int) options->secure);
+
+ add_assoc_stringl(return_value, "hostname", options->hostname.str,
options->hostname.len, 1);
+ add_assoc_long(return_value, "port", options->host_port);
+
+ add_assoc_stringl(return_value, "proxy_host", options->proxy_hostname.str,
options->proxy_hostname.len, 1);
+ add_assoc_long(return_value, "proxy_port", options->proxy_port);
+
+
+ add_assoc_stringl(return_value, "path", options->path.str, options->path.len, 1);
+
+ add_assoc_stringl(return_value, "http_auth", options->http_auth_credentials.str,
options->http_auth_credentials.len, 1);
+ add_assoc_stringl(return_value, "proxy_auth", options->proxy_auth_credentials.str,
options->proxy_auth_credentials.len, 1);
+
+ add_assoc_bool(return_value, "ssl_verify_peer", (int) options->ssl_verify_peer);
+ add_assoc_long(return_value, "ssl_verify_host", options->ssl_verify_host);
+
+ add_assoc_stringl(return_value, "ssl_cert", options->ssl_cert.str,
options->ssl_cert.len, 1);
+ add_assoc_stringl(return_value, "ssl_key", options->ssl_key.str,
options->ssl_key.len, 1);
+ add_assoc_stringl(return_value, "ssl_keypassword", options->ssl_keypassword.str,
options->ssl_keypassword.len, 1);
+ add_assoc_stringl(return_value, "ssl_cainfo", options->ssl_cainfo.str,
options->ssl_cainfo.len, 1);
+ add_assoc_stringl(return_value, "ssl_capath", options->ssl_capath.str,
options->ssl_capath.len, 1);
+}
+/* }}} */
+
/*
* Local variables:
* tab-width: 4