1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
/** |
4
|
|
|
* These functions are then localized and then appended with JS in enter-editor.js |
5
|
|
|
* |
6
|
|
|
* @since 1.0 |
7
|
|
|
*/ |
8
|
|
|
|
9
|
|
|
/** |
10
|
|
|
* Add the editor controls to any singular post object |
11
|
|
|
* |
12
|
|
|
* @since 1.0 |
13
|
|
|
*/ |
14
|
|
|
add_action( 'wp_footer', 'lasso_editor_controls' ); |
15
|
|
|
function lasso_editor_controls() { |
16
|
|
|
|
17
|
|
|
global $post; |
18
|
|
|
|
19
|
|
|
if ( lasso_user_can('edit_posts') ) { |
20
|
|
|
|
21
|
|
|
$status = get_post_status( get_the_ID() ); |
22
|
|
|
$use_old_ui = lasso_editor_get_option( 'use_old_ui', 'lasso_editor' ); |
23
|
|
|
$button_color1 = lasso_editor_get_option('button-color1', 'lasso_editor','#0000ff'); |
24
|
|
|
$button_color2 = lasso_editor_get_option('button-color2', 'lasso_editor','#000000'); |
25
|
|
|
$dialog_color = lasso_editor_get_option('dialog-color', 'lasso_editor','#000055'); |
26
|
|
|
$text_color = lasso_editor_get_option('text-color', 'lasso_editor','#ffffff'); |
27
|
|
|
$hover_color1 = lasso_editor_adjustBrightness($button_color1, 50); |
28
|
|
|
$hover_color2 = lasso_editor_adjustBrightness($button_color2, 50); |
29
|
|
|
|
30
|
|
|
// let users add custom css classes |
31
|
|
|
$custom_classes = apply_filters( 'lasso_control_classes', '' ); |
32
|
|
|
|
33
|
|
|
$post_access_class = ''; |
34
|
|
|
$post_new_disabled = lasso_editor_get_option( 'post_adding_disabled', 'lasso_editor' ); |
35
|
|
|
$post_settings_disabled = lasso_editor_get_option( 'post_settings_disabled', 'lasso_editor' ); |
36
|
|
|
$shortcodify_disabled = lasso_editor_get_option( 'shortcodify_disabled', 'lasso_editor' ); |
37
|
|
|
|
38
|
|
|
|
39
|
|
|
// CSS class if adding new post objects is disabled |
40
|
|
|
if ( 'on' == $post_new_disabled ) { $post_access_class = 'lasso--post-new-disabled'; } |
41
|
|
|
|
42
|
|
|
// CSS class if adjust settings is disabled |
43
|
|
|
if ( 'on' == $post_settings_disabled ) { $post_access_class = 'lasso--post-settings-disabled'; } |
44
|
|
|
|
45
|
|
|
// CSS class if adding new post objects AND settings are disabled |
46
|
|
|
if ( 'on' == $post_new_disabled && 'on' == $post_settings_disabled ) { $post_access_class = 'lasso--post-all-disabled'; } |
47
|
|
|
|
48
|
|
|
// CSS class if shortcodify or (Aesop Shortcode Conversion) is disabled |
49
|
|
|
$sc_saving_class = 'on' == $shortcodify_disabled ? 'shortcodify-disabled' : 'shortcodify-enabled'; |
50
|
|
|
|
51
|
|
|
// user is capable |
52
|
|
|
$is_capable = is_singular() && lasso_user_can('edit_post'); |
53
|
|
|
$is_mobile = wp_is_mobile(); |
54
|
|
|
|
55
|
|
|
$mobile_style = $is_mobile ? 'style="bottom:0px;"' : null; |
56
|
|
|
$can_publish = lasso_user_can('publish_posts') || lasso_user_can('publish_pages'); |
57
|
|
|
?> |
58
|
|
|
<style> |
59
|
|
|
#lasso-html--table:before { |
60
|
|
|
content: "<?php esc_attr_e( 'Table', 'lasso' );?>"; |
61
|
|
|
} |
62
|
|
|
|
63
|
|
|
|
64
|
|
|
<?php |
65
|
|
|
|
66
|
|
|
if (!$use_old_ui) { |
67
|
|
|
?> |
68
|
|
|
|
69
|
|
|
.lasso-editor-controls--wrap, #lasso--post-settings2,#lasso--save,#lasso--post-delete,#lasso--exit,#lasso--publish { |
70
|
|
|
background-image: -webkit-linear-gradient(top,<?php echo $button_color1;?> 0,<?php echo $button_color2;?> 100%); |
71
|
|
|
background-image: -o-linear-gradient(top,<?php echo $button_color1;?> 0,<?php echo $button_color2;?> 100%); |
72
|
|
|
background-image: linear-gradient(to bottom,<?php echo $button_color1;?> 0,<?php echo $button_color2;?> 100%); |
73
|
|
|
color: <?php echo $text_color;?>; |
74
|
|
|
} |
75
|
|
|
|
76
|
|
|
.lasso--controls__right a:before, #lasso-toolbar--html__footer_desc, ul.lasso-editor-controls li:before,#lasso-side-comp-button.toolbar--side li:before |
77
|
|
|
{ |
78
|
|
|
color: <?php echo $text_color;?> !important; |
79
|
|
|
} |
80
|
|
|
|
81
|
|
|
|
82
|
|
|
|
83
|
|
|
ul.lasso-editor-controls li:hover, #lasso--exit:hover,#lasso--post-settings2:hover,#lasso--post-delete:hover,#lasso--publish:hover,#lasso--save:hover { |
84
|
|
|
background-image: -webkit-linear-gradient(top,<?php echo $hover_color1;?> 0,<?php echo $hover_color2;?> 100%); |
85
|
|
|
background-image: -o-linear-gradient(top,<?php echo $hover_color1;?> 0,<?php echo $hover_color2;?> 100%); |
86
|
|
|
background-image: linear-gradient(to bottom,<?php echo $hover_color1;?> 0,<?php echo $hover_color2;?> 100%); |
87
|
|
|
} |
88
|
|
|
|
89
|
|
|
.lasso--modal__inner,.sweet-alert,#lasso-toolbar--components.toolbar--drop-up ul,#lasso-toolbar--components__list,#lasso-toolbar--html.html--drop-up #lasso-toolbar--html__wrap, |
90
|
|
|
#lasso-toolbar--link.link--drop-up #lasso-toolbar--link__wrap { |
91
|
|
|
background: <?php echo $dialog_color;?>; |
92
|
|
|
color: <?php echo $text_color;?>; |
93
|
|
|
} |
94
|
|
|
.sweet-alert p,.lasso--modal__inner label,.lasso--toolbar__inner label { |
95
|
|
|
color: <?php echo $text_color;?> !important; |
96
|
|
|
} |
97
|
|
|
|
98
|
|
|
<?php if (!$is_mobile) { ?> |
99
|
|
|
.lasso-editor-controls--wrap { |
100
|
|
|
display:table; |
101
|
|
|
} |
102
|
|
|
ul.lasso-editor-controls { |
103
|
|
|
height:42px; |
104
|
|
|
font-size: 22px; |
105
|
|
|
} |
106
|
|
|
.lasso-editor-controls--wrap { |
107
|
|
|
height:42px; |
108
|
|
|
} |
109
|
|
|
#lasso--post-all:before { |
110
|
|
|
font-size: 22px; |
111
|
|
|
} |
112
|
|
|
|
113
|
|
|
ul.lasso-editor-controls li { |
114
|
|
|
height: 42px; |
115
|
|
|
} |
116
|
|
|
<?php |
117
|
|
|
} |
118
|
|
|
} else { |
119
|
|
|
?> |
120
|
|
|
|
121
|
|
|
#lasso-toolbar--components__list { |
122
|
|
|
background:black !important; |
123
|
|
|
} |
124
|
|
|
|
125
|
|
|
<?php |
126
|
|
|
} |
127
|
|
|
?> |
128
|
|
|
</style> |
129
|
|
|
<div id="lasso--controls" class="lasso-post-status--<?php echo sanitize_html_class( $status );?> <?php echo sanitize_html_class( $custom_classes );?>" data-post-id="<?php echo get_the_ID();?>" > |
130
|
|
|
|
131
|
|
|
<ul class="lasso--controls__center lasso-editor-controls lasso-editor-controls--wrap <?php echo $post_access_class;?> " <?php echo $mobile_style ?> > |
132
|
|
|
|
133
|
|
|
<?php do_action( 'lasso_editor_controls_before' ); |
134
|
|
|
|
135
|
|
|
if ( $is_capable ) { ?> |
136
|
|
|
|
137
|
|
|
<li id="lasso--edit" title="<?php esc_attr_e( 'Edit Post', 'lasso' );?>"><a href="#" class="lasso--button__primary"></a></li> |
138
|
|
|
|
139
|
|
|
<?php if ( 'off' == $post_settings_disabled || empty( $post_settings_disabled ) ) { ?> |
140
|
|
|
<li id="lasso--post-settings" title="<?php esc_attr_e( 'Post Settings', 'lasso' );?>"><a href="#" class="lasso--button__primary"></a></li> |
141
|
|
|
<?php } |
142
|
|
|
|
143
|
|
|
} ?> |
144
|
|
|
|
145
|
|
|
<li id="lasso--post-all" title="<?php esc_attr_e( 'All Posts', 'lasso' );?>"><a href="#" class="lasso--button__primary"></a></li> |
146
|
|
|
|
147
|
|
|
<?php if ( $is_capable && wp_revisions_enabled( $post ) ) { ?> |
148
|
|
|
<li id="lasso--post-revisions" title="<?php esc_attr_e( 'Revisions', 'lasso' );?>"><a href="#" class="lasso--button__primary"></a></li> |
149
|
|
|
<?php } ?> |
150
|
|
|
|
151
|
|
|
<?php if ( ( 'off' == $post_new_disabled || empty( $post_new_disabled ) && lasso_user_can('edit_posts') ) ) { ?> |
152
|
|
|
<li id="lasso--post-new" title="<?php esc_attr_e( 'Add Post', 'lasso' );?>"><a href="#" class="lasso--button__primary"></a></li> |
153
|
|
|
<?php } ?> |
154
|
|
|
|
155
|
|
|
<?php do_action( 'lasso_editor_controls_after' );?> |
156
|
|
|
|
157
|
|
|
</ul> |
158
|
|
|
|
159
|
|
|
<?php if ( is_singular() && !$is_mobile ) { ?> |
160
|
|
|
|
161
|
|
|
<div class="lasso--controls__right" data-posttype="<?php echo get_post_type( get_the_ID() );?>" data-status="<?php echo $status;?>"> |
162
|
|
|
|
163
|
|
|
<a href="#" title="<?php esc_attr_e( 'Delete Post', 'lasso' );?>" id="lasso--post-delete" class="lasso-save-post lasso--button <?php echo $sc_saving_class;?>"></a> |
164
|
|
|
<a href="#" title="<?php esc_attr_e( 'Post Settings', 'lasso' );?>" id="lasso--post-settings2" class="lasso-save-post lasso--button <?php echo $sc_saving_class;?>"></a> |
165
|
|
|
|
166
|
|
|
|
167
|
|
|
<a href="#" title="<?php esc_attr_e( 'Save Post', 'lasso' );?>" id="lasso--save" class="lasso-save-post lasso--button <?php echo $sc_saving_class;?>"></a> |
168
|
|
|
|
169
|
|
|
<?php if ( ('draft' == $status ) || ('pending' == $status && $can_publish) ) { ?> |
170
|
|
|
<a href="#" title="<?php $can_publish ? esc_attr_e( 'Publish Post', 'lasso' ) : esc_attr_e( 'Submit For Review', 'lasso' );?>" id="lasso--publish" class="lasso-publish-post lasso--button <?php echo $sc_saving_class;?>"></a> |
171
|
|
|
<?php } ?> |
172
|
|
|
|
173
|
|
|
|
174
|
|
|
</div> |
175
|
|
|
|
176
|
|
|
<?php } ?> |
177
|
|
|
|
178
|
|
|
</div> |
179
|
|
|
|
180
|
|
|
|
181
|
|
|
<?php do_action( 'lasso_editor_controls_after_outside' );?> |
182
|
|
|
|
183
|
|
|
<?php } |
184
|
|
|
} |
185
|
|
|
|
186
|
|
|
/** |
187
|
|
|
* Draw the side panel that houses the component settings |
188
|
|
|
* This is opened when the settings icon is clicked on a single component |
189
|
|
|
* JS detects the type and will fill in the necessary options for the shortcode based on lasso_editor_options_blob() at the end of this file |
190
|
|
|
* |
191
|
|
|
* @since 1.0 |
192
|
|
|
*/ |
193
|
|
|
function lasso_editor_component_sidebar() { |
194
|
|
|
|
195
|
|
|
ob_start(); |
196
|
|
|
|
197
|
|
|
|
198
|
|
|
// let users add custom css classes |
199
|
|
|
$custom_classes = apply_filters( 'lasso_sidebar_classes', '' ); |
200
|
|
|
?> |
201
|
|
|
<div id="lasso--sidebar" class="<?php echo sanitize_html_class( $custom_classes );?>" > |
202
|
|
|
<div class="lasso--sidebar__inner"> |
203
|
|
|
<div id="aesop-generator-settings"><div id="lasso--component__settings"></div></div> |
204
|
|
|
</div> |
205
|
|
|
</div> |
206
|
|
|
|
207
|
|
|
<?php return ob_get_clean(); |
208
|
|
|
} |
209
|
|
|
|
210
|
|
|
/** |
211
|
|
|
* Draw the main toolbar used to edit the text |
212
|
|
|
* |
213
|
|
|
* @since 1.0 |
214
|
|
|
*/ |
215
|
|
|
function lasso_editor_text_toolbar() { |
216
|
|
|
|
217
|
|
|
ob_start(); |
218
|
|
|
|
219
|
|
|
|
220
|
|
|
$is_mobile = wp_is_mobile(); |
221
|
|
|
|
222
|
|
|
// check for lasso story engine and add a class doniting this |
223
|
|
|
$ase_status = class_exists( 'Aesop_Core' ) || defined( 'LASSO_CUSTOM' ) ? 'ase-active' : 'ase-not-active'; |
224
|
|
|
|
225
|
|
|
// let users add custom css classes |
226
|
|
|
$custom_classes = apply_filters( 'lasso_toolbar_classes', '' ); |
227
|
|
|
|
228
|
|
|
// are toolbar headings enabled |
229
|
|
|
$toolbar_headings = lasso_editor_get_option( 'toolbar_headings', 'lasso_editor' ); |
230
|
|
|
$toolbar_headings_h4 = lasso_editor_get_option( 'toolbar_headings_h4', 'lasso_editor' ); |
231
|
|
|
$toolbar_list = lasso_editor_get_option( 'toolbar_list', 'lasso_editor' ); |
232
|
|
|
|
233
|
|
|
$toolbar_class = $toolbar_headings ? 'toolbar-extended' : false; |
234
|
|
|
|
235
|
|
|
// mobile styles |
236
|
|
|
$mobile_class = $is_mobile ? 'lasso-mobile' : false; |
237
|
|
|
$mobile_style =$is_mobile ? 'style="bottom:0px;"' : null; |
238
|
|
|
|
239
|
|
|
//show color |
240
|
|
|
$show_color = lasso_editor_get_option('toolbar_show_color', 'lasso_editor'); |
241
|
|
|
|
242
|
|
|
//show alignment |
243
|
|
|
$show_align = lasso_editor_get_option('toolbar_show_alignment', 'lasso_editor'); |
244
|
|
|
|
245
|
|
|
$status = get_post_status( get_the_ID() ); |
246
|
|
|
|
247
|
|
|
$shortcodify_disabled = lasso_editor_get_option( 'shortcodify_disabled', 'lasso_editor' ); |
248
|
|
|
|
249
|
|
|
$sc_saving_class = ('on' == $shortcodify_disabled || $ase_status == 'ase-not-active') ? 'shortcodify-disabled' : 'shortcodify-enabled'; |
250
|
|
|
|
251
|
|
|
|
252
|
|
|
?> |
253
|
|
|
<div class="lasso--toolbar_wrap lasso-editor-controls--wrap <?php echo $toolbar_class.' '.$mobile_class.' '.$ase_status.' '.sanitize_html_class( $custom_classes );?>" <?php echo $mobile_style ?>> |
254
|
|
|
<ul class="lasso--toolbar__inner lasso-editor-controls" <?php if ($is_mobile) {echo 'style="float:left;"';}?>> |
255
|
|
|
<?php do_action( 'lasso_toolbar_components_before' );?> |
256
|
|
|
<li id="lasso-toolbar--bold" title="<?php esc_attr_e( 'Bold', 'lasso' );?>"></li> |
257
|
|
|
<li id="lasso-toolbar--underline" title="<?php esc_attr_e( 'Underline', 'lasso' );?>"></li> |
258
|
|
|
<li id="lasso-toolbar--italic" title="<?php esc_attr_e( 'Italicize', 'lasso' );?>"></li> |
259
|
|
|
<li id="lasso-toolbar--strike" title="<?php esc_attr_e( 'Strikethrough', 'lasso' );?>"></li> |
260
|
|
|
<li id="lasso-toolbar--components" class="lasso-toolbar--components" title="<?php esc_attr_e( 'Insert Component', 'lasso' );?>" style="color:#ffffa0;"> |
261
|
|
|
<ul id="lasso-toolbar--components__list" style="display:none;color:white;"> |
262
|
|
|
<?php if ( 'ase-active' == $ase_status ): ?> |
263
|
|
|
<li data-type="image" title="<?php esc_attr_e( 'Image', 'lasso' );?>" class="lasso-toolbar--component__image"></li> |
264
|
|
|
<li data-type="character" title="<?php esc_attr_e( 'Character', 'lasso' );?>" class="lasso-toolbar--component__character"></li> |
265
|
|
|
<li data-type="quote" title="<?php esc_attr_e( 'Quote', 'lasso' );?>" class="lasso-toolbar--component__quote"></li> |
266
|
|
|
<li data-type="content" title="<?php esc_attr_e( 'Content', 'lasso' );?>" class="lasso-toolbar--component__content"></li> |
267
|
|
|
<li data-type="chapter" title="<?php esc_attr_e( 'Chapter', 'lasso' );?>" class="lasso-toolbar--component__chapter"></li> |
268
|
|
|
<li data-type="parallax" title="<?php esc_attr_e( 'Parallax', 'lasso' );?>" class="lasso-toolbar--component__parallax"></li> |
269
|
|
|
<li data-type="audio" title="<?php esc_attr_e( 'Audio', 'lasso' );?>" class="lasso-toolbar--component__audio"></li> |
270
|
|
|
<li data-type="video" title="<?php esc_attr_e( 'Video', 'lasso' );?>" class="lasso-toolbar--component__video"></li> |
271
|
|
|
<li data-type="map" title="<?php esc_attr_e( 'Map', 'lasso' );?>" class="lasso-toolbar--component__map"></li> |
272
|
|
|
<li data-type="timeline_stop" title="<?php esc_attr_e( 'Timeline', 'lasso' );?>" class="lasso-toolbar--component__timeline"></li> |
273
|
|
|
<li data-type="document" title="<?php esc_attr_e( 'Document', 'lasso' );?>" class="lasso-toolbar--component__document"></li> |
274
|
|
|
<li data-type="collection" title="<?php esc_attr_e( 'Collection', 'lasso' );?>" class="lasso-toolbar--component__collection"></li> |
275
|
|
|
<li data-type="gallery" title="<?php esc_attr_e( 'Gallery', 'lasso' );?>" class="lasso-toolbar--component__gallery"></li> |
276
|
|
|
<?php if ( class_exists ('Aesop_GalleryPop') ) { ?> |
277
|
|
|
<li data-type="gallery" title="<?php esc_attr_e( 'Gallery Pop', 'lasso' );?>" class="lasso-toolbar--component__gallerypop"></li> |
278
|
|
|
<?php }?> |
279
|
|
|
<?php if ( class_exists ('Aesop_Events') ) { ?> |
280
|
|
|
<li data-type="events" title="<?php esc_attr_e( 'Event', 'lasso' );?>" class="lasso-toolbar--component__event"></li> |
281
|
|
|
<?php }?> |
282
|
|
View Code Duplication |
<?php else: ?> |
|
|
|
|
283
|
|
|
<li data-type="wpimg" title="<?php esc_attr_e( 'WordPress Image', 'lasso' );?>" class="image lasso-toolbar--component__image"></li> |
284
|
|
|
<li data-type="wpquote" title="<?php esc_attr_e( 'WordPress Quote', 'lasso' );?>" class="quote lasso-toolbar--component__quote"></li> |
285
|
|
|
<!--li data-type="wpvideo" title="<?php esc_attr_e( 'WordPress Video', 'lasso' );?>" class="video lasso-toolbar--component__video"></li--> |
286
|
|
|
<?php endif; ?> |
287
|
|
|
<?php do_action( 'lasso_toolbar_components' );?> |
288
|
|
|
</ul> |
289
|
|
|
</li> |
290
|
|
|
<?php if ( $toolbar_headings ): ?> |
291
|
|
|
<li id="lasso-toolbar--h2" title="<?php esc_attr_e( 'H2 Heading', 'lasso' );?>"></li> |
292
|
|
|
<li id="lasso-toolbar--h3" title="<?php esc_attr_e( 'H3 Heading', 'lasso' );?>"></li> |
293
|
|
|
<?php endif; ?> |
294
|
|
|
|
295
|
|
|
|
296
|
|
|
|
297
|
|
View Code Duplication |
<?php if ( $toolbar_headings_h4 ): ?> |
|
|
|
|
298
|
|
|
<li id="lasso-toolbar--h4" title="<?php esc_attr_e( 'H4 Heading', 'lasso' );?>"></li> |
299
|
|
|
<li id="lasso-toolbar--h5" title="<?php esc_attr_e( 'H5 Heading', 'lasso' );?>"></li> |
300
|
|
|
<li id="lasso-toolbar--h6" title="<?php esc_attr_e( 'H6 Heading', 'lasso' );?>"></li> |
301
|
|
|
<?php endif; ?> |
302
|
|
|
|
303
|
|
|
<?php if ( $show_color ): ?> |
304
|
|
|
<li id="lasso-toolbar--color-set" title="<?php esc_attr_e( 'Set Color for Selected Text', 'lasso' );?>"></li> |
305
|
|
|
<li id="lasso-toolbar--color-pick" title="<?php esc_attr_e( 'Choose Color', 'lasso' );?>"></li> |
306
|
|
|
<?php endif; ?> |
307
|
|
|
|
308
|
|
|
<?php if ( $toolbar_list ): ?> |
309
|
|
|
<li id="lasso-toolbar--ol" title="<?php esc_attr_e( 'Ordered List', 'lasso' );?>"></li> |
310
|
|
|
<li id="lasso-toolbar--ul" title="<?php esc_attr_e( 'Unordered List', 'lasso' );?>"></li> |
311
|
|
|
<?php endif; ?> |
312
|
|
|
|
313
|
|
|
|
314
|
|
|
<li id="lasso-toolbar--link" title="<?php esc_attr_e( 'Anchor Link', 'lasso' );?>"> |
315
|
|
|
<div id="lasso-toolbar--link__wrap" <?php echo $mobile_style ?> > |
316
|
|
|
<div id="lasso-toolbar--link__inner" contenteditable="true" placeholder="<?php esc_attr_e( 'http://url.com', 'lasso' );?>"></div> |
317
|
|
|
<a href="#" title="<?php esc_attr_e( 'Create Link', 'lasso' );?>" class="lasso-toolbar--link__control" id="lasso-toolbar--link__create" ></a> |
318
|
|
|
<input class="styled-checkbox" type="checkbox" id="aesop-toolbar--link_newtab" checked/> |
319
|
|
|
<label for="aesop-toolbar--link_newtab"><?php esc_attr_e( 'Open in a New Tab', 'lasso' );?></label> |
320
|
|
|
</div> |
321
|
|
|
</li> |
322
|
|
|
<?php do_action( 'lasso_toolbar_components_after' );?> |
323
|
|
|
<li id="lasso-toolbar--html" title="<?php esc_attr_e( 'Insert HTML or Code', 'lasso' );?>"> |
324
|
|
|
<div id="lasso-toolbar--html__wrap" <?php echo $mobile_style ?>> |
325
|
|
|
<div id="lasso-toolbar--html__inner" contenteditable="true" placeholder="<?php esc_attr_e( 'Enter HTML to insert', 'lasso' );?>"></div> |
326
|
|
|
<div id="lasso-toolbar--html__footer"> |
327
|
|
|
<div id="lasso-toolbar--html__footer_desc" > |
328
|
|
|
<?php esc_attr_e( 'Enter HTML to insert', 'lasso' );?><br> |
329
|
|
|
<?php esc_attr_e( 'You can also use Shortcodes', 'lasso' );?><br> |
330
|
|
|
<?php esc_attr_e( 'You can also enter a URL to embed, such as Youtube, Vimeo and Twitter URLs.', 'lasso' );?> |
331
|
|
|
</div> |
332
|
|
|
<ul class="lasso-toolbar--html-snips"> |
333
|
|
|
|
334
|
|
|
<?php if ( !$toolbar_headings ): ?> |
335
|
|
|
<li id="lasso-html--h2" title="<?php esc_attr_e( 'H2 Heading', 'lasso' );?>"> |
336
|
|
|
<li id="lasso-html--h3" title="<?php esc_attr_e( 'H3 Heading', 'lasso' );?>"> |
337
|
|
|
<?php endif; ?> |
338
|
|
|
<li id="lasso-html--ol" title="<?php esc_attr_e( 'Ordered List', 'lasso' );?>"> |
339
|
|
|
<li id="lasso-html--ul" title="<?php esc_attr_e( 'Unordered List', 'lasso' );?>"> |
340
|
|
|
|
341
|
|
|
<li id="lasso-html--table" title="<?php esc_attr_e( 'Table', 'lasso' );?>"> |
342
|
|
|
</ul> |
343
|
|
|
<a class="lasso-toolbar--html__control lasso-toolbar--html__cancel" href="#"><?php _e( 'Cancel', 'lasso' );?></a> |
344
|
|
|
<a href="#" title="<?php esc_attr_e( 'Insert HTML or Code', 'lasso' );?>" class="lasso-toolbar--html__control" id="lasso-toolbar--html__insert" ><?php _e( 'Insert', 'lasso' );?></a> |
345
|
|
|
</div> |
346
|
|
|
</div> |
347
|
|
|
</li> |
348
|
|
View Code Duplication |
<?php if ( $show_align ): ?> |
|
|
|
|
349
|
|
|
<li id="lasso-toolbar--left-align" title="<?php esc_attr_e( 'Text Left Align', 'lasso' );?>"></li> |
350
|
|
|
<li id="lasso-toolbar--center-align" title="<?php esc_attr_e( 'Text Center Align', 'lasso' );?>"></li> |
351
|
|
|
<li id="lasso-toolbar--right-align" title="<?php esc_attr_e( 'Text Right Align', 'lasso' );?>"></li> |
352
|
|
|
<?php endif; ?> |
353
|
|
|
</ul> |
354
|
|
|
<?php if ( is_singular() && $is_mobile ) { ?> |
355
|
|
|
|
356
|
|
|
<div class="lasso--controls__right" data-posttype="<?php echo get_post_type( get_the_ID() );?>" data-status="<?php echo $status;?>" style="position:static;bottom:0px;right;0px;left:auto;"> |
357
|
|
|
|
358
|
|
|
<a href="#" title="<?php esc_attr_e( 'Delete Post', 'lasso' );?>" id="lasso--post-delete" class="lasso-save-post lasso--button <?php echo $sc_saving_class;?>"></a> |
359
|
|
|
<a href="#" title="<?php esc_attr_e( 'Post Settings', 'lasso' );?>" id="lasso--post-settings2" class="lasso-save-post lasso--button <?php echo $sc_saving_class;?>"></a> |
360
|
|
|
|
361
|
|
|
<a href="#" title="<?php esc_attr_e( 'Save Post', 'lasso' );?>" id="lasso--save" class="lasso-save-post lasso--button <?php echo $sc_saving_class;?>"></a> |
362
|
|
|
|
363
|
|
|
<?php if ( 'draft' == $status && ( lasso_user_can('publish_posts') || lasso_user_can('publish_pages') ) ) { ?> |
364
|
|
|
<a href="#" title="<?php esc_attr_e( 'Publish Post', 'lasso' );?>" id="lasso--publish" class="lasso-publish-post lasso--button <?php echo $sc_saving_class;?>"></a> |
365
|
|
|
<?php } ?> |
366
|
|
|
|
367
|
|
|
</div> |
368
|
|
|
|
369
|
|
|
<?php } ?> |
370
|
|
|
</div> |
371
|
|
|
|
372
|
|
|
<?php return ob_get_clean(); |
373
|
|
|
} |
374
|
|
|
|
375
|
|
|
/** |
376
|
|
|
* Draw the controls used for teh component settings within each component |
377
|
|
|
* |
378
|
|
|
* @since 1.0 |
379
|
|
|
*/ |
380
|
|
|
function lasso_editor_settings_toolbar() { |
381
|
|
|
|
382
|
|
|
$delete_nonce = wp_create_nonce( 'lasso-delete-nonce' ); |
383
|
|
|
|
384
|
|
|
ob_start(); |
385
|
|
|
|
386
|
|
|
|
387
|
|
|
// let users add custom css classes |
388
|
|
|
$custom_classes = apply_filters( 'lasso_component_classes', '' ); |
389
|
|
|
|
390
|
|
|
?> |
391
|
|
|
<ul class="lasso-component--controls <?php echo sanitize_html_class( $custom_classes );?>" contenteditable="false"> |
392
|
|
|
<li class="lasso-drag" title="<?php esc_attr_e( 'Move', 'lasso' );?>"></li> |
393
|
|
|
<li id="lasso-component--settings__trigger" class="lasso-settings" title="<?php esc_attr_e( 'Settings', 'lasso' );?>"></li> |
394
|
|
|
<li class="lasso-clone" title="<?php esc_attr_e( 'Clone', 'lasso' );?>"></li> |
395
|
|
|
<li class="lasso-delete" data-postid="<?php echo get_the_ID();?>" data-nonce="<?php echo $delete_nonce;?>" title="<?php esc_attr_e( 'Delete', 'lasso' );?>"></li> |
396
|
|
|
</ul> |
397
|
|
|
|
398
|
|
|
<?php return ob_get_clean(); |
399
|
|
|
} |
400
|
|
|
|
401
|
|
|
/** |
402
|
|
|
* Draws the controls used for changing the featured image |
403
|
|
|
* These controls are appended based on the class set in the define |
404
|
|
|
* |
405
|
|
|
* @since 1.0 |
406
|
|
|
*/ |
407
|
|
|
function lasso_editor_image_controls() { |
408
|
|
|
|
409
|
|
|
ob_start(); |
410
|
|
|
|
411
|
|
|
|
412
|
|
|
// has post thumbnail |
413
|
|
|
$has_thumbnail = has_post_thumbnail( get_the_ID() ) ? 'class="lasso--featImg--has-thumb"' : false; |
414
|
|
|
|
415
|
|
|
?> |
416
|
|
|
<ul id="lasso--featImgControls" <?php echo $has_thumbnail;?>> |
417
|
|
|
<li id="lasso--featImgUpload"><a title="<?php esc_attr_e( 'Replace Image', 'lasso' );?>" href="#"><i class="lasso-icon-image"></i></a></li> |
418
|
|
|
<li id="lasso--featImgDelete"><a title="<?php esc_attr_e( 'Delete Image', 'lasso' );?>" href="#"><i class="lasso-icon-bin2"></i></a></li> |
419
|
|
|
<li id="lasso--featImgSave"><a href="#"><?php esc_attr_e( 'save', 'lasso' );?></a></li> |
420
|
|
|
</ul> |
421
|
|
|
|
422
|
|
|
<?php return ob_get_clean(); |
423
|
|
|
} |
424
|
|
|
|
425
|
|
|
|
426
|
|
|
/** |
427
|
|
|
* Used to house post settings like scheduling, slugs and draft status |
428
|
|
|
* Note: the "add new" will use the same object as the currently shown. For example, if the user |
429
|
|
|
* is currently on a post, and clicks add new, then it'll add a new post. If the user is on a |
430
|
|
|
* post type like "dog", then it will create a new post type called "dog" |
431
|
|
|
* |
432
|
|
|
* @since 1.0 |
433
|
|
|
*/ |
434
|
|
|
function lasso_editor_component_modal() { |
435
|
|
|
|
436
|
|
|
ob_start(); |
437
|
|
|
|
438
|
|
|
|
439
|
|
|
global $post; |
440
|
|
|
|
441
|
|
|
$postid = get_the_ID(); |
442
|
|
|
|
443
|
|
|
$status = get_post_status( $postid ); |
444
|
|
|
$nonce = wp_create_nonce( 'lasso-update-post-settings' ); |
445
|
|
|
|
446
|
|
|
// let users add custom css classes |
447
|
|
|
$custom_classes = apply_filters( 'lasso_modal_settings_classes', '' ); |
448
|
|
|
|
449
|
|
|
// objects categories |
450
|
|
|
$categories = lasso_get_post_objects( $postid, 'category' ); |
451
|
|
|
$tags = lasso_get_post_objects( $postid, 'tag' ); |
452
|
|
|
|
453
|
|
|
// modal tabs |
454
|
|
|
$tabs = lasso_modal_addons('tab'); |
455
|
|
|
$content = lasso_modal_addons('content'); |
456
|
|
|
|
457
|
|
|
//editor options |
458
|
|
|
$allow_change_date = lasso_editor_get_option('allow_change_date', 'lasso_editor'); |
459
|
|
|
$allow_edit_excerpt = lasso_editor_get_option('allow_edit_excerpt', 'lasso_editor'); |
460
|
|
|
$no_url_setting = lasso_editor_get_option('no_url_setting', 'lasso_editor'); |
461
|
|
|
|
462
|
|
|
// are we singular |
463
|
|
|
$is_singular = is_singular(); |
464
|
|
|
$is_singular_class = $is_singular ? 'lasso--postsettings__2col' : 'lasso--postsettings__1col'; |
465
|
|
|
$has_thumb_class = has_post_thumbnail() ? 'has-thumbnail' : 'no-thumbnail'; |
466
|
|
|
$theme_supports = current_theme_supports('post-thumbnails'); |
467
|
|
|
$default_image = LASSO_URL.'/admin/assets/img/empty-img.png'; |
468
|
|
|
|
469
|
|
|
// do we support pending status |
470
|
|
|
$no_pending_status = lasso_editor_get_option('no_pending_status', 'lasso_editor'); |
471
|
|
|
|
472
|
|
|
$excerpt = $post->post_excerpt; |
473
|
|
|
|
474
|
|
|
?> |
475
|
|
|
<div id="lasso--post-settings__modal" class="lasso--modal lassoShowAnimate <?php echo sanitize_html_class( $custom_classes );?>"> |
476
|
|
|
<div class="lasso--modal__inner"> |
477
|
|
|
|
478
|
|
|
<?php if( $tabs ) { echo $tabs; } ?> |
|
|
|
|
479
|
|
|
|
480
|
|
|
<div class="lasso--modal__content modal__content--core visible" data-addon-content="core"> |
481
|
|
|
<form id="lasso--postsettings__form" enctype="multipart/form-data" class="lasso--post-form <?php echo $is_singular_class.' '.$has_thumb_class;?>" > |
482
|
|
|
|
483
|
|
|
<?php if ( $is_singular && $theme_supports ) : ?> |
484
|
|
|
<div class="lasso--postsettings__left"> |
485
|
|
|
<label><?php _e( 'Featured Image', 'lasso' );?><span class="lasso-util--help lasso-util--help-top" data-tooltip="<?php esc_attr_e( 'Change the featured image for this post.', 'lasso' );?>"><i class="lasso-icon-help"></i></span></label> |
486
|
|
|
<div class="lasso--post-thumb" data-default-thumb="<?php echo esc_url( $default_image );?>"> |
487
|
|
|
|
488
|
|
|
<div id="lasso--post-thumb__controls" class="lasso--post-thumb__controls"> |
489
|
|
|
<i id="lasso--post-thumb__add" title="<?php _e('Change Featured Image','lasso');?>" class="dashicons dashicons-edit"></i> |
490
|
|
|
<i id="lasso--post-thumb__delete" title="<?php _e('Delete Featured Image','lasso');?>" class="dashicons dashicons-no-alt"></i> |
491
|
|
|
<i id="lasso--save-status" class="lasso-icon lasso-icon-spinner6 not-visible"></i> |
492
|
|
|
</div> |
493
|
|
|
|
494
|
|
|
<?php echo has_post_thumbnail() ? get_the_post_thumbnail( $post->ID, 'medium' ) : '<img src="'.$default_image.'">'; ?> |
495
|
|
|
|
496
|
|
|
</div> |
497
|
|
|
<div id="lasso--featImgSave"><a href="#" class="not-visible">Save</a></div> |
498
|
|
|
|
499
|
|
|
</div> |
500
|
|
|
<?php endif; ?> |
501
|
|
|
|
502
|
|
|
<div class="lasso--postsettings__right"> |
503
|
|
|
|
504
|
|
|
<?php if( lasso_user_can('publish_posts') || lasso_user_can('publish_pages') ): ?> |
505
|
|
|
<div class="lasso--postsettings__option story-status-option"> |
506
|
|
|
<label><?php _e( 'Status', 'lasso' );?><span class="lasso-util--help lasso-util--help-top" data-tooltip="<?php esc_attr_e( 'Change the status of the post to draft or publish.', 'lasso' );?>"><i class="lasso-icon-help"></i></span></label> |
507
|
|
|
<ul class="story-status story-status-<?php echo sanitize_html_class( $status );?>"> |
508
|
|
|
<li id="lasso--status-draft"><?php _e( 'Draft', 'lasso' );?></li> |
509
|
|
|
<?php if( !$no_pending_status ): ?> |
510
|
|
|
<li id="lasso--status-pending"><?php _e( 'Pending', 'lasso' );?></li> |
511
|
|
|
<?php endif; ?> |
512
|
|
|
<li id="lasso--status-publish"><?php _e( 'Publish', 'lasso' );?></li> |
513
|
|
|
</ul> |
514
|
|
|
<div class="lasso--slider_wrap"> |
515
|
|
|
<div id="lasso--slider"></div> |
516
|
|
|
</div> |
517
|
|
|
</div> |
518
|
|
|
<?php endif; ?> |
519
|
|
|
|
520
|
|
|
<?php if ( 'publish' == $status && !$no_url_setting): ?> |
521
|
|
|
<div class="lasso--postsettings__option story-slug-option"> |
522
|
|
|
<label><?php _e( 'Post URL', 'lasso' );?><span class="lasso-util--help lasso-util--help-top" data-tooltip="<?php esc_attr_e( 'Change the URL (slug) of this post.', 'lasso' );?>"><i class="lasso-icon-help"></i></span></label> |
523
|
|
|
<input class="lasso--modal__trigger-footer" type="text" name="story_slug" value="<?php echo isset( $post ) ? esc_attr( $post->post_name ) : false;?>"> |
524
|
|
|
</div> |
525
|
|
|
<?php endif; ?> |
526
|
|
|
|
527
|
|
|
</div> |
528
|
|
|
|
529
|
|
|
<div class="lasso--postsettings__middle"> |
530
|
|
|
|
531
|
|
|
<div class="lasso--postsettings__option story-categories-option"> |
532
|
|
|
<label style="width:120px;"><?php _e( 'Categories', 'lasso' );?><span class="lasso-util--help lasso-util--help-top" data-tooltip="<?php esc_attr_e( 'Type a category name and press enter.', 'lasso' );?>"><i class="lasso-icon-help"></i></span></label> |
533
|
|
|
<input id="lasso--cat-select" class="lasso--modal__trigger-footer" type="hidden" name="story_cats" value="<?php echo $categories;?>"> |
534
|
|
|
</div> |
535
|
|
|
|
536
|
|
|
<div class="lasso--postsettings__option story-tags-option"> |
537
|
|
|
<label><?php _e( 'Tags', 'lasso' );?><span class="lasso-util--help lasso-util--help-top" data-tooltip="<?php esc_attr_e( 'Type a tag name and press enter.', 'lasso' );?>"><i class="lasso-icon-help"></i></span></label> |
538
|
|
|
<input id="lasso--tag-select" class="lasso--modal__trigger-footer" type="hidden" name="story_tags" value="<?php echo $tags;?>"> |
539
|
|
|
</div> |
540
|
|
|
<?php |
541
|
|
|
if ($allow_edit_excerpt) { |
542
|
|
|
?> |
543
|
|
|
<div class="lasso--postsettings__option story-excerpt-option"> |
544
|
|
|
<label><?php _e( 'Excerpt', 'lasso' );?><span class="lasso-util--help lasso-util--help-top" data-tooltip="<?php esc_attr_e( 'Edit excerpt', 'lasso' );?>"><i class="lasso-icon-help"></i></span></label> |
545
|
|
|
<input id="lasso--excerpt" class="lasso--modal__trigger-footer" type="text" name="excerpt" value="<?php echo $excerpt;?>" style="width:100%"> |
546
|
|
|
</div> |
547
|
|
|
<?php |
548
|
|
|
}?> |
549
|
|
|
<?php |
550
|
|
|
if ($allow_change_date) { |
551
|
|
|
$dateformat = get_option( 'date_format' ); |
552
|
|
|
?> |
553
|
|
|
<label><?php _e( 'Post Date', 'lasso' ); ?></label> |
554
|
|
|
<input type="text" class="editus_custom_date" name="post_date" value="<?php echo get_the_time($dateformat, $postid);?>"/> |
555
|
|
|
<a href="#" id="lasso--postsettings-setnow"><?php _e( 'Set to Now', 'lasso' ); ?></a> |
556
|
|
|
<?php |
557
|
|
|
}?> |
558
|
|
|
|
559
|
|
|
</div> |
560
|
|
|
<!-- alternate way to display categories disabled now --> |
561
|
|
|
<!--div style="max-height:300px;overflow-y: scroll;"--> |
562
|
|
|
<?php |
563
|
|
|
/*$allcats = explode(",",lasso_get_objects('category')); |
564
|
|
|
$currcats = explode(",",$categories); |
565
|
|
|
foreach ( $allcats as $category ) { |
566
|
|
|
if (empty($category)) continue; |
567
|
|
|
$checked =""; |
568
|
|
|
if ( in_array( $category, $currcats ) ) { |
569
|
|
|
$checked = 'checked="checked"'; |
570
|
|
|
|
571
|
|
|
} |
572
|
|
|
echo '<label><input type="checkbox" '.$checked.' name="categories" id="'.$category.'" >'.$category.'</label>'; |
573
|
|
|
}*/ |
574
|
|
|
?> |
575
|
|
|
<!--/div--> |
576
|
|
|
|
577
|
|
|
<?php do_action( 'lasso_modal_post_form' ); // action ?> |
578
|
|
|
|
579
|
|
|
<div class="lasso--postsettings__footer" > |
580
|
|
|
<a href="#" class="lasso--postsettings-cancel"><?php _e( 'Cancel', 'lasso' );?></a> |
581
|
|
|
<input type="hidden" name="status" value=""> |
582
|
|
|
<input type="hidden" name="categories" value=""> |
583
|
|
|
<input type="hidden" name="postid" value="<?php echo get_the_ID();?>"> |
584
|
|
|
<input type="hidden" name="action" value="process_update-object_post"> |
585
|
|
|
<input type="hidden" name="nonce" value="<?php echo $nonce;?>"> |
586
|
|
|
<?php do_action( 'lasso_modal_post_form_footer' ); // action ?> |
587
|
|
|
<input type="submit" id="lasso--postsettings-submit" value="<?php esc_attr_e( 'Save', 'lasso' );?>"> |
588
|
|
|
</div> |
589
|
|
|
|
590
|
|
|
</form> |
591
|
|
|
</div> |
592
|
|
|
|
593
|
|
|
<?php if( $tabs ) { echo $content; } ?> |
|
|
|
|
594
|
|
|
|
595
|
|
|
</div> |
596
|
|
|
|
597
|
|
|
</div> |
598
|
|
|
<div id="lasso--modal__overlay"></div> |
599
|
|
|
|
600
|
|
|
<?php return ob_get_clean(); |
601
|
|
|
} |
602
|
|
|
|
603
|
|
|
/** |
604
|
|
|
* Used to house the form for creating a new post within amodal |
605
|
|
|
* |
606
|
|
|
* @since 1.0 |
607
|
|
|
*/ |
608
|
|
|
function lasso_editor_newpost_modal() { |
609
|
|
|
|
610
|
|
|
global $post; |
611
|
|
|
|
612
|
|
|
ob_start(); |
613
|
|
|
|
614
|
|
|
|
615
|
|
|
$status = get_post_status( get_the_ID() ); |
|
|
|
|
616
|
|
|
|
617
|
|
|
$nonce = wp_create_nonce( 'lasso-editor-new-post' ); |
618
|
|
|
|
619
|
|
|
// let users add custom css classes |
620
|
|
|
$custom_classes = apply_filters( 'lasso_modal_post_classes', '' ); |
621
|
|
|
|
622
|
|
|
// return the post type |
623
|
|
|
$type = get_post_type( get_the_ID() ); |
|
|
|
|
624
|
|
|
|
625
|
|
|
$mobile_style = ""; |
626
|
|
|
if (wp_is_mobile()) { |
627
|
|
|
//$mobile_style = 'style="top:140px !important;"'; |
628
|
|
|
} |
629
|
|
|
?> |
630
|
|
|
<div id="lasso--post-new__modal" class="lasso--modal lasso--modal__med lassoShowAnimate <?php echo sanitize_html_class( $custom_classes );?>" <?php echo $mobile_style;?>"> |
631
|
|
|
<div class="lasso--modal__inner lasso--hasnewform"> |
632
|
|
|
|
633
|
|
|
<form id="lasso--postnew__form" enctype="multipart/form-data" class="lasso--post-form"> |
634
|
|
|
|
635
|
|
|
<div class="lasso--postsettings__option story-slug-option lasso--last-option"> |
636
|
|
|
<label><?php esc_attr_e( 'New <span>post</span> title', 'lasso' );?><span class="lasso-util--help lasso-util--help-top" data-tooltip="<?php esc_attr_e( 'Specify title for new post, then save to edit.', 'lasso' );?>"><i class="lasso-icon-help"></i></span></label> |
637
|
|
|
<input class="lasso--modal__trigger-footer" type="text" required name="story_title" value="" placeholder="<?php esc_attr_e( 'Type Your Title Here', 'lasso' );?>"> |
638
|
|
|
<div class="lasso--select-wrap" style="width:90px"> |
639
|
|
|
<select id="lasso--select-type" name="story_type"> |
640
|
|
|
|
641
|
|
|
<?php |
642
|
|
|
$types = lasso_post_types_names(); |
643
|
|
|
if ( !empty( $types ) ) { |
644
|
|
|
foreach( $types as $name => $label ) { |
645
|
|
|
$type = preg_replace( '/s\b/','', $name ); |
646
|
|
|
if ($type == 'page' && !current_user_can('edit_pages')) { |
647
|
|
|
continue; |
648
|
|
|
} |
649
|
|
|
printf( '<option value="%s">%s</option>', lcfirst( esc_attr( $type ) ) , ucfirst( esc_attr( $label ) ) ); |
650
|
|
|
} |
651
|
|
|
|
652
|
|
|
} |
653
|
|
|
?> |
654
|
|
|
|
655
|
|
|
</select> |
656
|
|
|
</div> |
657
|
|
|
</div> |
658
|
|
|
|
659
|
|
|
<div class="lasso--postsettings__footer"> |
660
|
|
|
<a href="#" class="lasso--postsettings-cancel"><?php _e( 'Cancel', 'lasso' );?></a> |
661
|
|
|
<input type="hidden" name="action" value="process_new-object_post"> |
662
|
|
|
<?php |
663
|
|
|
if ( !empty( $types ) ) { |
664
|
|
|
// get the first element |
665
|
|
|
$keys = array_keys($types); |
666
|
|
|
$type =$keys[0]; |
667
|
|
|
$type = preg_replace( '/s\b/','', $type ); |
668
|
|
|
printf( '<input type="hidden" name="object" value="%s">', lcfirst( esc_attr( $type ) ) ); |
669
|
|
|
} |
670
|
|
|
?> |
671
|
|
|
<input type="hidden" name="nonce" value="<?php echo $nonce;?>"> |
672
|
|
|
<input type="submit" value="<?php esc_attr_e( 'Create', 'lasso' );?>"> |
673
|
|
|
</div> |
674
|
|
|
|
675
|
|
|
</form> |
676
|
|
|
|
677
|
|
|
</div> |
678
|
|
|
</div> |
679
|
|
|
<div id="lasso--modal__overlay"></div> |
680
|
|
|
|
681
|
|
|
<?php return ob_get_clean(); |
682
|
|
|
} |
683
|
|
|
|
684
|
|
|
/** |
685
|
|
|
* Used to house the all posts pop-up |
686
|
|
|
* |
687
|
|
|
* @since 0.9.3 |
688
|
|
|
*/ |
689
|
|
|
function lasso_editor_allpost_modal() { |
690
|
|
|
|
691
|
|
|
global $post; |
692
|
|
|
|
693
|
|
|
global $wp_post_types; |
694
|
|
|
$labels = &$wp_post_types['post']->labels; |
695
|
|
|
$labels->name = 'Articles'; |
696
|
|
|
|
697
|
|
|
ob_start(); |
698
|
|
|
|
699
|
|
|
// post status |
700
|
|
|
$status = get_post_status( get_the_ID() ); |
|
|
|
|
701
|
|
|
|
702
|
|
|
// let users add custom css classes |
703
|
|
|
$custom_classes = apply_filters( 'lasso_modal_all_post_classes', '' ); |
704
|
|
|
|
705
|
|
|
?> |
706
|
|
|
<div id="lasso--all-posts__modal" class="lasso--modal lasso--modal__full lassoShowAnimate <?php echo sanitize_html_class( $custom_classes );?>" style="max-height:100%"> |
707
|
|
|
<div class="lasso--modal__inner"> |
708
|
|
|
|
709
|
|
|
<div class="lasso--post-filtering not-visible"> |
710
|
|
|
<div class="lasso--search__results"> |
711
|
|
|
<span id="lasso--results-found"></span><?php _e('results found','lasso');?> |
712
|
|
|
</div> |
713
|
|
|
<div class="lasso--search"> |
714
|
|
|
<i id="lasso--search__toggle" class="dashicons dashicons-search"></i> |
715
|
|
|
<input id="lasso--search-field" type="text" placeholder="search..."> |
716
|
|
|
</div> |
717
|
|
|
</div> |
718
|
|
|
|
719
|
|
|
<ul class="lasso--post-object-list"> |
720
|
|
|
<?php |
721
|
|
|
|
722
|
|
|
$post_types = lasso_post_types_names(); |
723
|
|
|
$rest_bases = lasso_post_types_rest_base(); |
724
|
|
|
|
725
|
|
|
if ( ! empty( $post_types ) ) { |
726
|
|
|
$first = 'active'; |
727
|
|
|
foreach( $post_types as $name => $label ) { |
728
|
|
|
if (array_key_exists($name, $rest_bases)) { |
729
|
|
|
printf( '<li class="%1s lasso--show-objects" data-post-type="%2s">%3s</li>', esc_attr( $first), esc_attr( $rest_bases[$name] ), esc_attr( $label ) ); |
730
|
|
|
} |
731
|
|
|
$first = ''; |
732
|
|
|
} |
733
|
|
|
|
734
|
|
|
} |
735
|
|
|
|
736
|
|
|
do_action('lasso_modal_post_objects');?> |
737
|
|
|
|
738
|
|
|
</ul> |
739
|
|
|
<div id="lasso--loading" class="lasso--loading"><div class="lasso--loader"></div></div> |
740
|
|
|
|
741
|
|
|
<ul id="lasso--post-list" class="lasso--post-list"></ul> |
742
|
|
|
|
743
|
|
|
</div> |
744
|
|
|
</div> |
745
|
|
|
<div id="lasso--modal__overlay"></div> |
746
|
|
|
|
747
|
|
|
<?php return ob_get_clean(); |
748
|
|
|
} |
749
|
|
|
|
750
|
|
View Code Duplication |
function lasso_editor_wpimg_edit() { |
|
|
|
|
751
|
|
|
|
752
|
|
|
ob_start(); |
753
|
|
|
|
754
|
|
|
|
755
|
|
|
// let users add custom css classes |
756
|
|
|
$custom_classes = apply_filters( 'lasso_wpimg_classes', '' ); |
757
|
|
|
|
758
|
|
|
?> |
759
|
|
|
<ul class="lasso-component--controls <?php echo sanitize_html_class( $custom_classes );?>" contenteditable="false"> |
760
|
|
|
<li class="lasso-drag" title="<?php esc_attr_e( 'Move', 'lasso' );?>"></li> |
761
|
|
|
<!--li id="lasso--wpimg-edit" class="lasso-settings" title="<?php esc_attr_e( 'Settings', 'lasso' );?>"></li--> |
762
|
|
|
<li id="lasso-component--settings__trigger" class="lasso-settings" title="<?php esc_attr_e( 'Settings', 'lasso' );?>"></li> |
763
|
|
|
<li class="lasso-clone" title="<?php esc_attr_e( 'Clone', 'lasso' );?>"></li> |
764
|
|
|
<li class="lasso-delete" title="<?php esc_attr_e( 'Delete', 'lasso' );?>"></li> |
765
|
|
|
</ul> |
766
|
|
|
|
767
|
|
|
<?php return ob_get_clean(); |
768
|
|
|
} |
769
|
|
|
|
770
|
|
View Code Duplication |
function lasso_editor_wpvideo_edit() { |
|
|
|
|
771
|
|
|
|
772
|
|
|
ob_start(); |
773
|
|
|
|
774
|
|
|
|
775
|
|
|
// let users add custom css classes |
776
|
|
|
$custom_classes = apply_filters( 'lasso_wpimg_classes', '' ); |
777
|
|
|
|
778
|
|
|
?> |
779
|
|
|
<ul class="lasso-component--controls <?php echo sanitize_html_class( $custom_classes );?>" contenteditable="false"> |
780
|
|
|
<li class="lasso-drag" title="<?php esc_attr_e( 'Move', 'lasso' );?>"></li> |
781
|
|
|
<li id="lasso--wpvideo-edit" class="lasso-settings" title="<?php esc_attr_e( 'Settings', 'lasso' );?>"></li> |
782
|
|
|
<li class="lasso-clone" title="<?php esc_attr_e( 'Clone', 'lasso' );?>"></li> |
783
|
|
|
<li class="lasso-delete" title="<?php esc_attr_e( 'Delete', 'lasso' );?>"></li> |
784
|
|
|
</ul> |
785
|
|
|
|
786
|
|
|
<?php return ob_get_clean(); |
787
|
|
|
} |
788
|
|
|
|
789
|
|
|
/** |
790
|
|
|
* Used to house the hidden input fields for actions and process saving for the map component |
791
|
|
|
* |
792
|
|
|
* @since 1.0 |
793
|
|
|
*/ |
794
|
|
|
function lasso_map_form_footer() { |
795
|
|
|
|
796
|
|
|
$nonce = wp_create_nonce( 'lasso-process-map' ); |
797
|
|
|
|
798
|
|
|
ob_start(); |
799
|
|
|
|
800
|
|
|
?> |
801
|
|
|
<div class="lasso--map-form__footer"> |
802
|
|
|
<input type="hidden" name="postid" value="<?php echo get_the_ID();?>"> |
803
|
|
|
<input type="hidden" name="nonce" value="<?php echo $nonce;?>"> |
804
|
|
|
<input type="hidden" name="action" value="process_map_save"> |
805
|
|
|
<input type="submit" class="lasso--map-form__submit" value="<?php esc_attr_e( 'Save Locations', 'lasso' );?>"> |
806
|
|
|
</div> |
807
|
|
|
|
808
|
|
|
<?php return ob_get_clean(); |
809
|
|
|
|
810
|
|
|
} |
811
|
|
|
|
812
|
|
|
/** |
813
|
|
|
* Some things aren't real-time updatable so we need to append a message in certain areas on certain actions |
814
|
|
|
* |
815
|
|
|
* @since 1.0 |
816
|
|
|
*/ |
817
|
|
|
function lasso_editor_refresh_message() { |
818
|
|
|
|
819
|
|
|
ob_start(); |
820
|
|
|
|
821
|
|
|
?> |
822
|
|
|
<div id="lasso--pagerefresh" class="visible"> |
823
|
|
|
<?php _e( 'Save this post and refesh the page to see these changes.', 'lasso' );?> |
824
|
|
|
</div> |
825
|
|
|
|
826
|
|
|
<?php return ob_get_clean(); |
827
|
|
|
} |
828
|
|
|
|
829
|
|
|
/** |
830
|
|
|
* Draw out the settings field based on the shortcodes array with options foudn in Aesop Story Engine |
831
|
|
|
* This was mostly backported from aesop story engine and modified to allow for non aesop shortcodes and components |
832
|
|
|
* |
833
|
|
|
* @since 1.0 |
834
|
|
|
*/ |
835
|
|
|
function lasso_editor_options_blob() { |
836
|
|
|
|
837
|
|
|
$codes = function_exists( 'aesop_shortcodes' ) ? aesop_shortcodes() : array(); |
|
|
|
|
838
|
|
|
$codes = add_wpimg_options( array() ); |
839
|
|
|
$codes = apply_filters( 'lasso_custom_options', $codes ); |
840
|
|
|
$galleries = function_exists( 'lasso_editor_galleries_exist' ) && lasso_editor_galleries_exist() ? 'has-galleries' : 'creating-gallery'; |
841
|
|
|
|
842
|
|
|
$nonce = wp_create_nonce( 'lasso_gallery' ); |
843
|
|
|
|
844
|
|
|
$blob = array(); |
845
|
|
|
|
846
|
|
|
if ( empty( $codes ) ) |
847
|
|
|
return; |
848
|
|
|
|
849
|
|
|
foreach ( $codes as $slug => $shortcode ) { |
850
|
|
|
$return = ''; |
851
|
|
|
// Shortcode has atts |
852
|
|
|
|
853
|
|
|
if ( count( $shortcode['atts'] ) && $shortcode['atts'] ) { |
854
|
|
|
|
855
|
|
|
foreach ( $shortcode['atts'] as $attr_name => $attr_info ) { |
856
|
|
|
|
857
|
|
|
|
858
|
|
|
$prefix = isset( $attr_info['prefix'] ) ? sprintf( '<span class="lasso-option-prefix">%s</span>', $attr_info['prefix'] ) : null; |
859
|
|
|
|
860
|
|
|
$return .= '<form id="aesop-generator-settings" class="lasso--component-settings-form" class="'.$galleries.'" method="post">'; |
861
|
|
|
$return .= '<p data-option="'.$attr_name.'" class="lasso-option aesop-'.$slug.'-'.$attr_name.'">'; |
862
|
|
|
$return .= '<label for="aesop-generator-attr-' . $attr_name . '">' . $attr_info['desc'] . '</label>'; |
863
|
|
|
$return .= '<small class="lasso-option-desc">'.$attr_info['tip'].'</small>'; |
864
|
|
|
// Select |
865
|
|
|
|
866
|
|
|
if ( isset( $attr_info['values'] ) ) { |
867
|
|
|
|
868
|
|
|
$return .= '<select name="' . $attr_name . '" id="aesop-generator-attr-' . $attr_name . '" class="lasso-generator-attr">'; |
869
|
|
|
|
870
|
|
|
$i=0; |
871
|
|
|
|
872
|
|
|
foreach ( $attr_info['values'] as $attr_value ) { |
873
|
|
|
$attr_value_selected = $attr_info['default'] == $attr_value ? ' selected="selected"' : ''; |
874
|
|
|
|
875
|
|
|
$return .= '<option value="'.$attr_info['values'][$i]['value'].'" ' . $attr_value_selected . '>'.$attr_info['values'][$i]['name'].'</option>'; |
876
|
|
|
|
877
|
|
|
$i++; |
878
|
|
|
} |
879
|
|
|
|
880
|
|
|
$return .= '</select>'; |
881
|
|
|
|
882
|
|
|
} else { |
883
|
|
|
|
884
|
|
|
$attr_field_type = isset( $attr_info['type'] ) ? $attr_info['type'] : 'text'; |
885
|
|
|
|
886
|
|
|
// image upload |
887
|
|
|
if ( 'media_upload' == $attr_info['type'] ) { |
888
|
|
|
|
889
|
|
|
$return .= '<input type="' . $attr_field_type . '" name="' . $attr_name . '" value="'.$attr_info['default'].'" id="aesop-generator-attr-' . $attr_name . '" class="lasso-generator-attr aesop-generator-attr-'.$attr_field_type.'" />'; |
890
|
|
|
$return .= '<a href="#" id="lasso-upload-img" class="lasso-option-button" /></a>'; |
891
|
|
|
|
892
|
|
|
} elseif ( 'color' == $attr_info['type'] ) { |
893
|
|
|
|
894
|
|
|
$return .= '<input type="color" name="' . $attr_name . '" value="'.$attr_info['default'].'" id="aesop-generator-attr-' . $attr_name . '" class="lasso-generator-attr aesop-generator-attr-'.$attr_field_type.'" />'; |
895
|
|
|
|
896
|
|
|
} elseif ( 'text_area' == $attr_info['type'] ) { |
897
|
|
|
|
898
|
|
|
$return .= '<textarea name="' . $attr_name . '" id="aesop-generator-attr-' . $attr_name . '" class="lasso-generator-attr aesop-generator-attr-'.$attr_field_type.'" placeholder="'.$attr_info['default'].'" /></textarea>'.$prefix.''; |
899
|
|
|
|
900
|
|
|
} else { |
901
|
|
|
$return .= '<input type="' . $attr_field_type . '" name="' . $attr_name . '" value="'.$attr_info['default'].'" id="aesop-generator-attr-' . $attr_name . '" class="lasso-generator-attr aesop-generator-attr-'.$attr_field_type.'" />'.$prefix.''; |
902
|
|
|
} |
903
|
|
|
} |
904
|
|
|
$return .= '</p>'; |
905
|
|
|
|
906
|
|
|
} |
907
|
|
|
} |
908
|
|
|
|
909
|
|
|
/////////////////////////// |
910
|
|
|
// START GALLERY AND MAP FRONT END STUFFS |
911
|
|
|
/////////////////////////// |
912
|
|
|
if ( isset( $shortcode['front'] ) && true == $shortcode['front'] ) { |
913
|
|
|
|
914
|
|
|
if ( 'gallery' == $shortcode['front_type'] ) { |
915
|
|
|
|
916
|
|
|
$return .= lasso_gallery_editor_module(); |
917
|
|
|
|
918
|
|
|
} |
919
|
|
|
} |
920
|
|
|
/////////////////////////// |
921
|
|
|
// END GALLERY AND MAP FRONT END STUFFS |
922
|
|
|
/////////////////////////// |
923
|
|
|
|
924
|
|
|
// Single shortcode (not closed) |
925
|
|
|
if ( 'single' == $shortcode['type'] ) { |
926
|
|
|
|
927
|
|
|
$return .= '<input type="hidden" name="lasso-generator-content" id="lasso-generator-content" value="false" />'; |
928
|
|
|
|
929
|
|
|
} else { |
930
|
|
|
|
931
|
|
|
$return .= '<p data-option="content" class="lasso-option lasso-c-comp-text"><label>' . __( 'Content', 'lasso' ) . '</label><textarea type="text" name="lasso-generator-content" id="lasso-generator-content" value="' . $shortcode['content'] . '" /></textarea></p>'; |
932
|
|
|
} |
933
|
|
|
|
934
|
|
|
$return .= '<p class="lasso-buttoninsert-wrap"><a href="#" class="lasso-generator-cancel" id="lasso--sidebar__close">Cancel</a><input type="submit" id="lasso-generator-insert" value="Save Settings"></p>'; |
935
|
|
|
$return .= '<input class="component_type" type="hidden" name="component_type" value="">'; |
936
|
|
|
$return .= '<input type="hidden" name="unique" value="">'; |
937
|
|
|
$return .= '<input type="hidden" name="nonce" id="lasso-generator-nonce" value="'.$nonce.'" />'; |
938
|
|
|
$return .= '</form>'; |
939
|
|
|
|
940
|
|
|
// extra JS codes |
941
|
|
|
if (isset($shortcode['codes'])) { |
942
|
|
|
$return .= $shortcode['codes']; |
943
|
|
|
} |
944
|
|
|
$blob[$slug] = $return; |
945
|
|
|
} |
946
|
|
|
|
947
|
|
|
return $blob; |
948
|
|
|
} |
949
|
|
|
|
950
|
|
|
|
951
|
|
|
function add_wpimg_options( $shortcodes ) { |
952
|
|
|
|
953
|
|
|
$custom = array( |
954
|
|
|
'wpimg' => array( |
955
|
|
|
'name' => __( 'Image', 'lasso' ), |
956
|
|
|
'type' => 'single', |
957
|
|
|
'atts' => array( |
958
|
|
|
'img' => array( |
959
|
|
|
'type' => 'media_upload', |
960
|
|
|
'default' => '', |
961
|
|
|
'desc' => __( 'Image URL', 'lasso' ), |
962
|
|
|
'tip' => __( 'URL for the image. Click <em>Select Media</em> to open the WordPress Media Library.', 'aesop-core' ) |
963
|
|
|
), |
964
|
|
|
|
965
|
|
|
'imgwidth' => array( |
966
|
|
|
'type' => 'text_small', |
967
|
|
|
'default' => '300px', |
968
|
|
|
'desc' => __( 'Image Width', 'lasso' ), |
969
|
|
|
'tip' => __( 'Width of the image. You can enter the size in pixels or percentage such as <code>40%</code> or <code>500px</code>.', 'aesop-core' ) |
970
|
|
|
), |
971
|
|
|
'imgheight' => array( |
972
|
|
|
'type' => 'text_small', |
973
|
|
|
'default' => '', |
974
|
|
|
'desc' => __( 'Image Height', 'lasso' ), |
975
|
|
|
'tip' => __( 'Used only for the Panorama mode. Can be set using pixel values such as <code>500px</code>. If unspecified, the original height would be used. ', 'aesop-core' ) |
976
|
|
|
), |
977
|
|
|
|
978
|
|
|
'link' => array( |
979
|
|
|
'type' => 'text', |
980
|
|
|
'default' => '', |
981
|
|
|
'desc' => __( 'Link', 'lasso' ), |
982
|
|
|
'tip' => __( 'URL link', 'lasso' ) |
983
|
|
|
), |
984
|
|
|
'alt' => array( |
985
|
|
|
'type' => 'text', |
986
|
|
|
'default' => '', |
987
|
|
|
'desc' => __( 'Image ALT', 'lasso' ), |
988
|
|
|
'tip' => __( 'ALT tag used for the image. Primarily used for SEO purposes.', 'lasso' ) |
989
|
|
|
), |
990
|
|
|
|
991
|
|
|
'caption' => array( |
992
|
|
|
'type' => 'text_area', |
993
|
|
|
'default' => '', |
994
|
|
|
'desc' => __( 'Caption', 'lasso' ), |
995
|
|
|
'tip' => __( 'Optional caption for the image.', 'lasso' ) |
996
|
|
|
), |
997
|
|
|
|
998
|
|
|
|
999
|
|
|
), |
1000
|
|
|
'desc' => __( 'An image.', 'aesop-core' ), |
1001
|
|
|
'codes' => '' |
1002
|
|
|
) |
1003
|
|
|
); |
1004
|
|
|
|
1005
|
|
|
return array_merge( $shortcodes, $custom ); |
1006
|
|
|
} |
1007
|
|
|
|
1008
|
|
|
/** |
1009
|
|
|
* Revisions modal |
1010
|
|
|
* |
1011
|
|
|
* @since 0.9.8 |
1012
|
|
|
* |
1013
|
|
|
* @return string |
1014
|
|
|
*/ |
1015
|
|
|
function lasso_editor_revision_modal() { |
1016
|
|
|
|
1017
|
|
|
ob_start(); |
1018
|
|
|
?> |
1019
|
|
|
<div id="lasso--revision__modal" class="lasso--modal lassoShowAnimate "> |
1020
|
|
|
|
1021
|
|
|
<div class="lasso--modal__inner"> |
1022
|
|
|
<div id="lasso--loading" class="lasso--loading"><div class="lasso--loader"></div></div> |
1023
|
|
|
<div id="lasso--hide" style="display:none;" class="lasso--post-form"> |
1024
|
|
|
<i class="lasso-icon lasso-icon-move"></i> |
1025
|
|
|
<label><?php _e( 'Revisions', 'lasso' );?><span class="lasso-util--help lasso-util--help-top" data-tooltip="<?php esc_attr_e( 'Use the slider to view the revision live on the page.', 'lasso' );?>"><i class="lasso-icon-help"></i></span></label> |
1026
|
|
|
<div class="lasso--slider_wrap"> |
1027
|
|
|
<div id="lasso--slider"></div> |
1028
|
|
|
</div> |
1029
|
|
|
<ul id="lasso--revision-list"></ul> |
1030
|
|
|
<div class="lasso--btn-group lasso--btn-group-small"> |
1031
|
|
|
<a href="#" class="lasso--btn-secondary" id="lasso--close-modal"><?php _e( 'Cancel', 'lasso' );?></a> |
1032
|
|
|
<a href="#" class="lasso--btn-primary" id="lasso--select-revision"><?php _e( 'Select', 'lasso' );?></a> |
1033
|
|
|
</div> |
1034
|
|
|
</div> |
1035
|
|
|
|
1036
|
|
|
</div> |
1037
|
|
|
</div> |
1038
|
|
|
<?php |
1039
|
|
|
return ob_get_clean(); |
1040
|
|
|
} |
1041
|
|
|
|
1042
|
|
|
/** |
1043
|
|
|
* |
1044
|
|
|
* Takes a color code and returns an adjusted value |
1045
|
|
|
* @since 1.0.0 |
1046
|
|
|
* Steps should be between -255 and 255. Negative = darker, positive = lighter |
1047
|
|
|
* @return string |
1048
|
|
|
*/ |
1049
|
|
|
function lasso_editor_adjustBrightness($hex, $steps) { |
1050
|
|
|
$steps = max(-255, min(255, $steps)); |
1051
|
|
|
|
1052
|
|
|
// Normalize into a six character long hex string |
1053
|
|
|
$hex = str_replace('#', '', $hex); |
1054
|
|
|
if (strlen($hex) == 3) { |
1055
|
|
|
$hex = str_repeat(substr($hex,0,1), 2).str_repeat(substr($hex,1,1), 2).str_repeat(substr($hex,2,1), 2); |
1056
|
|
|
} |
1057
|
|
|
|
1058
|
|
|
// Split into three parts: R, G and B |
1059
|
|
|
$color_parts = str_split($hex, 2); |
1060
|
|
|
$return = '#'; |
1061
|
|
|
|
1062
|
|
|
foreach ($color_parts as $color) { |
1063
|
|
|
$color = hexdec($color); // Convert to decimal |
1064
|
|
|
$color = max(0,min(255,$color + $steps)); // Adjust color |
1065
|
|
|
$return .= str_pad(dechex($color), 2, '0', STR_PAD_LEFT); // Make two char hex code |
1066
|
|
|
} |
1067
|
|
|
|
1068
|
|
|
return $return; |
1069
|
|
|
} |
1070
|
|
|
|
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.
You can also find more detailed suggestions in the “Code” section of your repository.