function bf_profile_tabs($tabs) { global $buddyforms, $bf_um_tabs, $bf_um_form_slug; // run thrue all forms and check if they should get integrated if (isset($buddyforms) && is_array($buddyforms)) { foreach ($buddyforms as $form_slug => $form) { if (isset($form['ultimate_members_profiles_integration'])) { $bf_um_form_slug = str_replace('-', '', $form_slug); $bf_um_tabs[$bf_um_form_slug] = $form_slug; // Set the Tap slug $parent_tab_slug = bf_ultimate_member_parent_tab($form); // Set the Tab name $parent_tab_name = $form['name']; // Check if the form has a parent tap and use the parent tab name instad the from name if (isset($form['ultimate_members_profiles_integration']) && isset($form['ultimate_members_profiles_parent_tab'])) { $attached_page = $form['attached_page']; $parent_tab_page = get_post($attached_page, 'OBJECT'); $parent_tab_name = $parent_tab_page->post_title; } // Check if this form is grouped under a Parent Tap and only create the nav item once if (!isset($tabs[$parent_tab_slug])) { $tabs[$parent_tab_slug] = array('name' => $parent_tab_name, 'icon' => 'um-faicon-pencil', 'custom' => true); $tabs[$parent_tab_slug]['subnav_default'] = 'posts-' . $bf_um_form_slug; add_action('um_profile_content_' . $parent_tab_slug . '_default', create_function('$args', 'bf_profile_tabs_content(' . $bf_um_form_slug . ');')); } // Add the Subtabs to the Ultimate Member Menue $tabs[$parent_tab_slug]['subnav']['posts-' . $bf_um_form_slug] = __('View ' . $form['singular_name'], 'buddyforms'); // Add the Subtab for the create only if diplayd profil is from loged in user. if (um_is_user_himself()) { // Check if the user has the needed rights if (current_user_can('buddyforms_' . $form_slug . '_create')) { $tabs[$parent_tab_slug]['subnav']['form-' . $bf_um_form_slug] = __('Create ' . $form['singular_name'], 'buddyforms'); } } // Hook the content into the coret tabs add_action('um_profile_content_' . $parent_tab_slug . '_posts-' . $bf_um_form_slug, 'bf_profile_tabs_content'); add_action('um_profile_content_' . $parent_tab_slug . '_form-' . $bf_um_form_slug, 'bf_profile_tabs_content'); } } } return $tabs; }
function um_can_edit_field($data) { global $ultimatemember; if (isset($ultimatemember->fields->editing) && $ultimatemember->fields->editing == true && isset($ultimatemember->fields->set_mode) && $ultimatemember->fields->set_mode == 'profile') { if (is_user_logged_in() && isset($data['editable']) && $data['editable'] == 0) { if (um_is_user_himself() && !um_user('can_edit_everyone')) { return false; } if (!um_is_user_himself() && !um_user_can('can_edit_everyone')) { return false; } } } return true; }