From ff31226fdeb972aac2f37f0098240cb366a9bb26 Mon Sep 17 00:00:00 2001 From: brettp Date: Wed, 5 May 2010 19:14:48 +0000 Subject: Merged 18_new_admin branch to trunk. git-svn-id: http://code.elgg.org/elgg/trunk@5977 36083f99-b078-4883-b0ff-0f9b5a30f544 --- mod/categories/actions/save.php | 5 +-- mod/categories/languages/en.php | 21 ++++------ mod/categories/manifest.xml | 18 ++++---- mod/categories/settings.php | 35 ---------------- mod/categories/start.php | 49 +++++++++++----------- mod/categories/views/default/categories/css.php | 26 ++++++------ .../views/default/categories/settings.php | 24 ----------- .../views/default/categories/settingsform.php | 7 ---- .../views/default/settings/categories/edit.php | 28 +++++++++++++ 9 files changed, 88 insertions(+), 125 deletions(-) delete mode 100644 mod/categories/settings.php delete mode 100644 mod/categories/views/default/categories/settings.php delete mode 100644 mod/categories/views/default/categories/settingsform.php create mode 100644 mod/categories/views/default/settings/categories/edit.php (limited to 'mod/categories') diff --git a/mod/categories/actions/save.php b/mod/categories/actions/save.php index 21602f659..3e93b6325 100644 --- a/mod/categories/actions/save.php +++ b/mod/categories/actions/save.php @@ -1,5 +1,4 @@ site; $site->categories = $categories; system_message(elgg_echo("categories:save:success")); -forward($_SERVER['HTTP_REFERER']); +elgg_delete_admin_notice('categories_admin_notice_no_categories'); +forward($_SERVER['HTTP_REFERER']); \ No newline at end of file diff --git a/mod/categories/languages/en.php b/mod/categories/languages/en.php index 588c194e4..cbe5a608f 100644 --- a/mod/categories/languages/en.php +++ b/mod/categories/languages/en.php @@ -1,15 +1,12 @@ 'Categories', - 'categories:settings' => 'Set site categories', - 'categories:explanation' => 'To set some predefined site-wide categories that will be used throughout your system, enter them below, separated with commas. Compatible tools will then display them when the user creates or edits content.', - 'categories:save:success' => 'Site categories were successfully saved.', - 'categories:results' => "Results for the site category: %s", - - ); - - add_translation("en",$english); +$english = array( + 'categories' => 'Categories', + 'categories:settings' => 'Set site categories', + 'categories:explanation' => 'To set some predefined site-wide categories that will be used throughout your system, enter them below, separated with commas. Compatible tools will then display them when the user creates or edits content.', + 'categories:save:success' => 'Site categories were successfully saved.', + 'categories:results' => "Results for the site category: %s", + 'categories:on_enable_reminder' => "You haven't added any categories yet! Add categories now.", +); -?> \ No newline at end of file +add_translation("en",$english); \ No newline at end of file diff --git a/mod/categories/manifest.xml b/mod/categories/manifest.xml index 443872e57..635543ee3 100644 --- a/mod/categories/manifest.xml +++ b/mod/categories/manifest.xml @@ -1,10 +1,14 @@ - - - - - - - + + + + + + + + + + + diff --git a/mod/categories/settings.php b/mod/categories/settings.php deleted file mode 100644 index 260b057c3..000000000 --- a/mod/categories/settings.php +++ /dev/null @@ -1,35 +0,0 @@ - - * @copyright Curverider Ltd 2008-2010 - * @link http://elgg.com/ - */ - -// Load engine and restrict to admins -require_once(dirname(dirname(dirname(__FILE__))) . '/engine/start.php'); -admin_gatekeeper(); - -// Set context -set_context('admin'); - -// Get site and categories -global $CONFIG; -$site = $CONFIG->site; -$categories = $site->categories; - -if (empty($categories)) { - $categories = array(); -} - -// Load category save view -$body = elgg_view('categories/settings',array('categories' => $categories)); - - -$body = elgg_view_layout('two_column_left_sidebar', '', $body); - -page_draw(elgg_echo('categories:settings'), $body); diff --git a/mod/categories/start.php b/mod/categories/start.php index dd6da16d5..60ee01065 100644 --- a/mod/categories/start.php +++ b/mod/categories/start.php @@ -15,52 +15,39 @@ * */ function categories_init() { - global $CONFIG; elgg_extend_view('css', 'categories/css'); - register_action('categories/save',false,$CONFIG->pluginspath . 'categories/actions/save.php',true); + register_action('settings/categories/save', FALSE, $CONFIG->pluginspath . 'categories/actions/save.php', TRUE); register_page_handler('categories', 'categories_page_handler'); + register_elgg_event_handler('update','all','categories_save'); + register_elgg_event_handler('create','all','categories_save'); } -/** - * Set up admin menu item - * - */ -function categories_pagesetup() { - if (get_context() == 'admin' && isadminloggedin()) { - global $CONFIG; - add_submenu_item(elgg_echo('categories:settings'), $CONFIG->wwwroot . 'mod/categories/settings.php'); - } -} /** * Page handler * */ function categories_page_handler() { - include(dirname(__FILE__) . "/listing.php"); - return true; + return TRUE; } /** - * Save site categories + * Save site categories to and object upon save / edit * */ function categories_save($event, $object_type, $object) { - if ($object instanceof ElggEntity) { - $marker = get_input('universal_category_marker'); if ($marker == 'on') { - $categories = get_input('universal_categories_list'); - + if (empty($categories)) { $categories = array(); } @@ -68,12 +55,26 @@ function categories_save($event, $object_type, $object) { $object->universal_categories = $categories; } } + return TRUE; +} - return true; +/** + * Add a reminder to set default categories. + */ +function categories_on_enable() { + if (!$site->categories) { + global $CONFIG; + $message = sprintf(elgg_echo('categories:on_enable_reminder'), "{$CONFIG->url}pg/admin/plugin_settings/categories"); + elgg_add_admin_notice('categories_admin_notice_no_categories', $message); + } + return TRUE; } +/** + * Clean up admin notices on disable. + */ +function categories_on_disable() { + elgg_delete_admin_notice('categories_admin_notice_no_categories'); +} -register_elgg_event_handler('init','system','categories_init'); -register_elgg_event_handler('pagesetup','system','categories_pagesetup'); -register_elgg_event_handler('update','all','categories_save'); -register_elgg_event_handler('create','all','categories_save'); +register_elgg_event_handler('init','system','categories_init'); \ No newline at end of file diff --git a/mod/categories/views/default/categories/css.php b/mod/categories/views/default/categories/css.php index d2cf5a8a8..6dfe60047 100644 --- a/mod/categories/views/default/categories/css.php +++ b/mod/categories/views/default/categories/css.php @@ -1,11 +1,11 @@ .categories .input-checkboxes { @@ -25,13 +25,13 @@ } #two_column_left_sidebar_maincontent .contentWrapper .categories { border:1px solid #CCCCCC; - -webkit-border-radius: 4px; + -webkit-border-radius: 4px; -moz-border-radius: 4px; padding:5px; - margin:0 0 15px 0; + margin:0 0 15px 0; } #two_column_left_sidebar_maincontent .contentWrapper .categories p { - margin:0; + margin:0; } #two_column_left_sidebar_maincontent .contentWrapper .blog_post .categories { border:none; @@ -41,10 +41,10 @@ #two_column_left_sidebar .blog_categories { background:white; - -webkit-border-radius: 8px; + -webkit-border-radius: 8px; -moz-border-radius: 8px; - padding:10px; - margin:0 10px 10px 10px; + padding:10px; + margin:0 10px 10px 10px; } #two_column_left_sidebar .blog_categories h2 { background:none; diff --git a/mod/categories/views/default/categories/settings.php b/mod/categories/views/default/categories/settings.php deleted file mode 100644 index 7f38b6579..000000000 --- a/mod/categories/views/default/categories/settings.php +++ /dev/null @@ -1,24 +0,0 @@ - - -
-

- -

- - - $vars['url'] . 'action/categories/save', - 'method' => 'post', - 'body' => elgg_view('categories/settingsform',$vars) - ) - ); - - ?> - -
\ No newline at end of file diff --git a/mod/categories/views/default/categories/settingsform.php b/mod/categories/views/default/categories/settingsform.php deleted file mode 100644 index 044f01dcd..000000000 --- a/mod/categories/views/default/categories/settingsform.php +++ /dev/null @@ -1,7 +0,0 @@ - $vars['categories'], - 'internalname' => 'categories')); - -?> - \ No newline at end of file diff --git a/mod/categories/views/default/settings/categories/edit.php b/mod/categories/views/default/settings/categories/edit.php new file mode 100644 index 000000000..3742fd1e6 --- /dev/null +++ b/mod/categories/views/default/settings/categories/edit.php @@ -0,0 +1,28 @@ + + * @copyright Curverider Ltd 2008-2010 + * @link http://elgg.com/ + */ + +// Get site and categories +$site = $CONFIG->site; +$categories = $site->categories; + +if (empty($categories)) { + $categories = array(); +} + +?> +
+

+ +

+ $categories, 'internalname' => 'categories')); + ?> +
\ No newline at end of file -- cgit v1.2.3