Änderung der Funktion get_client_limit()

Dieses Thema im Forum "Entwicklerforum" wurde erstellt von ramsys, 27. Feb. 2014.

  1. ramsys

    ramsys Member

    Mit der Funktion get_client_limit() kann man ja Module oder Formulare in Abhängigkeit der für den Kunden geltenden Limits (de)aktivieren. Mitunter ist es aber sinnvoll, nicht nach einzelnen Limits zu fragen, sondern z.B. direkt nach dem verwendeten Master-Template. Denkbar wäre auch eine Unterscheidung zum Herkunftsland des Kunden etc.

    Ich habe dafür folgende Änderungen im Code vorgenommen (abwärts kompatibel). Vielleicht kann man diese in Git übernehmen.

    PHP:
    diff --git a/interface/lib/classes/auth.inc.php b/interface/lib/classes/auth.inc.php
    index 706dd04
    ..bd2d881 100644
    --- a/interface/lib/classes/auth.inc.php
    +++ b/interface/lib/classes/auth.inc.php
    @@ -78,+78,@@
         }
     
         
    //** This function returns given client limit as integer, -1 means no limit
    -    public function get_client_limit($userid$limitname)
    +    public function 
    get_client_limit($userid$limitname$prefix="limit_")
         {
             global 
    $app;
             
    @@ -
    92,+92,@@
             if(!
    $this->client_limits)
                 return -
    1;
     
    -        if(isset(
    $this->client_limits['limit_'.$limitname])) {
    -            return 
    $this->client_limits['limit_'.$limitname];
    +        if(isset(
    $this->client_limits[$prefix.$limitname])) {
    +            return 
    $this->client_limits[$prefix.$limitname];
             }
         }
     
     
  2. Till

    Till Administrator

    Die Funktion get_client_limit soll aussschließlich zum Abfragen von Limts da sein, daher auch der Name der Funktion und dass sie im auth libray behaimatet ist. Deine Änderung führt dazu dass Du die Funktion quasi zum abfragen beliebiger Felder des Kundendatensatzes verwendest,was nicht Sinn der Funktion ist.

    Wenn Du den Kundendatensatz abfragen möchtest, so kannst Du es innerhalb von client* Formularen so machen:

    $app->tform->getDataRecord($this->id)

    und ansonsten über iene sql abfrage auf die client Tabelle.
     

Diese Seite empfehlen