davidg          Thu Feb 22 09:39:38 2001 EDT

  Modified files:              
    /php4/ext/midgard   article.c calendar.c event.c group.c mgd_group.h 
                        mgd_internal.h midgard.c page.c person.c topic.c 
  Log:
  Added mgd_walk_group_tree() function
  
  
Index: php4/ext/midgard/article.c
diff -u php4/ext/midgard/article.c:1.6 php4/ext/midgard/article.c:1.7
--- php4/ext/midgard/article.c:1.6      Wed Feb 21 14:18:54 2001
+++ php4/ext/midgard/article.c  Thu Feb 22 09:39:37 2001
@@ -1,4 +1,4 @@
-/* $Id: article.c,v 1.6 2001/02/21 22:18:54 emile Exp $
+/* $Id: article.c,v 1.7 2001/02/22 17:39:37 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]>
@@ -57,7 +57,7 @@
                return;
 #endif
 
-       ids = mgd_tree(mgd_handle(), "topic", (*root)->value.lval, 0, NULL);
+       ids = mgd_tree(mgd_handle(), "topic", "up", (*root)->value.lval, 0, NULL);
        if (ids) {
                id =
                   mgd_idfield(mgd_handle(), "topic", "article",
@@ -252,7 +252,7 @@
                        wrong_param_count();
        }
 
-       topics = mgd_tree(mgd_handle(), "topic", (*id)->value.lval, 0, NULL);
+       topics = mgd_tree(mgd_handle(), "topic", "up", (*id)->value.lval, 0, NULL);
 
        if (typev == -1)
                php_midgard_select(&MidgardArticle, return_value,
@@ -329,7 +329,7 @@
                        wrong_param_count();
        }
 
-       topics = mgd_tree(mgd_handle(), "topic", (*id)->value.lval, 0, NULL);
+       topics = mgd_tree(mgd_handle(), "topic", "up", (*id)->value.lval, 0, NULL);
 
        if (typev == -1)
                php_midgard_select(&MidgardArticle, return_value,
@@ -360,7 +360,7 @@
        convert_to_long_ex(person);
 
        topics =
-          mgd_tree(mgd_handle(), "topic", (*topic)->value.lval, 0, NULL);
+          mgd_tree(mgd_handle(), "topic", "up", (*topic)->value.lval, 0, NULL);
 
        php_midgard_select(&MidgardArticle, return_value,
             ARTICLE_SELECT, ARTICLE_FROM,
Index: php4/ext/midgard/calendar.c
diff -u php4/ext/midgard/calendar.c:1.3 php4/ext/midgard/calendar.c:1.4
--- php4/ext/midgard/calendar.c:1.3     Sat Feb 17 15:21:49 2001
+++ php4/ext/midgard/calendar.c Thu Feb 22 09:39:37 2001
@@ -1,4 +1,4 @@
-/* $Id: calendar.c,v 1.3 2001/02/17 23:21:49 emile Exp $
+/* $Id: calendar.c,v 1.4 2001/02/22 17:39:37 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]>
@@ -93,7 +93,7 @@
                wrong_param_count();
     }
        
-    topics = mgd_tree(mgd_handle(), "topic", (*id)->value.lval, 0, NULL);
+    topics = mgd_tree(mgd_handle(), "topic", "up", (*id)->value.lval, 0, NULL);
        
     if (typev == -1)
            php_midgard_select(&MidgardArticle, return_value,
@@ -184,7 +184,7 @@
                wrong_param_count();
     }
        
-    topics = mgd_tree(mgd_handle(), "topic", (*id)->value.lval, 0, NULL);
+    topics = mgd_tree(mgd_handle(), "topic", "up", (*id)->value.lval, 0, NULL);
        
     if (typev == -1)
            php_midgard_select(&MidgardArticle, return_value, ARTICLE_SELECT_FAST "," 
ARTICLE_CALENDAR,
Index: php4/ext/midgard/event.c
diff -u php4/ext/midgard/event.c:1.5 php4/ext/midgard/event.c:1.6
--- php4/ext/midgard/event.c:1.5        Thu Feb 22 06:26:31 2001
+++ php4/ext/midgard/event.c    Thu Feb 22 09:39:37 2001
@@ -1,4 +1,4 @@
-/* $Id: event.c,v 1.5 2001/02/22 14:26:31 davidg Exp $
+/* $Id: event.c,v 1.6 2001/02/22 17:39:37 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]>
@@ -418,7 +418,8 @@
     }
 
        if((*id)->value.lval) {
-               if(!(events = mgd_tree(mgd_handle(), "event", (*id)->value.lval, 0, 
NULL)))
+               if(!(events = mgd_tree(mgd_handle(), "event", "up",
+                                                                               
+(*id)->value.lval, 0, NULL)))
                        RETURN_FALSE_BECAUSE(MGD_ERR_ERROR);
        if (typev == -1)
                php_midgard_select(&MidgardEvent, return_value, 
"id,up,start,end,title,"
@@ -493,7 +494,8 @@
     }
 
        if((*id)->value.lval) {
-               if(!(events = mgd_tree(mgd_handle(), "event", (*id)->value.lval, 0, 
NULL)))
+               if(!(events = mgd_tree(mgd_handle(), "event", "up",
+                                                                               
+(*id)->value.lval, 0, NULL)))
                        RETURN_FALSE_BECAUSE(MGD_ERR_ERROR);
            if (typev == -1)
                    php_midgard_select(&MidgardEvent, return_value, 
"id,up,start,end,title,"
Index: php4/ext/midgard/group.c
diff -u php4/ext/midgard/group.c:1.4 php4/ext/midgard/group.c:1.5
--- php4/ext/midgard/group.c:1.4        Wed Feb 21 14:18:54 2001
+++ php4/ext/midgard/group.c    Thu Feb 22 09:39:37 2001
@@ -1,4 +1,4 @@
-/* $Id: group.c,v 1.4 2001/02/21 22:18:54 emile Exp $
+/* $Id: group.c,v 1.5 2001/02/22 17:39:37 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]>
@@ -262,6 +262,8 @@
     php_midgard_delete(return_value, "grp", id);
     PHP_DELETE_REPLIGARD("grp", id);
 }
+
+MGD_WALK_FUNCTION_EX(group, grp, owner)
 
 MidgardProperty MidgardGroupProperties [] = {
        { IS_LONG,              "owner"         },
Index: php4/ext/midgard/mgd_group.h
diff -u php4/ext/midgard/mgd_group.h:1.3 php4/ext/midgard/mgd_group.h:1.4
--- php4/ext/midgard/mgd_group.h:1.3    Sat Feb 17 15:21:50 2001
+++ php4/ext/midgard/mgd_group.h        Thu Feb 22 09:39:37 2001
@@ -1,4 +1,4 @@
-/* $Id: mgd_group.h,v 1.3 2001/02/17 23:21:50 emile Exp $
+/* $Id: mgd_group.h,v 1.4 2001/02/22 17:39:37 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]>
@@ -28,5 +28,6 @@
 extern MGD_FUNCTION(create_group);
 extern MGD_FUNCTION(update_group);
 extern MGD_FUNCTION(delete_group);
+extern MGD_FUNCTION(walk_group_tree);
 
 #endif
Index: php4/ext/midgard/mgd_internal.h
diff -u php4/ext/midgard/mgd_internal.h:1.5 php4/ext/midgard/mgd_internal.h:1.6
--- php4/ext/midgard/mgd_internal.h:1.5 Thu Feb 22 06:26:31 2001
+++ php4/ext/midgard/mgd_internal.h     Thu Feb 22 09:39:37 2001
@@ -1,4 +1,4 @@
-/* $Id: mgd_internal.h,v 1.5 2001/02/22 14:26:31 davidg Exp $
+/* $Id: mgd_internal.h,v 1.6 2001/02/22 17:39:37 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]>
@@ -115,9 +115,11 @@
 void midgard_user_call_func(midgard *mgd, int id, int level, void * xparam);
 
 #define MGD_WALK_FUNCTION(table) \
-/* {{{ proto void walk_ ## table ## _tree(string func, id, level, xparam[, order]) \
+                                                       MGD_WALK_FUNCTION_EX(table, 
+table, up)
+#define MGD_WALK_FUNCTION_EX(type, table, upfield) \
+/* {{{ proto void walk_ ## type ## _tree(string func, id, level, xparam[[, order], 
+sort]) \
 */ \
-MGD_FUNCTION(walk_ ## table ## _tree) \
+MGD_FUNCTION(walk_ ## type ## _tree) \
 { \
    zval **id, **level, **xparam, *xp[2], **order; \
        zval **midgard_user_call_func_name, **sort = NULL; \
@@ -160,7 +162,7 @@
 \
        xp[0] = (*xparam); \
        xp[1] = (*midgard_user_call_func_name); \
-       mgd_walk_table_tree(mgd_handle(), #table, (*id)->value.lval, \
+       mgd_walk_table_tree(mgd_handle(), #table, #upfield, (*id)->value.lval, \
                                                                           
(*level)->value.lval, \
                                                                           order ? 
(*order)->value.lval : 1, \
                                                                           (void *)xp, 
\
Index: php4/ext/midgard/midgard.c
diff -u php4/ext/midgard/midgard.c:1.12 php4/ext/midgard/midgard.c:1.13
--- php4/ext/midgard/midgard.c:1.12     Thu Feb 22 06:26:31 2001
+++ php4/ext/midgard/midgard.c  Thu Feb 22 09:39:37 2001
@@ -1,4 +1,4 @@
-/* $Id: midgard.c,v 1.12 2001/02/22 14:26:31 davidg Exp $
+/* $Id: midgard.c,v 1.13 2001/02/22 17:39:37 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]>
@@ -274,6 +274,7 @@
 MGD_FE(walk_page_tree, NULL)
 MGD_FE(walk_snippetdir_tree, NULL)
 MGD_FE(walk_event_tree, NULL)
+MGD_FE(walk_group_tree, NULL)
 MGD_FE(is_style_owner, NULL)
 MGD_FE(list_styles, NULL)
 MGD_FE(get_style, NULL)
Index: php4/ext/midgard/page.c
diff -u php4/ext/midgard/page.c:1.6 php4/ext/midgard/page.c:1.7
--- php4/ext/midgard/page.c:1.6 Wed Feb 21 14:18:54 2001
+++ php4/ext/midgard/page.c     Thu Feb 22 09:39:37 2001
@@ -1,4 +1,4 @@
-/* $Id: page.c,v 1.6 2001/02/21 22:18:54 emile Exp $
+/* $Id: page.c,v 1.7 2001/02/22 17:39:37 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]>
@@ -90,7 +90,7 @@
        if(!mgd_exists_id(mgd_handle(), "page", "id=$d", (*root)->value.lval))
                RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
 
-    ids = mgd_tree(mgd_handle(), "page", (*root)->value.lval, 0, NULL);
+    ids = mgd_tree(mgd_handle(), "page", "up", (*root)->value.lval, 0, NULL);
        if (ids)
                for (i = 0; ids[i]; i++)
                        if (ids[i] == (*page)->value.lval) RETURN_TRUE;
Index: php4/ext/midgard/person.c
diff -u php4/ext/midgard/person.c:1.4 php4/ext/midgard/person.c:1.5
--- php4/ext/midgard/person.c:1.4       Wed Feb 21 14:18:54 2001
+++ php4/ext/midgard/person.c   Thu Feb 22 09:39:37 2001
@@ -1,4 +1,4 @@
-/* $Id: person.c,v 1.4 2001/02/21 22:18:54 emile Exp $
+/* $Id: person.c,v 1.5 2001/02/22 17:39:37 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]>
@@ -146,7 +146,7 @@
        wrong_param_count();
     }
 
-    deps = mgd_tree(mgd_handle(), "topic", (*id)->value.lval, 0, NULL);
+    deps = mgd_tree(mgd_handle(), "topic", "up", (*id)->value.lval, 0, NULL);
 
     php_midgard_select(&MidgardPerson, return_value, PERSON_SELECT,
                   "person", "department IN $D", sortv, deps);
Index: php4/ext/midgard/topic.c
diff -u php4/ext/midgard/topic.c:1.6 php4/ext/midgard/topic.c:1.7
--- php4/ext/midgard/topic.c:1.6        Wed Feb 21 14:18:54 2001
+++ php4/ext/midgard/topic.c    Thu Feb 22 09:39:37 2001
@@ -1,4 +1,4 @@
-/* $Id: topic.c,v 1.6 2001/02/21 22:18:54 emile Exp $
+/* $Id: topic.c,v 1.7 2001/02/22 17:39:37 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]>
@@ -127,7 +127,7 @@
                return;
 #endif
 
-       ids = mgd_tree(mgd_handle(), "topic", (*root)->value.lval, 0, NULL);
+       ids = mgd_tree(mgd_handle(), "topic", "up", (*root)->value.lval, 0, NULL);
        if (ids)
                for (i = 0; ids[i]; i++)
                        if (ids[i] == (*topic)->value.lval)

-- 
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