]> git.mxchange.org Git - friendica.git/blobdiff - src/Model/Post/User.php
Merge pull request #9913 from VVelox/develop
[friendica.git] / src / Model / Post / User.php
index c3ca5de1d007e65d6eae5f878414ca6a9ad4f762..dc53b726e23b98323e3e0645c5e74aea84080fa1 100644 (file)
@@ -29,12 +29,12 @@ use Friendica\Database\DBStructure;
 class User
 {
        /**
-        * Insert a new URI user entry
+        * Insert a new post user entry
         *
         * @param integer $uri_id
         * @param integer $uid
         * @param array   $fields
-        * @return bool
+        * @return int    ID of inserted post-user
         * @throws \Exception
         */
        public static function insert(int $uri_id, int $uid, array $data = [])
@@ -58,19 +58,24 @@ class User
                        $fields['unseen'] = false;
                }
 
-               return DBA::insert('post-user', $fields, Database::INSERT_IGNORE);
+               if (!DBA::insert('post-user', $fields, Database::INSERT_IGNORE)) {
+                       return 0;
+               }
+
+               return DBA::lastInsertId();
        }
 
        /**
-        * Update a URI user entry
+        * Update a post user entry
         *
         * @param integer $uri_id
         * @param integer $uid
-        * @param array   $fields
+        * @param array   $data
+        * @param bool    $insert_if_missing
         * @return bool
         * @throws \Exception
         */
-       public static function update(int $uri_id, int $uid, array $data = [])
+       public static function update(int $uri_id, int $uid, array $data = [], bool $insert_if_missing = false)
        {
                if (empty($uri_id)) {
                        throw new BadMethodCallException('Empty URI_id');
@@ -86,6 +91,22 @@ class User
                        return true;
                }
 
-               return DBA::update('post-user', $fields, ['uri-id' => $uri_id, 'uid' => $uid], true);
+               return DBA::update('post-user', $fields, ['uri-id' => $uri_id, 'uid' => $uid], $insert_if_missing ? true : []);
+       }
+
+       /**
+        * Delete a row from the post-user table
+        *
+        * @param array        $conditions Field condition(s)
+        * @param array        $options
+        *                           - cascade: If true we delete records in other tables that depend on the one we're deleting through
+        *                           relations (default: true)
+        *
+        * @return boolean was the delete successful?
+        * @throws \Exception
+        */
+       public static function delete(array $conditions, array $options = [])
+       {
+               return DBA::delete('post-user', $conditions, $options);
        }
 }