Plugin Directory

source: shortcodes-ultimate/tags/7.1.4/includes/shortcodes/members.php

Last change on this file was 3074867, checked in by gn_themes, 12 months ago

7.1.4

  • Property svn:executable set to *
File size: 2.7 KB
Line 
1<?php
2
3su_add_shortcode(
4        array(
5                'id'       => 'members',
6                'callback' => 'su_shortcode_members',
7                'image'    => su_get_plugin_url() . 'admin/images/shortcodes/members.svg',
8                'name'     => __( 'Members', 'shortcodes-ultimate' ),
9                'type'     => 'wrap',
10                'group'    => 'other',
11                'atts'     => array(
12                        'message'    => array(
13                                'default' => __( 'This content is for registered users only. Please %login%.', 'shortcodes-ultimate' ),
14                                'name'    => __( 'Message', 'shortcodes-ultimate' ),
15                                'desc'    => __( 'Message for not logged users', 'shortcodes-ultimate' ),
16                        ),
17                        'color'      => array(
18                                'type'    => 'color',
19                                'default' => '#ffcc00',
20                                'name'    => __( 'Box color', 'shortcodes-ultimate' ),
21                                'desc'    => __( 'This color will applied only to box for not logged users', 'shortcodes-ultimate' ),
22                        ),
23                        'login_text' => array(
24                                'default' => __( 'login', 'shortcodes-ultimate' ),
25                                'name'    => __( 'Login link text', 'shortcodes-ultimate' ),
26                                'desc'    => __( 'Text for the login link', 'shortcodes-ultimate' ),
27                        ),
28                        'login_url'  => array(
29                                'default' => '',
30                                'name'    => __( 'Login link url', 'shortcodes-ultimate' ),
31                                'desc'    => __( 'Login link url', 'shortcodes-ultimate' ),
32                        ),
33                        'class'      => array(
34                                'type'    => 'extra_css_class',
35                                'name'    => __( 'Extra CSS class', 'shortcodes-ultimate' ),
36                                'desc'    => __( 'Additional CSS class name(s) separated by space(s)', 'shortcodes-ultimate' ),
37                                'default' => '',
38                        ),
39                ),
40                'content'  => __( 'Content for logged members', 'shortcodes-ultimate' ),
41                'desc'     => __( 'Content for logged in members only', 'shortcodes-ultimate' ),
42                'icon'     => 'lock',
43        )
44);
45
46function su_shortcode_members( $atts = null, $content = null ) {
47
48        $atts = su_parse_shortcode_atts(
49                'members',
50                $atts,
51                array(
52                        'style' => null,
53                        'login' => null,
54                )
55        );
56
57        if ( empty( $atts['login_url'] ) ) {
58                $atts['login_url'] = wp_login_url();
59        }
60
61        // 3.x
62        if ( null !== $atts['style'] ) {
63                $atts['color'] = str_replace( array( '0', '1', '2' ), array( '#fff', '#FFFF29', '#1F9AFF' ), $atts['style'] );
64        }
65
66        if ( is_feed() ) {
67                return;
68        }
69
70        if ( is_user_logged_in() ) {
71                return do_shortcode( $content );
72        }
73
74        // 3.x
75        if ( null !== $atts['login'] && '0' === $atts['login'] ) {
76                return;
77        }
78
79        $login = '<a href="' . esc_attr( esc_url( $atts['login_url'] ) ) . '">' . $atts['login_text'] . '</a>';
80
81        su_query_asset( 'css', 'su-shortcodes' );
82
83        return '<div class="su-members' . su_get_css_class( $atts ) . '" style="background-color:' . su_adjust_brightness( $atts['color'], 50 ) . ';border-color:' . su_adjust_brightness( $atts['color'], -20 ) . ';color:' . su_adjust_brightness( $atts['color'], -60 ) . '">' . str_replace( '%login%', $login, su_do_attribute( $atts['message'] ) ) . '</div>';
84
85}
Note: See TracBrowser for help on using the repository browser.