/** * Creates (or reuses) a password assistance session, and sends a password * assistance mail to the specified user. * Note: To prevent DOS attacks, a new session is created only, if no session * exists, or if the existing session has been expired. * The password assistance mail contains an URL, which points to this script * and contains the following URL parameters: * client_id * key * @param $email * @param $logins */ public function sendUsernameAssistanceMail($email, array $logins) { require_once 'Services/Mail/classes/class.ilMailbox.php'; require_once 'Services/Mail/classes/class.ilMimeMail.php'; require_once 'include/inc.pwassist_session_handler.php'; $protocol = $this->https->isDetected() ? 'https://' : 'http://'; $server_url = $protocol . $_SERVER['HTTP_HOST'] . substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/')) . '/'; $login_url = $server_url . 'pwassist.php' . '?client_id=' . $this->ilias->getClientId() . '&lang=' . $this->lng->getLangKey(); $contact_address = $this->settings->get('admin_email'); $mm = new ilMimeMail(); $mm->Subject($this->lng->txt('pwassist_mail_subject')); $mm->From($contact_address); $mm->To($email); $mm->Body(str_replace(array("\\n", "\\t"), array("\n", "\t"), sprintf($this->lng->txt('pwassist_username_mail_body'), join($logins, ",\n"), $server_url, $_SERVER['REMOTE_ADDR'], $email, 'mailto:' . $contact_address, $login_url))); $mm->Send(); }
/** * builds http path */ protected static function buildHTTPPath() { include_once './Services/Http/classes/class.ilHTTPS.php'; $https = new ilHTTPS(); if ($https->isDetected()) { $protocol = 'https://'; } else { // START PATCH CPKN HTTPS $protocol = 'https://'; //$protocol = 'http://'; // END PATCH CPKN HTTPS } $host = $_SERVER['HTTP_HOST']; $rq_uri = $_SERVER['REQUEST_URI']; // security fix: this failed, if the URI contained "?" and following "/" // -> we remove everything after "?" if (is_int($pos = strpos($rq_uri, "?"))) { $rq_uri = substr($rq_uri, 0, $pos); } if (!defined('ILIAS_MODULE')) { $path = pathinfo($rq_uri); if (!$path['extension']) { $uri = $rq_uri; } else { $uri = dirname($rq_uri); } } else { // if in module remove module name from HTTP_PATH $path = dirname($rq_uri); // dirname cuts the last directory from a directory path e.g content/classes return content $module = ilUtil::removeTrailingPathSeparators(ILIAS_MODULE); $dirs = explode('/', $module); $uri = $path; foreach ($dirs as $dir) { $uri = dirname($uri); } } return define('ILIAS_HTTP_PATH', ilUtil::removeTrailingPathSeparators($protocol . $host . $uri)); }
/** * Returns true, if the WebDAV server transfers data over HTTPS. * * @return boolean Returns true if HTTPS is active. */ public function isWebDAVoverHTTPS() { if ($this->isHTTPS == null) { global $ilSetting; require_once './Services/Http/classes/class.ilHTTPS.php'; $https = new ilHTTPS(); $this->isHTTPS = $https->isDetected() || $ilSetting->get('https'); } return $this->isHTTPS; }