| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 | <?phpfunction quota_notification($_action, $_data = null) {	global $redis;	$_data_log = $_data;  if ($_SESSION['mailcow_cc_role'] != "admin") {    $_SESSION['return'][] = array(      'type' => 'danger',      'log' => array(__FUNCTION__, $_action, $_data_log),      'msg' => 'access_denied'    );    return false;  }  switch ($_action) {    case 'edit':      $retention_size = $_data['retention_size'];      if ($_data['release_format'] == 'attachment' || $_data['release_format'] == 'raw') {        $release_format = $_data['release_format'];      }      else {        $release_format = 'raw';      }      $subject = $_data['subject'];      $sender = preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $_data['sender']);      if (filter_var($sender, FILTER_VALIDATE_EMAIL) === false) {        $sender = '';      }      $html = $_data['html_tmpl'];      try {        $redis->Set('QW_SENDER', $sender);        $redis->Set('QW_SUBJ', $subject);        $redis->Set('QW_HTML', $html);      }      catch (RedisException $e) {        $_SESSION['return'][] = array(          'type' => 'danger',          'log' => array(__FUNCTION__, $_action, $_data_log),          'msg' => array('redis_error', $e)        );        return false;      }      $_SESSION['return'][] = array(        'type' => 'success',        'log' => array(__FUNCTION__, $_action, $_data_log),        'msg' => 'saved_settings'      );    break;    case 'get':      try {        $settings['subject'] = $redis->Get('QW_SUBJ');        $settings['sender'] = $redis->Get('QW_SENDER');        $settings['html_tmpl'] = htmlspecialchars($redis->Get('QW_HTML'));        if (empty($settings['html_tmpl'])) {          $settings['html_tmpl'] = htmlspecialchars(file_get_contents("/tpls/quota.tpl"));        }      }      catch (RedisException $e) {        $_SESSION['return'][] = array(          'type' => 'danger',          'log' => array(__FUNCTION__, $_action, $_data_log),          'msg' => array('redis_error', $e)        );        return false;      }      return $settings;    break;  }}
 |