aboutsummaryrefslogtreecommitdiff
path: root/mod/sitepages/start.php
diff options
context:
space:
mode:
Diffstat (limited to 'mod/sitepages/start.php')
-rw-r--r--mod/sitepages/start.php237
1 files changed, 0 insertions, 237 deletions
diff --git a/mod/sitepages/start.php b/mod/sitepages/start.php
deleted file mode 100644
index c7baa1314..000000000
--- a/mod/sitepages/start.php
+++ /dev/null
@@ -1,237 +0,0 @@
-<?php
-/**
- * Site Pages provides interfaces to create standard content-static pages
- * and to customize the front page layout and content.
- *
- * Formerly implemented as "external pages" and "custom index."
- *
- * @package SitePages
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
- * @author Curverider Ltd
- * @copyright Curverider Ltd 2008-2010
- * @link http://elgg.org/
- *
- * @todo
- * Check for SQL injection problems.
- * Force [[login_box]] in the logged out view.
- * Make sure this stuff doesn't show up in search.
- * Check entity keyword views against fullview. Force to FALSE?
- * DRY up actions and views
- * Implement sticky forms
- * Use $entity->view to redirect to url of page.
- * The tool settings view is probably not needed as it can be added to the front page edit tab.
- * You can say pg/sitepages/edit|read/any_page_i_want and it will let you.
- * Clean up and probably move the docs for keywords.
- */
-
-/**
- * Start the site pages plugin.
- */
-function sitepages_init() {
- require_once(dirname(__FILE__) . '/sitepages_functions.php');
- global $CONFIG;
-
- // register our subtype
- run_function_once('sitepages_runonce');
-
- // Register a page handler, so we can have nice URLs
- register_page_handler('sitepages', 'sitepages_page_handler');
-
- // Register a URL handler for external pages
- register_entity_url_handler('sitepages_url', 'object', 'sitepages');
-
- elgg_extend_view('footer/links', 'sitepages/footer_menu');
- elgg_extend_view('metatags', 'sitepages/metatags');
-
- // Replace the default index page if user has requested
- if (get_plugin_setting('ownfrontpage', 'sitepages') == 'yes') {
- register_plugin_hook('index', 'system', 'sitepages_custom_index');
- }
-
- // parse views for keywords
- register_plugin_hook('display', 'view', 'sitepages_parse_view');
-
- // register the views we want to parse for the keyword replacement
- // right now this is just the custom front page, but we can
- // expand it to the other pages later.
- $CONFIG->sitepages_parse_views = array(
- 'sitepages/custom_frontpage'
- );
-
- // an example of how to register and respond to the get_keywords trigger
- register_plugin_hook('get_keywords', 'sitepages', 'sitepages_keyword_hook');
-
- // grab the list of keywords and their views from plugins
- if ($keywords = trigger_plugin_hook('get_keywords', 'sitepages', NULL, array())) {
- $CONFIG->sitepages_keywords = $keywords;
- }
-
- register_action("sitepages/add", FALSE, $CONFIG->pluginspath . "sitepages/actions/add.php");
- register_action("sitepages/addfront", FALSE, $CONFIG->pluginspath . "sitepages/actions/addfront.php");
- register_action("sitepages/addmeta", FALSE, $CONFIG->pluginspath . "sitepages/actions/addmeta.php");
- register_action("sitepages/edit", FALSE, $CONFIG->pluginspath . "sitepages/actions/edit.php");
- register_action("sitepages/delete", FALSE, $CONFIG->pluginspath . "sitepages/actions/delete.php");
-
-}
-
-/**
- * Registers the sitepages subtype to the right class.
- *
- * @return unknown_type
- */
-function sitepages_runonce() {
- return add_subtype('object', 'sitepages_page', 'ElggSitePage');
-}
-
-/**
- * Override the index if requested.
- *
- * @return TRUE on override
- */
-function sitepages_custom_index() {
- // context is checked by the extended metatags view to print out its custom CSS
- $context = get_context();
- set_context('sitepages:front');
-
- if ($contents = elgg_view('sitepages/custom_frontpage')) {
- page_draw(FALSE, $contents);
-
- set_context($context);
- // return TRUE to tell index.php we've got its content right here.
- return TRUE;
- }
-
- set_context($context);
-
- // return NULL to pass this to next in chain, or back to standard index.php.
- return NULL;
-}
-
-/**
- * Page setup. Adds admin controls to the admin panel.
- */
-function sitepages_pagesetup(){
- if (get_context() == 'admin' && isadminloggedin()) {
- global $CONFIG;
- add_submenu_item(elgg_echo('sitepages'), $CONFIG->wwwroot . 'pg/sitepages/edit/front');
- }
-}
-
-/**
- *
- * @param unknown_type $expage
- * @return unknown_type
- *
- * //@todo is this needed?
- */
-function sitepages_url($expage) {
- global $CONFIG;
- return $CONFIG->url . 'pg/sitepages/';
-}
-
-/**
- * Serve out views for site pages.
- *
- * @param unknown_type $page
- * @return unknown_type
- */
-function sitepages_page_handler($page) {
- global $CONFIG;
-
- // for the owner block.
- if ($logged_in_guid = get_loggedin_userid()) {
- set_page_owner($logged_in_guid);
- }
-
- // sanity checking.
- // on bad params we'll forward so people will bookmark the correct URLs
- // @todo valid page names need to be pulled out into some sort of config var or admin option.
- $default_page = 'About';
-
- $action = isset($page[0]) ? $page[0] : FALSE;
- $page_type = isset($page[1]) ? $page[1] : FALSE;
-
- switch ($action) {
- case 'edit':
- $title = elgg_echo('sitepages');
- $content = sitepages_get_edit_section_content($page_type);
-
- break;
-
- case 'read':
- $title = elgg_echo('sitepages:' . strtolower($page_type));
- $content = sitepages_get_page_content($page_type);
-
- break;
-
- default:
- forward("{$CONFIG->site->url}pg/sitepages/read/$default_page");
- break;
- }
-
- page_draw($title, $content);
-}
-
-/**
- * Parses a registered view for supported keywords.
- *
- * @param unknown_type $hook
- * @param unknown_type $entity_type
- * @param unknown_type $return_value
- * @param unknown_type $params
- * @return string
- */
-function sitepages_parse_view($hook, $entity_type, $return_value, $params) {
- global $CONFIG;
-
- // give me everything that is (string):(any thing that's not a ]) surrounded by [[ ]]s
- $keyword_regex = '/\[\[([a-z]+):([^\]]+)\]\]/';
-
- if (in_array($params['view'], $CONFIG->sitepages_parse_views)) {
- $keywords = $CONFIG->sitepages_keywords;
-
- $view_options = array(
- 'view' => $params['view']
- );
-
- foreach ($keywords as $keyword => $info) {
- if ($content = elgg_view($info['view'], $view_options)) {
- $return_value = str_replace("[[$keyword]]", $content, $return_value);
- }
- }
-
- // parse for specialized tags:
- // [[entity: key=value, key=value,etc]]
- // [[view:viewname, vars_key=value,...]]
- $return_value = preg_replace_callback($keyword_regex, 'sitepages_parse_view_match', $return_value);
- }
-
- return $return_value;
-}
-
-
-/**
- * Register some default keywords.
- *
- * @param unknown_type $hook
- * @param unknown_type $entity_type
- * @param unknown_type $return_value
- * @param unknown_type $params
- * @return unknown_type
- */
-function sitepages_keyword_hook($hook, $entity_type, $return_value, $params) {
- $return_value['login_box'] = array(
- 'view' => 'account/forms/login',
- 'description' => elgg_echo('sitepages:keywords:login_box')
- );
-
- $return_value['site_stats'] = array(
- 'view' => 'this/doesnt/exist/yet',
- 'description' => elgg_echo('sitepages:keywords:site_stats')
- );
-
- return $return_value;
-}
-
-register_elgg_event_handler('init', 'system', 'sitepages_init');
-register_elgg_event_handler('pagesetup', 'system', 'sitepages_pagesetup'); \ No newline at end of file