/** * Registers meta boxes. * * @global type $post */ public static function wpcf_access_post_add_meta_boxes() { global $post; $areas = Access_Helper::wpcf_access_get_areas(); if (!empty($areas)) { $roles = Access_Helper::wpcf_get_editable_roles(); TAccess_Loader::load('CLASS/Admin_Edit'); //add_action('admin_footer', 'wpcf_access_suggest_js'); // this callback does not seem to exist foreach ($areas as $area) { // Add meta boxes add_meta_box('wpcf-access-' . $area['id'], $area['name'], array(__CLASS__, 'wpcf_access_post_meta_box'), $post->post_type, 'advanced', 'high', array($area, $roles)); } } }
function taccess_export($what) { TAccess_Loader::load('CLASS/XML_Processor'); $xmlstring = Access_XML_Processor::exportToXMLString($what); return $xmlstring; }
public static function wpcf_process_change_role_caps_ajax() { if (!current_user_can('manage_options')) { _e('There are security problems. You do not have permissions.', 'wpcf-access'); die; } if (!isset($_POST['wpnonce']) || !wp_verify_nonce($_POST['wpnonce'], 'wpcf-access-error-pages')) { die('verification failed'); } $role = sanitize_text_field($_POST['role']); $caps = ''; if (isset($_POST['caps'])) { $caps = array_map('sanitize_text_field', $_POST['caps']); } TAccess_Loader::load('CLASS/Admin_Edit'); $model = TAccess_Loader::get('MODEL/Access'); $default_caps = getDefaultCaps(); $default_wordpress_caps = $default_caps[10]; $access_roles = $model->getAccessRoles(); $wocommerce_caps = get_woocommerce_caps(); $wpml_caps_list = get_wpml_caps(); $custom_caps = get_option('wpcf_access_custom_caps'); //$toolset_caps_list = get_toolset_caps(); $role_data = get_role($role); for ($i = 0, $caps_limit = count($default_wordpress_caps); $i < $caps_limit; $i++) { if (isset($access_roles[$role]['caps'][$default_wordpress_caps[$i]])) { unset($access_roles[$role]['caps'][$default_wordpress_caps[$i]]); $role_data->remove_cap($default_wordpress_caps[$i]); } } foreach ($wocommerce_caps as $cap => $cap_info) { if (isset($access_roles[$role]['caps'][$cap])) { unset($access_roles[$role]['caps'][$cap]); $role_data->remove_cap($cap); } } foreach ($wpml_caps_list as $cap => $cap_info) { if (isset($access_roles[$role]['caps'][$cap])) { unset($access_roles[$role]['caps'][$cap]); $role_data->remove_cap($cap); } } if (is_array($custom_caps)) { foreach ($custom_caps as $cap => $cap_info) { if (isset($access_roles[$role]['caps'][$cap])) { unset($access_roles[$role]['caps'][$cap]); $role_data->remove_cap($cap); } } } if (class_exists('WPDD_Layouts_Users_Profiles')) { foreach (WPDD_Layouts_Users_Profiles::ddl_get_capabilities() as $cap => $cap_info) { if (isset($access_roles[$role]['caps'][$cap])) { unset($access_roles[$role]['caps'][$cap]); $role_data->remove_cap($cap); } } } $access_caps = array('access_change_post_group' => __('Select access group for content', 'wpcf-access'), 'access_create_new_group' => __('Create new access groups', 'wpcf-access')); foreach ($access_caps as $cap => $cap_info) { if (isset($access_roles[$role]['caps'][$cap])) { unset($access_roles[$role]['caps'][$cap]); $role_data->remove_cap($cap); } } /* foreach ($toolset_caps_list as $cap => $cap_info){ if ( isset( $access_roles[$role]['caps'][$cap] ) ){ unset( $access_roles[$role]['caps'][$cap] ); $role_data->remove_cap($cap); } } */ for ($i = 0, $caps_limit = count($caps); $i < $caps_limit; $i++) { $cap = str_replace('cap_', '', $caps[$i]); $access_roles[$role]['caps'][$cap] = true; $role_data->add_cap($cap); } $model->updateAccessRoles($access_roles); die; }
public static function import_export_hook($action) { if (isset($_POST['access-export']) && wp_verify_nonce($_POST['access-export-form'], 'access-export-form')) { TAccess_Loader::load('CLASS/XML_Processor'); Access_XML_Processor::exportToXML('all'); } }