Index_X als Modul

In diesem Forum finden Diskussionen zu allen für ConPresso 3.x verfügbaren Modulen statt.
Mogandi
ConPresso-User
Beiträge: 53
Registriert: 01.01.1970 02:00

Re: Index_X als Modul

Beitrag von Mogandi »

Hallo Semf!

Musste aufgrund eines Servercrashes ConPresso erneut installieren, weswegen ich auch dein Mod in der neueren Fassung installiert habe. Funktioniert alles wunderbar! Vielen Dank.
(Auch nochmal für die Hilfe weiter oben ;-)

Gruss Mogl
Benutzeravatar
semf
Modul-Entwickler
Beiträge: 1853
Registriert: 01.01.1970 02:00
Wohnort: Gütersloh-Friedrichsdorf
Hat sich bedankt: 14 Mal
Danksagung erhalten: 40 Mal

Re: Index_X als Modul

Beitrag von semf »

hallo mogandi!

... und wie ich sehe sind deine tabellen 'very' html-konform - super! ;-)

ps: übrigens sehr interessanter thread: <http://www.webwork-community.net/posting7410_23_0.html>



Beitrag bearbeitet (17.03.05 10:33)
Viel Erfolg!

Module ConPresso 4.x
Latest News
Tell-a-friend

Module ConPresso 3.4.x
Index_X
Kontakt
RSS-Feed
Umfrage
Gästebuch
Tell-a-Friend

Modul-Download
Benutzeravatar
semf
Modul-Entwickler
Beiträge: 1853
Registriert: 01.01.1970 02:00
Wohnort: Gütersloh-Friedrichsdorf
Hat sich bedankt: 14 Mal
Danksagung erhalten: 40 Mal

Re: Index_X als Modul

Beitrag von semf »

hallo zusammen!

das modul index_x 1.5 ist jetzt eine offizielle versionen. ich bitte daher, beim einsatz die nutzungsbedingungen zu berücksichtigen!

die 1.0-version steht weiterhin zum download bereit, da es auf die 1.5-version unterschiedliche reaktionen gab.
wer sich also nicht mit der template-anpassung befassen möchte, der sollte zur index_x 1.0 greifen!



Beitrag bearbeitet (17.03.05 14:22)
Viel Erfolg!

Module ConPresso 4.x
Latest News
Tell-a-friend

Module ConPresso 3.4.x
Index_X
Kontakt
RSS-Feed
Umfrage
Gästebuch
Tell-a-Friend

Modul-Download
Mogandi
ConPresso-User
Beiträge: 53
Registriert: 01.01.1970 02:00

Re: Index_X als Modul

Beitrag von Mogandi »

Hoi Semf!

Hast mich erwischt! Wirklich ein interessanter Artikel, zumal nur du mir helfen konntest und nicht die checker der webwork community. ;-)
Kannst dir denke ich ruhig was drauf einbilden.

Gruss Moggl
Benutzeravatar
semf
Modul-Entwickler
Beiträge: 1853
Registriert: 01.01.1970 02:00
Wohnort: Gütersloh-Friedrichsdorf
Hat sich bedankt: 14 Mal
Danksagung erhalten: 40 Mal

Re: Index_X als Modul

Beitrag von semf »

hallo mogandi!

"Kannst dir denke ich ruhig was drauf einbilden."

ja, ich nenne mich ab heute die "super nanny des gepflegten quellcodes"!

*grins*

Viel Erfolg!

Module ConPresso 4.x
Latest News
Tell-a-friend

Module ConPresso 3.4.x
Index_X
Kontakt
RSS-Feed
Umfrage
Gästebuch
Tell-a-Friend

Modul-Download
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7117
Registriert: 01.01.1970 02:00
Hat sich bedankt: 103 Mal
Danksagung erhalten: 916 Mal

Re: Index_X als Modul

Beitrag von MarkusR »

Hallo semf,

habe eben auch mal die 1.5 installiert und bin sehr zufrieden damit! Danke!

Zum Einbinden der index_php.php als "Neueste Themen" in einer anderen Rubrik musste ich zwar ein paar kleine Änderungen vornehmen, aber ansonsten tadellos...

...zumindest fast... ;o)

Ein kleiner "Bug" ist mir aufgefallen:
Der teaser_short begrenzt die Anzahl der ausgegebenen Zeichen in index.inc.php auf 250. Das habe ich für meine Zwecke mal auf 100 runtergeschraubt (und mir daher auch gleich gewünscht, daß es als Parameter zum Einstellen vorgesehen würde)... aber festgestellt, daß auch Texte mit gerade mal 50 Zeichen durch ein "...<br>" verziert wurden.
Mal abgesehen davon, daß das <br> ins Template gehört (und von mir gleich dorthin befördert wurde), wird die Zeichenzahl des HTML-Artikel-Textes incl. aller Tags berechnet, die Ausgabe erfolgt aber anhand des reinen Textes.
Daher habe ich Zeile 101 in index.inc.php folgendermaßen geändert:

Code: Alles auswählen

$teaser_short .= (strlen(strip_tags($db_text_1)) >= 100) ? "...":"";  
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7117
Registriert: 01.01.1970 02:00
Hat sich bedankt: 103 Mal
Danksagung erhalten: 916 Mal

Re: Index_X als Modul

Beitrag von MarkusR »

Noch was:
Wäre schön, wenn strip_tags nicht so rigoros arbeiten würde... :((
Leider werden aus dem Spaghetti-Code des Editors auch die <br>s und </p>s ersatzlos gestrichen, was zu z.T. nicht lesbaren Texten führt.
Wäre schön, wenn da einfach Leerschritte erscheinen könnten...

(das gleiche gilt vermutlich auch für alle anderen Zeilenumbruch-produzierenden Tags wie </td>, </h1>, </h2>, ..., </li> etc.)

Bevor ich das selbst verbessere, fällt Dir ja vielleicht eine schnelle Lösung ein... ;o))

Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7117
Registriert: 01.01.1970 02:00
Hat sich bedankt: 103 Mal
Danksagung erhalten: 916 Mal

Re: Index_X als Modul

Beitrag von MarkusR »

ich bin einfach zu ungeduldig... ;o)

Habe es bei mir jetzt mal ausgebügelt:

Code: Alles auswählen

//Teaser Kurzform
$text_breaks = array("<br>","<BR>","</p>","</P>","</td>","</TD>");
$teaser_short = substr(strip_tags(str_replace($text_breaks," ",$db_text_1)), 0, 100);
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7117
Registriert: 01.01.1970 02:00
Hat sich bedankt: 103 Mal
Danksagung erhalten: 916 Mal

Re: Index_X als Modul

Beitrag von MarkusR »

Ich schon wieder (sorry für die vielen Postings...) ;o)

Nachdem ich gelesen habe, daß man das Modul mehrfach einsetzen kann, habe ich das auch gleich getan. Natürlich anders als gedacht, nämlich als include auf einer einzelnen (fremden) Seite (einmal als "neue Themen" und dann noch als "geänderte Themen" (Last Updates)). Dabei stellt sich wieder das Verzeichnis Problem, so daß man das directory in den SQL-String hardcoden muß.
Zusätzlich bereiten die doppelten includes ein Problem, was man aber durch auskommentieren/löschen der Zeilen beheben kann.
Dann läuft das ganze wie gewünscht, auch wenn es von Dir nicht so gedacht ist ;o)

Dabei aber ein kleiner "Bug" oder besser "missing feature":
Wenn man "Last Updates" nutzt, würde ich mir wünchen, daß man auch den Editor (changer) mit ausgeben könnte. Dieser steht in der News-Tabelle leider als Name, müsste also noch zum Initial umgewandelt werden.
Dann könnte man was in der Art [<#Initialen#>-<#Changer#>] ausgeben, daß dann als Ausgabe so aussehen würde [mr-adm], wobei bei identischem User ein [mr-mr] nicht nur akzeptabel sondern sogar wünschenswert wäre.
Nur müsste bei Fehlen des changer-Eintrags (bei neuen Artikeln) der Autor genommen werden.

Habe ich hoffentlich nicht zu kompliziert beschrieben... ;o))

Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
semf
Modul-Entwickler
Beiträge: 1853
Registriert: 01.01.1970 02:00
Wohnort: Gütersloh-Friedrichsdorf
Hat sich bedankt: 14 Mal
Danksagung erhalten: 40 Mal

Re: Index_X als Modul

Beitrag von semf »

hallo markusr,

erstmal vielen dank für die anregungen!

den kleinen bug vom 25.03.2005 - 19:45 uhr würde ich unter dem gesichtspunkt der laufzeit-optimierung so lösen:

//Teaser Kurzform
$text_breaks = array("<br>","<BR>");
$teaser_short = substr(strip_tags(str_replace($text_breaks," ",$db_text_1)), 0, 250);
$teaser_short .= (strlen($teaser_short) >= 250) ? "..." : "";

das mit dem längenparameter als eingabefeld habe ich daher weggelassen, da wir hier
a) von einem teaser sprechen, der eh schon nicht zu lang sein sollte und hier dann auch noch gestuzt wird
b) dir sicher aufgefallen ist, das genau diese funktion aus der suche kommt! und sich da irgendwie noch niemand drüber ausgelassen hat - oder doch!?

aber ich denke da mal drüber nach!

ps: die <br>'s habe ich mit eingebaut, bei den <p>'s scheint es aber zu funktionieren - hier zumindest!

Viel Erfolg!

Module ConPresso 4.x
Latest News
Tell-a-friend

Module ConPresso 3.4.x
Index_X
Kontakt
RSS-Feed
Umfrage
Gästebuch
Tell-a-Friend

Modul-Download
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7117
Registriert: 01.01.1970 02:00
Hat sich bedankt: 103 Mal
Danksagung erhalten: 916 Mal

Re: Index_X als Modul

Beitrag von MarkusR »

Mit der Reduzierung auf Breaks hast Du sicher recht, da der Editor bei Paragraphen und Tabellen ordentliche Zeilenumbrüche einfügt, die als Leerschritt wiedergegeben werden. Allerdings habe ich einige Artikel mit dem erwähnten Spaghetticode... keine Ahnung wie das dort entstanden ist... aber gerade daran ist es mir aufgefallen... *kopfkratz*


"b) dir sicher aufgefallen ist, das genau diese funktion aus der suche kommt! und sich da irgendwie noch niemand drüber ausgelassen hat - oder doch!?"

Mensch... jetzt mußte ich aber lange überlegen, wie das wohl aus der Suche kommt und dachte erst, daß ich
"E5.) Rubrikeinstellung zur Suche (übernehmen)"
völlig falsch interpretiert habe, aber dann habe ich gesehen, daß Du wohl das Hardcoden der Stringlänge meinst.

Da ich das aber auch bei der Suche für etwas unglücklich halte, fände ich zumindest eine Parametrisierung über const.php für erwägenswert.



Den "Changer" habe ich mir jetzt noch schnell selbstgebastelt:
in index.inc.php bei den Datenbankvariablen
$db_changer = $db->v("changer");
hinzugefügt, dann nach Ermittlung von Rubrik-Name und Überschift dies analog für den User gemacht:
//Initialen des Changers
$query = "SELECT initial FROM ".$dbPrefix."_user WHERE user = '".$db_changer."'";
DEBUG(2, $query, __FILE__, __LINE__);
$db_changer = new DB;
$db_changer->query($query);
if ($db_changer->num_rows()>0) {
$db_changer->next_record();
$tmp_changer_initial = $db_changer->v("initial");
$db_changer_initial = ($tmp_changer_initial == '') ? $db_initial : $tmp_changer_initial;
}
und am Ende das ganze noch geparst
$template = str_replace("<#Changer#>",$db_changer,$template);
$template = str_replace("<#ChangerInitial#>",$db_changer_initial,$template);
so daß ich nun zwei weitere Platzhalter habe...

das kannst Du natürlich gerne verwenden und verbessern... ;o)



Beitrag bearbeitet (26.03.05 12:30)
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
semf
Modul-Entwickler
Beiträge: 1853
Registriert: 01.01.1970 02:00
Wohnort: Gütersloh-Friedrichsdorf
Hat sich bedankt: 14 Mal
Danksagung erhalten: 40 Mal

Re: Index_X als Modul

Beitrag von semf »

hallo markusr,

grundsätzlich super! nur würde ich es so machen:

$db_autor_change = $db->v("changer");

dann:

//Initialen des Changers
$query = "SELECT name, initial FROM ".$dbPrefix."_user WHERE user = '".$db_autor_change."'";
DEBUG(2, $query, __FILE__, __LINE__);

$db_changer = new DB;
$db_changer->query($query);

if ($db_changer->num_rows()>0) {
$db_changer->next_record();

//Initialen auslesen
$tmp_changer_initial = $db_changer->v("initial");
$db_changer_initial = ($tmp_changer_initial == '') ? NULL : $tmp_changer_initial;

//Namen auslesen
$db_changer_name = $db_changer->v("name");

}

und zuletzt:

$template = str_replace("<#Changer#>",$db_changer_name,$template);
$template = str_replace("<#ChangerInitial#>",$db_changer_initial,$template);

denn das verwenden der variablen $db_changer einmal als name des änderers und dann das db-objekt hatte
beim str_replace unerwünschte nebenwirkungen - als name wurde 'object' zurückgegeben. und die initalen setzt du, falls beim änderer keine angegeben sind (das geht leider!), auf die des erstellers. ich habe sie hier mal auf null gesetzt.

meine ausgabe entspricht damit dem schema wie beim autor.

Viel Erfolg!

Module ConPresso 4.x
Latest News
Tell-a-friend

Module ConPresso 3.4.x
Index_X
Kontakt
RSS-Feed
Umfrage
Gästebuch
Tell-a-Friend

Modul-Download
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7117
Registriert: 01.01.1970 02:00
Hat sich bedankt: 103 Mal
Danksagung erhalten: 916 Mal

Re: Index_X als Modul

Beitrag von MarkusR »

Huch... ja, mit dem $db_changer hast Du völlig recht... komisch, daß es trotzdem funktioniert *kopfkratz*

Werde es aber korrigieren.

Das mit dem Setzen auf die Initalen des Verfassers, wenn beim Changer keine existieren war Absicht.
Bei genauerem Überlegen wäre aber die beste Lösung ein "NN" zu nehmen, was der Redaktionspraxis entspricht... ;o)

Sollte auch nur eine Anregung sein... ist echt gut das Teil!

Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
semf
Modul-Entwickler
Beiträge: 1853
Registriert: 01.01.1970 02:00
Wohnort: Gütersloh-Friedrichsdorf
Hat sich bedankt: 14 Mal
Danksagung erhalten: 40 Mal

Re: Index_X als Modul

Beitrag von semf »

hallo zusammen!

ich habe heute das modul index_x 1.6 zum download bereitgestellt.

folgendes hat sich zu 1.5 geändert:
- platzhalter für überarbeiter hinzugefügt
<#Changer#> - Überarbeitername
<#ChangerEmail#> - E-Mail des Überarbeiters (als Text)
<#ChangerLinkEmail#> - E-Mail des Überarbeiters
<#ChangerInitialen#> - Initialen des Überarbeiters
- beim kurzen teaser werden <br>-tags in leerschritte umgewandelt
- in der const.php kann die länge des kurzen teasers angpasst werden
- in der const.php kann ein ersatz für fehlende initialen festgelegt werden

zum update auf 1.6 sind folgende dateien zu ersetzen:
mod_function.php
footer.php
const.php
index.php
index.inc.php

download: <http://www.seventy-soft.de/cops/cpo_modindexx/index.php>

feedback, fehlermeldungen und sonstiges wie immer hier im forum oder per mail - danke!

ps: einen herzlichen dank an markusr für die anregungen und vorschläge!



Beitrag bearbeitet (29.03.05 14:08)
Viel Erfolg!

Module ConPresso 4.x
Latest News
Tell-a-friend

Module ConPresso 3.4.x
Index_X
Kontakt
RSS-Feed
Umfrage
Gästebuch
Tell-a-Friend

Modul-Download
Benutzeravatar
semf
Modul-Entwickler
Beiträge: 1853
Registriert: 01.01.1970 02:00
Wohnort: Gütersloh-Friedrichsdorf
Hat sich bedankt: 14 Mal
Danksagung erhalten: 40 Mal

Re: Index_X als Modul

Beitrag von semf »

hallo zusammen!

kleiner nachtrag zum vorherigen posting: die conpresso-eigene benutzerverwaltung ist heute noch nachträglich integriert worden. damit ist mit dem modul auch eine geschlossene rubrik (login) möglich.

dazu sind aus dem aktuellen zip-file folgenden dateien zu kopieren bzw. zu ersetzen:
index.php
index_php.php
index_js.php
login.php
login_js.php

download: <http://www.seventy-soft.de/cops/cpo_modindexx/index.php>

feedback, fehlermeldungen und sonstiges wie immer hier im forum oder per mail - danke!

Viel Erfolg!

Module ConPresso 4.x
Latest News
Tell-a-friend

Module ConPresso 3.4.x
Index_X
Kontakt
RSS-Feed
Umfrage
Gästebuch
Tell-a-Friend

Modul-Download