emile Wed Feb 21 14:18:55 2001 EDT Modified files: /php4/ext/midgard Makefile.in article.c attachment.c element.c event.c eventmember.c file.c group.c host.c image.c member.c mgd_oop.h midgard.c oop.c page.c pageelement.c pagelink.c person.c preferences.c sitegroup.c snippet.c snippetdir.c style.c topic.c Log: Centralized object fetching for get_object_by_guid
Index: php4/ext/midgard/Makefile.in diff -u php4/ext/midgard/Makefile.in:1.3 php4/ext/midgard/Makefile.in:1.4 --- php4/ext/midgard/Makefile.in:1.3 Sat Feb 17 15:21:49 2001 +++ php4/ext/midgard/Makefile.in Wed Feb 21 14:18:54 2001 @@ -1,4 +1,4 @@ -# $Id: Makefile.in,v 1.3 2001/02/17 23:21:49 emile Exp $ +# $Id: Makefile.in,v 1.4 2001/02/21 22:18:54 emile Exp $ # # Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]> # Copyright (C) 2000 The Midgard Project ry @@ -29,6 +29,7 @@ snippetdir.c style.c sitegroup.c \ preparser-parser.c preparser-scanner.c \ preparser.c + LTLIBRARY_SHARED_NAME = midgard.la LTLIBRARY_SHARED_LIBADD = $(MIDGARD_SHARED_LIBADD) Index: php4/ext/midgard/article.c diff -u php4/ext/midgard/article.c:1.5 php4/ext/midgard/article.c:1.6 --- php4/ext/midgard/article.c:1.5 Tue Feb 20 16:24:56 2001 +++ php4/ext/midgard/article.c Wed Feb 21 14:18:54 2001 @@ -1,4 +1,4 @@ -/* $Id: article.c,v 1.5 2001/02/21 00:24:56 davidg Exp $ +/* $Id: article.c,v 1.6 2001/02/21 22:18:54 emile Exp $ Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]> Copyright (C) 2000 The Midgard Project ry Copyright (C) 2000 Emile Heyns, Aurora SA <[EMAIL PROTECTED]> @@ -396,18 +396,7 @@ WRONG_PARAM_COUNT; } - php_midgard_get(&MidgardArticle, return_value, - "id,up,topic,name,title,abstract,content,author," - "Date_format(created,'%d.%m.%Y') AS date," - "Date_format(created,'%D %b. %Y') AS adate," - "Date_format(created,'%D %M %Y') AS aldate," - "extra1,extra2,extra3,article.score,type," - "Unix_Timestamp(created) AS created,creator," - "Unix_Timestamp(revised) AS revised,revisor,revision," - "Unix_Timestamp(approved) AS approved,approver," - "Unix_Timestamp(locked) AS locked,locker," - "url,icon,view,print," - CALENDAR_FIELDS, "article", (*id)->value.lval); + php_midgard_get_object(return_value, MIDGARD_OBJECT_ARTICLE, (*id)->value.lval); } MGD_FUNCTION(get_article_by_name) Index: php4/ext/midgard/attachment.c diff -u php4/ext/midgard/attachment.c:1.4 php4/ext/midgard/attachment.c:1.5 --- php4/ext/midgard/attachment.c:1.4 Mon Feb 19 08:39:19 2001 +++ php4/ext/midgard/attachment.c Wed Feb 21 14:18:54 2001 @@ -1,4 +1,4 @@ -/* $Id: attachment.c,v 1.4 2001/02/19 16:39:19 davidg Exp $ +/* $Id: attachment.c,v 1.5 2001/02/21 22:18:54 emile Exp $ Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]> Copyright (C) 2000 The Midgard Project ry Copyright (C) 2000 Emile Heyns, Aurora SA <[EMAIL PROTECTED]> @@ -356,9 +356,7 @@ else if (aid == MGD_ERR_INVALID_NAME) { WRONG_PARAM_COUNT; } else if (aid < 0) { RETURN_FALSE_BECAUSE(aid); } - php_midgard_get(&MidgardAttachment, return_value, - "id,name,title,mimetype,score,author,created,ptable,pid", - "blobs", aid); + php_midgard_get_object(return_value, MIDGARD_OBJECT_BLOBS, aid); } MGD_FUNCTION(serve_attachment) Index: php4/ext/midgard/element.c diff -u php4/ext/midgard/element.c:1.3 php4/ext/midgard/element.c:1.4 --- php4/ext/midgard/element.c:1.3 Sat Feb 17 15:21:49 2001 +++ php4/ext/midgard/element.c Wed Feb 21 14:18:54 2001 @@ -1,4 +1,4 @@ -/* $Id: element.c,v 1.3 2001/02/17 23:21:49 emile Exp $ +/* $Id: element.c,v 1.4 2001/02/21 22:18:54 emile Exp $ Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]> Copyright (C) 2000 The Midgard Project ry Copyright (C) 2000 Emile Heyns, Aurora SA <[EMAIL PROTECTED]> @@ -48,10 +48,7 @@ } convert_to_long_ex(id); - php_midgard_get(&MidgardElement, - return_value, - "id,style,name,value", - "element", (*id)->value.lval); + php_midgard_get_object(return_value, MIDGARD_OBJECT_ELEMENT, +(*id)->value.lval); break; case 2: if (zend_get_parameters_ex(2, &style, &name) != SUCCESS) { Index: php4/ext/midgard/event.c diff -u php4/ext/midgard/event.c:1.3 php4/ext/midgard/event.c:1.4 --- php4/ext/midgard/event.c:1.3 Sat Feb 17 15:21:49 2001 +++ php4/ext/midgard/event.c Wed Feb 21 14:18:54 2001 @@ -1,4 +1,4 @@ -/* $Id: event.c,v 1.3 2001/02/17 23:21:49 emile Exp $ +/* $Id: event.c,v 1.4 2001/02/21 22:18:54 emile Exp $ Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]> Copyright (C) 2000 The Midgard Project ry Copyright (C) 2000 Emile Heyns, Aurora SA <[EMAIL PROTECTED]> @@ -234,9 +234,7 @@ WRONG_PARAM_COUNT; } - php_midgard_get(&MidgardEvent, return_value, "id,up,start,end,title,description," - "type,extra,owner,creator,created,revisor,revised,revision,busy", - "event", (*id)->value.lval); + php_midgard_get_object(return_value, MIDGARD_OBJECT_EVENT, (*id)->value.lval); } static const char *event_sort(const char *order) Index: php4/ext/midgard/eventmember.c diff -u php4/ext/midgard/eventmember.c:1.3 php4/ext/midgard/eventmember.c:1.4 --- php4/ext/midgard/eventmember.c:1.3 Sat Feb 17 15:21:50 2001 +++ php4/ext/midgard/eventmember.c Wed Feb 21 14:18:54 2001 @@ -1,4 +1,4 @@ -/* $Id: eventmember.c,v 1.3 2001/02/17 23:21:50 emile Exp $ +/* $Id: eventmember.c,v 1.4 2001/02/21 22:18:54 emile Exp $ Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]> Copyright (C) 2000 The Midgard Project ry Copyright (C) 2000 Emile Heyns, Aurora SA <[EMAIL PROTECTED]> @@ -188,8 +188,7 @@ WRONG_PARAM_COUNT; } - php_midgard_get(&MidgardEventMember, return_value, "id,eid,uid,extra", - "eventmember", (*id)->value.lval); + php_midgard_get_object(return_value, MIDGARD_OBJECT_EVENTMEMBER, +(*id)->value.lval); } static const char *eventmember_sort(const char *order) Index: php4/ext/midgard/file.c diff -u php4/ext/midgard/file.c:1.3 php4/ext/midgard/file.c:1.4 --- php4/ext/midgard/file.c:1.3 Sat Feb 17 15:21:50 2001 +++ php4/ext/midgard/file.c Wed Feb 21 14:18:54 2001 @@ -1,4 +1,4 @@ -/* $Id: file.c,v 1.3 2001/02/17 23:21:50 emile Exp $ +/* $Id: file.c,v 1.4 2001/02/21 22:18:54 emile Exp $ Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]> Copyright (C) 2000 The Midgard Project ry Copyright (C) 2000 Emile Heyns, Aurora SA <[EMAIL PROTECTED]> @@ -46,7 +46,8 @@ default: WRONG_PARAM_COUNT; } - php_midgard_get(&MidgardFile, return_value, "id,article,type,name,content,size,md5", "file", (*id)->value.lval); + + php_midgard_get_object(return_value, MIDGARD_OBJECT_FILE, (*id)->value.lval); } MGD_FUNCTION(create_file) Index: php4/ext/midgard/group.c diff -u php4/ext/midgard/group.c:1.3 php4/ext/midgard/group.c:1.4 --- php4/ext/midgard/group.c:1.3 Sat Feb 17 15:21:50 2001 +++ php4/ext/midgard/group.c Wed Feb 21 14:18:54 2001 @@ -1,4 +1,4 @@ -/* $Id: group.c,v 1.3 2001/02/17 23:21:50 emile Exp $ +/* $Id: group.c,v 1.4 2001/02/21 22:18:54 emile Exp $ Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]> Copyright (C) 2000 The Midgard Project ry Copyright (C) 2000 Emile Heyns, Aurora SA <[EMAIL PROTECTED]> @@ -72,9 +72,7 @@ WRONG_PARAM_COUNT; } - php_midgard_get(&MidgardGroup, return_value, "id,name,official," ADDRESS_FIELDS "," - GROUP_HOMEPAGE_FIELDS "," GROUP_EMAIL_FIELDS "," - "extra,owner", "grp", (*id)->value.lval); + php_midgard_get_object(return_value, MIDGARD_OBJECT_GRP, (*id)->value.lval); } MGD_FUNCTION(get_group_by_name) @@ -96,9 +94,8 @@ convert_to_string_ex(name); if(!(gid=mgd_exists_id(mgd_handle(),"grp","name=$q",(*name)->value.str.val))) RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS); - php_midgard_get(&MidgardGroup, return_value, "id,name,official," ADDRESS_FIELDS "," - GROUP_HOMEPAGE_FIELDS "," GROUP_EMAIL_FIELDS "," - "extra,owner", "grp", gid); + + php_midgard_get_object(return_value, MIDGARD_OBJECT_GRP, gid); break; } case 2: Index: php4/ext/midgard/host.c diff -u php4/ext/midgard/host.c:1.3 php4/ext/midgard/host.c:1.4 --- php4/ext/midgard/host.c:1.3 Sat Feb 17 15:21:50 2001 +++ php4/ext/midgard/host.c Wed Feb 21 14:18:54 2001 @@ -1,4 +1,4 @@ -/* $Id: host.c,v 1.3 2001/02/17 23:21:50 emile Exp $ +/* $Id: host.c,v 1.4 2001/02/21 22:18:54 emile Exp $ Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]> Copyright (C) 2000 The Midgard Project ry Copyright (C) 2000 Emile Heyns, Aurora SA <[EMAIL PROTECTED]> @@ -70,9 +70,8 @@ default: WRONG_PARAM_COUNT; } - php_midgard_get(&MidgardHost, return_value, - "id,name,port,online,root,style,info&1 AS auth,owner,prefix," HOSTNAME_FIELD, - "host", (*id)->value.lval); + + php_midgard_get_object(return_value, MIDGARD_OBJECT_HOST, (*id)->value.lval); } MGD_FUNCTION(get_host_by_name) Index: php4/ext/midgard/image.c diff -u php4/ext/midgard/image.c:1.3 php4/ext/midgard/image.c:1.4 --- php4/ext/midgard/image.c:1.3 Sat Feb 17 15:21:50 2001 +++ php4/ext/midgard/image.c Wed Feb 21 14:18:54 2001 @@ -1,4 +1,4 @@ -/* $Id: image.c,v 1.3 2001/02/17 23:21:50 emile Exp $ +/* $Id: image.c,v 1.4 2001/02/21 22:18:54 emile Exp $ Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]> Copyright (C) 2000 The Midgard Project ry Copyright (C) 2000 Emile Heyns, Aurora SA <[EMAIL PROTECTED]> @@ -96,11 +96,8 @@ default: WRONG_PARAM_COUNT; } - php_midgard_get(&MidgardImage, return_value, - "id,src,x,y,info&1=1 AS offline," - "If(info&1,Concat('<img src=\"/img/',src," - "'\" width=\"',x,'\" height=\"',y,'\">'),'') AS img", - "image", (*id)->value.lval); + + php_midgard_get_object(return_value, MIDGARD_OBJECT_IMAGE, (*id)->value.lval); } Index: php4/ext/midgard/member.c diff -u php4/ext/midgard/member.c:1.3 php4/ext/midgard/member.c:1.4 --- php4/ext/midgard/member.c:1.3 Sat Feb 17 15:21:50 2001 +++ php4/ext/midgard/member.c Wed Feb 21 14:18:54 2001 @@ -1,4 +1,4 @@ -/* $Id: member.c,v 1.3 2001/02/17 23:21:50 emile Exp $ +/* $Id: member.c,v 1.4 2001/02/21 22:18:54 emile Exp $ Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]> Copyright (C) 2000 The Midgard Project ry Copyright (C) 2000 Emile Heyns, Aurora SA <[EMAIL PROTECTED]> @@ -65,8 +65,8 @@ if (!isgroupowner(mgd_idfield(mgd_handle(), "gid", "member", (*id)->value.lval))) RETURN_FALSE_BECAUSE(MGD_ERR_ACCESS_DENIED); - php_midgard_get(&MidgardMember, return_value, - "id,gid,uid,extra", "member", (*id)->value.lval); + + php_midgard_get_object(return_value, MIDGARD_OBJECT_MEMBER, (*id)->value.lval); } MGD_FUNCTION(create_member) Index: php4/ext/midgard/mgd_oop.h diff -u php4/ext/midgard/mgd_oop.h:1.3 php4/ext/midgard/mgd_oop.h:1.4 --- php4/ext/midgard/mgd_oop.h:1.3 Sat Feb 17 15:21:50 2001 +++ php4/ext/midgard/mgd_oop.h Wed Feb 21 14:18:54 2001 @@ -1,4 +1,4 @@ -/* $Id: mgd_oop.h,v 1.3 2001/02/17 23:21:50 emile Exp $ +/* $Id: mgd_oop.h,v 1.4 2001/02/21 22:18:54 emile Exp $ Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]> Copyright (C) 2000 The Midgard Project ry Copyright (C) 2000 Emile Heyns, Aurora SA <[EMAIL PROTECTED]> @@ -22,6 +22,7 @@ #define MGD_OOP_H #include <zend.h> +#include <midgard/tablenames.h> MGD_FUNCTION(oop_parameter); MGD_FUNCTION(oop_parameter_list); @@ -124,6 +125,8 @@ MGD_FUNCTION(delete_snippet); MGD_FUNCTION(update_snippet); +MGD_FUNCTION(get_object_by_guid); + typedef struct { int type; char * name; @@ -180,6 +183,8 @@ zval _midgard_getset_property(MidgardClass *Class, zend_property_reference *property_reference, zval *value); + +void php_midgard_get_object(zval *return_value, int table, int id); extern MidgardClass MidgardArticle; extern MidgardClass MidgardAttachment; Index: php4/ext/midgard/midgard.c diff -u php4/ext/midgard/midgard.c:1.10 php4/ext/midgard/midgard.c:1.11 --- php4/ext/midgard/midgard.c:1.10 Wed Feb 21 04:21:01 2001 +++ php4/ext/midgard/midgard.c Wed Feb 21 14:18:54 2001 @@ -1,4 +1,4 @@ -/* $Id: midgard.c,v 1.10 2001/02/21 12:21:01 davidg Exp $ +/* $Id: midgard.c,v 1.11 2001/02/21 22:18:54 emile Exp $ Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]> Copyright (C) 2000 The Midgard Project ry Copyright (C) 2000 Emile Heyns, Aurora SA <[EMAIL PROTECTED]> @@ -283,6 +283,7 @@ MGD_FE(copy_style, NULL) MGD_FE(move_style, NULL) MGD_FE(delete_style_tree, NULL) +MGD_FE(get_object_by_guid, NULL) /* preparser functions */ MGD_FE(template, NULL) MGD_FE(variable, NULL) Index: php4/ext/midgard/oop.c diff -u php4/ext/midgard/oop.c:1.4 php4/ext/midgard/oop.c:1.5 --- php4/ext/midgard/oop.c:1.4 Mon Feb 19 23:27:40 2001 +++ php4/ext/midgard/oop.c Wed Feb 21 14:18:54 2001 @@ -1,4 +1,4 @@ -/* $Id: oop.c,v 1.4 2001/02/20 07:27:40 davidg Exp $ +/* $Id: oop.c,v 1.5 2001/02/21 22:18:54 emile Exp $ Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]> Copyright (C) 2000 The Midgard Project ry Copyright (C) 2000 Emile Heyns, Aurora SA <[EMAIL PROTECTED]> @@ -472,6 +472,208 @@ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS); } +} + +void php_midgard_get_object(zval *return_value, int table, int id) +{ + switch (table) { + case MIDGARD_OBJECT_ARTICLE: + php_midgard_get(&MidgardArticle, return_value, + "id,up,topic,name,title,abstract,content,author," + "Date_format(created,'%d.%m.%Y') AS date," + "Date_format(created,'%D %b. %Y') AS adate," + "Date_format(created,'%D %M %Y') AS aldate," + "extra1,extra2,extra3,article.score,type," + "Unix_Timestamp(created) AS created,creator," + "Unix_Timestamp(revised) AS revised,revisor,revision," + "Unix_Timestamp(approved) AS approved,approver," + "Unix_Timestamp(locked) AS locked,locker," + "url,icon,view,print," + CALENDAR_FIELDS, + "article", id); + break; + + case MIDGARD_OBJECT_BLOBS: + php_midgard_get(&MidgardAttachment, return_value, + "id,name,title,mimetype,score,author,created,ptable,pid", + "blobs", id); + break; + + case MIDGARD_OBJECT_ELEMENT: + php_midgard_get(&MidgardElement, return_value, + "id,style,name,value", + "element", id); + break; + + case MIDGARD_OBJECT_EVENT: + php_midgard_get(&MidgardEvent, return_value, + "id,up,start,end,title,description," + "type,extra,owner,creator,created,revisor,revised,revision,busy", + "event", id); + break; + + case MIDGARD_OBJECT_EVENTMEMBER: + php_midgard_get(&MidgardEventMember, return_value, "id,eid,uid,extra", + "eventmember", id); + break; + + case MIDGARD_OBJECT_FILE: + php_midgard_get(&MidgardFile, return_value, + "id,article,type,name,content,size,md5", + "file", id); + break; + + case MIDGARD_OBJECT_GRP: + php_midgard_get(&MidgardGroup, return_value, + "id,name,official," ADDRESS_FIELDS "," + GROUP_HOMEPAGE_FIELDS "," GROUP_EMAIL_FIELDS "," + "extra,owner", + "grp", id); + break; + + case MIDGARD_OBJECT_HOST: + php_midgard_get(&MidgardHost, return_value, + "id,name,port,online,root,style,info&1 AS +auth,owner,prefix," + HOSTNAME_FIELD, + "host", id); + break; + + case MIDGARD_OBJECT_IMAGE: + php_midgard_get(&MidgardImage, return_value, + "id,src,x,y,info&1=1 AS offline," + "If(info&1,Concat('<img src=\"/img/',src," + "'\" width=\"',x,'\" height=\"',y,'\">'),'') AS img", + "image", id); + break; + + case MIDGARD_OBJECT_MEMBER: + php_midgard_get(&MidgardMember, return_value, + "id,gid,uid,extra", "member", id); + break; + + case MIDGARD_OBJECT_PAGE: + php_midgard_get(&MidgardPage, return_value, + "id,up,name,style,title,changed,content,author," + "info&1=1 AS auth,info&2=2 AS active", + "page", id); + break; + + case MIDGARD_OBJECT_PAGEELEMENT: + php_midgard_get(&MidgardPageElement, return_value, + "id,page,name,value,info&1 AS inherit", + "pageelement", id); + break; + +#if HAVE_MIDGARD_PAGELINKS + case MIDGARD_OBJECT_PAGELINK: + php_midgard_get(&MidgardPagelink, return_value, + "id,up,name,target,grp,owner", + "pagelink", id); + break; +#endif + + case MIDGARD_OBJECT_PERSON: + if (isuserowner(id)) + php_midgard_get(&MidgardPerson, return_value, + "id," NAME_FIELDS "," + "If(Left(password,2)='**',Substring(password,3),'')" + " AS password," + ADDRESS_FIELDS "," PHONE_FIELDS "," + HOMEPAGE_FIELDS "," EMAIL_FIELDS "," + "Date_format(birthdate,'%d.%m.%Y') AS birthdate,extra," + "img,topic,department,office,pgpkey," PUBLIC_FIELDS, + "person", id); + else + php_midgard_get(&MidgardPerson, return_value, + "id," NAME_FIELDS ",'' AS password," + "If(info&2," ADDRESS_FIELD ",'') AS address," + PUBLIC_FIELD(2,street) "," + PUBLIC_FIELD(2,postcode) "," + PUBLIC_FIELD(2,city) "," + "If(info&4," PHONE_FIELD ",'') AS phone," + PUBLIC_FIELD(4,handphone) "," + PUBLIC_FIELD(4,homephone) "," + PUBLIC_FIELD(4,workphone) "," + "If(info&8," HOMEPAGE_FIELD ",'') AS homepagelink," + PUBLIC_FIELD(8,homepage) "," + "If(info&16," EMAIL_FIELD ",'') AS emaillink," + PUBLIC_FIELD(16,email) "," + "'' AS birthdate," PUBLIC_FIELD(32,extra) "," + PUBLIC_FIELD(32,img) ",topic,department,office,pgpkey," + PUBLIC_FIELDS, "person", id); + break; + + case MIDGARD_OBJECT_PREFERENCE: + php_midgard_get(&MidgardPreferences, return_value, + "id,uid,domain,name,value", "preference", id); + break; + +#if HAVE_MIDGARD_SITEGROUPS + case MIDGARD_OBJECT_SITEGROUP: + php_midgard_sitegroup_get(&MidgardSitegroup, return_value, 0, "*", + "sitegroup", id); + break; +#endif + + case MIDGARD_OBJECT_SNIPPET: + php_midgard_get(&MidgardSnippet, return_value, + "id,up,name,code,doc,author,creator,created,revisor," + "revised,revision", + "snippet", id); + break; + + case MIDGARD_OBJECT_SNIPPETDIR: + php_midgard_get(&MidgardSnippetdir, return_value, +"id,up,name,description,owner", + "snippetdir", id); + break; + + case MIDGARD_OBJECT_STYLE: + php_midgard_get(&MidgardStyle, return_value, "id,up,name,owner", "style", +id); + break; + + case MIDGARD_OBJECT_TOPIC: + php_midgard_get(&MidgardTopic, return_value, + "id,up,score,name,description,extra,owner,code," + "creator,Unix_timestamp(created) as created," + "revisor,Unix_timestamp(revised) as revised,revision", + "topic", id); + break; + + /* EEH: These are not handled */ + case MIDGARD_OBJECT_REPLIGARD: + case MIDGARD_OBJECT_RECORD_EXTENSION: + case MIDGARD_OBJECT_HISTORY: + default: + RETURN_FALSE_BECAUSE(MGD_ERR_INTERNAL); + } +} + +MGD_FUNCTION(get_object_by_guid) +{ + zval **guid; + midgard_res *res; + long table, id; + + if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(ht, 1, &guid) != SUCCESS) { + WRONG_PARAM_COUNT; + } + + if ((*guid)->type != IS_STRING) { RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS); } + + res = mgd_sitegroup_select(mgd_handle(), "realm,id" "repligard", + "guid=$q", NULL, (*guid)->value.str.val); + + if (!res || !mgd_fetch(res)) { + if (res) mgd_release(res); + RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS); + } + + table = mgd_lookup_table_id(mgd_colvalue(res, 0)); + id = atoi(mgd_colvalue(res, 1)); + + mgd_release(res); + + php_midgard_get_object(return_value, table, id); } MidgardClassPtr MidgardClasses [] = { Index: php4/ext/midgard/page.c diff -u php4/ext/midgard/page.c:1.5 php4/ext/midgard/page.c:1.6 --- php4/ext/midgard/page.c:1.5 Tue Feb 20 16:24:56 2001 +++ php4/ext/midgard/page.c Wed Feb 21 14:18:54 2001 @@ -1,4 +1,4 @@ -/* $Id: page.c,v 1.5 2001/02/21 00:24:56 davidg Exp $ +/* $Id: page.c,v 1.6 2001/02/21 22:18:54 emile 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,7 @@ WRONG_PARAM_COUNT; } - php_midgard_get(&MidgardPage, return_value, "id,up,name,style,title,changed,content,author," - "info&1=1 AS auth,info&2=2 AS active", - "page", (*id)->value.lval); + php_midgard_get_object(return_value, MIDGARD_OBJECT_PAGE, (*id)->value.lval); } MGD_FUNCTION(get_page_by_name) Index: php4/ext/midgard/pageelement.c diff -u php4/ext/midgard/pageelement.c:1.3 php4/ext/midgard/pageelement.c:1.4 --- php4/ext/midgard/pageelement.c:1.3 Sat Feb 17 15:21:50 2001 +++ php4/ext/midgard/pageelement.c Wed Feb 21 14:18:54 2001 @@ -1,4 +1,4 @@ -/* $Id: pageelement.c,v 1.3 2001/02/17 23:21:50 emile Exp $ +/* $Id: pageelement.c,v 1.4 2001/02/21 22:18:54 emile Exp $ Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]> Copyright (C) 2000 The Midgard Project ry Copyright (C) 2000 Emile Heyns, Aurora SA <[EMAIL PROTECTED]> @@ -46,8 +46,8 @@ default: WRONG_PARAM_COUNT; } - php_midgard_get(&MidgardPageElement, return_value, "id,page,name,value,info&1 AS inherit", - "pageelement", (*id)->value.lval); + + php_midgard_get_object(return_value, MIDGARD_OBJECT_PAGEELEMENT, +(*id)->value.lval); } MGD_FUNCTION(get_page_element_by_name) Index: php4/ext/midgard/pagelink.c diff -u php4/ext/midgard/pagelink.c:1.3 php4/ext/midgard/pagelink.c:1.4 --- php4/ext/midgard/pagelink.c:1.3 Sat Feb 17 15:21:50 2001 +++ php4/ext/midgard/pagelink.c Wed Feb 21 14:18:54 2001 @@ -1,4 +1,4 @@ -/* $Id: pagelink.c,v 1.3 2001/02/17 23:21:50 emile Exp $ +/* $Id: pagelink.c,v 1.4 2001/02/21 22:18:54 emile Exp $ Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]> Copyright (C) 2000 The Midgard Project ry Copyright (C) 2000 Emile Heyns, Aurora SA <[EMAIL PROTECTED]> @@ -101,8 +101,8 @@ default: WRONG_PARAM_COUNT; } - php_midgard_get(&MidgardPagelink, return_value, "id,up,name,target,grp,owner", - "pagelink", (*id)->value.lval); + + php_midgard_get_object(return_value, MIDGARD_OBJECT_PAGELINK, (*id)->value.lval); } MGD_FUNCTION(get_pagelink_by_name) Index: php4/ext/midgard/person.c diff -u php4/ext/midgard/person.c:1.3 php4/ext/midgard/person.c:1.4 --- php4/ext/midgard/person.c:1.3 Sat Feb 17 15:21:50 2001 +++ php4/ext/midgard/person.c Wed Feb 21 14:18:54 2001 @@ -1,4 +1,4 @@ -/* $Id: person.c,v 1.3 2001/02/17 23:21:50 emile Exp $ +/* $Id: person.c,v 1.4 2001/02/21 22:18:54 emile Exp $ Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]> Copyright (C) 2000 The Midgard Project ry Copyright (C) 2000 Emile Heyns, Aurora SA <[EMAIL PROTECTED]> @@ -204,32 +204,7 @@ WRONG_PARAM_COUNT; } - if (isuserowner((*id)->value.lval)) - php_midgard_get(&MidgardPerson, return_value, "id," NAME_FIELDS "," - "If(Left(password,2)='**',Substring(password,3),'')" - " AS password," - ADDRESS_FIELDS "," PHONE_FIELDS "," - HOMEPAGE_FIELDS "," EMAIL_FIELDS "," - "Date_format(birthdate,'%d.%m.%Y') AS birthdate,extra," - "img,topic,department,office,pgpkey," PUBLIC_FIELDS, - "person", (*id)->value.lval); - else - php_midgard_get(&MidgardPerson, return_value, "id," NAME_FIELDS ",'' AS password," - "If(info&2," ADDRESS_FIELD ",'') AS address," - PUBLIC_FIELD(2,street) "," - PUBLIC_FIELD(2,postcode) "," - PUBLIC_FIELD(2,city) "," - "If(info&4," PHONE_FIELD ",'') AS phone," - PUBLIC_FIELD(4,handphone) "," - PUBLIC_FIELD(4,homephone) "," - PUBLIC_FIELD(4,workphone) "," - "If(info&8," HOMEPAGE_FIELD ",'') AS homepagelink," - PUBLIC_FIELD(8,homepage) "," - "If(info&16," EMAIL_FIELD ",'') AS emaillink," - PUBLIC_FIELD(16,email) "," - "'' AS birthdate," PUBLIC_FIELD(32,extra) "," - PUBLIC_FIELD(32,img) ",topic,department,office,pgpkey," - PUBLIC_FIELDS, "person", (*id)->value.lval); + php_midgard_get_object(return_value, MIDGARD_OBJECT_PERSON, (*id)->value.lval); } MGD_FUNCTION(create_person) Index: php4/ext/midgard/preferences.c diff -u php4/ext/midgard/preferences.c:1.3 php4/ext/midgard/preferences.c:1.4 --- php4/ext/midgard/preferences.c:1.3 Sat Feb 17 15:21:50 2001 +++ php4/ext/midgard/preferences.c Wed Feb 21 14:18:54 2001 @@ -1,4 +1,4 @@ -/* $Id: preferences.c,v 1.3 2001/02/17 23:21:50 emile Exp $ +/* $Id: preferences.c,v 1.4 2001/02/21 22:18:54 emile Exp $ Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]> Copyright (C) 2000 The Midgard Project ry Copyright (C) 2000 Emile Heyns, Aurora SA <[EMAIL PROTECTED]> @@ -113,8 +113,8 @@ if (!mgd_isadmin(mgd_handle()) && mgd_user(mgd_handle()) != mgd_idfield(mgd_handle(), "uid", "preference", id)) RETURN_FALSE_BECAUSE(MGD_ERR_ACCESS_DENIED); - php_midgard_get(&MidgardPreferences, return_value, - "id,uid,domain,name,value", "preference", id); + + php_midgard_get_object(return_value, MIDGARD_OBJECT_PREFERENCE, id); } MGD_FUNCTION(create_preference) Index: php4/ext/midgard/sitegroup.c diff -u php4/ext/midgard/sitegroup.c:1.4 php4/ext/midgard/sitegroup.c:1.5 --- php4/ext/midgard/sitegroup.c:1.4 Mon Feb 19 23:27:40 2001 +++ php4/ext/midgard/sitegroup.c Wed Feb 21 14:18:54 2001 @@ -1,4 +1,4 @@ -/* $Id: sitegroup.c,v 1.4 2001/02/20 07:27:40 davidg Exp $ +/* $Id: sitegroup.c,v 1.5 2001/02/21 22:18:54 emile Exp $ Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]> Copyright (C) 2000 The Midgard Project ry Copyright (C) 2000 Emile Heyns, Aurora SA <[EMAIL PROTECTED]> @@ -98,7 +98,7 @@ WRONG_PARAM_COUNT; } - php_midgard_sitegroup_get(&MidgardSitegroup, return_value, 0, "*", "sitegroup", (*id)->value.lval); + php_midgard_get_object(return_value, MIDGARD_OBJECT_SITEGROUP, (*id)->value.lval); } MGD_FUNCTION(update_sitegroup) Index: php4/ext/midgard/snippet.c diff -u php4/ext/midgard/snippet.c:1.3 php4/ext/midgard/snippet.c:1.4 --- php4/ext/midgard/snippet.c:1.3 Sat Feb 17 15:21:50 2001 +++ php4/ext/midgard/snippet.c Wed Feb 21 14:18:54 2001 @@ -1,4 +1,4 @@ -/* $Id: snippet.c,v 1.3 2001/02/17 23:21:50 emile Exp $ +/* $Id: snippet.c,v 1.4 2001/02/21 22:18:54 emile Exp $ Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]> Copyright (C) 2000 The Midgard Project ry Copyright (C) 2000 Emile Heyns, Aurora SA <[EMAIL PROTECTED]> @@ -70,7 +70,8 @@ } if(!(*id)->value.lval) RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS); - php_midgard_get(&MidgardSnippet, return_value, "id,up,name,code,doc,author,creator,created,revisor,revised,revision", "snippet", (*id)->value.lval); + + php_midgard_get_object(return_value, MIDGARD_OBJECT_SNIPPET, (*id)->value.lval); } MGD_FUNCTION(get_snippet_by_name) Index: php4/ext/midgard/snippetdir.c diff -u php4/ext/midgard/snippetdir.c:1.4 php4/ext/midgard/snippetdir.c:1.5 --- php4/ext/midgard/snippetdir.c:1.4 Tue Feb 20 16:24:56 2001 +++ php4/ext/midgard/snippetdir.c Wed Feb 21 14:18:54 2001 @@ -1,4 +1,4 @@ -/* $Id: snippetdir.c,v 1.4 2001/02/21 00:24:56 davidg Exp $ +/* $Id: snippetdir.c,v 1.5 2001/02/21 22:18:54 emile Exp $ Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]> Copyright (C) 2000 The Midgard Project ry Copyright (C) 2000 Emile Heyns, Aurora SA <[EMAIL PROTECTED]> @@ -61,7 +61,7 @@ WRONG_PARAM_COUNT; } - php_midgard_get(&MidgardSnippetdir, return_value, "id,up,name,description,owner", "snippetdir", (*id)->value.lval); + php_midgard_get_object(return_value, MIDGARD_OBJECT_SNIPPETDIR, (*id)->value.lval); } MGD_FUNCTION(get_snippetdir_by_path) @@ -83,7 +83,7 @@ WRONG_PARAM_COUNT; } if(!MGD_PARSE_COMMON_PATH(mgd_handle(), (*path)->value.str.val, "snippetdir", "snippetdir", &id, &up)) { - php_midgard_get(&MidgardSnippetdir, return_value, "id,up,name,description,owner", "snippetdir", id); + php_midgard_get_object(return_value, MIDGARD_OBJECT_SNIPPETDIR, id); return; } } Index: php4/ext/midgard/style.c diff -u php4/ext/midgard/style.c:1.4 php4/ext/midgard/style.c:1.5 --- php4/ext/midgard/style.c:1.4 Tue Feb 20 16:24:56 2001 +++ php4/ext/midgard/style.c Wed Feb 21 14:18:54 2001 @@ -1,4 +1,4 @@ -/* $Id: style.c,v 1.4 2001/02/21 00:24:56 davidg Exp $ +/* $Id: style.c,v 1.5 2001/02/21 22:18:54 emile Exp $ Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]> Copyright (C) 2000 The Midgard Project ry Copyright (C) 2000 Emile Heyns, Aurora SA <[EMAIL PROTECTED]> @@ -67,7 +67,8 @@ default: WRONG_PARAM_COUNT; } - php_midgard_get(&MidgardStyle, return_value, "id,up,name,owner", "style", (*id)->value.lval); + + php_midgard_get_object(return_value, MIDGARD_OBJECT_STYLE, (*id)->value.lval); } MGD_FUNCTION(get_style_by_name) Index: php4/ext/midgard/topic.c diff -u php4/ext/midgard/topic.c:1.5 php4/ext/midgard/topic.c:1.6 --- php4/ext/midgard/topic.c:1.5 Tue Feb 20 16:24:56 2001 +++ php4/ext/midgard/topic.c Wed Feb 21 14:18:54 2001 @@ -1,4 +1,4 @@ -/* $Id: topic.c,v 1.5 2001/02/21 00:24:56 davidg Exp $ +/* $Id: topic.c,v 1.6 2001/02/21 22:18:54 emile Exp $ Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]> Copyright (C) 2000 The Midgard Project ry Copyright (C) 2000 Emile Heyns, Aurora SA <[EMAIL PROTECTED]> @@ -152,12 +152,8 @@ case 1: if (zend_get_parameters_ex(1, &id) == SUCCESS) { convert_to_long_ex(id); - php_midgard_get(&MidgardTopic, - return_value, - "id,up,score,name,description,extra,owner,code," - "creator,Unix_timestamp(created) as created," - "revisor,Unix_timestamp(revised) as revised,revision", - "topic", (*id)->value.lval); + php_midgard_get_object(return_value, MIDGARD_OBJECT_TOPIC, + (*id)->value.lval); } else { WRONG_PARAM_COUNT;
-- 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]