Seite 5 von 9

Verfasst: Di 13. Jul 2004, 22:44
von emergence
@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...

Verfasst: Di 13. Jul 2004, 22:46
von emergence
Onliner hat geschrieben:Ich hab Haken und Adresse gesetzt und ich verwende die neuste Version.
funktioniert mail überhaupt bei dir via server (zb newsletter) ?

Verfasst: Mi 14. Jul 2004, 12:14
von Snoopy
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.

Verfasst: Mi 14. Jul 2004, 16:32
von ChrisD
Also den Errorlog eintrag erhlate ich nicht. Ein Fehler in der Template Config ist ausgeschlossen.
Mailformulare etc. funktionieren, einen Newsletter hab ich nicht installiert.

Verfasst: So 18. Jul 2004, 16:40
von malsdgtac
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.

Verfasst: Mi 4. Aug 2004, 02:54
von maTTos
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:

Verfasst: Mi 4. Aug 2004, 07:22
von malsdgtac
Um eine width="100%" anzugeben lass die Anführungszeichen doch weg, funktioniert genau so oder schreibe width=\"100%\" oder width='100%'

Verfasst: Mi 4. Aug 2004, 07:55
von emergence
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...

Verfasst: Mi 4. Aug 2004, 09:22
von Snoopy
@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.....

Verfasst: Mi 4. Aug 2004, 11:09
von maTTos
@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...

Verfasst: Do 5. Aug 2004, 10:10
von Snoopy
@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.

Verfasst: Do 5. Aug 2004, 12:31
von maTTos
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:

Verfasst: Do 5. Aug 2004, 17:19
von Snoopy
Ich rauche Camel ohne Filter ob Du eine Stange daraus machst, ist deine Sache ! ;-)

Verfasst: Do 5. Aug 2004, 19:19
von emergence
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 ;-)

Verfasst: Fr 13. Aug 2004, 11:12
von malsdgtac
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?