| | 345 | /** |
| | 346 | * Retrieve current action. |
| | 347 | * |
| | 348 | * @since 3.5.0 |
| | 349 | * @access private |
| | 350 | * |
| | 351 | * @return string Requested action. |
| | 352 | */ |
| | 353 | function _get_login_action() { |
| | 354 | $action = isset( $_REQUEST['action'] ) ? $_REQUEST['action'] : 'login'; |
| | 355 | |
| | 356 | if ( isset( $_GET['key'] ) ) |
| | 357 | $action = 'resetpass'; |
| | 358 | |
| | 359 | // validate action so as to default to the login screen |
| | 360 | if ( ! in_array( $action, array( 'postpass', 'logout', 'lostpassword', 'retrievepassword', 'resetpass', 'rp', 'register', 'login' ), true ) && false === has_filter( 'login_form_' . $action ) ) |
| | 361 | $action = 'login'; |
| | 362 | |
| | 363 | return $action; |
| | 364 | } |
| | 365 | |
| | 366 | /** |
| | 367 | * Display the classes for the body element. |
| | 368 | * |
| | 369 | * @since 3.5.0 |
| | 370 | * |
| | 371 | * @param string|array $class One or more classes to add to the class list. |
| | 372 | */ |
| | 373 | function login_body_class( $class = '' ) { |
| | 374 | echo 'class="' . join( ' ', get_login_body_class( $class ) ) . '"'; |
| | 375 | } |
| | 376 | |
| | 377 | /** |
| | 378 | * Retrieve the classes for the body element as an array. |
| | 379 | * |
| | 380 | * @since 3.5.0 |
| | 381 | * |
| | 382 | * @param string|array $class One or more classes to add to the class list. |
| | 383 | * @return array Array of classes. |
| | 384 | */ |
| | 385 | function get_login_body_class( $class = '' ) { |
| | 386 | $classes = array( 'login' ); |
| | 387 | |
| | 388 | $classes[] = _get_login_action(); |
| | 389 | |
| | 390 | if ( is_rtl() ) |
| | 391 | $classes[] = 'rtl'; |
| | 392 | |
| | 393 | if ( wp_is_mobile() ) |
| | 394 | $classes[] = 'mobile'; |
| | 395 | |
| | 396 | if ( ! empty( $class ) ) { |
| | 397 | if ( ! is_array( $class ) ) |
| | 398 | $class = preg_split( '#\s+#', $class ); |
| | 399 | $classes = array_merge( $classes, $class ); |
| | 400 | } |
| | 401 | |
| | 402 | $classes = array_map( 'esc_attr', $classes ); |
| | 403 | |
| | 404 | return array_unique( apply_filters( 'login_body_class', $classes, $class ) ); |
| | 405 | } |
| | 406 | |