Compare commits

...

1 Commits

Author SHA1 Message Date
root
8733573adb Testing a hopefully faster ldap lookup 2021-09-14 22:45:28 +02:00
7 changed files with 25 additions and 19 deletions

@ -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(),

@ -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 = '';

@ -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);

@ -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']);

@ -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) {

@ -34,7 +34,6 @@ class User extends Entity {
}
$this->id = $id;
$this->update_fields();
$this->ldap = new Ldap();
}
private function update_fields() {
@ -47,7 +46,7 @@ class User extends Entity {
return true;
}
public function matches($terms, $matchAll=false) {
public function matches($terms, $ldap, $matchAll=false) {
$terms = $this->specify_search($terms, array('name',
'email',
'notes'));
@ -58,14 +57,17 @@ class User extends Entity {
if(match($values, $this->name)) {
$matches['name'] = $this->name;
}
if(match($values, $this->get_displayname())) {
$matches['displayname'] = $this->get_displayname();
$dname = $this->get_displayname($ldap);
if(match($values, $dname)) {
$matches['displayname'] = $dname;
}
break;
case 'email':
if($this->get_email(false) && match($values,
$this->get_email())) {
$matches['email'] = $this->get_email();
$email_raw = $this->get_email($ldap, false);
$email_fmt = $this->get_email($ldap);
if($email_raw && match($values,
$email_fmt)) {
$matches['email'] = $email_fmt;
}
break;
case 'notes':
@ -81,17 +83,17 @@ class User extends Entity {
return $matches;
}
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($format = true) {
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) {
if($format) {
return 'Mailadress saknas';

@ -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']);
}