emile Tue Mar 6 02:35:03 2001 EDT
Modified files:
/php4/ext/midgard article.c element.c event.c eventmember.c file.c
group.c host.c page.c pageelement.c preferences.c
snippet.c snippetdir.c style.c topic.c
Log:
Object integrity checks cleanup
Index: php4/ext/midgard/article.c
diff -u php4/ext/midgard/article.c:1.10 php4/ext/midgard/article.c:1.11
--- php4/ext/midgard/article.c:1.10 Tue Feb 27 17:00:31 2001
+++ php4/ext/midgard/article.c Tue Mar 6 02:35:02 2001
@@ -1,4 +1,4 @@
-/* $Id: article.c,v 1.10 2001/02/28 01:00:31 davidg Exp $
+/* $Id: article.c,v 1.11 2001/03/06 10:35:02 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]>
@@ -543,39 +543,18 @@
convert_to_string_ex(extra3);
convert_to_long_ex(type);
- /* author must NOT be 0 */
- if (!(*author)->value.lval)
- RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
+ if (!mgd_exists_id(mgd_handle(), "person", "id=$id", (*author)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
- if (!istopicowner((*topic)->value.lval)) {
- RETURN_FALSE_BECAUSE(MGD_ERR_ACCESS_DENIED);
- }
+ if (!mgd_exists_id(mgd_handle(), "topic", "id=$id", (*topic)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
-#if HAVE_MIDGARD_SITEGROUPS
- /* up must be in same SG or be 0 */
- if ((*up)->value.lval != 0 && !mgd_exists_id(mgd_handle(), "article",
- "id=$d AND sitegroup IN (0,$d)",
- (*up)->value.lval,
- mgd_sitegroup(mgd_handle()))) {
- RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
- }
+ if ((*up)->value.lval != 0 && !mgd_exists_id(mgd_handle(), "article", "id=$id",
+(*up)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
- /* topic must be in same SG or be 0 */
- if ((*topic)->value.lval != 0 && !mgd_exists_id(mgd_handle(), "topic",
- "id=$d AND sitegroup IN (0,$d)",
- (*topic)->value.lval,
- mgd_sitegroup(mgd_handle
- ()))) {
- RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
- }
- /* author must be in same SG */
- if (!mgd_exists_id(mgd_handle(), "person",
- "id=$d AND sitegroup IN (0,$d)",
- (*author)->value.lval,
- mgd_sitegroup(mgd_handle()))) {
- RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
+ if (!istopicowner((*topic)->value.lval)) {
+ RETURN_FALSE_BECAUSE(MGD_ERR_ACCESS_DENIED);
}
-#endif
php_midgard_create(return_value, "article",
"up,topic,name,title,abstract,content,author,"
@@ -655,9 +634,7 @@
MGD_FUNCTION(bool, update_article_replyto, (int id, int up))
{
zval **id, **up;
-#if HAVE_MIDGARD_SITEGROUPS
int parent_topic;
-#endif
RETVAL_FALSE;
CHECK_MGD;
@@ -668,33 +645,32 @@
convert_to_long_ex(id);
convert_to_long_ex(up);
+ if ((*up)->value.lval != 0) {
#if HAVE_MIDGARD_SITEGROUPS
- parent_topic =
- mgd_idfield(mgd_handle(), "topic", "article", (*up)->value.lval);
- /* up must be in same SG or be 0 */
- if ((*up)->value.lval != 0
- && !mgd_exists_bool(mgd_handle(), "article src, article tgt",
- "src.id=$d AND tgt.id=$d"
- " AND (src.sitegroup=tgt.sitegroup"
- " OR src.sitegroup=0" " OR tgt.sitegroup=0)",
- (*id)->value.lval, (*up)->value.lval)) {
- RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
+ if (!mgd_exists_bool(mgd_handle(), "article src, article tgt",
+
+"src.id=$d AND tgt.id=$d"
+ " AND
+(src.sitegroup=tgt.sitegroup"
+
+ " OR src.sitegroup=0"
+
+ " OR tgt.sitegroup=0)",
+
+(*id)->value.lval, (*up)->value.lval)) {
+ RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
}
+#else
+ if (!mgd_exists_id(mgd_handle(), "article", "id=$d", (*up)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
#endif
+ }
if (!isarticleowner((*id)->value.lval)) {
RETURN_FALSE_BECAUSE(MGD_ERR_ACCESS_DENIED);
}
- php_midgard_update(return_value, "article", "up=$d"
-#if HAVE_MIDGARD_SITEGROUPS
- ",topic=$d"
-#endif
- , (*id)->value.lval, (*up)->value.lval
-#if HAVE_MIDGARD_SITEGROUPS
- , parent_topic
-#endif
- );
+ parent_topic =
+ mgd_idfield(mgd_handle(), "topic", "article", (*up)->value.lval);
+
+ php_midgard_update(return_value, "article", "up=$d,topic=$d",
+ (*id)->value.lval, (*up)->value.lval, parent_topic);
+
PHP_UPDATE_REPLIGARD("article", (*id)->value.lval);
}
@@ -858,10 +834,6 @@
convert_to_string_ex(extra2);
convert_to_string_ex(extra3);
- /* author must NOT be 0 */
- if (!(*author)->value.lval)
- RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
-
/* EEH: conversion to string is intentional, see update code */
if (type)
convert_to_string_ex(type);
@@ -874,28 +846,18 @@
RETURN_FALSE_BECAUSE(MGD_ERR_ACCESS_DENIED);
}
-#if HAVE_MIDGARD_SITEGROUPS
- /* TODO: If we change topic here we should clear 'up' */
+ if (!mgd_exists_id(mgd_handle(), "person", "id=$id", (*author)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
- /* topic must be in same SG or be 0 */
- if ((*topic)->value.lval != 0
- && !mgd_exists_bool(mgd_handle(), "article,topic",
- "article.id=$d AND topic.id=$d"
- " AND (article.sitegroup=topic.sitegroup"
- " OR article.sitegroup=0" " OR topic.sitegroup=0)",
- (*id)->value.lval, (*topic)->value.lval)) {
- RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
- }
+ if (!mgd_exists_id(mgd_handle(), "topic", "id=$id", (*topic)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
- /* author must be in same SG */
- if (!mgd_exists_bool(mgd_handle(), "article,person",
- "article.id=$d AND person.id=$d"
- " AND (article.sitegroup=person.sitegroup"
- " OR article.sitegroup=0" " OR person.sitegroup=0)",
- (*id)->value.lval, (*author)->value.lval)) {
- RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
+ if ((*up)->value.lval != 0 && !mgd_exists_id(mgd_handle(), "article", "id=$id",
+(*up)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
+
+ if (!istopicowner((*topic)->value.lval)) {
+ RETURN_FALSE_BECAUSE(MGD_ERR_ACCESS_DENIED);
}
-#endif
php_midgard_update(return_value, "article",
"name=$q,title=$q,abstract=$q,content=$q,"
Index: php4/ext/midgard/element.c
diff -u php4/ext/midgard/element.c:1.5 php4/ext/midgard/element.c:1.6
--- php4/ext/midgard/element.c:1.5 Tue Feb 27 17:00:31 2001
+++ php4/ext/midgard/element.c Tue Mar 6 02:35:02 2001
@@ -1,4 +1,4 @@
-/* $Id: element.c,v 1.5 2001/02/28 01:00:31 davidg Exp $
+/* $Id: element.c,v 1.6 2001/03/06 10:35:02 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]>
@@ -111,16 +111,6 @@
if (mgd_exists_id(mgd_handle(), "element", "style=$d AND name=$q",
(*style)->value.lval, (*name)->value.str.val))
RETURN_FALSE_BECAUSE(MGD_ERR_DUPLICATE);
-
-#if HAVE_MIDGARD_SITEGROUPS
- /* style must be in same SG or be 0 */
- if ((*style)->value.lval != 0 && !mgd_exists_id(mgd_handle(), "style",
- "id=$d AND sitegroup IN (0,$d)",
- (*style)->value.lval,
- mgd_sitegroup(mgd_handle
-
())))RETURN_FALSE_BECAUSE
- (MGD_ERR_SITEGROUP_VIOLATION);
-#endif
php_midgard_create(return_value,
"element", "style,name,value",
Index: php4/ext/midgard/event.c
diff -u php4/ext/midgard/event.c:1.8 php4/ext/midgard/event.c:1.9
--- php4/ext/midgard/event.c:1.8 Tue Feb 27 17:00:31 2001
+++ php4/ext/midgard/event.c Tue Mar 6 02:35:02 2001
@@ -1,4 +1,4 @@
-/* $Id: event.c,v 1.8 2001/02/28 01:00:31 davidg Exp $
+/* $Id: event.c,v 1.9 2001/03/06 10:35:02 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]>
@@ -80,26 +80,15 @@
if ((*up)->value.lval && !iseventowner((*up)->value.lval))
RETURN_FALSE_BECAUSE(MGD_ERR_ACCESS_DENIED);
-#if HAVE_MIDGARD_SITEGROUPS
- /* up must be in same SG or be 0 */
- if ((*up)->value.lval != 0 && !mgd_exists_id(mgd_handle(), "event",
- "id=$d AND sitegroup IN (0,$d)",
- (*up)->value.lval,
- mgd_sitegroup(mgd_handle())))
- RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
- /* owner must be in same SG or be 0 */
- /* TODO: should we in fact allow owner == 0 for non-root? */
- if ((*owner)->value.lval != 0 && !mgd_exists_id(mgd_handle(), "grp",
- "id=$d AND sitegroup IN (0,$d)",
- (*owner)->value.lval,
- mgd_sitegroup(mgd_handle())))
- RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
-#else
if ((*up)->value.lval != 0
- && !mgd_exists_id(mgd_handle(), "event", "id=$d",
- (*up)->value.lval))
- RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
-#endif
+ && !mgd_exists_id(mgd_handle(), "event", "id=$d", (*up)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
+
+ /* TODO: should we in fact allow owner == 0 for non-root? */
+
+ if ((*owner)->value.lval != 0
+ && !mgd_exists_id(mgd_handle(), "grp", "id=$d", (*owner)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
php_midgard_create(return_value, "event", "up,start,end,title,"
"description,type,extra,owner,creator,created,revisor,revised,revision,busy",
@@ -163,19 +152,9 @@
if (!(*id)->value.lval || !iseventowner((*id)->value.lval))
RETURN_FALSE_BECAUSE(MGD_ERR_ACCESS_DENIED);
-#if HAVE_MIDGARD_SITEGROUPS
- /* owner must be in same SG or be 0 */
- /* should we in fact allow owner == 0 for non-root? */
if ((*owner)->value.lval != 0
- && !mgd_exists_bool(mgd_handle(), "event,grp",
- "event.id=$d AND grp.id=$d"
- " AND (event.sitegroup=grp.sitegroup"
- " OR event.sitegroup=0"
- " OR grp.sitegroup=0)",
- (*id)->value.lval,
- (*owner)->value.lval))
- RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
-#endif
+ && !mgd_exists_id(mgd_handle(), "grp", "id=$d", (*owner)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
php_midgard_update(return_value, "event",
"start=$d,end=$d,title=$q,"
Index: php4/ext/midgard/eventmember.c
diff -u php4/ext/midgard/eventmember.c:1.5 php4/ext/midgard/eventmember.c:1.6
--- php4/ext/midgard/eventmember.c:1.5 Tue Feb 27 17:00:31 2001
+++ php4/ext/midgard/eventmember.c Tue Mar 6 02:35:02 2001
@@ -1,4 +1,4 @@
-/* $Id: eventmember.c,v 1.5 2001/02/28 01:00:31 davidg Exp $
+/* $Id: eventmember.c,v 1.6 2001/03/06 10:35:02 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]>
@@ -82,13 +82,9 @@
convert_to_long_ex(uid);
convert_to_string_ex(extra);
- /* event must exist and be in the same sitegroup as the current sitegroup
- */
if (!mgd_exists_id(mgd_handle(), "event", "id=$d", (*eid)->value.lval))
RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
- /* person must exist and be in the same sitegroup as the current sitegroup
- */
if (!mgd_exists_id(mgd_handle(), "person", "id=$d", (*uid)->value.lval))
RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
Index: php4/ext/midgard/file.c
diff -u php4/ext/midgard/file.c:1.5 php4/ext/midgard/file.c:1.6
--- php4/ext/midgard/file.c:1.5 Tue Feb 27 17:00:31 2001
+++ php4/ext/midgard/file.c Tue Mar 6 02:35:02 2001
@@ -1,4 +1,4 @@
-/* $Id: file.c,v 1.5 2001/02/28 01:00:31 davidg Exp $
+/* $Id: file.c,v 1.6 2001/03/06 10:35:02 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]>
@@ -85,11 +85,8 @@
if (!isarticleowner((*article)->value.lval))
RETURN_FALSE_BECAUSE(MGD_ERR_ACCESS_DENIED);
-#if HAVE_MIDGARD_SITEGROUPS
- /* article must be in same SG */
- if (!mgd_exists_id(mgd_handle(), "article", "id=$d",
-
(*article)->value.lval)) RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
-#endif
+ if (!mgd_exists_id(mgd_handle(), "article", "id=$d", (*article)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
php_midgard_create(return_value, "file",
"article,type,name,content,size,md5",
Index: php4/ext/midgard/group.c
diff -u php4/ext/midgard/group.c:1.6 php4/ext/midgard/group.c:1.7
--- php4/ext/midgard/group.c:1.6 Tue Feb 27 17:00:31 2001
+++ php4/ext/midgard/group.c Tue Mar 6 02:35:02 2001
@@ -1,4 +1,4 @@
-/* $Id: group.c,v 1.6 2001/02/28 01:00:31 davidg Exp $
+/* $Id: group.c,v 1.7 2001/03/06 10:35:02 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]>
@@ -167,11 +167,16 @@
// RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
#endif
- if (!isgroupowner((*owner)->value.lval)
- || mgd_exists_id(mgd_handle(), "grp", "name=$q",
- (*name)->value.str.
- val)) RETURN_FALSE_BECAUSE(MGD_ERR_ACCESS_DENIED);
+ if (!isgroupowner((*owner)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_ACCESS_DENIED);
+ if ((*owner)->value.lval != 0
+ && !mgd_exists_id(mgd_handle(), "grp", "id=$d", (*owner)->value.str.val))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
+
+ if (mgd_exists_id(mgd_handle(), "grp", "name=$q", (*name)->value.str.val))
+ RETURN_FALSE_BECAUSE(MGD_ERR_DUPLICATE);
+
php_midgard_create(return_value, "grp",
"name,official,street,postcode,city,"
"homepage,email,extra,owner",
@@ -233,6 +238,10 @@
if (!isgroupowner((*gid)->value.lval))
RETURN_FALSE_BECAUSE(MGD_ERR_ACCESS_DENIED);
+
+ if ((*owner)->value.lval != 0
+ && !mgd_exists_id(mgd_handle(), "grp", "id=$d", (*owner)->value.str.val))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
php_midgard_update(return_value, "grp",
"name=$q,official=$q,street=$q,postcode=$q,city=$q,"
Index: php4/ext/midgard/host.c
diff -u php4/ext/midgard/host.c:1.5 php4/ext/midgard/host.c:1.6
--- php4/ext/midgard/host.c:1.5 Tue Feb 27 17:00:31 2001
+++ php4/ext/midgard/host.c Tue Mar 6 02:35:02 2001
@@ -1,4 +1,4 @@
-/* $Id: host.c,v 1.5 2001/02/28 01:00:31 davidg Exp $
+/* $Id: host.c,v 1.6 2001/03/06 10:35:02 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]>
@@ -158,23 +158,17 @@
RETURN_FALSE_BECAUSE(MGD_ERR_ACCESS_DENIED);
#endif
-#if HAVE_MIDGARD_SITEGROUPS
- /* root must be in same SG or be 0 */
- if ((*root)->value.lval != 0 && !mgd_exists_id(mgd_handle(), "page",
- "id=$d",
- (*root)->value.lval))
- RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
- /* style must be in same SG or be 0 */
- if ((*style)->value.lval != 0 && !mgd_exists_id(mgd_handle(), "style",
- "id=$d",
- (*style)->value.lval))
- RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
- /* style must be in same SG or be 0 */
- if ((*owner)->value.lval != 0 && !mgd_exists_id(mgd_handle(), "grp",
- "id=$d",
- (*owner)->value.lval))
- RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
-#endif
+ if ((*root)->value.lval != 0
+ && !mgd_exists_id(mgd_handle(), "page", "id=$d", (*root)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
+
+ if ((*style)->value.lval != 0
+ && !mgd_exists_id(mgd_handle(), "style", "id=$d", (*style)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
+
+ if ((*owner)->value.lval != 0
+ && !mgd_exists_id(mgd_handle(), "grp", "id=$d", (*owner)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
php_midgard_create(return_value, "host",
"name,port,online,root,style,info,owner,prefix",
@@ -195,10 +189,6 @@
char *prefix_sql = "";
char *name_port_sql = "";
-#if HAVE_MIDGARD_SITEGROUPS
- int xref_ok = 1;
-#endif
-
RETVAL_FALSE;
CHECK_MGD;
@@ -290,37 +280,23 @@
(*name)->value.str.val, (*port)->value.lval);
#endif
-#if HAVE_MIDGARD_SITEGROUPS
- /* root must be in same SG or be 0 */
- if ((*root)->value.lval != 0 && !mgd_exists_bool(mgd_handle(), "host,page",
- "host.id=$d AND page.id=$d"
- " AND
(host.sitegroup=page.sitegroup"
- " OR host.sitegroup=0"
- " OR page.sitegroup=0)",
- (*id)->value.lval,
- (*root)->value.lval)) xref_ok =
0;
- /* style must be in same SG or be 0 */
+ if ((*root)->value.lval != 0
+ && !mgd_exists_id(mgd_handle(), "page", "id=$d", (*root)->value.lval)) {
+ mgd_free_pool(pool);
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
+ }
+
if ((*style)->value.lval != 0
- && !mgd_exists_bool(mgd_handle(), "host,style",
- "host.id=$d AND style.id=$d"
- " AND (host.sitegroup=style.sitegroup"
- " OR host.sitegroup=0" " OR style.sitegroup=0)",
- (*id)->value.lval, (*style)->value.lval))
- xref_ok = 0;
- /* owner must be in same SG or be 0 */
- if ((*owner)->value.lval != 0 && !mgd_exists_bool(mgd_handle(), "host,grp",
- "host.id=$d AND grp.id=$d"
- " AND
(host.sitegroup=grp.sitegroup"
- " OR host.sitegroup=0"
- " OR grp.sitegroup=0)",
- (*id)->value.lval,
- (*owner)->value.lval)) xref_ok
= 0;
+ && !mgd_exists_id(mgd_handle(), "style", "id=$d", (*style)->value.lval)) {
+ mgd_free_pool(pool);
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
+ }
- if (!xref_ok) {
+ if ((*owner)->value.lval != 0
+ && !mgd_exists_id(mgd_handle(), "grp", "id=$d", (*owner)->value.lval)) {
mgd_free_pool(pool);
- RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
- }
-#endif
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
+ }
php_midgard_update(return_value, "host",
"online=$d,root=$d,"
Index: php4/ext/midgard/page.c
diff -u php4/ext/midgard/page.c:1.10 php4/ext/midgard/page.c:1.11
--- php4/ext/midgard/page.c:1.10 Tue Feb 27 17:00:32 2001
+++ php4/ext/midgard/page.c Tue Mar 6 02:35:02 2001
@@ -1,4 +1,4 @@
-/* $Id: page.c,v 1.10 2001/02/28 01:00:32 davidg Exp $
+/* $Id: page.c,v 1.11 2001/03/06 10:35:02 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]>
@@ -173,29 +173,23 @@
if (!ispageowner((*up)->value.lval))
RETURN_FALSE_BECAUSE(MGD_ERR_ACCESS_DENIED);
+
if ((*up)->value.lval != 0
- && mgd_exists_id(mgd_handle(), "page", "up=$d AND name=$q",
+ && mgd_exists_id(mgd_handle(), "page", "up=$d AND name=$q",
(*up)->value.lval, (*name)->value.str.val))
RETURN_FALSE_BECAUSE(MGD_ERR_DUPLICATE);
-#if HAVE_MIDGARD_SITEGROUPS
- /* up must be in same SG or be 0 */
- if ((*up)->value.lval != 0 && !mgd_exists_id(mgd_handle(), "page",
- "id=$d",
- (*up)->value.lval))
- RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
- /* style must be in same SG or be 0 */
- if ((*style)->value.lval != 0 && !mgd_exists_id(mgd_handle(), "style",
- "id=$d",
- (*style)->value.lval))
- RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
- /* author must be in same SG or be 0 */
- if ((*author)->value.lval != 0 && !mgd_exists_id(mgd_handle(), "person",
- "id=$d",
- (*author)->value.lval))
- RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
-#endif
+ if ((*up)->value.lval != 0
+ && !mgd_exists_id(mgd_handle(), "page", "id=$d", (*up)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
+ if ((*style)->value.lval != 0
+ && !mgd_exists_id(mgd_handle(), "style", "id=$d", (*style)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
+
+ if (!mgd_exists_id(mgd_handle(), "person", "id=$d", (*author)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
+
php_midgard_create(return_value, "page",
"up,name,style,title,changed,content,author,info",
"$d,$q,$d,$q,Curdate(),$q,$d,$d",
@@ -251,25 +245,12 @@
if (!ispageowner((*id)->value.lval))
RETURN_FALSE_BECAUSE(MGD_ERR_ACCESS_DENIED);
-#if HAVE_MIDGARD_SITEGROUPS
- /* style must be in same SG or be 0 */
if ((*style)->value.lval != 0
- && !mgd_exists_bool(mgd_handle(), "page,style",
- "page.id=$d AND style.id=$d"
- " AND (page.sitegroup=style.sitegroup"
- " OR page.sitegroup=0" " OR style.sitegroup=0)",
- (*id)->value.lval, (*style)->value.lval))
- RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
- /* author must be in same SG or be 0 */
- if ((*author)->value.lval != 0
- && !mgd_exists_bool(mgd_handle(), "page,person",
- "page.id=$d AND person.id=$d"
- " AND (page.sitegroup=person.sitegroup"
- " OR page.sitegroup=0"
- " OR person.sitegroup=0)", (*id)->value.lval,
- (*author)->value.lval))
- RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
-#endif
+ && !mgd_exists_id(mgd_handle(), "style", "id=$d", (*style)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
+
+ if (!mgd_exists_id(mgd_handle(), "person", "id=$d", (*author)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
php_midgard_update(return_value, "page",
"name=$q,style=$d,title=$q,changed=Curdate(),"
Index: php4/ext/midgard/pageelement.c
diff -u php4/ext/midgard/pageelement.c:1.5 php4/ext/midgard/pageelement.c:1.6
--- php4/ext/midgard/pageelement.c:1.5 Tue Feb 27 17:00:32 2001
+++ php4/ext/midgard/pageelement.c Tue Mar 6 02:35:02 2001
@@ -1,4 +1,4 @@
-/* $Id: pageelement.c,v 1.5 2001/02/28 01:00:32 davidg Exp $
+/* $Id: pageelement.c,v 1.6 2001/03/06 10:35:02 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]>
@@ -94,9 +94,9 @@
convert_to_string_ex(value);
convert_to_long_ex(inherit);
- if (!(*page)->value.lval || !mgd_exists_id(mgd_handle(), "page", "id=$d",
- (*page)->value.lval))
- RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
+ if (!(*page)->value.lval
+ || !mgd_exists_id(mgd_handle(), "page", "id=$d", (*page)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
if (!ispageowner((*page)->value.lval))
RETURN_FALSE_BECAUSE(MGD_ERR_ACCESS_DENIED);
@@ -104,14 +104,6 @@
if (mgd_exists_id(mgd_handle(), "pageelement", "page=$d AND name=$q",
(*page)->value.lval, (*name)->value.str.val))
RETURN_FALSE_BECAUSE(MGD_ERR_DUPLICATE);
-
-#if HAVE_MIDGARD_SITEGROUPS
- /* page must be in same SG or be 0 */
- if ((*page)->value.lval != 0 && !mgd_exists_id(mgd_handle(), "page",
- "id=$d",
- (*page)->value.lval))
- RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
-#endif
php_midgard_create(return_value, "pageelement", "page,name,value,info",
"$d,$q,$q,$d", (*page)->value.lval, (*name)->value.str.val,
Index: php4/ext/midgard/preferences.c
diff -u php4/ext/midgard/preferences.c:1.5 php4/ext/midgard/preferences.c:1.6
--- php4/ext/midgard/preferences.c:1.5 Tue Feb 27 17:00:32 2001
+++ php4/ext/midgard/preferences.c Tue Mar 6 02:35:02 2001
@@ -1,4 +1,4 @@
-/* $Id: preferences.c,v 1.5 2001/02/28 01:00:32 davidg Exp $
+/* $Id: preferences.c,v 1.6 2001/03/06 10:35:02 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]>
@@ -143,15 +143,12 @@
convert_to_string_ex(name);
convert_to_string_ex(value);
- if (mgd_user(mgd_handle()) != (*uid)->value.lval &&
- !mgd_isadmin(mgd_handle()))
+ if (mgd_user(mgd_handle()) != (*uid)->value.lval
+ && !mgd_isadmin(mgd_handle()))
RETURN_FALSE_BECAUSE(MGD_ERR_ACCESS_DENIED);
-#if HAVE_MIDGARD_SITEGROUPS
- if (!mgd_exists_id(mgd_handle(), "person",
-
"id=$d",
-
(*uid)->value.lval)) RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
-#endif
+ if (!mgd_exists_id(mgd_handle(), "person", "id=$d", (*uid)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
php_midgard_create(return_value, "preference", "uid,domain,name,value",
"$d,$q,$q,$q", (*uid)->value.lval,
(*domain)->value.str.val,
Index: php4/ext/midgard/snippet.c
diff -u php4/ext/midgard/snippet.c:1.5 php4/ext/midgard/snippet.c:1.6
--- php4/ext/midgard/snippet.c:1.5 Tue Feb 27 17:00:32 2001
+++ php4/ext/midgard/snippet.c Tue Mar 6 02:35:02 2001
@@ -1,4 +1,4 @@
-/* $Id: snippet.c,v 1.5 2001/02/28 01:00:32 davidg Exp $
+/* $Id: snippet.c,v 1.6 2001/03/06 10:35:02 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]>
@@ -125,23 +125,18 @@
convert_to_string_ex(doc);
convert_to_string_ex(author);
- if (!mgd_exists_id
- (mgd_handle(), "snippetdir", "id=$d",
- (*snippetdir)->value.lval)) RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
-
-#if HAVE_MIDGARD_SITEGROUPS
- /* up must be in same SG or be 0 */
- if ((*snippetdir)->value.lval != 0
- && !mgd_exists_id(mgd_handle(), "snippetdir",
- "id=$d AND sitegroup IN (0,$d)",
- (*snippetdir)->value.lval,
- mgd_sitegroup(mgd_handle())))
- RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
-#endif
- if (!issnippetdirowner((*snippetdir)->value.lval)
- || mgd_exists_id(mgd_handle(), "snippet", "up=$d AND name=$q",
- (*snippetdir)->value.lval, (*name)->value.str.val))
+ if (!mgd_exists_id(mgd_handle(), "person", "id=$d", (*author)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
+
+ if (!mgd_exists_id(mgd_handle(), "snippetdir", "id=$d",
+(*snippetdir)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
+
+ if (!issnippetdirowner((*snippetdir)->value.lval))
RETURN_FALSE_BECAUSE(MGD_ERR_ACCESS_DENIED);
+
+ if (mgd_exists_id(mgd_handle(), "snippet", "up=$d AND name=$q",
+ (*snippetdir)->value.lval, (*name)->value.str.val))
+ RETURN_FALSE_BECAUSE(MGD_ERR_DUPLICATE);
php_midgard_create(return_value, "snippet",
"up,name,code,doc,author,creator,created,revisor,revised,revision",
Index: php4/ext/midgard/snippetdir.c
diff -u php4/ext/midgard/snippetdir.c:1.7 php4/ext/midgard/snippetdir.c:1.8
--- php4/ext/midgard/snippetdir.c:1.7 Tue Feb 27 17:00:32 2001
+++ php4/ext/midgard/snippetdir.c Tue Mar 6 02:35:02 2001
@@ -1,4 +1,4 @@
-/* $Id: snippetdir.c,v 1.7 2001/02/28 01:00:32 davidg Exp $
+/* $Id: snippetdir.c,v 1.8 2001/03/06 10:35:02 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]>
@@ -157,31 +157,30 @@
WRONG_PARAM_COUNT;
}
}
- if (up)
- convert_to_long_ex(up);
+
+ if (up) convert_to_long_ex(up);
convert_to_string_ex(name);
convert_to_string_ex(description);
convert_to_long_ex(owner);
snippetdir_owner_id = (*owner)->value.lval;
+
if (up) {
-#if HAVE_MIDGARD_SITEGROUPS
- /* up must be in same SG or be 0 */
if ((*up)->value.lval != 0
- && !mgd_exists_id(mgd_handle(), "snippetdir", "id=$d",
- (*up)->value.lval))
- RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
- /* owner must be in same SG or be 0 */
+ && !mgd_exists_id(mgd_handle(), "snippetdir", "id=$d", (*up)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
+
/* TODO: should we in fact allow owner == 0 for non-root? */
- if ((*owner)->value.lval != 0 && !mgd_exists_id(mgd_handle(), "grp",
- "id=$d",
- (*owner)->value.lval))
- RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
-#endif
- if (!issnippetdirowner((*up)->value.lval)
- || mgd_exists_id(mgd_handle(), "snippetdir",
+ if ((*owner)->value.lval != 0
+ && !mgd_exists_id(mgd_handle(), "grp", "id=$d", (*owner)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
+
+ if (!issnippetdirowner((*up)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_ACCESS_DENIED);
+
+ if (mgd_exists_id(mgd_handle(), "snippetdir",
"up=$d AND name=$q", (*up)->value.lval,
(*name)->value.str.val))
- RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
+ RETURN_FALSE_BECAUSE(MGD_ERR_DUPLICATE);
php_midgard_create(return_value, "snippetdir",
"name,up,owner, description", "$q,$d,$d,$q",
@@ -240,19 +239,10 @@
(*id)->value.lval),
(*name)->value.str.val)) RETURN_FALSE_BECAUSE(MGD_ERR_DUPLICATE);
-#if HAVE_MIDGARD_SITEGROUPS
- /* owner must be in same SG or be 0 */
- /* should we in fact allow owner == 0 for non-root? */
if ((*owner)->value.lval != 0
- && !mgd_exists_bool(mgd_handle(), "snippetdir,grp",
- "snippetdir.id=$d AND grp.id=$d"
- " AND (snippetdir.sitegroup=grp.sitegroup"
- " OR snippetdir.sitegroup=0"
- " OR grp.sitegroup=0)",
- (*id)->value.lval,
- (*owner)->value.lval))
- RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
-#endif
+ && !mgd_exists_id(mgd_handle(), "grp", "id=$d", (*owner)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
+
php_midgard_update(return_value, "snippetdir",
"name=$q, owner=$d, description=$q", (*id)->value.lval,
(*name)->value.str.val, (*owner)->value.lval,
Index: php4/ext/midgard/style.c
diff -u php4/ext/midgard/style.c:1.6 php4/ext/midgard/style.c:1.7
--- php4/ext/midgard/style.c:1.6 Tue Feb 27 17:00:32 2001
+++ php4/ext/midgard/style.c Tue Mar 6 02:35:02 2001
@@ -1,4 +1,4 @@
-/* $Id: style.c,v 1.6 2001/02/28 01:00:32 davidg Exp $
+/* $Id: style.c,v 1.7 2001/03/06 10:35:02 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,18 +115,13 @@
if (!isstyleowner((*up)->value.lval))
RETURN_FALSE_BECAUSE(MGD_ERR_ACCESS_DENIED);
-#if HAVE_MIDGARD_SITEGROUPS
- /* up must be in same SG or be 0 */
- if ((*up)->value.lval != 0 && !mgd_exists_id(mgd_handle(), "style",
- "id=$d",
- (*up)->value.lval))
- RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
- /* owner must be in same SG or be 0 */
- if ((*owner)->value.lval != 0 && !mgd_exists_id(mgd_handle(), "grp",
- "id=$d",
- (*owner)->value.lval))
- RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
-#endif
+ if ((*up)->value.lval != 0
+ && !mgd_exists_id(mgd_handle(), "style", "id=$d", (*up)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
+
+ if ((*owner)->value.lval != 0
+ && !mgd_exists_id(mgd_handle(), "grp", "id=$d", (*owner)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
php_midgard_create(return_value, "style", "up,name,owner", "$d,$q,$d",
(*up)->value.lval, (*name)->value.str.val,
@@ -167,17 +162,9 @@
if (!isstyleowner((*id)->value.lval))
RETURN_FALSE_BECAUSE(MGD_ERR_ACCESS_DENIED);
-#if HAVE_MIDGARD_SITEGROUPS
- /* owner must be in same SG or be 0 */
- if ((*owner)->value.lval != 0 && !mgd_exists_bool(mgd_handle(), "style,grp",
- "style.id=$d AND grp.id=$d"
- " AND
(style.sitegroup=grp.sitegroup"
- " OR style.sitegroup=0"
- " OR grp.sitegroup=0)",
- (*id)->value.lval,
- (*owner)->value.lval))
- RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
-#endif
+ if ((*owner)->value.lval != 0
+ && !mgd_exists_id(mgd_handle(), "grp", "id=$d", (*owner)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
php_midgard_update(return_value, "style", "name=$q,owner=$d",
(*id)->value.lval, (*name)->value.str.val,
Index: php4/ext/midgard/topic.c
diff -u php4/ext/midgard/topic.c:1.10 php4/ext/midgard/topic.c:1.11
--- php4/ext/midgard/topic.c:1.10 Tue Feb 27 17:00:32 2001
+++ php4/ext/midgard/topic.c Tue Mar 6 02:35:02 2001
@@ -1,4 +1,4 @@
-/* $Id: topic.c,v 1.10 2001/02/28 01:00:32 davidg Exp $
+/* $Id: topic.c,v 1.11 2001/03/06 10:35:02 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]>
@@ -216,29 +216,21 @@
convert_to_long_ex(owner);
convert_to_string_ex(code);
- if (!istopicowner((*up)->value.lval)
- || mgd_exists_id(mgd_handle(), "topic", "up=$d AND name=$q",
- (*up)->value.lval, (*name)->value.str.val)) {
+ if (!istopicowner((*up)->value.lval))
RETURN_FALSE_BECAUSE(MGD_ERR_ACCESS_DENIED);
- }
-#if HAVE_MIDGARD_SITEGROUPS
- /* up must be in same SG or be 0 */
- if ((*up)->value.lval != 0 && !mgd_exists_id(mgd_handle(), "topic",
- "id=$d AND sitegroup IN (0,$d)",
- (*up)->value.lval,
- mgd_sitegroup(mgd_handle()))) {
- RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
- }
- /* owner must be in same SG or be 0 */
+
+ if (mgd_exists_id(mgd_handle(), "topic", "up=$d AND name=$q",
+ (*up)->value.lval, (*name)->value.str.val))
+ RETURN_FALSE_BECAUSE(MGD_ERR_DUPLICATE);
+
+ if ((*up)->value.lval != 0
+ && !mgd_exists_id(mgd_handle(), "topic", "id=$d", (*up)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
+
/* TODO: should we in fact allow owner == 0 for non-root? */
- if ((*owner)->value.lval != 0 && !mgd_exists_id(mgd_handle(), "grp",
- "id=$d AND sitegroup IN (0,$d)",
- (*owner)->value.lval,
- mgd_sitegroup(mgd_handle
- ()))) {
- RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
- }
-#endif
+ if ((*owner)->value.lval != 0
+ && !mgd_exists_id(mgd_handle(), "grp", "id=$d", (*owner)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
php_midgard_create(return_value, "topic",
"up,name,description,extra,owner,code,"
@@ -287,20 +279,10 @@
if (!istopicowner((*id)->value.lval))
RETURN_FALSE_BECAUSE(MGD_ERR_ACCESS_DENIED);
-#if HAVE_MIDGARD_SITEGROUPS
- /* owner must be in same SG or be 0 */
- /* should we in fact allow owner == 0 for non-root? */
+ /* TODO: should we in fact allow owner == 0 for non-root? */
if ((*owner)->value.lval != 0
- && !mgd_exists_bool(mgd_handle(), "topic,grp",
- "topic.id=$d AND grp.id=$d"
- " AND (topic.sitegroup=grp.sitegroup"
- " OR topic.sitegroup=0"
- " OR grp.sitegroup=0)",
- (*id)->value.lval,
- (*owner)->value.lval)) {
- RETURN_FALSE_BECAUSE(MGD_ERR_SITEGROUP_VIOLATION);
- }
-#endif
+ && !mgd_exists_id(mgd_handle(), "grp", "id=$d", (*owner)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
php_midgard_update(return_value, "topic",
"name=$q,description=$q,extra=$q,owner=$d,code=$q,"
--
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]