[MOD] Pomóg?
|
slawekneo |
Dodany dnia 31.07.2006 21:20:18
|

Bywalec

Postów: 915 Pomógł: 41
Data rejestracji: 12.03.2006 07:28
|
Witam
juz z tytulu mozna sie domyslic ze chodzi o punkty nadawane przez autora tematu za pomoc na forum :D (i niech mi nikt nie pisze ze mod jest zplagiatowany z extreme, bo pisalem go wlasnoorecznie!!)

Maly opis co bedzie robione:
A)stopien trudnosci << ?atwy >>
B) bedziemy edytowac takie pliki jak:
1.viewthread.php
2.post.php
3.postify.php
C)bedziemy dodawac nowa pozycje w DB o nazwie "help"
D)dodamy nowy plik o nazwie "view_post_helping_user.php"
Mod jest do wersji 6.01.X (najnowsza) || (wszystkie zmiany w plikach zostaly zaznaczone pogrubieniem)
1)zabieramy sie za baze danych; wchodzimy w Panel admina/zarzadzanie strona/zarzadzanie panelami/dodaj nowy
2)w tresci wpisujemy ten kod
$result = dbquery("ALTER TABLE ".$db_prefix."posts ADD post_help SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0'");
$result2 = dbquery("ALTER TABLE ".$db_prefix."users ADD user_help_point SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0'");
[color=orange][b]$result3 = dbquery("ALTER TABLE ".$db_prefix."threads ADD thread_help1 SMALLINT(3) UNSIGNED NOT NULL DEFAULT '0'");[/b][/color]
if ($result) { echo"Pozycja post_help zostala dodana do tabeli posts w bazie danych"; }
if ($result2) { echo"Pozycja user_help_point zostala dodana do tabeli users w bazie danych"; }
[color=orange][b]if ($result3) { echo"Pozycja thread_help zostala dodana do tabeli threads w bazie danych"; }[/b][/color]
i wciskamy podglad jezeli pojawil sie ten napis tabele w bazie danych zaladowane!!! to oznacza iz baza zostala dodana i wszystko jest GIT; nie zapisujemy panelu tylko wychodzimy z PA
3)Zabieramy sie za edycje plikow, zacznijmy od najlatwiejszych czyli od post.php (wstawie caly kod pliku i zaznacze pogrubieniem zmiany w kodzie)<?php
/*---------------------------------------------------+
| PHP-Fusion 6 Content Management System
+----------------------------------------------------+
| Copyright © 2002 - 2006 Nick Jones
| http://www.php-fusion.co.uk/
+----------------------------------------------------+
| Released under the terms & conditions of v2 of the
| GNU General Public License. For details refer to
| the included gpl.txt file or visit http://gnu.org
+----------------------------------------------------*/
require_once "../maincore.php";
require_once BASEDIR."subheader.php";
require_once BASEDIR."side_left.php";
include LOCALE.LOCALESET."forum/post.php";
require_once INCLUDES."forum_functions_include.php";
if (!FUSION_QUERY || !isset($forum_id) || !isNum($forum_id)) fallback("index.php");
$result = dbquery(
"SELECT f.*, f2.forum_name AS forum_cat_name
FROM ".$db_prefix."forums f
LEFT JOIN ".$db_prefix."forums f2 ON f.forum_cat=f2.forum_id
WHERE f.forum_id='".$forum_id."'"
);
if (dbrows($result)) {
$fdata = dbarray($result);
if (!checkgroup($fdata['forum_access']) || !$fdata['forum_cat']) fallback("index.php");
} else {
fallback("index.php");
}
if (!checkgroup($fdata['forum_posting'])) fallback("index.php");
$forum_mods = explode(".", $fdata['forum_moderators']);
if (iMEMBER && in_array($userdata['user_id'], $forum_mods)) { define("iMOD", true); } else { define("iMOD", false); }
$caption = $fdata['forum_cat_name']." | ".$fdata['forum_name'];
if ($action == "newthread") {
include "postnewthread.php";
} elseif ($action == "reply") {
if (!isset($thread_id) || !isNum($thread_id)) fallback("index.php");
$result = dbquery("SELECT * FROM ".$db_prefix."threads WHERE thread_id='".$thread_id."' AND forum_id='".$fdata['forum_id']."'");
if (dbrows($result)) { $tdata = dbarray($result); } else { fallback("index.php"); }
if (!$tdata['thread_locked']) { include "postreply.php"; } else { fallback("index.php"); }
} elseif ($action == "edit") {
if (!isset($thread_id) || !isNum($thread_id) || !isset($post_id) || !isNum($post_id)) { fallback("index.php"); exit; }
$result = dbquery("SELECT * FROM ".$db_prefix."threads WHERE thread_id='".$thread_id."' AND forum_id='".$fdata['forum_id']."'");
if (dbrows($result)) { $tdata = dbarray($result); } else { fallback("index.php"); }
$result = dbquery("SELECT * FROM ".$db_prefix."posts WHERE post_id='".$post_id."' AND thread_id='".$tdata['thread_id']."' AND forum_id='".$fdata['forum_id']."'");
if (dbrows($result)) { $pdata = dbarray($result); } else { fallback("index.php"); }
if ($userdata['user_id'] != $pdata['post_author'] && !iMOD && !iSUPERADMIN) fallback("index.php");
if (!$tdata['thread_locked']) {
include "postedit.php";
} else {
if (iMOD || iSUPERADMIN) { include "postedit.php"; } else { fallback("index.php"); }
}
} [b]elseif ($action == "help") {
if (!isset($thread_id) || !isNum($thread_id) || !isset($post_id) || !isNum($post_id)) { fallback("index.php"); exit; }
$result = dbquery("SELECT * FROM ".$db_prefix."threads WHERE thread_id='".$thread_id."' AND forum_id='".$fdata['forum_id']."'");
if (dbrows($result)) { $tdata = dbarray($result); } else { fallback("index.php"); }
$result = dbquery("SELECT * FROM ".$db_prefix."posts WHERE post_id='".$post_id."' AND thread_id='".$tdata['thread_id']."' AND forum_id='".$fdata['forum_id']."'");
if (dbrows($result)) { $pdata = dbarray($result); } else { fallback("index.php"); }
[color=orange]if ($tdata['thread_author'] == $userdata['user_id'] && $tdata['thread_help'] < 2 && $data['post_author'] != $userdata['user_id'] && $data['post_help'] == 0) {[/color]
$result = dbquery("UPDATE ".$db_prefix."posts SET post_help=post_author WHERE post_id='".$post_id."' AND thread_id='".$tdata['thread_id']."' AND forum_id='".$fdata['forum_id']."' ");
$result = dbquery("UPDATE ".$db_prefix."users SET user_help_point=user_help_point+1 WHERE user_id=".$pdata['post_author']." ");
[color=orange]$result = dbquery("UPDATE ".$db_prefix."threads SET thread_help=thread_help+1 WHERE thread_id=".$tdata['thread_id']." ");[/color]
}
redirect("postify.php?post=help&error=$error&forum_id=$forum_id&thread_id=$thread_id&post_id=$post_id");
}[/b] else {
header("Location: index.php");
}
require_once BASEDIR."side_right.php";
require_once BASEDIR."footer.php";
?>
Zapisujemy i wychodzimy
4)teraz otwieramy plik "postify.php" (zmiany w kodzie jak powyzej podaje w pogrubieniu)
<?php
/*---------------------------------------------------+
| PHP-Fusion 6 Content Management System
+----------------------------------------------------+
| Copyright © 2002 - 2006 Nick Jones
| http://www.php-fusion.co.uk/
+----------------------------------------------------+
| Released under the terms & conditions of v2 of the
| GNU General Public License. For details refer to
| the included gpl.txt file or visit http://gnu.org
+----------------------------------------------------*/
require_once "../maincore.php";
require_once BASEDIR."subheader.php";
require_once BASEDIR."side_left.php";
include LOCALE.LOCALESET."forum/post.php";
if (!FUSION_QUERY || !isset($forum_id) || !isNum($forum_id)) fallback("index.php");
if ($error == 0) { $errorb = ""; }
else if ($error == 1) { $errorb = $locale['440a']; }
else if ($error == 2) { $errorb = $locale['440b']; }
else if ($error == 3) { $errorb = $locale['441']; }
else if ($error == 4) { $errorb = $locale['450']; }
if ($post == "on" || $post == "off") {
if (!isset($thread_id) || !isNum($thread_id)) fallback("index.php");
opentable($locale['451']);
echo "<center><br>\n";
if ($post == "on") {
$result = dbquery("INSERT INTO ".$db_prefix."thread_notify (thread_id, notify_datestamp, notify_user, notify_status) VALUES('$thread_id', '".time()."', '".$userdata['user_id']."', '1')");
echo $locale['452']."<br><br>\n";
} else {
$result = dbquery("DELETE FROM ".$db_prefix."thread_notify WHERE thread_id='$thread_id' AND notify_user='".$userdata['user_id']."'");
echo $locale['453']."<br><br>\n";
}
echo "<a href='viewthread.php?forum_id=$forum_id&thread_id=$thread_id'>".$locale['447']."</a> |
<a href='viewforum.php?forum_id=$forum_id'>".$locale['448']."</a> |
<a href='index.php'>".$locale['449']."</a><br><br>
</center>\n";
closetable();
} else if ($post == "new") {
opentable($locale['401']);
echo "<div align='center'>\n";
if ($errorb) {
echo "<br>$errorb<br><br>\n";
} else {
echo "<br>".$locale['442']."<br><br>\n";
}
if ($error < 3) {
if (!isset($thread_id) || !isNum($thread_id)) fallback("index.php");
echo "<a href='viewthread.php?forum_id=$forum_id&thread_id=$thread_id'>".$locale['447']."</a> |\n";
}
echo "<a href='viewforum.php?forum_id=$forum_id'>".$locale['448']."</a> |
<a href='index.php'>".$locale['449']."</a><br><br></div>\n";
closetable();
} else if ($post == "reply") {
if (!isset($thread_id) || !isNum($thread_id)) fallback("index.php");
opentable($locale['403']);
echo "<center><br>\n";
if ($errorb) {
echo "$errorb<br><br>\n";
} else {
echo $locale['443']."<br><br>\n";
}
if ($error < "2") {
if (!isset($post_id) || !isNum($post_id)) fallback("index.php");
if ($settings['thread_notify']) {
$result = dbquery(
"SELECT tn.*, tu.user_id,user_name,user_email FROM ".$db_prefix."thread_notify tn
LEFT JOIN ".$db_prefix."users tu ON tn.notify_user=tu.user_id
WHERE thread_id='$thread_id' AND notify_user!='".$userdata['user_id']."' AND notify_status='1'
");
if (dbrows($result)) {
require_once INCLUDES."sendmail_include.php";
$data2 = dbarray(dbquery("SELECT thread_subject FROM ".$db_prefix."threads WHERE thread_id='$thread_id'"));
$link = $settings['siteurl']."forum/viewthread.php?forum_id=$forum_id&thread_id=$thread_id&pid=$post_id#post_$post_id";
while ($data = dbarray($result)) {
$message_el1 = array("{USERNAME}", "{THREAD_SUBJECT}", "{THREAD_URL}");
$message_el2 = array($data['user_name'], $data2['thread_subject'], $link);
$message_subject = str_replace("{THREAD_SUBJECT}", $data2['thread_subject'], $locale['550']);
$message_content = str_replace($message_el1, $message_el2, $locale['551']);
sendemail($data['user_name'],$data['user_email'],$settings['siteusername'],$settings['siteemail'],$message_subject,$message_content);
}
$result = dbquery("UPDATE ".$db_prefix."thread_notify SET notify_status='0' WHERE thread_id='$thread_id' AND notify_user!='".$userdata['user_id']."'");
}
}
echo "<a href='viewthread.php?forum_id=$forum_id&thread_id=$thread_id&pid=$post_id#post_$post_id'>".$locale['447']."</a> |\n";
} else {
$data = dbarray(dbquery("SELECT post_id FROM ".$db_prefix."posts WHERE thread_id='".$data['thread_id']."' ORDER BY post_id DESC"));
echo "<a href='viewthread.php?forum_id=$forum_id&thread_id=$thread_id&pid=".$data['post_id']."#post_".$data['post_id']."'>".$locale['447']."</a> |\n";
}
echo "<a href='viewforum.php?forum_id=$forum_id'>".$locale['448']."</a> |
<a href='index.php'>".$locale['449']."</a><br><br>
</center>\n";
closetable();
} else if ($post == "edit") {
if (!isset($thread_id) || !isNum($thread_id)) fallback("index.php");
opentable($locale['409']);
echo "<center><br>\n";
if ($errorb) {
echo "$errorb<br><br>\n";
} else {
echo $locale['446']."<br><br>\n";
}
echo "<a href='viewthread.php?forum_id=$forum_id&thread_id=$thread_id&pid=$post_id#post_$post_id'>".$locale['447']."</a> |
<a href='viewforum.php?forum_id=$forum_id'>".$locale['448']."</a> |
<a href='index.php'>".$locale['449']."</a><br><br>
</center>\n";
closetable();
} [b]else if ($post == "help") {
if (!isset($thread_id) || !isNum($thread_id)) fallback("index.php");
opentable($locale['409']);
echo "<center><br>\n";
echo" Dodano 1punkt za pomoc<br><br>\n";
echo "<a href='viewthread.php?forum_id=$forum_id&thread_id=$thread_id&pid=$post_id#post_$post_id'>".$locale['447']."</a> |
<a href='viewforum.php?forum_id=$forum_id'>".$locale['448']."</a> |
<a href='index.php'>".$locale['449']."</a><br><br>
</center>\n";
closetable();
}[/b]
require_once BASEDIR."side_right.php";
require_once BASEDIR."footer.php";
?>
Zapisujemy i wychodzimy!
5) i ostatni plik "viewthread.php" (zmiany w kodzie zaznaczone pogrubieniem)
<?php
/*---------------------------------------------------+
| PHP-Fusion 6 Content Management System
+----------------------------------------------------+
| Copyright © 2002 - 2006 Nick Jones
| http://www.php-fusion.co.uk/
+----------------------------------------------------+
| Released under the terms & conditions of v2 of the
| GNU General Public License. For details refer to
| the included gpl.txt file or visit http://gnu.org
+----------------------------------------------------*/
require_once "../maincore.php";
require_once INCLUDES."forum_functions_include.php";
require_once BASEDIR."subheader.php";
require_once BASEDIR."side_left.php";
include LOCALE.LOCALESET."forum/main.php";
$posts_per_page = 20;
if (!FUSION_QUERY || !isset($forum_id) || !isNum($forum_id) || !isset($thread_id) || !isNum($thread_id)) fallback("index.php");
$result = dbquery(
"SELECT f.*, f2.forum_name AS forum_cat_name
FROM ".$db_prefix."forums f
LEFT JOIN ".$db_prefix."forums f2 ON f.forum_cat=f2.forum_id
WHERE f.forum_id='".$forum_id."'"
);
if (dbrows($result)) {
$fdata = dbarray($result);
if (!checkgroup($fdata['forum_access']) || !$fdata['forum_cat']) fallback("index.php");
} else {
fallback("index.php");
}
$can_post = checkgroup($fdata['forum_posting']);
$forum_mods = explode(".", $fdata['forum_moderators']);
if (iMEMBER && in_array($userdata['user_id'], $forum_mods)) { define("iMOD", true); } else { define("iMOD", false); }
$result = dbquery("SELECT * FROM ".$db_prefix."threads WHERE thread_id='".$thread_id."' AND forum_id='".$fdata['forum_id']."'");
if (dbrows($result)) { $tdata = dbarray($result); } else { fallback("index.php"); }
$caption = $fdata['forum_cat_name']." | <a href='viewforum.php?forum_id=".$fdata['forum_id']."'>".$fdata['forum_name']."</a>";
$result = dbquery("UPDATE ".$db_prefix."threads SET thread_views=thread_views+1 WHERE thread_id='$thread_id'");
if (iMEMBER && $can_post && isset($_POST['postquickreply'])) {
$flood = false;
$message = stripinput(censorwords($_POST['message']));
if ($message != "") {
$result = dbquery("SELECT MAX(post_datestamp) AS last_post FROM ".$db_prefix."posts WHERE post_author='".$userdata['user_id']."'");
if (dbrows($result) > 0) {
$data = dbarray($result);
if ((time() - $data['last_post']) < $settings['flood_interval']) {
$flood = true;
$result = dbquery("INSERT INTO ".$db_prefix."flood_control (flood_ip, flood_timestamp) VALUES ('".USER_IP."', '".time()."')");
if (dbcount("(flood_ip)", "flood_control", "flood_ip='".USER_IP."'") > 4) {
$result = dbquery("UPDATE ".$db_prefix."users SET user_status='1' WHERE user_id='".$userdata['user_id']."'");
}
fallback("viewforum.php?forum_id=$forum_id");
}
}
if (!$flood) {
$sig = ($userdata['user_sig'] ? '1' :'0');
$smileys = isset($_POST['disable_smileys']) ? "0" : "1";
$subject = "RE: ".$tdata['thread_subject'];
$result = dbquery("UPDATE ".$db_prefix."forums SET forum_lastpost='".time()."', forum_lastuser='".$userdata['user_id']."' WHERE forum_id='$forum_id'");
$result = dbquery("UPDATE ".$db_prefix."threads SET thread_lastpost='".time()."', thread_lastuser='".$userdata['user_id']."' WHERE thread_id='$thread_id'");
$result = dbquery("INSERT INTO ".$db_prefix."posts (forum_id, thread_id, post_subject, post_message, post_showsig, post_smileys, post_author, post_datestamp, post_ip, post_edituser, post_edittime) VALUES ('$forum_id', '$thread_id', '$subject', '$message', '$sig', '$smileys', '".$userdata['user_id']."', '".time()."', '".USER_IP."', '0', '0')");
$newpost_id = mysql_insert_id();
$result = dbquery("UPDATE ".$db_prefix."users SET user_posts=user_posts+1 WHERE user_id='".$userdata['user_id']."'");
redirect("postify.php?post=reply&error=0&forum_id=$forum_id&thread_id=$thread_id&post_id=$newpost_id");
}
}
}
opentable($locale['500']);
echo "<table cellpadding='0' cellspacing='0' width='100%'>
<tr>
<td class='smallalt'><a href='index.php'>".$settings['sitename']."</a> | $caption</td>\n";
if (iMEMBER && $can_post) {
echo "<td align='right'>\n";
if (!$tdata['thread_locked']) {
echo "<a href='post.php?action=reply&forum_id=$forum_id&thread_id=$thread_id'><img src='".THEME."forum/reply.gif' alt='".$locale['565']."' style='border:0px;'></a>\n";
}
echo "<a href='post.php?action=newthread&forum_id=$forum_id'><img src='".THEME."forum/newthread.gif' alt='".$locale['566']."' style='border:0px;'></a></td>\n";
}
echo "</tr>
</table>\n";
$rows = dbcount("(thread_id)", "posts", "thread_id='$thread_id'");
if (isset($pid) && isNum($pid)) {
$reply_count = dbcount("(post_id)", "posts", "thread_id='".$tdata['thread_id']."' AND post_id<='".$pid."'");
if ($reply_count > $posts_per_page) $rowstart = ((ceil($reply_count / $posts_per_page)-1)*$posts_per_page);
}
if (!isset($rowstart) || !isNum($rowstart)) $rowstart = 0;
if ($rows > $posts_per_page) {
echo "<div align='center' style='margin-top:5px;margin-bottom:5px;'>
".makePageNav($rowstart,$posts_per_page,$rows,3,FUSION_SELF."?forum_id=$forum_id&thread_id=$thread_id&")."
</div>\n";
}
echo "<table cellpadding='0' cellspacing='1' width='100%' class='tbl-border'>\n";
if ($rows != 0) {
$result = dbquery(
"SELECT p.*, fa.attach_id, fa.attach_name, fa.attach_ext, fa.attach_size, u.*, u2.user_name AS edit_name FROM ".$db_prefix."posts p
LEFT JOIN ".$db_prefix."forum_attachments fa USING(post_id)
LEFT JOIN ".$db_prefix."users u ON p.post_author = u.user_id
LEFT JOIN ".$db_prefix."users u2 ON p.post_edituser = u2.user_id AND post_edituser > '0'
WHERE p.thread_id='$thread_id' ORDER BY post_datestamp LIMIT $rowstart,$posts_per_page"
);
$numrows = dbrows($result);
while ($data = dbarray($result)) {
$message = $data['post_message'];
if ($data['post_showsig']) { $message = $message."\n\n<hr>".$data['user_sig']; }
if ($data['post_smileys']) { $message = parsesmileys($message); }
$message = parseubb($message);
$message = nl2br($message);
if ($data['post_edittime'] != "0") {
$edituser = "<a href='../profile.php?lookup=".$data['post_edituser']."'>".$data['edit_name']."</a>";
$edittime = showdate("forumdate", $data['post_edittime']);
}
$is_mod = in_array($data['user_id'], $forum_mods) && $data['user_level'] < "102" ? true : false;
echo "<tr>
<td width='145' class='tbl2'>".$locale['501']."</td>
<td class='tbl2'><a name='post_".$data['post_id']."' id='post_".$data['post_id']."'></a>".$data['post_subject']."</td>
</tr>
<tr>
<td valign='top' rowspan='3' width='145' class='tbl1'>
<a href='../profile.php?lookup=".$data['user_id']."'>".$data['user_name']."</a><br>
<span class='alt'>".($is_mod ? $locale['userf1'] : getuserlevel($data['user_level']))."</span><br><br>\n";
if ($data['user_avatar'] != "") {
echo "<img src='".IMAGES."avatars/".$data['user_avatar']."' alt='".$locale['567']."'><br><br>\n";
$height = "185";
} else {
$height = "70";
}
echo "<span class='alt'>".$locale['502']."</span> ".$data['user_posts']."<br>\n";
if ($data['user_location']) echo "<span class='alt'>".$locale['503']."</span> ".$data['user_location']."<br>\n";
[b]echo "<b><a href='view_post_helping_user.php?action=view_help&user_id=".$data['user_id']."'>Pomóg?:</a></b> ".$data['user_help_point']." ";[/b]
echo "<span class='alt'>".$locale['504']."</span> ".showdate("%d.%m.%y", $data['user_joined'])."[b]<br><br><b>";
if ($data['post_help'] != 0) {
echo"<span style='font-size:9'><center>Ten post zosta? uznany za pomocny przez autora tematu</center></span>";
}
echo"</b></td>[/b]
<td>
<table cellspacing='0' cellpadding='0' width='100%'>
<tr>
<td class='tbl1'>".$locale['505'].showdate("forumdate", $data['post_datestamp'])."</td>
<td align='right' class='tbl1'>\n";
if (iMEMBER && $can_post) {
if (!$tdata['thread_locked']) {
[b][color=orange]if ($tdata['thread_author'] == $userdata['user_id'] && $tdata['thread_help'] < 2 && $data['post_author'] != $userdata['user_id'] && $data['post_help'] == 0) {[/color]
echo "<a href='post.php?action=help&forum_id=$forum_id&thread_id=".$data['thread_id']."&post_id=".$data['post_id']."'><b>Pomóg? mi</b></a>";
}[/b]
if ($userdata['user_id'] == $data['post_author'] || iMOD || iSUPERADMIN) {
echo "<a href='post.php?action=edit&forum_id=$forum_id&thread_id=".$data['thread_id']."&post_id=".$data['post_id']."'><img src='".THEME."forum/edit.gif' alt='".$locale['568']."' style='border:0px;'></a>\n";
}
echo "<a href='post.php?action=reply&forum_id=$forum_id&thread_id=".$data['thread_id']."&post_id=".$data['post_id'].""e=".$data['post_id']."'><img src='".THEME."forum/quote.gif' alt='".$locale['569']."' style='border:0px;'></a>\n";
if (iMOD || iSUPERADMIN && $data['post_ip'] != "0.0.0.0" && file_exists(THEME."forum/ip.gif")) echo "<img src='".THEME."forum/ip.gif' alt='".$locale['570']."' title='".$data['post_ip']."' style='border:0px;'>\n";
} else {
if (iMOD || iSUPERADMIN) {
echo "<a href='post.php?action=edit&forum_id=$forum_id&thread_id=".$data['thread_id']."&post_id=".$data['post_id']."'><img src='".THEME."forum/edit.gif' alt='".$locale['568']."' style='border:0px;'></a>\n";
if ($data['post_ip'] != "0.0.0.0" && file_exists(THEME."forum/ip.gif")) echo "<img src='".THEME."forum/ip.gif' alt='".$locale['570']."' title='".$data['post_ip']."' style='border:0px;'>\n";
}
}
}
DALSZA CZESC KODU........
Zapisujemy i wychodzimy
teraz tworzymy nowy plik o nazwie "view_post_helping_user.php"
wklejamy tam ten kod
[b]<?php
/*---------------------------------------------------+
| PHP-Fusion 6 Content Management System
+----------------------------------------------------+
| Copyright © 2002 - 2006 Nick Jones
| http://www.php-fusion.co.uk/
+----------------------------------------------------+
| Released under the terms & conditions of v2 of the
| GNU General Public License. For details refer to
| the included gpl.txt file or visit http://gnu.org
+----------------------------------------------------*/
require_once "../maincore.php";
require_once BASEDIR."subheader.php";
require_once BASEDIR."side_left.php";
include LOCALE.LOCALESET."forum/main.php";
if ($action == "view_help") {
if (!isset($user_id) || !isNum($user_id)) fallback("index.php");
$result2 = dbquery("SELECT * FROM ".$db_prefix."users WHERE user_id=".$user_id."");
$result = dbquery("SELECT * FROM ".$db_prefix."posts WHERE post_help='".$user_id."' ORDER BY post_help AND post_datestamp");
$udata = dbarray($result2);
opentable("Wykaz postów uzytkownika - ".$udata['user_name']." - które otrzyma?y punkt za pomoc");
if (dbrows($result)) {
while ($pdata = dbarray($result)) {
echo"<table cellpadding='0' cellspacing='1' width='100%' class='tbl-border'>
<tr>
<td width='145' class='tbl2'>
Autor:
</td>
<td class='tbl2'>
".$pdata['post_subject']."
</td>
</tr>
<tr>
<td class='tbl1' valign='top'>
<span class='alt'><a href='../profile.php?lookup=".$udata['user_id']."'>".$udata['user_name']."</a></span> <br>
<span class='alt'>".($is_mod ? $locale['userf1'] : getuserlevel($udata['user_level']))."
</span><br>";
if ($udata['user_avatar'] != "") {
echo " <img src='".IMAGES."avatars/".$udata['user_avatar']."' alt=''> <br>\n";
$height = "105";
} else {
$height = "70";
}
echo" <span class='alt'>".$locale['502']."</span> ".$udata['user_posts']."<br>";
if ($udata['user_location']) echo "<span class='alt'>".$locale['503']."</span> ".$udata['user_location']."<br>";
echo" <span class='alt'><b>Pomóg?:</b></span> ".$udata['user_help_point']." <br>
<span class='alt'>zarejestrowany</span> ".showdate("%d.%m.%y", $udata['user_joined'])."
</td>
<td class='tbl1' valign='top'>
<table cellpadding='0' cellspacing='1' width='100%' class='tbl-border'>
<tr>
<td class='tbl1'>
<span class='alt'>".$locale['505'].showdate("%d.%m.%y - %H:%M", $pdata['post_datestamp'])."</span>
</td>
</tr>
<tr>
<;td class='tbl1' valign='top' height='$height'>";
$mesage = parseubb($pdata['post_message']);
$mesage = nl2br($mesage);
if ($pdata['post_smileys'] == 1) {
$mesage = parsesmileys($pdata['post_message']);
}
echo $mesage;
echo"</td>
</tr>
<tr>
<td class='tbl1'>";
if ($udata['user_aim'] && file_exists(THEME."forum/aim.gif")) {
echo "<a href=';aim:goim?screenname=".str_replace(" ", "+", $udata['user_aim'])."' target='_blank'><img src='".THEME."forum/aim.gif' alt='".$udata['user_aim']."' style='border:0px;'></a> ";
}
if ($udata['user_icq']) {
echo "<a href='http://web.icq.com/wwp?Uin=".$udata['user_icq']."' target='_blank'><img src='".THEME."forum/icq.gif' alt='".$udata['user_icq']."' style='border:0px;'></a> ";
}
if ($udata['user_msn']) {
echo "<a href='mailto:$udata[user_msn]'><img src='".THEME."forum/msn.gif' alt='".$udata['user_msn']."' style='border:0px;'></a> ";
}
if ($udata['user_yahoo']) {
echo "<a href='http://uk.profiles.yahoo.com/$udata[user_yahoo]' target='_blank'><img src='".THEME."forum/yahoo.gif' alt='".$udata['user_yahoo']."' style='border:0px;'></a> ";
}
if ($udata['user_web']) {
if (!strstr($udata['user_web'], "http://")) { $urlprefix = "http://"; } else { $urlprefix = ""; }
echo "<a href='".$urlprefix."".$udata['user_web']."' target='_blank'><img src='".THEME."forum/web.gif' alt='".$udata['user_web']."' style='border:0px;'></a> ";
}
echo "<a href='".BASEDIR."messages.php?msg_send=".$udata['user_id']."'><img src='".THEME."forum/pm.gif' alt='".$locale['571']."' style='border:0px;'></a>
</td>
</tr>
</table>
</td>
</tr>
</table> <br>";
}
}
else { fallback("index.php"); }
closetable();
}
require_once BASEDIR."side_right.php";
require_once BASEDIR."footer.php";
?>[/b]
zapisujemy i wychodzimy
ZAKTUALIZOWANE
i to tyle :D
Pozdro!!
Edytowane przez slawekneo dnia 15.11.2007 22:36:34
|
|
|
|
W?cibski Go?? |
Dodany dnia 06.09.2025 12:08:09
|
Pan Kontekstualny
Postów: n^x
Data rejestracji: Zawsze
|
|
IP: localhost |
|
|
Pieka |
Dodany dnia 31.07.2006 22:37:06
|


Postów: 19887 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
Brawo Slawku!!
Jestem jaki jestem 
|
|
|
|
slawekneo |
Dodany dnia 31.07.2006 23:35:11
|

Bywalec

Postów: 915 Pomógł: 41
Data rejestracji: 12.03.2006 07:28
|
@Pieka - 
he zapomnialem jak zawsze o locale i dodac pare cennych informacji :
-punkty moze dodawac jedynie osoba, ktora zalozyla temat (i sama sobie nie moze dodac pkt )
-kazdy pkt w poszczegolnym poscie jest dodawany jednorazowo!!
i to chyba tyle 
Ps. jak bede mial czas wrzuce locale i dodam opcje "gdy user otrzymal juz w danym temacie pkt, to blokuje mozliwosc dodania mu pkt w nastepnym poscie tego samego tematu" (zamieszane ale najwazniejsze ze ja wiem co mam zrobic)
Edytowane przez slawekneo dnia 31.07.2006 23:39:12
|
|
|
|
Grzes |
Dodany dnia 01.08.2006 00:05:23
|

Zaawansowany

Postów: 1656 Pomógł: 42
Data rejestracji: 28.04.2005 20:28
|
Super to wygl?da tylko je?li pozwolisz to mam pytanko. Oczywi?cie link "pomóg?" wy?wietli si? tylko wybranej osobie i przy odpowiednich postach a co je?li prosto w przegl?dark? u?ytkownik klepie np.:
post.php?action=help&forum_id=XX&thread_id=YY&post_id=ZZ
wydaje mi si?, ?e w ten sposób uparty userek by?by w stanie naklepa? punktów tyle ile postów sobie upatrzy ró?nym userkom.
Sorka je?li si? myl?.
Cz?sto najm?drzejsz? odpowiedzi? jest milczenie 
|
|
|
|
slawekneo |
Dodany dnia 01.08.2006 00:12:02
|

Bywalec

Postów: 915 Pomógł: 41
Data rejestracji: 12.03.2006 07:28
|
Grzes napisa?:
wydaje mi si?, ?e w ten sposób uparty userek by?by w stanie naklepa? punktów tyle ile postów sobie upatrzy ró?nym userkom.
Sorka je?li si? myl?.
jezeli wpisze adres ktory podawales to i tak sobie nie doda tylko autorowi postu ale tak niebedzie bo jest postawiony warunek ze po pierwsze dodac moze tylko autor calego tematu, a on sam nie moze sobie dodac pkt dodatkowo kazdy post moze miec jednorazowo dodany pkt 
Pozdro!!
Edytowane przez slawekneo dnia 01.08.2006 00:27:00
|
|
|
|
Grzes |
Dodany dnia 01.08.2006 00:27:42
|

Zaawansowany

Postów: 1656 Pomógł: 42
Data rejestracji: 28.04.2005 20:28
|
Zrobi?em tak. Napisa?em temat, odpowiedzia?em sobie sam, wklepa?em linka i id mojego userka znalaz? si? w tym dodatkowym polu przy mojej odpowiedzi 
edit:
z innego userka efekt jest podobny, w polu l?duje id autora tematu albo id autora samego posta (tego nie jestem pewny bo to ten sam id w tym przypadku).
Edytowane przez Grzes dnia 01.08.2006 00:29:24
Cz?sto najm?drzejsz? odpowiedzi? jest milczenie 
|
|
|
|
slawekneo |
Dodany dnia 01.08.2006 00:32:20
|

Bywalec

Postów: 915 Pomógł: 41
Data rejestracji: 12.03.2006 07:28
|
nie rozumiem Twojej wypowiedzi 
ale sam sobie odpowiedziales ze swojego konta czy jakiegos testowego |
|
|
|
Grzes |
Dodany dnia 01.08.2006 00:37:19
|

Zaawansowany

Postów: 1656 Pomógł: 42
Data rejestracji: 28.04.2005 20:28
|
Mam dwóch userków na stronie. Pan A napisa? temat i sam sobie odpowiedzia?. B?d?c zalogowany jako pan A wklepa?em linka dla posta-odpowiedzi i id userka wyl?dowa? w tym dodatkowym polu.
Teraz wyczy?ci?em to pole (z phpmyadmina r?cznie). Zalogowa?em si? jako pan B i powtórzy?em to samo z linkiem. Efekt ten sam. Czyli mog? nieb?d?c osob? która napisa?a temat przyzna? punkty innej osobie (osobie która za?ozy?a temat - niewiem jak to jest je?li pan A napisze temat, pan B odpisze a pan C spróbuje da? punkta)
W post.php spróbuj przed przyznaniem punktu sprawdzi? czy osoba przydzielaj?ca go to osoba, która napisa?a pierwszego posta w temacie.
Edytowane przez Grzes dnia 01.08.2006 00:38:40
Cz?sto najm?drzejsz? odpowiedzi? jest milczenie 
|
|
|
|
wlodekp |
Dodany dnia 01.08.2006 00:40:14
|

Weteran

Postów: 3101 Pomógł: 29
Data rejestracji: 21.05.2005 22:27
|
Uwa?am, ?e taki mod jest zasadny. Pytanie czy Suport ma ch??-to ma?o go wprowadzi?. Bo moim zdaniem ma tylko racj? bytu na tego typu forach. A strona techniczna-blokad, jest do zrobienia, w?a?nie po tego typu dyskusjach i wymianach spojrze?. Wi?c Suporcie-jak(bo ten temat-pojawia? si? ju? par? razy) Bez takiego celu-ja nie widz? motywacji dla siebie uczestnictwa nawet w dyskusji.
Edytowane przez wlodekp dnia 01.08.2006 07:13:32
|
|
|
|
slawekneo |
Dodany dnia 01.08.2006 01:32:16
|

Bywalec

Postów: 915 Pomógł: 41
Data rejestracji: 12.03.2006 07:28
|
Grzes napisa?:
W post.php spróbuj przed przyznaniem punktu sprawdzi? czy osoba przydzielaj?ca go to osoba, która napisa?a pierwszego posta w temacie.
dodalem u siebie ten sam warunek co w pliku viewthread.php czyli if ($tdata['thread_author'] == $userdata['user_id'] && $data['post_author'] != $userdata['user_id'] && $data['post_help'] == 0) {
} wszystko jest Git dzieki za znalezienie "babola" :D zaktualizuje caly kod jutro bo teraz ide w kime :D
@wlodekp - fakt mod jest typowo dla serwisow specjalizujacych sie w pomocy innym ale jesli mod nie dotyczy Twojego typu serwisu to nieoznacza ze musisz go "olewac" :P |
|
|
|
m_i_n |
Dodany dnia 01.08.2006 09:10:28
|

Bywalec

Postów: 837 Pomógł: 3
Data rejestracji: 15.02.2006 10:04
|
No to pierwszy exploit zalatany hehe.
A ogolem to bardzo dobra modyfikacja. Sam nie uzyje ale podoba mi sie to.
Awaria strony? - dowiedz si? o niej, nim ktokolwiek zauwa?y: uMonitor.eu
|
|
|
|
slawekneo |
Dodany dnia 01.08.2006 11:15:06
|

Bywalec

Postów: 915 Pomógł: 41
Data rejestracji: 12.03.2006 07:28
|
MOD zaktualizowalem teraz jezeli ktos niepozadany wklepie link to wywali go do indexu glownego forum  |
|
|
|
Pieka |
Dodany dnia 01.08.2006 11:37:49
|


Postów: 19887 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
slawekneo napisa?/a:
MOD zaktualizowalem teraz jezeli ktos niepozadany wklepie link to wywali go do indexu glownego forum 
Z finalna wersja zapraszam do Laboratorium 
Sceeny oraz, co oczywiste opis mile widziane
Jestem jaki jestem 
|
|
|
|
Grzes |
Dodany dnia 01.08.2006 11:40:43
|

Zaawansowany

Postów: 1656 Pomógł: 42
Data rejestracji: 28.04.2005 20:28
|
Niepowiem, ?e nie skorzystam 
Co? podobnego kiedy? ju? by?o zrobione (As twierdzi, ?e ma to odemnie ) tylko, ?e przyznawa?o si? punkty a posty z tego co widze nie by?y oznaczane. To Twoje mi si? wydaje lepsze bo wida?, który post by? pomocny.
Jeszcze jak pozwolisz mam propozycj?. Przy wyswietlaniu ka?dego posta za pomoc? dbcount zliczasz liczb? punktów userka. Mo?e by tak do tabeli users doda? pole help_count i przy przydzielaniu punktu tylko ++ przez co przy wy?wietlaniu tematu wy?wietli?oby si? tylko t? liczb?.
Druga strona medalu. W tej chwili je?li moderator usunie posta userkowi znika punkt. Przy zliczaniu punktów oddzielnie liczba ta nie ulegnie zmianie podczas czyszczenia forum ze starych ?mieci.
Co o tym my?lisz?
Cz?sto najm?drzejsz? odpowiedzi? jest milczenie 
|
|
|
|
slawekneo |
Dodany dnia 01.08.2006 14:59:10
|

Bywalec

Postów: 915 Pomógł: 41
Data rejestracji: 12.03.2006 07:28
|
he widze ze mocno zainteresowal Cie ten mod ;)
mysle ze mozna zrobic dodatkowe zapytanie$result = dbquery("UPDATE ".$db_prefix."users SET user_help_point=user_help_point+1 WHERE user_id=".$pdata['post_author']." ");
i po tym juz pkt za pomoc nigdy nie znikna :D
@Pieka - oczywiscie ze finalna wersje dodam do labu i opisze "?opatologicznie"
EDIT - tak wiec zrobilem to o czym pisal @grzes czyli przy dodaniu pkt mod nie tylko dodaje pkt przy poscie ale i w tabeli users/user_help_point w taki oto sposob po usunieci danego postu(z zapisanym pkt dla "jakiegos" usera) nie odejmie nam ogolnego stanu pkt w pomocy. MOD ZAKTUALIZOWANY w pierwszym poscie |
|
|
|
Grzes |
Dodany dnia 01.08.2006 22:46:33
|

Zaawansowany

Postów: 1656 Pomógł: 42
Data rejestracji: 28.04.2005 20:28
|
Jeszcze jeden ma?y bajerek :P
W tej postaci modzik pokazuje tylko punkty przy ka?dym z userków. Mo?e by tak oznaczy? post jako pomocny? Mo?e si? to okaza? przydatne osobom szukaj?cym odpowiedzi w temacie w którym jest dobrych kilkana?cie postów.
My?la?em nad najzwyklejszym pokolorowaniem ca?ej przestrzeni jak? zajmuje post ale z takim modziku przyda?oby si? uniwersjalne rozwi?zanie. Nie ka?demu powiedzmy kolor ?ó?ty by odpowiada? :P (cho? nie wszyscy b?d? go instalowa? a wi?kszo?? powinna da? sobie rade z zmian? kolorku)
Sama komórka w tabeli jest jako? tak stworzona:
<td valign='top' height='$height' class='tbl1'>
pomy?la?em o tym:
<td valign='top' height='$height' class='".($data['post_help'] != 0 ? "tbl2" : "tbl1")."'>
ale z drugiej strony nie w ka?dym themie który dorwa?em to daje przyzwoity efekt (w niektórych deklaracje tbl1 i tbl2 s? takie same).
Pozatym my?la?em jeszcze o jakiej? mo?liwo?ci usuni?cia "pomóg?" z danego posta. Teoretycznie mo?e si? zda?y? sytuacja, ?e kto? przez przypadek oznaczy nie tego posta albo z?o?liwie oznaczy wszystkie.
EDIT:
i niech mi nikt nie pisze ze mod jest zplagiatowany z extreme, bo pisalem go wlasnoorecznie!!
a co kto? tak powiedzia?? daj mi go a mu kark skr?ce :@
Sam to mam zamiar na extreme zastosowa? :P tzn pewien czas temu mia?o takie co? by? zastosowane ale jako? nie doszli?my do tego a teraz Ty mi spad?e? z nieba :)
Edytowane przez Grzes dnia 01.08.2006 22:58:06
Cz?sto najm?drzejsz? odpowiedzi? jest milczenie 
|
|
|
|
slawekneo |
Dodany dnia 01.08.2006 23:00:26
|

Bywalec

Postów: 915 Pomógł: 41
Data rejestracji: 12.03.2006 07:28
|
he zadbalem i o "to" zrobilem dodatkowo po nacisnieciu linka (np. pomogl:4 jest tym linkiem) i po wejsciu pokazuje on wszystkie posty usera ktore byly pomocne zaraz dodam screena TEGO JESZCZE NIE ZAKTUALIZOWALEM

Edytowane przez slawekneo dnia 01.08.2006 23:14:11
|
|
|
|
Pieka |
Dodany dnia 02.08.2006 00:19:35
|


Postów: 19887 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
Pare postow wyzej @wlodekp pytal, czy zainstalujemy na Supporcie?
Tak, mysle, ze tak, ale musi to byc na 100% sprawne i w pelni funkcjonalne
Jestem jaki jestem 
|
|
|
|
slawekneo |
Dodany dnia 02.08.2006 00:53:41
|

Bywalec

Postów: 915 Pomógł: 41
Data rejestracji: 12.03.2006 07:28
|
Pieka napisa?/a:
Pare postow wyzej @ wlodekp pytal, czy zainstalujemy na Supporcie?
Tak, mysle, ze tak, ale musi to byc na 100% sprawne i w pelni funkcjonalne 
he no to niestety pare dni potrwa dodawanie funkcjonalnosci modu (mam jeszcze 3 pomysly do zrealizowania odnosnie tego modu + pomysl uzytkownika @grzes)
Ps. "niezmierni? si? ciesz?"  |
|
|
|
wlodekp |
Dodany dnia 02.08.2006 01:20:25
|

Weteran

Postów: 3101 Pomógł: 29
Data rejestracji: 21.05.2005 22:27
|
Ja te? si? ciesz? z deklaracji Pieki , gotów jestem w ka?dej chwili potestowa? u siebie-zasymulowa? Wasze propozycje. Pieka do pe?ni szcz??cia widzia?bym w?asny Supportowy system rang?
PO EDYCJI
"Bo Polacy nie g?si" i Swój Support-najlepszy maj?.
Edytowane przez wlodekp dnia 02.08.2006 08:18:47
|
|
|