ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
All Data Structures Namespaces Files Functions Variables Modules Pages
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 
5 include_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  {
39  return self::SCHEDULE_TYPE_DAILY;
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 
76  $result = new ilCronJobResult();
78  return $result;
79  }
80 
81  public function addCustomSettingsToForm(ilPropertyFormGUI $a_form)
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 }
activationWasToggled($a_currently_active)
static _sendReminderMails()
Sends reminder e-mails to all users who have access and who have exceeded their disk quota and who ha...
$result
This class represents a property form user interface.
addToExternalSettingsForm($a_form_id, array &$a_fields, $a_is_active)
Cron job application base class.
Soft disk quota notifications.
This class represents a checkbox property in a property form.
static _updateDiskUsageReport()
Updates the disk usage info of all user accounts.
addItem($a_item)
Add Item (Property, SectionHeader).
$lng
setValue($a_value)
Set Value.
saveCustomSettings(ilPropertyFormGUI $a_form)
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
$DIC
Definition: xapitoken.php:46
Cron job result data container.
addCustomSettingsToForm(ilPropertyFormGUI $a_form)
$_POST["username"]
static getInstance()
Get settings instance.