示例#1
0
文件: start.php 项目: coldtrick/todos
/**
 * Initialize the plugin
 *
 * @return void
 */
function todos_init()
{
    elgg_extend_view('css/elgg', 'css/todos');
    elgg_extend_view('js/elgg', 'js/todos');
    elgg_register_page_handler('todos', 'todos_page_handler');
    elgg_register_event_handler('pagesetup', 'system', 'todos_pagesetup');
    $actions_path = dirname(__FILE__) . '/actions/';
    elgg_register_action('todos/todolist/edit', $actions_path . 'todolist/edit.php');
    elgg_register_action('todos/todolist/delete', $actions_path . 'todolist/delete.php');
    elgg_register_action('todos/todoitem/edit', $actions_path . 'todoitem/edit.php');
    elgg_register_action('todos/todoitem/delete', $actions_path . 'todoitem/delete.php');
    elgg_register_action('todos/todoitem/toggle', $actions_path . 'todoitem/toggle.php');
    elgg_register_action('todos/todoitem/delete_attachment', $actions_path . 'todoitem/delete_attachment.php');
    elgg_register_action('todos/todoitem/attach', $actions_path . 'todoitem/attach.php');
    elgg_register_action('todos/todo/move', $actions_path . 'todo/move.php');
    elgg_register_ajax_view('todos/todolist/form');
    elgg_register_ajax_view('todos/todoitem/form');
    elgg_register_ajax_view('todos/todoitem/attach');
    elgg_register_plugin_hook_handler('register', 'menu:todoitem', 'todos_todoitem_menu_register');
    elgg_register_plugin_hook_handler('register', 'menu:todolist', 'todos_todolist_menu_register');
    elgg_register_plugin_hook_handler('register', 'menu:filter', 'todos_filter_menu_register');
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'todos_group_owner_block_menu_register');
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'todos_user_owner_block_menu_register');
    elgg_register_plugin_hook_handler('cron', 'daily', 'todos_cron_handler');
    elgg_register_plugin_hook_handler('permissions_check:comment', 'object', 'todos_todoitem_can_comment');
    elgg_register_plugin_hook_handler('permissions_check', 'object', 'todos_todolist_can_edit');
    // groups
    if (todos_group_enabled()) {
        add_group_tool_option('todos', elgg_echo('todos:group:tool_option'), false);
    }
    // widgets
    elgg_register_plugin_hook_handler("widget_url", "widget_manager", "todos_widget_title_url");
    elgg_register_widget_type('todos_assigned', elgg_echo('todos:widget:assigned:title'), elgg_echo('todos:widget:assigned:description'), 'dashboard');
    elgg_register_widget_type('todos_closed', elgg_echo('todos:widget:closed:title'), elgg_echo('todos:widget:closed:description'), 'index,groups');
    elgg_register_widget_type('todos_due', elgg_echo('todos:widget:due:title'), elgg_echo('todos:widget:due:description'), 'index,groups');
    elgg_register_widget_type('todos_created', elgg_echo('todos:widget:created:title'), elgg_echo('todos:widget:created:description'), 'index,groups');
    elgg_register_widget_type('todos_list', elgg_echo('todos:widget:list:title'), elgg_echo('todos:widget:list:description'), 'dashboard,groups', true);
}
示例#2
0
文件: hooks.php 项目: coldtrick/todos
/**
 * Adds the menu items to the owner_block of a group
 *
 * @param string         $hook   name of the hook
 * @param string         $type   type of the hook
 * @param ElggMenuItem[] $return return value
 * @param array          $params hook parameters
 *
 * @return ElggMenuItem[]
 */
function todos_group_owner_block_menu_register($hook, $type, $return, $params)
{
    if (empty($params) || !is_array($params)) {
        return $return;
    }
    $entity = elgg_extract('entity', $params);
    if (empty($entity) || !elgg_instanceof($entity, 'group')) {
        return $return;
    }
    if (!todos_group_enabled($entity)) {
        return $return;
    }
    $return[] = ElggMenuItem::factory(array('name' => 'todos', 'text' => elgg_echo('todos:owner_block:group'), 'href' => "todos/group/{$entity->getGUID()}/all"));
    return $return;
}
示例#3
0
/**
 * Wrapper function to check if todos is enabled to user/group
 *
 * @param ElggEntity $container the user/group to check
 *
 * @return bool
 */
function todos_enabled_for_container(ElggEntity $container)
{
    if (empty($container) || !elgg_instanceof($container)) {
        return false;
    }
    if (elgg_instanceof($container, 'group')) {
        return todos_group_enabled($container);
    }
    return todos_personal_enabled();
}