From 2529cd37a0d7695acac57909cdac3e2103c0d643 Mon Sep 17 00:00:00 2001 From: Leif Andersson <leif.andersson@control.lth.se> Date: Wed, 16 Sep 2015 22:58:33 +0200 Subject: [PATCH] Flyttade definitionen av $personFields till class.AddressDB.php --- lib/class.AddressDB.php | 19 +++++++++++++++++-- lib/class.Person.php | 17 +++++------------ 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/lib/class.AddressDB.php b/lib/class.AddressDB.php index c40eb80..f3940a2 100644 --- a/lib/class.AddressDB.php +++ b/lib/class.AddressDB.php @@ -3,7 +3,7 @@ class AddressDB { private static $instance; private $PDB; - private $database = 'NyAdresser'; + private static $database = 'NyAdresser'; private function __construct() { global $gCms; @@ -14,7 +14,7 @@ class AddressDB { $result = $this->PDB->Connect($config['db_hostname'], $config['db_username'], $config['db_password'], - $this->database); + self::$database); if ($result) { $result = $this->PDB->Execute("SET NAMES 'utf8'"); } else { @@ -30,4 +30,19 @@ class AddressDB { } return self::$instance->PDB; } + + public static function getFields($tableName) { + $db = self::getDB(); + $query = 'select column_name from information_schema.columns where ' + . 'table_schema="'. self::$database . '" and table_name=?'; + $values = array($tableName); + $result = $db->Execute($query,$values); + if ($result === false) { die("Database error!<br>" . $db->ErrorMsg()); } + $fields = array(); + while ($row = $result->FetchRow()) { + $fields[] = $row['column_name']; + } + return $fields; + } + } diff --git a/lib/class.Person.php b/lib/class.Person.php index 95ce49b..bed50b0 100644 --- a/lib/class.Person.php +++ b/lib/class.Person.php @@ -18,23 +18,16 @@ EOT; Grupper.ID=GruppID and AdressID = ? EOT; -/* private static $queryUpdate = <<<EOT */ -/* update Adresser set */ -/* EOT; */ - public static $firstFields = array( 'ID','fornamn', 'efternamn', 'foretag','avdelning', 'adress', 'Grupp'); - - private static $personFields = array( - 'ID', 'Fornamn', 'Efternamn', 'Titel', 'Personnummer', 'SkolaForetag', - 'Avdelning', 'Adress', 'Besok', 'Hem', 'Epost', 'Telefon', 'TelefonMobil', - 'TelefonHem', 'URL', 'AnknytningTillInst', 'DiverseInfo', 'Andrad'); - + private static $personFields; public function __construct($param = NULL) { - global $gCms; - if (!isset($gCms)) exit; + global $gCms; if (!isset($gCms)) exit; + if (!isset(self::$personFields)) { + self::$personFields = AddressDB::getFields('Adresser'); + } foreach(self::$personFields as $field) { $this->$field = ''; } -- GitLab