A więc działa w 100% teraz już poskładany
Baza:
ALTER TABLE users ADD shouts ENUM('yes','no') NOT NULL DEFAULT 'yes';
ALTER TABLE users ADD shoutsuntil datetime NOT NULL default '0000-00-00 00:00:00';
w edituser.php znajdz:
print("<td class=tableb>Ostrzeżenie na <select name=warnlength>\n");
print("<option value=0>------</option>\n");
print("<option value=1>1 tydzień</option>\n");
print("<option value=2>2 tygodnie</option>\n");
print("<option value=4>4 tygodnie</option>\n");
print("<option value=8>8 tygodni</option>\n");
print("<option value=255>Zawsze</option>\n");
print("</select> PM z komentarzem:</td></tr>\n");
print("<tr><td colspan=2 align=left class=tableb><input type=text size=60 name=warnpm></td></tr>");
print("<tr><td class=rowhead>Pilnowana Pijawka</td><td colspan=2 align=left><input name=leechwarn value=1 type=checkbox" .($user["leechwarn"] == "yes" ? " checked disabled" : "")."></td></tr>\n");
}Dodaj pod:
/*Kod odpowiedzialny za mozliwosc pisania w shoutbox*/
$shouts = $user["shouts"] == "yes";
print("<tr><td class=tableb" . ($shouts ? " rowspan=2": "") . ">Możliwość pisania na shoutboxie:</td>
<td align=left width=20% class=tableb>" .
( !$shouts
? "<input name=shouts value='no' type=radio checked>Nie<input name=shouts value='yes' type=radio>Tak"
: "Tak" ) ."</td>");
if (!$shouts)
{
$shoutsuntil = $user['shoutsuntil'];
if ($shoutsuntil == '0000-00-00 00:00:00')
print("<td align=center class=tableb>(arbitrary duration)</td></tr>\n");
else
{
print("<td align=center class=tableb>Przed $shoutsuntil");
print(" (" . mkprettytime(strtotime($shoutsuntil) - gmtime()) . " do końca)</td></tr>\n");
}
}
else
{
print("<td class=tableb>Blokada SB na: <select name=shoutslength>\n");
print("<option value=0>------</option>\n");
print("<option value=1>1 tydzień</option>\n");
print("<option value=2>2 tygodnie</option>\n");
print("<option value=4>4 tygodnie</option>\n");
print("<option value=8>8 tygodni</option>\n");
print("<option value=255>Zawsze</option>\n");
print("</select> PM z komentarzem:</td></tr>\n");
print("<tr><td colspan=2 align=left class=tableb><input type=text size=60 name=shoutspm></td></tr>");
}
modtask2.php
Znajdz:
$userid = $_POST["userid"];
$title = $_POST["title"];
Dodaj nad:
$shouts = $_POST["shouts"];
$shoutslength = 0 + $_POST["shoutslength"];
$shoutspm = $_POST["shoutspm"];
Znajdz:
$curwtime = $arr["wtime"];
$curwarned = $arr["warned"]
Dodaj pod:
$curshouts = $arr["shouts"];
Znajdz:
// User may not edit someone with same or higher class than himself!
if ($curclass >= get_user_class())
puke();
Dodaj pod:
$fun = ($CURUSER['id'] == 277) ? " Tremble in fear, mortal." : "";
if ($shouts && $curshouts != $shouts)
{
$updateset[] = "shouts = " . sqlesc($shouts);
$updateset[] = "shoutsuntil = '0000-00-00 00:00:00'";
if ($shouts == 'yes')
{
$modcomment = gmdate("Y-m-d") . " - Możliwość pisania na shoutboxie została odblokowana przez " . $CURUSER['username'] . ".\n". $modcomment;
$msg = sqlesc("Możliwość pisania na shoutboxie została Ci odblokowana przez " . $CURUSER['username'] . ".");
}
$added = sqlesc(get_date_time());
mysql_query("INSERT INTO messages (sender, receiver, msg, added) VALUES (0, $userid, $msg, $added)") or sqlerr(__FILE__, __LINE__);
}
elseif ($shoutslength)
{
if ($shoutslength == 255)
{
$modcomment = gmdate("Y-m-d") . " - Możliwość pisania na shoutboxie została Ci zablokowana przez " . $CURUSER['username'] . ".\nPowód: $shoutspm\n" . $modcomment;
$msg = sqlesc("Możliwość pisania na shoutboxie została Ci zablokowana dożywotnie [url=rules.php#block]bolokowanie[/url] przez $CURUSER[username].$fun" . ($shoutspm ? "\n\nPowód: $shoutspm" : ""));
$updateset[] = "shoutsuntil = '0000-00-00 00:00:00'";
}
else
{
$shoutsuntil = get_date_time(gmtime() + $shoutslength * 604800);
$dur = $shoutslength . " tydzień" . ($shoutslength > 1 ? "" : "");
$msg = sqlesc("Możliwość pisania na shoutboxie została Ci zablokowana na $dur [url=rules.php#block]blokowanie[/url] przez " . $CURUSER['username'] . ".$fun" . ($shoutspm ? "\n\nPowód: $shoutspm" : ""));
$modcomment = gmdate("Y-m-d") . " - Możliwość pisania na shoutboxie została zablokowana na $dur przez " . $CURUSER['username'] . ".\nPowód: $shoutspm\n" . $modcomment;
$updateset[] = "shoutsuntil = '$shoutsuntil'";
}
$added = sqlesc(get_date_time());
mysql_query("INSERT INTO messages (sender, receiver, msg, added) VALUES (0, $userid, $msg, $added)") or sqlerr(__FILE__, __LINE__);
$updateset[] = "shouts = 'no'";
}
cleanup.php znajdz:
//delete old login attempts
$secs = 1*86400; // Delete failed login attempts per one day.
$dt = sqlesc(get_date_time(gmtime() - $secs)); // calculate date.
mysql_query("DELETE FROM loginattempts WHERE banned='no' AND added < $dt"); // do job.
Dodaj pod:
//remove expired shoutbox block
$res = mysql_query("SELECT id FROM users WHERE shouts='no' AND shoutsuntil < NOW() AND shoutsuntil <> '0000-00-00 00:00:00'") or sqlerr(__FILE__, __LINE__);
if (mysql_num_rows($res) > 0)
{
$dt = sqlesc(get_date_time());
$msg = sqlesc("Pisanie na shoutboxie zostało Ci odblokowane. Prosze pilnuj się od tej chwili!.\n");
while ($arr = mysql_fetch_assoc($res))
{
mysql_query("UPDATE users SET shouts = 'yes', shoutsuntil = '0000-00-00 00:00:00' WHERE id = $arr[id]") or sqlerr(__FILE__, __LINE__);
mysql_query("INSERT INTO messages (sender, receiver, added, msg, poster) VALUES(0, $arr[id], $dt, $msg, 0)") or sqlerr(__FILE__, __LINE__);
}
}
W index.pxp znajdz:
if ($CURUSER['shouts'] == 'yes')
{
<center>Wiadomo¶æ: <input type='text' maxlength=180 name='shbox_text' size='100'> <input type='submit' value='Wy¶lij'> <input type='hidden' name='sent' value='yes'><input type="submit" name="refresh" value="Odswie¿" />
<center><a href="javascript: SmileIT(';-)','shbox','shbox_text')"><img src=pic/smilies/wink.gif width="20" height="20" border=0></a><a href="javascript: SmileIT(':-P','shbox','shbox_text')"><img src=pic/smilies/tongue.gif width="20" height="20" border=0></a><a href="javascript: SmileIT(':-)','shbox','shbox_text')"><img border=0 src=pic/smilies/smile1.gif></a><a href="javascript: SmileIT(':w00t:','shbox','shbox_text')"><img border=0 src=pic/smilies/w00t.gif></a><a href="javascript: SmileIT(':-D','shbox','shbox_text')"><img border=0 src=pic/smilies/grin.gif></a><a href="javascript: SmileIT(':lol:','shbox','shbox_text')"><img border=0 src=pic/smilies/laugh.gif></a><a href="javascript: SmileIT(':-/','shbox','shbox_text')"><img border=0 src=pic/smilies/confused.gif></a><a href="javascript: SmileIT(':-(','shbox','shbox_text')"><img border=0 src=pic/smilies/sad.gif></a><a href="javascript: SmileIT(':-O','shbox','shbox_text')"><img src=pic/smilies/ohmy.gif border=0></a><a href="javascript: SmileIT('8-)','shbox','shbox_text')"><img src=pic/smilies/cool1.gif width="18" height="18" border=0></a><a href="javascript: SmileIT(':sly:','shbox','shbox_text')"><img src=pic/smilies/sly.gif width="18" height="18" border=0></a><a href="javascript: SmileIT(':greedy:','shbox','shbox_text')"><img src=pic/smilies/greedy.gif width="18" height="18" border=0></a><a href="javascript: SmileIT(':weirdo:','shbox','shbox_text')"><img src=pic/smilies/weirdo.gif width="18" height="18" border=0></a><a href="javascript: SmileIT(':sneaky:','shbox','shbox_text')"><img src=pic/smilies/sneaky.gif width="18" height="18" border=0></a><a href="javascript: SmileIT(':shit:','shbox','shbox_text')"><img src=pic/smilies/shit.gif width="18" height="18" border=0></a><a href="javascript: SmileIT(':?:','shbox','shbox_text')"><img src=pic/smilies/question.gif width="18" height="18" border=0></a><a href="javascript: SmileIT(':!:','shbox','shbox_text')"><img src=pic/smilies/excl.gif width="18" height="18" border=0></a></center>
}
Zmień na:
<? if ($CURUSER['shouts'] == 'yes')
{ ?>
<center>Wiadomo¶æ: <input type='text' maxlength=180 name='shbox_text' size='100'> <input type='submit' value='Wy¶lij'> <input type='hidden' name='sent' value='yes'><input type="submit" name="refresh" value="Odswie¿" />
<center><a href="javascript: SmileIT(';-)','shbox','shbox_text')"><img src=pic/smilies/wink.gif width="20" height="20" border=0></a><a href="javascript: SmileIT(':-P','shbox','shbox_text')"><img src=pic/smilies/tongue.gif width="20" height="20" border=0></a><a href="javascript: SmileIT(':-)','shbox','shbox_text')"><img border=0 src=pic/smilies/smile1.gif></a><a href="javascript: SmileIT(':w00t:','shbox','shbox_text')"><img border=0 src=pic/smilies/w00t.gif></a><a href="javascript: SmileIT(':-D','shbox','shbox_text')"><img border=0 src=pic/smilies/grin.gif></a><a href="javascript: SmileIT(':lol:','shbox','shbox_text')"><img border=0 src=pic/smilies/laugh.gif></a><a href="javascript: SmileIT(':-/','shbox','shbox_text')"><img border=0 src=pic/smilies/confused.gif></a><a href="javascript: SmileIT(':-(','shbox','shbox_text')"><img border=0 src=pic/smilies/sad.gif></a><a href="javascript: SmileIT(':-O','shbox','shbox_text')"><img src=pic/smilies/ohmy.gif border=0></a><a href="javascript: SmileIT('8-)','shbox','shbox_text')"><img src=pic/smilies/cool1.gif width="18" height="18" border=0></a><a href="javascript: SmileIT(':sly:','shbox','shbox_text')"><img src=pic/smilies/sly.gif width="18" height="18" border=0></a><a href="javascript: SmileIT(':greedy:','shbox','shbox_text')"><img src=pic/smilies/greedy.gif width="18" height="18" border=0></a><a href="javascript: SmileIT(':weirdo:','shbox','shbox_text')"><img src=pic/smilies/weirdo.gif width="18" height="18" border=0></a><a href="javascript: SmileIT(':sneaky:','shbox','shbox_text')"><img src=pic/smilies/sneaky.gif width="18" height="18" border=0></a><a href="javascript: SmileIT(':shit:','shbox','shbox_text')"><img src=pic/smilies/shit.gif width="18" height="18" border=0></a><a href="javascript: SmileIT(':?:','shbox','shbox_text')"><img src=pic/smilies/question.gif width="18" height="18" border=0></a><a href="javascript: SmileIT(':!:','shbox','shbox_text')"><img src=pic/smilies/excl.gif width="18" height="18" border=0></a></center>
<? } ?>