| [ Index ] |
PHP Cross Reference of MyBB 1.4.13 |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * MyBB 1.4 4 * Copyright © 2008 MyBB Group, All Rights Reserved 5 * 6 * Website: http://www.mybboard.net 7 * License: http://www.mybboard.net/about/license 8 * 9 * $Id: ratethread.php 4304 2009-01-02 01:11:56Z chris $ 10 */ 11 12 define("IN_MYBB", 1); 13 define('THIS_SCRIPT', 'ratethread.php'); 14 15 $templatelist = ''; 16 require_once "./global.php"; 17 18 // Verify incoming POST request 19 verify_post_check($mybb->input['my_post_key']); 20 21 $lang->load("ratethread"); 22 23 $tid = intval($mybb->input['tid']); 24 $query = $db->simple_select("threads", "*", "tid='{$tid}'"); 25 $thread = $db->fetch_array($query); 26 if(!$thread['tid']) 27 { 28 error($lang->error_invalidthread); 29 } 30 31 $forumpermissions = forum_permissions($thread['fid']); 32 if($forumpermissions['canview'] == 0 || $forumpermissions['canratethreads'] == 0 || $mybb->usergroup['canratethreads'] == 0) 33 { 34 error_no_permission(); 35 } 36 37 // Get forum info 38 $fid = $thread['fid']; 39 $forum = get_forum($fid); 40 if(!$forum) 41 { 42 error($lang->error_invalidforum); 43 } 44 45 // Check if this forum is password protected and we have a valid password 46 check_forum_password($forum['fid']); 47 48 if($forum['allowtratings'] == 0) 49 { 50 error_no_permission(); 51 } 52 $mybb->input['rating'] = intval($mybb->input['rating']); 53 if($mybb->input['rating'] < 1 || $mybb->input['rating'] > 5) 54 { 55 error($lang->error_invalidrating); 56 } 57 $plugins->run_hooks("ratethread_start"); 58 59 if($mybb->user['uid'] != 0) 60 { 61 $whereclause = "uid='{$mybb->user['uid']}'"; 62 } 63 else 64 { 65 $whereclause = "ipaddress='".$db->escape_string($session->ipaddress)."'"; 66 } 67 $query = $db->simple_select("threadratings", "*", "{$whereclause} AND tid='{$tid}'"); 68 $ratecheck = $db->fetch_array($query); 69 70 if($ratecheck['rid'] || $mybb->cookies['mybbratethread'][$tid]) 71 { 72 error($lang->error_alreadyratedthread); 73 } 74 else 75 { 76 $plugins->run_hooks("ratethread_process"); 77 78 $db->write_query(" 79 UPDATE ".TABLE_PREFIX."threads 80 SET numratings=numratings+1, totalratings=totalratings+'{$mybb->input['rating']}' 81 WHERE tid='{$tid}' 82 "); 83 if($mybb->user['uid'] != 0) 84 { 85 $insertarray = array( 86 'tid' => $tid, 87 'uid' => $mybb->user['uid'], 88 'rating' => $mybb->input['rating'], 89 'ipaddress' => $db->escape_string($session->ipaddress) 90 ); 91 $db->insert_query("threadratings", $insertarray); 92 } 93 else 94 { 95 $insertarray = array( 96 'tid' => $tid, 97 'rating' => $mybb->input['rating'], 98 'ipaddress' => $db->escape_string($session->ipaddress) 99 ); 100 $db->insert_query("threadratings", $insertarray); 101 $time = TIME_NOW; 102 my_setcookie("mybbratethread[{$tid}]", $mybb->input['rating']); 103 } 104 } 105 $plugins->run_hooks("ratethread_end"); 106 107 if($mybb->input['ajax']) 108 { 109 echo "<success>{$lang->rating_added}</success>\n"; 110 $query = $db->simple_select("threads", "totalratings, numratings", "tid='$tid'", array('limit' => 1)); 111 $fetch = $db->fetch_array($query); 112 $width = 0; 113 if($fetch['numratings'] >= 0) 114 { 115 $averagerating = intval(round($fetch['totalratings']/$fetch['numratings'], 2)); 116 $width = $averagerating*20; 117 $fetch['numratings'] = intval($fetch['numratings']); 118 $ratingvotesav = $lang->sprintf($lang->rating_votes_average, $fetch['numratings'], $averagerating); 119 echo "<average>{$ratingvotesav}</average>\n"; 120 } 121 echo "<width>{$width}</width>"; 122 exit; 123 } 124 125 redirect(get_thread_link($thread['tid']), $lang->redirect_threadrated); 126 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Mon Apr 19 19:52:21 2010 | Cross-referenced by PHPXref 0.7 |