PageRenderTime 40ms CodeModel.GetById 15ms RepoModel.GetById 1ms app.codeStats 0ms

/wp-content/plugins/s2member/includes/classes/login-customizations.inc.php

https://gitlab.com/Gashler/dp
PHP | 192 lines | 96 code | 33 blank | 63 comment | 13 complexity | a6548637fb23b19b5c2a6c19590783b7 MD5 | raw file
  1. <?php
  2. /**
  3. * Login customizations.
  4. *
  5. * Copyright: © 2009-2011
  6. * {@link http://www.websharks-inc.com/ WebSharks, Inc.}
  7. * (coded in the USA)
  8. *
  9. * Released under the terms of the GNU General Public License.
  10. * You should have received a copy of the GNU General Public License,
  11. * along with this software. In the main directory, see: /licensing/
  12. * If not, see: {@link http://www.gnu.org/licenses/}.
  13. *
  14. * @package s2Member\Login_Customizations
  15. * @since 3.5
  16. */
  17. if(realpath(__FILE__) === realpath($_SERVER["SCRIPT_FILENAME"]))
  18. exit("Do not access this file directly.");
  19. if(!class_exists("c_ws_plugin__s2member_login_customizations"))
  20. {
  21. /**
  22. * Login customizations.
  23. *
  24. * @package s2Member\Login_Customizations
  25. * @since 3.5
  26. */
  27. class c_ws_plugin__s2member_login_customizations
  28. {
  29. /**
  30. * Filters the login/registration logo URL.
  31. *
  32. * @package s2Member\Login_Customizations
  33. * @since 3.5
  34. *
  35. * @attaches-to ``add_filter("login_headerurl");``
  36. *
  37. * @param str $url Expects a login header URL passed in by the Filter.
  38. * @return str A URL based on s2Member's UI configuration.
  39. */
  40. public static function login_header_url($url = FALSE)
  41. {
  42. if(!$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_design_enabled"])
  43. return $url; // Login/Registration Design disabled in this case.
  44. do_action("ws_plugin__s2member_before_login_header_url", get_defined_vars());
  45. $url = $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_logo_url"];
  46. return apply_filters("ws_plugin__s2member_login_header_url", $url, get_defined_vars());
  47. }
  48. /**
  49. * Filters the login/registration logo title.
  50. *
  51. * @package s2Member\Login_Customizations
  52. * @since 3.5
  53. *
  54. * @attaches-to ``add_filter("login_headertitle");``
  55. *
  56. * @param str $title Expects a title passed in by the Filter.
  57. * @return str A title based on s2Member's UI configuration.
  58. */
  59. public static function login_header_title($title = FALSE)
  60. {
  61. if(!$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_design_enabled"])
  62. return $title; // Login/Registration Design disabled in this case.
  63. do_action("ws_plugin__s2member_before_login_header_title", get_defined_vars());
  64. $title = $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_logo_title"];
  65. return apply_filters("ws_plugin__s2member_login_header_title", $title, get_defined_vars());
  66. }
  67. /**
  68. * Styles login/registration *( i.e. `/wp-login.php` )*.
  69. *
  70. * @package s2Member\Login_Customizations
  71. * @since 3.5
  72. *
  73. * @attaches-to ``add_action("login_head");``
  74. *
  75. * @return void
  76. */
  77. public static function login_header_styles()
  78. {
  79. if(!$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_design_enabled"])
  80. return; // Login/Registration Design disabled in this case.
  81. $s = /* Initialize styles string here to give Hooks a chance. */ "";
  82. $a = /* Initialize here to give Filters a chance. */ array();
  83. foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;
  84. do_action("ws_plugin__s2member_before_login_header_styles", get_defined_vars());
  85. unset /* Unset defined __refs, __v. */ ($__refs, $__v);
  86. $a[] = /* Open style tag, then give Filters a chance below. */ '<style type="text/css">';
  87. $i = apply_filters("ws_plugin__s2member_login_header_styles_important", " !important", get_defined_vars());
  88. $a = apply_filters("ws_plugin__s2member_login_header_styles_array_after_open", $a, get_defined_vars());
  89. $a[] = /* Clear existing. */ 'html, body { border:0'.$i.'; background:none'.$i.'; }';
  90. $a[] = 'html { background-color:#'.$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_background_color"].$i.'; }';
  91. $a[] = 'html { background-image:url('.$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_background_image"].')'.$i.'; }';
  92. $a[] = 'html { background-repeat:'.$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_background_image_repeat"].$i.'; }';
  93. $a[] = 'body, body * { font-size:'.$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_font_size"].$i.'; }';
  94. $a[] = 'body, body * { font-family:'.$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_font_family"].$i.'; }';
  95. $a[] = 'div#login { width:'.$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_logo_src_width"].'px'.$i.'; }';
  96. $a[] = 'div#login h1 a { background:url('.$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_logo_src"].') no-repeat top center'.$i.'; background-size:auto'.$i.'; }';
  97. $a[] = 'div#login h1 a { display:block'.$i.'; width:100%'.$i.'; height:'.$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_logo_src_height"].'px'.$i.'; }';
  98. $a[] = 'div#login form { -moz-box-shadow:1px 1px 5px #'.$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_background_box_shadow_color"].', -1px -1px 5px #'.$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_background_box_shadow_color"].$i.'; -webkit-box-shadow:1px 1px 5px #'.$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_background_box_shadow_color"].', -1px -1px 5px #'.$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_background_box_shadow_color"].$i.'; box-shadow:1px 1px 5px #'.$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_background_box_shadow_color"].', -1px -1px 5px #'.$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_background_box_shadow_color"].$i.'; }';
  99. $a[] = 'div#login p#nav, div#login p#nav a, div#login p#nav a:hover, div#login p#nav a:active, div#login p#nav a:focus { color:#'.$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_background_text_color"].$i.'; text-shadow:1px 1px 3px #'.$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_background_text_shadow_color"].$i.'; }';
  100. $a[] = 'div#login p#backtoblog, div#login p#backtoblog a, div#login p#backtoblog a:hover, div#login p#backtoblog a:active, div#login p#backtoblog a:focus { color:#'.$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_background_text_color"].$i.'; text-shadow:1px 1px 3px #'.$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_background_text_shadow_color"].$i.'; }';
  101. $a[] = /* Handles paragraph margins inside the form. */ 'div#login form p { margin:2px 0 16px 0'.$i.'; }';
  102. $a[] = 'div#login form input[type="text"], div#login form input[type="email"], div#login form input[type="password"], div#login form textarea, div#login form select { font-weight:normal'.$i.'; color:#333333'.$i.'; background:none repeat scroll 0 0 #FBFBFB'.$i.'; border:1px solid #E5E5E5'.$i.'; font-size:'.$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_font_field_size"].$i.'; margin:0'.$i.'; padding:3px'.$i.'; -moz-border-radius:3px'.$i.'; -webkit-border-radius:3px'.$i.'; border-radius:3px'.$i.'; width:100%'.$i.'; width:98%'.$i.' !ie<8; margin-right:2%'.$i.' !ie<8; box-sizing:border-box'.$i.'; -ms-box-sizing:border-box'.$i.'; -moz-box-sizing:border-box'.$i.'; -webkit-box-sizing:border-box'.$i.'; }';
  103. $a[] = 'div#login form select { width:99.5%'.$i.' !ie<8; } div#login form select > option { font-size:'.$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_font_field_size"].$i.'; }';
  104. $a[] = 'div#login form label { cursor:pointer'.$i.'; } div#login form label.ws-plugin--s2member-custom-reg-field-op-l { opacity:0.7'.$i.'; font-size:90%'.$i.'; vertical-align:middle'.$i.'; }';
  105. $a[] = 'div#login form input[type="checkbox"], div#login form input[type="radio"] { margin:0 3px 0 0'.$i.'; vertical-align:middle'.$i.'; }';
  106. $a[] = 'div#login form input#ws-plugin--s2member-custom-reg-field-user-pass2[type="password"] { margin-top:5px'.$i.'; }';
  107. $a[] = 'div#login form div.ws-plugin--s2member-custom-reg-field-divider-section { margin:2px 0 16px 0'.$i.'; border:0'.$i.'; height:1px'.$i.'; line-height:1px'.$i.'; background:#CCCCCC'.$i.'; }';
  108. $a[] = 'div#login form div.ws-plugin--s2member-custom-reg-field-divider-section-title { margin:2px 0 16px 0'.$i.'; border:0 solid #CCCCCC'.$i.'; border-width:0 0 1px 0'.$i.'; padding:0 0 10px 0'.$i.'; font-size:110%'.$i.'; }';
  109. $a[] = 'div#login form input[type="submit"], div#login form input[type="submit"]:hover, div#login form input[type="submit"]:active, div#login form input[type="submit"]:focus { color:#666666'.$i.'; text-shadow:2px 2px 5px #EEEEEE'.$i.'; border:1px solid #999999'.$i.'; background:#FBFBFB'.$i.';'.((version_compare(get_bloginfo("version"), "3.5", "<")) ? ' padding:5px'.$i.';' : '').' -moz-border-radius:3px'.$i.'; -webkit-border-radius:3px'.$i.'; border-radius:3px'.$i.'; }';
  110. $a[] = 'div#login form input[type="submit"]:hover, div#login form input[type="submit"]:active, div#login form input[type="submit"]:focus { color:#000000'.$i.'; text-shadow:2px 2px 5px #CCCCCC'.$i.'; border-color:#000000'.$i.'; }';
  111. $a[] = 'div#login form#registerform { padding-bottom:16px'.$i.'; } div#login form#registerform p.submit { float:none'.$i.'; margin-top:-10px'.$i.'; } div#login form#registerform input[type="submit"] { float:none'.$i.'; width:100%'.$i.'; width:98%'.$i.' !ie<8; margin-right:2%'.$i.' !ie<8; box-sizing:border-box'.$i.'; -ms-box-sizing:border-box'.$i.'; -moz-box-sizing:border-box'.$i.'; -webkit-box-sizing:border-box'.$i.'; }';
  112. $a[] = 'div#login form#lostpasswordform { padding-bottom:16px'.$i.'; } div#login form#lostpasswordform p.submit { float:none'.$i.'; } div#login form#lostpasswordform input[type="submit"] { float:none'.$i.'; width:100%'.$i.'; width:98%'.$i.' !ie<8; margin-right:2%'.$i.' !ie<8; box-sizing:border-box'.$i.'; -ms-box-sizing:border-box'.$i.'; -moz-box-sizing:border-box'.$i.'; -webkit-box-sizing:border-box'.$i.'; }';
  113. $a[] = 'div.ws-plugin--s2member-password-strength { margin-top:3px'.$i.'; font-color:#000000'.$i.'; background-color:#EEEEEE'.$i.'; padding:3px'.$i.'; -moz-border-radius:3px'.$i.'; -webkit-border-radius:3px'.$i.'; border-radius:3px'.$i.'; } div.ws-plugin--s2member-password-strength-short { background-color:#FFA0A0'.$i.'; } div.ws-plugin--s2member-password-strength-bad { background-color:#FFB78C'.$i.'; } div.ws-plugin--s2member-password-strength-good { background-color:#FFEC8B'.$i.'; } div.ws-plugin--s2member-password-strength-strong { background-color:#C3FF88'.$i.'; } div.ws-plugin--s2member-password-strength-mismatch { background-color:#D6C1AB'.$i.'; }';
  114. $a[] = 'div#login form#registerform p#reg_passmail { font-style:italic'.$i.'; }';
  115. if($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["custom_reg_password"])
  116. $a[] = 'div#login form#registerform p#reg_passmail { display:none'.$i.'; }';
  117. if(!$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_footer_backtoblog"])
  118. $a[] = 'div#login p#backtoblog { display:none'.$i.'; }';
  119. $a = apply_filters("ws_plugin__s2member_login_header_styles_array_before_close", $a, get_defined_vars());
  120. $a[] = /* Now close style tag. There are other Filters below. */ '</style>';
  121. foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;
  122. do_action("ws_plugin__s2member_during_login_header_styles", get_defined_vars());
  123. unset /* Unset defined __refs, __v. */ ($__refs, $__v);
  124. $a = apply_filters("ws_plugin__s2member_login_header_styles_array", $a, get_defined_vars());
  125. $s .= /* Now put all array elements together. */ "\n".implode("\n", $a)."\n\n";
  126. echo apply_filters("ws_plugin__s2member_login_header_styles", $s, get_defined_vars());
  127. do_action("ws_plugin__s2member_after_login_header_styles", get_defined_vars());
  128. return /* Return for uniformity. */;
  129. }
  130. /**
  131. * Displays login footer design.
  132. *
  133. * @package s2Member\Login_Customizations
  134. * @since 3.5
  135. *
  136. * @attaches-to ``add_action("login_footer");``
  137. *
  138. * @return void
  139. */
  140. public static function login_footer_design()
  141. {
  142. if(!$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_design_enabled"])
  143. return; // Login/Registration Design disabled in this case.
  144. do_action("ws_plugin__s2member_before_login_footer_design", get_defined_vars());
  145. if(($code = $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_footer_design"]))
  146. if(is_multisite() && c_ws_plugin__s2member_utils_conds::is_multisite_farm() && !is_main_site())
  147. {
  148. echo /* No PHP here. */ $code."\n";
  149. }
  150. else // Otherwise, safe to allow PHP code.
  151. {
  152. eval("?>".$code);
  153. }
  154. do_action("ws_plugin__s2member_after_login_footer_design", get_defined_vars());
  155. return /* Return for uniformity. */;
  156. }
  157. }
  158. }
  159. ?>