From 3c8a0485dea4e545838ac35a1a34645d73f2689f Mon Sep 17 00:00:00 2001 From: root <root@dsv.su.se> Date: Tue, 14 Sep 2021 22:45:28 +0200 Subject: [PATCH] Testing a hopefully faster ldap lookup --- include/Ajax.php | 2 +- include/CheckoutPage.php | 2 +- include/Cron.php | 6 ++++-- include/Page.php | 6 +++--- include/Responder.php | 2 ++ include/User.php | 9 ++++----- include/UserPage.php | 2 +- 7 files changed, 16 insertions(+), 13 deletions(-) diff --git a/include/Ajax.php b/include/Ajax.php index 8ddadd3..4ede200 100644 --- a/include/Ajax.php +++ b/include/Ajax.php @@ -112,7 +112,7 @@ class Ajax extends Responder { $user = $loan->get_user(); $userlink = replace(array('page' => 'users', 'id' => $user->get_id(), - 'name' => $user->get_displayname()), + 'name' => $user->get_displayname($this->ldap)), $this->fragments['item_link']); $productlink = replace(array('page' => 'products', 'id' => $product->get_id(), diff --git a/include/CheckoutPage.php b/include/CheckoutPage.php index e07f199..1da4759 100644 --- a/include/CheckoutPage.php +++ b/include/CheckoutPage.php @@ -33,7 +33,7 @@ class CheckoutPage extends Page { $disabled = 'disabled'; if($this->user !== null) { $username = $this->user->get_name(); - $displayname = $this->user->get_displayname(); + $displayname = $this->user->get_displayname($this->ldap); $notes = $this->user->get_notes(); $enddate = format_date(default_loan_end(time())); $disabled = ''; diff --git a/include/Cron.php b/include/Cron.php index 50682f7..7ca58e8 100644 --- a/include/Cron.php +++ b/include/Cron.php @@ -4,11 +4,13 @@ class Cron { private $sender = ''; private $error = ''; private $kvs; + private $ldap; public function __construct($sender, $error) { $this->now = time(); $this->sender = $sender; $this->error = $error; $this->kvs = new Kvs(); + $this->ldap = new Ldap(); } public function run() { @@ -89,7 +91,7 @@ EOF; $subject = replace(array('count' => $overdue_count, 'late' => $late), $subject_template); - $message = replace(array('name' => $user->get_displayname(), + $message = replace(array('name' => $user->get_displayname($this->ldap), 'list_sv' => $reminder_list_sv, 'product_sv' => $product_sv, 'it_sv' => $it_sv, @@ -101,7 +103,7 @@ EOF; $message_template); try { - mb_send_mail($user->get_email(), + mb_send_mail($user->get_email($this->ldap), $subject, $message, 'From: '.$this->sender); diff --git a/include/Page.php b/include/Page.php index b783547..696bed7 100644 --- a/include/Page.php +++ b/include/Page.php @@ -103,7 +103,7 @@ abstract class Page extends Responder { $replacements['has_notes'] = '*'; } $userlink = replace(array('id' => $user->get_id(), - 'name' => $user->get_displayname(), + 'name' => $user->get_displayname($this->ldap), 'page' => 'users'), $this->fragments['item_link']); $replacements['item_link'] = $userlink; @@ -151,7 +151,7 @@ abstract class Page extends Responder { case 'overdue': $loan = $product->get_active_loan(); $user = $loan->get_user(); - $replacements = array('name' => $user->get_displayname(), + $replacements = array('name' => $user->get_displayname($this->ldap), 'id' => $user->get_id(), 'page' => 'users'); $userlink = replace($replacements, @@ -237,7 +237,7 @@ abstract class Page extends Responder { } } else if($event instanceof Loan) { $user = $event->get_user(); - $userlink = replace(array('name' => $user->get_displayname(), + $userlink = replace(array('name' => $user->get_displayname($this->ldap), 'id' => $user->get_id(), 'page' => 'users'), $this->fragments['item_link']); diff --git a/include/Responder.php b/include/Responder.php index 6d05f51..ff621cd 100644 --- a/include/Responder.php +++ b/include/Responder.php @@ -1,9 +1,11 @@ <?php abstract class Responder { protected $fragments = array(); + protected $ldap = null; public function __construct() { $this->fragments = get_fragments('./html/fragments.html'); + $this->ldap = new Ldap(); } final protected function escape_tags($tags) { diff --git a/include/User.php b/include/User.php index 80ed297..658fea7 100644 --- a/include/User.php +++ b/include/User.php @@ -33,7 +33,6 @@ class User { } $this->id = $id; $this->update_fields(); - $this->ldap = new Ldap(); } private function update_fields() { @@ -68,17 +67,17 @@ class User { return true; } - public function get_displayname() { + public function get_displayname($ldap) { try { - return $this->ldap->get_user($this->name); + return $ldap->get_user($this->name); } catch(Exception $e) { return 'Ej i SUKAT'; } } - public function get_email() { + public function get_email($ldap, $format = true) { try { - return $this->ldap->get_user_email($this->name); + return $ldap->get_user_email($this->name); } catch(Exception $e) { return 'Mailadress saknas'; } diff --git a/include/UserPage.php b/include/UserPage.php index ab1b544..c5ff4e1 100644 --- a/include/UserPage.php +++ b/include/UserPage.php @@ -56,7 +56,7 @@ class UserPage extends Page { 'inactive_loans' => $table_inactive, 'id' => $this->user->get_id(), 'name' => $this->user->get_name(), - 'displayname' => $this->user->get_displayname(), + 'displayname' => $this->user->get_displayname($this->ldap), 'notes' => $this->user->get_notes()), $this->fragments['user_details']); }