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]