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]

Reply via email to