require_once 'xmaps-post-type.php'; require_once 'xmaps-settings.php'; require_once 'xmaps-wa-api.php'; require_once 'xmaps-user.php'; register_activation_hook(__FILE__, function () { XMapsDatabase::create_tables(null); if (is_multisite()) { foreach (wp_get_sites() as $site) { XMapsDatabase::create_tables($site['blog_id']); } } XMapsPostType::register_post_types(); flush_rewrite_rules(); }); add_action('wpmu_new_blog', function ($blog_id) { XMapsDatabase::create_tables($blog_id); }); add_action('init', function () { XMapsPostType::register_post_types(); remove_role('xmapper'); add_role('xmapper', 'Mapper', array('read' => true, 'upload_files' => true, 'publish_xmaps' => true, 'read_private_xmaps' => false, 'edit_xmaps' => true, 'edit_published_xmaps' => true, 'edit_others_xmaps' => false, 'edit_private_xmaps' => true, 'delete_xmaps' => true, 'delete_published_xmaps' => true, 'delete_others_xmaps' => false, 'delete_private_xmaps' => true, 'manage_xmaps_tags' => true)); global $wp_roles; $roles = $wp_roles->get_names(); foreach ($roles as $k => $v) { if ('xmapper' == $k) { continue; } $role = $wp_roles->get_role($k); if ($role->has_cap('publish_posts')) { $role->add_cap('publish_xmaps'); }