emile Thu Mar 22 07:11:41 2001 EDT
Modified files:
/php4/ext/midgard article.c element.c page.c pageelement.c topic.c
Log:
Added update duplicate checks
Index: php4/ext/midgard/article.c
diff -u php4/ext/midgard/article.c:1.18 php4/ext/midgard/article.c:1.19
--- php4/ext/midgard/article.c:1.18 Wed Mar 21 06:53:28 2001
+++ php4/ext/midgard/article.c Thu Mar 22 07:11:40 2001
@@ -1,4 +1,4 @@
-/* $Id: article.c,v 1.18 2001/03/21 14:53:28 emile Exp $
+/* $Id: article.c,v 1.19 2001/03/22 15:11:40 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]>
@@ -556,7 +556,8 @@
RETURN_FALSE_BECAUSE(MGD_ERR_ACCESS_DENIED);
}
- if (mgd_exists_id(mgd_handle(), "article", "topic=$d AND name=$q",
+ /* skip duplicate check for empty names because the name isn't mandatory */
+ if ((*name)->value.str.len && mgd_exists_id(mgd_handle(), "article", "topic=$d AND
+name=$q",
(*topic)->value.lval, (*name)->value.str.val)) {
RETURN_FALSE_BECAUSE(MGD_ERR_DUPLICATE);
}
@@ -864,7 +865,8 @@
RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
}
- if (mgd_exists_id(mgd_handle(), "article", "topic=$d AND name=$q AND id<>$d",
+ /* skip duplicate check for empty names because the name isn't mandatory */
+ if ((*name)->value.str.len && mgd_exists_id(mgd_handle(), "article", "topic=$d AND
+name=$q AND id<>$d",
(*topic)->value.lval, (*name)->value.str.val, (*id)->value.lval)) {
RETURN_FALSE_BECAUSE(MGD_ERR_DUPLICATE);
}
Index: php4/ext/midgard/element.c
diff -u php4/ext/midgard/element.c:1.7 php4/ext/midgard/element.c:1.8
--- php4/ext/midgard/element.c:1.7 Sat Mar 10 14:43:10 2001
+++ php4/ext/midgard/element.c Thu Mar 22 07:11:40 2001
@@ -1,4 +1,4 @@
-/* $Id: element.c,v 1.7 2001/03/10 22:43:10 emile Exp $
+/* $Id: element.c,v 1.8 2001/03/22 15:11:40 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]>
@@ -146,6 +146,11 @@
if (!isstyleowner(mgd_idfield(mgd_handle(), "style", "element",
(*id)->value.lval)))
RETURN_FALSE_BECAUSE(MGD_ERR_ACCESS_DENIED);
+
+ if (mgd_exists_id(mgd_handle(), "element", "style=$d AND name=$q AND id<>$d",
+ mgd_idfield(mgd_handle(), "style", "element", (*id)->value.lval),
+ (*name)->value.str.val, (*id)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_DUPLICATE);
php_midgard_update(return_value, "element", "name=$q,value=$q",
(*id)->value.lval,
Index: php4/ext/midgard/page.c
diff -u php4/ext/midgard/page.c:1.12 php4/ext/midgard/page.c:1.13
--- php4/ext/midgard/page.c:1.12 Sat Mar 10 14:43:10 2001
+++ php4/ext/midgard/page.c Thu Mar 22 07:11:40 2001
@@ -1,4 +1,4 @@
-/* $Id: page.c,v 1.12 2001/03/10 22:43:10 emile Exp $
+/* $Id: page.c,v 1.13 2001/03/22 15:11:40 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]>
@@ -255,6 +255,11 @@
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(), "page", "up=$d AND name=$q AND id<>$d",
+ mgd_idfield(mgd_handle(), "up", "page", (*id)->value.lval),
+ (*name)->value.str.val, (*id)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_DUPLICATE);
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.7 php4/ext/midgard/pageelement.c:1.8
--- php4/ext/midgard/pageelement.c:1.7 Sat Mar 10 14:43:10 2001
+++ php4/ext/midgard/pageelement.c Thu Mar 22 07:11:40 2001
@@ -1,4 +1,4 @@
-/* $Id: pageelement.c,v 1.7 2001/03/10 22:43:10 emile Exp $
+/* $Id: pageelement.c,v 1.8 2001/03/22 15:11:40 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]>
@@ -145,6 +145,11 @@
if (!ispageowner(mgd_idfield(mgd_handle(), "page", "pageelement",
(*id)->value.lval)))
RETURN_FALSE_BECAUSE(MGD_ERR_ACCESS_DENIED);
+
+ if (mgd_exists_id(mgd_handle(), "pageelement", "page=$d AND name=$q AND id<>$d",
+ mgd_idfield(mgd_handle(), "page", "pageelement", (*id)->value.lval),
+ (*name)->value.str.val, (*id)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_DUPLICATE);
php_midgard_update(return_value, "pageelement",
"name=$q,value=$q,info=$d", (*id)->value.lval,
Index: php4/ext/midgard/topic.c
diff -u php4/ext/midgard/topic.c:1.12 php4/ext/midgard/topic.c:1.13
--- php4/ext/midgard/topic.c:1.12 Sat Mar 10 14:43:10 2001
+++ php4/ext/midgard/topic.c Thu Mar 22 07:11:40 2001
@@ -1,4 +1,4 @@
-/* $Id: topic.c,v 1.12 2001/03/10 22:43:10 emile Exp $
+/* $Id: topic.c,v 1.13 2001/03/22 15:11:40 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,11 @@
if ((*owner)->value.lval != 0
&& !mgd_exists_id(mgd_handle(), "grp", "id=$d", (*owner)->value.lval))
RETURN_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
+
+ if (mgd_exists_id(mgd_handle(), "topic", "up=$d AND name=$q AND id<>$d",
+ mgd_idfield(mgd_handle(), "up", "topic", (*id)->value.lval),
+ (*name)->value.str.val, (*id)->value.lval))
+ RETURN_FALSE_BECAUSE(MGD_ERR_DUPLICATE);
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]