]> git.mxchange.org Git - friendica.git/blobdiff - src/Util/ExAuth.php
Move Config::get() to DI::config()->get()
[friendica.git] / src / Util / ExAuth.php
index 28157c23ef7285bc3443c1f0abbb2ed4765ec225..7d118d26ca21c66636acb26e069a57caf54f5b83 100644 (file)
@@ -35,8 +35,8 @@
 namespace Friendica\Util;
 
 use Friendica\Core\Config;
-use Friendica\Core\PConfig;
 use Friendica\Database\DBA;
+use Friendica\DI;
 use Friendica\Model\User;
 
 class ExAuth
@@ -45,13 +45,12 @@ class ExAuth
        private $host;
 
        /**
-        * @brief Create the class
+        * Create the class
         *
-        * @param boolean $bDebug Debug mode
         */
        public function __construct()
        {
-               $this->bDebug = (int) Config::get('jabber', 'debug');
+               $this->bDebug = (int) DI::config()->get('jabber', 'debug');
 
                openlog('auth_ejabberd', LOG_PID, LOG_USER);
 
@@ -59,10 +58,11 @@ class ExAuth
        }
 
        /**
-        * @brief Standard input reading function, executes the auth with the provided
+        * Standard input reading function, executes the auth with the provided
         * parameters
         *
         * @return null
+        * @throws \Friendica\Network\HTTPException\InternalServerErrorException
         */
        public function readStdin()
        {
@@ -116,14 +116,13 @@ class ExAuth
        }
 
        /**
-        * @brief Check if the given username exists
+        * Check if the given username exists
         *
         * @param array $aCommand The command array
+        * @throws \Friendica\Network\HTTPException\InternalServerErrorException
         */
        private function isUser(array $aCommand)
        {
-               $a = \get_app();
-
                // Check if there is a username
                if (!isset($aCommand[1])) {
                        $this->writeLog(LOG_NOTICE, 'invalid isuser command, no username given');
@@ -139,7 +138,7 @@ class ExAuth
                $sUser = str_replace(['%20', '(a)'], [' ', '@'], $aCommand[1]);
 
                // Does the hostname match? So we try directly
-               if ($a->getHostName() == $aCommand[2]) {
+               if (DI::baseUrl()->getHostname() == $aCommand[2]) {
                        $this->writeLog(LOG_INFO, 'internal user check for ' . $sUser . '@' . $aCommand[2]);
                        $found = DBA::exists('user', ['nickname' => $sUser]);
                } else {
@@ -163,13 +162,14 @@ class ExAuth
        }
 
        /**
-        * @brief Check remote user existance via HTTP(S)
+        * Check remote user existance via HTTP(S)
         *
-        * @param string $host The hostname
-        * @param string $user Username
-        * @param boolean $ssl Should the check be done via SSL?
+        * @param string  $host The hostname
+        * @param string  $user Username
+        * @param boolean $ssl  Should the check be done via SSL?
         *
         * @return boolean Was the user found?
+        * @throws \Friendica\Network\HTTPException\InternalServerErrorException
         */
        private function checkUser($host, $user, $ssl)
        {
@@ -196,14 +196,13 @@ class ExAuth
        }
 
        /**
-        * @brief Authenticate the given user and password
+        * Authenticate the given user and password
         *
         * @param array $aCommand The command array
+        * @throws \Friendica\Network\HTTPException\InternalServerErrorException
         */
        private function auth(array $aCommand)
        {
-               $a = \get_app();
-
                // check user authentication
                if (sizeof($aCommand) != 4) {
                        $this->writeLog(LOG_NOTICE, 'invalid auth command, data missing');
@@ -219,13 +218,13 @@ class ExAuth
                $sUser = str_replace(['%20', '(a)'], [' ', '@'], $aCommand[1]);
 
                // Does the hostname match? So we try directly
-               if ($a->getHostName() == $aCommand[2]) {
+               if (DI::baseUrl()->getHostname() == $aCommand[2]) {
                        $this->writeLog(LOG_INFO, 'internal auth for ' . $sUser . '@' . $aCommand[2]);
 
                        $aUser = DBA::selectFirst('user', ['uid', 'password', 'legacy_password'], ['nickname' => $sUser]);
                        if (DBA::isResult($aUser)) {
                                $uid = $aUser['uid'];
-                               $success = User::authenticate($aUser, $aCommand[3]);
+                               $success = User::authenticate($aUser, $aCommand[3], true);
                                $Error = $success === false;
                        } else {
                                $this->writeLog(LOG_WARNING, 'user not found: ' . $sUser);
@@ -234,7 +233,7 @@ class ExAuth
                        }
                        if ($Error) {
                                $this->writeLog(LOG_INFO, 'check against alternate password for ' . $sUser . '@' . $aCommand[2]);
-                               $sPassword = PConfig::get($uid, 'xmpp', 'password', null, true);
+                               $sPassword = DI::pConfig()->get($uid, 'xmpp', 'password', null, true);
                                $Error = ($aCommand[3] != $sPassword);
                        }
                } else {
@@ -256,7 +255,7 @@ class ExAuth
        }
 
        /**
-        * @brief Check remote credentials via HTTP(S)
+        * Check remote credentials via HTTP(S)
         *
         * @param string $host The hostname
         * @param string $user Username
@@ -291,9 +290,10 @@ class ExAuth
        }
 
        /**
-        * @brief Set the hostname for this process
+        * Set the hostname for this process
         *
         * @param string $host The hostname
+        * @throws \Friendica\Network\HTTPException\InternalServerErrorException
         */
        private function setHost($host)
        {
@@ -305,7 +305,7 @@ class ExAuth
 
                $this->host = $host;
 
-               $lockpath = Config::get('jabber', 'lockpath');
+               $lockpath = DI::config()->get('jabber', 'lockpath');
                if (is_null($lockpath)) {
                        $this->writeLog(LOG_INFO, 'No lockpath defined.');
                        return;
@@ -329,7 +329,7 @@ class ExAuth
        }
 
        /**
-        * @brief write data to the syslog
+        * write data to the syslog
         *
         * @param integer $loglevel The syslog loglevel
         * @param string $sMessage The syslog message
@@ -343,7 +343,7 @@ class ExAuth
        }
 
        /**
-        * @brief destroy the class, close the syslog connection.
+        * destroy the class, close the syslog connection.
         */
        public function __destruct()
        {