X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModel%2FPost.php;h=7b77276de83c38528a410958174d5f2a6da6915a;hb=2e05dac7dae0a3d028b442a2d5afbd4176a32e99;hp=d56674c3e09ddc4388856883012245163e67929b;hpb=054c301ef0345c4ff9f35cfd08717757eab17b9d;p=friendica.git diff --git a/src/Model/Post.php b/src/Model/Post.php index d56674c3e0..7b77276de8 100644 --- a/src/Model/Post.php +++ b/src/Model/Post.php @@ -124,7 +124,7 @@ class Post } /** - * Check if post data exists + * Check if post-user-view records exists * * @param array $condition array of fields for condition * @@ -136,7 +136,7 @@ class Post } /** - * Counts the posts satisfying the provided condition + * Counts the post-user-view records satisfying the provided condition * * @param array $condition array of fields for condition * @param array $params Array of several parameters @@ -157,11 +157,54 @@ class Post } /** - * Retrieve a single record from the post table and returns it in an associative array + * Counts the post-thread-user-view records satisfying the provided condition + * + * @param array $condition array of fields for condition + * @param array $params Array of several parameters + * + * @return int + * + * Example: + * $condition = ["uid" => 1, "network" => 'dspr']; + * or: + * $condition = ["`uid` = ? AND `network` IN (?, ?)", 1, 'dfrn', 'dspr']; + * + * $count = Post::count($condition); + * @throws \Exception + */ + public static function countThread(array $condition = [], array $params = []) + { + return DBA::count('post-thread-user-view', $condition, $params); + } + + /** + * Counts the post-view records satisfying the provided condition + * + * @param array $condition array of fields for condition + * @param array $params Array of several parameters + * + * @return int + * + * Example: + * $condition = ["network" => 'dspr']; + * or: + * $condition = ["`network` IN (?, ?)", 1, 'dfrn', 'dspr']; + * + * $count = Post::count($condition); + * @throws \Exception + */ + public static function countPosts(array $condition = [], array $params = []) + { + return DBA::count('post-view', $condition, $params); + } + + /** + * Retrieve a single record from the post-user-view view and returns it in an associative array * * @param array $fields * @param array $condition * @param array $params + * @param bool $user_mode true = post-user-view, false = post-view * @return bool|array * @throws \Exception * @see DBA::select @@ -182,7 +225,32 @@ class Post } /** - * Retrieve a single record from the post-thread table and returns it in an associative array + * Retrieve a single record from the post-view view and returns it in an associative array + * + * @param array $fields + * @param array $condition + * @param array $params + * @return bool|array + * @throws \Exception + * @see DBA::select + */ + public static function selectFirstPost(array $fields = [], array $condition = [], $params = []) + { + $params['limit'] = 1; + + $result = self::selectPosts($fields, $condition, $params); + + if (is_bool($result)) { + return $result; + } else { + $row = self::fetch($result); + DBA::close($result); + return $row; + } + } + + /** + * Retrieve a single record from the post-thread-user-view view and returns it in an associative array * * @param array $fields * @param array $condition @@ -207,7 +275,7 @@ class Post } /** - * Select rows from the post table and returns them as an array + * Select rows from the post-user-view view and returns them as an array * * @param array $selected Array of selected fields, empty for all * @param array $condition Array of fields for condition @@ -260,7 +328,7 @@ class Post } /** - * Select rows from the post table + * Select rows from the post-user-view view * * @param array $selected Array of selected fields, empty for all * @param array $condition Array of fields for condition @@ -275,7 +343,22 @@ class Post } /** - * Select rows from the post table + * Select rows from the post-view view + * + * @param array $selected Array of selected fields, empty for all + * @param array $condition Array of fields for condition + * @param array $params Array of several parameters + * + * @return boolean|object + * @throws \Exception + */ + public static function selectPosts(array $selected = [], array $condition = [], $params = []) + { + return self::selectView('post-view', $selected, $condition, $params); + } + + /** + * Select rows from the post-thread-user-view view * * @param array $selected Array of selected fields, empty for all * @param array $condition Array of fields for condition @@ -332,7 +415,7 @@ class Post } /** - * Select rows from the post view for a given user + * Select rows from the post-user-view view for a given user * * @param integer $uid User ID * @param array $selected Array of selected fields, empty for all @@ -347,8 +430,24 @@ class Post return self::selectViewForUser('post-user-view', $uid, $selected, $condition, $params); } - /** - * Select rows from the post view for a given user + /** + * Select rows from the post-view view for a given user + * + * @param integer $uid User ID + * @param array $selected Array of selected fields, empty for all + * @param array $condition Array of fields for condition + * @param array $params Array of several parameters + * + * @return boolean|object + * @throws \Exception + */ + public static function selectPostsForUser($uid, array $selected = [], array $condition = [], $params = []) + { + return self::selectViewForUser('post-view', $uid, $selected, $condition, $params); + } + + /** + * Select rows from the post-thread-user-view view for a given user * * @param integer $uid User ID * @param array $selected Array of selected fields, empty for all @@ -364,7 +463,7 @@ class Post } /** - * Retrieve a single record from the post view for a given user and returns it in an associative array + * Retrieve a single record from the post-user-view view for a given user and returns it in an associative array * * @param integer $uid User ID * @param array $selected @@ -390,7 +489,7 @@ class Post } /** - * Select pinned rows from the item table for a given user + * Select pinned rows from the post-thread-user table for a given user * * @param integer $uid User ID * @param array $selected Array of selected fields, empty for all @@ -406,7 +505,7 @@ class Post if (!DBA::isResult($postthreaduser)) { return $postthreaduser; } - + $pinned = []; while ($useritem = DBA::fetch($postthreaduser)) { $pinned[] = $useritem['uri-id'];