Example #1
0
 /**
  * s2Member's Security Gate (protects WordPress content).
  *
  * @package s2Member\Security
  * @since 3.5
  *
  * @attaches-to ``add_action("wp");``
  *
  * @return null May redirect a browser *(exiting script execution)*, when/if content is NOT available to the current User/Member.
  */
 public static function security_gate()
 {
     do_action("ws_plugin__s2member_before_security_gate", get_defined_vars());
     if (is_category()) {
         // Categories & other inclusives.
         c_ws_plugin__s2member_catgs::check_catg_level_access();
     } else {
         if (is_tag()) {
             // Post/Page Tags & other inclusives.
             c_ws_plugin__s2member_ptags::check_ptag_level_access();
         } else {
             if (is_single()) {
                 // All Posts & other inclusives.
                 c_ws_plugin__s2member_posts::check_post_level_access();
             } else {
                 if (is_page()) {
                     // All Pages & other inclusives.
                     c_ws_plugin__s2member_pages::check_page_level_access();
                 } else {
                     // Else, we simply look at URIs & other inclusives.
                     c_ws_plugin__s2member_ruris::check_ruri_level_access();
                 }
             }
         }
     }
     do_action("ws_plugin__s2member_after_security_gate", get_defined_vars());
     return;
 }