/** * The page handler vor vacaturebank * * @param array $page url segments * * @return bool */ function haarlem_tangram_page_handler($page) { $include_file = false; $pages_root = dirname(dirname(__FILE__)) . '/pages/'; $page_owner_guid = haarlem_tangram_get_page_owner_guid(); if (!empty($page_owner_guid)) { elgg_set_page_owner_guid($page_owner_guid); } switch ($page[0]) { case 'all': $include_file = "{$pages_root}all.php"; break; case 'view': set_input('vacaturenummer', $page[1]); $include_file = "{$pages_root}view.php"; break; default: forward('vacaturebank/all'); break; } if (!empty($include_file)) { include $include_file; return true; } return false; }
/** * Add menu item to owner_block * * @param string $hook the name of the hook * @param string $type the type of the hook * @param ElggMenuItem[] $return_value current return value * @param array $params supplied params * * @return void|ElggMenuItem[] */ function haarlem_tangram_register_owner_block_menu($hook, $type, $return_value, $params) { if (!is_array($return_value)) { return; } if (empty($params) || !is_array($params)) { return; } $page_owner_guid = haarlem_tangram_get_page_owner_guid(); if (empty($page_owner_guid)) { // no page owner was configured, so don't add owner_block menu return; } $entity = elgg_extract('entity', $params); if (!$entity instanceof ElggEntity) { return; } if ($entity->getGUID() !== $page_owner_guid) { // not this entity return; } $return_value[] = ElggMenuItem::factory(array('name' => 'haarlem_tangram', 'text' => elgg_echo('haarlem_tangram:site_menu:title'), 'href' => 'vacaturebank/all')); return $return_value; }