X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModel%2FPost%2FUser.php;h=dc53b726e23b98323e3e0645c5e74aea84080fa1;hb=dd8909ad95f56bf90298265d5900ad34695df14c;hp=840d020d6eeb42c31a817c817a4a5fedd4525ea9;hpb=3fe7d035d4a907b175e1cbb31cd34d6e58cfe8ae;p=friendica.git diff --git a/src/Model/Post/User.php b/src/Model/Post/User.php index 840d020d6e..dc53b726e2 100644 --- a/src/Model/Post/User.php +++ b/src/Model/Post/User.php @@ -23,18 +23,18 @@ namespace Friendica\Model\Post; use Friendica\Database\DBA; use \BadMethodCallException; -use Friendica\Core\Logger; +use Friendica\Database\Database; 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); + 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); } }