/**
  * 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));
 }
Ejemplo n.º 3
0
 /**
  * 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;
 }