123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- <?php
- /**
- * Proposals
- *
- * @package Proposals
- *
- */
- elgg_register_event_handler('init', 'system', 'proposals_init');
- /**
- * Init proposals plugin.
- */
- function proposals_init() {
-
- if (!elgg_is_active_plugin('crud')) {
- return;
- }
- // register proposals library
- elgg_register_library('elgg:proposals', elgg_get_plugins_path() . 'proposals/lib/proposals.php');
-
- // add to the main css
- elgg_extend_view('css/elgg', 'proposals/css');
- // Add group option
- add_group_tool_option('proposals', elgg_echo('proposals:enableproposals'), false);
- elgg_extend_view('groups/tool_latest', 'proposals/group_module');
- //
- $action_path = elgg_get_plugins_path() . 'proposals/actions/proposals';
- elgg_register_action("proposals/vote", "$action_path/vote.php");
- elgg_register_plugin_hook_handler('permissions_check:annotate', 'object', 'proposals_user_can_vote');
- // data types
- $variables = array(
- 'title' => 'text',
- 'description' => 'longtext',
- #'tags' => 'tags',
- 'access_id' => 'access',
- );
-
- $crud = crud_register_type('decision', $variables);
- $crud->children_type = 'proposal';
- // the following is to not overwrite module if assemblies set it
- // before, since we don't need explicit module.
- if ($crud->module == 'decision') {
- $crud->module = 'proposals';
- }
- //$crud->module = 'proposals';
- $crud->owner_menu = 'group';
- $variables = array(
- 'title' => 'text',
- 'description' => 'longtext',
- 'tags' => 'tags',
- 'access_id' => 'access',
- 'improves_guid' => array(
- 'type' => 'url',
- 'input_view' => 'hidden',
- 'output_view' => 'proposal',
- 'default_value' => get_input('improves'),
- ),
- );
-
- $crud = crud_register_type('proposal', $variables);
- #$crud->children_type = 'agenda_point';
- $crud->module = 'proposals';
- }
- function proposals_user_can_vote($hook, $type, $return, $params) {
- if ($params['annotation_name'] == 'votes') {
- $return = $params['entity']->getContainerEntity()->isMember($params['user']);
- }
- return $return;
- }
|