public function __construct($type, $main, $permission_cap = NULL, $caps_mapping = NULL)
 {
     self::$META_DATA_KEY = WPFront_User_Role_Editor::PLUGIN_SLUG . '-role-permission';
     self::$POSTS_COLUMN_KEY = WPFront_User_Role_Editor::PLUGIN_SLUG . '-role-permission-column-key';
     parent::__construct($main);
     $this->type = $type;
     if ($permission_cap === NULL) {
         $permission_cap = 'edit_' . $this->type . 's_role_permissions';
     }
     $this->permission_cap = $permission_cap;
     if ($caps_mapping === NULL) {
         $caps_mapping = (object) array('edit_posts' => 'edit_' . $this->type . 's', 'edit_published_posts' => 'edit_published_' . $this->type . 's', 'edit_others_posts' => 'edit_others_' . $this->type . 's', 'edit_private_posts' => 'edit_private_' . $this->type . 's', 'delete_posts' => 'delete_' . $this->type . 's', 'delete_published_posts' => 'delete_published_' . $this->type . 's', 'delete_others_posts' => 'delete_others_' . $this->type . 's', 'delete_private_posts' => 'delete_private_' . $this->type . 's');
     }
     $caps_mapping->read = 'read';
     $this->caps_mapping = $caps_mapping;
     self::$extended_post_types[$type] = (object) array('permission_cap' => $permission_cap, 'caps_mapping' => $caps_mapping);
     add_action('add_meta_boxes', array($this, 'add_meta_boxes'));
     add_action('save_post', array($this, 'save_post'), 10, 1);
     add_filter('posts_where', array($this, 'posts_where'), 10, 2);
     add_filter('posts_join', array($this, 'posts_join'), 10, 2);
     add_action('admin_enqueue_scripts', array($this, 'enqueue_scripts'));
     add_filter('user_has_cap', array($this, 'user_has_cap'), 10, 3);
     add_filter('manage_' . $type . 's_columns', array($this, 'manage_posts_columns'), 10, 1);
     add_filter('manage_' . $type . 's_custom_column', array($this, 'manage_posts_columns_content'), 10, 3);
 }
 public function __construct($main)
 {
     parent::__construct('page', $main);
 }
 public function __construct($post_type, $main, $permission_cap, $caps_mapping)
 {
     parent::__construct($post_type, $main, $permission_cap, $caps_mapping);
 }
 public function get_extended_post_types_info()
 {
     return WPFront_User_Role_Editor_Post_Type_Permissions::get_extended_post_types_info();
 }