ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
class.ilDAVCronDiskQuota.php
Go to the documentation of this file.
1<?php
2
3/* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
4
5include_once "Services/Cron/classes/class.ilCronJob.php";
6
13{
14 public function getId()
15 {
16 return "rep_disk_quota";
17 }
18
19 public function getTitle()
20 {
21 global $DIC;
22 $lng = $DIC['lng'];
23
24 $lng->loadLanguageModule("file");
25 return $lng->txt("repository_disk_quota");
26 }
27
28 public function getDescription()
29 {
30 global $DIC;
31 $lng = $DIC['lng'];
32
33 $lng->loadLanguageModule("file");
34 return $lng->txt("repository_disk_quota_info");
35 }
36
37 public function getDefaultScheduleType()
38 {
40 }
41
42 public function getDefaultScheduleValue()
43 {
44 return;
45 }
46
47 public function hasAutoActivation()
48 {
49 return false;
50 }
51
52 public function hasFlexibleSchedule()
53 {
54 return false;
55 }
56
57 public function hasCustomSettings()
58 {
59 return true;
60 }
61
62 public function run()
63 {
66
69 }
70
73 }
74 }
75
78 return $result;
79 }
80
82 {
83 global $DIC;
84 $lng = $DIC['lng'];
85
86 $lng->loadLanguageModule("file");
87
88 $disk_quota_obj = ilObjDiskQuotaSettings::getInstance();
89
90 // Enable disk quota reminder mail
91 $cb_prop_reminder = new ilCheckboxInputGUI($lng->txt("enable_disk_quota_reminder_mail"), "enable_disk_quota_reminder_mail");
92 $cb_prop_reminder->setValue('1');
93 $cb_prop_reminder->setChecked($disk_quota_obj->isDiskQuotaReminderMailEnabled());
94 $cb_prop_reminder->setInfo($lng->txt('disk_quota_reminder_mail_desc'));
95 $a_form->addItem($cb_prop_reminder);
96
97 // Enable summary mail for certain users
98 $cb_prop_summary = new ilCheckboxInputGUI($lng->txt("enable_disk_quota_summary_mail"), "enable_disk_quota_summary_mail");
99 $cb_prop_summary->setValue(1);
100 $cb_prop_summary->setChecked($disk_quota_obj->isDiskQuotaSummaryMailEnabled());
101 $cb_prop_summary->setInfo($lng->txt('enable_disk_quota_summary_mail_desc'));
102 $a_form->addItem($cb_prop_summary);
103
104 // Edit disk quota recipients
105 $summary_rcpt = new ilTextInputGUI($lng->txt("disk_quota_summary_rctp"), "disk_quota_summary_rctp");
106 $summary_rcpt->setValue($disk_quota_obj->getSummaryRecipients());
107 $summary_rcpt->setInfo($lng->txt('disk_quota_summary_rctp_desc'));
108 $cb_prop_summary->addSubItem($summary_rcpt);
109 }
110
111 public function saveCustomSettings(ilPropertyFormGUI $a_form)
112 {
113 $disk_quota_obj = ilObjDiskQuotaSettings::getInstance();
114 $disk_quota_obj->setDiskQuotaReminderMailEnabled($_POST['enable_disk_quota_reminder_mail'] == '1');
115 $disk_quota_obj->isDiskQuotaSummaryMailEnabled($_POST['enable_disk_quota_summary_mail'] == '1');
116 $disk_quota_obj->setSummaryRecipients(ilUtil::stripSlashes($_POST['disk_quota_summary_rctp']));
117 $disk_quota_obj->update();
118
119 return true;
120 }
121
122 public function addToExternalSettingsForm($a_form_id, array &$a_fields, $a_is_active)
123 {
124 global $DIC;
125 $lng = $DIC['lng'];
126
127 $lng->loadLanguageModule("file");
128
129 switch ($a_form_id) {
132
133
134 $subitems = array(
135 "enable_disk_quota_reminder_mail" => array(
138 ),
139 "enable_disk_quota_summary_mail" => array(
142 )
143 );
144 $a_fields["repository_disk_quota"] = array($a_is_active ?
145 $lng->txt("enabled") :
146 $lng->txt("disabled"),
147 null, $subitems);
148 break;
149 }
150 }
151
152 public function activationWasToggled($a_currently_active)
153 {
154 // #12221
155 $settings = new ilSetting('disk_quota');
156 $settings->set('enabled', $a_currently_active);
157
158 /* objDefinition is not available in setup, we cannot use ilObject
159 $disk_quota_obj = ilObjDiskQuotaSettings::getInstance();
160 $disk_quota_obj->setDiskQuotaEnabled((bool)$a_currently_active);
161 $disk_quota_obj->update();
162 */
163 }
164}
$result
$_POST["username"]
An exception for terminatinating execution or to throw for unit testing.
This class represents a checkbox property in a property form.
Cron job result data container.
Cron job application base class.
const SCHEDULE_TYPE_DAILY
Soft disk quota notifications.
hasFlexibleSchedule()
Can the schedule be configured?
addToExternalSettingsForm($a_form_id, array &$a_fields, $a_is_active)
Add external settings to form.
getDescription()
Get description.
getDefaultScheduleValue()
Get schedule value.
hasAutoActivation()
Is to be activated on "installation".
saveCustomSettings(ilPropertyFormGUI $a_form)
Save custom settings.
getDefaultScheduleType()
Get schedule type.
addCustomSettingsToForm(ilPropertyFormGUI $a_form)
Add custom settings to form.
activationWasToggled($a_currently_active)
Cron job status was changed.
hasCustomSettings()
Has cron job any custom setting which can be edited?
static _updateDiskUsageReport()
Updates the disk usage info of all user accounts.
static _sendReminderMails()
Sends reminder e-mails to all users who have access and who have exceeded their disk quota and who ha...
static getInstance()
Get settings instance.
This class represents a property form user interface.
addItem($a_item)
Add Item (Property, SectionHeader).
ILIAS Setting Class.
This class represents a text property in a property form.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
$lng
$DIC
Definition: xapitoken.php:46