]> git.mxchange.org Git - friendica.git/blobdiff - src/Util/ExAuth.php
Merge pull request #7366 from guzzisti/install-md-wrapup
[friendica.git] / src / Util / ExAuth.php
index 6a8df2eb4f510a4877e307caadff8bf824bd0550..d341682e806d04419743f9d5f698b87d375f395e 100644 (file)
@@ -39,8 +39,6 @@ use Friendica\Core\PConfig;
 use Friendica\Database\DBA;
 use Friendica\Model\User;
 
-require_once 'include/dba.php';
-
 class ExAuth
 {
        private $bDebug;
@@ -49,7 +47,6 @@ class ExAuth
        /**
         * @brief Create the class
         *
-        * @param boolean $bDebug Debug mode
         */
        public function __construct()
        {
@@ -65,6 +62,7 @@ class ExAuth
         * parameters
         *
         * @return null
+        * @throws \Friendica\Network\HTTPException\InternalServerErrorException
         */
        public function readStdin()
        {
@@ -121,10 +119,11 @@ class ExAuth
         * @brief 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();
+               $a = \get_app();
 
                // Check if there is a username
                if (!isset($aCommand[1])) {
@@ -141,7 +140,7 @@ class ExAuth
                $sUser = str_replace(['%20', '(a)'], [' ', '@'], $aCommand[1]);
 
                // Does the hostname match? So we try directly
-               if ($a->get_hostname() == $aCommand[2]) {
+               if ($a->getHostName() == $aCommand[2]) {
                        $this->writeLog(LOG_INFO, 'internal user check for ' . $sUser . '@' . $aCommand[2]);
                        $found = DBA::exists('user', ['nickname' => $sUser]);
                } else {
@@ -167,11 +166,12 @@ class ExAuth
        /**
         * @brief 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)
        {
@@ -179,17 +179,17 @@ class ExAuth
 
                $url = ($ssl ? 'https' : 'http') . '://' . $host . '/noscrape/' . $user;
 
-               $data = Network::curl($url);
+               $curlResult = Network::curl($url);
 
-               if (!is_array($data)) {
+               if (!$curlResult->isSuccess()) {
                        return false;
                }
 
-               if ($data['return_code'] != '200') {
+               if ($curlResult->getReturnCode() != 200) {
                        return false;
                }
 
-               $json = @json_decode($data['body']);
+               $json = @json_decode($curlResult->getBody());
                if (!is_object($json)) {
                        return false;
                }
@@ -201,10 +201,11 @@ class ExAuth
         * @brief 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();
+               $a = \get_app();
 
                // check user authentication
                if (sizeof($aCommand) != 4) {
@@ -221,11 +222,11 @@ class ExAuth
                $sUser = str_replace(['%20', '(a)'], [' ', '@'], $aCommand[1]);
 
                // Does the hostname match? So we try directly
-               if ($a->get_hostname() == $aCommand[2]) {
+               if ($a->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::is_result($aUser)) {
+                       if (DBA::isResult($aUser)) {
                                $uid = $aUser['uid'];
                                $success = User::authenticate($aUser, $aCommand[3]);
                                $Error = $success === false;
@@ -296,6 +297,7 @@ class ExAuth
         * @brief Set the hostname for this process
         *
         * @param string $host The hostname
+        * @throws \Friendica\Network\HTTPException\InternalServerErrorException
         */
        private function setHost($host)
        {