Esempio n. 1
0
 /**
  * The actualiser to absorb usergroup permissions.
  *
  * @return tempcode		The UI
  */
 function _absorb()
 {
     require_lang('security');
     $to = post_param_integer('to');
     $from = post_param_integer('from');
     if ($to == $from) {
         warn_exit(do_lang_tempcode('MERGE_SAME'));
     }
     $title = get_page_title('ABSORB_PERMISSIONS');
     $GLOBALS['HELPER_PANEL_PIC'] = 'pagepics/privileges';
     $GLOBALS['HELPER_PANEL_TUTORIAL'] = 'tut_permissions';
     // Although the code is from OCF, it is safe to use for other forum drivers
     require_code('ocf_groups_action');
     require_code('ocf_groups_action2');
     ocf_group_absorb_privileges_of($to, $from);
     breadcrumb_set_parents(array(array('_SELF:_SELF:absorb', do_lang_tempcode('ABSORB_PERMISSIONS'))));
     breadcrumb_set_self(do_lang_tempcode('DONE'));
     $url = build_url(array('page' => '_SELF', 'type' => 'absorb'), '_SELF');
     return redirect_screen($title, $url, do_lang_tempcode('SUCCESS'));
 }
Esempio n. 2
0
 /**
  * Standard aed_module edit actualiser.
  *
  * @param  ID_TEXT		The entry being edited
  * @return ?tempcode		Confirm message (NULL: continue)
  */
 function edit_actualisation($id)
 {
     require_code('themes2');
     list($group_leader, $promotion_target, $promotion_threshold) = $this->read_in_data();
     if (!is_null($group_leader) && post_param_integer('confirm', 0) == 0 && !in_array(intval($id), $GLOBALS['FORUM_DRIVER']->get_members_groups($group_leader))) {
         require_code('templates_confirm_screen');
         return form_confirm_screen(get_page_title('EDIT_GROUP'), paragraph(do_lang_tempcode('MAKE_MEMBER_GROUP_LEADER', post_param('group_leader'))), '__ed', '_ed', array('confirm' => 1));
     }
     $was_club = $GLOBALS['FORUM_DB']->query_value('f_groups', 'g_is_private_club', array('id' => intval($id))) == 1;
     $rank_img = get_theme_img_code('ocf_rank_images', true, 'file', 'theme_img_code', $GLOBALS['FORUM_DB']);
     ocf_edit_group(intval($id), post_param('name'), post_param_integer('is_default', 0), post_param_integer('is_super_admin', 0), post_param_integer('is_super_moderator', 0), post_param('title'), $rank_img, $promotion_target, $promotion_threshold, $group_leader, post_param_integer('flood_control_submit_secs'), post_param_integer('flood_control_access_secs'), post_param_integer('max_daily_upload_mb'), post_param_integer('max_attachments_per_post'), post_param_integer('max_avatar_width', 100), post_param_integer('max_avatar_height', 100), post_param_integer('max_post_length_comcode'), post_param_integer('max_sig_length_comcode', 10000), post_param_integer('gift_points_base', 0), post_param_integer('gift_points_per_day', 0), post_param_integer('enquire_on_new_ips', 0), post_param_integer('is_presented_at_install', 0), post_param_integer('hidden', 0), post_param_integer('order'), post_param_integer('rank_image_pri_only', 0), post_param_integer('open_membership', 0), post_param_integer('is_private_club', 0));
     if (addon_installed('ecommerce')) {
         require_lang('ecommerce');
         $this->extra_donext_whatever = array(array('ecommerce', array('admin_ecommerce', array('type' => 'ad', 'group_id' => $id), '_SELF'), do_lang_tempcode('ADD_USERGROUP_SUBSCRIPTION')));
         $this->extra_donext_whatever_title = do_lang_tempcode('MODULE_TRANS_NAME_subscriptions');
     }
     if (!is_null($group_leader) && !in_array(intval($id), $GLOBALS['FORUM_DRIVER']->get_members_groups($group_leader))) {
         ocf_add_member_to_group($group_leader, intval($id));
     }
     $absorb = post_param_integer('absorb', -1);
     if ($absorb != -1) {
         ocf_group_absorb_privileges_of(intval($id), $absorb);
     }
     if (post_param_integer('is_private_club', 0) == 1 && !$was_club) {
         $GLOBALS['SITE_DB']->query_delete('gsp', array('group_id' => intval($id)));
         $GLOBALS['SITE_DB']->query_delete('group_zone_access', array('group_id' => intval($id)));
         $GLOBALS['SITE_DB']->query_delete('group_category_access', array('group_id' => intval($id)));
         $GLOBALS['SITE_DB']->query_delete('group_page_access', array('group_id' => intval($id)));
     }
     return NULL;
 }