davidg Thu Feb 22 06:26:31 2001 EDT
Modified files:
/php4/ext/midgard event.c mgd_event.h mgd_internal.h midgard.c
Log:
Added custom sort on mgd_walk_xxx_tree() function.
Index: php4/ext/midgard/event.c
diff -u php4/ext/midgard/event.c:1.4 php4/ext/midgard/event.c:1.5
--- php4/ext/midgard/event.c:1.4 Wed Feb 21 14:18:54 2001
+++ php4/ext/midgard/event.c Thu Feb 22 06:26:31 2001
@@ -1,4 +1,4 @@
-/* $Id: event.c,v 1.4 2001/02/21 22:18:54 emile Exp $
+/* $Id: event.c,v 1.5 2001/02/22 14:26:31 davidg Exp $
Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]>
Copyright (C) 2000 The Midgard Project ry
Copyright (C) 2000 Emile Heyns, Aurora SA <[EMAIL PROTECTED]>
@@ -847,6 +847,8 @@
}
MGD_MOVE_FUNCTION(event,event,event,up);
+
+MGD_WALK_FUNCTION(event);
MidgardProperty MidgardEventProperties [] = {
{ IS_LONG, "up" },
Index: php4/ext/midgard/mgd_event.h
diff -u php4/ext/midgard/mgd_event.h:1.3 php4/ext/midgard/mgd_event.h:1.4
--- php4/ext/midgard/mgd_event.h:1.3 Sat Feb 17 15:21:50 2001
+++ php4/ext/midgard/mgd_event.h Thu Feb 22 06:26:31 2001
@@ -1,4 +1,4 @@
-/* $Id: mgd_event.h,v 1.3 2001/02/17 23:21:50 emile Exp $
+/* $Id: mgd_event.h,v 1.4 2001/02/22 14:26:31 davidg Exp $
Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]>
Copyright (C) 2000 The Midgard Project ry
Copyright (C) 2000 Emile Heyns, Aurora SA <[EMAIL PROTECTED]>
@@ -26,6 +26,7 @@
extern MGD_FUNCTION(update_event);
extern MGD_FUNCTION(delete_event);
extern MGD_FUNCTION(delete_event_tree);
+extern MGD_FUNCTION(walk_event_tree);
extern MGD_FUNCTION(get_event);
extern MGD_FUNCTION(list_events);
extern MGD_FUNCTION(list_events_between);
Index: php4/ext/midgard/mgd_internal.h
diff -u php4/ext/midgard/mgd_internal.h:1.4 php4/ext/midgard/mgd_internal.h:1.5
--- php4/ext/midgard/mgd_internal.h:1.4 Tue Feb 20 16:24:56 2001
+++ php4/ext/midgard/mgd_internal.h Thu Feb 22 06:26:31 2001
@@ -1,4 +1,4 @@
-/* $Id: mgd_internal.h,v 1.4 2001/02/21 00:24:56 davidg Exp $
+/* $Id: mgd_internal.h,v 1.5 2001/02/22 14:26:31 davidg Exp $
Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]>
Copyright (C) 2000 The Midgard Project ry
Copyright (C) 2000 Emile Heyns, Aurora SA <[EMAIL PROTECTED]>
@@ -120,14 +120,22 @@
MGD_FUNCTION(walk_ ## table ## _tree) \
{ \
zval **id, **level, **xparam, *xp[2], **order; \
- zval **midgard_user_call_func_name; \
+ zval **midgard_user_call_func_name, **sort = NULL; \
CHECK_MGD; \
\
switch (ZEND_NUM_ARGS()) { \
+ case 6: \
+ if (zend_get_parameters_ex(6, &midgard_user_call_func_name, &id, \
+ &level, &xparam, &order, &sort) == FAILURE) { \
+ WRONG_PARAM_COUNT; \
+ } \
+ break; \
case 5: \
if (zend_get_parameters_ex(5, &midgard_user_call_func_name, &id, \
&level, &xparam, &order) == FAILURE) { \
WRONG_PARAM_COUNT; \
+ } else { \
+ sort = NULL; \
} \
break; \
case 4: \
@@ -136,6 +144,7 @@
WRONG_PARAM_COUNT; \
} else { \
order = NULL; \
+ sort = NULL; \
} \
break; \
default: \
@@ -147,6 +156,7 @@
convert_to_long_ex(level); \
if (order) convert_to_long_ex(order); \
convert_to_long_ex(id); \
+ if(sort) convert_to_string_ex(sort); \
\
xp[0] = (*xparam); \
xp[1] = (*midgard_user_call_func_name); \
@@ -154,7 +164,8 @@
(*level)->value.lval, \
order ?
(*order)->value.lval : 1, \
(void *)xp,
\
-
midgard_user_call_func); \
+
+midgard_user_call_func, \
+ sort ?
+(*sort)->value.str.val : NULL); \
RETURN_TRUE; \
} \
\
Index: php4/ext/midgard/midgard.c
diff -u php4/ext/midgard/midgard.c:1.11 php4/ext/midgard/midgard.c:1.12
--- php4/ext/midgard/midgard.c:1.11 Wed Feb 21 14:18:54 2001
+++ php4/ext/midgard/midgard.c Thu Feb 22 06:26:31 2001
@@ -1,4 +1,4 @@
-/* $Id: midgard.c,v 1.11 2001/02/21 22:18:54 emile Exp $
+/* $Id: midgard.c,v 1.12 2001/02/22 14:26:31 davidg Exp $
Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]>
Copyright (C) 2000 The Midgard Project ry
Copyright (C) 2000 Emile Heyns, Aurora SA <[EMAIL PROTECTED]>
@@ -273,6 +273,7 @@
MGD_FE(walk_article_tree, NULL)
MGD_FE(walk_page_tree, NULL)
MGD_FE(walk_snippetdir_tree, NULL)
+MGD_FE(walk_event_tree, NULL)
MGD_FE(is_style_owner, NULL)
MGD_FE(list_styles, NULL)
MGD_FE(get_style, NULL)
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]