From 52b077a48c743ba4d08ac00520a0bf1ef6deef5f Mon Sep 17 00:00:00 2001 From: Thomas Lange Date: Fri, 24 Feb 2017 21:27:59 +0100 Subject: Initial commit. --- core/namespace/Post/Attribute.php | 22 +++++++++++++++++ core/namespace/Post/Exception.php | 5 ++++ core/namespace/Post/Factory.php | 9 +++++++ core/namespace/Post/Item.php | 50 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 86 insertions(+) create mode 100644 core/namespace/Post/Attribute.php create mode 100644 core/namespace/Post/Exception.php create mode 100644 core/namespace/Post/Factory.php create mode 100644 core/namespace/Post/Item.php (limited to 'core/namespace/Post') diff --git a/core/namespace/Post/Attribute.php b/core/namespace/Post/Attribute.php new file mode 100644 index 0000000..6f20183 --- /dev/null +++ b/core/namespace/Post/Attribute.php @@ -0,0 +1,22 @@ + \ No newline at end of file diff --git a/core/namespace/Post/Exception.php b/core/namespace/Post/Exception.php new file mode 100644 index 0000000..516ddbe --- /dev/null +++ b/core/namespace/Post/Exception.php @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/core/namespace/Post/Factory.php b/core/namespace/Post/Factory.php new file mode 100644 index 0000000..34aa5e4 --- /dev/null +++ b/core/namespace/Post/Factory.php @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/core/namespace/Post/Item.php b/core/namespace/Post/Item.php new file mode 100644 index 0000000..a269ce4 --- /dev/null +++ b/core/namespace/Post/Item.php @@ -0,0 +1,50 @@ +Attribute->get('slug')}/"); + } + + return \Application::getPostURL("{$this->Attribute->get('id')}/"); + } + + #=============================================================================== + # Return unique pseudo GUID + #=============================================================================== + public function getGUID(): string { + foreach(\Application::get('POST.FEED_GUID') as $attribute) { + $attributes[] = $this->Attribute->get($attribute); + } + + return sha1(implode(NULL, $attributes)); + } + + #=============================================================================== + # Return unique post IDs for search results + #=============================================================================== + public static function getSearchResultIDs($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 + ({$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 []; + } +} +?> \ No newline at end of file -- cgit v1.2.3