From 1dd612b408b527748742c32498732ec534abe92c Mon Sep 17 00:00:00 2001 From: Kyle Powers <kylepowers@gmail.com> Date: Wed, 6 Oct 2010 22:35:21 +0000 Subject: [PATCH] Adding voting page and functionality for voting. --- config.sample.php | 7 + .../ribbon_cutting2010/add_voting_tables.sql | 23 ++ .../physics_opening2010.sql | 37 ---- www/physics/ribbon_cutting2010/castvote.php | 27 +++ www/physics/ribbon_cutting2010/index.php | 1 + www/physics/ribbon_cutting2010/voting.php | 202 ++++++++++++++++++ 6 files changed, 260 insertions(+), 37 deletions(-) create mode 100644 data/physics/ribbon_cutting2010/add_voting_tables.sql delete mode 100644 data/physics/ribbon_cutting2010/physics_opening2010.sql create mode 100644 www/physics/ribbon_cutting2010/castvote.php create mode 100644 www/physics/ribbon_cutting2010/voting.php diff --git a/config.sample.php b/config.sample.php index eea95ed..d0f6ad0 100644 --- a/config.sample.php +++ b/config.sample.php @@ -3,6 +3,13 @@ ini_set('display_errors',false); // Sample configuration file for the ucomm webforms project set_include_path(dirname(__FILE__).'/lib/php/'.PATH_SEPARATOR.get_include_path()); +$con = mysql_connect("localhost","test","test"); +if (!$con){ + die('Could not connect: ' . mysql_error()); +}else{ + mysql_select_db("physics_voting", $con); +} + function myautoload($class) { $file = str_replace('_', '/', $class).'.php'; diff --git a/data/physics/ribbon_cutting2010/add_voting_tables.sql b/data/physics/ribbon_cutting2010/add_voting_tables.sql new file mode 100644 index 0000000..6c42996 --- /dev/null +++ b/data/physics/ribbon_cutting2010/add_voting_tables.sql @@ -0,0 +1,23 @@ +SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; + +USE physics_voting; + +CREATE TABLE IF NOT EXISTS `entries` ( + `id` int(10) NOT NULL AUTO_INCREMENT, + `name` text COLLATE utf8_unicode_ci, + `proposal` text COLLATE utf8_unicode_ci, + `videourl` text COLLATE utf8_unicode_ci, + `votes` int(10), + `datesubmitted` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ; + + +CREATE TABLE IF NOT EXISTS `votes` ( + `id` int(10) NOT NULL AUTO_INCREMENT, + `entries_id_fk` int(10), + `ip` VARCHAR(40), + `datesubmitted` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + FOREIGN KEY(`entries_id_fk`) REFERENCES `entries`(`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ; \ No newline at end of file diff --git a/data/physics/ribbon_cutting2010/physics_opening2010.sql b/data/physics/ribbon_cutting2010/physics_opening2010.sql deleted file mode 100644 index e8c516a..0000000 --- a/data/physics/ribbon_cutting2010/physics_opening2010.sql +++ /dev/null @@ -1,37 +0,0 @@ --- phpMyAdmin SQL Dump --- version 3.3.7 --- http://www.phpmyadmin.net --- --- Host: 127.0.0.1 --- Generation Time: Sep 30, 2010 at 03:38 PM --- Server version: 5.1.50 --- PHP Version: 5.3.2 - -SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; - - -/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; -/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; -/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; -/*!40101 SET NAMES utf8 */; - --- --- Database: `surveys` --- - --- -------------------------------------------------------- - --- --- Table structure for table `physics_opening2010` --- - -CREATE TABLE IF NOT EXISTS `physics_opening2010` ( - `id` int(10) NOT NULL AUTO_INCREMENT, - `name` text COLLATE utf8_unicode_ci, - `email` text COLLATE utf8_unicode_ci, - `phone` text COLLATE utf8_unicode_ci, - `type` text COLLATE utf8_unicode_ci, - `proposal` text COLLATE utf8_unicode_ci, - `datesubmitted` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`id`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ; diff --git a/www/physics/ribbon_cutting2010/castvote.php b/www/physics/ribbon_cutting2010/castvote.php new file mode 100644 index 0000000..b141fb1 --- /dev/null +++ b/www/physics/ribbon_cutting2010/castvote.php @@ -0,0 +1,27 @@ +<?php +if (file_exists(dirname(__FILE__).'/../../../config.inc.php')) { + require_once dirname(__FILE__).'/../../../config.inc.php'; +} else { + require_once dirname(__FILE__).'/../../../config.sample.php'; +} +$ip=$_SERVER['REMOTE_ADDR']; + +if($_POST['id']){ + $id=$_POST['id']; + $id = mysql_escape_String($id); + $ip_sql=mysql_query("select ip from votes where ip='$ip'"); + + if(mysql_num_rows($ip_sql)==0){ + $sql = "update entries set votes=votes+1 where id='$id'"; + mysql_query($sql); + $sql_in = "insert into votes (entries_id_fk,ip) values ('$id','$ip')"; + mysql_query($sql_in); + $result=mysql_query("select votes from entries where id='$id'"); + $row=mysql_fetch_array($result); + echo $row['votes'] + " - Thanks for your vote!"; + }else{ + echo "Sorry, you have already voted."; + } + +} +?> \ No newline at end of file diff --git a/www/physics/ribbon_cutting2010/index.php b/www/physics/ribbon_cutting2010/index.php index 5a495e6..a6c6cd1 100644 --- a/www/physics/ribbon_cutting2010/index.php +++ b/www/physics/ribbon_cutting2010/index.php @@ -254,3 +254,4 @@ if (!empty($_POST)) { </div> </body> </html> +<?php mysql_close($con); \ No newline at end of file diff --git a/www/physics/ribbon_cutting2010/voting.php b/www/physics/ribbon_cutting2010/voting.php new file mode 100644 index 0000000..c7e5095 --- /dev/null +++ b/www/physics/ribbon_cutting2010/voting.php @@ -0,0 +1,202 @@ +<?php +/** + * TODO: Make page two collums, add graphic of iPad and the new building. + **/ +if (file_exists(dirname(__FILE__).'/../../../config.inc.php')) { + require_once dirname(__FILE__).'/../../../config.inc.php'; +} else { + require_once dirname(__FILE__).'/../../../config.sample.php'; +} +if (!empty($_POST)) { + $mailer = new UNL_WDN_Emailer_Main(); + + $body .= "<strong>Name:</strong> " . $_POST['name'] . "<br/>"; + $body .= "<strong>Phone Number:</strong> " . $_POST['phone'] . "<br/>"; + $body .= "<strong>Email Address:</strong> " . $_POST['email'] . "<br/>"; + $body .= "<strong>URL to video:</strong> " . $_POST['video'] . "<br/>"; + $body .= "<strong>Type:</strong> " . $_POST['type'] . "<br/>"; + $body .= "<strong>Proposal:</strong><br/>" . $_POST['proposal'] . "<br/>"; + + $mailer->html_body = $body; + $mailer->to_address = $sendToEmail; + $mailer->from_address = $sendFromEmail; + $mailer->subject = $emailSubject; + $mailer->send(); + header('Location: thankyou.php'); + exit(); +} +?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> +<head> +<!-- + Membership and regular participation in the UNL Web Developer Network + is required to use the UNL templates. Visit the WDN site at + http://wdn.unl.edu/. Click the WDN Registry link to log in and + register your unl.edu site. + All UNL template code is the property of the UNL Web Developer Network. + The code seen in a source code view is not, and may not be used as, a + template. You may not use this code, a reverse-engineered version of + this code, or its associated visual presentation in whole or in part to + create a derivative work. + This message may not be removed from any pages based on the UNL site template. + + $Id: php.fixed.dwt.php 536 2009-07-23 15:47:30Z bbieber2 $ +--> +<link rel="stylesheet" type="text/css" media="screen" href="css/physics.css" /> +<link rel="stylesheet" type="text/css" media="screen" href="/wdn/templates_3.0/css/all.css" /> +<link rel="stylesheet" type="text/css" media="print" href="/wdn/templates_3.0/css/print.css" /> +<script type="text/javascript" src="/wdn/templates_3.0/scripts/all.js"></script> + +<script type="text/javascript"> +WDN.jQuery(function($) { + $(".vote").click(function() { + var parent = $(this); + $(this).fadeIn(200).html('...'); + $.ajax({ + type: "POST", + url: "castvote.php", + data: 'id=' + $(this).attr("id"), + cache: false, + success: function(html){ + parent.html(html); + } + }); + return false; + }); +}); +</script> + +<?php virtual('/wdn/templates_3.0/includes/browserspecifics.html'); ?> +<?php virtual('/wdn/templates_3.0/includes/metanfavico.html'); ?> +<!-- TemplateBeginEditable name="doctitle" --> +<title>UNL | Department of Physics & Astronomy | Jorgensen Hall Ribbon Cutting Proposal</title> +<!-- TemplateEndEditable --><!-- TemplateBeginEditable name="head" --> +<!-- Place optional header elements here --> +<!-- TemplateEndEditable --> +</head> +<body class="document"> +<p class="skipnav"> <a class="skipnav" href="#maincontent">Skip Navigation</a> </p> +<div id="wdn_wrapper"> + <div id="header"> <a href="http://www.unl.edu/" title="UNL website"><img src="/wdn/templates_3.0/images/logo.png" alt="UNL graphic identifier" id="logo" /></a> + <h1>University of Nebraska–Lincoln</h1> + <?php virtual('/wdn/templates_3.0/includes/wdnTools.html'); ?> + </div> + <div id="wdn_navigation_bar"> + <div id="breadcrumbs"> + <!-- WDN: see glossary item 'breadcrumbs' --> + <!-- TemplateBeginEditable name="breadcrumbs" --> + <ul> + <li><a href="http://www.unl.edu/" title="University of Nebraska–Lincoln">UNL</a></li> + <li><a href="http://ascweb.unl.edu/" title="University of Nebraska–Lincoln">Arts & Sciences</a></li> + <li><a href="http://physics.unl.edu/" title="University of Nebraska–Lincoln">Physics & Astronomy</a></li> + <li>Jorgensen Hall Ribbon Cutting Proposal</li> + </ul> + <!-- TemplateEndEditable --></div> + <div id="wdn_navigation_wrapper"> + <div id="navigation"><!-- TemplateBeginEditable name="navlinks" --> + <?php include '../sharedcode/navigation.html'; ?> + <!-- TemplateEndEditable --></div> + </div> + </div> + <div id="wdn_content_wrapper"> + <div id="titlegraphic"><!-- TemplateBeginEditable name="titlegraphic" --><h1>Jorgensen Hall Extreme Ribbon-Cutting Contest</h1> + <!-- TemplateEndEditable --></div> + <div id="pagetitle"><!-- TemplateBeginEditable name="pagetitle" --><!-- TemplateEndEditable --></div> + <div id="maincontent"> + <!--THIS IS THE MAIN CONTENT AREA; WDN: see glossary item 'main content area' --> + <!-- TemplateBeginEditable name="maincontentarea" --> + + <div style="float:left; width:620px; margin-right:20px;"> + + <ul class="wdn_tabs" style="width:620px;margin-bottom:16px;"> + <li><a href="#contest">Contest</a></li> + <li><a href="#voting">Voting</a></li> + </ul> + + <div class="wdn_tabs_content"> + <div id="contest"> + <h3 class="sec_header">If your idea makes the cut, you win an iPad!</h3> + + <p>The University of Nebraska-Lincoln Physics Department invites proposals from students, faculty, staff, alumni and friends on how to add some physics-related drama to the ribbon-cutting dedication of Jorgensen Hall at 4 p.m. on Friday, Oct. 29. UNL Chancellor Harvey Perlman and special guest speaker Alan Heeger, a UNL alum and Nobel laureate, will be present for the ceremony.</p> + <p> + Anyone interested may submit a proposal for a way to ceremonially open the building by splitting apart a single ribbon, preferably using some aspect of physics, to make the celebration more interesting than is possible using only ribbon and scissors. The creator of the winning proposal will receive <a href="http://marketplace.unl.edu/computershop/electronics/ipads/16gb-ipad-wifi.html" title="iPad at the UNL Computer Shop">a 16GB iPad WiFi"</a> or dollar value equivalent in merchandise from the <a href="http://marketplace.unl.edu/computershop/">UNL Computer and Phone Shop</a>. + </p> + <p><strong><a href="index.php#submit" title="submit a proposal for the ribbon cutting">Submit your proposal now!</a></strong></p> + </div> + + <div id="voting"> + <h3 class="sec_header">Voting</h3> + <?php + $sql=mysql_query("SELECT * FROM entries ORDER BY RAND() LIMIT 3"); + while($row=mysql_fetch_array($sql)){ + $id=$row['id']; + $name=$row['name']; + $proposal=$row['proposal']; + $votes=$row['votes']; + $videourl=$row['videourl']; + ?> + <div> + <p> + <?php echo $name; ?> - <?php echo $votes; ?> votes<br/> + <?php echo $proposal; ?><br/> + <a id="videolink<?php echo $id; ?>" href="#">Watch Video</a> | <a href="#" class="vote" id="<?php echo $id; ?>">Click here to vote for <?php echo $name; ?></a> + </p> + </div> + <div class='hidden'> + <div id='video<?php echo $id; ?>' style='padding:10px; background:#fff;'> + <object width="480" height="385"> + <param name="movie" value="<?php echo $videourl ?>?fs=1&hl=en_US&autoplay=1"></param> + <param name="allowFullScreen" value="true"></param> + <param name="allowscriptaccess" value="always"></param> + <param name="autoplay" value="true"></param> + <embed src="<?php echo $videourl ?>?fs=1&hl=en_US&autoplay=1" type="application/x-shockwave-flash" + allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed> + </object> + </div> + </div> + <script type="text/javascript"> + WDN.jQuery("#videolink<?php echo $id; ?>").colorbox({inline:true, href:"#video<?php echo $id; ?>", title:"Video by <?php echo $name; ?>"}); + </script> + <?php } ?> + </div> + + </div> + </div> + + <div style="width:300px; float:right;"> + <a href="index.php#submit" title="submit a proposal for the ribbon cutting"><img src="images/iPad_Jorgensen.jpg" alt="Jorgensen ribbon cutting" /></a><br /> + <a href="http://marketplace.unl.edu/computershop/" title="go to the Computer Shop on UNL Marketplace"><img src="images/compshop.jpg" alt="UNL Computer shop" /></a> + </div> + + <!-- TemplateEndEditable --> + <div class="clear"></div> + <?php virtual('/wdn/templates_3.0/includes/noscript.html'); ?> + <!--THIS IS THE END OF THE MAIN CONTENT AREA.--> + </div> + <div id="footer"> + <div id="footer_floater"></div> + <div class="footer_col"> + <?php virtual('/wdn/templates_3.0/includes/feedback.html'); ?> + </div> + <div class="footer_col"><!-- TemplateBeginEditable name="leftcollinks" --> + <?php include '../sharedcode/relatedLinks.html'; ?> + <!-- TemplateEndEditable --></div> + <div class="footer_col"><!-- TemplateBeginEditable name="contactinfo" --> + <?php include '../sharedcode/footerContactInfo.html'; ?> + <!-- TemplateEndEditable --></div> + <div class="footer_col"> + <?php virtual('/wdn/templates_3.0/includes/socialmediashare.html'); ?> + </div> + <!-- TemplateBeginEditable name="optionalfooter" --> <!-- TemplateEndEditable --> + <div id="wdn_copyright"><!-- TemplateBeginEditable name="footercontent" --> + <?php include '../sharedcode/footer.html'; ?> + <!-- TemplateEndEditable --> + <?php virtual('/wdn/templates_3.0/includes/wdn.html'); ?> + | <a href="http://validator.unl.edu/check/referer">W3C</a> | <a href="http://jigsaw.w3.org/css-validator/check/referer?profile=css3">CSS</a> <a href="http://www.unl.edu/" title="UNL Home" id="wdn_unl_wordmark"><img src="/wdn/templates_3.0/css/footer/images/wordmark.png" alt="UNL's wordmark" /></a> </div> + </div> + </div> + <div id="wdn_wrapper_footer"> </div> +</div> +</body> +</html> +<?php mysql_close($con); \ No newline at end of file -- GitLab