diff options
| author | cash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-12-29 14:06:38 +0000 | 
|---|---|---|
| committer | cash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-12-29 14:06:38 +0000 | 
| commit | f73298eacabf0745598ddc24af0e5679bed6d6cc (patch) | |
| tree | 3162a30403a91caa5105363dffd617c4168ca437 /mod | |
| parent | 084a6003976c4fe7b1fa3f72186eff5098e0a478 (diff) | |
| download | elgg-f73298eacabf0745598ddc24af0e5679bed6d6cc.tar.gz elgg-f73298eacabf0745598ddc24af0e5679bed6d6cc.tar.bz2  | |
more clean up of the blog plugin - removed unused functions and moved the url forwarder into library
git-svn-id: http://code.elgg.org/elgg/trunk@7741 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'mod')
| -rw-r--r-- | mod/blog/lib/blog.php | 52 | ||||
| -rw-r--r-- | mod/blog/start.php | 90 | 
2 files changed, 66 insertions, 76 deletions
diff --git a/mod/blog/lib/blog.php b/mod/blog/lib/blog.php index c79c863d3..4f401ed23 100644 --- a/mod/blog/lib/blog.php +++ b/mod/blog/lib/blog.php @@ -419,3 +419,55 @@ function blog_get_blog_months($user_guid = NULL, $container_guid = NULL) {  	return get_data($q);  } + +/** + * Forward to the new style of URLs + * + * @param string $page + */ +function blog_url_forwarder($page) { +	global $CONFIG; + +	// group usernames +	if (substr_count($page[0], 'group:')) { +		preg_match('/group\:([0-9]+)/i', $page[0], $matches); +		$guid = $matches[1]; +		$entity = get_entity($guid); +		if ($entity) { +			$url = "{$CONFIG->wwwroot}pg/blog/group/$guid/owner"; +			register_error(elgg_echo("changebookmark")); +			forward($url); +		} +	} + +	// user usernames +	$user = get_user_by_username($page[0]); +	if (!$user) { +		return; +	} + +	if (!isset($page[1])) { +		$page[1] = 'owner'; +	} + +	switch ($page[1]) { +		case "read": +			$url = "{$CONFIG->wwwroot}pg/blog/view/{$page[2]}/{$page[3]}"; +			break; +		case "archive": +			$url = "{$CONFIG->wwwroot}pg/blog/archive/{$page[0]}/{$page[2]}/{$page[3]}"; +			break; +		case "friends": +			$url = "{$CONFIG->wwwroot}pg/blog/friends/{$page[0]}"; +			break; +		case "new": +			$url = "{$CONFIG->wwwroot}pg/blog/new/$user->guid"; +			break; +		case "owner": +			$url = "{$CONFIG->wwwroot}pg/blog/owner/{$page[0]}"; +			break; +	} + +	register_error(elgg_echo("changebookmark")); +	forward($url); +} diff --git a/mod/blog/start.php b/mod/blog/start.php index 3a0fdc676..ea88c5a7b 100644 --- a/mod/blog/start.php +++ b/mod/blog/start.php @@ -10,7 +10,6 @@   * - Pingbacks   * - Notifications   * - River entry for posts saved as drafts and later published - * - Group menu   */  elgg_register_event_handler('init', 'system', 'blog_init'); @@ -22,22 +21,27 @@ function blog_init() {  	elgg_register_library('elgg:blog', elgg_get_plugin_path() . 'blog/lib/blog.php'); +	// add a site navigation item  	$item = new ElggMenuItem('blog', elgg_echo('blog:blogs'), 'pg/blog/all');  	elgg_register_menu_item('site', $item);  	// run the setup upon activations or to upgrade old installations.  	run_function_once('blog_runonce', '1269370108'); +	// add to the main css  	elgg_extend_view('css/screen', 'blog/css'); -	elgg_register_event_handler('pagesetup', 'system', 'blog_page_setup'); +	// routing of urls  	register_page_handler('blog', 'blog_page_handler'); + +	// override the default url to view a blog object  	register_entity_url_handler('blog_url_handler', 'object', 'blog');  	// notifications  	register_notification_object('object', 'blog', elgg_echo('blog:newpost'));  	elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'blog_notify_message'); +	// add blog link to  	elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'blog_owner_block_menu');  	// pingbacks @@ -51,6 +55,7 @@ function blog_init() {  	add_group_tool_option('blog', elgg_echo('blog:enableblog'), true);  	elgg_extend_view('groups/tool_latest', 'blog/group_module'); +	// add a blog widget  	elgg_register_widget_type('blog', elgg_echo('blog'), elgg_echo('blog:widget:description'), 'profile');  	// register actions @@ -61,9 +66,6 @@ function blog_init() {  	// ecml  	elgg_register_plugin_hook_handler('get_views', 'ecml', 'blog_ecml_views_hook'); - -	// Register profile menu hook -	elgg_register_plugin_hook_handler('profile_menu', 'profile', 'blog_profile_menu');  }  /** @@ -82,7 +84,7 @@ function blog_runonce() {   *  User's blogs:    pg/blog/owner/<username>   *  Friends' blog:   pg/blog/friends/<username>   *  User's archives: pg/blog/archives/<username>/<time_start>/<time_stop> - *  Blog post:       pg/blog/read/<guid>/<title> + *  Blog post:       pg/blog/view/<guid>/<title>   *  New post:        pg/blog/new/<guid>   *  Edit post:       pg/blog/edit/<guid>/<revision>   *  Preview post:    pg/blog/preview/<guid> @@ -97,25 +99,12 @@ function blog_runonce() {   */  function blog_page_handler($page) { -	// @todo remove the forwarder in 1.9 -	// forward to correct URL for bookmaarks pre-1.7.5 -	// group usernames -	if (substr_count($page[0], 'group:')) { -		preg_match('/group\:([0-9]+)/i', $page[0], $matches); -		$guid = $matches[1]; -		if ($entity = get_entity($guid)) { -			blog_url_forwarder($page); -		} -	} -	// user usernames -	$user = get_user_by_username($page[0]); -	if ($user) { -		blog_url_forwarder($page); -	} - -  	elgg_load_library('elgg:blog'); +	// @todo remove the forwarder in 1.9 +	// forward to correct URL for bookmarks pre-1.7.5 +	blog_url_forwarder($page); +	  	// push all blogs breadcrumb  	elgg_push_breadcrumb(elgg_echo('blog:blogs'), "pg/blog/all/"); @@ -137,7 +126,7 @@ function blog_page_handler($page) {  			$user = get_user_by_username($page[1]);  			$params = blog_get_page_content_archive($user->guid, $page[2], $page[3]);  			break; -		case 'read': +		case 'view':  			$params = blog_get_page_content_read($page[1]);  			break;  		case 'new': @@ -166,40 +155,6 @@ function blog_page_handler($page) {  }  /** - * Forward to the new style of URLs - * - * @param string $page - */ -function blog_url_forwarder($page) { -	global $CONFIG; - -	if (!isset($page[1])) { -		$page[1] = 'owner'; -	} - -	switch ($page[1]) { -		case "read": -			$url = "{$CONFIG->wwwroot}pg/blog/read/{$page[2]}/{$page[3]}"; -			break; -		case "archive": -			$url = "{$CONFIG->wwwroot}pg/blog/archive/{$page[0]}/{$page[2]}/{$page[3]}"; -			break; -		case "friends": -			$url = "{$CONFIG->wwwroot}pg/blog/friends/{$page[0]}/"; -			break; -		case "new": -			$url = "{$CONFIG->wwwroot}pg/blog/new/{$page[0]}/"; -			break; -		case "owner": -			$url = "{$CONFIG->wwwroot}pg/blog/owner/{$page[0]}/"; -			break; -	} - -	register_error(elgg_echo("changebookmark")); -	forward($url); -} - -/**   * Format and return the URL for blogs.   *   * @param ElggObject $entity Blog object @@ -213,7 +168,7 @@ function blog_url_handler($entity) {  	$friendly_title = elgg_get_friendly_title($entity->title); -	return "pg/blog/read/{$entity->guid}/$friendly_title"; +	return "pg/blog/view/{$entity->guid}/$friendly_title";  }  /** @@ -237,26 +192,9 @@ function blog_owner_block_menu($hook, $type, $return, $params) {  /**   * Register blogs with ECML. - * - * @param unknown_type $hook - * @param unknown_type $entity_type - * @param unknown_type $return_value - * @param unknown_type $params   */  function blog_ecml_views_hook($hook, $entity_type, $return_value, $params) {  	$return_value['object/blog'] = elgg_echo('blog:blogs');  	return $return_value;  } - -function blog_profile_menu($hook, $entity_type, $return_value, $params) { - -	if (!($params['owner'] instanceof ElggGroup)) { -		$return_value[] = array( -			'text' => elgg_echo('blog'), -			'href' => "pg/blog/owner/{$params['owner']->username}/", -		); -	} - -	return $return_value; -}  | 
