aboutsummaryrefslogtreecommitdiff
path: root/mod/categories/start.php
diff options
context:
space:
mode:
Diffstat (limited to 'mod/categories/start.php')
-rw-r--r--mod/categories/start.php49
1 files changed, 25 insertions, 24 deletions
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