diff options
Diffstat (limited to 'mod/embed')
| -rw-r--r-- | mod/embed/start.php | 26 | 
1 files changed, 19 insertions, 7 deletions
diff --git a/mod/embed/start.php b/mod/embed/start.php index e8a3f8c14..1da35aa46 100644 --- a/mod/embed/start.php +++ b/mod/embed/start.php @@ -13,14 +13,19 @@ elgg_register_event_handler('init', 'system', 'embed_init');   */  function embed_init() {  	elgg_extend_view('css/elgg', 'embed/css'); -	 -	elgg_register_plugin_hook_handler('register', 'menu:longtext', 'embed_longtext_menu'); +	elgg_extend_view('css/admin', 'embed/css'); + +	if (elgg_is_logged_in()) { +		elgg_register_plugin_hook_handler('register', 'menu:longtext', 'embed_longtext_menu'); +	}  	elgg_register_plugin_hook_handler('register', 'menu:embed', 'embed_select_tab', 1000);  	// Page handler for the modal media embed  	elgg_register_page_handler('embed', 'embed_page_handler'); -	elgg_register_js('elgg.embed', 'js/embed/embed.js', 'footer'); +	$embed_js = elgg_get_simplecache_url('js', 'embed/embed'); +	elgg_register_simplecache_view('js/embed/embed'); +	elgg_register_js('elgg.embed', $embed_js, 'footer');  }  /** @@ -39,10 +44,12 @@ function embed_longtext_menu($hook, $type, $items, $vars) {  	}  	$url = 'embed'; -	if (elgg_get_page_owner_guid()) { -		$url = 'embed?container_guid=' . elgg_get_page_owner_guid(); + +	$page_owner = elgg_get_page_owner_entity(); +	if (elgg_instanceof($page_owner, 'group') && $page_owner->isMember()) { +		$url = 'embed?container_guid=' . $page_owner->getGUID();  	} -	 +  	$items[] = ElggMenuItem::factory(array(  		'name' => 'embed',  		'href' => $url, @@ -95,7 +102,12 @@ function embed_page_handler($page) {  	$container_guid = (int)get_input('container_guid');  	if ($container_guid) { -		elgg_set_page_owner_guid($container_guid); +		$container = get_entity($container_guid); + +		if (elgg_instanceof($container, 'group') && $container->isMember()) { +			// embedding inside a group so save file to group files +			elgg_set_page_owner_guid($container_guid); +		}  	}  	echo elgg_view('embed/layout');  | 
