From: Magnus Manske Date: Mon, 19 Jul 2004 17:21:11 +0000 (+0000) Subject: Article validation, now with comments X-Git-Tag: 1.5.0alpha1~2639 X-Git-Url: http://git.cyclocoop.org/geomaker.php?a=commitdiff_plain;h=383c33b3bb8ae2b5812a68a47a1ff819ab9e8af0;p=lhc%2Fweb%2Fwiklou.git Article validation, now with comments --- diff --git a/includes/SpecialValidate.php b/includes/SpecialValidate.php index 975902ab06..3c3908a732 100644 --- a/includes/SpecialValidate.php +++ b/includes/SpecialValidate.php @@ -47,7 +47,7 @@ function find_this_version ( $article_title , &$article_time , &$id , &$tab ) function get_prev_data ( $user_id , $article_title , $article_timestamp = "" ) { $ret = array () ; - $sql = "SELECT * FROM validate WHERE val_user={$user_id} AND val_title='{$article_title}'" ; + $sql = "SELECT * FROM validate WHERE val_user='{$user_id}' AND val_title='{$article_title}'" ; if ( $article_timestamp != "" ) $sql .= " AND val_timestamp='{$article_timestamp}'" ; $res = wfQuery( $sql, DB_READ ); while( $s = wfFetchObject( $res ) ) $ret[$s->val_timestamp][$s->val_type] = $s ; @@ -78,9 +78,9 @@ function wfSpecialValidate( $page = "" ) { # Now we get all the "votes" for the different versions of this article for this user $val = get_prev_data ( $wgUser->getID() , $article_title ) ; - if ( !isset ( $val[$article_time] ) ) $val["{$article_time}"] = array () ; +# if ( !isset ( $val[$article_time] ) ) $val["{$article_time}"] = array () ; - # User has clicked "Doit" before, so evaluating form + # User has clicked "Doit" before, so evaluate form if ( isset ( $_POST['doit'] ) ) { $oldtime = $_POST['oldtime'] ; @@ -102,13 +102,17 @@ function wfSpecialValidate( $page = "" ) { for ( $idx = 0 ; $idx < count ( $types) ; $idx++ ) # Changes { + $comment = $_POST["comment{$idx}"] ; + $comment_sql = str_replace ( "'" , "\'" , $comment ) ; $rad = $_POST["rad{$idx}"] ; if ( !isset ( $val["{$oldtime}"][$idx] ) ) $val["{$oldtime}"][$idx] = "" ; - $val["{$oldtime}"][$idx]->value = $rad ; + $val["{$oldtime}"][$idx]->val_value = $rad ; + $val["{$oldtime}"][$idx]->val_comment = $comment ; if ( $rad != -1 ) { # Store it in the database - $sql = "INSERT INTO validate VALUES ( '" . $wgUser->getID() . "','{$article_title}','{$oldtime}','{$idx}','{$rad}')" ; + $sql = "INSERT INTO validate (val_user,val_title,val_timestamp,val_type,val_value,val_comment) " . + "VALUES ( '" . $wgUser->getID() . "','{$article_title}','{$oldtime}','{$idx}','{$rad}','{$comment_sql}')" ; if ( $rad != -1 ) wfQuery( $sql, DB_WRITE ); } } @@ -123,12 +127,15 @@ function wfSpecialValidate( $page = "" ) { $html .= "
\n" ; $html .= "" ; $html .= "\n" ; + $html .= "\n" ; for ( $idx = 0 ; $idx < count ( $types) ; $idx++ ) { $x = explode ( "|" , $types[$idx] , 4 ) ; - if ( isset ( $stuff[$idx] ) ) $choice = $stuff[$idx]->value ; + if ( isset ( $stuff[$idx] ) ) $choice = $stuff[$idx]->val_value ; else $choice = -1 ; - $html .= "
ClassOpinionComment
{$x[0]}{$x[1]}" ; + if ( isset ( $stuff[$idx] ) ) $comment = $stuff[$idx]->val_comment ; + else $comment = "" ; + $html .= "
{$x[0]}{$x[1]}" ; for ( $cnt = 0 ; $cnt < $x[3] ; $cnt++) { $html .= "getFullURL() , $clear_old ) ; diff --git a/maintenance/archives/patch-validate.sql b/maintenance/archives/patch-validate.sql index a404b3d079..c05884db76 100644 --- a/maintenance/archives/patch-validate.sql +++ b/maintenance/archives/patch-validate.sql @@ -6,6 +6,7 @@ CREATE TABLE `validate` ( `val_timestamp` varchar(14) binary NOT NULL default '', `val_type` int(10) unsigned NOT NULL default '0', `val_value` int(11) default '0', + `val_comment` varchar(255) NOT NULL default '', KEY `val_user` (`val_user`,`val_title`,`val_timestamp`) ) TYPE=MyISAM; diff --git a/maintenance/tables.sql b/maintenance/tables.sql index 161d4d7fd2..a55f335ed7 100644 --- a/maintenance/tables.sql +++ b/maintenance/tables.sql @@ -260,5 +260,6 @@ CREATE TABLE `validate` ( `val_timestamp` varchar(14) binary NOT NULL default '', `val_type` int(10) unsigned NOT NULL default '0', `val_value` int(11) default '0', + `val_comment` varchar(255) NOT NULL default '', KEY `val_user` (`val_user`,`val_title`,`val_timestamp`) ) TYPE=MyISAM;