]> git.mxchange.org Git - friendica.git/blobdiff - src/Module/BaseApi.php
Fix user-contact rows not being updated in Contact\User::updateByContactUpdate
[friendica.git] / src / Module / BaseApi.php
index a0a94c336f0cf8e9b83bc848f0cdc2b0ec83acf8..9732fdfcd3d2aa9353dcf2952cea70ba0eac92fb 100644 (file)
@@ -25,16 +25,14 @@ use Friendica\BaseModule;
 use Friendica\Core\Logger;
 use Friendica\Core\System;
 use Friendica\DI;
+use Friendica\Model\Contact;
 use Friendica\Model\Post;
+use Friendica\Model\User;
 use Friendica\Network\HTTPException;
 use Friendica\Security\BasicAuth;
 use Friendica\Security\OAuth;
-use Friendica\Util\Arrays;
 use Friendica\Util\DateTimeFormat;
 use Friendica\Util\HTTPInputData;
-use Friendica\Util\XML;
-
-require_once __DIR__ . '/../../include/api.php';
 
 class BaseApi extends BaseModule
 {
@@ -53,7 +51,7 @@ class BaseApi extends BaseModule
         */
        protected static $request = [];
 
-       public static function delete(array $parameters = [])
+       public function delete()
        {
                self::checkAllowedScope(self::SCOPE_WRITE);
 
@@ -62,7 +60,7 @@ class BaseApi extends BaseModule
                }
        }
 
-       public static function patch(array $parameters = [])
+       public function patch()
        {
                self::checkAllowedScope(self::SCOPE_WRITE);
 
@@ -71,7 +69,7 @@ class BaseApi extends BaseModule
                }
        }
 
-       public static function post(array $parameters = [])
+       public function post()
        {
                self::checkAllowedScope(self::SCOPE_WRITE);
 
@@ -80,7 +78,7 @@ class BaseApi extends BaseModule
                }
        }
 
-       public static function put(array $parameters = [])
+       public function put()
        {
                self::checkAllowedScope(self::SCOPE_WRITE);
 
@@ -139,7 +137,6 @@ class BaseApi extends BaseModule
         * Set boundaries for the "link" header
         * @param array $boundaries
         * @param int $id
-        * @return array
         */
        protected static function setBoundaries(int $id)
        {
@@ -296,18 +293,25 @@ class BaseApi extends BaseModule
                }
        }
 
-       /**
-        * Get user info array.
-        *
-        * @param int|string $contact_id Contact ID or URL
-        * @return array|bool
-        * @throws HTTPException\BadRequestException
-        * @throws HTTPException\InternalServerErrorException
-        * @throws HTTPException\UnauthorizedException
-        * @throws \ImagickException
-        */
-       protected static function getUser($contact_id = null)
+       public static function getContactIDForSearchterm(string $screen_name = null, int $cid = null, int $uid)
        {
-               return api_get_user($contact_id);
+               if (!empty($cid)) {
+                       return $cid;
+               }
+
+               if (strpos($screen_name, '@') !== false) {
+                       $cid = Contact::getIdForURL($screen_name, 0, false);
+               } else {
+                       $user = User::getByNickname($screen_name, ['uid']);
+                       if (!empty($user['uid'])) {
+                               $cid = Contact::getPublicIdByUserId($user['uid']);
+                       }
+               }
+
+               if (empty($cid) && ($uid != 0)) {
+                       $cid = Contact::getPublicIdByUserId($uid);
+               }
+
+               return $cid;
        }
 }