function getContent() { $this->createGatekeeper(); // Logged-in only please $t = \Idno\Core\site()->template(); $t->content_types = \Idno\Common\ContentType::getRegistered(); $t->default_content_types = \Idno\Core\site()->session()->currentUser()->settings['default_feed_content']; $t->body = $t->draw('account/settings/homepage'); $t->title = 'Homepage settings'; $t->drawPage(); }
function getContent() { $this->createGatekeeper(); // Logged-in only please $t = \Idno\Core\Idno::site()->template(); $t->content_types = \Idno\Common\ContentType::getRegistered(); $default_content_types = \Idno\Core\Idno::site()->config()->getHomepageContentTypes(); //\Idno\Core\Idno::site()->session()->currentUser()->settings['default_feed_content']; if (empty($default_content_types)) { foreach ($t->content_types as $content_type) { $default_content_types[] = $content_type->getEntityClass(); } } $t->default_content_types = $default_content_types; $t->body = $t->draw('admin/homepage'); $t->title = 'Homepage'; $t->drawPage(); }
function getContent() { $offset = (int) $this->getInput('offset'); $types = $this->getInput('types'); if (!empty($this->arguments[0])) { // If we're on the friendly content-specific URL if ($friendly_types = explode('/', $this->arguments[0])) { $types = []; // Run through the URL parameters and set content types appropriately foreach ($friendly_types as $friendly_type) { if ($content_type_class = \Idno\Common\ContentType::categoryTitleToClass($friendly_type)) { $types[] = $content_type_class; } } } } if (empty($types)) { $types = 'Idno\\Entities\\ActivityStreamPost'; $search = ['verb' => 'post']; } else { if (!is_array($types)) { $types = [$types]; } $types[] = '!Idno\\Entities\\ActivityStreamPost'; $search = []; } $count = \Idno\Entities\ActivityStreamPost::countFromX($types, []); $feed = \Idno\Entities\ActivityStreamPost::getFromX($types, $search, [], \Idno\Core\site()->config()->items_per_page, $offset); if (\Idno\Core\site()->session()->isLoggedIn()) { $create = \Idno\Common\ContentType::getRegistered(); } else { $create = false; } if (!empty(\Idno\Core\site()->config()->description)) { $description = \Idno\Core\site()->description; } else { $description = 'An independent social website, powered by idno.'; } $t = \Idno\Core\site()->template(); $t->__(array('title' => \Idno\Core\site()->config()->title, 'description' => $description, 'body' => $t->__(array('items' => $feed, 'contentTypes' => $create, 'offset' => $offset, 'count' => $count))->draw('pages/home')))->drawPage(); }
<ul class="nav navbar-nav"> <?php $content_types = \Idno\Common\ContentType::getRegistered(); if (!empty($content_types)) { if (!empty($vars['subject'])) { $search = '?q=' . urlencode($vars['subject']); } else { $search = ''; } ?> <li class="dropdown" tabindex="3"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> <?php if (!empty($vars['content'])) { echo \Idno\Common\ContentType::categoryTitleSlugsToFriendlyName($vars['content']); } else { echo 'Filter content'; } ?> <span class="caret"></span> </a> <ul class="dropdown-menu" role="menu"> <li><a href="<?php echo \Idno\Core\site()->config()->getDisplayURL() . $search; ?> "><span class="dropdown-menu-icon"> </span> Default content</a></li> <li><a href="<?php echo \Idno\Core\site()->config()->getDisplayURL() . 'content/all/' . $search; ?>
function getContent() { $query = $this->getInput('q'); $offset = (int) $this->getInput('offset'); $types = $this->getInput('types'); $friendly_types = array(); // Check for an empty site if (!\Idno\Entities\User::get()) { $this->forward(\Idno\Core\Idno::site()->config()->getURL() . 'begin/'); } if (!empty($this->arguments[0])) { // If we're on the friendly content-specific URL if ($friendly_types = explode('/', $this->arguments[0])) { $friendly_types = array_filter($friendly_types); if (empty($friendly_types) && !empty($query)) { $friendly_types = array('all'); } $types = array(); // Run through the URL parameters and set content types appropriately foreach ($friendly_types as $friendly_type) { if ($friendly_type == 'all') { $types = \Idno\Common\ContentType::getRegisteredClasses(); break; } if ($content_type_class = \Idno\Common\ContentType::categoryTitleToClass($friendly_type)) { $types[] = $content_type_class; } } } } else { // If user has content-specific preferences, do something with $friendly_types if (empty($query)) { $types = \Idno\Core\Idno::site()->config()->getHomepageContentTypes(); } } $search = array(); if (!empty($query)) { $search = \Idno\Core\Idno::site()->db()->createSearchArray($query); } if (empty($types)) { $types = \Idno\Common\ContentType::getRegisteredClasses(); } else { if (!is_array($types)) { $types = array($types); } $types[] = '!Idno\\Entities\\ActivityStreamPost'; } $count = \Idno\Entities\ActivityStreamPost::countFromX($types, array()); $feed = \Idno\Entities\ActivityStreamPost::getFromX($types, $search, array(), \Idno\Core\Idno::site()->config()->items_per_page, $offset); if (\Idno\Core\Idno::site()->session()->isLoggedIn()) { $create = \Idno\Common\ContentType::getRegistered(); // If we can't create an object of this type, hide from the button bar foreach ($create as $key => $obj) { if (!$obj->createable) { unset($create[$key]); } } } else { $create = false; } if (!empty(\Idno\Core\Idno::site()->config()->description)) { $description = \Idno\Core\Idno::site()->config()->description; } else { $description = 'An independent social website, powered by Known.'; } // If we have a feed, set our last modified flag to the time of the latest returned entry if (!empty($feed)) { if (is_array($feed)) { $feed = array_filter($feed); $this->setLastModifiedHeader(reset($feed)->updated); } } if (!empty(\Idno\Core\Idno::site()->config()->homepagetitle)) { $title = \Idno\Core\Idno::site()->config()->homepagetitle; } else { $title = \Idno\Core\Idno::site()->config()->title; } $t = \Idno\Core\Idno::site()->template(); $t->__(array('title' => $title, 'description' => $description, 'content' => $friendly_types, 'body' => $t->__(array('items' => $feed, 'contentTypes' => $create, 'offset' => $offset, 'count' => $count, 'subject' => $query, 'content' => $friendly_types))->draw('pages/home')))->drawPage(); }