PluginProbe ʕ •ᴥ•ʔ
Shortcodes and extra features for Phlox theme / 1.3.1
Shortcodes and extra features for Phlox theme v1.3.1
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 9 years ago accordion-api.php 9 years ago accordion.php 9 years ago attachment-url.php 9 years ago audio.php 9 years ago button.php 9 years ago code.php 9 years ago contact-box.php 9 years ago contact-form.php 9 years ago divider.php 9 years ago dropcap.php 9 years ago facebook.php 9 years ago flickr.php 9 years ago gallery.php 9 years ago gmap.php 9 years ago highlight.php 9 years ago image.php 9 years ago instagram-feed.php 9 years ago latest-items.php 9 years ago latest-posts-slider.php 9 years ago popular-posts-widget.php 9 years ago quote.php 9 years ago recent-posts-grid-carousel.php 9 years ago recent-posts-land-style.php 9 years ago recent-posts-masonry.php 9 years ago recent-posts-tiles.php 9 years ago recent-posts-timeline.php 9 years ago recent-posts-widget.php 9 years ago recent-posts.php 9 years ago sample-element.php 9 years ago search.php 9 years ago socials-list.php 9 years ago tabs-api.php 9 years ago tabs.php 9 years ago text.php 9 years ago video.php 9 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 'heading' => __('Dropcap style','auxin-elements' ),
43 'description' => '',
44 'param_name' => 'style',
45 'type' => 'aux_visual_select',
46 'std' => 'classic',
47 'holder' => 'dropdown',
48 'class' => 'style',
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 'heading' => __('Content','auxin-elements' ),
83 'description' => __('Enter a text to show as dropcap text.', 'auxin-elements' ),
84 'param_name' => 'content',
85 'type' => 'textarea_html',
86 'value' => '',
87 'def_value' => '',
88 'holder' => 'div',
89 'class' => 'content',
90 'admin_label' => true,
91 'dependency' => '',
92 'weight' => '',
93 'group' => '' ,
94 'edit_field_class' => ''
95 ),
96 array(
97 'heading' => __('Extra class name','auxin-elements' ),
98 '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' ),
99 'param_name' => 'extra_classes',
100 'type' => 'textfield',
101 'def_value' => '',
102 'value' => '',
103 'holder' => 'textfield',
104 'class' => 'extra_classes',
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