cvs: php-gtk-web /include shared-manual.inc

[email protected] ("Colin Viebrock") Fri, 10 Aug 2001 20:06:52 -0000
Newsgroups php.gtk
Message-ID <cvscmv997474012@cvsserver>
cmv		Fri Aug 10 16:06:52 2001 EDT

  Modified files:              
    /php-gtk-web/include	shared-manual.inc 
  Log:
  allow voting
  
Index: php-gtk-web/include/shared-manual.inc
diff -u php-gtk-web/include/shared-manual.inc:1.26 php-gtk-web/include/shared-manual.inc:1.27
--- php-gtk-web/include/shared-manual.inc:1.26	Fri Aug 10 15:46:30 2001
+++ php-gtk-web/include/shared-manual.inc	Fri Aug 10 16:06:52 2001
@@ -202,16 +202,17 @@
 	echo '<br>';
 
 	if ($show_rating) {
-#		echo 'rating: ';
-		echo '<b>';
+		echo 'rating: ';
 		if ( $row['votes'] > 3 ) {
-			printf('[%.02f / %d ]', $row['rate'], $row['votes'] );
+			printf('<b>%.02f</b>', $row['rate'] );
 		} else {
-			printf('[ -  / %d ]', $row['rate'], $row['votes'] );
+			printf('%d vote%s', $row['votes'], $row['votes']==1 ? '' : 's' );
 		}
-		echo '</b>';
+		echo 'rate: ';
 		for ($i=1; $i<=10; $i++) {
-			echo ' <font color="#999999">|</font> ';
+			if ($i>1) {
+				echo ' <font color="#999999">|</font> ';
+			}
 			print_link($PHP_SELF.'?rate_id='.$row['id'].'&rate_note='.$i, $i);
 		}
 		echo '<br>';
@@ -243,8 +244,6 @@
 		$query = "SELECT *, UNIX_TIMESTAMP(ts) AS xwhen, IF(votes=0, 0, rating/votes) AS rate FROM note " .
 				"WHERE sect='$title' OR sect='$id' ORDER BY rate DESC, id";
 
-		echo "<!-- $query -->\n";
-
 		if ($db_id) {
 			$result_id = mysql_db_query("gtk", $query, $db_id);
 		}
@@ -383,6 +382,24 @@
 
 function manualHeader($title,$id="") {
 	global $HTDIG, $LANGUAGES, $LANG, $SIDEBAR_DATA;
+
+	# probably a better way/place to do this, but ...
+
+	global $HTTP_GET_VARS, $SCRIPT_NAME, $HTTP_REFERER;
+	if ($HTTP_GET_VARS['rate_id'] && $HTTP_GET_VARS['rate_note']) {
+		$p = parse_url($HTTP_REFERER) {
+		if ($SCRIPT_NAME==$p['path']) {		/* prevent outside scripts from voting */
+			$host = 'localhost';
+			$user = 'nobody';
+			$pass = '';
+			$db_id = @mysql_pconnect($host, $user, $pass);
+
+			$query = 'UPDATE note SET vote=vote+1, rating=rating+' . $HTTP_GET_VARS['rate_note'] .
+				' WHERE id=' . $HTTP_GET_VARS['rate_id'];
+			$res = @mysql_db_query("gtk", $query, $db_id);
+		}
+	}
+
 	manualLastModified($title,$id);
 	makeBorderTOC($title);
 	commonHeader('Manual: '.$title);