19declare(strict_types=1);
32 $this->posting_manager = $this->domain->posting();
35 public function getKeywords(
37 bool $a_show_inactive,
38 ?
int $a_posting_id =
null
41 $posting_list = $this->domain->postingList($blog_id);
42 $month_items = $posting_list->getPostingsGroupedByMonth();
46 foreach ($this->posting_manager->getKeywords($blog_id, $a_posting_id) as $keyword) {
47 if (isset($keywords[$keyword])) {
48 $keywords[$keyword]++;
50 $keywords[$keyword] = 1;
54 foreach ($month_items as $month => $items) {
55 foreach ($items as $item) {
57 $item_id = $item->getId();
58 if ($a_show_inactive || $this->domain->pageManager()->lookupActive($item_id,
"blp")) {
59 foreach ($this->posting_manager->getKeywords($blog_id, $item_id) as $keyword) {
60 if (isset($keywords[$keyword])) {
61 $keywords[$keyword]++;
63 $keywords[$keyword] = 1;
73 foreach ($keywords as $keyword => $counter) {
74 $tmp[] = array(
"keyword" => $keyword,
"counter" => $counter);
79 foreach ($tmp as $item) {
80 $keywords[(string) $item[
"keyword"]] = $item[
"counter"];
__construct(protected InternalDomainService $domain)
ILIAS Blog Posting PostingManager $posting_manager
static sortArray(array $array, string $a_array_sortby_key, string $a_array_sortorder="asc", bool $a_numeric=false, bool $a_keep_keys=false)