john            Mon Apr 25 16:46:17 2005 EDT

  Modified files:              
    /php-src/ext/tidy   config.m4 php_tidy.def php_tidy.h tidy.c 
  Log:
  Adding new function tidy_get_opt_doc() to return option documentation at 
runtime. Thanks to nlopess for the patch
  
  
http://cvs.php.net/diff.php/php-src/ext/tidy/config.m4?r1=1.3&r2=1.4&ty=u
Index: php-src/ext/tidy/config.m4
diff -u php-src/ext/tidy/config.m4:1.3 php-src/ext/tidy/config.m4:1.4
--- php-src/ext/tidy/config.m4:1.3      Thu Dec 18 14:59:58 2003
+++ php-src/ext/tidy/config.m4  Mon Apr 25 16:46:16 2005
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.3 2003/12/18 19:59:58 sniper Exp $
+dnl $Id: config.m4,v 1.4 2005/04/25 20:46:16 john Exp $
 dnl
 
 PHP_ARG_WITH(tidy,for TIDY support,
@@ -32,6 +32,12 @@
   PHP_ADD_LIBRARY_WITH_PATH(tidy, $TIDY_LIBDIR, TIDY_SHARED_LIBADD)
   PHP_ADD_INCLUDE($TIDY_INCDIR)
 
+  PHP_CHECK_LIBRARY(tidy,tidyOptGetDoc,
+  [
+  AC_DEFINE(HAVE_TIDYOPTGETDOC,1,[ ])
+  ],[],[])
+
+
   PHP_NEW_EXTENSION(tidy, tidy.c, $ext_shared)
   PHP_SUBST(TIDY_SHARED_LIBADD)
   AC_DEFINE(HAVE_TIDY,1,[ ])
http://cvs.php.net/diff.php/php-src/ext/tidy/php_tidy.def?r1=1.1&r2=1.2&ty=u
Index: php-src/ext/tidy/php_tidy.def
diff -u php-src/ext/tidy/php_tidy.def:1.1 php-src/ext/tidy/php_tidy.def:1.2
--- php-src/ext/tidy/php_tidy.def:1.1   Mon Mar 22 18:07:55 2004
+++ php-src/ext/tidy/php_tidy.def       Mon Apr 25 16:46:16 2005
@@ -45,6 +45,7 @@
 tidyOptGetDefault
 tidyOptGetDefaultInt
 tidyOptGetDefaultBool
+tidyOptGetDoc
 tidyOptGetPickList
 tidyOptGetNextPick
 tidyOptGetValue
http://cvs.php.net/diff.php/php-src/ext/tidy/php_tidy.h?r1=1.24&r2=1.25&ty=u
Index: php-src/ext/tidy/php_tidy.h
diff -u php-src/ext/tidy/php_tidy.h:1.24 php-src/ext/tidy/php_tidy.h:1.25
--- php-src/ext/tidy/php_tidy.h:1.24    Tue Feb  8 00:25:48 2005
+++ php-src/ext/tidy/php_tidy.h Mon Apr 25 16:46:16 2005
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_tidy.h,v 1.24 2005/02/08 05:25:48 rasmus Exp $ */
+/* $Id: php_tidy.h,v 1.25 2005/04/25 20:46:16 john Exp $ */
 
 #ifndef PHP_TIDY_H
 #define PHP_TIDY_H
@@ -57,6 +57,9 @@
 PHP_FUNCTION(tidy_get_config);
 PHP_FUNCTION(tidy_get_status);
 PHP_FUNCTION(tidy_get_html_ver);
+#if HAVE_TIDYOPTGETDOC
+PHP_FUNCTION(tidy_get_opt_doc);
+#endif
 PHP_FUNCTION(tidy_is_xhtml);
 PHP_FUNCTION(tidy_is_xml);
 PHP_FUNCTION(tidy_error_count);
http://cvs.php.net/diff.php/php-src/ext/tidy/tidy.c?r1=1.64&r2=1.65&ty=u
Index: php-src/ext/tidy/tidy.c
diff -u php-src/ext/tidy/tidy.c:1.64 php-src/ext/tidy/tidy.c:1.65
--- php-src/ext/tidy/tidy.c:1.64        Sun Mar 20 22:54:29 2005
+++ php-src/ext/tidy/tidy.c     Mon Apr 25 16:46:16 2005
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: tidy.c,v 1.64 2005/03/21 03:54:29 john Exp $ */
+/* $Id: tidy.c,v 1.65 2005/04/25 20:46:16 john Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -245,6 +245,9 @@
        PHP_FE(tidy_warning_count,      NULL)
        PHP_FE(tidy_access_count,       NULL)
        PHP_FE(tidy_config_count,       NULL) 
+#if HAVE_TIDYOPTGETDOC
+       PHP_FE(tidy_get_opt_doc,        NULL)
+#endif
        PHP_FE(tidy_get_root,           NULL)
        PHP_FE(tidy_get_head,           NULL)
        PHP_FE(tidy_get_html,           NULL)
@@ -265,6 +268,9 @@
        TIDY_METHOD_MAP(getConfig, tidy_get_config, NULL)
        TIDY_METHOD_MAP(getStatus, tidy_get_status, NULL)
        TIDY_METHOD_MAP(getHtmlVer, tidy_get_html_ver, NULL)
+#if HAVE_TIDYOPTGETDOC
+       TIDY_METHOD_MAP(getOptDoc, tidy_get_opt_doc, NULL)
+#endif
        TIDY_METHOD_MAP(isXhtml, tidy_is_xhtml, NULL)
        TIDY_METHOD_MAP(isXml, tidy_is_xml, NULL)
        TIDY_METHOD_MAP(root, tidy_get_root, NULL)
@@ -956,7 +962,7 @@
        php_info_print_table_start();
        php_info_print_table_header(2, "Tidy support", "enabled");
        php_info_print_table_row(2, "libTidy Release", (char 
*)tidyReleaseDate());
-       php_info_print_table_row(2, "Extension Version", 
PHP_TIDY_MODULE_VERSION " ($Id: tidy.c,v 1.64 2005/03/21 03:54:29 john Exp $)");
+       php_info_print_table_row(2, "Extension Version", 
PHP_TIDY_MODULE_VERSION " ($Id: tidy.c,v 1.65 2005/04/25 20:46:16 john Exp $)");
        php_info_print_table_end();
 
        DISPLAY_INI_ENTRIES();
@@ -1169,6 +1175,47 @@
 }
 /* }}} */
 
+
+#if HAVE_TIDYOPTGETDOC
+/* {{{ proto string tidy_get_opt_doc(tidy resource, string optname)
+   Returns the documentation for the given option name */
+PHP_FUNCTION(tidy_get_opt_doc)
+{
+       PHPTidyObj *obj;
+       char *optname, *optval;
+       int optname_len;
+       TidyOption opt;
+       
+       TIDY_SET_CONTEXT;
+
+       if (object) {
+               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", 
&optname, &optname_len) == FAILURE) {
+                       RETURN_FALSE;
+               }
+       } else {
+               if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, 
NULL, "Os", &object, tidy_ce_doc, &optname, &optname_len) == FAILURE) {
+                       RETURN_FALSE;
+               }
+       }
+
+       obj = (PHPTidyObj *) zend_object_store_get_object(object TSRMLS_CC);
+
+       opt = tidyGetOptionByName(obj->ptdoc->doc, optname);
+
+       if (!opt) {
+               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown Tidy 
Configuration Option '%s'", optname);
+               RETURN_FALSE;
+       }
+
+       if (optval = (char *) tidyOptGetDoc(obj->ptdoc->doc, opt))
+               RETURN_STRING(optval, 1);
+
+       RETURN_FALSE;
+}
+/* }}} */
+#endif
+
+
 /* {{{ proto array tidy_get_config()
    Get current Tidy configuarion */
 PHP_FUNCTION(tidy_get_config)

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to