Page 1 of 1

Adodb Treiber für Mysql ändern !

Posted: Fri Aug 19, 2005 1:45 pm
by piratos
Auch wer noch keine Probleme bekommen hat sollte die Treiber adodb-mysql.inc.php bzw. dir für mysqli ändern.
Wie bekannt verwendet diese CMS eine gehackte Adodb - Version.
Ein Hack ist gefährlich, da er gegen alle elementaren Regeln der object orientierten Programmierung verstößt.
In der Praxis hat das bereits zu unerklärlichem Verhalten inkusive Memory Overflow geführt.

Gemeint ist diese Stelle:

Original:

      function _query($sql,$inputarr)
  {
  //global $ADODB_COUNTRECS;
      //if($ADODB_COUNTRECS)
      return mysql_query($sql,$this->_connectionID);
      //else return @mysql_unbuffered_query($sql,$this->_connectionID); // requires PHP >= 4.0.6
  }
Hacked Version
  function _query($sql,$inputarr)
  {
  //global $ADODB_COUNTRECS;
      //if($ADODB_COUNTRECS)
              global $gCms;
              global $sql_queries;
              if ($gCms->config["debug"] == true)
              {
                      $sql_queries .= "

$sql
\n";
              }
      return mysql_query($sql,$this->_connectionID);
      //else return @mysql_unbuffered_query($sql,$this->_connectionID); // requires PHP >= 4.0.6
  }

Hier verwendet der Programmierer die globale Variable $gCms innerhalb  einer Adodb - Funktion, die dazu noch einige Male direkt oder indirekt aufgerufen wird (je nach eigentlichem Funktionsaufruf). Die $gCms enthält jedoch selbst die ganze Adodbd - Klasse in der sie widerum verwendet wird.

In OOP ist das nicht zulässig und ist in etwa mit den Worten vergleichbar " an den eigenen Haaren aus dem Wasser ziehen ..."

Eigentlich ein Kardinalfehler, der so hätte eigentlich nicht passieren dürfen.

Da diese unzulässige Einbindung vom User selbst nicht benötigt wird (nur von Wishy zum debuggen)  die dringende Empfehlung - rauswerfen und auf das Original zurückführen .

Re: Adodb Treiber für Mysql ändern !

Posted: Fri Aug 19, 2005 3:36 pm
by petert
Whishy, me and some other people have explained to you that your problems are rare. We also showed proof that nobody else suffers from the problems you seem to have.
So why is it that you are now 'pushing' a fix for a problem that doesn't excist?

Re: Adodb Treiber für Mysql ändern !

Posted: Fri Aug 19, 2005 5:49 pm
by piratos
You didn't know the elementary rules of oop , if  you know it, you would see and say the same and if you  play with all of this cms you will see the errors too - live and daily (and not me my custumers too and than i play no game anymore)

if this cms want to be more as a cms for 20 pages  those programming errors are deadly and for all other user (exluding wishy who is the only one who using  this to debug) this hack is useless and dangerous.

So it is right to say the users to change this part of hack back to the original.