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.
';
obExit(false);
}
}
?>