Montag, 22. Juni 2015

Cmsms 2.0 RC1 leider Schrott

Leider ist die von Cmsmadesimple abgelieferte RC1 unbrauchbarer Schrott.

Wie es schon zu befürchten war wird wieder Adodb Light eingesetzt die 2007 das letzte mal aktualisiert wurde.

Neuere Tabellen verwenden Autoincrement von Mysql und sind damit inkompatibel zu Adodb und seiner Fähigkeit diverse DB - Systeme ansteuern zu können.

Die Tabellen entsprechen mit dem Typ MyIsam schon lange nicht mehr dem Mysql Standardtyp - der ist nämlich InnoDB.

Man war also hier - wie immer - absolut inkonsequent.

Eingesetzt wird  const SMARTY_VERSION = '3.1.24';  , die aktuell gültige Version ist jedoch  3.1.27.

Jquery wird in 1.11.1 verwendet 1.11.3 liegt jedoch vor.
Jquery UI wird in 1.10.4 verwendet liegt jedoch in 1.11.4 vor.

Neue Software die veraltete Libs verwendet ist damit bereits veraltet !!

Übersetzungen fehlen nicht nur im deutschen Bereich sondern auch in vielen anderen Sprachen.

Installiert man in deutsch hat man einen Mix von Deutsch / Englisch vorliegen.

Die eigentliche Installation klappt aber dann erfolgt im Frontend das:


Offensichtlich hat da das Installationsskript versagt und nicht alles mit installiert.

Ab da hört es auf  einen  komplexeren Test sinnvoll zu machen - diese Version ist Schrott.

Und es ist überhaupt nicht zukunftssicher programmiert.

Beispielcode:
protected function encodeFile($path, $encoding = 'base64')
    {
        try {
            if (!is_readable($path)) {
                throw new phpmailerException($this->lang('file_open') . $path, self::STOP_CONTINUE);
            }
            $magic_quotes = get_magic_quotes_runtime();
            if ($magic_quotes) {
                if (version_compare(PHP_VERSION, '5.3.0', '<')) {
                    set_magic_quotes_runtime(0);
                } else {
                    ini_set('magic_quotes_runtime', 0);
                }
            }
            $file_buffer = file_get_contents($path);
            $file_buffer = $this->encodeString($file_buffer, $encoding);
            if ($magic_quotes) {
                if (version_compare(PHP_VERSION, '5.3.0', '<')) {
                    set_magic_quotes_runtime($magic_quotes);
                } else {
                    ini_set('magic_quotes_runtime', $magic_quotes);
                }
            }
            return $file_buffer;
        } catch (Exception $exc) {
            $this->setError($exc->getMessage());
            return '';
        }
    }


Aber die PHP Version 5.3 ist bereits tot.
Man muss auch beobachten das Smarty noch Abfragen nach toten PHP Versionen ausführt.

Aber auch so etwas:

$orig_memory = (function_exists('memory_get_usage')?memory_get_usage():0);

Dazu PHP
5.2.1Compiling with --enable-memory-limit is no longer required for this function to exist.
PHP 5.2 ist jedoch mausetot.

Oder der immer noch extensive Einsatz von file_exists statr is_file . Mit file_exists kann man auch auf andere Sites zugreifen - kann also zum Sicherheitsrisiko werden , mit is_file ist das nicht möglich und is_file ist deutlich schneller.

Und zum Thema PHP Versionen das bekloppteste -

    if( version_compare(phpversion(),'5.4.0') < 0 ) throw new \Exception('We are sorry, but this installer requires at least PHP 5.4.0');


---------------

Wer mal eben das Programm lokal installieren will der bekommt mit dem Installationsprogramm die Welt der Wunder zu sehen wenn man die andere Installart wählt.

Da ich diverse Installationen von Anwendungen drauf habe erscheinen auf einmal tausende von Unterverzeichnissen aus der ich das Verzeichnis auswählen soll, wohin die Installation rein soll.
Natürlich unsortiert und mal eben eine Eingabe ist ebenso nicht möglich.

Allein damit wird es sich Cmsms bereits versauen bei denjenigen die es vorher einmal lokal probieren möchten.

Ändert man den Teil ab wie hier

            if( count($out) ){asort($out);return $out;}
        };

        $out = array();
        if( $_is_valid_dir($parent) ) $out[$parent] = $parent;
        $tmp = $_find_dirs($parent);
        if( count($tmp) ) $out = array_merge($out,$tmp);
        asort($out);



Dann hat man eine sortierte Liste kann installieren aber man kommt nur bis dahin:

Also - ebenfalls Schrott.

Ursache Programmierfehler:

public function delete()
  {
    if( $this['name'] == '' ) continue;
    self::_get_module()->RemovePreference('profile_'.$this['name']);
    unset($this->_data['name']);
  }
Wegen Fehler muss an dieser Stelle der Abbruch erfolgen.
Das aber bedeutet die Module werden nicht zu Ende installiert, sind zwar kopiert aber nicht im System vorhanden.

Da hat sich jemand etwas ausgedacht wo es aber nicht ausreichte um es zu Ende zu denken.

Dieses Machwerk als RC zu betiteln ist eine bodenlose Frechheit.



Keine Kommentare:

Kommentar veröffentlichen