0) list ($action) = mysql_fetch_row($request); mysql_free_result($request); } // They haven't, not before now, anyhow. if (empty($action) || empty($modSettings['karmaWaitTime'])) { //Prepare link if (isset ($_REQUEST['topic'])) { $link = ($_REQUEST['topic']).'.msg'.($_REQUEST['m']).'#'.'msg'.($_REQUEST['m']); $link = AddSlashes($link); } elseif (isset($_REQUEST['f'])) { $link = 'PM'; } // Put it in the log. db_query(" INSERT INTO {$db_prefix}log_karma (action, ID_TARGET, Description, link, ID_EXECUTOR, logTime) VALUES ($dir, $_REQUEST[uid], '$Description', '$link', $ID_MEMBER, ". time()." ) ", __FILE__, __LINE__); // Change by one. updateMemberData($_REQUEST['uid'], array($dir == 1 ? 'karmaGood' : 'karmaBad' => '+')); } else { $request = db_query(" SELECT logTime FROM {$db_prefix}log_karma WHERE ID_TARGET=$_REQUEST[uid] AND ID_EXECUTOR=$ID_MEMBER ORDER BY logTime DESC LIMIT 1 ", __FILE__, __LINE__); $row = mysql_fetch_assoc($request); mysql_free_result($request); $restricttime = time() - $row['logTime']; $timelog = (int) ($modSettings['karmaWaitTime'] * 3600); // If you are gonna try to repeat.... don't allow it. if ($restricttime < $timelog) fatal_error($txt['smf62'] . ' ' . $modSettings['karmaWaitTime'] . ' ' . $txt[578] . '.', false); //Prepare link if (isset ($_REQUEST['topic'])) { $link = ($_REQUEST['topic']).'.msg'.($_REQUEST['m']).'#'.'msg'.($_REQUEST['m']); $link = AddSlashes($link); } elseif (isset($_REQUEST['f'])) { $link = 'PM'; } // You decided to go back on your previous choice? db_query(" INSERT INTO {$db_prefix}log_karma (action, ID_TARGET, Description, link, ID_EXECUTOR, logTime) VALUES ($dir, $_REQUEST[uid], '$Description', '$link', $ID_MEMBER, ". time()." ) ", __FILE__, __LINE__); // It was recently changed the OTHER way... so... reverse it! if ($dir == 1) updateMemberData($_REQUEST['uid'], array('karmaGood' => '+')); else updateMemberData($_REQUEST['uid'], array('karmaBad' => '+')); } // Figure out where to go back to.... the topic? if (isset($topic)) redirectexit('topic=' . $topic . '.' . $_REQUEST['start'] . '#msg' . $_REQUEST['m']); // Hrm... maybe a personal message? elseif (isset($_REQUEST['f'])) redirectexit('action=pm;f=' . $_REQUEST['f'] . ';start=' . $_REQUEST['start'] . (isset($_REQUEST['l']) ? ';l=' . $_REQUEST['l'] : '') . (isset($_REQUEST['pm']) ? '#' . $_REQUEST['pm'] : '')); else { echo ' ... « '; obExit(false); } } // Modify a user's karma. function ModifyKarma() { global $modSettings, $db_prefix, $txt, $ID_MEMBER, $user_info, $topic, $scripturl; // If the mod is disabled, show an error. if (empty($modSettings['karmaMode'])) fatal_lang_error('smf63'); if (!empty($modSettings['karmasurv'])) ModKarm(); // If you're a guest or can't do this, blow you off... is_not_guest(); // If you have ANY warning, also blow you off if ($user_info['warning'] > 1) fatal_error($txt['visual_no_karma']); isAllowedTo('karma_edit'); // If you don't have enough posts, tough luck. if ($user_info['posts'] < $modSettings['karmaMinPosts']) fatal_error($txt['smf60'] . $modSettings['karmaMinPosts'] . '.'); // And you can't modify your own, punk! (use the profile if you need to.) if (empty($_REQUEST['uid']) || (int) $_REQUEST['uid'] == $ID_MEMBER) fatal_lang_error('smf61', false); // The user ID _must_ be a number, no matter what. $_REQUEST['uid'] = (int) $_REQUEST['uid']; // Applauding or smiting? $dir = $_REQUEST['sa'] != 'applaud' ? -1 : 1; // Users can change karma to only topic starter if you check this function if (!empty($modSettings['karmatopicstarter'])) { $request = db_query(" SELECT ID_MEMBER_STARTED FROM {$db_prefix}topics WHERE ID_TOPIC = $_REQUEST[topic] LIMIT 1", __FILE__, __LINE__); $row = mysql_fetch_row($request); mysql_free_result($request); if ($_REQUEST['uid'] != $row[0] && $user_info['is_admin']!=1) fatal_lang_error('karma_not_topic_starter', false); } //Loading Template of Description if (!empty($modSettings['karmadescmod'])){ loadTemplate('DescriptionKarma');} //Prepare some variables $context['page_title'] = $txt['viewkarma_title']; $context['linktree'][] = array( 'url' => $scripturl . '?action=modifykarma', 'name' => $txt['viewkarma_title'] ); // Start off with no change in karma. $action = 0; // Not an administrator... or one who is restricted as well. if (!empty($modSettings['karmaTimeRestrictAdmins']) || !allowedTo('moderate_forum')) { // Find out if this user has done this recently... $request = db_query(" SELECT action FROM {$db_prefix}log_karma WHERE ID_TARGET = $_REQUEST[uid] AND ID_EXECUTOR = $ID_MEMBER LIMIT 1", __FILE__, __LINE__); if (mysql_num_rows($request) > 0) list ($action) = mysql_fetch_row($request); mysql_free_result($request); } // They haven't, not before now, anyhow. /* if (empty($action)) { // Put it in the log. db_query(" REPLACE INTO {$db_prefix}log_karma (action, ID_TARGET, ID_EXECUTOR, logTime) VALUES ($dir, $_REQUEST[uid], $ID_MEMBER, " . time() . ')', __FILE__, __LINE__); // Change by one. updateMemberData($_REQUEST['uid'], array($dir == 1 ? 'karmaGood' : 'karmaBad' => '+')); } else { // If you are gonna try to repeat.... don't allow it. if ($action == $dir) fatal_error($txt['smf62'] . ' ' . $modSettings['karmaWaitTime'] . ' ' . $txt[578] . '.', false); // You decided to go back on your previous choice? db_query(" UPDATE {$db_prefix}log_karma SET action = $dir, logTime = " . time() . " WHERE ID_TARGET = $_REQUEST[uid] AND ID_EXECUTOR = $ID_MEMBER LIMIT 1", __FILE__, __LINE__); */ /* They haven't, not before now, anyhow. If the key isn't in the array it will return. Or if it does exist and it's length is 0 then it will return. If Karma Description Mod disable then easy smite or applaud */ if (!empty($modSettings['karmadescmod'])){ if (!array_key_exists('Description',$_POST) || strlen($_POST["Description"]) == 0){return;}} { if ( empty($action) || empty($modSettings['karmaWaitTime'])) { $_POST['Description'] = AddSlashes($_POST['Description']); if (!empty($modSettings['karmacensor'])) censorText($_POST['Description']); //Prepare link if (isset ($_REQUEST['topic'])) { $link = ($_REQUEST['topic']).'.msg'.($_REQUEST['m']).'#'.'msg'.($_REQUEST['m']); $link = AddSlashes($link); } elseif (isset($_REQUEST['f'])) { $link = 'PM'; } // Put it in the log. db_query(" INSERT INTO {$db_prefix}log_karma (action, ID_TARGET, Description, link, ID_EXECUTOR, logTime) VALUES ($dir, $_REQUEST[uid], '$_POST[Description]', '$link', $ID_MEMBER, ". time()." ) ", __FILE__, __LINE__); // Change by one. updateMemberData($_REQUEST['uid'], array($dir == 1 ? 'karmaGood' : 'karmaBad' => '+')); } else { $request = db_query(" SELECT logTime FROM {$db_prefix}log_karma WHERE ID_TARGET=$_REQUEST[uid] AND ID_EXECUTOR=$ID_MEMBER ORDER BY logTime DESC LIMIT 1 ", __FILE__, __LINE__); $row = mysql_fetch_assoc($request); mysql_free_result($request); $restricttime = time() - $row['logTime']; $timelog = (int) ($modSettings['karmaWaitTime'] * 3600); // If you are gonna try to repeat.... don't allow it. if ($restricttime < $timelog) fatal_error($txt['smf62'] . ' ' . $modSettings['karmaWaitTime'] . ' ' . $txt[578] . '.', false); //Prepare link if (isset ($_REQUEST['topic'])) { $link = ($_REQUEST['topic']).'.msg'.($_REQUEST['m']).'#'.'msg'.($_REQUEST['m']); $link = AddSlashes($link); } elseif (isset($_REQUEST['f'])) { $link = 'PM'; } // You decided to go back on your previous choice? db_query(" INSERT INTO {$db_prefix}log_karma (action, ID_TARGET, Description, link, ID_EXECUTOR, logTime) VALUES ($dir, $_REQUEST[uid], '$_POST[Description]', '$link', $ID_MEMBER, ". time()." ) ", __FILE__, __LINE__); // It was recently changed the OTHER way... so... reverse it! if ($dir == 1) updateMemberData($_REQUEST['uid'], array('karmaGood' => '+')); else updateMemberData($_REQUEST['uid'], array('karmaBad' => '+')); } } // Figure out where to go back to.... the topic? if (isset($topic)) redirectexit('topic=' . $topic . '.' . $_REQUEST['start'] . '#msg' . $_REQUEST['m']); // Hrm... maybe a personal message? elseif (isset($_REQUEST['f'])) redirectexit('action=pm;f=' . $_REQUEST['f'] . ';start=' . $_REQUEST['start']); // JavaScript as a last resort. /* else { echo ' ... « '; obExit(false); } } */ // What's this? I dunno, what are you talking about? Never seen this before, nope. No siree. function BookOfUnknown() { global $context; if (strpos($_GET['action'], 'mozilla') !== false && !$context['browser']['is_gecko']) redirectexit('http://www.getfirefox.com/', false); elseif (strpos($_GET['action'], 'mozilla') !== false) redirectexit('about:mozilla', false); echo ' The Book of Unknown, 2:18
Woe, it was that his name wasn\'t known, that he came in mystery, and was recognized by none. And it became to be in those days something.  Something not yet unknown to mankind.  And thus what was to be known the secret project began into its existence.  Henceforth the opposition was only weary and fearful, for now their match was at arms against them.
from The Book of Unknown, 2:18
'; obExit(false); } } ?>