Dodawanie komentarzy JQuery
|
konfiteor |
Dodany dnia 25.03.2010 14:57:24
|
Początkujący
Postów: 112 Pomógł: 2 Ostrzeżeń: 3
Data rejestracji: 21.03.2007 13:31
|
Witam wszystkich serdecznie!
Wpadłem na pomysł by stworzyć modyfikacje dodawania komentarzy tak aby dodawane były bez przeładowania strony.
Myślę o zrobieniu tej modyfikacji na podstawie panelu jquery shoutbox
W tworzeniu modyfikacji nie mam doświadczenia, także zwracam się z prośbą o pomoc do Was
Co o tym sądzicie?
Na początek załączam jquery soutbox panel
Wiadomość doklejona:
PS: Panel shoutbox jest tak fajnie zrobiony, że jak się włączy możliwość pisania postów dla gości to po wpisaniu błędnego kodu Captcha wyskakuje komunikat o błędzie kodu. Chciałbym to też uwzględnić przy tworzeniu tej modyfikacji.
PW od moderatora:
- Przeniesienie tematu - hoopak 25.03 - 15:33
konfiteor dodał/a następującą plik:
Edytowane przez konfiteor dnia 25.03.2010 14:59:16
|
|
|
|
Wścibski Gość |
Dodany dnia 25.11.2024 01:46:55
|
Pan Kontekstualny
Postów: n^x
Data rejestracji: Zawsze
|
|
IP: localhost |
|
|
karoldinho |
Dodany dnia 25.03.2010 17:36:27
|
Przedszkolak
Postów: 78 Pomógł: 7 Ostrzeżeń: 1
Data rejestracji: 11.08.2009 14:36
|
konfiteor napisał/a:
...Wpadłem na pomysł by stworzyć...
...W tworzeniu modyfikacji nie mam doświadczenia, także zwracam się z prośbą o pomoc do Was...
...Co o tym sądzicie?
Hehe, dobry jesteś Ja sądzę że taka modyfikacja nie jest potrzebna, bo przecież komentarze nie są dodawane w takiej częstotliwości jak wpisy na SB.
Odpowiedź na 2 post:
Wyraziłem swoje zdanie Przecież zadałeś pytanie "Co o tym sądzicie?"
Edytowane przez karoldinho dnia 25.03.2010 22:40:39
|
|
|
|
konfiteor |
Dodany dnia 25.03.2010 20:54:14
|
Początkujący
Postów: 112 Pomógł: 2 Ostrzeżeń: 3
Data rejestracji: 21.03.2007 13:31
|
Ty też jesteś dobry i za bardzo subiektywny...
W moim przypadku ludziska piszą po 50/100 komentarzy w newsach.
Myślę że nie jestem jedyną osobą której pomysł zrobienia takiej modyfikacji się podoba. Dodawanie w taki sposób komentarzy jest bardzo wygodne i estetyczne.
Nie widzę sensu w Twojej wypowiedzi... Nic nie wnosisz do tematu.
Kod modyfikujemy w administration/cooments.php ?
<?php
/*-------------------------------------------------------+
| PHP-Fusion Content Management System
| Copyright © 2002 - 2008 Nick Jones
| http://www.php-fusion.co.uk/
+--------------------------------------------------------+
| Filename: comments.php
| Author: Nick Jones (Digitanium)
+--------------------------------------------------------+
| This program is released as free software under the
| Affero GPL license. You can redistribute it and/or
| modify it under the terms of this license which you
| can read by viewing the included agpl.txt or online
| at http://www.gnu.org/licenses/agpl.html. Removal of this
| copyright header is strictly prohibited without
| written permission from the original author(s).
+--------------------------------------------------------*/
require_once "../maincore.php";
require_once THEMES."templates/admin_header.php";
include LOCALE.LOCALESET."admin/comments.php";
if (!checkrights("C") || !defined("iAUTH") || $_GET['aid'] != iAUTH) { redirect("../index.php"); }
if (!isset($_GET['ctype']) || !preg_check("/^[0-9A-Z]+$/i", $_GET['ctype'])) { redirect("../index.php"); }
if (!isset($_GET['cid']) || !isnum($_GET['cid'])) { redirect("../index.php"); }
if (isset($_GET['status']) && !isset($message)) {
if ($_GET['status'] == "su") {
$message = $locale['410'];
} elseif ($_GET['status'] == "del") {
$message = $locale['411'];
}
if ($message) { echo "<div class='admin-message'>".$message."</div>\n"; }
}
if (isset($_POST['save_comment']) && (isset($_GET['comment_id']) && isnum($_GET['comment_id']))) {
$comment_message = stripinput($_POST['comment_message']);
$result = dbquery("UPDATE ".DB_COMMENTS." SET comment_message='$comment_message' WHERE comment_id='".$_GET['comment_id']."'");
redirect("comments.php".$aidlink."&ctype=".$_GET['ctype']."&cid=".$_GET['cid']."&status=su");
}
if ((isset($_GET['action']) && $_GET['action'] == "delete") && (isset($_GET['comment_id']) && isnum($_GET['comment_id']))) {
$result = dbquery("DELETE FROM ".DB_COMMENTS." WHERE comment_id='".$_GET['comment_id']."'");
redirect("comments.php".$aidlink."&ctype=".$_GET['ctype']."&cid=".$_GET['cid']."&status=del");
}
if ((isset($_GET['action']) && $_GET['action'] == "edit") && (isset($_GET['comment_id']) && isnum($_GET['comment_id']))) {
$result = dbquery("SELECT * FROM ".DB_COMMENTS." WHERE comment_id='".$_GET['comment_id']."'");
if (dbrows($result)) {
require_once INCLUDES."bbcode_include.php";
$data = dbarray($result);
opentable($locale['400']);
echo "<form name='inputform' method='post' action='".FUSION_SELF.$aidlink."&comment_id=".$_GET['comment_id']."&ctype=".$_GET['ctype']."&cid=".$_GET['cid']."'>\n";
echo "<table cellpadding='0' cellspacing='0' width='400' class='center'>\n<tr>\n";
echo "<td align='center' class='tbl'><textarea name='comment_message' cols='60' rows='5' class='textbox' style='width:360px'>".$data['comment_message']."</textarea><br />\n";
echo display_bbcodes("360px", "comment_message")."</td>\n";
echo "</tr>\n<tr>\n";
echo "<td align='center' class='tbl'><input type='submit' name='save_comment' value='".$locale['421']."' class='button' /></td>\n";
echo "</tr>\n</table>\n</form>\n";
closetable();
}
}
opentable($locale['401']);
$i = 0;
$result = dbquery(
"SELECT * FROM ".DB_COMMENTS." LEFT JOIN ".DB_USERS."
ON ".DB_COMMENTS.".comment_name=".DB_USERS.".user_id
WHERE comment_type='".$_GET['ctype']."' AND comment_item_id='".$_GET['cid']."' ORDER BY comment_datestamp ASC"
);
if (dbrows($result)) {
echo "<table cellpadding='0' cellspacing='1' width='100%' class='tbl-border center'>\n";
while ($data = dbarray($result)) {
echo "<tr>\n<td class='".($i % 2 == 0 ? "tbl1" : "tbl2")."'><span class='comment-name'>";
if ($data['user_name']) {
echo "<a href='".BASEDIR."profile.php?lookup=".$data['comment_name']."' class='slink'>".$data['user_name']."</a>";
} else {
echo $data['comment_name'];
}
echo "</span>\n<span class='small'>".$locale['global_071'].showdate("longdate", $data['comment_datestamp'])."</span><br />\n";
echo nl2br(parseubb(parsesmileys($data['comment_message'])))."<br />\n";
echo "<span class='small'><a href='".FUSION_SELF.$aidlink."&action=edit&comment_id=".$data['comment_id']."&ctype=".$_GET['ctype']."&cid=".$_GET['cid']."'>".$locale['430']."</a> -\n";
echo "<a href='".FUSION_SELF.$aidlink."&action=delete&comment_id=".$data['comment_id']."&ctype=".$_GET['ctype']."&cid=".$_GET['cid']."' onclick=\"return confirm('".$locale['433']."');\">".$locale['431']."</a> -\n";
echo "<strong>".$locale['432']." ".$data['comment_ip']."</strong></span>\n";
echo "</td>\n</tr>\n";
$i++;
}
echo "</table>\n";
} else {
echo "<div style='text-align:center'><br />".$locale['434']."<br /><br /></div>\n";
}
closetable();
require_once THEMES."templates/footer.php";
?>
Edytowane przez konfiteor dnia 26.03.2010 06:27:13
|
|
|
|
kefirek |
Dodany dnia 25.04.2010 11:35:36
|
Zaawansowany
Postów: 1191 Pomógł: 418 Ostrzeżeń: 1
v6.00.xxx Data rejestracji: 06.04.2008 21:59
|
W załączniku daje zmodyfikowane pliki które należy zamienić.
Może się komuś przyda.
Przykład działania: http://www.fusion...ticle_id=1
kefirek dodał/a następującą plik:
Edytowane przez kefirek dnia 06.11.2010 10:22:59
|
|
|
|
qba88 |
Dodany dnia 25.04.2010 11:44:39
|
Początkujący
Postów: 277 Pomógł: 14
v7.02.03 Data rejestracji: 14.08.2006 14:57
|
kefirek, a czy mógłbyś opisać co, gdzie podmienić w kodzie? Bo mam zmodyfikowany plik comments_include.php. Z góry dzięki.
Jeśli Ci pomogłem, kliknij "Pomógł"
|
|
|
|
konfiteor |
Dodany dnia 29.04.2010 22:59:39
|
Początkujący
Postów: 112 Pomógł: 2 Ostrzeżeń: 3
Data rejestracji: 21.03.2007 13:31
|
Kefirek, mam jakieś problemy z kodowaniem. po wpisaniu polskich znaków.
Gdy napiszę coś to wszystkie wczesniejsze komentarze krzaczkują się a ostatni post jest dobry. A po odświeżeniu stony to co przed chwilą napisałem krzaczkuje się:
A wcześniejsze komenty są dobre.
Co jest grane?
Edytowane przez konfiteor dnia 29.04.2010 23:02:00
Rób swoje ryzyko jest Twoje...
|
|
|
|
krystian1988 |
Dodany dnia 30.04.2010 11:16:06
|
Zaawansowany
Postów: 1187 Pomógł: 100
v7.02.07 Data rejestracji: 07.05.2009 17:37
|
Jedno zakodowane w ISO 8859-2 drugie zaś w utf-8 tu tkwi Twój problem.
BRAK STOPKI = BRAK POMOCY NA SUPPORCIE.PRZECZYTAJ:
Regulamin Supportu Nie pomagam na PW!!!
|
|
|
|
Seba0p |
Dodany dnia 30.04.2010 12:52:24
|
Początkujący
Postów: 127 Pomógł: 25
Data rejestracji: 24.07.2007 11:28
|
kefirek, najpierw wypadałoby to zabezpieczyć. W aktualnym stanie jest to jedna wielka dziura dająca dostęp do bazy danych. |
|
|
|
konfiteor |
Dodany dnia 30.04.2010 17:20:18
|
Początkujący
Postów: 112 Pomógł: 2 Ostrzeżeń: 3
Data rejestracji: 21.03.2007 13:31
|
krystian1988
Mógłbyś mi jeszcze bardziej wyjaśnić w czym tkwi problem?
Mówisz o plikach że źle są zakodowane?
Co mam zrobić?
Rób swoje ryzyko jest Twoje...
|
|
|
|
piotrvx |
Dodany dnia 22.08.2010 21:21:11
|
Przedszkolak
Postów: 32 Ostrzeżeń: 2
Data rejestracji: 15.08.2009 23:27
|
Wtyczka ma problemy z kodowaniem iso-8859-2 i utf-8.
Próbowałem edytować fragment w pliku comments.php
Ale jest jeszcze gorzej .
GeSHi: PHP header('Expires: Mon, 26 Jul 1997 05:00:00 GMT' ); header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . 'GMT'); header('Cache-Control: no-cache, must-revalidate'); header("Content-Type: text/html; charset=utf-8"); require_once "../maincore.php"; include_once INCLUDES."securimage/securimage.php"; include LOCALE.LOCALESET."comments.php"; require_once INCLUDES."flood_include.php";
Zinterpretowano w sekund: 0.044, wykorzystano GeSHi 1.0.8.10
Bardzo proszę o pomoc .
Edytowane przez piotrvx dnia 22.08.2010 21:22:11
|
|
|
|
Mustava |
Dodany dnia 29.08.2010 01:11:44
|
Przedszkolak
Postów: 30 Pomógł: 2 Ostrzeżeń: 1
Data rejestracji: 07.07.2010 13:13
|
kefirek napisał/a:
W załączniku daje zmodyfikowane pliki które należy zamienić.
Może się komuś przyda.
Gdzie podział się załącznik? |
|
|
|
krystian1988 |
Dodany dnia 29.08.2010 08:31:03
|
Zaawansowany
Postów: 1187 Pomógł: 100
v7.02.07 Data rejestracji: 07.05.2009 17:37
|
Wlasnie gdzie sie podzial zalacznik?
BRAK STOPKI = BRAK POMOCY NA SUPPORCIE.PRZECZYTAJ:
Regulamin Supportu Nie pomagam na PW!!!
|
|
|
|
Adam Stalica |
Dodany dnia 29.08.2010 12:30:26
|
Początkujący
Postów: 213 Pomógł: 13
v7.02.03 Data rejestracji: 05.08.2010 17:24
|
Jeśli macie problemy z kodowaniem i wyskakują Wam "krzaczki" to podmieńcie zawartość pliku commments.php w folderze includes na tą:
<?php
if(ob_get_length()) ob_clean();
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT' );
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . 'GMT');
header('Cache-Control: no-cache, must-revalidate');
header('Pragma: no-cache');
header("Content-Type: text/html; charset=iso-8859-2");
require_once "../maincore.php";
include_once INCLUDES."securimage/securimage.php";
include LOCALE.LOCALESET."comments.php";
require_once INCLUDES."flood_include.php";
$clink = "";
$comment_name = $_POST['comment_name'];
$ctype = $_POST['ctype'];
$cdb = $_POST['cdb'];
$ccol = $_POST['ccol'];
$cid = $_POST['cid'];
$urlcom = $_POST['urlcom'];
$comment_message = trim(stripinput(censorwords($_POST['comment_message'])));
$coment = '';
if(isset($_POST['captcha_code'])){
$error = '';
$securimage = new Securimage();
if (!isset($_POST['captcha_code']) || $securimage->check($_POST['captcha_code']) == false) {
$error = "<div style='text-align:center'><br /><span style='color:#ff0000'>Nie poprawny kod potwierdzający spróbuj ponownie. !!!</span><br /><br /></div><br />\n";
}
if($error == ''){
if (!flood_control("comment_datestamp", DB_COMMENTS, "comment_ip='".USER_IP."'")) {
$result = dbquery("INSERT INTO ".DB_COMMENTS." (comment_item_id, comment_type, comment_name, comment_message, comment_datestamp, comment_ip) VALUES ('$cid', '$ctype', '$comment_name', '$comment_message', '".time()."', '".USER_IP."')");
}
}
} else {
if (!flood_control("comment_datestamp", DB_COMMENTS, "comment_ip='".USER_IP."'")) {
$result = dbquery("INSERT INTO ".DB_COMMENTS." (comment_item_id, comment_type, comment_name, comment_message, comment_datestamp, comment_ip) VALUES ('$cid', '$ctype', '$comment_name', '$comment_message', '".time()."', '".USER_IP."')");
$coment = "<div style='text-align:center'><br />Komentarz został dodany<br /><br /></div><br />\n";
}
//if($result){
//echo "<div style='text-align:center'><br />Komentarz został dodany<br /><br /></div><br />\n";
//}
}
echo "<a id='comments' name='comments'></a>";
$c_rows = dbcount("(comment_id)", DB_COMMENTS, "comment_item_id='$cid' AND comment_type='$ctype'");
if (!isset($_GET['c_start']) || !isnum($_GET['c_start'])) { $_GET['c_start'] = 0; }
$result = dbquery(
"SELECT tcm.*,user_name FROM ".DB_COMMENTS." tcm
LEFT JOIN ".DB_USERS." tcu ON tcm.comment_name=tcu.user_id
WHERE comment_item_id='$cid' AND comment_type='$ctype'
ORDER BY comment_datestamp ASC"
);
if (dbrows($result)) {
$i = $_GET['c_start']+1;
while ($data = dbarray($result)) {
echo "<div class='tbl2'>\n";
if ((iADMIN && checkrights("C")) || (iMEMBER && $data['comment_name'] == $userdata['user_id'] && isset($data['user_name']))) {
echo "<div style='float:right' class='comment_actions'><!--comment_actions-->\n<a href='".$urlcom."&c_action=edit&comment_id=".$data['comment_id']."#edit_comment'>".$locale['c108']."</a> |\n";
echo "<a href='".$urlcom."&c_action=delete&comment_id=".$data['comment_id']."'>".$locale['c109']."</a>\n</div>\n";
}
echo "<a href='".$urlcom."#c".$data['comment_id']."' id='c".$data['comment_id']."' name='c".$data['comment_id']."'>#".$i."</a> | ";
if ($data['user_name']) {
echo "<span class='comment-name'><a href='".BASEDIR."profile.php?lookup=".$data['comment_name']."'>".$data['user_name']."</a></span>\n";
} else {
echo "<span class='comment-name'>".$data['comment_name']."</span>\n";
}
echo "<span class='small'>".$locale['global_071'].showdate("longdate", $data['comment_datestamp'])."</span>\n";
echo "</div>\n<div class='tbl1 comment_message'><!--comment_message-->".nl2br(parseubb(parsesmileys($data['comment_message'])))."</div>\n";
$i++;
}
if (iADMIN && checkrights("C")) {
echo "<div align='right' class='tbl2'><a href='".ADMIN."comments.php".$aidlink."&ctype=$ctype&cid=$cid'>".$locale['c106']."</a></div>\n";
}
} else {
echo $locale['c101']."\n";
}
if(isset($_POST['captcha_code'])){
if($error == ''){
echo "<div style='text-align:center'><br />Komentarz został dodany<br /><br /></div><br />\n";
} else {
echo $error;
}
} else {
echo $coment;
}
?>
Albo po prostu zmieńcie w pliku comments.php:
header("Content-Type: text/html; charset=utf-8");
na
header("Content-Type: text/html; charset=iso-8859-2");
I po problemie ;-]
Pozdrawiam ;)
Edytowane przez Adam Stalica dnia 29.08.2010 12:32:02
Witam
|
|
|
|
piotrvx |
Dodany dnia 29.08.2010 15:40:59
|
Przedszkolak
Postów: 32 Ostrzeżeń: 2
Data rejestracji: 15.08.2009 23:27
|
Zmiana header("Content-Type: text/html; charset=utf-8");
Kliknij i zaczekaj na załadowanie kodu ... na header("Content-Type: text/html; charset=iso-8859-2");
Kliknij i zaczekaj na załadowanie kodu ... Nic nie daje, tylko więcej błędów w bazie :( |
|
|
|
Adam Stalica |
Dodany dnia 29.08.2010 15:54:58
|
Początkujący
Postów: 213 Pomógł: 13
v7.02.03 Data rejestracji: 05.08.2010 17:24
|
Jakie masz kodowanie strony?
Witam
|
|
|
|
piotrvx |
Dodany dnia 29.08.2010 16:41:28
|
Przedszkolak
Postów: 32 Ostrzeżeń: 2
Data rejestracji: 15.08.2009 23:27
|
Wtyczka poprawnie działa tylko w przypadku kodowania utf-8 , a ja mam iso-8859-2
Edytowane przez piotrvx dnia 29.08.2010 16:42:00
|
|
|
|
Adam Stalica |
Dodany dnia 29.08.2010 18:06:30
|
Początkujący
Postów: 213 Pomógł: 13
v7.02.03 Data rejestracji: 05.08.2010 17:24
|
Ale jednak faktycznie wtyczka tylko działa z kodowaniem UTF-8 z kodowaniem ISO źle działa ;/
Edytowane przez Adam Stalica dnia 30.08.2010 09:33:17
Witam
|
|
|
|
konfiteor |
Dodany dnia 02.11.2010 23:50:49
|
Początkujący
Postów: 112 Pomógł: 2 Ostrzeżeń: 3
Data rejestracji: 21.03.2007 13:31
|
Witam Serdecznie!
W modyfikacji którą zrobił kefirek występuję błąd.
Użytkownicy wpisujący cyfry jako nick mają nick zarejestrowanego.
Np. cyfra 1 - administrator, 2,3,4.... itd
Czy ktoś potrafi to naprawić?
Pliki:
comments.php
comments_include.js
comments_include.php
http://infonowade...cludes.rar
Edytowane przez konfiteor dnia 04.11.2010 21:54:57
Rób swoje ryzyko jest Twoje...
|
|
|
|
Angius |
Dodany dnia 26.11.2010 20:16:16
|
Przedszkolak
Postów: 74 Ostrzeżeń: 4
Data rejestracji: 17.03.2010 19:12
|
A ja mam taki kłopocik z wstawianiem kodu...
Mianowicie wszystko śmigało pięknie, dopóki nie usunąłem komentarzy w jQuery, od tego momentu przy próbie dodania panelu, a konkretnie podglądu wyskakuje mi
Parse error: syntax error, unexpected $end in /var/www/virtual/incantator.cba.pl/administration/panel_editor.php(128) : eval()'d code on line 1
Kliknij i zaczekaj na załadowanie kodu ...
Ktoś wie, o co chodzi?
PW od moderatora:
- Przeniesienie posta - Pieka 26.11 - 20:16
//Angius
|
|
|