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]