diff options
| author | brettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-06-01 22:33:58 +0000 | 
|---|---|---|
| committer | brettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-06-01 22:33:58 +0000 | 
| commit | 60fd7ad6ce1c2fbd140edf1a6185649e47735bbc (patch) | |
| tree | 855de166802e76b0a0f7eb1865381c774eb941a4 /mod/embed/start.php | |
| parent | 14ef2df751f2e507751d76505d978cf77027b545 (diff) | |
| download | elgg-60fd7ad6ce1c2fbd140edf1a6185649e47735bbc.tar.gz elgg-60fd7ad6ce1c2fbd140edf1a6185649e47735bbc.tar.bz2 | |
First pass at a loosely couple embed plugin using ECML.
git-svn-id: http://code.elgg.org/elgg/trunk@6315 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'mod/embed/start.php')
| -rw-r--r-- | mod/embed/start.php | 75 | 
1 files changed, 46 insertions, 29 deletions
| diff --git a/mod/embed/start.php b/mod/embed/start.php index f98c21245..eb6f6d4a6 100644 --- a/mod/embed/start.php +++ b/mod/embed/start.php @@ -1,7 +1,7 @@  <?php  /**   * Elgg media embed plugin - *  + *   * @package ElggEmbed   * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2   * @author Curverider Ltd <info@elgg.com> @@ -13,37 +13,54 @@   * Init function   *   */ -	function embed_init() { -		 -		// Extend useful views with stuff we need for our embed modal -			elgg_extend_view('css','embed/css'); -			elgg_extend_view('js/initialise_elgg','embed/js'); -			elgg_extend_view('metatags','embed/metatags'); -			elgg_extend_view('input/longtext','embed/link',1); -			 -		// Page handler for the modal media embed -			register_page_handler('embed','embed_page_handler'); -		 -	} -	 +function embed_init() { +	elgg_extend_view('css', 'embed/css'); +	elgg_extend_view('js/initialise_elgg', 'embed/js'); +	elgg_extend_view('metatags', 'embed/metatags'); +	elgg_extend_view('input/longtext', 'embed/link', 1); + +	// Page handler for the modal media embed +	register_page_handler('embed', 'embed_page_handler'); +} +  /** - * Runs the 'embed' script + * Serves pages for upload and embed.   * + * @param $page   */ -	function embed_page_handler($page) { -		 -		switch($page[0]) { -			case 'upload':		require_once(dirname(__FILE__) . '/upload.php'); -								exit; -								break; -			default:			require_once(dirname(__FILE__) . '/embed.php'); -								exit; -								break;			 -		} -		 +function embed_page_handler($page) { +	if (!isset($page[0])) { +		$page[0] = 'embed'; +	} + +	switch($page[0]) { +		case 'upload': +			echo elgg_view('embed/upload'); + +			break; + +		case 'embed': +		default: +			// trigger hook to get section tabs +			// use views for embed/section/ +			//	listing +			//	item +			// default to embed/listing | item if not found. +			// @todo trigger for all right now. If we categorize these later we can trigger +			// for certain categories. +			$sections = trigger_plugin_hook('embed_get_sections', 'all', NULL, array()); +			asort($sections, SORT_LOCALE_STRING); +			$active_section = get_input('active_section', NULL); + +			echo elgg_view('embed/embed', array( +				'sections' => $sections, +				'active_section' => $active_section +			)); + +			break;  	} -// Register the init action -	register_elgg_event_handler('init','system','embed_init',10); +	exit; +} -?> +register_elgg_event_handler('init', 'system', 'embed_init');
\ No newline at end of file | 
