Hi m00h. If you want your users write only negative Karma Description, you must do next:
First, BackUp your Karma.php
Second, open Karma.php and find code:
//Loading Template of Description
if (!empty($modSettings['karmadescmod'])){
loadTemplate('DescriptionKarma');}
Replace it with this code:
//Loading Template of Description
if (!empty($modSettings['karmadescmod']) && ($_REQUEST['sa'] == "smite"))
loadTemplate('DescriptionKarma');
Then, find this:
if (!empty($modSettings['karmadescmod'])){
if (!array_key_exists('Description',$_POST) || strlen($_POST["Description"]) == 0){return;}}
And replace with this:
if (!empty($modSettings['karmadescmod']) && ($_REQUEST['sa'] == "smite")){
if (!array_key_exists('Description',$_POST) || strlen($_POST["Description"]) == 0){return;}}
if (!empty($modSettings['karmadescmod']) && ($_REQUEST['sa'] == "applaud"))
$_POST['Description'] = "applaud";
And last, find this code:
{ if ( empty($action) || empty($modSettings['karmaWaitTime']))
{ $_POST['Description'] = AddSlashes($_POST['Description']);
// Put it in the log.
Replace with:
{ if ( empty($action) || empty($modSettings['karmaWaitTime']))
{ if (empty($modSettings['karmadescmod'])) $_POST['Description'] = "Mod was disable";
// Put it in the log.
That's all, enjoy =)
Woops, sorry, just remember=) if you want your users look ONLY negative karma in Karma log, you must do next...
First, BackUp your Viewkarma.php
Second, open Viewkarma.php and find this code in function Viewkarma():
$request = db_query("
SELECT COUNT(action)
FROM {$db_prefix}log_karma
", __FILE__, __LINE__);
Replace it with this:
$request = db_query("
SELECT COUNT(action)
FROM {$db_prefix}log_karma
WHERE action = -1
", __FILE__, __LINE__);
Then, find:
$result = db_query("
SELECT lk.ID_TARGET, lk.ID_EXECUTOR, lk.logTime, lk.action, lk.Description, memt.realName AS targetName, meme.realName AS executorName
FROM {$db_prefix}log_karma AS lk, {$db_prefix}members AS memt, {$db_prefix}members AS meme
WHERE memt.ID_MEMBER = lk.ID_TARGET
AND meme.ID_MEMBER = lk.ID_EXECUTOR
ORDER BY $_REQUEST[sort] " . (isset($_REQUEST['asc']) ? 'ASC' : 'DESC') . "
LIMIT $context[start], $modSettings[karmamaxmembers]", __FILE__, __LINE__);
And replace it with:
$result = db_query("
SELECT lk.ID_TARGET, lk.ID_EXECUTOR, lk.logTime, lk.action, lk.Description, memt.realName AS targetName, meme.realName AS executorName
FROM {$db_prefix}log_karma AS lk, {$db_prefix}members AS memt, {$db_prefix}members AS meme
WHERE memt.ID_MEMBER = lk.ID_TARGET
AND meme.ID_MEMBER = lk.ID_EXECUTOR
AND lk.action = -1
ORDER BY $_REQUEST[sort] " . (isset($_REQUEST['asc']) ? 'ASC' : 'DESC') . "
LIMIT $context[start], $modSettings[karmamaxmembers]", __FILE__, __LINE__);
And last...if you want your users can see only negative karma in their profiles (I mean own karma), you must do next:
In Viewkarma.php function OwnKarma() find:
$request = db_query("
SELECT COUNT(action)
FROM {$db_prefix}log_karma
WHERE ID_TARGET=".$_REQUEST['u']."
", __FILE__, __LINE__);
Replace with:
$request = db_query("
SELECT COUNT(action)
FROM {$db_prefix}log_karma
WHERE ID_TARGET=".$_REQUEST['u']."
AND action = -1
", __FILE__, __LINE__);
Then:
$result = db_query("
SELECT lk.ID_TARGET, lk.ID_EXECUTOR, lk.logTime, lk.action, lk.Description, memt.realName AS targetName, meme.realName AS executorName
FROM {$db_prefix}log_karma AS lk, {$db_prefix}members AS memt, {$db_prefix}members AS meme
WHERE memt.ID_MEMBER = lk.ID_TARGET
AND meme.ID_MEMBER = lk.ID_EXECUTOR
AND lk.ID_TARGET = ".$_REQUEST['u']."
ORDER BY $_REQUEST[sort] " . (isset($_REQUEST['asc']) ? 'ASC' : 'DESC') . "
LIMIT $context[start], $modSettings[karmamaxmembers]", __FILE__, __LINE__);
Replace with
$result = db_query("
SELECT lk.ID_TARGET, lk.ID_EXECUTOR, lk.logTime, lk.action, lk.Description, memt.realName AS targetName, meme.realName AS executorName
FROM {$db_prefix}log_karma AS lk, {$db_prefix}members AS memt, {$db_prefix}members AS meme
WHERE memt.ID_MEMBER = lk.ID_TARGET
AND meme.ID_MEMBER = lk.ID_EXECUTOR
AND lk.ID_TARGET = ".$_REQUEST['u']."
AND lk.action = -1
ORDER BY $_REQUEST[sort] " . (isset($_REQUEST['asc']) ? 'ASC' : 'DESC') . "
LIMIT $context[start], $modSettings[karmamaxmembers]", __FILE__, __LINE__);
And in the function OtherKarma()
Find:
$request = db_query("
SELECT COUNT(action)
FROM {$db_prefix}log_karma
WHERE ID_EXECUTOR=".$_REQUEST['u']."
", __FILE__, __LINE__);
And replace with:
$request = db_query("
SELECT COUNT(action)
FROM {$db_prefix}log_karma
WHERE ID_EXECUTOR=".$_REQUEST['u']."
AND action = -1
", __FILE__, __LINE__);
Then find:
$result = db_query("
SELECT lk.ID_TARGET, lk.ID_EXECUTOR, lk.logTime, lk.action, lk.Description, memt.realName AS targetName, meme.realName AS executorName
FROM {$db_prefix}log_karma AS lk, {$db_prefix}members AS memt, {$db_prefix}members AS meme
WHERE memt.ID_MEMBER = lk.ID_TARGET
AND meme.ID_MEMBER = lk.ID_EXECUTOR
AND lk.ID_EXECUTOR = ".$_REQUEST['u']."
ORDER BY $_REQUEST[sort] " . (isset($_REQUEST['asc']) ? 'ASC' : 'DESC') . "
LIMIT $context[start], $modSettings[karmamaxmembers]", __FILE__, __LINE__);
And replace it with:
$result = db_query("
SELECT lk.ID_TARGET, lk.ID_EXECUTOR, lk.logTime, lk.action, lk.Description, memt.realName AS targetName, meme.realName AS executorName
FROM {$db_prefix}log_karma AS lk, {$db_prefix}members AS memt, {$db_prefix}members AS meme
WHERE memt.ID_MEMBER = lk.ID_TARGET
AND meme.ID_MEMBER = lk.ID_EXECUTOR
AND lk.ID_EXECUTOR = ".$_REQUEST['u']."
AND lk.action = -1
ORDER BY $_REQUEST[sort] " . (isset($_REQUEST['asc']) ? 'ASC' : 'DESC') . "
LIMIT $context[start], $modSettings[karmamaxmembers]", __FILE__, __LINE__);
Now that's all =)