anmerkung: contenido-cvs-2005-10-28.tar

m.wohlers
Beiträge: 93
Registriert: Di 25. Mai 2004, 16:11
Wohnort: Bad Aibling
Kontaktdaten:

anmerkung: contenido-cvs-2005-10-28.tar

Beitrag von m.wohlers » Fr 28. Okt 2005, 22:36

Hallo timo!

Der neue Snapshot sieht ja gut aus, bis auf zwei Kleinigkeiten in der functions.general.php:

Aus

Code: Alles auswählen

* © four for business AG, www.4fb.de
wurde

Code: Alles auswählen

* � four for business AG, www.4fb.de
und aus

Code: Alles auswählen

		$match = "/^[a-z0-9ÄäÖöÜüß ]+$/i";
wurde

Code: Alles auswählen

		$match = "/^[a-z0-9������� ]+$/i";
Das sieht für mich jedenfalls nicht nach einer gewollten Änderung aus, oder? :lol:

Aber sonst Hut ab, das nähert sich wirklich mit großen Schritten einem Rele... - aber ich will ja nix verschreien 8)

Mit freundlichen Grüssen,
Michael Wohlers

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

Beitrag von emergence » Sa 29. Okt 2005, 09:36

ich häng wieder mal was ran...

include.con_edit_form.php

Warning: strtotime() [function.strtotime]: Called with an empty time parameter. in e:\contenido\contenido-4.5.6\contenido-4.5.6\contenido\includes\include.con_edit_form.php on line 163

Warning: date() [function.date]: Windows does not support dates prior to midnight (00:00:00), January 1, 1970 in e:\contenido\contenido-4.5.6\contenido-4.5.6\contenido\includes\include.con_edit_form.php on line 163

Warning: strtotime() [function.strtotime]: Called with an empty time parameter. in e:\contenido\contenido-4.5.6\contenido-4.5.6\contenido\includes\include.con_edit_form.php on line 164

Warning: date() [function.date]: Windows does not support dates prior to midnight (00:00:00), January 1, 1970 in e:\contenido\contenido-4.5.6\contenido-4.5.6\contenido\includes\include.con_edit_form.php on line 164

in der datei findet sich

Code: Alles auswählen

        $tmp2_lastmodified = date($dateformat,strtotime($tmp2_lastmodified));
        $tmp2_published = date($dateformat,strtotime($tmp2_published));
sollte aber

Code: Alles auswählen

        $tmp2_lastmodified = date($dateformat,strtotime($tmp_lastmodified));
        $tmp2_published = date($dateformat,strtotime($tmp_published));
sein...

dann gehts auch ohne fehler...

ach ja, setup mit mysqli geht noch immer nicht bei mir...
*** make your own tools (wishlist :: thx)

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

Beitrag von emergence » Sa 29. Okt 2005, 09:56

beim wechsel in editor

Warning: main(config.php) [function.main]: failed to open stream: No such file or directory in e:\contenido\contenido-4.5.6\contenido-4.5.6\contenido\external\backendedit\front_content.php on line 24

Warning: main() [function.include]: Failed opening 'config.php' for inclusion (include_path='.;E:\OpenSA\Apache\php-5.0.1\pear') in e:\contenido\contenido-4.5.6\contenido-4.5.6\contenido\external\backendedit\front_content.php on line 24

zusätzlich

Fatal error: Error: Can't include includes/functions.navigation.php in e:\contenido\contenido-4.5.6\contenido-4.5.6\contenido\includes\api\functions.api.general.php on line 154

na wie auch immer aus irgendwelchen gründen ist in der con_clients der frontendpath leer... deshalb die meldungen...
nun gut db komplett gelöscht, nochmal setup ohne mysqli
dann gehts normal...

ich würd mir das nochmal genau überlegen ob standardmäßig die mysqli erweiterung genommen wird....
*** make your own tools (wishlist :: thx)

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

Beitrag von emergence » Sa 29. Okt 2005, 10:23

gut etwas nachgeforscht... unterschiede mysql <-> mysqli

wenn ich mir die $this->Record ansehe bei mysql hab ich etwas wie das hier im
Array
(
[0] => 106
[idartlang] => 106
[1] => 91
[idart] => 91
[2] => 1
[idlang] => 1
[3] => 0
[idtplcfg] => 0
[4] => 123
[title] => 123
...
)

bei mysqli hingegegen... ist eine ansteuerung mit zifferncodes alleine nicht mehr möglich...

da schaut das ganze dann so aus
Array
(
[idartlang] => 106
[idart] => 91
[idlang] => 1
[idtplcfg] => 0
[title] => 123
...
)

das ist auch der grund warum ich die meldungen mit not in the action table erhalte...

sag mal hab nur ich das problem, das kann es doch nicht sein...
*** make your own tools (wishlist :: thx)

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

Beitrag von emergence » Sa 29. Okt 2005, 10:36

geh bitte... das ist ein bug innerhalb meiner php version
-> http://bugs.php.net/bug.php?id=29335

db_mysqli.inc

Code: Alles auswählen

		$this->Record = mysqli_fetch_array($this->Query_ID);
mysqli_fetch_array() standard für den zweiten parameter sollte MYSQL_BOTH sein... nur ist es das nicht...

Code: Alles auswählen

		$this->Record = mysqli_fetch_array($this->Query_ID,MYSQL_BOTH);
behebt einen großteil meiner problemchen...

diese ergänzung ist ungefährlich...

edit: es gibt noch eine zweite position wo das MYSQL_BOTH ergänzt werden sollte... einfach mal nach mysqli_fetch_array suchen...
Zuletzt geändert von emergence am Mo 31. Okt 2005, 08:17, insgesamt 1-mal geändert.
*** make your own tools (wishlist :: thx)

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

Beitrag von emergence » Sa 29. Okt 2005, 10:41

tja und das setup geht nun auch mit mysqli...
*** make your own tools (wishlist :: thx)

m.wohlers
Beiträge: 93
Registriert: Di 25. Mai 2004, 16:11
Wohnort: Bad Aibling
Kontaktdaten:

Beitrag von m.wohlers » Sa 29. Okt 2005, 16:16

Hallo emergence!
emergence hat geschrieben:tja und das setup geht nun auch mit mysqli...
Geh, wenn'st alle Deine Probleme löst, brauchst sie ja garnicht als Bug zu posten :)

Ein sonniges Wochenende aus Rosenheim wünscht...
Michael Wohlers

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Sa 29. Okt 2005, 20:26

ich glaube emergence meinte, daß nach seinem Bugfix alles funktionierte...also muß man diesen Bugfix auch aufnehmen...

m.wohlers
Beiträge: 93
Registriert: Di 25. Mai 2004, 16:11
Wohnort: Bad Aibling
Kontaktdaten:

Beitrag von m.wohlers » So 30. Okt 2005, 09:54

Hi timo!
timo hat geschrieben:ich glaube emergence meinte, daß nach seinem Bugfix alles funktionierte...also muß man diesen Bugfix auch aufnehmen...
Ich glaube, Du hast den Witz nicht verstanden :wink:

Nichts für ungut...
Michael Wohlers

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

Beitrag von emergence » So 30. Okt 2005, 11:36

timo hat geschrieben:ich glaube emergence meinte, daß nach seinem Bugfix alles funktionierte...also muß man diesen Bugfix auch aufnehmen...
ja bidde... bin sicher nicht der einzige der auf das problem nageln wird ;-)
Ich glaube, Du hast den Witz nicht verstanden
macht nichts, ich hab ihn auch nicht verstanden...
*** make your own tools (wishlist :: thx)

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

Beitrag von emergence » So 30. Okt 2005, 14:52

nun gut ich hab mich jetzt noch ein wenig mit mysqli auseinander gesetzt und bin da auf etwas gestossen was mit mysql alleine nicht aufgetreten ist...

nehmen wir mal ne funktion her die immer wieder innerhalb der funktion eine neue db instanz aufmacht... und diese funktion wird in einer schleife aufgerufen, so das sie ca. 40 db connections nacheinander initialisiert..

ca nach dem 30 db instanz füllt sich das errorlog mit folgenden einträgen..

[30-Oct-2005 13:57:25] PHP Warning: mysqli_error() expects parameter 1 to be mysqli, boolean given in e:\contenido\contenido-4.5.6\contenido-4.5.6\conlib\db_mysqli.inc on line 476

[30-Oct-2005 13:57:25] PHP Warning: mysqli_errno() expects parameter 1 to be mysqli, boolean given in e:\contenido\contenido-4.5.6\contenido-4.5.6\conlib\db_mysqli.inc on line 477

ich hab hier ein kleines code beispiel (lauffähig als output modul):

Code: Alles auswählen

<?php

class DB_Upgrade extends DB_Contenido {
}

cInclude("includes",  'functions.database.php');

$db = new DB_Contenido;

echo "first";
updateSequence();
echo "second";
updateSequence();
echo "third";
updateSequence();

    function updateSequence($table=false) {

        global $db, $cfg;
        if (!$table) {
            $sql = "SHOW TABLES";
            $db->query($sql);
            while ($db->next_record())
            {
                dbUpdateSequence($cfg['sql']['sqlprefix']."_sequence", $db->f(0));

            }
        } else {
            dbUpdateSequence($cfg['sql']['sqlprefix']."_sequence", $table);

        }
    }

?>
na wie auch immer...

die einzige möglichkeit das zu umgehen war in der mysqli.inc eine neue methode zu erstellen:

Code: Alles auswählen

	function close()
	{
	    if ($this->Link_ID) {
	        return mysqli_close($this->Link_ID);
	    } else {
	        return false;
	    }
	}
und in der dbUpdateSequence am ende der funktion ein

Code: Alles auswählen

$db->close();
hinzuzufügen...

kann jemand das verhalten bestätigen ? oder bin ich da schon wieder der erste der auf das genagelt ist...

nachtrag: ich hab jetzt mal meine serverumgebung auf php5.0.5 upgedatet... selbes verhalten...
*** make your own tools (wishlist :: thx)

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

Beitrag von emergence » So 30. Okt 2005, 17:49

ad. tinymce
ist es beabsichtigt das man nur auf kategorien verlinken kann ?
oder hab ich da was übersehen... artikel stehen irgendwie keine zur verfügung ???
*** make your own tools (wishlist :: thx)

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » So 30. Okt 2005, 18:28

also ich kann im tinyMCE auf Artikel verlinken...einfach auf den Artikelnamen klicken...

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

Beitrag von emergence » So 30. Okt 2005, 18:46

timo hat geschrieben:also ich kann im tinyMCE auf Artikel verlinken...einfach auf den Artikelnamen klicken...
also ich nicht... mir zeigt es da einfach keine artikel an...
*** make your own tools (wishlist :: thx)

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

Beitrag von emergence » Mo 31. Okt 2005, 08:35

man sollte noch unbedingt unter administration - system - systemvariablen
den eingestellten wert von $cfg["database_extension"] irgendwo bei den einstellungen mit aufzeigen...

noch was zu db_mysqli.inc

function connect

Code: Alles auswählen

				$this->Link_ID = @mysqli_connect($sHost, $User, $Password, "", $sPort);
			} else {
				$this->Link_ID = @mysqli_connect($Host, $User, $Password);
da gibts ein kleines problem...

sollte ein connect nicht möglich sein, wird $this->Link_ID auf false gesetzt...
fehlermeldung erscheint aufgrund des @ keine (logisch)...

in weiterer folge wird dann ja

Code: Alles auswählen

			if (!$this->Link_ID)
			{
				$this->halt("connect($Host, $User, \$Password) failed.");
				return 0;
			}
aufgerufen... was ja noch funktioniert...

aber dann gibts nen fehler bei

Code: Alles auswählen

	function halt($msg)
	{
		$this->Error = mysqli_error($this->Link_ID);
		$this->Errno = mysqli_errno($this->Link_ID);

Code: Alles auswählen

PHP Warning: mysqli_errno() expects parameter 1 to be mysqli, boolean given in e:\contenido\contenido-4.5.6\contenido-4.5.6\conlib\db_mysqli.inc on line 477
mysqli_error() oder mysqli_errno() funktioniert nicht ohne angabe der Link_ID
die korrekte fehlermeldung erhält man nur wenn man mysqli_connect_error bedient...

na wie auch immer ich würde vorschlagen

Code: Alles auswählen

			if (!$this->Link_ID)
			{
				$this->halt("connect($Host, $User, \$Password) failed.");
				return 0;
			}
ersetzen durch

Code: Alles auswählen

			if (!$this->Link_ID)
			{
				$this->halt("connect($Host, $User, \$Password) failed: ".mysqli_connect_error());
				return 0;
			}
und

Code: Alles auswählen

	function halt($msg)
	{
		$this->Error = mysqli_error($this->Link_ID);
		$this->Errno = mysqli_errno($this->Link_ID);
durch

Code: Alles auswählen

	function halt($msg)
	{
		if ($this->Link_ID) {
			$this->Error = mysqli_error($this->Link_ID);
			$this->Errno = mysqli_errno($this->Link_ID);
		}
ersetzen...

den spruch muss noch anbringen(hier gefunden: http://www.zend.com/php5/articles/php5-mysqli.php ):
The extension is called ext/mysqli, with the 'i' standing for any one of: improved, interface, ingenious, incompatible or incomplete.
*** make your own tools (wishlist :: thx)

Gesperrt