Bywalec
Postów: 332 Pomógł: 25 Ostrzeżeń: 1
Data rejestracji: 09.05.2005 00:08
|
Troszkę pogłówkowałem i udało mi się zrobić modyfikacje, która umożliwia zgłaszanie przez użytkowników nieaktualnych informacji na stronie. Modyfikacja oparta jest na komentarzach, które wymagają akceptacji (wykorzystałem do tego modyfikację slawekneo), dzięki temu każde zgłoszenie jest widoczne z PA i nic adminowi nie umknie. Oprócz tego zaakceptowane komentarze są widoczne tylko dla Admina, czyli wyklucza to normalne komentowanie.
Dodatkowo dodałem funkcje show_hide do panelu wpisania komentarza dzięki temu można dodać jakiś button lub napis typu rZgłoś nieaktualną informacjęr1;, po kliknięci którego pojawi się panel.
UWAGA: zastosowanie tej modyfikacji uniemożliwi normalne korzystanie z komentarzy!
No to lecim:
1. otwieramy includes /comments_include.php
około linii 21 znajdujemy
global $settings,$locale,$userdata,$aidlink;
I zamieniamy na
global $settings,$locale,$userdata,$aidlink,$status;
odnajdujemy ten kod, około 49 linii
if (!$flood) $result = dbquery("INSERT INTO ".DB_PREFIX."comments (comment_item_id, comment_type, comment_name, comment_message, comment_smileys, comment_datestamp, comment_ip) VALUES ('$cid', '$ctype', '$comment_name', '$comment_message', '$comment_smileys', '".time()."', '".USER_IP."')");
}
redirect($clink);
}
tablebreak();
I zamieniamy na
if (!$flood) {
if (iADMIN){
$result = dbquery("INSERT INTO ".DB_PREFIX."comments (comment_item_id, comment_type, comment_name, comment_message, comment_smileys, comment_datestamp, comment_ip) VALUES ('$cid', '$ctype', '$comment_name', '$comment_message', '$comment_smileys', '".time()."', '".USER_IP."')");
redirect("$clink");
} else {
$submit_comment['comment_item_id'] = stripinput("$cid");
$submit_comment['comment_type'] = stripinput("$ctype");
$submit_comment['comment_name'] = stripinput("$comment_name");
$submit_comment['comment_message'] = stripinput("$comment_message");
$submit_comment['comment_smileys'] = stripinput("$comment_smileys");
$submit_comment['comment_datestamp'] = stripinput(time());
$submit_comment['comment_ip'] = stripinput(USER_IP);
$result = dbquery("INSERT INTO ".DB_PREFIX."submissions (submit_type, submit_user, submit_datestamp, submit_criteria) VALUES ('c', '".$userdata['user_id']."', '".time()."', '".serialize($submit_comment)."')");
redirect("$clink&status=dodano");
}
}
}
}
tablebreak();
if (isset($status)) {
if ($status == "dodano") {
$title = "Uwaga!!";
$message = "<b>Twój komentarz został przkazany do akceptacji przez administrację serwisu</b>";
}
opentable($title);
echo "<div align='center'>".$message."</div>\n";
closetable();
tablebreak();
}
około linii 81 odnajdujemy kod
opentable($locale['c100']);
I zamieniamy na
if (iADMIN && (iUSER_RIGHTS != "" || iUSER_RIGHTS != "C")) {
opentable("Zg³oszone nieprawid³owo¶ci");
około linii 113 odnajdujemy
closetable();
i zamieniamy na
closetable();
} else { }
Około linii 114 odnajdujemy
opentable($locale['c102']);
if (iMEMBER || $settings['guestposts'] == "1") {
echo "<form name='inputform' method='post' action='$clink'>
<table align='center' cellspacing='0' cellpadding='0' class='tbl'>\n";
if (iGUEST) {
echo "<tr>
<td>".$locale['c103']."</td>
</tr>
<tr>
<td><input type='text' name='comment_name' maxlength='30' class='textbox' style='width:100%;'></td>
</tr>\n";
}
echo "<tr>
<td align='center'><textarea name='comment_message' rows='6' cols='74' class='textbox'></textarea><br>
<input type='button' value='b' class='button' style='font-weight:bold;width:25px;' onClick=\"addText('comment_message', '[b]', '[/b]');\">
<input type='button' value='i' class='button' style='font-style:italic;width:25px;' onClick=\"addText('comment_message', '[i]', '[/i]');\">
<input type='button' value='u' class='button' style='text-decoration:underline;width:25px;' onClick=\"addText('comment_message', '[u]', '[/u]');\">
<input type='button' value='url' class='button' style='width:30px;' onClick=\"addText('comment_message', '[url]', '[/url]');\">
<input type='button' value='mail' class='button' style='width:35px;' onClick=\"addText('comment_message', '[mail]', '[/mail]');\">
<input type='button' value='img' class='button' style='width:30px;' onClick=\"addText('comment_message', '[img]', '[/img]');\">
<input type='button' value='center' class='button' style='width:45px;' onClick=\"addText('comment_message', '[center]', '[/center]');\">
<input type='button' value='small' class='button' style='width:40px;' onClick=\"addText('comment_message', '[small]', '[/small]');\">
<input type='button' value='code' class='button' style='width:40px;' onClick=\"addText('comment_message', '[color=red]code[/color]', '[color=red]/code[/color]');\">
<input type='button' value='quote' class='button' style='width:45px;' onClick=\"addText('comment_message', '[color=red]quote[/color]', '[color=red]/quote[/color]');\">
<br><br>
".displaysmileys("comment_message")."
</tr>
<tr>
<td align='center'><input type='checkbox' name='disable_smileys' value='1'>".$locale['c107']."<br><br>
<input type='submit' name='post_comment' value='".$locale['c102']."' class='button'></td>
</tr>
</table>
</form>\n";
} else {
echo $locale['c105']."\n";
}
closetable();
i zamieniamy na
echo "<br><a href='javascript:show_hide(ShowHide005)'>
<img src='".THEME."images/bullet.gif'> Zg³o¶ nieprawid³ow± informacjê</span></a>
<div id='ShowHide005'><br>";
opentable("Zg³o¶ nieprawid³ow± informacjê");
if (iMEMBER || $settings['guestposts'] == "1") {
echo "<form name='inputform' method='post' action='$clink'>
<table align='center' cellspacing='0' cellpadding='0' class='tbl'>\n";
if (iGUEST) {
echo "<tr>
<td>".$locale['c103']."</td>
</tr>
<tr>
<td><input type='text' name='comment_name' maxlength='30' class='textbox' style='width:100%;'></td>
</tr>\n";
}
echo "<tr>
<td align='center'><textarea name='comment_message' rows='6' cols='74' class='textbox'></textarea><br>
<input type='button' value='b' class='button' style='font-weight:bold;width:25px;' onClick=\"addText('comment_message', '[b]', '[/b]');\">
<input type='button' value='i' class='button' style='font-style:italic;width:25px;' onClick=\"addText('comment_message', '[i]', '[/i]');\">
<input type='button' value='u' class='button' style='text-decoration:underline;width:25px;' onClick=\"addText('comment_message', '[u]', '[/u]');\">
<input type='button' value='url' class='button' style='width:30px;' onClick=\"addText('comment_message', '[url]', '[/url]');\">
<input type='button' value='mail' class='button' style='width:35px;' onClick=\"addText('comment_message', '[mail]', '[/mail]');\">
<input type='button' value='img' class='button' style='width:30px;' onClick=\"addText('comment_message', '[img]', '[/img]');\">
<input type='button' value='center' class='button' style='width:45px;' onClick=\"addText('comment_message', '[center]', '[/center]');\">
<input type='button' value='small' class='button' style='width:40px;' onClick=\"addText('comment_message', '[small]', '[/small]');\">
<input type='button' value='code' class='button' style='width:40px;' onClick=\"addText('comment_message', '[color=red]code'[/color], '[color=red]/code[/color]');\">
<input type='button' value='quote' class='button' style='width:45px;' onClick=\"addText('comment_message', '[color=red]quote[/color]', '[color=red]/quote[/color]');\">
<br><br>
".displaysmileys("comment_message")."
</tr>
<tr>
<td align='center'><input type='checkbox' name='disable_smileys' value='1'>".$locale['c107']."<br><br>
<input type='submit' name='post_comment' value='Dodaj' class='button'></td>
</tr>
</table>
</form>\n";
} else {
echo $locale['c105']."\n";
}
closetable();
echo "</div>";
echo "<script>show_hide(ShowHide005)</script>";
zapisujemy I zamykamy.
2. nadpisujemy plik submissions.php, który znajduje się w katalogu administration, na plik z załącznika zgloszenie.zip
3. Otwieramy administration /index.php
Odnajdujemy około linii 90
<td valign='top' width='33%' class='small'>
".$locale['254']." ".dbcount("(submit_id)", "submissions", "submit_type='n'")."<br>
".$locale['255']." ".dbcount("(submit_id)", "submissions", "submit_type='a'")."<br>
".$locale['256']." ".dbcount("(submit_id)", "submissions", "submit_type='l'")."<br>
".$locale['260']." ".dbcount("(submit_id)", "submissions", "submit_type='p'")."
I zamieniamy na
<td valign='top' width='33%' class='small'><a href='".ADMIN."submissions.php".$aidlink."' style='text-decoration:none;'>
".$locale['254']." ".dbcount("(submit_id)", "submissions", "submit_type='n'")."<br>
".$locale['255']." ".dbcount("(submit_id)", "submissions", "submit_type='a'")."<br>
".$locale['256']." ".dbcount("(submit_id)", "submissions", "submit_type='l'")."<br>
".$locale['260']." ".dbcount("(submit_id)", "submissions", "submit_type='p'")."<br>
Nadesłane komentarze: ".dbcount("(submit_id)", "submissions", "submit_type='c'")."
Zapisujemy I zamykamy
4. otwieramy plik theme w katalogu skórki, z której korzystamy i szukamy w sekcji function render_news kodu:
echo "<a href='news.php?readmore=".$info['news_id']."'>".$info['news_comments'].$locale['043']."</a> r6; ";
zamieniamy na
if (iADMIN && (iUSER_RIGHTS != "" || iUSER_RIGHTS != "C")) { echo "<a href='news.php?readmore=".$info['news_id']."'>".$info['news_comments'].$locale['043']."</a> r6; "; } else {}
w sekcji function render_article szukamy kodu
echo $info['article_comments'].$locale['043']." r6; ";
i zamieniamy na
if (iADMIN && (iUSER_RIGHTS != "" || iUSER_RIGHTS != "C")) { echo $info['article_comments'].$locale['043']." r6; "; } else {}
I to by było na tyle. Mam nadzieje, że komuś się przyda. Troszkę śliznąłem się na modyfikacji Slawekneo, ale mam nadzieje, że się nie obrazi ;)
ps. w załączniku znajduje się gotowe pliki submissions.php i comments_include.php
Edytowane przez dante77 dnia 26.06.2008 11:09:34
|