/** * Outputs frontpage HTML * * @return Nothing */ function rate() { global $database, $my, $acl, $mosConfig_absolute_path, $mosConfig_mailfrom, $mosConfig_fromname, $mosConfig_live_site, $Itemid, $mosConfig_sitename; $c = hwd_vs_Config::get_instance(); $db = & JFactory::getDBO(); $my = & JFactory::getUser(); $ip = $_SERVER['REMOTE_ADDR']; $rating = JRequest::getInt( 'rating', 0, 'request' ); $videoid = JRequest::getInt( 'videoid', 0, 'request' ); if ($my->id == "0" || !$my->id || empty($my->id)) { $where = ' WHERE a.ip = "'.$ip.'"'; } else { $where = ' WHERE a.userid = '.$my->id; } $where .= ' AND a.videoid = '.$videoid; if ($rating > 5) die(_HWDVIDS_ALERT_INVALVOTE); // kill the script because normal users will never see this. if ($rating < 0) die(_HWDVIDS_ALERT_INVALVOTE); // kill the script because normal users will never see this. //Current Video Details $query = 'SELECT *' . ' FROM #__hwdvidsvideos' . ' WHERE id = '.$videoid ; $db->SetQuery( $query ); $row = $db->loadObject(); if ($row->rating_number_votes < 1) { $count = 0; } else { $count = $row->rating_number_votes; //how many votes total } $tense = ($count==1) ? _HWDVIDS_INFO_M_VOTE : _HWDVIDS_INFO_M_VOTES; //plural form votes/vote $rating0 = @number_format($row->rating_total_points/$count,0); $rating1 = @number_format($row->rating_total_points/$count,1); // check if user has voted already $db->SetQuery( 'SELECT count(*)' . ' FROM #__hwdvidsrating AS a' . $where ); $total = $db->loadResult(); // Stop if user not logged in and guest rating blocked if ($c->allowgr == 0 && (!$my->id || $my->id == 0)) { hwd_vs_tools::infomessage(1, 0, _HWDVIDS_AJAX_LOG2RATE, _HWDVIDS_ALERT_LOG2RATE, "exclamation.png", 1); } else if ( $total>0 ) { hwd_vs_tools::infomessage(1, 0, _HWDVIDS_AJAX_ALREADYRATE, _HWDVIDS_AJAX_ALREADYRATE, "exclamation.png", 1); } else { //update rating details $rating_number_votes = $row->rating_number_votes + 1; $rating_total_points = $row->rating_total_points + $rating; $new_rating = $rating_total_points / $rating_number_votes; $db->setQuery( "UPDATE #__hwdvidsvideos" . "\nSET rating_number_votes = $rating_number_votes, rating_total_points = $rating_total_points, updated_rating = $new_rating" . "\nWHERE id = $videoid" ); if (!$db->query()) { echo "<script> alert('".$db->getErrorMsg()."'); window.history.go(-1); </script>\n"; exit(); } // mark video as rated by this user $row = new hwdvids_rating($db); $_POST['userid'] = $my->id; $_POST['videoid'] = $videoid; $_POST['ip'] = $ip; $_POST['date'] = date('Y-m-d H:i:s'); // bind it to the table if (!$row -> bind($_POST)) { echo "<script> alert('" .$row -> getError() ."'); window.history.go(-1); </script>\n"; exit(); } // store it in the db if (!$row -> store()) { echo "<script> alert('" .$row -> getError() ."'); window.history.go(-1); </script>\n"; exit(); } $api_AUP = JPATH_SITE.DS.'components'.DS.'com_alphauserpoints'.DS.'helper.php'; if ( file_exists($api_AUP)) { require_once ($api_AUP); AlphaUserPointsHelper::newpoints( 'plgaup_rateVideo_hwdvs' ); } //connecting to the database to get some information $numbers['total_votes'] = $rating_number_votes; $numbers['total_value'] = $rating_total_points; $count = $numbers['total_votes']; //how many votes total $current_rating = $numbers['total_value']; //total number of rating added together and stored $sum = $rating+$current_rating; // add together the current vote value and the total vote value hwd_vs_tools::infomessage(1, 0, _HWDVIDS_AJAX_RATEADDED, _HWDVIDS_AJAX_RATEADDED, "exclamation.png", 1); } hwd_vs_tools::logRating( $videoid, $rating ); return; }
/** */ function rate() { header('Content-type: text/html; charset=utf-8'); echo "<META NAME=\"ROBOTS\" CONTENT=\"NOINDEX, NOFOLLOW\">"; $c = hwd_vs_Config::get_instance(); $db = & JFactory::getDBO(); $my = & JFactory::getUser(); $ip = $_SERVER['REMOTE_ADDR']; $rating = JRequest::getInt( 'rating', 0, 'request' ); $videoid = JRequest::getInt( 'videoid', 0, 'request' ); if ($my->id == "0" || !$my->id || empty($my->id)) { $where = ' WHERE ip = "'.$ip.'"'; } else { $where = ' WHERE userid = '.$my->id; } $where .= ' AND videoid = '.$videoid; if ($rating > 5) die(_HWDVIDS_ALERT_INVALVOTE); // kill the script because normal users will never see this. if ($rating < 0) die(_HWDVIDS_ALERT_INVALVOTE); // kill the script because normal users will never see this. $query = "SELECT * FROM #__hwdvidsvideos WHERE id = $videoid"; $db->SetQuery( $query ); $row = $db->loadObject(); if (!isset($row->rating_number_votes)) die("Could not load a video to rate"); // kill the script because normal users will never see this. if ($row->rating_number_votes < 1) { $count = 0; } else { $count = $row->rating_number_votes; //how many votes total } $tense = ($count==1) ? _HWDVIDS_INFO_M_VOTE : _HWDVIDS_INFO_M_VOTES; //plural form votes/vote $rating0 = @number_format($row->rating_total_points/$count,0); $rating1 = @number_format($row->rating_total_points/$count,1); $allowReVote = 0; if ($allowReVote == 1) { $where .= " AND date >= DATE_SUB(NOW(),INTERVAL 1 DAY)"; } $db->SetQuery("SELECT count(*) FROM #__hwdvidsrating $where"); $total = $db->loadResult(); $code='<div id="hwdvsrb"><ul id="1001" class="rating rated'.$rating0.'star"> <li id="1" class="rate one"><a href="'.JURI::root( true ).'/index.php?option=com_hwdvideoshare&task=rate&videoid='.$row->id.'&rating=1" onclick="ajaxFunctionRate(1);return false;" title="1 Star">1</a></li> <li id="2" class="rate two"><a href="'.JURI::root( true ).'/index.php?option=com_hwdvideoshare&task=rate&videoid='.$row->id.'&rating=2" onclick="ajaxFunctionRate(2);return false;" title="2 Stars">2</a></li> <li id="3" class="rate three"><a href="'.JURI::root( true ).'/index.php?option=com_hwdvideoshare&task=rate&videoid='.$row->id.'&rating=3" onclick="ajaxFunctionRate(3);return false;" title="3 Stars">3</a></li> <li id="4" class="rate four"><a href="'.JURI::root( true ).'/index.php?option=com_hwdvideoshare&task=rate&videoid='.$row->id.'&rating=4" onclick="ajaxFunctionRate(4);return false;" title="4 Stars">4</a></li> <li id="5" class="rate five"><a href="'.JURI::root( true ).'/index.php?option=com_hwdvideoshare&task=rate&videoid='.$row->id.'&rating=5" onclick="ajaxFunctionRate(5);return false;" title="5 Stars">5</a></li> </ul>'; // Stop if user not logged in and guest rating blocked if ($c->allowgr == 0 && (!$my->id || $my->id == 0)) { $code.=_HWDVIDS_INFO_RATED.'<strong> '.$rating1.'</strong> ('.$count.' '.$tense.')'; $code.='<br /><p><span class="error">'._HWDVIDS_AJAX_LOG2RATE.'</span></p>'; } else if ( $total>0 ) { $code.=_HWDVIDS_INFO_RATED.'<strong> '.$rating1.'</strong> ('.$count.' '.$tense.')'; $code.='<br /><p><span class="error">'._HWDVIDS_AJAX_ALREADYRATE.'</span></p>'; } else { //update rating details $rating_number_votes = $row->rating_number_votes + 1; $rating_total_points = $row->rating_total_points + $rating; $new_rating = $rating_total_points / $rating_number_votes; $db->setQuery( "UPDATE #__hwdvidsvideos" . "\nSET rating_number_votes = $rating_number_votes, rating_total_points = $rating_total_points, updated_rating = $new_rating" . "\nWHERE id = $videoid" ); if (!$db->query()) { echo "<script> alert('".$db->getErrorMsg()."'); window.history.go(-1); </script>\n"; exit(); } // mark video as rated by this user $row = new hwdvids_rating($db); $_POST['userid'] = $my->id; $_POST['videoid'] = $videoid; $_POST['ip'] = $ip; $_POST['date'] = date('Y-m-d H:i:s'); // bind it to the table if (!$row -> bind($_POST)) { echo "<script> alert('" .$row -> getError() ."'); window.history.go(-1); </script>\n"; exit(); } // store it in the db if (!$row -> store()) { echo "<script> alert('" .$row -> getError() ."'); window.history.go(-1); </script>\n"; exit(); } $api_AUP = JPATH_SITE.DS.'components'.DS.'com_alphauserpoints'.DS.'helper.php'; if ( file_exists($api_AUP)) { require_once ($api_AUP); AlphaUserPointsHelper::newpoints( 'plgaup_rateVideo_hwdvs' ); } //connecting to the database to get some information $numbers['total_votes'] = $rating_number_votes; $numbers['total_value'] = $rating_total_points; $count = $numbers['total_votes']; //how many votes total $current_rating = $numbers['total_value']; //total number of rating added together and stored $sum = $rating+$current_rating; // add together the current vote value and the total vote value $code='<div id="hwdvsrb"><ul id="1001" class="rating rated'.@number_format($new_rating,0).'star"> <li id="1" class="rate one"><a href="'.JURI::root( true ).'/index.php?option=com_hwdvideoshare&task=rate&videoid='.$row->id.'&rating=1" onclick="ajaxFunctionRate(1);return false;" title="1 Star">1</a></li> <li id="2" class="rate two"><a href="'.JURI::root( true ).'/index.php?option=com_hwdvideoshare&task=rate&videoid='.$row->id.'&rating=2" onclick="ajaxFunctionRate(2);return false;" title="2 Stars">2</a></li> <li id="3" class="rate three"><a href="'.JURI::root( true ).'/index.php?option=com_hwdvideoshare&task=rate&videoid='.$row->id.'&rating=3" onclick="ajaxFunctionRate(3);return false;" title="3 Stars">3</a></li> <li id="4" class="rate four"><a href="'.JURI::root( true ).'/index.php?option=com_hwdvideoshare&task=rate&videoid='.$row->id.'&rating=4" onclick="ajaxFunctionRate(4);return false;" title="4 Stars">4</a></li> <li id="5" class="rate five"><a href="'.JURI::root( true ).'/index.php?option=com_hwdvideoshare&task=rate&videoid='.$row->id.'&rating=5" onclick="ajaxFunctionRate(5);return false;" title="5 Stars">5</a></li> </ul>'; $code.=_HWDVIDS_INFO_RATED.'<strong> '.@number_format($new_rating,1).'</strong> ('.$count.' '.$tense.')'; $code.='<br /><p><span class="success">'._HWDVIDS_ALERT_THANKSVOTER.'</span></p>'; } $code.= '<script> $$(\'.rate\').each(function(element,i){ element.addEvent(\'click\', function(){ var myStyles = [\'0star\', \'1star\', \'2star\', \'3star\', \'4star\', \'5star\']; myStyles.each(function(myStyle){ if(element.getParent().hasClass(myStyle)){ element.getParent().removeClass(myStyle) } }); myStyles.each(function(myStyle, index){ if(index == element.id){ element.getParent().toggleClass(myStyle); ajaxFunctionRate(element.id) } }); }); }); </script> </div>'; echo $code; hwd_vs_tools::logRating( $videoid, $rating ); exit; }