Testing a hopefully faster ldap lookup

This commit is contained in:
root 2021-09-14 22:45:28 +02:00
parent 06d05e099e
commit 3c8a0485de
7 changed files with 16 additions and 13 deletions

@ -112,7 +112,7 @@ class Ajax extends Responder {
$user = $loan->get_user(); $user = $loan->get_user();
$userlink = replace(array('page' => 'users', $userlink = replace(array('page' => 'users',
'id' => $user->get_id(), 'id' => $user->get_id(),
'name' => $user->get_displayname()), 'name' => $user->get_displayname($this->ldap)),
$this->fragments['item_link']); $this->fragments['item_link']);
$productlink = replace(array('page' => 'products', $productlink = replace(array('page' => 'products',
'id' => $product->get_id(), 'id' => $product->get_id(),

@ -33,7 +33,7 @@ class CheckoutPage extends Page {
$disabled = 'disabled'; $disabled = 'disabled';
if($this->user !== null) { if($this->user !== null) {
$username = $this->user->get_name(); $username = $this->user->get_name();
$displayname = $this->user->get_displayname(); $displayname = $this->user->get_displayname($this->ldap);
$notes = $this->user->get_notes(); $notes = $this->user->get_notes();
$enddate = format_date(default_loan_end(time())); $enddate = format_date(default_loan_end(time()));
$disabled = ''; $disabled = '';

@ -4,11 +4,13 @@ class Cron {
private $sender = ''; private $sender = '';
private $error = ''; private $error = '';
private $kvs; private $kvs;
private $ldap;
public function __construct($sender, $error) { public function __construct($sender, $error) {
$this->now = time(); $this->now = time();
$this->sender = $sender; $this->sender = $sender;
$this->error = $error; $this->error = $error;
$this->kvs = new Kvs(); $this->kvs = new Kvs();
$this->ldap = new Ldap();
} }
public function run() { public function run() {
@ -89,7 +91,7 @@ EOF;
$subject = replace(array('count' => $overdue_count, $subject = replace(array('count' => $overdue_count,
'late' => $late), $subject_template); '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, 'list_sv' => $reminder_list_sv,
'product_sv' => $product_sv, 'product_sv' => $product_sv,
'it_sv' => $it_sv, 'it_sv' => $it_sv,
@ -101,7 +103,7 @@ EOF;
$message_template); $message_template);
try { try {
mb_send_mail($user->get_email(), mb_send_mail($user->get_email($this->ldap),
$subject, $subject,
$message, $message,
'From: '.$this->sender); 'From: '.$this->sender);

@ -103,7 +103,7 @@ abstract class Page extends Responder {
$replacements['has_notes'] = '*'; $replacements['has_notes'] = '*';
} }
$userlink = replace(array('id' => $user->get_id(), $userlink = replace(array('id' => $user->get_id(),
'name' => $user->get_displayname(), 'name' => $user->get_displayname($this->ldap),
'page' => 'users'), 'page' => 'users'),
$this->fragments['item_link']); $this->fragments['item_link']);
$replacements['item_link'] = $userlink; $replacements['item_link'] = $userlink;
@ -151,7 +151,7 @@ abstract class Page extends Responder {
case 'overdue': case 'overdue':
$loan = $product->get_active_loan(); $loan = $product->get_active_loan();
$user = $loan->get_user(); $user = $loan->get_user();
$replacements = array('name' => $user->get_displayname(), $replacements = array('name' => $user->get_displayname($this->ldap),
'id' => $user->get_id(), 'id' => $user->get_id(),
'page' => 'users'); 'page' => 'users');
$userlink = replace($replacements, $userlink = replace($replacements,
@ -237,7 +237,7 @@ abstract class Page extends Responder {
} }
} else if($event instanceof Loan) { } else if($event instanceof Loan) {
$user = $event->get_user(); $user = $event->get_user();
$userlink = replace(array('name' => $user->get_displayname(), $userlink = replace(array('name' => $user->get_displayname($this->ldap),
'id' => $user->get_id(), 'id' => $user->get_id(),
'page' => 'users'), 'page' => 'users'),
$this->fragments['item_link']); $this->fragments['item_link']);

@ -1,9 +1,11 @@
<?php <?php
abstract class Responder { abstract class Responder {
protected $fragments = array(); protected $fragments = array();
protected $ldap = null;
public function __construct() { public function __construct() {
$this->fragments = get_fragments('./html/fragments.html'); $this->fragments = get_fragments('./html/fragments.html');
$this->ldap = new Ldap();
} }
final protected function escape_tags($tags) { final protected function escape_tags($tags) {

@ -33,7 +33,6 @@ class User {
} }
$this->id = $id; $this->id = $id;
$this->update_fields(); $this->update_fields();
$this->ldap = new Ldap();
} }
private function update_fields() { private function update_fields() {
@ -68,17 +67,17 @@ class User {
return true; return true;
} }
public function get_displayname() { public function get_displayname($ldap) {
try { try {
return $this->ldap->get_user($this->name); return $ldap->get_user($this->name);
} catch(Exception $e) { } catch(Exception $e) {
return 'Ej i SUKAT'; return 'Ej i SUKAT';
} }
} }
public function get_email() { public function get_email($ldap, $format = true) {
try { try {
return $this->ldap->get_user_email($this->name); return $ldap->get_user_email($this->name);
} catch(Exception $e) { } catch(Exception $e) {
return 'Mailadress saknas'; return 'Mailadress saknas';
} }

@ -56,7 +56,7 @@ class UserPage extends Page {
'inactive_loans' => $table_inactive, 'inactive_loans' => $table_inactive,
'id' => $this->user->get_id(), 'id' => $this->user->get_id(),
'name' => $this->user->get_name(), 'name' => $this->user->get_name(),
'displayname' => $this->user->get_displayname(), 'displayname' => $this->user->get_displayname($this->ldap),
'notes' => $this->user->get_notes()), 'notes' => $this->user->get_notes()),
$this->fragments['user_details']); $this->fragments['user_details']);
} }