Modul 4.4.x Comments v0.0.1

Gesperrt
emergence
Beiträge: 10641
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Di 13. Jul 2004, 22:44

@maTTos
die ergänzung wieviele kommentare es gibt ist keine erweiterung des comments moduls...

die info wieviele kommentare zur verfügung stehen kommt sicher in nächster zeit (wenn ich mal zeit finde...) dies dann in andere module einzubauen wird dann kein problem mehr darstellen...
*** make your own tools (wishlist :: thx)

emergence
Beiträge: 10641
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Di 13. Jul 2004, 22:46

Onliner hat geschrieben:Ich hab Haken und Adresse gesetzt und ich verwende die neuste Version.
funktioniert mail überhaupt bei dir via server (zb newsletter) ?
*** make your own tools (wishlist :: thx)

Snoopy
Beiträge: 239
Registriert: Mo 15. Sep 2003, 18:45
Kontaktdaten:

Beitrag von Snoopy » Mi 14. Jul 2004, 12:14

Onliner hat geschrieben:Ich hab Hacken und Adresse gesetzt und ich verwende die neuste Version.
@Onliner
Ich habe das nochmal auf einem lokalen System nachgestellt:

Wenn ich Mercury-Mail (in XAMP enthalten) nicht starte, kann ich im Backend von Contenido unter Administration->System im Errorlog folgendes sehen:

[14-Jul-2004 12:58:00] PHP Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in c:\programme\Apache Group\apache2\htdocs\cont45\cms\front_content.php(659) : eval()'d code on line 988

Aktiviere ich den Mailserver wieder funktioniert des Modul einwandfrei, und ich bekomme folgende Mail:

Code: Alles auswählen

Kommentar von: John Doe | E-Mail: J.Doe@abc.net 

Der Kommentar wurde zu folgendem Artikel abgegeben :

http://127.0.0.1/cont45/cms/front_content.php?client=1&lang=1&idcat=6&idart=13

Inhalt: Test Eintrag
2. Möglichkeit: Hast du das Template global konfiguriert, und eventuell dann vergessen nachzuschauen, ob
das Template die Einstellungen auch für die Kategorie oder den Artikel selbst übernommen hat.

3. Hast Du nur die Änderung übernommen, die ich an @evok gepostet hatte, dann kann es sein, das Du keinen User Admin hast, oder dieser keine
E-Mail eingerichtet hat.

@alter schwede: Die Funktion safeEmail ist ein SPAM Schutz, um zu verhindern, das Die Email-Adressen von
SPAM Bots geparst werden. Ich werde in einer zukünftigen Version noch eine Funktion einbauen, die bei einem Klick auf den
Link die Adresse wieder Outlook-Kompatibel macht.
Gruß aus Hamburg :wink:

ChrisD
Beiträge: 132
Registriert: Di 30. Dez 2003, 17:33
Kontaktdaten:

Beitrag von ChrisD » Mi 14. Jul 2004, 16:32

Also den Errorlog eintrag erhlate ich nicht. Ein Fehler in der Template Config ist ausgeschlossen.
Mailformulare etc. funktionieren, einen Newsletter hab ich nicht installiert.

malsdgtac
Beiträge: 717
Registriert: Fr 12. Mär 2004, 15:50
Kontaktdaten:

Beitrag von malsdgtac » So 18. Jul 2004, 16:40

Das Modul ist einfach super!

Ich muss sage ich habe das Modul eingebaut - und es lieft sofort super spitzen mäßig. Gratulation und herzlichen Dank euch, die sich die Zeit genommen haben diese Modul zu bauen.

Wie ich gelesen haben wurde schon ein paar Mal auf die Idee eines Votingmodul hingewiesen, also wenn ihr das auch noch hinbekommen würdet wäre das spitzenmäßig.

maTTos
Beiträge: 130
Registriert: Fr 27. Jun 2003, 14:14
Kontaktdaten:

Beitrag von maTTos » Mi 4. Aug 2004, 02:54

Moin, ich bräuchte Eure Hilfe zum Kommentarmodul:
// generate output variable

$comment['template'] = '<a name="comment'.$db->f("idcomments").'"></a><table style="font-family:verdana, arial, sans-serif; font-size:11px;"><tr valign="top"><td>%s</td><td>%s</td></table>';

if ($db->f("email") != "") {
$comment['header'] = '<a href="mailto:'.$db->f("email").'">%s</a>';
} else {
$comment['header'] = '%s';
}
1. Wenn ich hinter "table" den Wert "width=100%" einsetze, funktioniert das Modul leider nicht mehr. Wie kann ich ein Prozentzeichen einfügen, ohne dass es Probleme gibt?

2. Bei mir habe ich die Re-Kommentarfunktion ausgeklammert. Wie schaffe ich es, dass die Input-Boxen direkt mit bei den Kommentaren stehen, ohne einen extra Aufruf?

3.
die info wieviele kommentare zur verfügung stehen kommt sicher in nächster zeit (wenn ich mal zeit finde...) dies dann in andere module einzubauen wird dann kein problem mehr darstellen...
Bitte noch einmal dran denken, dass wäre ein tolles Feature. Nur damit es nicht in Vergessenheit gerät. :roll:

malsdgtac
Beiträge: 717
Registriert: Fr 12. Mär 2004, 15:50
Kontaktdaten:

Beitrag von malsdgtac » Mi 4. Aug 2004, 07:22

Um eine width="100%" anzugeben lass die Anführungszeichen doch weg, funktioniert genau so oder schreibe width=\"100%\" oder width='100%'

emergence
Beiträge: 10641
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Mi 4. Aug 2004, 07:55

maTTos hat geschrieben:1. Wenn ich hinter "table" den Wert "width=100%" einsetze, funktioniert das Modul leider nicht mehr. Wie kann ich ein Prozentzeichen einfügen, ohne dass es Probleme gibt?
jedes % wird als platzhalter gewertet... -> http://at.php.net/manual/de/function.sprintf.php
maTTos hat geschrieben:2. Bei mir habe ich die Re-Kommentarfunktion ausgeklammert. Wie schaffe ich es, dass die Input-Boxen direkt mit bei den Kommentaren stehen, ohne einen extra Aufruf?
ohne ne größere umbauarbeit am modul ist dies nicht ohne weiteres möglich....
maTTos hat geschrieben:3. Nur damit es nicht in Vergessenheit gerät. :roll:
danke für den hinweis... muss aber nebenbei auch andere sachen machen die einfach weit mehr priorität haben...
*** make your own tools (wishlist :: thx)

Snoopy
Beiträge: 239
Registriert: Mo 15. Sep 2003, 18:45
Kontaktdaten:

Beitrag von Snoopy » Mi 4. Aug 2004, 09:22

@maTTos
Damit du auch sehen kannst, wieviel Kommentare dein Artikel hat,bau folgende Funktion in den Output des Moduls ein (am besten gleich hinter dem <?):

Code: Alles auswählen

function generateNumberOfComments()
{
	 global $cfg, $idart, $client, $lang, $errorComments;
$db = new DB_Contenido; // do not set global !!
	$num = $db->num_rows($db->query("SELECT idcomments FROM ".$cfg["tab"]["comments"]." WHERE idclient =".$client." AND idlang = ".$lang." AND idart = ".$idart."  AND status ='1' "));
	if ($num > 0) {
		return $num." comments&nbsp;";
	    }
    else {
        return "0 comments&nbsp;";
		}
}
Die Funktion kannst du dann zum Beispiel in Code-Zeile 529 einfügen:

Code: Alles auswählen

---original--
$clinkform = $clink."&cmode=form&creplyto=0";

       echo '<a href="'.$clinkform.'" style="font-family:verdana, arial, sans-serif; font-size:11px;">Neuen Kommentar hinzufügen</a><br>'; // creplyto is used for reply

       if ($commentsTree) { // tree elements found

           showComments($commentsTree);
--ende-----

----geändert---
$clinkform = $clink."&cmode=form&creplyto=0";
       echo generateNumberOfComments(); // das ist neu
       echo '<a href="'.$clinkform.'" style="font-family:verdana, arial, sans-serif; font-size:11px;">Neuen Kommentar hinzufügen</a><br>'; // creplyto is used for reply

       if ($commentsTree) { // tree elements found

           showComments($commentsTree);
--ende-----


Wenn du jetzt noch eine eierlegende-woll-milch-Sau brauchst, kann ich dir leider nicht helfen.

in diesem sinne.....
Gruß aus Hamburg :wink:

maTTos
Beiträge: 130
Registriert: Fr 27. Jun 2003, 14:14
Kontaktdaten:

Beitrag von maTTos » Mi 4. Aug 2004, 11:09

@emergence: Danke für die Antworten. Hab versucht zu verstehen, was unter: string sprintf ( string format [, mixed args]) zu finden ist. Heisst das, dass es für mich in diesem speziellen Fall keine Möglichkeit gibt, die Breite auf max zu setzen? PS: Der Hinweis war auch nur als Hinweis zu verstehen und nicht als Handlungsaufforderung. Ich weiß doch, dass ihr viel zu tun habt.

@snoopy: Jawie, ich hatte doch immer gesagt, dass die Sau viel wichtiger ist, als der restliche Krempel hier. Na toll!! :wink:

PS: Dankeschön, werds gleich mal testen

xxxxx

Nach dem Test: Ich habs eingebaut und kann sagen: "Sehr schön, es funktioniert". Es ist allerdings noch ein Wunsch offen (ihr wisst, wünschen darf man sich viel. Was man am Ende kriegt, ist eine andere Sache).

Die Anzahl der Kommentare sollte neben der Artikelheadline in der Artikelliste angezeigt werden, um so beim User Interesse zu wecken (User: "Oha, bei dem Beitrag ging es aber rund. Mal sehen!"). Ist eine solche Anpassung bei diesen Zeilen auch so zu bewerten?
emergence: ... dies dann in andere module einzubauen wird dann kein problem mehr darstellen...

Snoopy
Beiträge: 239
Registriert: Mo 15. Sep 2003, 18:45
Kontaktdaten:

Beitrag von Snoopy » Do 5. Aug 2004, 10:10

@maTTos
Bau folgendes in die Artikelliste ein:

1. Oben an den Anfang des Moduls:

Code: Alles auswählen

* Copyright : None
* Created : 13-07-03
* Modified : 16-08-02 /20-09-03 upt /31-01-04 Beau/04-04-04 Beau
************************************************/
$cfg["tab"]["comments"] = $cfg['sql']['sqlprefix']."_comments"; // for syntax reasons only
2. Dies bau hier ein:

Code: Alles auswählen

$sql = "SELECT A.author AS author, B.created AS lastmod FROM $cfgTab_art_lang AS A, $cfgTab_content AS B WHERE A.idart='$value' AND B.idartlang=A.idartlang ORDER BY B.created DESC";
$db->query($sql);$db->next_record();
$modifydate= date("d.m.y",strtotime($db->f("lastmod")));
$modifytime= date("H:i",strtotime($db->f("lastmod")));

//----- das ist neu die $num für die Anzahl der Comments wird erzeugt
	$db = new DB_Contenido; // do not set global !!
	$num = $db->num_rows($db->query("SELECT idcomments FROM ".$cfg["tab"]["comments"]." WHERE idclient ='1' AND idlang = '1' AND idart = '$value'  AND status ='1' "));
	$db->next_record();
//--- neu Ende --------


3. Dies dann unterhalb der Einträge unter dieser Kommentarzeile:

Code: Alles auswählen

/***********************Anfang Tablezeile für Artikelliste**********************/


      if ($num > 0) {
		echo  ''.$num.'<img src="img/comments_on.gif" alt="commentss" width="48" height="7" /></a>
   ';
	    }
    else {
     	echo'<img src="img/comments_off.gif" width="68" height="7" alt="Comments off" /></a>
   ';
		}
 




In diesem Sinne...... ;-)

Wer Module verfälscht, oder verfälschte Module benutzt, oder verfälschte Module in Umlauf bringt, und diese nicht versteht, wir mit "PHP für Dummies" nicht unter zehn Stunden Bestraft.
Gruß aus Hamburg :wink:

maTTos
Beiträge: 130
Registriert: Fr 27. Jun 2003, 14:14
Kontaktdaten:

Beitrag von maTTos » Do 5. Aug 2004, 12:31

Perfekt ... einfach nur perfekt! Genau SO hatte ich es gemeint. Bitte Kontodaten als PM zukommen lassen :D

PS: Übrigens machen mir große rote Wörter Angst! Bitte nehmt Rücksicht auf Eure DAU's. :wink:

Snoopy
Beiträge: 239
Registriert: Mo 15. Sep 2003, 18:45
Kontaktdaten:

Beitrag von Snoopy » Do 5. Aug 2004, 17:19

Ich rauche Camel ohne Filter ob Du eine Stange daraus machst, ist deine Sache ! ;-)
Gruß aus Hamburg :wink:

emergence
Beiträge: 10641
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Do 5. Aug 2004, 19:19

maTTos hat geschrieben:@emergence: Danke für die Antworten. Hab versucht zu verstehen, was unter: string sprintf ( string format [, mixed args]) zu finden ist. Heisst das, dass es für mich in diesem speziellen Fall keine Möglichkeit gibt, die Breite auf max zu setzen? PS: Der Hinweis war auch nur als Hinweis zu verstehen und nicht als Handlungsaufforderung. Ich weiß doch, dass ihr viel zu tun habt.
nein % wird als platzhalter gewertet wenn man sprintf verwendet...

Code: Alles auswählen

             $comment['template'] = '<a name="comment'.$db->f("idcomments").'"></a><table width="410" style="font-family:verdana, arial, sans-serif; font-size:11px;"><tr valign="top"><td>%s</td><td>%s</td></table>';
ersetzen durch

Code: Alles auswählen

             $comment['template'] = '<a name="comment'.$db->f("idcomments").'"></a><table width="%s" style="font-family:verdana, arial, sans-serif; font-size:11px;"><tr valign="top"><td>%s</td><td>%s</td></table>';
und

Code: Alles auswählen

             // print output
             echo sprintf($comment['template'],$comment['seperator'],$comment['complete']);
durch

Code: Alles auswählen

             // print output
             echo sprintf($comment['template'], "100%",$comment['seperator'],$comment['complete']);
das is es...

ach ja, ich rauche lucky strike ;-)
*** make your own tools (wishlist :: thx)

malsdgtac
Beiträge: 717
Registriert: Fr 12. Mär 2004, 15:50
Kontaktdaten:

Beitrag von malsdgtac » Fr 13. Aug 2004, 11:12

Bug bei der Eingabe eines ' .

Ich habe das Modul auf einer sehr umfangreich Seite - funtkioniert voll super. Gestern ist uns allerdings ein keiner Bug aufgefallen wenn man ein ' eingibt als z.B. "das ist's super" dann kommt die Fehlermeldung "creation failled" und der Eintrag wird nicht erstellt.

Weiß jemand wie das abgefangen werden kann?

Gesperrt