Changeset 16712
- Timestamp:
- 06/25/08 13:08:36 (4 months ago)
- Files:
-
- trunk/midgard/apis/php5/php_midgard.h (modified) (2 diffs)
- trunk/midgard/apis/php5/php_midgard_object.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/midgard/apis/php5/php_midgard.h
r16167 r16712 133 133 PHP_FUNCTION(_midgard_php_object_update); 134 134 PHP_FUNCTION(_midgard_php_object_create); 135 PHP_FUNCTION(_midgard_php_object_find);136 135 PHP_FUNCTION(_midgard_php_object_is_in_parent_tree); 137 136 PHP_FUNCTION(_midgard_php_object_is_in_tree); … … 147 146 PHP_FUNCTION(_php_midgard_object_purge); 148 147 PHP_FUNCTION(_php_midgard_object_undelete); 149 PHP_FUNCTION(_php_midgard_object_export);150 148 PHP_FUNCTION(_php_midgard_object_parameter); 151 149 PHP_FUNCTION(_php_midgard_object_connect); trunk/midgard/apis/php5/php_midgard_object.c
r16205 r16712 107 107 } 108 108 } 109 110 PHP_FUNCTION(_midgard_php_object_find)111 {112 zval *zval_object = getThis();113 CHECK_MGD;114 RETVAL_TRUE;115 116 if(ZEND_NUM_ARGS() != 0)117 WRONG_PARAM_COUNT;118 119 php_midgard_gobject *php_gobject =120 (php_midgard_gobject *)zend_object_store_get_object(zval_object TSRMLS_CC);121 MgdObject *mobj =122 MIDGARD_OBJECT(php_gobject->gobject);123 124 if(mobj) {125 126 guint i;127 MidgardTypeHolder *holder =128 g_new(MidgardTypeHolder, 1);129 GObject **objects =130 midgard_object_find(mobj, holder);131 array_init(return_value);132 133 for (i = 0; i < holder->elements; i++) {134 zval *zobject;135 MAKE_STD_ZVAL(zobject);136 php_midgard_gobject_new_with_gobject(zobject, Z_OBJCE_P(zval_object),137 objects[i], TRUE);138 zend_hash_next_index_insert(139 HASH_OF(return_value), &zobject, sizeof(zval *), NULL);140 }141 142 g_free(holder);143 144 if(objects > 0)145 g_free(objects);146 }147 }148 109 149 110 PHP_FUNCTION(_midgard_php_object_create) … … 601 562 } 602 563 603 PHP_FUNCTION(_php_midgard_object_export)604 {605 RETVAL_FALSE;606 CHECK_MGD;607 zval *zval_object = getThis();608 gchar *xml = NULL;609 610 if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "") != SUCCESS) {611 return;612 }613 614 php_midgard_gobject *php_gobject =615 (php_midgard_gobject *)zend_object_store_get_object(zval_object TSRMLS_CC);616 MgdObject *mobj = MIDGARD_OBJECT(php_gobject->gobject);617 618 if(mobj){619 xml= midgard_object_export(mobj);620 }621 622 if(xml){623 RETVAL_TRUE;624 RETURN_STRING(xml, 1);625 } else {626 RETURN_NULL();627 }628 }629 630 564 PHP_FUNCTION(_php_midgard_object_connect) 631 565 { … … 765 699 ZEND_FN(_midgard_php_object_create), 766 700 ZEND_ACC_PUBLIC }, 767 {"find",768 ZEND_FN(_midgard_php_object_find),769 ZEND_ACC_PUBLIC },770 701 {"is_in_parent_tree", 771 702 ZEND_FN(_midgard_php_object_is_in_parent_tree), … … 853 784 ZEND_FN(_php_midgard_object_undelete), 854 785 ZEND_ACC_STATIC|ZEND_ACC_PUBLIC }, 855 {"export",856 ZEND_FN(_php_midgard_object_export),857 ZEND_ACC_PUBLIC },858 786 {"connect", 859 787 ZEND_FN(_php_midgard_object_connect),
