Wyciokazz

reputation.php with forum

Feb 19th, 2012
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 10.93 KB | None | 0 0
  1. ]<?php
  2. /*---------------------------------------------------+
  3. |
  4. | 2007 (c)
  5. |
  6. | ver. 1.0
  7. |
  8. | skype: Mr.bdZ
  9. | mod site: http://tts.lt/~vln/test/news.php
  10. |
  11. +----------------------------------------------------*/
  12. require_once "../maincore.php";
  13. //require_once INCLUDES."forum_functions_include.php";
  14. require_once THEMES."templates/header.php";
  15. include LOCALE.LOCALESET."forum/main.php";
  16. include INFUSIONS."reputation/infusion_db.php";
  17. error_reporting(E_ALL);
  18.  
  19. if (file_exists(INFUSIONS."reputation/locale/".$settings['locale'].".php")) {
  20.     include INFUSIONS."reputation/locale/".$settings['locale'].".php";
  21. } else {
  22.     include INFUSIONS."reputation/locale/English.php";
  23. }
  24.  
  25. if (!isset($_GET['uid']) || !isnum($_GET['uid'])) redirect("index.php");
  26.  
  27. if (!isset($_GET['pid']) || !isnum($_GET['pid'])) redirect("index.php");
  28.  
  29. $uid = $_GET['uid'];
  30. $pid = $_GET['pid'];
  31. $i_tema = 1647;//Forumo temos ID, kurioje bus prane&#154;ama apie duotas reputacijas
  32.  
  33. $i_forumas = 54;//Forumo ID, kuriame yra reputaciju tema
  34.  
  35. $udata = dbarray(dbquery("SELECT user_id, user_name, user_posts, user_level FROM ".$db_prefix."users WHERE user_id = '".mysql_escape_string($_GET['uid'])."'"));
  36.  
  37. # Function
  38. function maxpost() {
  39.     global $db_prefix, $userdata;
  40.    
  41. $rsettings = dbarray(dbquery("SELECT * FROM ".$db_prefix."reputation_settings"));
  42.     $max_post = 0;
  43.    
  44.     if ($rsettings['selecttype'] == 1) {
  45.         if ($userdata['user_level'] == 103) {
  46.             $max_post = $rsettings['max_post_sadm'];
  47.         } else if ($userdata['user_level'] == 102) {
  48.             $max_post = $rsettings['max_post_adm'];
  49.         } else if ($userdata['user_level'] == 101) {
  50.             $max_post = $rsettings['max_posts'];
  51.         }
  52.     } else {
  53.         $forum_post = dbcount("(post_author)", "".$db_prefix."posts", " post_author='".$userdata['user_id']."'");
  54.        
  55.         if ($forum_post > $rsettings['forum_post1'] && $forum_post < $rsettings['forum_post2']) {
  56.             $max_post = 1; #$rsettings['forum_post1'];
  57.         } else if ($forum_post > $rsettings['forum_post2'] && $forum_post < $rsettings['forum_post3']) {
  58.             $max_post = 2; #$rsettings['forum_post2'];
  59.         }else if ($forum_post > $rsettings['forum_post3']) {
  60.             $max_post = 3; #$rsettings['forum_post3'];
  61.         }
  62.     }
  63.    
  64.     return $max_post;
  65. }
  66.  
  67. function cheakpost($user_id, $post_id) {
  68.     global $db_prefix, $userdata;
  69.    
  70.     $result = dbquery("SELECT * FROM ".$db_prefix."reputation WHERE from_id='".$userdata['user_id']."' AND to_id='$user_id' AND post_id='$post_id'");
  71.     $info = 0;
  72.     if (dbrows($result) != 0) {
  73.         $info = 1;
  74.     }
  75.     return $info;
  76. }
  77.  
  78. function totalrep($user_id) {
  79.     global $userdata;
  80.    
  81. return dbcount("(reputation_id)", "".DB_REPUTATION."", "from_id='".$userdata['user_id']."' AND to_id='".$user_id."'");
  82. }
  83.  
  84. function postauthor($user_id, $post_id) {
  85.     global $db_prefix;
  86.    
  87.     $result = dbquery("SELECT * FROM ".$db_prefix."posts WHERE post_id='$post_id' AND post_author='$user_id'");
  88.    
  89.     if (dbrows($result) != 0) {
  90.         return true;
  91.     } else {
  92.         return false;
  93.     }
  94. }
  95.  
  96. # ADD
  97. opentable($locale['rpm230'].$udata['user_name']);
  98.  
  99. if (iMEMBER && isset($_POST['addreputation'])) {
  100.     $error = 0; # no errors
  101.     $uid = $_GET['uid'];
  102.     $pid = $_GET['pid'];
  103.     $cangive = false;
  104.     if (isset($_POST['cangive'])) {
  105.         $cangive = true;
  106.     }
  107.    
  108.     if ((cheakpost($uid,$pid) != 0) && (totalrep($uid) < maxpost())) {
  109.         $error = 1; # Can`t give any more rep. for this post
  110.         $cangive = false;
  111.     } else if (totalrep($uid) >= maxpost()) {
  112.         $error = 2; # Rep. limit
  113.         $cangive = false;
  114.     }
  115.  
  116.     if ($cangive) {
  117.         if (isset($_POST['type'])) {
  118.             if (isnum($_POST['type'])) {
  119.                 $type = $_POST['type'];
  120.                 $rsettings = dbarray(dbquery("SELECT * FROM ".$db_prefix."reputation_settings"));
  121.                 if (!isset ($_POST['message']) or (($_POST['message'] == "") && ($rsettings['discription'] == 1))) {
  122.                     $error = 4; # message error
  123.                 } else if (postauthor($uid, $pid)) {
  124.                     $message = stripinput(censorwords($_POST['message']));
  125.                     $useris = dbarray(dbquery("SELECT * FROM ".$db_prefix."users WHERE user_id='".$uid."'"));
  126.                     $flink = dbarray(dbquery("SELECT * FROM ".$db_prefix."posts WHERE post_id='".$pid."'"));
  127.                     if ($type == '1') {
  128.                     $zin = $userdata['user_name']."pridėjo pasitikėjimo ".$useris['user_name']." priežastis ".$message." nuoroda: [url]".$settings['site_url']."forum/viewthread.php?forum_id=".$flink['forum_id']."&amp;thread_id=".$flink['thread_id']."&pid=".$flink['post_id']."#post_".$flink['post_id']."";
  129.                     } elseif ($type == '0') {
  130.                     $zin = $userdata['user_name']."nuėme pasitikėjimo ".$useris['user_name']." priežastis ".$message." nuoroda: [url]".$settings['site_url']."forum/viewthread.php?forum_id=".$flink['forum_id']."&amp;thread_id=".$flink['thread_id']."&pid=".$flink['post_id']."#post_".$flink['post_id']."";
  131.                     }
  132.                     $addresult = dbquery("
  133.                                 INSERT INTO
  134.                                     ".$db_prefix."reputation
  135.                                         (reputation_id, from_id, to_id, post_id, type, message, datestamp)
  136.                                 VALUES
  137.                                         ('', '".$userdata['user_id']."', '$uid', '$pid', '$type', '$message', '".time()."')
  138.                                 ");
  139.       $result = dbquery("INSERT INTO ".DB_POSTS." (forum_id, thread_id, post_message, post_showsig, post_smileys, post_author, post_datestamp, post_ip, post_edituser, post_edittime) VALUES ($i_forumas, $i_tema, '$zin', 0, 1, ".$userdata['user_id'].", ".time().", '".USER_IP."', 0, 0)");
  140.                                
  141.                 } else {
  142.                     $error = 5; # This post NOT written by this user
  143.                 }
  144.             } else {
  145.                 $error = 20; # type not NUM
  146.             }
  147.         } else {
  148.             $error = 3; # NO select rep.
  149.         }
  150.     }
  151.     redirect(FUSION_SELF."?uid=$uid&pid=$pid&error=$error", "script");
  152. }
  153.  
  154. # ADD meniu reputation
  155.  
  156. if (iMEMBER) {
  157.     $info = "";
  158.    
  159.     $error = 0;
  160.     if(isset($_GET['error']) && isnum($_GET['error'])) $error = $_GET['error'];
  161.    
  162.     if ($userdata['user_id'] == $uid) {
  163.         #edit to user_id
  164.         $info = $locale['rpm210'];
  165.     } else if(!$error) {
  166.         if ((cheakpost($uid,$pid) == 0) && (totalrep($uid) < maxpost()) && postauthor($uid,$pid)) {
  167.             $info = "<form name='inputform' method='post' action='".FUSION_SELF."?uid=$uid&pid=$pid'>
  168.                 <table cellpadding='0' cellspacing='1' width='80%' class='tbl-border' align='center'>
  169.                     <tr>
  170.                         <td align='center' class='tbl2'><input type='radio' name='type' value='1'> +1 ".$locale['rpm231']." <input type='radio' name='type' value='0'> -1 ".$locale['rpm231']."</td>
  171.                     </tr>
  172.                     <tr>
  173.                         <td align='center' class='tbl2'><textarea name='message' cols='70' rows='5' class='textbox'></textarea></td>
  174.                     </tr>
  175.                     <tr>
  176.                         <td align='center' class='tbl2'>
  177.                             <input type='button' value='b' class='button' style='font-weight:bold;width:25px;' onClick=\"addText('message', '[b]', '[/b]');\">
  178.                             <input type='button' value='i' class='button' style='font-style:italic;width:25px;' onClick=\"addText('message', '[i]', '[/i]');\">
  179.                             <input type='button' value='u' class='button' style='text-decoration:underline;width:25px;' onClick=\"addText('message', '[u]', '[/u]');\">
  180.                             <input type='button' value='url' class='button' style='width:30px;' onClick=\"addText('message', '[url]', '[/url]');\">
  181.                             <input type='button' value='mail' class='button' style='width:35px;' onClick=\"addText('message', '[mail]', '[/mail]');\">
  182.                             <input type='button' value='img' class='button' style='width:30px;' onClick=\"addText('message', '[img]', '[/img]');\">
  183.                             <input type='button' value='center' class='button' style='width:45px;' onClick=\"addText('message', '[center]', '[/center]');\">
  184.                             <input type='button' value='small' class='button' style='width:40px;' onClick=\"addText('message', '[small]', '[/small]');\">
  185.                             <input type='button' value='code' class='button' style='width:40px;' onClick=\"addText('message', '[code]', '[/code]');\">
  186.                             <input type='button' value='quote' class='button' style='width:45px;' onClick=\"addText('message', '[quote]', '[/quote]');\">
  187.                         </td>
  188.                     </tr>
  189.                     <tr>
  190.                         <td align='center' class='tbl2'>".displaysmileys("message")."</td>
  191.                     </tr>
  192.                     <tr>
  193.                         <td align='center' class='tbl2'>
  194.                             <input type='hidden' name='cangive' value='true' class='button'>
  195.                             <input type='submit' name='addreputation' value='".$locale['rpm241']."' class='button'>
  196.                         </td>
  197.                     </tr>
  198.                 </table></form>";
  199.         } else if ((cheakpost($uid,$pid) != 0) && (totalrep($uid) < maxpost())) {
  200.             $info = $locale['rpm211'];
  201.         } else if (totalrep($uid) >= maxpost()) {
  202.             $info = $locale['rpm212'].maxpost().$locale['rpm213'];
  203.         } else if (!postauthor($uid,$pid)) {
  204.             $info = "ERROR";
  205.         }
  206.     } else {
  207.         if ($error == 1) {
  208.             $info = "<br>".$locale['rpm211'];
  209.         } else if ($error == 2) {
  210.             $info = "<br>".$locale['rpm221'];
  211.         } else if ($error == 3) {
  212.             $info = "<br>".$locale['rpm222'];
  213.         } else if ($error == 4) {
  214.             $info = "<br>".$locale['rpm223'];
  215.         } else if ($error == 20) {
  216.             $info = "<br>".$locale['rpm224'];
  217.         }
  218.     }
  219. } else {
  220.     $info = "<br>".$locale['rpm214'];
  221. }
  222.  
  223. echo "<center>".$info."</center>";
  224.  
  225. closetable();
  226.  
  227. ### SHOW REP.
  228. $result = dbquery("SELECT r.*, u.user_name, u.user_id, p.thread_id, p.forum_id, p.post_id FROM ".$db_prefix."reputation r
  229.                     LEFT JOIN ".$db_prefix."users u ON u.user_id = r.from_id
  230.                     LEFT JOIN ".$db_prefix."posts p ON p.post_id=r.post_id
  231.                     WHERE to_id = '".mysql_escape_string($_GET['uid'])."' ORDER BY r.datestamp DESC");
  232.  
  233. opentable($locale['rpm232'].$udata['user_name']);
  234.  
  235. if (dbrows($result) != 0) {
  236.     echo "<br><table cellpadding='0' cellspacing='1' width='100%' class='tbl-border' align='center'>
  237.         <tr class='tbl2' height='50'>
  238.             <td align='center' width='110'><b>".$locale['rpm200']."</b></td>
  239.             <td align='center' width='250'><b>".$locale['rpm201']."</b></td>
  240.             <td align='center' width='100'><b>".$locale['rpm202']."</b></td>
  241.             <td align='center' width='120'><b>".$locale['rpm203']."</b></td>
  242.             <td align='center' width='100'><b>".$locale['rpm204']."</b></td>
  243.         </tr>";
  244.     while ($data = dbarray($result)) {
  245.    
  246.         $message = $data['message'];
  247.         if ($message != "") {
  248.             $message = parsesmileys($message);
  249.             $message = parseubb($message);
  250.             $message = nl2br($message);
  251.         }
  252.         echo "
  253.             <tr class='tbl1' height='40'>
  254.                 <td align='center'><a href='".BASEDIR."profile.php?lookup=".$data['user_id']."'>".$data['user_name']."</a></td>
  255.                 <td align='center'>$message</td>
  256.                 <td align='center'><img src='".INFUSIONS."reputation/img/".($data['type']==1?"reputation_up":"reputation_down").".gif' title='".($data['type']==1?"+1":"-1")."'></td>
  257.                 <td align='center'>".showdate("forumdate", $data['datestamp'])."</td>
  258.                 <td align='center'><a href='".BASEDIR."forum/viewthread.php?forum_id=".$data['forum_id']."&thread_id=".$data['thread_id']."&pid=".$data['post_id']."#post_".$data['post_id']."'>".$locale['rpm242']."</a></td>
  259.             </tr>";
  260.     }
  261.     echo "</table>";
  262.    
  263.     echo "<br><br><center>".$locale['rpm233']."<b>".(dbcount("(to_id)", "".DB_REPUTATION."", " to_id='".$uid."'"))."</b>".$locale['rpm234'];
  264. } else {
  265.     echo "<center><br><br><br>".$locale['rpm217']."<br><br><br>";
  266. }
  267.  
  268. $data = dbarray(dbquery("SELECT thread_id, forum_id, post_id FROM ".$db_prefix."posts WHERE post_id='$pid'"));
  269.  
  270. echo "<br><br><a href='".BASEDIR."forum/viewthread.php?forum_id=".$data['forum_id']."&thread_id=".$data['thread_id']."&pid=".$data['post_id']."#post_".$data['post_id']."'>".$locale['rpm240']."</a></center>";
  271. closetable();
  272.  
  273. require_once THEMES."templates/footer.php";
  274. ?>
Advertisement
Add Comment
Please, Sign In to add comment