Форум -> Обо всём... -> репутация на форуме | репутация на форуме |
---|
rocksmart | Дата: 29.05.2008, в 20:32 | Сообщение №1 | СтарожилПользователь №: 261 Сообщений: 330
| Приделал репутацию к форуму от зомби.
Достал код из админки Privat .
Косяк в том что при изменении репутации в приват и на почту приходят сообщения пользователю без имени кто поднял репутацию. Если репутацию изменяет админ то имя админа появляеться.
Так вот как можно сделать чтобы кто изменяет репутацию того имя в письме и было.
Код | 1
| function user_warnings($f_user, $t_user, $type, $user_id) {
global $prefix, $db, $admin, $admin_file, $aueditor, $multilingual, $stop;
include("header.php");
OpenTable();
$result = $db->sql_query("SELECT * FROM ".$prefix."_users WHERE user_id = '$user_id'");
if ($db->sql_numrows($result) > 0)
{
$row = $db->sql_fetchrow($result);
$user_id = $row[user_id];
$user_name = $row[user_name];
$warnings = $row[user_warnings];
$private = $row[user_private];
$files = $row[user_files];
}
echo "<TABLE class=bgcolor4 cellSpacing=1 width=\"100%\"><TBODY><TR><TH>Предуреждение пользователю $user_name</th></TR></TABLE>";
echo "<TABLE class=bgcolor4 cellSpacing=1 width=\"100%\"><form name=\"post\" action=\"index.php?name=Forums&op=warnings_save\" method=\"post\"><TD class=bgcolor1 width=\"40%\"></TD><TD class=bgcolor1 width=\"60%\">";
if ($type == 1) {echo "<input style=\"cursor: pointer;\" type=\"radio\" name=\"type\" value=\"1\" checked> <font color=\"#FF3300\">Поднять репутацию</font><br>";
} elseif ($type == 0) {echo "<input style=\"cursor: pointer;\" type=\"radio\" name=\"type\" value=\"1\"> <font color=\"#FF3300\">Поднять репутацию</font><br>";
}
echo"<input type=\"hidden\" name=\"f_user\" value=\"".substr($admin[1], 0, 25)."\" maxlength=\"50\" size=\"50\" style=\"width:400px;\">";
echo"<tr><TD class=bgcolor1>Заголовок:</td><TD class=bgcolor1><input type=\"text\" name=\"title\" value=\"$title\" maxlength=\"50\" size=\"50\" style=\"width:400px;\"></td></tr>";
echo"<tr><td class=bgcolor1>Причина предупреждения:</td><td class=bgcolor1><textarea id=\"area\" name=\"text\" cols=\"65\" rows=\"10\" style=\"width:400px\" OnKeyPress=\"TransliteFeld(this, event)\" OnSelect=\"FieldName(this, this.name)\" OnClick=\"FieldName(this, this.name)\" OnKeyUp=\"FieldName(this, this.name)\"></textarea>";if($aueditor =="1"){echo"".get_codes("area")."";}echo"</td></tr>";
echo "<input name=\"user_name\" type=\"hidden\" value=\"$user_name\">\n";
echo "</td></tr></table>";
echo "<center><br><input type='hidden' name='op' value='warnings_save'><input type='hidden' name='user_id' value='$user_id'><input type='submit' value='Отправить'></center></form>";
echo "<hr><center><a href=\"javascript:history.go(-1)\">назад</center></a>";
CloseTable();
include("footer.php");
}
function warnings_save($type, $text, $f_user, $title, $user_name, $privates, $files, $user_id) {
global $prefix, $db, $admin_file, $homeurl, $sitename, $adminmail, $stop;
$time = time() + ($TIME_DIFFERENCE * 3600);
include("header.php");
if ($text == "") $stop = "Вы обязательно должны ввести предупреждения!";
if ($type == 0) {
$result = $db->sql_query("SELECT user_warningsm FROM ".$prefix."_users WHERE user_id = '$user_id' AND user_warningsm >'0'");
} elseif ($type == 1) {
$result = $db->sql_query("SELECT user_warningsm FROM ".$prefix."_users WHERE user_id = '$user_id' AND user_warningsm <'10'");
if ($db->sql_numrows($result) == 0) $stop = "У этого пользователя максимальное количество предупреждений!";
}
if (!$stop) {
$from = $adminmail;
$subject = ""._MESEMAIL." ($sitename)";
$result = $db->sql_query("SELECT user_email FROM ".$prefix."_users WHERE user_id = '$user_id'");
while ($row = $db->sql_fetchrow($result)) {
$user_email = $row['user_email'];
$mailheaders = "Content-Type: text/html; charset="._CHARSET."\n";
$mailheaders .= "X-Sender: <$adminmail>\n";
$mailheaders .= "X-Priority: 3\n";
$mailheaders .= "From: $sitename <$adminmail>\n";
$mailheaders .= "Reply-To: $adminmail\n\n";
$content = "<b>$t_user </b><br>"._MESEMAIL2."<p>"._HEADER.": $title<br>"._FROMUSER.": $f_user<p><a href=\"$homeurl/index.php?name=Private\" target=\"_blank\">$homeurl/index.php?name=Private</a><br>-------------------------------------------------------<p>$sitename<br><p>";
mail($user_email, $subject, $content, $mailheaders);
}
if ($type == 0) {
$w ="<font color=\"red\"><b>[-1]</b></font> $text";
$title = "Изменение репутации";
$db->sql_query("UPDATE ".$prefix."_users set user_warningsm=user_warningsm -1, user_private='$privates', user_files='$files' WHERE user_id=$user_id");
$db->sql_query("INSERT INTO ".$prefix."_forum_rep VALUES (NULL, '$title', '$w', '$f_user', '$user_name', '2', '$time', '$filename', '$filesize', '$realname', '$filetype', '$imagename')");
$db->sql_query("INSERT INTO ".$prefix."_private VALUES (NULL, '$title', '$w', '$f_user', '$user_name', '2', '$time', '$filename', '$filesize', '$realname', '$filetype', '$imagename')");
} elseif ($type == 1) {
$w ="<font color=\"#FF3300\"><b>[+1]</b></font> $text";
$title = "Изменение репутации";
$db->sql_query("INSERT INTO ".$prefix."_forum_rep VALUES (NULL, '$title', '$w', '$f_user', '$user_name', '2', '$time', '$filename', '$filesize', '$realname', '$filetype', '$imagename')");
$db->sql_query("INSERT INTO ".$prefix."_private VALUES (NULL, '$title', '$w', '$f_user', '$user_name', '2', '$time', '$filename', '$filesize', '$realname', '$filetype', '$imagename')");
$db->sql_query("UPDATE ".$prefix."_users set user_warningsm=user_warningsm+1, user_private='$privates', user_files='$files' WHERE user_id=$user_id");
}
Header("Location: index.php?name=Forums&op=showlastpost&id=$_POST[tid]");
} else {
OpenTable();
echo "<center>$stop<br><br>"._GOBACK."</center>";
CloseTable();
}
include("footer.php");
} |
Вот эта переменная $f_user должна быть равна пользователю который изменяет репутацию.
Блин 2 сижу не могу врубиться |
| | | rocksmart | Дата: 29.05.2008, в 20:34 | Сообщение №2 | СтарожилПользователь №: 261 Сообщений: 330
| И еще один вопрос пользователь может изменять репутацию хоть десять раз подряд а надо чтобы мог изменять репутацию только через 2 недели |
| | rocksmart | Дата: 30.05.2008, в 18:00 | Сообщение №3 | СтарожилПользователь №: 261 Сообщений: 330
| ну что никто не может помочь? |
| | leo | Дата: 30.05.2008, в 18:10 | Сообщение №4 | СтарожилПользователь №: 47 Сообщений: 321
| В пятницу, вечером, когда пиво кругом.. такие вопросы задавать... ну хз.. |
| | | Вы не можете ответить в тему анонимно, пожалуйста, войдите или зарегистрируйтесь!
|
|