From rafaels_mailinglists at gmx.de Mon Dec 1 18:58:00 2003 From: rafaels_mailinglists at gmx.de (Rafael Krysciak) Date: Mon Dec 1 18:57:55 2003 Subject: [pear] QuickForm_Controller Wizard Message-ID: <3FCB8128.7040906@gmx.de> Hallo, hat vielleicht jemand Erfahrung mit dem QuickForm_Controller. Ich versuche einen Wizard zu bauen und komme nicht so recht weiter. Als Übung habe ich mir das Beispiel aus dem Manual genommen und versucht es um ein weiteres Formular zu ergänzen. Dabei stolperte ich über die Actions. Es ist leider noch nicht dokumentiert, und ich habe keine Lust mich durch die Klassen (die ziemlich komplex sind) durch zu wühlen. Es wäre sehr schön wenn jemand ein ganz einfachen Beispiel hätte. Vielen Danke und Gruß Rafael From ths at 4bconsult.de Mon Dec 1 21:50:15 2003 From: ths at 4bconsult.de (Thomas Schulz) Date: Mon Dec 1 21:50:22 2003 Subject: [pear] QuickForm_Controller Wizard In-Reply-To: <3FCB8128.7040906@gmx.de> References: <3FCB8128.7040906@gmx.de> Message-ID: <3FCBA987.2000107@4bconsult.de> Rafael Krysciak wrote: > hat vielleicht jemand Erfahrung mit dem QuickForm_Controller. Kann ich nicht behaupten. > Als Übung habe ich mir das Beispiel aus dem Manual genommen und versucht > es um ein weiteres Formular zu ergänzen. Kennst du die Beispiele aus docs/HTML_QuickForm_Controller/examples in deiner PEAR-Installation oder meintest Du diese? ThS. -- http://4bconsult.de From rafaels_mailinglists at gmx.de Tue Dec 2 00:07:02 2003 From: rafaels_mailinglists at gmx.de (Rafael Krysciak) Date: Tue Dec 2 00:07:21 2003 Subject: [pear] QuickForm_Controller Wizard In-Reply-To: <3FCBA987.2000107@4bconsult.de> References: <3FCB8128.7040906@gmx.de> <3FCBA987.2000107@4bconsult.de> Message-ID: <3FCBC996.6010301@gmx.de> Thomas Schulz wrote: > Kennst du die Beispiele aus docs/HTML_QuickForm_Controller/examples in > deiner PEAR-Installation oder meintest Du diese? Hi Thomas, die habe ich garnicht gesehn, ich habe nur die Online-Help benutzt. Das hilft mir auf jeden Fall weiter. thx ThS. From Matthias.Weinhold at gmx.net Sat Dec 6 17:34:51 2003 From: Matthias.Weinhold at gmx.net (Matthias Weinhold) Date: Sat Dec 6 17:40:43 2003 Subject: [pear] Probleme mit ITX Template Message-ID: <3FD2052B.1050903@gmx.net> Hallo, ich verzweifele gerade am Template. Ich habe ein index.tpl, dort gibt es {PAGE_CONTENT}
{PAGE_CONTENT}
Das soll auf der Seite arbeiten.php ersetzt werden durch arbeiten.tpl

{HEADLINE}

Titel

{TITEL}

Jahr

{YEAR}

Autor(en)

{AUTOR}

Abstract:

{ABSTRACT}

download als PDF


Das mache versuche ich folgendermaßen: $tpl->addBlockfile("PAGE_CONTENT","content","arbeiten.tpl"); $tpl->setCurrentBlock("kategorie"); $result_a = $db->query("SELECT kat, heading FROM kat_arbeit WHERE kat = 'ref'"); while ($row = $result_a->fetchRow(DB_FETCHMODE_ASSOC)) { $tpl->setVariable("HEADLINE", $row["heading"]); $tpl->parseCurrentBlock(); } $tpl->addBlockfile("PAGE_CONTENT","content","arbeiten.tpl"); $tpl->setCurrentBlock("arbeit"); //Referate $result = $db->query("SELECT arbeiten.titel, arbeiten.abstract, arbeiten.year, arbeiten.link, arbeiten.authors FROM arbeiten, kat_arbeit WHERE arbeiten.kat = kat_arbeit.kat"); while ($row = $result->fetchrow(DB_FETCHMODE_ASSOC)) { $tpl->setVariable(array( "TITEL" => $row["titel"], "ABSTRACT" => $row["abstract"], "AUTOR" => $row["authors"], "YEAR" => $row["year"], "URL" => $row["link"] )); $tpl->parseCurrentBlock(); } Bis hierher klappt das auch super. Nun brauch ich aber mehrere Kategorien ({HEADING}), da dachte ich mir, ich muß den gesamten Abschnitt nur darunter einfügen, aber da standen in der html-Ausgabe erst alle headings untereinander und danach kommen die Arbeiten ({TITEL},{ABSTRACT}...). Ich finde nirgends eine einigermaßen aussagekräftige Dokumentation und weiß jetzt nicht mehr weiter. Grüße von einem für jeden Tip dankbaren Matthias -- Keiner weiss, ob die Höflichkeit nicht eine Tochter der Berechnung ist. -- Art van Rheyn From wolter at soulutions.de Sun Dec 7 23:39:38 2003 From: wolter at soulutions.de (Birgit Wolter) Date: Sun Dec 7 23:40:50 2003 Subject: [pear] Probleme mit DB_DataObject Message-ID: <7723017767.20031207233938@soulutions.de> Hallo, ich habe Probleme das Beispiel für ein "Three Tables Join" mit Hilfe der .links.ini hinzubekommen. Leider scheint das Beispiel in der Doku (auf der Seite für getLinks()) fehlerhaft zu sein, jedenfalls funktioniert es bei mir überhaupt nicht. Hat jemand eine Idee oder Lösung? Vielen Dank Birgit From j.kohl at style-id.de Fri Dec 19 23:23:24 2003 From: j.kohl at style-id.de (Jens Kohl) Date: Fri Dec 19 23:23:32 2003 Subject: [pear] Template Engine Entscheidung Message-ID: Hallo, ich habe bisher nur ein kleine Template-Engine genutzt mit der ich aber mehr und mehr an die Grenzen stosse. Für ein neues Projekt möchte ich nun umsteigen. Allerdings kann ich mich bei den PEAR Templates für keines entscheiden, weil ich auch nicht so recht weiß wo die Vor- und Nachteile liegen. So richtige Vergleichstests gibt's ja scheinbar nicht. Im PHP Magazin war mal ansatzweise ein Test, aber da waren nicht mal alle berückstichtigt. Und dann wäre da noch Smarty, was mir noch am besten von allen gefällt, mal abgesehen von der Syntax. Nur leider paßt sich das scheinbar nicht in die PEAR Landschaft ein und ist auch zu so Sachen wie QuickForms inkompatibel. Liege ich mit meinen Verdächtigungen richtig? Gibt es einen Vergleichstest, oder ist es im Prinzip nur eine Religionsfrage welche Engine ich für mich persönlich nutze? Mit freundlichen Grüßen, Jens Kohl From tobias at schlitt.info Sat Dec 20 00:12:13 2003 From: tobias at schlitt.info (Tobias Schlitt) Date: Sat Dec 20 00:09:00 2003 Subject: [pear] Template Engine Entscheidung In-Reply-To: References: Message-ID: <1071875533.27442.103.camel@DotXP-WS> On Fri, 2003-12-19 at 23:23, Jens Kohl wrote: > Hallo, Hallo Jens! > ich habe bisher nur ein kleine Template-Engine genutzt mit der ich aber > mehr und mehr an die Grenzen stosse. Für ein neues Projekt möchte ich > nun umsteigen. Allerdings kann ich mich bei den PEAR Templates für > keines entscheiden, weil ich auch nicht so recht weiß wo die Vor- und > Nachteile liegen. So richtige Vergleichstests gibt's ja scheinbar > nicht. Im PHP Magazin war mal ansatzweise ein Test, aber da waren nicht > mal alle berückstichtigt. Und dann wäre da noch Smarty, was mir noch am > besten von allen gefällt, mal abgesehen von der Syntax. Nur leider paßt > sich das scheinbar nicht in die PEAR Landschaft ein und ist auch zu so > Sachen wie QuickForms inkompatibel. > Liege ich mit meinen Verdächtigungen richtig? Gibt es einen > Vergleichstest, oder ist es im Prinzip nur eine Religionsfrage welche > Engine ich für mich persönlich nutze? Also, eine wirkliche Empfehlung kann man da wohl kaum geben. Bei der verfügbaren Auswahl (alleine in PEAR) ist es wohl schwer, sich zu entscheiden. Eine gute Basis zur Auswahl gibt die Art der Template Verarbeitung, die eine Engine vornimmt. Hierbei geht es hauptsächlich um Performance. Der Rest ist mehr oder weniger persönliche Präferenz. Ich persönlich nutze bisher PEAR::HTML_Template_IT. Ist nicht das schnellste und nicht sehr flexibel, habe aber bisher keinen Anwenudungsfall gehabt, in dem das nicht ausreichte. Hoffe das hilft Dir was! Grüße! Toby From phpml at raschesweb.de Sat Dec 20 00:52:06 2003 From: phpml at raschesweb.de (Frank Rasche) Date: Sat Dec 20 00:52:10 2003 Subject: [pear] Template Engine Entscheidung In-Reply-To: References: Message-ID: <1854896889.20031220005206@raschesweb.de> Hallo Jens, Jens Kohl schrieb am Freitag, 19. Dezember 2003 um 23:23: > Und dann wäre da noch Smarty, was mir noch am > besten von allen gefällt, mal abgesehen von der Syntax. Nur leider paßt > sich das scheinbar nicht in die PEAR Landschaft ein und ist auch zu so > Sachen wie QuickForms inkompatibel. http://pear.php.net/manual/en/package.html.html-quickform.html-quickform-renderer-arraysmarty.php Wie gut das funktioniert, weiss ich aber nicht, da ich kein Smarty benutze. Mit geht es wie Tobias, ich benutze hauptsächlich Template_IT, vermutlich weil es IIRC die älteste PEAR-Templateengine ist und weil ich es einfach gewohnt bin. Neben Template_IT hatte ich noch Sigma in Gebrauch, aufgrund der (zugegeben sehr einfachen) Cache-Funktion. Wer allerdings auf Performance und richtiges Caching der Templates Wert legt kommt wohl an Smarty nicht vorbei. Wenn du Seiten hast, die sich nicht bei jedem Request ändern, kannst du ja auch noch mal einen Blick auf PEAR::Cache_Lite werfen Aber um mal grundlegend die Templatesysteme zu unterscheiden: http://pear.php.net/manual/en/package.html.html-template-flexy.intro.php ,--[ How does HTML_Template_Flexy differ... ] | If you look around you will see there are other template systems | available in PHP, they generally fall into two categories, | Replacement Systems, or PHP Code builders. | | Replacement systems like HTML_Template_IT, FastTemplate, | PhpLib Template tend to be slower at doing block and | nested block type templates and involve alot of code to | add each variable to the template. | | Php Code builders like Flexy, Smarty, | SimpleTemplate (now HTML_Template_Xipe) tend better | at more complex templates, and can offer a better approach | to extendability. `----- Aber in der Regel komme ich auch mit Template_IT aus, finde es recht einfach und wenn es nicht gerade wirklich Hightraffic-Seiten voll ausreichend. > Liege ich mit meinen Verdächtigungen richtig? Gibt es einen > Vergleichstest, oder ist es im Prinzip nur eine Religionsfrage welche > Engine ich für mich persönlich nutze? Jein ;-) Es ist auch ne Frage der Anforderung und wer die Templates erstellen soll, bzw. wer mit der Syntax zurecht kommen muss. Gruss Frank From smith at backendmedia.com Sat Dec 20 13:12:15 2003 From: smith at backendmedia.com (Lukas Smith) Date: Sat Dec 20 13:14:02 2003 Subject: [pear] Template Engine Entscheidung In-Reply-To: Message-ID: <20031220121358.8ACBC6549D@zwenkau.mushaake.org> > From: pear-bounces@phpbar.de [mailto:pear-bounces@phpbar.de] On Behalf Of > Jens Kohl > Sent: Friday, December 19, 2003 11:23 PM > To: deutschsprachige PEAR-Mailingliste > Subject: [pear] Template Engine Entscheidung > > Hallo, > > ich habe bisher nur ein kleine Template-Engine genutzt mit der ich aber > mehr und mehr an die Grenzen stosse. Für ein neues Projekt möchte ich > nun umsteigen. Allerdings kann ich mich bei den PEAR Templates für > keines entscheiden, weil ich auch nicht so recht weiß wo die Vor- und > Nachteile liegen. So richtige Vergleichstests gibt's ja scheinbar > nicht. Im PHP Magazin war mal ansatzweise ein Test, aber da waren nicht > mal alle berückstichtigt. Und dann wäre da noch Smarty, was mir noch am > besten von allen gefällt, mal abgesehen von der Syntax. Nur leider paßt > sich das scheinbar nicht in die PEAR Landschaft ein und ist auch zu so > Sachen wie QuickForms inkompatibel. > > Liege ich mit meinen Verdächtigungen richtig? Gibt es einen > Vergleichstest, oder ist es im Prinzip nur eine Religionsfrage welche > Engine ich für mich persönlich nutze Grundsäzlich gibt es zwei dimensionen Compile/not compile Push/pull Dabei sind die push/not compile und die pull/compile wohl die häufigsten Push/not compile: IT, ITX etc Deine logic schiebt die daten in das template. Heisst das du in mehreren stages die platzhalter und blöcke ersetzt. Nicht sonderlich effizient und sehr unflexible, aber einfach zu bedienen und man kann keinen "bösencode" in die templates einschleichen. Wie gesagt aber sehr unflexibel da viele layout sachen in die logik müssen (wie z.B. alterierende farben in tabellen zeilen) Push/compile Sigma oder IT[X] mit cachen Pull/compile Xipe, smarty, flexy Das template fordert selber die daten an In der regel wird das template einfach in php code umgewandelt. Problem ist hierbei das thema sicherheit, da user einfach auf alle teile des system zu greifen können. In smarty und flexy kann man das ein bischen kontrolieren, wenn man nur die engine spezifischen markupsachen erlaubt. Dafür ist das alles sehr schnell und sehr flexibel. Ugly hacks sind auch möglich (was gut und schlecht ist). Gruss, Lukas From wolff at 21st.de Sat Dec 20 18:25:22 2003 From: wolff at 21st.de (Markus Wolff) Date: Sat Dec 20 18:19:01 2003 Subject: [pear] Template Engine Entscheidung In-Reply-To: <20031220121358.8ACBC6549D@zwenkau.mushaake.org> References: <20031220121358.8ACBC6549D@zwenkau.mushaake.org> Message-ID: <3FE48602.9000508@21st.de> Lukas Smith wrote: > Push/not compile: > IT, ITX etc [...] > Push/compile > Sigma oder IT[X] mit cachen [...] > Pull/compile > Xipe, smarty, flexy [...] Ein IMHO nicht ganz unwichtiges Beispiel fehlt noch im Pull-Sektor, am ehesten zu klassifizieren mit "no need to compile": Savant. http://phpsavant.com/ Ist im Prinzip mit Smarty vergleichbar, muss allerdings nicht kompilieren, weil die Templates an sich schon in PHP sind - d.h. man muss auch keine neue Syntax lernen. Trotzdem kann man die Grenzen zwischen Display- und Businesslogik klar definieren, indem man den Templateskripten nur bestimmte Informationen zur Verfügung stellt. Ich hab's selbst noch nicht benutzt, da es momentan zu aufwändig wäre, alle meine Programme von ITX/Sigma auf Savant umzudröseln, aber es klingt hochgradig spannend! CU Markus From j.kohl at style-id.de Tue Dec 23 19:02:36 2003 From: j.kohl at style-id.de (Jens Kohl) Date: Tue Dec 23 19:02:44 2003 Subject: [pear] Probleme beim PEAR Paket updaten Message-ID: <30DF4345-3572-11D8-8F5D-000A95753E4C@style-id.de> Hi, ich habe sowohl lokal als auch auf meinem Server versucht PEAR zu updaten (einmal auf stable 1.2.1 und einmal auf devel 1.3b5). Das Update funktionierte nocht, aber wenn man jetzt install oder update aufruft kommt immer: Fatal error: Call to undefined function: getopt2() in /usr/local/httpd/pear/PEAR/System.php on line 71 Ist seit neustem beim Update was zu beachten? Das Update 1.2.1 habe ich übrigends über das WebFrontend gemacht, da mir dort nicht mehr alle neuen Packs angezeigt wurden. Mit freundlichen Grüßen, Jens Kohl From webmaster at michael-ott.org Wed Dec 31 14:12:48 2003 From: webmaster at michael-ott.org (Michael Ott) Date: Wed Dec 31 14:12:57 2003 Subject: [pear] DB Zugriff auf Funktionen Message-ID: <001f01c3cf9f$ca861380$0201a8c0@crawler> Hallo, Was ist eigentlich der korrekte Zugriff auf die Datenbankfunktionen: z.B.: $sql = 'SELECT * FROM TABELLE'; $result = $db->query($sql); if($result->numRows()>0) { machirgendwas; } bringt mir auf meinem Heimrechner: WinXP PHP 4.3.2 Apache 1.3.27 eine Fehlermeldung call to undefined Funktion numrows auf dem Webserver: Linux PHP 4.3.1 Apache 1.3.26 keine Fehlermeldung. Ändere ich nun die Abfrage in if($db->numRows($result)>0) { machirgendwas; } klappt es bei beiden. Woran kann es liegen, dass die beiden Aufrufe unterschiedlcih gehandhabt werden, bzw. welcher Weg ist der favorisierte(sicher und korrekt) Gruß Michael From tobias at schlitt.info Wed Dec 31 14:52:31 2003 From: tobias at schlitt.info (Tobias Schlitt) Date: Wed Dec 31 14:52:51 2003 Subject: [pear] DB Zugriff auf Funktionen In-Reply-To: <001f01c3cf9f$ca861380$0201a8c0@crawler> References: <001f01c3cf9f$ca861380$0201a8c0@crawler> Message-ID: <1072878750.18385.3.camel@DotXP-WS> On Wed, 2003-12-31 at 14:12, Michael Ott wrote: > Hallo, Hi! > Was ist eigentlich der korrekte Zugriff auf die Datenbankfunktionen: > z.B.: > $sql = 'SELECT * FROM TABELLE'; > $result = $db->query($sql); > if($result->numRows()>0) { > machirgendwas; > } > bringt mir auf meinem Heimrechner: > WinXP > PHP 4.3.2 > Apache 1.3.27 > eine Fehlermeldung call to undefined Funktion numrows Hast Du mal geguckt, was denn $result für ein Typ ist? Mit Sicherheit funzt irgendwas auf Deinem Homerechner mit MySQL nicht ganz wie es soll..., wenn die ein fehler auftritt ist $result von Typ DB_Error, sonst nur DB_Result. Und DB_Error kennt wohl kaum eine Methode numRows(). Der Weg an sich ist der richtige, allerdings solltest Du vor ->numRows() erst auf PEAR::isError($result), DB::isError($result) oder $db->isError($result) prüfen. Oder aber Du setzt das standard Errorhandling bei Deiner DB Instanz auf z.B. PEAR_ERROR_PRINT. Grüße! Toby From webmaster at michael-ott.org Wed Dec 31 15:15:44 2003 From: webmaster at michael-ott.org (Michael Ott) Date: Wed Dec 31 15:15:48 2003 Subject: [pear] DB Zugriff auf Funktionen References: <001f01c3cf9f$ca861380$0201a8c0@crawler> <1072878750.18385.3.camel@DotXP-WS> Message-ID: <003301c3cfa8$953045d0$0201a8c0@crawler> > > eine Fehlermeldung call to undefined Funktion numrows > > Hast Du mal geguckt, was denn $result für ein Typ ist? Mit Sicherheit > funzt irgendwas auf Deinem Homerechner mit MySQL nicht ganz wie es > soll..., wenn die ein fehler auftritt ist $result von Typ DB_Error, > sonst nur DB_Result. Und DB_Error kennt wohl kaum eine Methode > numRows(). Dankeschön. Da lag tatsächlich der Hund begraben, ich habe vergessen eine Tabelle anzulegen, somit kam natürlich ein DB_Error. Gruß Michael P.S. Ich wünsche allen einen guten Rutsch ins neue Jahr