From a3d50d7a0dd7de6f0a04ca5d23af32f0acb49ded Mon Sep 17 00:00:00 2001
From: Callan Barrett <wizzomafizzo@gmail.com>
Date: Mon, 5 May 2008 01:33:54 +0800
Subject: [PATCH] Remove AUR voting page

Removes voting page for Trusted Users, it's not getting any use
---
 support/schema/aur-schema.sql |   23 --
 web/html/addvote.php          |   95 ---------
 web/html/tu.php               |  452 -----------------------------------------
 web/template/header.php       |    6 -
 4 files changed, 0 insertions(+), 576 deletions(-)
 delete mode 100644 web/html/addvote.php
 delete mode 100644 web/html/tu.php

diff --git a/support/schema/aur-schema.sql b/support/schema/aur-schema.sql
index 2a2a1a7..f32091c 100644
--- a/support/schema/aur-schema.sql
+++ b/support/schema/aur-schema.sql
@@ -206,26 +206,3 @@ CREATE TABLE CommentNotify (
 	FOREIGN KEY (PkgID) REFERENCES Packages(ID) ON DELETE CASCADE,
 	FOREIGN KEY (UserID) REFERENCES Users(ID) ON DELETE CASCADE
 );
-
--- Vote information
---
-CREATE TABLE IF NOT EXISTS TU_VoteInfo (
-  ID int(10) unsigned NOT NULL auto_increment,
-  Agenda text collate latin1_general_ci NOT NULL,
-  User char(32) collate latin1_general_ci NOT NULL,
-  Submitted bigint(20) unsigned NOT NULL,
-  End bigint(20) unsigned NOT NULL,
-  SubmitterID int(10) unsigned NOT NULL,
-  Yes tinyint(3) unsigned NOT NULL default '0',
-  No tinyint(3) unsigned NOT NULL default '0',
-  Abstain tinyint(3) unsigned NOT NULL default '0',
-  PRIMARY KEY  (ID)
-);
-
--- Individual vote records
---
-CREATE TABLE IF NOT EXISTS TU_Votes (
-  VoteID int(10) unsigned NOT NULL,
-  UserID int(10) unsigned NOT NULL
-);
-
diff --git a/web/html/addvote.php b/web/html/addvote.php
deleted file mode 100644
index ef1c6c3..0000000
--- a/web/html/addvote.php
+++ /dev/null
@@ -1,95 +0,0 @@
-<?php
-
-set_include_path(get_include_path() . PATH_SEPARATOR . '../lib' . PATH_SEPARATOR . '../lang');
-
-include("pkgfuncs_po.inc");
-include("aur.inc");
-set_lang();
-check_sid();
-html_header();
-
-if (isset($_COOKIE["AURSID"])) {
-  $atype = account_from_sid($_COOKIE["AURSID"]);
-} else {
-  $atype = "";
-}
-
-if ($atype == "Trusted User" OR $atype == "Developer") {
-	$dbh = db_connect();
-	
-	if (!empty($_POST['addVote'])) {
-		$error = "";
-		
-		if (!empty($_POST['user'])) {
-			$qcheck = "SELECT * FROM Users WHERE Username = '" . mysql_real_escape_string($_POST['user']) . "'";
-			$check = mysql_num_rows(db_query($qcheck, $dbh));
-
-			if ($check == 0) {
-				$error.= "<div style='color: red; font-weight: bold'>Username does not exist.</div>";
-			} else {
-				$qcheck = "SELECT * FROM TU_VoteInfo WHERE User = '" . mysql_real_escape_string($_POST['user']) . "'";
-				$qcheck.= " AND End > UNIX_TIMESTAMP()";
-				$check = mysql_num_rows(db_query($qcheck, $dbh));
-
-				if ($check != 0) {
-					$error.= "<div style='color: red; font-weight: bold'>" . htmlentities($_POST['user']) . " already has proposal running for them.</div>";
-				}
-			}
-		}
-
-		if (!empty($_POST['length'])) {
-			if (!is_numeric($_POST['length'])) {
-				$error.= "<div style='color: red; font-weight: bold'>Length must be a number.</div>";
-			} else if ($_POST['length'] < 1) {
-				$error.= "<div style='color: red; font-weight: bold'>Length must be at least 1.</div>";
-			} else {
-				$len = (60*60*24)*$_POST['length'];
-			}
-		} else {
-			$len = 60*60*24*7;
-		}
-
-		if (empty($_POST['agenda'])) {
-			$error.= "<div style='color: red; font-weight: bold'>Proposal cannot be empty.</div>";
-		}
-	}
-
-	if (!empty($_POST['addVote']) && empty($error)) {
-		$q = "INSERT INTO TU_VoteInfo (Agenda, User, Submitted, End, SubmitterID) VALUES ";
-		$q.= "('" . mysql_real_escape_string($_POST['agenda']) . "', ";
-		$q.= "'" . mysql_real_escape_string($_POST['user']) . "', ";
-		$q.= "UNIX_TIMESTAMP(), UNIX_TIMESTAMP() + " . mysql_real_escape_string($len);
-		$q.= ", " . uid_from_sid($_COOKIE["AURSID"]) . ")";
-
-		db_query($q, $dbh);
-		print "<p>New proposal submitted.</p>\n";
-	} else {
-?>
-<p>Submit a proposal to vote on.</p>
-<?php if (!empty($error)) { print $error . "<br />"; } ?>
-<form action='addvote.php' method='post'>
-<b>Applicant/TU:</b>
-<input type='text' name='user' value='<?php if (!empty($_POST['user'])) { print htmlentities($_POST['user'], ENT_QUOTES); } ?>'>
-(empty if not applicable)
-<br />
-<b>Length in days:</b>
-<input type='text' name='length' value='<?php if (!empty($_POST['length'])) { print htmlentities($_POST['length'], ENT_QUOTES); } ?>'>
-(defaults to 7 if empty)
-<br />
-<b>Proposal:</b><br />
-<textarea name='agenda' rows='10' cols='50'><?php if (!empty($_POST['agenda'])) { print htmlentities($_POST['agenda']); } ?></textarea><br />
-<input type='hidden' name='addVote' value='1'>
-<input type='submit' class='button' value='Submit'>
-</form>
-<br />
-<?php
-	}
-	print "<a href='tu.php'>Back</a>";
-} else {
-	print "You are not allowed to access this area.\n";
-}
-
-html_footer(AUR_VERSION);
-# vim: ts=2 sw=2 noet ft=php
-
-?>
diff --git a/web/html/tu.php b/web/html/tu.php
deleted file mode 100644
index 7ddec1a..0000000
--- a/web/html/tu.php
+++ /dev/null
@@ -1,452 +0,0 @@
-<?php
-
-set_include_path(get_include_path() . PATH_SEPARATOR . '../lib' . PATH_SEPARATOR . '../lang');
-
-include("pkgfuncs_po.inc");
-include("aur.inc");
-set_lang();
-check_sid();
-html_header();
-
-# get login privileges
-#
-if (isset($_COOKIE["AURSID"])) {
-  # Only logged in users can do stuff
-  #
-  $atype = account_from_sid($_COOKIE["AURSID"]);
-} else {
-  $atype = "";
-}
-
-if ($atype == "Trusted User" OR $atype == "Developer") {
-	# Show the TU interface
-	# 
-
-	# Temp value for results per page
-	$pp = 5;
-
-	if (isset($_REQUEST['id'])) {
-		# Show application details
-		# depending on action and time frame will show either
-		# sponsor button, comments and vote buttons
-		#
-
-		if (intval($_REQUEST['id'])) {
-
-			$q = "SELECT * FROM TU_VoteInfo ";
-			$q.= "WHERE ID = " . $_REQUEST['id'];
-
-			$dbh = db_connect();
-			$results = db_query($q, $dbh);
-			$row = mysql_fetch_assoc($results);
-			
-			if (empty($row)) {
-				print "Could not retrieve proposal details.\n";
-			} else {
-				# Print out application details, thanks again AUR
-				#
-
-				$isrunning = $row['End'] > time() ? 1 : 0;
-				
-				$qvoted = "SELECT * FROM TU_Votes WHERE ";
-				$qvoted.= "VoteID = " . $row['ID'] . " AND ";
-				$qvoted.= "UserID = " . uid_from_sid($_COOKIE["AURSID"]);
-				$hasvoted = mysql_num_rows(db_query($qvoted, $dbh));
-
-				# Can this person vote?
-				#
-				$canvote = 1; // we assume they can
-				$errorvote = ""; // error message to give
-				if ($isrunning == 0) {
-					$canvote = 0;
-					$errorvote = "Voting is closed for this proposal.";
-				} else if ($row['User'] == username_from_sid($_COOKIE["AURSID"])) {
-					$canvote = 0;
-					$errorvote = "You cannot vote in an proposal regarding you.";
-				} else if ($hasvoted != 0) {
-					$canvote = 0;
-					$errorvote = "You've already voted in this proposal.";
-				}
-
-				# have to put this here so results are correct immediately after voting	
-				if ($canvote == 1) {
-					if (isset($_POST['doVote'])) {
-						if (isset($_POST['voteYes'])) {
-							$myvote = "Yes";
-						} else if (isset($_POST['voteNo'])) {
-							$myvote = "No";
-						} else if (isset($_POST['voteAbstain'])) {
-							$myvote = "Abstain";
-						}
-
-						$qvote = "UPDATE TU_VoteInfo SET " . $myvote . " = " . ($row[$myvote] + 1) . " WHERE ID = " . $row['ID'];
-						db_query($qvote, $dbh);
-						$qvote = "INSERT INTO TU_Votes (VoteID, UserID) VALUES (" . $row['ID'] . ", " . uid_from_sid($_COOKIE["AURSID"]) . ")";
-						db_query($qvote, $dbh);
-
-						# Can't vote anymore
-						#
-						$canvote = 0;
-						$errorvote = "You've already voted for this proposal.";
-						# Update if they voted
-						$hasvoted = mysql_num_rows(db_query($qvoted, $dbh));
-						
-						$results = db_query($q, $dbh);
-						$row = mysql_fetch_assoc($results);
-					}
-				}
-
-        # I think I understand why MVC is good for this stuff..
-				echo "<div class=\"pgbox\">\n";
-				echo "  <div class=\"pgboxtitle\"><span class=\"f3\">Proposal Details</span></div>\n";
-				echo "  <div class=\"pgboxbody\">\n";
-
-				if ($isrunning == 1) {
-					print "<div style='text-align: center; font-weight: bold; color: red'>This vote is still running.</div>";
-					print "<br />";
-				}
-
-				print "User: <b>";
-				
-				if (!empty($row['User'])) {
-					print "<a href='packages.php?K=" . $row['User'] . "&SeB=m'>" . $row['User'] . "</a>";
-				} else {
-					print "N/A";
-				}	
-
-				print "</b><br />\n";
-				
-				print "Submitted: <b>" . gmdate("r", $row['Submitted']) . "</b> by ";
-				print "<b>" . username_from_id($row['SubmitterID']) . "</b><br />\n";
-
-        if ($isrunning == 0) {
-          print "Ended: ";
-        } else {
-          print "Ends: ";
-        }
-        print "<b>" . gmdate("r", $row['End']) . "</b><br />\n";
-
-        print "<br />\n";
-        
-        $row['Agenda'] = htmlentities($row['Agenda']);
-				# str_replace seems better than <pre> because it still maintains word wrapping
-				print str_replace("\n", "<br />\n", $row['Agenda']);
-
-				print "<br />\n";
-				print "<br />\n";
-				
-				print "<center>\n";
-				print "<table cellspacing='3' class='boxSoft' style='width: 50%'>\n";
-				print "</tr>\n";
-				print "<tr>\n";
-				print "  <td class='boxSoft'>\n";
-				print "<table width='100%' cellspacing='0' cellpadding='2'>\n";
-
-				print "<tr>\n";
-				print "  <th style='border-bottom: #666 1px solid; vertical-align:";
-				print " bottom'><span class='f2'>";
-				print "Yes";
-				print "</span></th>\n";
-				print "  <th style='border-bottom: #666 1px solid; vertical-align:";
-				print " bottom'><span class='f2'>";
-				print "No";
-				print "</span></th>\n";
-				print "  <th style='border-bottom: #666 1px solid; vertical-align:";
-				print " bottom'><span class='f2'>";
-				print "Abstain";
-				print "</span></th>\n";
-				print "  <th style='border-bottom: #666 1px solid; vertical-align:";
-				print " bottom'><span class='f2'>";
-				print "Total";
-				print "</span></th>\n";
-				print "  <th style='border-bottom: #666 1px solid; vertical-align:";
-				print " bottom'><span class='f2'>";
-				print "Voted?";
-				print "</span></th>\n";
-				print "</tr>\n";
-
-				$c = "data1";
-
-				print "<tr>\n";
-				print "  <td class='".$c."'><span class='f5'><span class='blue'>";
-				print $row['Yes'];
-				print "</span></span></td>\n";
-				print "  <td class='".$c."'><span class='f5'><span class='blue'>";
-				print $row['No'];
-				print "</span></span></td>\n";
-				print "  <td class='".$c."'><span class='f5'><span class='blue'>";
-				print $row['Abstain'];
-				print "</span></span></td>\n";
-				print "  <td class='".$c."'><span class='f5'><span class='blue'>";
-				print ($row['Yes'] + $row['No'] + $row['Abstain']);
-				print "</span></span></td>\n";
-				print "  <td class='".$c."'><span class='f5'><span class='blue'>";
-
-				if ($hasvoted == 0) {
-					print "<span style='color: red; font-weight: bold'>No</span>";
-				} else {
-					print "<span style='color: green; font-weight: bold'>Yes</span>";
-				}
-
-				print "</span></span></td>\n";
-				print "</tr>\n";
-
-				print "</table>\n";
-				print "</table>\n";
-
-				echo "</div></div>\n";
-
-				# Actions, vote buttons
-				#
-				print "<br />\n";
-				print "<div class='pgbox'>\n";
-				print "<div class='pgboxtitle'><span class='f3'>Vote Actions</span></div>\n";
-				print "<div class='pgboxbody'>\n";
-
-				if ($canvote == 1) {
-					print "<center><form action='tu.php?id=" . $row['ID'] . "' method='post'>\n";
-					print "<input type='submit' class='button' name='voteYes' value='Yes'>\n";
-					print "<input type='submit' class='button' name='voteNo' value='No'>\n";
-					print "<input type='submit' class='button' name='voteAbstain' value='Abstain'>\n";
-					print "<input type='hidden' name='doVote' value='1'>\n";
-					print "</form></center>\n";
-				} else {
-					print "<center>$errorvote</center>";
-				}
-
-				print "</div></div>\n";
-				print "<br /><center><a href='tu.php'>Back</a></center>\n";
-
-			}
-
-		} else {
-			print "Vote ID not valid.\n";
-		}
-
-	} else {
-		# page listing applications being discussed, voted on and all those finished
-		# 
-
-		# I guess there should be a function since I use this a few times
-		function gen_results($offset, $limit, $sort, $by, $type="normal") {
-			
-			$dbh = db_connect();
-
-      if (!empty($offset) AND is_numeric($offset)) {
-      	if ($offset >= 1) {
-      	  $off = $offset;
-     	 	} else {
-      	  $off = 0;
-    	  }
-  	  } else {
-  	    $off = 0;
-	    }
-
-      $q = "SELECT * FROM TU_VoteInfo";
-
-      if ($type == "new") {	
-        $q.= " WHERE End > " . time();
-        $application = "Current Votes";
-      } else {
-        $application = "All Votes";
-      }
-      
-      $order = ($by == 'down') ? 'DESC' : 'ASC';
-
-    	# not much to sort, I'm unsure how to sort by username
-    	# when we only store the userid, someone come up with a nifty
-    	# way to do this
-    	#
-    	switch ($sort) {
-    	  case 'sub':
-    	    $q.= " ORDER BY Submitted $order";
-    	    break;
-    	  default:
-    	    $q.= " ORDER BY Submitted $order";
-     	   break;
-    	}
-
-    	if ($limit != 0) {
-				$q.= " LIMIT " . $off . ", ". $limit;
-      }
-
-    	$result = db_query($q, $dbh);
-			
-			if ($by == "down") {
-    	  $by_next = "up";
-    	} else {
-    	  $by_next = "down";
-    	}
-
-    	print "<center>\n";
-    	print "<table cellspacing='3' class='boxSoft'>\n";
-    	print "<tr>\n";
-    	print "  <td class='boxSoftTitle' align='right'>\n";
-    	print "    <span class='f3'>$application</span>\n";
-    	print "  </td>\n";
-    	print "</tr>\n";
-    	print "<tr>\n";
-    	print "  <td class='boxSoft'>\n";
-    	print "<table width='100%' cellspacing='0' cellpadding='2'>\n";
-
-    	print "<tr>\n";
-    	print "  <th style='border-bottom: #666 1px solid; vertical-align:";
-    	print " bottom'><span class='f2'>";
-    	print "Proposal";
-    	print "</span></th>\n";
-     	print "  <th style='border-bottom: #666 1px solid; vertical-align:";
-    	print " bottom'><span class='f2'>";
-    	print "<a href='?off=$off&sort=sub&by=$by_next'>Start</a>";
-    	print "</span></th>\n";
-    	print "  <th style='border-bottom: #666 1px solid; vertical-align:";
-    	print " bottom'><span class='f2'>";
-    	print "End";
-    	print "</span></th>\n";
-    	print "  <th style='border-bottom: #666 1px solid; vertical-align:";
-    	print " bottom'><span class='f2'>";
-    	print "User";
-    	print "</span></th>\n";
-     	print "  <th style='border-bottom: #666 1px solid; vertical-align:";
-    	print " bottom'><span class='f2'>";
-    	print "Yes";
-    	print "</span></th>\n";
-  	 	print "  <th style='border-bottom: #666 1px solid; vertical-align:";
-    	print " bottom'><span class='f2'>";
-    	print "No";
-    	print "</span></th>\n";
-# I'm not sure if abstains are necessary inthis view, it's just extra clutter			
-#   		print "  <th style='border-bottom: #666 1px solid; vertical-align:";
-#    	print " bottom'><span class='f2'>";
-#    	print "Abstain";
-#    	print "</span></th>\n";
-   		print "  <th style='border-bottom: #666 1px solid; vertical-align:";
-    	print " bottom'><span class='f2'>";
-    	print "Voted?";
-    	print "</span></th>\n";
-			print "</tr>\n";
-
-    	if (mysql_num_rows($result) == 0) {
-     		print "<tr><td align='center' colspan='0'>No results found.</td></tr>\n";
-    	} else {
-    		for ($i = 0; $row = mysql_fetch_assoc($result); $i++) {
-      		# Thankyou AUR
-
-          # alright, I'm going to just have a "new" table and the
-          # "old" table can just have every vote, works just as well
-          # and probably saves on doing some crap
-          #
-
-          (($i % 2) == 0) ? $c = "data1" : $c = "data2";
-          print "<tr>\n";
-          print "  <td class='".$c."'><span class='f4'><span class='blue'>";
-      
-          $prev_Len = 100;
-
-          if (strlen($row["Agenda"]) >= $prev_Len) {
-            $row["Agenda"] = htmlentities(substr($row["Agenda"], 0, $prev_Len)) . "... -";
-          } else {
-            $row["Agenda"] = htmlentities($row["Agenda"]) . " -";
-          }
-
-          print $row["Agenda"];
-          print " <a href='/tu.php?id=" . $row['ID'] . "'>[More]</a>";
-          print "</span></span></td>\n";
-          print "  <td class='".$c."'><span class='f5'><span class='blue'>";
-          # why does the AUR use gmdate with formatting that includes the offset
-          # to GMT?!
-          print gmdate("j M y", $row["Submitted"]);
-          print "</span></span></td>\n";
-          print "  <td class='".$c."'><span class='f5'><span class='blue'>";
-          print gmdate("j M y", $row["End"]);
-          print "</span></span></td>\n";
-          print "  <td class='".$c."'><span class='f6'><span class='blue'>";
-
-          if (!empty($row['User'])) {
-            print "<a href='packages.php?K=" . $row['User'] . "&SeB=m'>";
-            print $row['User'] . "</a>";
-          } else {
-            print "N/A";
-          }
-
-          print "</span></span></td>\n";
-          print "  <td class='".$c."'><span class='f5'><span class='blue'>";
-          print $row['Yes'];
-          print "</span></span></td>\n";
-          print "  <td class='".$c."'><span class='f5'><span class='blue'>";
-          print $row['No'];
-          print "</span></span></td>\n";
-          print "  <td class='".$c."'><span class='f5'><span class='blue'>";
-          # See above
-          # print $row['Abstain'];
-          # print "</span></span></td>\n";
-          # print "  <td class='".$c."'><span class='f5'><span class='blue'>";
-
-          $qvoted = "SELECT * FROM TU_Votes WHERE ";
-          $qvoted.= "VoteID = " . $row['ID'] . " AND ";
-          $qvoted.= "UserID = " . uid_from_sid($_COOKIE["AURSID"]);
-          $hasvoted = mysql_num_rows(db_query($qvoted, $dbh));
-
-          if ($hasvoted == 0) {
-            print "<span style='color: red; font-weight: bold'>No</span>";
-          } else {
-            print "<span style='color: green; font-weight: bold'>Yes</span>";
-          }
-
-          print "</span></span></td>\n";
-          print "</tr>\n";
-    		}
-    	}
-		
-		print "</table>\n";
-    print "</table>\n";
-
-   	if ($type == "old" AND $limit != 0) { 
-			$qnext = "SELECT ID FROM TU_VoteInfo";
-    	$nextresult = db_query($qnext, $dbh);
-
-    	print "<table style='width: 90%'>\n";
-
-    	if (mysql_num_rows($result)) {
-      	$sort = htmlentities($sort, ENT_QUOTES);
-      	$by = htmlentities($by, ENT_QUOTES);
-
-      	print "<tr>\n";
-      	print "<td align='left'>\n";
-      	if ($off != 0) {
-      	  $back = (($off - $limit) <= 0) ? 0 : $off - $limit;
-      	  print "<a href='tu.php?off=$back&sort=" . $sort . "&by=" . $by . "'>Back</a>";
-      	}
-      	print "</td>\n";
-
-      	print "<td align='right'>\n";
-      	if (($off + $limit) < mysql_num_rows($nextresult)) {
-      	  $forw = $off + $limit;
-      	  print "<a href='tu.php?off=$forw&sort=" . $sort . "&by=" . $by . "'>Next</a>";
-      	}
-      	print "</td>\n";
-      	print "</tr>\n";
-    	}
-    	print "</table>\n";
-		}
-
-    print "</center>\n";
-		}
-
-	# stop notices, ythanku Xilon
-	if (empty($_REQUEST['sort'])) { $_REQUEST['sort'] = ""; }
-	if (empty($_REQUEST['by'])) { $_REQUEST['by'] = ""; }
-	if (empty($_REQUEST['off'])) { $_REQUEST['off'] = ""; }
-
-	gen_results(0, 0, $_REQUEST['sort'], $_REQUEST['by'], "new");
-	print "<center><a href='addvote.php'>Add</a></center><br />";
-	gen_results($_REQUEST['off'], $pp, $_REQUEST['sort'], $_REQUEST['by'], "old");
-
-	}
-} else {
-	print "You are not allowed to access this area.\n";
-}
-
-html_footer(AUR_VERSION);
-# vim: ts=2 sw=2
-
-?>
diff --git a/web/template/header.php b/web/template/header.php
index 88fd6f6..721fa99 100644
--- a/web/template/header.php
+++ b/web/template/header.php
@@ -50,12 +50,6 @@ if (isset($_COOKIE["AURSID"])) {
 	      <li><a href="/pkgsubmit.php"><?php print __("Submit"); ?></a></li>
           <li><a href="/packages.php?SeB=m&K=<?php print username_from_sid($_COOKIE["AURSID"]); ?>"><?php print __("My Packages"); ?></a></li>
 <?php
-	if (account_from_sid($_COOKIE["AURSID"]) == "Trusted User"
-		|| account_from_sid($_COOKIE["AURSID"]) == "Developer") {
-?>
-	      <li><a href="/tu.php"><?php print __("Trusted User"); ?></a></li>
-<?php
-	}
 }
 ?>
           <li><a href="http://archlinux.org/mailman/listinfo/aur-general">
-- 
1.5.3.8

