Testing a hopefully faster ldap lookup
This commit is contained in:
parent
0eebf93cca
commit
9f4bc39e55
@ -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) {
|
||||||
|
@ -3,7 +3,6 @@ class User extends Entity {
|
|||||||
private $id = 0;
|
private $id = 0;
|
||||||
private $name = '';
|
private $name = '';
|
||||||
private $notes = '';
|
private $notes = '';
|
||||||
private $ldap = null;
|
|
||||||
|
|
||||||
public static function create_user($name) {
|
public static function create_user($name) {
|
||||||
$ins_user = prepare('insert into `user`(`name`) values (?)');
|
$ins_user = prepare('insert into `user`(`name`) values (?)');
|
||||||
@ -34,7 +33,6 @@ class User extends Entity {
|
|||||||
}
|
}
|
||||||
$this->id = $id;
|
$this->id = $id;
|
||||||
$this->update_fields();
|
$this->update_fields();
|
||||||
$this->ldap = new Ldap();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private function update_fields() {
|
private function update_fields() {
|
||||||
@ -47,7 +45,7 @@ class User extends Entity {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function matches($terms, $matchAll=false) {
|
public function matches($terms, $ldap, $matchAll=false) {
|
||||||
$terms = $this->specify_search($terms, array('name',
|
$terms = $this->specify_search($terms, array('name',
|
||||||
'email',
|
'email',
|
||||||
'notes'));
|
'notes'));
|
||||||
@ -58,14 +56,15 @@ class User extends Entity {
|
|||||||
if(match($values, $this->name)) {
|
if(match($values, $this->name)) {
|
||||||
$matches['name'] = $this->name;
|
$matches['name'] = $this->name;
|
||||||
}
|
}
|
||||||
if(match($values, $this->get_displayname())) {
|
$dname = $this->get_displayname($ldap);
|
||||||
$matches['displayname'] = $this->get_displayname();
|
if(match($values, $dname)) {
|
||||||
|
$matches['displayname'] = $dname;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'email':
|
case 'email':
|
||||||
if($this->get_email(false) && match($values,
|
$email = $this->get_email($ldap, false);
|
||||||
$this->get_email())) {
|
if($email && match($values, $email)) {
|
||||||
$matches['email'] = $this->get_email();
|
$matches['email'] = $email;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'notes':
|
case 'notes':
|
||||||
@ -81,17 +80,17 @@ class User extends Entity {
|
|||||||
return $matches;
|
return $matches;
|
||||||
}
|
}
|
||||||
|
|
||||||
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($format = true) {
|
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) {
|
||||||
if($format) {
|
if($format) {
|
||||||
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']);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user