ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
class.ilObjFileAccessSettingsGUI.php
Go to the documentation of this file.
1 <?php
2 /*
3  +-----------------------------------------------------------------------------+
4  | ILIAS open source |
5  +-----------------------------------------------------------------------------+
6  | Copyright (c) 1998-2001 ILIAS open source, University of Cologne |
7  | |
8  | This program is free software; you can redistribute it and/or |
9  | modify it under the terms of the GNU General Public License |
10  | as published by the Free Software Foundation; either version 2 |
11  | of the License, or (at your option) any later version. |
12  | |
13  | This program is distributed in the hope that it will be useful, |
14  | but WITHOUT ANY WARRANTY; without even the implied warranty of |
15  | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16  | GNU General Public License for more details. |
17  | |
18  | You should have received a copy of the GNU General Public License |
19  | along with this program; if not, write to the Free Software |
20  | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
21  +-----------------------------------------------------------------------------+
22 */
23 include_once "./Services/Object/classes/class.ilObjectGUI.php";
24 
38 {
39  const INSTALL_README_PATH = '/docs/configuration/install.md';
40  const CMD_EDIT_DOWNLOADING_SETTINGS = 'editDownloadingSettings';
44  protected $folderSettings;
48  private $disk_quota_obj;
49 
50 
56  public function __construct($a_data, $a_id, $a_call_by_reference)
57  {
58  $this->type = "facs";
59  parent::__construct($a_data, $a_id, $a_call_by_reference, false);
60  $this->folderSettings = new ilSetting('fold');
61 
62  // Load the disk quota settings object
63  require_once 'Services/WebDAV/classes/class.ilObjDiskQuotaSettings.php';
64  $this->disk_quota_obj = new ilObjDiskQuotaSettings($a_id, $a_call_by_reference);
65  $this->disk_quota_obj->read();
66  }
67 
68 
75  public function executeCommand()
76  {
77  global $DIC;
78  $ilAccess = $DIC['ilAccess'];
79  $ilias = $DIC['ilias'];
80  $lng = $DIC['lng'];
81 
82  $lng->loadLanguageModule("file");
83 
84  $next_class = $this->ctrl->getNextClass($this);
85  $cmd = $this->ctrl->getCmd();
86 
87  $this->prepareOutput();
88 
89  if (!$ilAccess->checkAccess('read', '', $this->object->getRefId())) {
90  $ilias->raiseError($lng->txt('no_permission'), $ilias->error_obj->MESSAGE);
91  }
92 
93  switch ($next_class) {
94  case 'ilpermissiongui':
95  $this->tabs_gui->setTabActive('perm_settings');
96  include_once("Services/AccessControl/classes/class.ilPermissionGUI.php");
97  $perm_gui = new ilPermissionGUI($this);
98  $ret =&$this->ctrl->forwardCommand($perm_gui);
99  break;
100 
101  case 'ilfmsettingsgui':
102  $this->tabs_gui->setTabActive('fm_settings_tab');
103  include_once './Services/WebServices/FileManager/classes/class.ilFMSettingsGUI.php';
104  $fmg = new ilFMSettingsGUI($this);
105  $this->ctrl->forwardCommand($fmg);
106  break;
107 
108  default:
109  if (!$cmd || $cmd == 'view') {
110  $cmd = self::CMD_EDIT_DOWNLOADING_SETTINGS;
111  }
112 
113  $this->$cmd();
114  break;
115  }
116 
117  return true;
118  }
119 
120 
127  public function getAdminTabs()
128  {
129  global $DIC;
130  $rbacsystem = $DIC['rbacsystem'];
131 
132  $GLOBALS['DIC']['lng']->loadLanguageModule('fm');
133 
134  if ($rbacsystem->checkAccess("visible,read", $this->object->getRefId())) {
135  $this->tabs_gui->addTarget(
136  'downloading_settings',
137  $this->ctrl->getLinkTarget($this, self::CMD_EDIT_DOWNLOADING_SETTINGS),
138  array(self::CMD_EDIT_DOWNLOADING_SETTINGS, "view")
139  );
140 
141  $this->tabs_gui->addTarget(
142  'upload_settings',
143  $this->ctrl->getLinkTarget($this, "editUploadSettings"),
144  array("editUploadSettings", "view")
145  );
146 
147  $this->tabs_gui->addTarget(
148  'preview_settings',
149  $this->ctrl->getLinkTarget($this, "editPreviewSettings"),
150  array("editPreviewSettings", "view")
151  );
152 
153  $this->tabs_gui->addTarget('webdav', $this->ctrl->getLinkTarget($this, "editWebDAVSettings"), array("editWebDAVSettings", "view"));
154 
155  $this->tabs_gui->addTarget(
156  'fm_settings_tab',
157  $this->ctrl->getLinkTargetByClass('ilFMSettingsGUI', 'settings'),
158  array(),
159  'ilfmsettingsgui'
160  );
161 
162  $this->tabs_gui->addTarget("disk_quota", $this->ctrl->getLinkTarget($this, "editDiskQuotaSettings"), array("editDiskQuota", "view"));
163  }
164  if ($rbacsystem->checkAccess('edit_permission', $this->object->getRefId())) {
165  $this->tabs_gui->addTarget("perm_settings", $this->ctrl->getLinkTargetByClass('ilpermissiongui', "perm"), array(), 'ilpermissiongui');
166  }
167  }
168 
169 
173  protected function initDownloadingSettingsForm()
174  {
175  global $DIC;
176  $ilCtrl = $DIC['ilCtrl'];
177  $lng = $DIC['lng'];
178 
179  require_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
180  require_once("./Services/Form/classes/class.ilCheckboxInputGUI.php");
181  require_once("./Services/Form/classes/class.ilRadioGroupInputGUI.php");
182  require_once("./Services/Form/classes/class.ilRadioOption.php");
183  require_once("./Services/Form/classes/class.ilTextAreaInputGUI.php");
184 
185  $form = new ilPropertyFormGUI();
186  $form->setFormAction($ilCtrl->getFormAction($this));
187  $form->setTitle($lng->txt("settings"));
188 
189  // Backwards compatibility with ILIAS 3.9: Use the name of the
190  // uploaded file as the filename for the downloaded file instead
191  // of the title of the file object.
192  $dl_prop = new ilCheckboxInputGUI($lng->txt("download_with_uploaded_filename"), "download_with_uploaded_filename");
193  $dl_prop->setValue('1');
194  // default value should reflect previous behaviour (-> 0)
195  $dl_prop->setChecked($this->object->isDownloadWithUploadedFilename() == 1);
196  $dl_prop->setInfo($lng->txt('download_with_uploaded_filename_info'));
197  $form->addItem($dl_prop);
198 
199  // Show download action for folder
200  $dl_prop = new ilCheckboxInputGUI($lng->txt("enable_download_folder"), "enable_download_folder");
201  $dl_prop->setValue('1');
202  // default value should reflect previous behaviour (-> 0)
203  $dl_prop->setChecked($this->folderSettings->get("enable_download_folder", 0) == 1);
204  $dl_prop->setInfo($lng->txt('enable_download_folder_info'));
205  $form->addItem($dl_prop);
206 
207  // multi download
208  $dl_prop = new ilCheckboxInputGUI($lng->txt("enable_multi_download"), "enable_multi_download");
209  $dl_prop->setValue('1');
210  // default value should reflect previous behaviour (-> 0)
211  $dl_prop->setChecked($this->folderSettings->get("enable_multi_download", 0) == 1);
212  $dl_prop->setInfo($lng->txt('enable_multi_download_info'));
213  $form->addItem($dl_prop);
214 
215  // background task
216 
217  $lng->loadLanguageModule("bgtask");
218  $dl_bg = new ilCheckboxInputGUI($lng->txt("bgtask_setting"), "enable_bg");
219  $dl_bg->setInfo($lng->txt("bgtask_setting_info"));
220  $dl_bg->setChecked($this->folderSettings->get("bgtask_download", 0));
221  $form->addItem($dl_bg);
222 
223  $dl_bgtc = new ilNumberInputGUI($lng->txt("bgtask_setting_threshold_count"), "bg_tcount");
224  $dl_bgtc->setInfo($lng->txt("bgtask_setting_threshold_count_info"));
225  $dl_bgtc->setRequired(true);
226  $dl_bgtc->setSize(10);
227  $dl_bgtc->setMinValue(1);
228  $dl_bgtc->setSuffix($lng->txt("files"));
229  $dl_bgtc->setValue($this->folderSettings->get("bgtask_download_tcount", null));
230  $dl_bg->addSubItem($dl_bgtc);
231 
232  $dl_bgts = new ilNumberInputGUI($lng->txt("bgtask_setting_threshold_size"), "bg_tsize");
233  $dl_bgts->setInfo($lng->txt("bgtask_setting_threshold_size_info"));
234  $dl_bgts->setRequired(true);
235  $dl_bgts->setSize(10);
236  $dl_bgts->setMinValue(1);
237  $dl_bgts->setSuffix($lng->txt("lang_size_mb"));
238  $dl_bgts->setValue($this->folderSettings->get("bgtask_download_tsize", null));
239  $dl_bg->addSubItem($dl_bgts);
240 
241  $dl_bgl = new ilNumberInputGUI($lng->txt("bgtask_setting_limit"), "bg_limit");
242  $dl_bgl->setInfo($lng->txt("bgtask_setting_limit_info"));
243  $dl_bgl->setRequired(true);
244  $dl_bgl->setSize(10);
245  $dl_bgl->setMinValue(1);
246  $dl_bgl->setSuffix($lng->txt("lang_size_mb"));
247  $dl_bgl->setValue($this->folderSettings->get("bgtask_download_limit", null));
248  $dl_bg->addSubItem($dl_bgl);
249 
250  // Inline file extensions
251  $tai_prop = new ilTextAreaInputGUI($lng->txt('inline_file_extensions'), 'inline_file_extensions');
252  $tai_prop->setValue($this->object->getInlineFileExtensions());
253  $tai_prop->setInfo($lng->txt('inline_file_extensions_info'));
254  $tai_prop->setCols(80);
255  $tai_prop->setRows(5);
256  $form->addItem($tai_prop);
257 
258  // command buttons
259  $form->addCommandButton('saveDownloadingSettings', $lng->txt('save'));
260  $form->addCommandButton('view', $lng->txt('cancel'));
261 
262  return $form;
263  }
264 
265 
269  public function editDownloadingSettings(ilPropertyFormGUI $a_form = null)
270  {
271  global $rbacsystem, $ilErr, $tpl, $lng;
272 
273  $this->tabs_gui->setTabActive('downloading_settings');
274 
275  if (!$rbacsystem->checkAccess("visible,read", $this->object->getRefId())) {
276  $ilErr->raiseError($lng->txt("no_permission"), $ilErr->WARNING);
277  }
278 
279  if (!$a_form) {
280  $a_form = $this->initDownloadingSettingsForm();
281  }
282 
283  $tpl->setContent($a_form->getHTML());
284  }
285 
286 
290  public function saveDownloadingSettings()
291  {
292  global $DIC;
293  $rbacsystem = $DIC['rbacsystem'];
294 
295  if (!$rbacsystem->checkAccess("write", $this->object->getRefId())) {
296  ilUtil::sendFailure($DIC->language()->txt("no_permission"), true);
297  $DIC->ctrl()->redirect($this, self::CMD_EDIT_DOWNLOADING_SETTINGS);
298  }
299 
301  if ($form->checkInput()) {
302  $this->object->setDownloadWithUploadedFilename(ilUtil::stripSlashes($_POST['download_with_uploaded_filename']));
303  $this->object->setInlineFileExtensions(ilUtil::stripSlashes($_POST['inline_file_extensions']));
304  $this->object->update();
305 
306  $this->folderSettings->set("enable_download_folder", $_POST["enable_download_folder"] == 1);
307  $this->folderSettings->set("enable_multi_download", $_POST["enable_multi_download"] == 1);
308 
309  $this->folderSettings->set("bgtask_download", (bool) $_POST["enable_bg"]);
310  if ((bool) $_POST["enable_bg"]) {
311  $this->folderSettings->set("bgtask_download_limit", (int) $_POST["bg_limit"]);
312  $this->folderSettings->set("bgtask_download_tcount", (int) $_POST["bg_tcount"]);
313  $this->folderSettings->set("bgtask_download_tsize", (int) $_POST["bg_tsize"]);
314  }
315 
316  ilUtil::sendSuccess($DIC->language()->txt('settings_saved'), true);
317  $DIC->ctrl()->redirect($this, self::CMD_EDIT_DOWNLOADING_SETTINGS);
318  }
319 
320  $form->setValuesByPost();
322  }
323 
324 
328  public function editWebDAVSettings()
329  {
330  global $DIC;
331  $rbacsystem = $DIC['rbacsystem'];
332  $ilErr = $DIC['ilErr'];
333  $tpl = $DIC['tpl'];
334  $ilCtrl = $DIC['ilCtrl'];
335  $lng = $DIC['lng'];
336 
337  $this->tabs_gui->setTabActive('webdav');
338 
339  if (!$rbacsystem->checkAccess("visible,read", $this->object->getRefId())) {
340  $ilErr->raiseError($lng->txt("no_permission"), $ilErr->WARNING);
341  }
342 
343  require_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
344  require_once("./Services/Form/classes/class.ilCheckboxInputGUI.php");
345  require_once("./Services/Form/classes/class.ilRadioGroupInputGUI.php");
346  require_once("./Services/Form/classes/class.ilRadioOption.php");
347  require_once("./Services/Form/classes/class.ilTextAreaInputGUI.php");
348  require_once("./Services/WebDAV/classes/class.ilDAVServer.php");
349 
350  $form = new ilPropertyFormGUI();
351  $form->setFormAction($ilCtrl->getFormAction($this));
352  $form->setTitle($lng->txt("settings"));
353 
354  // Enable webdav
355  $ilDAVServer = ilDAVServer::getInstance();
356  $cb_prop = new ilCheckboxInputGUI($lng->txt("enable_webdav"), "enable_webdav");
357  $cb_prop->setValue('1');
358  $cb_prop->setChecked($this->object->isWebdavEnabled());
359  $cb_prop->setInfo($this->getAdditionalWebDAVInformation());
360  $form->addItem($cb_prop);
361 
362  $rgi_prop = new ilRadioGroupInputGUI($lng->txt('webfolder_instructions'), 'custom_webfolder_instructions_choice');
363  $rgi_prop->addOption(new ilRadioOption($lng->txt('use_default_instructions'), 'default'));
364  $rgi_prop->addOption(new ilRadioOption($lng->txt('use_customized_instructions'), 'custom'));
365  $rgi_prop->setValue($this->object->isCustomWebfolderInstructionsEnabled() ? 'custom' : 'default');
366  $form->addItem($rgi_prop);
367  $tai_prop = new ilTextAreaInputGUI('', 'custom_webfolder_instructions');
368  $tai_prop->setValue($this->object->getCustomWebfolderInstructions());
369  $tai_prop->setInfo($lng->txt("webfolder_instructions_info"));
370  $tai_prop->setRows(20);
371  $form->addItem($tai_prop);
372 
373  // command buttons
374  $form->addCommandButton('saveWebDAVSettings', $lng->txt('save'));
375  $form->addCommandButton('view', $lng->txt('cancel'));
376 
377  $tpl->setContent($form->getHTML());
378  }
379 
380 
384  public function saveWebDAVSettings()
385  {
386  global $DIC;
387  $rbacsystem = $DIC['rbacsystem'];
388  $ilErr = $DIC['ilErr'];
389  $ilCtrl = $DIC['ilCtrl'];
390  $lng = $DIC['lng'];
391 
392  if (!$rbacsystem->checkAccess("write", $this->object->getRefId())) {
393  $ilErr->raiseError($lng->txt("no_permission"), $ilErr->WARNING);
394  }
395 
396  $this->object->setWebdavEnabled($_POST['enable_webdav'] == '1');
397  // $this->object->setWebdavActionsVisible($_POST['webdav_actions_visible'] == '1');
398  $this->object->setCustomWebfolderInstructionsEnabled($_POST['custom_webfolder_instructions_choice'] == 'custom');
399  $this->object->setCustomWebfolderInstructions(ilUtil::stripSlashes($_POST['custom_webfolder_instructions'], false));
400  $this->object->update();
401 
402  ilUtil::sendInfo($lng->txt('settings_saved'), true);
403  $ilCtrl->redirect($this, "editWebDAVSettings");
404  }
405 
407  {
408  global $DIC;
409  $lng = $DIC->language();
410  return $furtherInformation = sprintf($lng->txt('webdav_additional_information'), $this->getInstallationDocsLink());
411  }
412 
413  public function getInstallationDocsLink()
414  {
415  return ilUtil::_getHttpPath() . self::INSTALL_README_PATH;
416  }
417 
421  public function setTitleAndDescription()
422  {
423  parent::setTitleAndDescription();
424  $this->tpl->setDescription($this->object->getDescription());
425  }
426 
427 
428  // DISK QUOTA --------------------------------------------------------------
429 
430 
434  public function addDiskQuotaSubtabs($a_active_subtab)
435  {
436  global $DIC;
437  $ilCtrl = $DIC['ilCtrl'];
438  $ilTabs = $DIC['ilTabs'];
439 
440  include_once("./Services/COPage/classes/class.ilPageEditorSettings.php");
441 
442  $ilTabs->addSubTabTarget("settings", $ilCtrl->getLinkTarget($this, "editDiskQuotaSettings"), array("editDiskQuotaSettings"));
443 
444  require_once 'Services/WebDAV/classes/class.ilDiskQuotaActivationChecker.php';
446  $ilTabs->addSubTabTarget("disk_quota_report", $ilCtrl->getLinkTarget($this, "viewDiskQuotaReport"), array("viewDiskQuotaReport"));
447  }
448 
449  $ilTabs->addSubTabTarget(
450  "disk_quota_reminder_mail",
451  $ilCtrl->getLinkTarget($this, "editDiskQuotaMailTemplate"),
452  array("editDiskQuotaMailTemplate")
453  );
454 
455  $ilTabs->setSubTabActive($a_active_subtab);
456  }
457 
458 
462  public function editDiskQuotaSettings()
463  {
464  global $DIC;
465  $rbacsystem = $DIC['rbacsystem'];
466  $ilErr = $DIC['ilErr'];
467  $ilSetting = $DIC['ilSetting'];
468  $tpl = $DIC['tpl'];
469  $lng = $DIC['lng'];
470  $ilCtrl = $DIC['ilCtrl'];
471 
472  if (!$rbacsystem->checkAccess("visible,read", $this->object->getRefId())) {
473  $ilErr->raiseError($lng->txt("no_permission"), $ilErr->WARNING);
474  }
475 
476  $this->tabs_gui->setTabActive('disk_quota');
477  $this->addDiskQuotaSubtabs('settings');
478 
479  require_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
480  require_once("./Services/Form/classes/class.ilCheckboxInputGUI.php");
481  require_once("./Services/Form/classes/class.ilRadioGroupInputGUI.php");
482  require_once("./Services/Form/classes/class.ilRadioOption.php");
483  require_once("./Services/Form/classes/class.ilTextAreaInputGUI.php");
484  require_once("./Services/WebDAV/classes/class.ilDAVServer.php");
485 
486  $lng->loadLanguageModule("file");
487 
488  $form = new ilPropertyFormGUI();
489  $form->setFormAction($ilCtrl->getFormAction($this));
490  $form->setTitle($lng->txt("settings"));
491 
492  include_once "Services/Administration/classes/class.ilAdministrationSettingsFormHandler.php";
494 
495  /*
496  // command buttons
497  $form->addCommandButton('saveDiskQuotaSettings', $lng->txt('save'));
498  $form->addCommandButton('editDiskQuotaSettings', $lng->txt('cancel'));
499  */
500 
501  $tpl->setContent($form->getHTML());
502  }
503 
504 
508  public function saveDiskQuotaSettings()
509  {
510  global $DIC;
511  $rbacsystem = $DIC['rbacsystem'];
512  $ilErr = $DIC['ilErr'];
513  $ilCtrl = $DIC['ilCtrl'];
514  $lng = $DIC['lng'];
515 
516  if (!$rbacsystem->checkAccess("write", $this->object->getRefId())) {
517  $ilErr->raiseError($lng->txt("no_permission"), $ilErr->WARNING);
518  }
519 
520  // ilUtil::sendInfo($lng->txt('settings_saved'),true);
521  $ilCtrl->redirect($this, "editDiskQuotaSettings");
522  }
523 
524 
529  public function viewDiskQuotaReport()
530  {
531  global $DIC;
532  $rbacsystem = $DIC['rbacsystem'];
533  $ilErr = $DIC['ilErr'];
534  $ilSetting = $DIC['ilSetting'];
535  $lng = $DIC['lng'];
536 
537  if (!$rbacsystem->checkAccess("visible,read", $this->object->getRefId())) {
538  $ilErr->raiseError($lng->txt("no_permission"), $ilErr->WARNING);
539  }
540 
541  $this->tabs_gui->setTabActive('disk_quota');
542  $this->addDiskQuotaSubtabs('disk_quota_report');
543 
544  // nothing to do if disk quota is not active
545  require_once 'Services/WebDAV/classes/class.ilDiskQuotaActivationChecker.php';
547  return;
548  }
549 
550  // get the form
551  $this->tpl->addBlockfile('ADM_CONTENT', 'adm_content', 'tpl.disk_quota_report.html', "Services/WebDAV");
552 
553  // get the date of the last update
554  require_once("./Services/WebDAV/classes/class.ilDiskQuotaChecker.php");
556  if ($last_update == null) {
557  // nothing to do if disk usage report has not been run
558  $this->tpl->setVariable('LAST_UPDATE_TEXT', $lng->txt('disk_quota_report_not_run_yet'));
559 
560  return;
561  } else {
562  $this->tpl->setVariable(
563  'LAST_UPDATE_TEXT',
564  $lng->txt('last_update') . ': ' . ilDatePresentation::formatDate(new ilDateTime($last_update, IL_CAL_DATETIME))
565  );
566  }
567 
568  // Filter
569  $_SESSION['quota_usage_filter'] = isset($_POST['usage_filter']) ? $_POST['usage_filter'] : $_SESSION['quota_usage_filter'];
570  if ($_SESSION['quota_usage_filter'] == 0) {
571  $_SESSION['quota_usage_filter'] = 4;
572  }
573  $_SESSION['quota_access_filter'] = isset($_POST['access_filter']) ? $_POST['access_filter'] : $_SESSION['quota_access_filter'];
574  if ($_SESSION['quota_access_filter'] == 0) {
575  $_SESSION['quota_access_filter'] = 1;
576  }
577  $usage_action[1] = $lng->txt('all_users');
578  $usage_action[2] = $lng->txt('filter_users_without_disk_usage');
579  $usage_action[3] = $lng->txt('filter_users_with_disk_usage');
580  $usage_action[4] = $lng->txt('filter_users_with_exceeded_disk_quota');
581  $access_action[1] = $lng->txt('all_users');
582  $access_action[2] = $lng->txt('filter_users_with_access');
583  $access_action[3] = $lng->txt('filter_users_without_access');
584 
585  $select_usage_filter = ilUtil::formSelect($_SESSION['quota_usage_filter'], "usage_filter", $usage_action, false, true);
586  $select_access_filter = ilUtil::formSelect($_SESSION['quota_access_filter'], "access_filter", $access_action, false, true);
587 
588  $this->tpl->setCurrentBlock("filter");
589  $this->tpl->setVariable("FILTER_TXT_FILTER", $lng->txt('filter'));
590  $this->tpl->setVariable("SELECT_USAGE_FILTER", $select_usage_filter);
591  $this->tpl->setVariable("SELECT_ACCESS_FILTER", $select_access_filter);
592  $this->tpl->setVariable("FILTER_ACTION", $this->ctrl->getLinkTarget($this, 'viewDiskQuotaReport'));
593  $this->tpl->setVariable("FILTER_NAME", 'view');
594  $this->tpl->setVariable("FILTER_VALUE", $lng->txt('apply_filter'));
595  $this->tpl->parseCurrentBlock();
596 
597  // load templates for table
598  $a_tpl = new ilTemplate('tpl.table.html', true, true);
599  $a_tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.obj_tbl_rows.html");
600 
601  // create table
602  require_once './Services/Table/classes/class.ilTableGUI.php';
603  $tbl = new ilTableGUI(0, false);
604  $tbl->setTitle('');
605 
606  // title & header columns
607  $header_vars = array('login', 'firstname', 'lastname', 'email', 'access_until', 'last_login', 'disk_quota', 'disk_usage', 'last_reminder');
608  $tbl->setHeaderNames(array(
609  $lng->txt('login'),
610  $lng->txt('firstname'),
611  $lng->txt('lastname'),
612  $lng->txt('email'),
613  $lng->txt('access_until'),
614  $lng->txt('last_login'),
615  $lng->txt('disk_quota'),
616  $lng->txt('disk_usage'),
617  $lng->txt('last_reminder'),
618  ));
619  $tbl->setHeaderVars($header_vars, $this->ctrl->getParameterArray($this, 'viewDiskQuotaReport', false));
620 
621  $tbl->enable("numinfo_header");
622  $tbl->setFormName("cmd");
623  $tbl->setSelectAllCheckbox("id");
624 
625  // sorting
626  $tbl->setOrderColumn($_GET["sort_by"]);
627  $tbl->setOrderDirection($_GET["sort_order"]);
628 
629  // fetch the data
631  $_SESSION['quota_usage_filter'],
632  $_SESSION['quota_access_filter'],
633  $header_vars[$tbl->getOrderColumn()],
634  $tbl->getOrderDirection()
635  );
636 
637  // paging
638  $tbl->setLimit($_GET["limit"]);
639  $tbl->setOffset($_GET["offset"]);
640  $tbl->setMaxCount(count($data));
641 
642  // footer
643  $tbl->setFooter("tblfooter", $lng->txt("previous"), $lng->txt("next"));
644 
645  // render table
646  $tbl->setTemplate($a_tpl);
647 
648  // render rows
649  $count = 0;
650  for ($i = $tbl->getOffset(); $i < count($data) && $i < $tbl->getOffset() + $tbl->getLimit(); $i++) {
651  $row = $data[$i];
652 
653  // build columns
654  foreach ($header_vars as $key) {
655  switch ($key) {
656  case 'login':
657  //build link
658  $this->ctrl->setParameterByClass("ilobjusergui", "ref_id", "7");
659  $this->ctrl->setParameterByClass("ilobjusergui", "obj_id", $row["usr_id"]);
660  $link = $this->ctrl->getLinkTargetByClass("ilobjusergui", "view");
661  $tbl_content_cell = '<a href="' . $link . '">' . htmlspecialchars($row[$key]) . '</a>';
662  break;
663  case 'disk_quota':
664  if ($row['role_id'] == SYSTEM_ROLE_ID) {
665  $tbl_content_cell = "<span class=\"smallgreen\">" . $lng->txt('access_unlimited') . '</span>';
666  } else {
667  $tbl_content_cell = ilUtil::formatSize($row[$key], 'short');
668  }
669  break;
670  case 'disk_usage':
671  if ($row['last_update'] == null) {
672  $tbl_content_cell = $lng->txt('unknown');
673  } else {
674  if ($row['disk_usage'] > $row['disk_quota']) {
675  $tbl_content_cell = "<span class=\"smallred\">" . ilUtil::formatSize($row[$key], 'short') . '</span>';
676  } else {
677  $tbl_content_cell = ilUtil::formatSize($row[$key], 'short');
678  }
679  }
680  break;
681  case 'access_until':
682  if (!$row['active']) {
683  $tbl_content_cell = "<span class=\"smallred\">" . $lng->txt('inactive') . '</span>';
684  } else {
685  if ($row['time_limit_unlimited']) {
686  $tbl_content_cell = "<span class=\"smallgreen\">" . $lng->txt('access_unlimited') . '</span>';
687  } else {
688  if ($row['expired']) {
689  $tbl_content_cell = "<span class=\"smallred\">" . $lng->txt('access_expired') . '</span>';
690  } else {
691  $tbl_content_cell = ilDatePresentation::formatDate(new ilDateTime($row[$key], IL_CAL_DATETIME));
692  }
693  }
694  }
695  break;
696  case 'last_login':
697  case 'last_reminder':
698  if ($row[$key] == null) {
699  $tbl_content_cell = $lng->txt('no_date');
700  } else {
701  $tbl_content_cell = ilDatePresentation::formatDate(new ilDateTime($row[$key], IL_CAL_DATETIME));
702  }
703  break;
704  default:
705  $tbl_content_cell = htmlspecialchars($row[$key]);
706  }
707 
708  $tbl->getTemplateObject()->setCurrentBlock("tbl_content_cell");
709  $tbl->getTemplateObject()->setVariable("TBL_CONTENT_CELL", $tbl_content_cell);
710 
711  $tbl->getTemplateObject()->parseCurrentBlock();
712  }
713 
714  $tbl->getTemplateObject()->setCurrentBlock("tbl_content_row");
715  $rowcolor = ilUtil::switchColor($count, "tblrow1", "tblrow2");
716  $tbl->getTemplateObject()->setVariable("ROWCOLOR", $rowcolor);
717  $tbl->getTemplateObject()->parseCurrentBlock();
718 
719  $count++;
720  }
721  $tbl->render();
722 
723  // Add table to page
724  $this->tpl->setVariable("USER_TABLE", $a_tpl->get());
725  }
726 
727 
728  protected function initDiskQuotaMailTemplateForm()
729  {
730  global $DIC;
731  $lng = $DIC['lng'];
732 
733  $lng->loadLanguageModule("meta");
734  $lng->loadLanguageModule("mail");
735 
736  include_once "Services/Form/classes/class.ilPropertyFormGUI.php";
737  $form = new ilPropertyFormGUI();
738  $form->setFormAction($this->ctrl->getFormAction($this));
739 
740  $form->setTitle($lng->txt("disk_quota_reminder_mail"));
741  $form->setDescription($lng->txt("disk_quota_reminder_mail_desc"));
742 
743  foreach ($lng->getInstalledLanguages() as $lang_key) {
744  $lang_def = ($lang_key == $lng->getDefaultLanguage()) ? " (" . $lng->txt("default") . ")" : "";
745 
746  $sec = new ilFormSectionHeaderGUI();
747  $sec->setTitle($lng->txt("meta_l_" . $lang_key) . $lang_def);
748  $form->addItem($sec);
749 
750  $subj = new ilTextInputGUI($lng->txt("subject"), "subject_" . $lang_key);
751  $subj->setRequired(true);
752  $form->addItem($subj);
753 
754  $sal_g = new ilTextInputGUI($lng->txt("mail_salutation_general"), "sal_g_" . $lang_key);
755  $sal_g->setRequired(true);
756  $form->addItem($sal_g);
757 
758  $sal_f = new ilTextInputGUI($lng->txt("mail_salutation_female"), "sal_f_" . $lang_key);
759  $sal_f->setRequired(true);
760  $form->addItem($sal_f);
761 
762  $sal_m = new ilTextInputGUI($lng->txt("mail_salutation_male"), "sal_m_" . $lang_key);
763  $sal_m->setRequired(true);
764  $form->addItem($sal_m);
765 
766  $body = new ilTextAreaInputGUI($lng->txt("message_content"), "body_" . $lang_key);
767  $body->setRequired(true);
768  $body->setRows(10);
769  $form->addItem($body);
770 
771  // current values
773  $subj->setValue($amail["subject"]);
774  $sal_g->setValue($amail["sal_g"]);
775  $sal_f->setValue($amail["sal_f"]);
776  $sal_m->setValue($amail["sal_m"]);
777  $body->setValue($amail["body"]);
778  }
779 
780  $form->addCommandButton("saveDiskQuotaMailTemplate", $lng->txt("save"));
781  $form->addCommandButton("editDiskQuotaSettings", $lng->txt("cancel"));
782 
783  return $form;
784  }
785 
786 
790  public function editDiskQuotaMailTemplate(ilPropertyFormGUI $a_form = null)
791  {
792  global $DIC;
793  $rbacsystem = $DIC['rbacsystem'];
794  $ilErr = $DIC['ilErr'];
795  $lng = $DIC['lng'];
796 
797  if (!$rbacsystem->checkAccess("visible,read", $this->object->getRefId())) {
798  $ilErr->raiseError($lng->txt("no_permission"), $ilErr->WARNING);
799  }
800 
801  $this->tabs_gui->setTabActive("disk_quota");
802  $this->addDiskQuotaSubtabs("disk_quota_reminder_mail");
803 
804  if (!$a_form) {
805  $a_form = $this->initDiskQuotaMailTemplateForm();
806  }
807 
808  $tpl = new ilTemplate("tpl.disk_quota_reminder_mail.html", true, true, "Services/WebDAV");
809  $tpl->setVariable("TXT_USE_PLACEHOLDERS", $lng->txt("mail_nacc_use_placeholder"));
810  $tpl->setVariable("TXT_MAIL_SALUTATION", $lng->txt("mail_nacc_salutation"));
811  $tpl->setVariable("TXT_FIRST_NAME", $lng->txt("firstname"));
812  $tpl->setVariable("TXT_LAST_NAME", $lng->txt("lastname"));
813  $tpl->setVariable("TXT_EMAIL", $lng->txt("email"));
814  $tpl->setVariable("TXT_LOGIN", $lng->txt("mail_nacc_login"));
815  $tpl->setVariable("TXT_DISK_QUOTA", $lng->txt("disk_quota"));
816  $tpl->setVariable("TXT_DISK_USAGE", $lng->txt("disk_usage"));
817  $tpl->setVariable("TXT_DISK_USAGE_DETAILS", $lng->txt("disk_usage_details"));
818  $tpl->setVariable("TXT_ADMIN_MAIL", $lng->txt("mail_nacc_admin_mail"));
819  $tpl->setVariable("TXT_ILIAS_URL", $lng->txt("mail_nacc_ilias_url"));
820  $tpl->setVariable("TXT_CLIENT_NAME", $lng->txt("mail_nacc_client_name"));
821 
822  include_once "Services/UIComponent/Panel/classes/class.ilPanelGUI.php";
824  $legend->setHeadingStyle(ilPanelGUI::HEADING_STYLE_BLOCK);
825  $legend->setHeading($lng->txt("mail_nacc_use_placeholder"));
826  $legend->setBody($tpl->get());
827 
828  $this->tpl->setContent($a_form->getHTML() . $legend->getHTML());
829  }
830 
831 
832  public function saveDiskQuotaMailTemplate()
833  {
834  global $DIC;
835  $lng = $DIC['lng'];
836 
838  if ($form->checkInput()) {
839  foreach ($lng->getInstalledLanguages() as $lang_key) {
840  $this->disk_quota_obj->_writeReminderMailTemplate(
841  $lang_key,
842  $form->getInput("subject_" . $lang_key),
843  $form->getInput("sal_g_" . $lang_key),
844  $form->getInput("sal_f_" . $lang_key),
845  $form->getInput("sal_m_" . $lang_key),
846  $form->getInput("body_" . $lang_key)
847  );
848  }
849 
850  ilUtil::sendSuccess($this->lng->txt("msg_obj_modified"), true);
851  $this->ctrl->redirect($this, "editDiskQuotaMailTemplate");
852  }
853 
854  $form->setValuesByPost();
856  }
857 
858 
862  private function initUploadSettingsForm()
863  {
864  global $DIC;
865  $ilCtrl = $DIC['ilCtrl'];
866  $lng = $DIC['lng'];
867 
868  require_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
869  $form = new ilPropertyFormGUI();
870  $form->setFormAction($ilCtrl->getFormAction($this));
871  $form->setTitle($lng->txt("settings"));
872 
873  require_once("Services/FileUpload/classes/class.ilFileUploadSettings.php");
874 
875  // drag and drop file upload
876  $chk_enabled = new ilCheckboxInputGUI($lng->txt("enable_dnd_upload"), "enable_dnd_upload");
877  $chk_enabled->setValue('1');
878  $chk_enabled->setChecked(ilFileUploadSettings::isDragAndDropUploadEnabled());
879  $chk_enabled->setInfo($lng->txt('enable_dnd_upload_info'));
880  $form->addItem($chk_enabled);
881 
882  // drag and drop file upload in repository
883  $chk_repo = new ilCheckboxInputGUI($lng->txt("enable_repository_dnd_upload"), "enable_repository_dnd_upload");
884  $chk_repo->setValue('1');
886  $chk_repo->setInfo($lng->txt('enable_repository_dnd_upload_info'));
887  $chk_enabled->addSubItem($chk_repo);
888 
889  // concurrent uploads
890  $num_prop = new ilNumberInputGUI($lng->txt("concurrent_uploads"), "concurrent_uploads");
891  $num_prop->setDecimals(0);
892  $num_prop->setMinValue(1);
893  $num_prop->setMinvalueShouldBeGreater(false);
894  $num_prop->setMaxValue(ilFileUploadSettings::CONCURRENT_UPLOADS_MAX);
895  $num_prop->setMaxvalueShouldBeLess(false);
896  $num_prop->setMaxLength(5);
897  $num_prop->setSize(10);
898  $num_prop->setValue(ilFileUploadSettings::getConcurrentUploads());
899  $num_prop->setInfo($lng->txt('concurrent_uploads_info'));
900  $chk_enabled->addSubItem($num_prop);
901 
902 
903  include_once("./Services/Utilities/classes/class.ilFileUtils.php");
904 
905  // default white list
906  $ne = new ilNonEditableValueGUI($this->lng->txt("file_suffix_default_white"), "");
908  $ne->setInfo($this->lng->txt("file_suffix_default_white_info"));
909  $form->addItem($ne);
910 
911  // file suffix custom black list
912  $ta = new ilTextAreaInputGUI($this->lng->txt("file_suffix_custom_black"), "suffix_repl_additional");
913  $ta->setInfo($this->lng->txt("file_suffix_custom_black_info"));
914  $ta->setRows(5);
915  $form->addItem($ta);
916 
917  // file suffix custom white list
918  $ta = new ilTextAreaInputGUI($this->lng->txt("file_suffix_custom_white"), "suffix_custom_white_list");
919  $ta->setInfo($this->lng->txt("file_suffix_custom_white_info"));
920  $ta->setRows(5);
921  $form->addItem($ta);
922 
923  // resulting overall white list
924  $ne = new ilNonEditableValueGUI($this->lng->txt("file_suffix_overall_white"), "");
925  $ne->setValue(implode(", ", ilFileUtils::getValidExtensions()));
926  $ne->setInfo($this->lng->txt("file_suffix_overall_white_info"));
927  $form->addItem($ne);
928 
929  // command buttons
930  $form->addCommandButton('saveUploadSettings', $lng->txt('save'));
931  $form->addCommandButton('view', $lng->txt('cancel'));
932 
933  return $form;
934  }
935 
936 
940  public function editUploadSettings()
941  {
942  global $DIC;
943  $rbacsystem = $DIC['rbacsystem'];
944  $ilErr = $DIC['ilErr'];
945  $tpl = $DIC['tpl'];
946  $lng = $DIC['lng'];
947  $ilSetting = $DIC['ilSetting'];
948 
949  $this->tabs_gui->setTabActive('upload_settings');
950 
951  if (!$rbacsystem->checkAccess("visible,read", $this->object->getRefId())) {
952  $ilErr->raiseError($lng->txt("no_permission"), $ilErr->WARNING);
953  }
954 
955  // get form
956  $form = $this->initUploadSettingsForm();
957 
958  require_once("Services/FileUpload/classes/class.ilFileUploadSettings.php");
959 
960  // set current values
961  $val = array();
962  $val["enable_dnd_upload"] = ilFileUploadSettings::isDragAndDropUploadEnabled();
963  $val["enable_repository_dnd_upload"] = ilFileUploadSettings::isRepositoryDragAndDropUploadEnabled();
964  $val["concurrent_uploads"] = ilFileUploadSettings::getConcurrentUploads();
965  $val["suffix_repl_additional"] = $ilSetting->get("suffix_repl_additional");
966  $val["suffix_custom_white_list"] = $ilSetting->get("suffix_custom_white_list");
967  $form->setValuesByArray($val);
968 
969  // set content
970  $tpl->setContent($form->getHTML());
971  }
972 
973 
977  public function saveUploadSettings()
978  {
979  global $DIC;
980  $rbacsystem = $DIC['rbacsystem'];
981  $ilErr = $DIC['ilErr'];
982  $ilCtrl = $DIC['ilCtrl'];
983  $lng = $DIC['lng'];
984  $tpl = $DIC['tpl'];
985  $ilSetting = $DIC['ilSetting'];
986 
987  if (!$rbacsystem->checkAccess("write", $this->object->getRefId())) {
988  $ilErr->raiseError($lng->txt("no_permission"), $ilErr->WARNING);
989  }
990 
991  // get form
992  $form = $this->initUploadSettingsForm();
993  if ($form->checkInput()) {
994  require_once("Services/FileUpload/classes/class.ilFileUploadSettings.php");
996  ilFileUploadSettings::setRepositoryDragAndDropUploadEnabled($_POST["enable_repository_dnd_upload"] == 1);
997  ilFileUploadSettings::setConcurrentUploads($_POST["concurrent_uploads"]);
998 
999  // file suffic replacements
1000  $ilSetting->set("suffix_repl_additional", $_POST["suffix_repl_additional"]);
1001  $ilSetting->set("suffix_custom_white_list", $_POST["suffix_custom_white_list"]);
1002 
1003  ilUtil::sendSuccess($lng->txt('settings_saved'), true);
1004  $ilCtrl->redirect($this, "editUploadSettings");
1005  } else {
1006  $form->setValuesByPost();
1007  $tpl->setContent($form->getHTML());
1008  }
1009  }
1010 
1011 
1015  private function initPreviewSettingsForm()
1016  {
1017  global $DIC;
1018  $ilCtrl = $DIC['ilCtrl'];
1019  $lng = $DIC['lng'];
1020 
1021  require_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
1022  $form = new ilPropertyFormGUI();
1023  $form->setFormAction($ilCtrl->getFormAction($this));
1024  $form->setTitle($lng->txt("settings"));
1025 
1026  require_once("Services/Preview/classes/class.ilPreviewSettings.php");
1027 
1028  // drag and drop file upload in repository
1029  $chk_prop = new ilCheckboxInputGUI($lng->txt("enable_preview"), "enable_preview");
1030  $chk_prop->setValue('1');
1031  $chk_prop->setChecked(ilPreviewSettings::isPreviewEnabled());
1032  $chk_prop->setInfo($lng->txt('enable_preview_info'));
1033  $form->addItem($chk_prop);
1034 
1035  $num_prop = new ilNumberInputGUI($lng->txt("max_previews_per_object"), "max_previews_per_object");
1036  $num_prop->setDecimals(0);
1037  $num_prop->setMinValue(1);
1038  $num_prop->setMinvalueShouldBeGreater(false);
1039  $num_prop->setMaxValue(ilPreviewSettings::MAX_PREVIEWS_MAX);
1040  $num_prop->setMaxvalueShouldBeLess(false);
1041  $num_prop->setMaxLength(5);
1042  $num_prop->setSize(10);
1043  $num_prop->setValue(ilPreviewSettings::getMaximumPreviews());
1044  $num_prop->setInfo($lng->txt('max_previews_per_object_info'));
1045  $form->addItem($num_prop);
1046 
1047  // command buttons
1048  $form->addCommandButton('savePreviewSettings', $lng->txt('save'));
1049  $form->addCommandButton('view', $lng->txt('cancel'));
1050 
1051  return $form;
1052  }
1053 
1054 
1058  public function editPreviewSettings()
1059  {
1060  global $DIC;
1061  $rbacsystem = $DIC['rbacsystem'];
1062  $ilErr = $DIC['ilErr'];
1063  $tpl = $DIC['tpl'];
1064  $lng = $DIC['lng'];
1065 
1066  $this->tabs_gui->setTabActive('preview_settings');
1067 
1068  if (!$rbacsystem->checkAccess("visible,read", $this->object->getRefId())) {
1069  $ilErr->raiseError($lng->txt("no_permission"), $ilErr->WARNING);
1070  }
1071 
1072  // set warning if ghostscript not installed
1073  include_once("./Services/Preview/classes/class.ilGhostscriptRenderer.php");
1075  ilUtil::sendInfo($lng->txt("ghostscript_not_configured"));
1076  }
1077 
1078  // get form
1079  $form = $this->initPreviewSettingsForm();
1080 
1081  // set current values
1082  require_once("Services/Preview/classes/class.ilPreviewSettings.php");
1083 
1084  $val = array();
1085  $val["enable_preview"] = ilPreviewSettings::isPreviewEnabled();
1086  $val["max_previews_per_object"] = ilPreviewSettings::getMaximumPreviews();
1087  $form->setValuesByArray($val);
1088 
1089  $html = $form->getHTML();
1090 
1091  // build renderer HTML
1092  require_once("Services/Preview/classes/class.ilRendererFactory.php");
1093  require_once("Services/Preview/classes/class.ilRendererTableGUI.php");
1094 
1095  $renderers = ilRendererFactory::getRenderers();
1096 
1097  $table = new ilRendererTableGUI($this, array("editPreviewSettings", "view"));
1098  $table->setMaxCount(sizeof($renderers));
1099  $table->setData($renderers);
1100 
1101  $html .= "<br/>" . $table->getHTML();
1102 
1103  // set content
1104  $tpl->setContent($html);
1105  }
1106 
1107 
1111  public function savePreviewSettings()
1112  {
1113  global $DIC;
1114  $rbacsystem = $DIC['rbacsystem'];
1115  $ilErr = $DIC['ilErr'];
1116  $ilCtrl = $DIC['ilCtrl'];
1117  $tpl = $DIC['tpl'];
1118  $lng = $DIC['lng'];
1119 
1120  $this->tabs_gui->setTabActive('preview_settings');
1121 
1122  if (!$rbacsystem->checkAccess("write", $this->object->getRefId())) {
1123  $ilErr->raiseError($lng->txt("no_permission"), $ilErr->WARNING);
1124  }
1125 
1126  // get form
1127  $form = $this->initPreviewSettingsForm();
1128  if ($form->checkInput()) {
1129  require_once("Services/Preview/classes/class.ilPreviewSettings.php");
1130  ilPreviewSettings::setPreviewEnabled($_POST["enable_preview"] == 1);
1131  ilPreviewSettings::setMaximumPreviews($_POST["max_previews_per_object"]);
1132 
1133  ilUtil::sendSuccess($lng->txt('settings_saved'), true);
1134  $ilCtrl->redirect($this, "editPreviewSettings");
1135  } else {
1136  $form->setValuesByPost();
1137  $tpl->setContent($form->getHTML());
1138  }
1139  }
1140 
1141 
1142  public function addToExternalSettingsForm($a_form_id)
1143  {
1144  global $DIC;
1145  $ilSetting = $DIC['ilSetting'];
1146 
1147  switch ($a_form_id) {
1149 
1150  $fields = array('file_suffix_repl' => $ilSetting->get("suffix_repl_additional"));
1151 
1152  return array(array("editUploadSettings", $fields));
1153  }
1154  }
1155 }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
This class represents an option in a radio group.
static getRenderers()
Gets an array containing all available preview renderers.
static setDragAndDropUploadEnabled($newValue)
Sets whether drag and drop file upload is enabled.
static setMaximumPreviews($a_value)
Sets the maximum number of preview pictures per object.
static setRepositoryDragAndDropUploadEnabled($newValue)
Sets whether drag and drop file upload in the repository is enabled.
const IL_CAL_DATETIME
editDiskQuotaMailTemplate(ilPropertyFormGUI $a_form=null)
Edit disk quota settings.
$_SESSION["AccountId"]
This class represents a property form user interface.
Displays an overview of all loaded preview renderers.
global $DIC
Definition: saml.php:7
$_GET["client_id"]
$tbl
Definition: example_048.php:81
static isGhostscriptInstalled()
Determines whether Ghostscript is installed.
This class represents a section header in a property form.
static getConcurrentUploads()
Gets the number of files that can be uploaded at the same time.
static _lookupReminderMailTemplate($a_lang)
Looks up the mail template for the specified language.
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false)
Format a date public.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
setValue($a_value)
Set Value.
This class represents a checkbox property in a property form.
saveDiskQuotaSettings()
Save disk quota settings.
Class ilTableGUI.
static setConcurrentUploads($newValue)
Sets the number of files that can be uploaded at the same time.
static addFieldsToForm($a_form_id, ilPropertyFormGUI $a_form, ilObjectGUI $a_parent_gui)
global $ilCtrl
Definition: ilias.php:18
setInfo($a_info)
Set Information Text.
setDecimals($a_decimals)
Set Decimal Places.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
initPreviewSettingsForm()
Initializes the preview settings form.
static isRepositoryDragAndDropUploadEnabled()
Gets whether drag and drop file upload in the repository is enabled.
static _lookupDiskUsageReportLastUpdate()
Returns the SQL datetime of the last update of the disk usage report.
static getDefaultValidExtensionWhiteList()
Valid extensions.
prepareOutput($a_show_subobjects=true)
prepare output
This class represents a property in a property form.
addOption($a_option)
Add Option.
if(isset($_POST['submit'])) $form
viewDiskQuotaReport()
The disk quota report list shows user accounts, their disk quota and their disk usage, as well as the last time a reminder was sent.
This class represents a number property in a property form.
editDownloadingSettings(ilPropertyFormGUI $a_form=null)
Edit settings.
Class ilObjectGUI Basic methods of all Output classes.
setValue($a_value)
Set Value.
special template class to simplify handling of ITX/PEAR
This class represents a text property in a property form.
Date and time handling
editDiskQuotaSettings()
Edit disk quota settings.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static getValidExtensions()
Valid extensions.
static getInstance()
Get singelton instance.
static getMaximumPreviews()
Gets the maximum number of preview pictures per object.
static isPreviewEnabled()
Gets whether the preview functionality is enabled.
Create styles array
The data for the language used.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static setPreviewEnabled($a_value)
Sets whether the preview functionality is enabled.
initUploadSettingsForm()
Initializes the upload settings form.
static getInstance()
Get instance.
static _getHttpPath()
static formSelect( $selected, $varname, $options, $multiple=false, $direct_text=false, $size="0", $style_class="", $attribs="", $disabled=false)
Builds a select form field with options and shows the selected option first.
This class represents a non editable value in a property form.
Create new PHPExcel object
obj_idprivate
global $ilSetting
Definition: privfeed.php:17
This class represents a text area property in a property form.
static switchColor($a_num, $a_css1, $a_css2)
switches style sheets for each even $a_num (used for changing colors of different result rows) ...
$ret
Definition: parser.php:6
$i
Definition: disco.tpl.php:19
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
static formatSize($size, $a_mode='short', $a_lng=null)
Returns the specified file size value in a human friendly form.
if(empty($password)) $table
Definition: pwgen.php:24
__construct($a_data, $a_id, $a_call_by_reference)
Constructor.
const HEADING_STYLE_BLOCK
File manager settings.
setTitleAndDescription()
called by prepare output
$key
Definition: croninfo.php:18
addDiskQuotaSubtabs($a_active_subtab)
Add disk quota subtabs.
$_POST["username"]
$html
Definition: example_001.php:87
setRequired($a_required)
Set Required.
static isDragAndDropUploadEnabled()
Gets whether drag and drop file upload is enabled.
static _fetchDiskQuotaReport($a_usage_filter=3, $a_access_filter=1, $a_order_column='disk_usage', $a_order_by='desc')
Reads disk quota/disk usage report of the user accounts.