Merge branch 'test' into prod

This commit is contained in:
Erik Thuning 2024-02-14 10:57:05 +01:00
commit e15e2da3b4
5 changed files with 69 additions and 24 deletions

1
.gitignore vendored

@ -3,4 +3,5 @@
.#*
.htaccess
config.php
email-fragments.txt
test*

@ -1,7 +1,16 @@
# Boka2
There should be a description here
Additional line
Track an inventory of products
additional line 2
## Installation
* Clone the repo
* copy `config.php.example` to `config.php` and set correct values
* copy `email-fragments.txt.example` to `email-fragments.txt` and change as necessary
* point a webserver to the project root
* REMOTE_USER authentication should be configured for the entire application (context path /)
* exempt `/cron.php` from authentication
* set up a cron job along these lines:
```
* * * * 1-5 root curl -sS https://example.com/cron.php
```

@ -7,6 +7,7 @@ $db_pass = 'dbpassword';
$db_name = 'dbuser';
# Email subject prefix
# Will be prepended without change, so should probably end with a space
$email_subject_prefix = "System name: ";
# Address to use as the sender for reminder emails

@ -0,0 +1,29 @@
¤¤ sv_new_loans_intro ¤¤
Det här är ett automatiskt meddelande från Helpdesk.
¤¤ en_new_loans_intro ¤¤
This is an automated message from Helpdesk.
¤¤ sv_reminder_intro ¤¤
Det här är en automatisk påminnelse om lånade artiklar från Helpdesk.
¤¤ en_reminder_intro ¤¤
This is an automated reminder regarding items on loan from Helpdesk.
¤¤ sv_new_loans_pickup ¤¤
Eventuella artiklar du inte hämtat ut redan kan hämtas från Helpdesk.
¤¤ en_new_loans_pickup ¤¤
Any products you haven't already picked up can be collected from Helpdesk.
¤¤ sv_return_info ¤¤
Vänligen kontakta Helpdesk för att förlänga ¤loan¤ eller lämna tillbaka ¤product¤.
¤¤ en_return_info ¤¤
Please contact Helpdesk in order to extend the ¤loan¤ or return the ¤product¤.
¤¤ footer ¤¤
Mvh
DSV Helpdesk
helpdesk@dsv.su.se
08 - 16 16 48

@ -15,6 +15,7 @@ class Cron {
$this->run_interval = DateInterval::createFromDateString('1 day');
$this->kvs = new Kvs();
$this->ldap = new Ldap();
$this->email_fragments = get_fragments('./email-fragments.txt');
$days = $this->warn_time->d;
$this->strings = array(
@ -148,18 +149,21 @@ class Cron {
$info_sv = array();
$info_en = array();
if($new_count > 0) {
$info_sv[] = "Eventuella artiklar du inte hämtat ut redan kan hämtas från Helpdesk.";
$info_en[] = "Any products you haven't already picked up can be collected from Helpdesk.";
$info_sv[] = $this->email_fragments['sv_new_loans_pickup'];
$info_en[] = $this->email_fragments['en_new_loans_pickup'];
}
$info_sv[] = "Svara på det här mailet om du har några frågor.";
$info_en[] = "Please reply to this email if you have any questions.";
$info_sv = implode(' ', $info_sv);
$info_en = implode(' ', $info_en);
$intro_sv = $this->email_fragments['sv_new_loans_intro'];
$intro_en = $this->email_fragments['en_new_loans_intro'];
$footer = $this->email_fragments['footer'];
$message = <<<EOF
Hej $name!
Det här är ett automatiskt meddelande från Helpdesk.
$intro_sv
$list_sv
@ -167,17 +171,13 @@ $info_sv
----
This is an automated message from Helpdesk.
$intro_en
$list_en
$info_en
Mvh
DSV Helpdesk
helpdesk@dsv.su.se
08 - 16 16 48
$footer
EOF;
$this->send_email($uid, $subject, $message);
}
@ -262,7 +262,9 @@ EOF;
$loan = "lånet";
$product = "artikeln";
}
return "Vänligen kontakta Helpdesk för att förlänga $loan eller lämna tillbaka $product.";
return replace(array('loan' => $loan,
'product' => $product),
$this->email_fragments['sv_return_info']);
break;
case 'en':
if($count > 1) {
@ -272,7 +274,9 @@ EOF;
$loan = "loan";
$product = "item";
}
return "Please contact Helpdesk in order to extend the $loan or return the $product.";
return replace(array('loan' => $loan,
'product' => $product),
$this->email_fragments['en_return_info']);
break;
default:
throw new Exception("Invalid language: ".$lang);
@ -291,6 +295,9 @@ EOF;
$subject = $this->make_reminder_subject($expiring_count,
$overdue_count);
$intro_sv = $this->email_fragments['sv_reminder_intro'];
$intro_en = $this->email_fragments['en_reminder_intro'];
$info_sv = array();
$info_en = array();
if($expiring_count > 0) {
@ -302,15 +309,17 @@ EOF;
$info_en[] = $this->make_notice('en', 'overdue', $overdue);
}
$info_sv = implode("\n\n", $info_sv);
$returns_sv = $this->make_return_info('sv', $total);
$info_en = implode("\n\n", $info_en);
$returns_sv = $this->make_return_info('sv', $total);
$returns_en = $this->make_return_info('en', $total);
$footer = $this->email_fragments['footer'];
$message = <<<EOF
Hej $name!
Det här är en automatisk påminnelse om lånade artiklar från Helpdesk.
$intro_sv
$info_sv
@ -318,17 +327,13 @@ $returns_sv
----
This is an automated reminder regarding items on loan from Helpdesk.
$intro_en
$info_en
$returns_en
Mvh
DSV Helpdesk
helpdesk@dsv.su.se
08 - 16 16 48
$footer
EOF;
$this->send_email($uid, $subject, $message);
}