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]

Reply via email to