aboutsummaryrefslogtreecommitdiffstats
path: root/core/namespace/Post
diff options
context:
space:
mode:
Diffstat (limited to 'core/namespace/Post')
-rw-r--r--core/namespace/Post/Item.php16
1 files changed, 12 insertions, 4 deletions
diff --git a/core/namespace/Post/Item.php b/core/namespace/Post/Item.php
index 0f2c6a5..6109e20 100644
--- a/core/namespace/Post/Item.php
+++ b/core/namespace/Post/Item.php
@@ -27,23 +27,31 @@ class Item extends \Item {
}
#===============================================================================
- # Return unique post IDs for search results
+ # Return search results as Post\Attribute
#===============================================================================
- public static function getSearchResultIDs($search, array $date, \Database $Database): array {
+ public static function getSearchResults($search, array $date, \Database $Database): array {
$D = ($D = intval($date[0])) !== 0 ? $D : 'NULL';
$M = ($M = intval($date[1])) !== 0 ? $M : 'NULL';
$Y = ($Y = intval($date[2])) !== 0 ? $Y : 'NULL';
- $Statement = $Database->prepare(sprintf("SELECT id FROM %s WHERE
+ $Statement = $Database->prepare(sprintf("SELECT * FROM %s WHERE
({$Y} IS NULL OR YEAR(time_insert) = {$Y}) AND
({$M} IS NULL OR MONTH(time_insert) = {$M}) AND
({$D} IS NULL OR DAY(time_insert) = {$D}) AND
MATCH(name, body) AGAINST(? IN BOOLEAN MODE) LIMIT 20", Attribute::TABLE));
if($Statement->execute([$search])) {
- return $Statement->fetchAll($Database::FETCH_COLUMN);
+ return $Statement->fetchAll($Database::FETCH_CLASS, 'Post\Attribute');
}
return [];
}
+
+ #===============================================================================
+ # Return associated User\Attribute
+ #===============================================================================
+ public function getUserAttribute() {
+ $Statement = $this->Database->query(sprintf('SELECT * FROM user WHERE id = %d', $this->Attribute->get('user')));
+ return $Statement->fetchObject('User\Attribute');
+ }
}