Update 4.4->5.0 Jpgraph Fehlermeldung 25007

Nach dem Update wurde zuerst meine alte Jpgraph Version bemängelt. Nach deren Update bekomme ich die Fehlermeldung 25007, die sich auf lokale Einstellungen bezieht. Was muss ich ändern?

            JpGraphError::RaiseL(25007,$aLocale);
            //("You are trying to use the locale ($aLocale) which your PHP installation does not support. Hint: Use '' to indicate the default locale for this geographic region.");

Hallo,

ich hatte auch ein Problem mit jpgraph nach dem Update aus IPS 5.

Grund liegt darin, das mit IPS 5 die php-Funktion setlocale() deaktiivert wurde.

Ich habe diese Version


//=======================================================================
// File:        JPGRAPH.PHP
// Description: PHP Graph Plotting library. Base module.
// Created:     2001-01-08
// Ver:         $Id: jpgraph.php 1924 2010-01-11 14:03:26Z ljp $
//
// Copyright (c) Asial Corporation. All rights reserved.
//========================================================================

und habe einfach folgende Änderung an jpgraph.php vorgenommen:


class DateLocale {

...

    function Set($aLocale) {
        if ( in_array($aLocale, array_keys($this->iDayAbb)) ){
            $this->iLocale = $aLocale;
            return TRUE;  // already cached nothing else to do!
        }
/*
        $pLocale = setlocale(LC_TIME, 0); // get current locale for LC_TIME

        if (is_array($aLocale)) {
            foreach ($aLocale as $loc) {
                $res = @setlocale(LC_TIME, $loc);
                if ( $res ) {
                    $aLocale = $loc;
                    break;
                }
            }
        }
        else {
            $res = @setlocale(LC_TIME, $aLocale);
        }

        if ( ! $res ) {
            JpGraphError::RaiseL(25007,$aLocale);
            //("You are trying to use the locale ($aLocale) which your PHP installation does not support. Hint: Use '' to indicate the default locale for this geographic region.");
            return FALSE;
        }
*/

...

/*
        setlocale(LC_TIME, $pLocale);
*/

        return TRUE;
    }

also die beiden Code-Teile, bei denen mit [i]setlocale()[/I ]gearbeitet wird, auskommentiert.
Nachteile gibt’s nach meiner Beobachtung und Erwartung keine, weil die Locale-Einstellungen ja korrekt sind und nicht umgestellt werden müssen.

Wenn Deine Version eine andere ist, steht das eventuelle an andere Stelle, ist vermutlich aber ähnlic; einfach nach setlocale() suchen.

Ich betreibe mein IPS auf Linux (raspi+ und Ubuntu).

Gruß
demel

Hallo demel,
vielen Dank, das war das Problem und ich habe es wie vorgeschlagen lösen können.
Bin jetzt auch auf 5.0.

Leider hat sich ein Folgeproblem aufgetan, ebenfalls mit JPGraph:

Ich benutze immer noch diese MySQLData Anwendung vom user Bruns8234.
https://www.symcon.de/forum/threads/6142-MySQLData-V2-für-IPS-V2

Bis inkl. IPS 4.4 kamen ordentliche Verlaufsgraphiken zu allen definierten Variablen.
Jetzt mit 5.0 gibt es 2 Auffälligkeiten:

  • nun nur noch 9 Verlaufsgraphiken
  • und alle haben verschiedene, zufällige Farben

In der „jpg-config.inc.php“ habe ich einen neuen Abschnitt gefunden:


// Default theme class name
define('DEFAULT_THEME_CLASS', 'UniversalTheme');

define('SUPERSAMPLING', true);
define('SUPERSAMPLING_SCALE', 1);

Wenn ich auskommentiere gibt es einen Fehler, setzte ich true auf false sehe ich keinen Unterschied.

Hat jemand einen Hinweis, wie ich die 2 Probleme bei JPGraph in den Griff bekomme?

Hallo zusammen,

ich antworte mir mal selber, weil ich durch „Surfen“ die Lösung gefunden habe.
Mit einer neuen JPGraph Version wurde eine Themen-Klasse eingeführt.
Die neue Funktion kann man durch gezieltes Ausschalten abwählen:


$graph = new Graph(1200,700);
$graph->clearTheme();          // neu, ausschalten der Themen 

Also unmittelbar nach der Graphendefinition ein ClearTheme() setzen.
Ich habe mich nicht mit den neuen Funktionen beschäftigt; ich wollte nur, das alles „wie immer ist“.

Auch das 2.Problem ist weg, alle Verlaufsgrafiken sind wieder da.

Gruß nba