%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
Server IP : 49.231.201.246 / Your IP : 216.73.216.149 Web Server : Apache/2.4.18 (Ubuntu) System : Linux 246 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : root ( 0) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : exec,passthru,shell_exec,system,proc_open,popen,pcntl_exec MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/html/old/administrator/components/com_phocadownload/helpers/ |
Upload File : |
<?php /* * @package Joomla.Framework * @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * * @component Phoca Component * @copyright Copyright (C) Jan Pavelka www.phoca.cz * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later; */ defined( '_JEXEC' ) or die( 'Restricted access' ); class PhocaDownloadRateHelper { function updateVoteStatisticsFile( $fileid ) { $db = JFactory::getDBO(); // Get AVG and COUNT $query = 'SELECT COUNT(vs.id) AS count, AVG(vs.rating) AS average' .' FROM #__phocadownload_file_votes AS vs' .' WHERE vs.fileid = '.(int) $fileid; // .' AND vs.published = 1'; $db->setQuery($query, 0, 1); $votesStatistics = $db->loadObject(); // if no count, set the average to 0 if($votesStatistics->count == 0) { $votesStatistics->count = (int)0; $votesStatistics->average = (float)0; } if (isset($votesStatistics->count) && isset($votesStatistics->average)) { // Insert or update $query = 'SELECT vs.id AS id' .' FROM #__phocadownload_file_votes_statistics AS vs' .' WHERE vs.fileid = '.(int) $fileid; $db->setQuery($query, 0, 1); $votesStatisticsId = $db->loadObject(); // Yes, there is id (UPDATE) x No, there isn't (INSERT) if (!empty($votesStatisticsId->id)) { $query = 'UPDATE #__phocadownload_file_votes_statistics' .' SET count = ' .(int)$votesStatistics->count .' , average = ' .(float)$votesStatistics->average .' WHERE fileid = '.(int) $fileid; $db->setQuery($query); if (!$db->query()) { $this->setError('Database Error Voting 1'); return false; } } else { $query = 'INSERT into #__phocadownload_file_votes_statistics' .' (id, fileid, count, average)' .' VALUES (null, '.(int)$fileid .' , '.(int)$votesStatistics->count .' , '.(float)$votesStatistics->average .')'; $db->setQuery($query); if (!$db->query()) { $this->setError('Database Error Voting 2'); return false; } } } else { return false; } return true; } function getVotesStatisticsFile($id) { $db = JFactory::getDBO(); $query = 'SELECT vs.count AS count, vs.average AS average' .' FROM #__phocadownload_file_votes_statistics AS vs' .' WHERE vs.fileid = '.(int) $id; $db->setQuery($query, 0, 1); $votesStatistics = $db->loadObject(); return $votesStatistics; } function checkUserVoteFile($fileid, $userid) { $db = JFactory::getDBO(); $query = 'SELECT v.id AS id' .' FROM #__phocadownload_file_votes AS v' .' WHERE v.fileid = '. (int)$fileid .' AND v.userid = '. (int)$userid; $db->setQuery($query, 0, 1); $checkUserVote = $db->loadObject(); if ($checkUserVote) { return true; } return false; } public function renderRateFile($id, $displayRating, $small = 1, $refresh = false) { $user = JFactory::getUser(); $neededAccessLevels = PhocaDownloadAccess::getNeededAccessLevels(); $access = PhocaDownloadAccess::isAccess($user->getAuthorisedViewLevels(), $neededAccessLevels); if ($small == 1) { $smallO = '-small'; $ratio = 18; } else { $smallO = ''; $ratio = 22; } $o = ''; //.$rating['urlvote'].$amp.'controller=detail&task=rate&rating=1 //$amp = PhocaDownloadUtils::setQuestionmarkOrAmp($rating['urlvote']); $href = 'javascript:void(0);'; if ((int)$displayRating != 1) { return ''; } else { $rating['alreadyratedfile'] = self::checkUserVoteFile( (int)$id, (int)$user->id ); $rating['notregisteredfile'] = true; //$rating['usernamefile'] = ''; if ($access > 0) { $rating['notregisteredfile'] = false; $rating['usernamefile'] = $user->name; } $rating['votescountfile'] = 0; $rating['votesaveragefile'] = 0; $rating['voteswidthfile'] = 0; $votesStatistics = self::getVotesStatisticsFile((int)$id); if (!empty($votesStatistics->count)) { $rating['votescountfile'] = $votesStatistics->count; } if (!empty($votesStatistics->average)) { $rating['votesaveragefile'] = $votesStatistics->average; if ($rating['votesaveragefile'] > 0) { $rating['votesaveragefile'] = round(((float)$rating['votesaveragefile'] / 0.5)) * 0.5; $rating['voteswidthfile'] = $ratio * $rating['votesaveragefile']; } else { $rating['votesaveragefile'] = (int)0;// not float displaying } } // Leave message for already voted images //$vote = JRequest::getVar('vote', 0, '', 'int'); $voteMsg = JText::_('COM_PHOCADOWNLOAD_RATING_ALREADY_RATED_FILE'); //if ($vote == 1) { // $voteMsg = JText::_('COM_PHOCADOWNLOAD_ALREADY_RATED_FILE_THANKS'); //} $rating['votestextimg'] = 'VOTE'; if ((int)$rating['votescountfile'] > 1) { $rating['votestextimg'] = 'VOTES'; } $o .= '<div style="float:left;"><strong>' . JText::_('COM_PHOCADOWNLOAD_RATING'). '</strong>: ' . $rating['votesaveragefile'] .' / ' .$rating['votescountfile'] . ' ' . JText::_('COM_PHOCADOWNLOAD_'.$rating['votestextimg']). ' </div>'; if ($rating['alreadyratedfile']) { $o .= '<div style="float:left;"><ul class="star-rating'.$smallO.'">' .'<li class="current-rating" style="width:'.$rating['voteswidthfile'].'px"></li>' .'<li><span class="star1"></span></li>'; for ($i = 2;$i < 6;$i++) { $o .= '<li><span class="stars'.$i.'"></span></li>'; } $o .= '</ul></div>'; $or ='<div class="pd-result" id="pdresult'.(int)$id.'" style="float:left;margin-left:5px">'.JText::_('COM_PHOCADOWNLOAD_RATING_ALREADY_RATED_FILE').'</div>'; } else if ($rating['notregisteredfile']) { $o .= '<div style="float:left;"><ul class="star-rating'.$smallO.'">' .'<li class="current-rating" style="width:'.$rating['voteswidthfile'].'px"></li>' .'<li><span class="star1"></span></li>'; for ($i = 2;$i < 6;$i++) { $o .= '<li><span class="stars'.$i.'"></span></li>'; } $o .= '</ul></div>'; $or ='<div class="pd-result" id="pdresult'.(int)$id.'" style="float:left;margin-left:5px">'.JText::_('COM_PHOCADOWNLOAD_ONLY_REGISTERED_LOGGED_RATE_FILE').'</div>'; } else { $o .= '<div style="float:left;"><ul class="star-rating'.$smallO.'">' .'<li class="current-rating" style="width:'.$rating['voteswidthfile'].'px"></li>' .'<li><a href="'.$href.'" onclick="pdRating('.(int)$id.', 1)" title="1 '. JText::_('COM_PHOCADOWNLOAD_STAR_OUT_OF').' 5" class="star1">1</a></li>'; for ($i = 2;$i < 6;$i++) { $o .= '<li><a href="'.$href.'" onclick="pdRating('.(int)$id.', '.$i.')" title="'.$i.' '. JText::_('COM_PHOCADOWNLOAD_STARS_OUT_OF').' 5" class="stars'.$i.'">'.$i.'</a></li>'; } $o .= '</ul></div>'; $or ='<div class="pd-result" id="pdresult'.(int)$id.'" style="float:left;margin-left:5px"></div>'; } } if ($refresh == true) { return $o;//we are in Ajax, return only content of pdvoting div } else { return '<div id="pdvoting'.(int)$id.'">'.$o.'</div>' .$or ;//not in ajax, return the contend in div } } public function renderRateFileJS($small = 1) { $document = JFactory::getDocument(); $url = 'index.php?option=com_phocadownload&view=ratingfilea&task=rate&format=json&'.JSession::getFormToken().'=1'; $urlRefresh = 'index.php?option=com_phocadownload&view=ratingfilea&task=refreshrate&small='.$small.'&format=json&'.JSession::getFormToken().'=1'; $imgLoadingUrl = JURI::base(). 'components/com_phocadownload/assets/images/icon-loading2.gif'; $imgLoadingHTML = '<img src="'.$imgLoadingUrl.'" alt="" />'; $js = '<script type="text/javascript">' . "\n" . '<!--' . "\n"; //$js .= 'window.addEvent("domready",function() { $js .= ' function pdRating(id, vote) { var result = "pdresult" + id; var resultvoting = "pdvoting" + id; var pdRequest = new Request.JSON({ url: "'.$url.'", method: "post", onRequest: function(){ $(result).set("html", "'.addslashes($imgLoadingHTML).'"); }, onComplete: function(jsonObj) { try { var r = jsonObj; } catch(e) { var r = false; } if (r) { if (r.error == false) { $(result).set("text", jsonObj.message); // Refreshing Voting var pdRequestRefresh = new Request.JSON({ url: "'.$urlRefresh.'", method: "post", onComplete: function(json2Obj) { try { var rr = json2Obj; } catch(e) { var rr = false; } if (rr) { $(resultvoting).set("html", json2Obj.message); } else { $(resultvoting).set("text", "'.JText::_('COM_PHOCADOWNLOAD_ERROR_REQUESTING_RATING').'"); } }, onFailure: function() { $(resultvoting).set("text", "'.JText::_('COM_PHOCADOWNLOAD_ERROR_REQUESTING_RATING').'"); } }) pdRequestRefresh.send({ data: {"ratingId": id, "ratingVote": vote, "format":"json"} }); //End refreshing voting } else { $(result).set("html", r.error); } } else { $(result).set("text", "'.JText::_('COM_PHOCADOWNLOAD_ERROR_REQUESTING_RATING').'"); } }, onFailure: function() { $(result).set("text", "'.JText::_('COM_PHOCADOWNLOAD_ERROR_REQUESTING_RATING').'"); } }) pdRequest.send({ data: {"ratingId": id, "ratingVote": vote, "format":"json"}, }); };'; //$js .= '});'; $js .= "\n" . '//-->' . "\n" .'</script>'; $document->addCustomTag($js); } } ?>