@@ -83,9 +83,17 @@ extern zend_module_entry tidy_module_entry;
83
83
INIT_CLASS_ENTRY(ce, "tidy_" # name, tidy_funcs_ ## name); \
84
84
ce.create_object = tidy_object_new_ ## name; \
85
85
tidy_ce_ ## name = zend_register_internal_class_ex(&ce, parent, NULL TSRMLS_CC); \
86
- memcpy(&tidy_object_handlers_ ## name, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); \
86
+ tidy_ce_ ## name->ce_flags |= ZEND_ACC_FINAL_CLASS; \
87
+ memcpy(&tidy_object_handlers_ ## name, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); \
87
88
tidy_object_handlers_ ## name.clone_obj = NULL; \
88
- }
89
+ }
90
+
91
+ #define GET_THIS_CONTAINER () \
92
+ PHPTidyObj *obj; \
93
+ { \
94
+ zval *object = getThis(); \
95
+ obj = (PHPTidyObj *)zend_object_store_get_object(object TSRMLS_CC); \
96
+ }
89
97
90
98
typedef enum {
91
99
is_node ,
@@ -147,16 +155,25 @@ PHP_FUNCTION(tidy_get_html);
147
155
PHP_FUNCTION (tidy_get_head );
148
156
PHP_FUNCTION (tidy_get_body );
149
157
150
- PHP_NODE_METHOD (type );
151
- PHP_NODE_METHOD (name );
152
- PHP_NODE_METHOD (value );
153
- PHP_NODE_METHOD (id );
158
+ PHP_NODE_METHOD (__construct );
154
159
PHP_NODE_METHOD (attributes );
155
160
PHP_NODE_METHOD (children );
156
161
157
- PHP_ATTR_METHOD (name );
158
- PHP_ATTR_METHOD (value );
159
- PHP_ATTR_METHOD (id );
162
+ PHP_NODE_METHOD (has_children );
163
+ PHP_NODE_METHOD (has_siblings );
164
+ PHP_NODE_METHOD (is_comment );
165
+ PHP_NODE_METHOD (is_html );
166
+ PHP_NODE_METHOD (is_xhtml );
167
+ PHP_NODE_METHOD (is_xml );
168
+ PHP_NODE_METHOD (is_text );
169
+ PHP_NODE_METHOD (is_jste );
170
+ PHP_NODE_METHOD (is_asp );
171
+ PHP_NODE_METHOD (is_php );
172
+
173
+ PHP_NODE_METHOD (next );
174
+ PHP_NODE_METHOD (prev );
175
+ PHP_NODE_METHOD (get_attr );
176
+ PHP_NODE_METHOD (get_nodes );
160
177
161
178
/* resource dtor */
162
179
void dtor_TidyDoc (zend_rsrc_list_entry * TSRMLS_DC );
0 commit comments