PluginProbe
YeeMail — Email Template Builder & Customizer / 2.2.1
YeeMail — Email Template Builder & Customizer v2.2.1
3.0.1 2.2.1 3.0.0 2.2.0 trunk 2.0.0 2.0.3 2.0.5 2.0.8 2.1.6 2.1.7 2.1.8
yeemail / backend / shortcode.php

shortcode.php in YeeMail — Email Template Builder & Customizer 2.2.1, at backend/shortcode.php

145 lines 4.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
3 class Yeemail_Builder_Email_Shortcode {
4 function __construct() {
5 $lists = self::list_shortcodes(false);
6 foreach($lists as $key=>$values){
7 foreach($values as $k=>$v){
8 if(!is_array($v)){
9 add_shortcode( $k, array($this,'shortcode_main') );
10 }else{
11 foreach($v as $kc=>$vc){
12 add_shortcode( $kc, array($this,'shortcode_main') );
13 }
14 }
15 }
16 }
17 add_filter( 'yeemail_builder_shortcode', array($this,'builder_shortcode') );
18 }
19 public static function list_shortcodes($filter = true){
20 $shortcodes = array(
21 "Genaral" => array(
22 "yeemail_site_name" => "Site Name",
23 "yeemail_site_url" => "Site URL",
24 "yeemail_admin_email" => "Admin Email",
25 "yeemail_current_date" => "Current Date",
26 "yeemail_current_time" => "Current Time",
27 "yeemail_current_ip" => "User IP",
28 ),
29 "User" => array(
30 "yeemail_user_login_url" => "User Login URL",
31 "yeemail_user_logout_url" => "User Logout URL",
32 "yeemail_user_id" => "User ID",
33 "yeemail_user_login" => "User Login",
34 "yeemail_user_name" => "User Name",
35 "yeemail_user_email" => "User Email",
36 "yeemail_user_url" => "User URL",
37 "yeemail_user_display_name" => "User Display Name",
38 "yeemail_set_password_url" => "Password Reset URL",
39 ),
40 "Comment" => array(
41 "yeemail_post_title" => "Post Title",
42 "yeemail_comment_link" => "Comment Link",
43 "yeemail_comment_link_url" => "Comment Link URL",
44 "yeemail_comment_content" => "Comment Content",
45 "yeemail_comment_author" => "Comment Author",
46 "yeemail_comment_author_ip" => "Comment Author IP",
47 "yeemail_comment_author_email" => "Comment Author Email",
48 "yeemail_comment_author_url" => "Comment Author URL",
49 "yeemail_comment_author_domain" => "Comment Author Domain",
50 )
51 );
52 if($filter){
53 return apply_filters( "yeemail_shortcodes", $shortcodes );
54 }else{
55 return $shortcodes;
56 }
57
58 }
59 function builder_shortcode($shortcodes){
60 $lists = self::list_shortcodes();
61 foreach($lists as $key=>$values){
62 foreach($values as $k=>$v){
63 if(!is_array($v)){
64 $shortcodes[$k] = do_shortcode( "[".$k."]");
65 }else{
66 foreach($v as $kc=>$vc){
67 $shortcodes[$kc] = do_shortcode( "[".$kc."]");
68 }
69 }
70 }
71 }
72 return $shortcodes;
73 }
74 function shortcode_main($atts, $content, $tag){
75 switch ($tag) {
76 case "yeemail_site_url":
77 return site_url();
78 break;
79 case "yeemail_site_name":
80 if ( is_multisite() ) {
81 $site_name = get_network()->site_name;
82 } else {
83 $site_name = wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );
84 }
85 return $site_name;
86 break;
87 case "yeemail_current_date":
88 return date(get_option('date_format'));
89 break;
90 case "yeemail_current_time":
91 return date(get_option('time_format'));
92 break;
93 case "yeemail_admin_email":
94 return get_option('admin_email');
95 break;
96 case "yeemail_user_login":
97 case "yeemail_user_name":
98 $current_user = wp_get_current_user();
99 return $current_user->user_login;
100 break;
101 case "yeemail_user_email":
102 $current_user = wp_get_current_user();
103 return $current_user->user_email;
104 break;
105 case "yeemail_user_url":
106 return site_url();
107 break;
108 case "yeemail_user_display_name":
109 $current_user = wp_get_current_user();
110 return $current_user->display_name;
111 break;
112 case "yeemail_user_login_url":
113 return '<a href="' . wp_login_url() . '"> '.esc_html__('Log in', 'yeemail').' </a>';
114 break;
115 case "yeemail_user_logout_url":
116 return '<a href="' . wp_logout_url( home_url()) . '"> '.esc_html__('Log in', 'yeemail').' </a>';
117 break;
118 case "yeemail_post_title":
119 return 'Yeemail Post Name';
120 break;
121 case "yeemail_comment_author_email":
122 $current_user = wp_get_current_user();
123 return $current_user->user_email;
124 break;
125 case "yeemail_comment_content":
126 return '<p>Comment content Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p><p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>';
127 break;
128 case "yeemail_comment_author_domain":
129 case "yeemail_comment_author_url":
130 return site_url();
131 break;
132 case "yeemail_comment_author_ip":
133 return "192.168.1.1";
134 break;
135 case "yeemail_comment_link":
136 return '<a href="#">'.site_url().'</a>';
137 break;
138 case "yeemail_comment_link_url":
139 return site_url();
140 break;
141 default:
142 }
143 }
144 }
145 new Yeemail_Builder_Email_Shortcode;