PluginProbe ʕ •ᴥ•ʔ
Shortcodes and extra features for Phlox theme / 1.0.2
Shortcodes and extra features for Phlox theme v1.0.2
2.17.22 2.17.21 2.17.20 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.6 1.0.9 1.1.0 1.3.0 1.3.1 1.3.10 1.3.14 1.3.2 1.3.3 1.3.6 1.4.0 1.4.1 1.4.2 1.5.0 1.5.2 1.6.0 1.6.2 1.6.4 1.7.0 1.7.2 2.10.0 2.10.1 2.10.3 2.10.5 2.10.7 2.10.8 2.10.9 2.11.0 2.11.1 2.11.2 2.12.0 2.14.0 2.15.0 2.15.2 2.15.4 2.15.5 2.15.6 2.15.7 2.15.8 2.15.9 2.16.0 2.16.1 2.16.2 2.16.3 2.16.4 2.17.0 2.17.1 2.17.12 2.17.13 2.17.14 2.17.15 2.17.16 2.17.2 2.17.3 2.17.4 2.17.5 2.17.6 2.17.8 2.17.9 2.4.12 2.4.13 2.4.14 2.4.16 2.4.18 2.4.19 2.4.9 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.14 2.5.15 2.5.16 2.5.17 2.5.19 2.5.2 2.5.20 2.5.3 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.10 2.6.12 2.6.13 2.6.14 2.6.15 2.6.16 2.6.17 2.6.19 2.6.2 2.6.20 2.6.4 2.6.5 2.6.7 2.7.0 2.7.1 2.7.10 2.7.11 2.7.12 2.7.13 2.7.14 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 2.7.8 2.7.9 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.9 2.9.0 2.9.12 2.9.14 2.9.15 2.9.16 2.9.17 2.9.18 2.9.19 2.9.2 2.9.20 2.9.21 2.9.22 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 2.9.8
auxin-elements / includes / elements / dropcap.php
auxin-elements / includes / elements Last commit date
about-widget.php 10 years ago accordion.php 10 years ago attachment-url.php 10 years ago audio.php 10 years ago button.php 10 years ago code.php 10 years ago contact-box.php 10 years ago contact-form.php 10 years ago divider.php 10 years ago dropcap.php 10 years ago gallery.php 10 years ago gmap.php 10 years ago highlight.php 10 years ago image.php 10 years ago instagram-feed.php 10 years ago latest-items.php 10 years ago latest-posts-slider.php 10 years ago quote.php 10 years ago recent-posts-widget.php 10 years ago recent-posts.php 10 years ago sample-element.php 10 years ago search.php 10 years ago socials-list.php 10 years ago tabs.php 10 years ago text.php 10 years ago video.php 10 years ago
dropcap.php
213 lines
1 <?php
2 /**
3 * Dropcap element
4 *
5 *
6 * @package auxin-elements
7 * @license LICENSE.txt
8 * @author
9 * @link https://bitbucket.org/averta/
10 * @copyright (c) 2010-2016
11 */
12 function auxin_get_dropcap_master_array( $master_array ) {
13
14 $master_array['aux_dropcap'] = array(
15 'name' => __("[Phlox] Dropcap", 'auxin-elements' ),
16 'auxin_output_callback' => 'auxin_widget_dropcap_callback',
17 'base' => 'aux_dropcap',
18 'description' => __('Big styled character at the beginning of paragraph', 'auxin-elements' ),
19 'class' => 'aux-widget-dropcap',
20 'show_settings_on_create' => true,
21 'weight' => 1,
22 'is_widget' => false,
23 'is_shortcode' => true,
24 'is_so' => true,
25 'is_vc' => true,
26 'category' => THEME_NAME,
27 'group' => '',
28 'admin_enqueue_js' => '',
29 'admin_enqueue_css' => '',
30 'front_enqueue_js' => '',
31 'front_enqueue_css' => '',
32 'icon' => 'auxin-element auxin-dropcap',
33 'custom_markup' => '',
34 'js_view' => '',
35 'html_template' => '',
36 'deprecated' => '',
37 'content_element' => '',
38 'as_parent' => '',
39 'as_child' => '',
40 'params' => array(
41 array(
42 'param_name' => 'style',
43 'type' => 'aux_visual_select',
44 'std' => 'classic',
45 'holder' => 'dropdown',
46 'class' => 'style',
47 'heading' => __('Dropcap Style','auxin-elements' ),
48 'description' => '',
49 'admin_label' => true,
50 'dependency' => '',
51 'weight' => '',
52 'group' => '' ,
53 'edit_field_class' => '',
54 'choices' => array(
55 'classic' => array(
56 'label' => __('Classic', 'auxin-elements' ),
57 'image' => AUX_URL . 'images/visual-select/dropcap-classic.svg'
58 ),
59 'square' => array(
60 'label' => __('Square', 'auxin-elements' ),
61 'image' => AUX_URL . 'images/visual-select/dropcap-square.svg'
62 ),
63 'square-outline' => array(
64 'label' => __('Outline Square', 'auxin-elements' ),
65 'image' => AUX_URL . 'images/visual-select/dropcap-square-outline.svg'
66 ),
67 'square-round' => array(
68 'label' => __('Round Square', 'auxin-elements' ),
69 'image' => AUX_URL . 'images/visual-select/dropcap-square-round.svg'
70 ),
71 'circle' => array(
72 'label' => __('Circle', 'auxin-elements' ),
73 'image' => AUX_URL . 'images/visual-select/dropcap-circle.svg'
74 ),
75 'circle-outline' => array(
76 'label' => __('Outline Circle', 'auxin-elements' ),
77 'image' => AUX_URL . 'images/visual-select/dropcap-circle-outline.svg'
78 )
79 )
80 ),
81 array(
82 'param_name' => 'content',
83 'type' => 'textarea_html',
84 'value' => '',
85 'def_value' => '',
86 'holder' => 'div',
87 'class' => 'content',
88 'heading' => __('Content','auxin-elements' ),
89 'description' => __('Enter the text to show as dropcap text.', 'auxin-elements' ),
90 'admin_label' => true,
91 'dependency' => '',
92 'weight' => '',
93 'group' => '' ,
94 'edit_field_class' => ''
95 ),
96 array(
97 'param_name' => 'extra_classes',
98 'type' => 'textfield',
99 'def_value' => '',
100 'value' => '',
101 'holder' => 'textfield',
102 'class' => 'extra_classes',
103 'heading' => __('Extra class name','auxin-elements' ),
104 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', 'auxin-elements' ),
105 'admin_label' => true,
106 'dependency' => '',
107 'weight' => '',
108 'group' => '' ,
109 'edit_field_class' => ''
110 )
111
112 )
113 );
114
115 return $master_array;
116 }
117
118 add_filter( 'auxin_master_array_shortcodes', 'auxin_get_dropcap_master_array', 10, 1 );
119
120 /**
121 * The front-end output of this element is returned by the following function
122 *
123 * @param array $atts The array containing the parsed values from shortcode, it should be same as defined params above.
124 * @param string $shortcode_content The shorcode content
125 * @return string The output of element markup
126 */
127 function auxin_widget_dropcap_callback( $atts, $shortcode_content = null ) {
128
129 // Defining default attributes
130 $default_atts = array(
131 'title' => '', // header title
132 'style' => 'classic',
133 'content' => '', // custom css class names for this element
134
135 'extra_classes' => '',
136 'custom_el_id' => '',
137 'base_class' => 'aux-widget-dropcap'
138 );
139
140 $result = auxin_get_widget_scafold( $atts, $default_atts, $shortcode_content );
141 extract( $result['parsed_atts'] );
142
143 ob_start();
144
145 // widget header ------------------------------
146 echo $result['widget_header'];
147 echo $result['widget_title'];
148
149 // The output for element here
150 $class_names = "";
151
152 switch ($style) {
153 case 'classic':
154 $class_names = "dropcap";
155 break;
156 case 'square':
157 $class_names = "dropcap square";
158
159 break;
160 case 'square-outline':
161 $class_names = "dropcap square outline";
162
163 break;
164 case 'square-round':
165 $class_names = "dropcap square round";
166
167 break;
168 case 'square-round-outline':
169 $class_names = "dropcap square round outline";
170
171 break;
172 case 'circle':
173 $class_names = "dropcap circle";
174
175 break;
176 case 'circle-outline':
177 $class_names = "dropcap circle outline";
178
179 break;
180 }
181
182 $first_letter = substr( $content, 0, 1); // get the first letter
183
184 if ( $first_letter === "<") {
185 $tag = auxin_get_string_between($content, '<', '>');
186 $content = auxin_str_replace_first( "<" .$tag. ">" ,"" , $content );
187 $content = auxin_str_replace_first( "</".$tag. ">" ,"" , $content );
188 }
189
190 $first_letter = substr( $content, 0, 1); // get the first letter
191 $rest_of_text = substr( $content, 1); // get the rest of thext
192
193 echo '<p class="' . $extra_classes . '">' .
194 '<span class="' . $class_names . '">' .
195 $first_letter . '</span>' . $rest_of_text .
196 '</p>';
197
198 // widget footer ------------------------------
199 echo $result['widget_footer'];
200
201 return ob_get_clean();
202 }
203
204
205 if( ! function_exists( 'auxin_str_replace_first' ) ) {
206
207 function auxin_str_replace_first($from, $to, $subject) {
208 $from = '/'.preg_quote($from, '/').'/';
209 return preg_replace($from, $to, $subject, 1);
210 }
211 }
212
213