static void printOption( TidyDoc ARG_UNUSED(tdoc), TidyOption topt, OptionDesc *d ) { if ( tidyOptIsReadOnly(topt) ) return; if ( *d->name || *d->type ) { ctmbstr pval = d->vals; tmbstr val = NULL; if (!d->haveVals) { pval = "-"; } else if (pval == NULL) { val = GetAllowedValues( topt, d); pval = val; } print3Columns( fmt, 27, 9, 40, d->name, d->type, pval ); if (val) free(val); } }
static void printXMLOption( TidyDoc tdoc, TidyOption topt, OptionDesc *d ) { if ( tidyOptIsReadOnly(topt) ) return; printf( " <option class=\"%s\">\n", d->cat ); printf (" <name>%s</name>\n",d->name); printf (" <type>%s</type>\n",d->type); if (d->def) printf(" <default>%s</default>\n",d->def); else printf(" <default />\n"); if (d->haveVals) { printf(" <example>"); PrintAllowedValues( topt, d ); printf("</example>\n"); } else { printf(" <example />\n"); } printXMLDescription( tdoc, topt ); printXMLCrossRef( tdoc, topt ); printf( " </option>\n" ); }
static void printOptionValues( TidyDoc ARG_UNUSED(tdoc), TidyOption topt, OptionDesc *d ) { TidyOptionId optId = tidyOptGetId( topt ); ctmbstr ro = tidyOptIsReadOnly( topt ) ? "*" : "" ; switch ( optId ) { case TidyInlineTags: case TidyBlockTags: case TidyEmptyTags: case TidyPreTags: { TidyIterator pos = tidyOptGetDeclTagList( tdoc ); while ( pos ) { d->def = tidyOptGetNextDeclTag(tdoc, optId, &pos); if ( pos ) { if ( *d->name ) printf( valfmt, d->name, d->type, ro, d->def ); else printf( fmt, d->name, d->type, d->def ); d->name = ""; d->type = ""; } } } break; case TidyNewline: d->def = tidyOptGetCurrPick( tdoc, optId ); break; default: break; } /* fix for http://tidy.sf.net/bug/873921 */ if ( *d->name || *d->type || (d->def && *d->def) ) { if ( ! d->def ) d->def = ""; if ( *d->name ) printf( valfmt, d->name, d->type, ro, d->def ); else printf( fmt, d->name, d->type, d->def ); } }
static int _php_tidy_set_tidy_opt(TidyDoc doc, char *optname, zval *value) { TidyOption opt = tidyGetOptionByName(doc, optname); zval conv; ZVAL_COPY_VALUE(&conv, value); if (!opt) { php_error_docref(NULL, E_NOTICE, "Unknown Tidy Configuration Option '%s'", optname); return FAILURE; } if (tidyOptIsReadOnly(opt)) { php_error_docref(NULL, E_NOTICE, "Attempting to set read-only option '%s'", optname); return FAILURE; } switch(tidyOptGetType(opt)) { case TidyString: if (Z_TYPE(conv) != IS_STRING) { zval_copy_ctor(&conv); convert_to_string(&conv); } if (tidyOptSetValue(doc, tidyOptGetId(opt), Z_STRVAL(conv))) { if (Z_TYPE(conv) != Z_TYPE_P(value)) { zval_dtor(&conv); } return SUCCESS; } if (Z_TYPE(conv) != Z_TYPE_P(value)) { zval_dtor(&conv); } break; case TidyInteger: if (Z_TYPE(conv) != IS_LONG) { zval_copy_ctor(&conv); convert_to_long(&conv); } if (tidyOptSetInt(doc, tidyOptGetId(opt), Z_LVAL(conv))) { return SUCCESS; } break; case TidyBoolean: if (Z_TYPE(conv) != IS_LONG) { zval_copy_ctor(&conv); convert_to_long(&conv); } if (tidyOptSetBool(doc, tidyOptGetId(opt), Z_LVAL(conv))) { return SUCCESS; } break; default: php_error_docref(NULL, E_WARNING, "Unable to determine type of configuration option"); break; } return FAILURE; }