aboutsummaryrefslogtreecommitdiffstats
path: root/core/namespace/Page/Item.php
blob: 46545d68642711f2abf28fce0e72c93ed5b69ca2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
namespace Page;

class Item extends \Item {
	const CONFIGURATION = 'PAGE';

	#===============================================================================
	# Return unique pseudo GUID
	#===============================================================================
	public function getGUID(): string {
		foreach(\Application::get('PAGE.FEED_GUID') as $attribute) {
			$attributes[] = $this->Attribute->get($attribute);
		}

		return sha1(implode(NULL, $attributes));
	}

	#===============================================================================
	# Return unique page IDs for search results
	#===============================================================================
	public static function getSearchResultIDs($search, \Database $Database): array {
		$Statement = $Database->prepare(sprintf("SELECT id FROM %s WHERE
			MATCH(name, body) AGAINST(? IN BOOLEAN MODE) LIMIT 20", Attribute::TABLE));

		if($Statement->execute([$search])) {
			return $Statement->fetchAll($Database::FETCH_COLUMN);
		}

		return [];
	}
}