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]