Änderung der Funktion get_client_limit()

#1
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,7 +78,7 @@
 	}
 
 	//** 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,8 +92,8 @@
 		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];
 		}
 	}
 

Till

Administrator
#2
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.
 

Werbung

Top