]> 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 b90db36dcfe53b5b17db5a9d5faf0015f581ff1a..9732fdfcd3d2aa9353dcf2952cea70ba0eac92fb 100644 (file)
@@ -25,7 +25,9 @@ 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;
@@ -49,7 +51,7 @@ class BaseApi extends BaseModule
         */
        protected static $request = [];
 
-       public static function delete(array $parameters = [])
+       public function delete()
        {
                self::checkAllowedScope(self::SCOPE_WRITE);
 
@@ -58,7 +60,7 @@ class BaseApi extends BaseModule
                }
        }
 
-       public static function patch(array $parameters = [])
+       public function patch()
        {
                self::checkAllowedScope(self::SCOPE_WRITE);
 
@@ -67,7 +69,7 @@ class BaseApi extends BaseModule
                }
        }
 
-       public static function post(array $parameters = [])
+       public function post()
        {
                self::checkAllowedScope(self::SCOPE_WRITE);
 
@@ -76,7 +78,7 @@ class BaseApi extends BaseModule
                }
        }
 
-       public static function put(array $parameters = [])
+       public function put()
        {
                self::checkAllowedScope(self::SCOPE_WRITE);
 
@@ -135,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)
        {
@@ -291,4 +292,26 @@ class BaseApi extends BaseModule
                        }
                }
        }
+
+       public static function getContactIDForSearchterm(string $screen_name = null, int $cid = null, int $uid)
+       {
+               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;
+       }
 }