Completed
Push — master ( ab8a0f...a274e4 )
by
unknown
02:16
created

editor-modules.php ➔ lasso_editor_component_modal()   F

Complexity

Conditions 14
Paths 257

Size

Total Lines 150
Code Lines 74

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 14
eloc 74
nc 257
nop 0
dl 0
loc 150
rs 3.7522
c 0
b 0
f 0

How to fix   Long Method    Complexity   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

1
<?php
0 ignored issues
show
Coding Style Compatibility introduced by
For compatibility and reusability of your code, PSR1 recommends that a file should introduce either new symbols (like classes, functions, etc.) or have side-effects (like outputting something, or including other files), but not both at the same time. The first symbol is defined on line 16 and the first side effect is on line 15.

The PSR-1: Basic Coding Standard recommends that a file should either introduce new symbols, that is classes, functions, constants or similar, or have side effects. Side effects are anything that executes logic, like for example printing output, changing ini settings or writing to a file.

The idea behind this recommendation is that merely auto-loading a class should not change the state of an application. It also promotes a cleaner style of programming and makes your code less prone to errors, because the logic is not spread out all over the place.

To learn more about the PSR-1, please see the PHP-FIG site on the PSR-1.

Loading history...
2
3
/**
4
 * These functions are then localized and then appended with JS in enter-editor.js
5
 *  All are protectd under a capability and logged in check using a filterable function lasso_user_can()
6
 *
7
 * @since 1.0
8
 */
9
10
/**
11
 * Add the editor controls to any singular post object
12
 *
13
 * @since 1.0
14
 */
15
add_action( 'wp_footer', 'lasso_editor_controls' );
16
function lasso_editor_controls() {
17
18
	global $post;
0 ignored issues
show
Compatibility Best Practice introduced by
Use of global functionality is not recommended; it makes your code harder to test, and less reusable.

Instead of relying on global state, we recommend one of these alternatives:

1. Pass all data via parameters

function myFunction($a, $b) {
    // Do something
}

2. Create a class that maintains your state

class MyClass {
    private $a;
    private $b;

    public function __construct($a, $b) {
        $this->a = $a;
        $this->b = $b;
    }

    public function myFunction() {
        // Do something
    }
}
Loading history...
19
20
	if ( lasso_user_can('edit_posts') ) {
21
22
		$status = get_post_status( get_the_ID() );
23
24
		// let users add custom css classes
25
		$custom_classes = apply_filters( 'lasso_control_classes', '' );
26
27
		$post_access_class   = '';
28
		$post_new_disabled   = lasso_editor_get_option( 'post_adding_disabled', 'lasso_editor' );
29
		$post_settings_disabled = lasso_editor_get_option( 'post_settings_disabled', 'lasso_editor' );
30
		$shortcodify_disabled = lasso_editor_get_option( 'shortcodify_disabled', 'lasso_editor' );
31
32
33
		// CSS class if adding new post objects is disabled
34
		if ( 'on' == $post_new_disabled ) { $post_access_class = 'lasso--post-new-disabled'; }
35
36
		// CSS class if adjust settings is disabled
37
		if ( 'on' == $post_settings_disabled ) { $post_access_class = 'lasso--post-settings-disabled'; }
38
39
		// CSS class if adding new post objects AND settings are disabled
40
		if ( 'on' == $post_new_disabled && 'on' == $post_settings_disabled ) { $post_access_class = 'lasso--post-all-disabled'; }
41
42
		// CSS class if shortcodify or (Aesop Shortcode Conversion) is disabled
43
		$sc_saving_class = 'on' == $shortcodify_disabled ? 'shortcodify-disabled' : 'shortcodify-enabled';
44
45
		// user is capable
46
		$is_capable = is_singular() && lasso_user_can('edit_post');
47
		$is_mobile = wp_is_mobile();
48
		
49
		$mobile_style = $is_mobile ? 'style="bottom:0px;"' : null;
50
		
51
52
		?><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();?>" >
53
54
			<ul class="lasso--controls__center lasso-editor-controls lasso-editor-controls--wrap <?php echo $post_access_class;?> "  <?php echo $mobile_style ?> >
55
56
				<?php do_action( 'lasso_editor_controls_before' );
57
58
				if ( $is_capable ) { ?>
59
60
					<li id="lasso--edit" title="<?php esc_attr_e( 'Edit Post', 'lasso' );?>"><a href="#" class="lasso--button__primary"></a></li>
61
62
					<?php if ( 'off' == $post_settings_disabled || empty( $post_settings_disabled ) ) { ?>
63
						<li id="lasso--post-settings" title="<?php esc_attr_e( 'Post Settings', 'lasso' );?>"><a href="#" class="lasso--button__primary"></a></li>
64
					<?php }
65
66
				} ?>
67
68
				<li id="lasso--post-all" title="<?php esc_attr_e( 'All Posts', 'lasso' );?>"><a href="#" class="lasso--button__primary"></a></li>
69
70
				<?php if ( $is_capable && wp_revisions_enabled( $post ) ) { ?>
71
					<li id="lasso--post-revisions" title="<?php esc_attr_e( 'Revisions', 'lasso' );?>"><a href="#" class="lasso--button__primary"></a></li>
72
				<?php } ?>
73
74
				<?php if ( ( 'off' == $post_new_disabled || empty( $post_new_disabled ) && lasso_user_can('publish_posts') ) ) { ?>
75
					<li id="lasso--post-new" title="<?php esc_attr_e( 'Add Post', 'lasso' );?>"><a href="#" class="lasso--button__primary"></a></li>
76
				<?php } ?>
77
78
				<?php do_action( 'lasso_editor_controls_after' );?>
79
80
			</ul>
81
82 View Code Duplication
			<?php if ( is_singular() && !$is_mobile ) { ?>
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated across your project.

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.

Loading history...
83
84
				<div class="lasso--controls__right" data-posttype="<?php echo get_post_type( get_the_ID() );?>" data-status="<?php echo $status;?>">
85
86
					<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>
87
88
					<?php if ( 'draft' == $status && ( lasso_user_can('publish_posts') || lasso_user_can('publish_pages') )  ) { ?>
89
						<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>
90
					<?php } ?>
91
92
				</div>
93
94
			<?php } ?>
95
96
		</div>
97
98
	<?php }
99
}
100
101
/**
102
 * Draw the side panel that houses the component settings
103
 * This is opened when the settings icon is clicked on a single component
104
 * 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
105
 *
106
 * @since 1.0
107
 */
108
function lasso_editor_component_sidebar() {
109
110
	ob_start();
111
112
	if ( !lasso_user_can() )
113
		return;
114
115
	// let users add custom css classes
116
	$custom_classes = apply_filters( 'lasso_sidebar_classes', '' );
117
	?>
118
	<div id="lasso--sidebar" class="<?php echo sanitize_html_class( $custom_classes );?>" >
119
		<div class="lasso--sidebar__inner">
120
			<div id="lasso--component__settings"></div>
121
		</div>
122
	</div>
123
124
	<?php return ob_get_clean();
125
}
126
127
/**
128
 * Draw the main toolbar used to edit the text
129
 *
130
 * @since 1.0
131
 */
132
function lasso_editor_text_toolbar() {
133
134
	ob_start();
135
136
	if ( !lasso_user_can() )
137
		return;
138
	
139
	$is_mobile = wp_is_mobile();
140
141
	// check for lasso story engine and add a class doniting this
142
	$ase_status = class_exists( 'Aesop_Core' ) || defined( 'LASSO_CUSTOM' ) ? 'ase-active' : 'ase-not-active';
143
144
	// let users add custom css classes
145
	$custom_classes = apply_filters( 'lasso_toolbar_classes', '' );
146
147
	// are toolbar headings enabled
148
	$toolbar_headings      = lasso_editor_get_option( 'toolbar_headings', 'lasso_editor' );
149
	$toolbar_headings_h4      = lasso_editor_get_option( 'toolbar_headings_h4', 'lasso_editor' );
150
151
	$toolbar_class  = $toolbar_headings ? 'toolbar-extended' : false;
152
	
153
	// mobile styles
154
    $mobile_class = $is_mobile ? 'lasso-mobile' : false;
155
	$mobile_style =$is_mobile ? 'style="bottom:0px;"' : null;
156
	
157
	//show color
158
	$show_color = lasso_editor_get_option('toolbar_show_color', 'lasso_editor');
159
	
160
	//show alignment
161
	$show_align = lasso_editor_get_option('toolbar_show_alignment', 'lasso_editor');
162
	
163
	$status = get_post_status( get_the_ID() );
164
165
166
	?>
167
	<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 ?>>
168
		<ul class="lasso--toolbar__inner lasso-editor-controls" <?php if ($is_mobile) {echo 'style="float:left;"';}?>>
169
			<?php do_action( 'lasso_toolbar_components_before' );?>
170
		    <li id="lasso-toolbar--bold" title="<?php esc_attr_e( 'Bold', 'lasso' );?>"></li>
171
		    <li id="lasso-toolbar--underline" title="<?php esc_attr_e( 'Underline', 'lasso' );?>"></li>
172
		    <li id="lasso-toolbar--italic" title="<?php esc_attr_e( 'Italicize', 'lasso' );?>"></li>
173
		    <li id="lasso-toolbar--strike" title="<?php esc_attr_e( 'Strikethrough', 'lasso' );?>"></li>
174
			<li id="lasso-toolbar--components" title="<?php esc_attr_e( 'Insert Component', 'lasso' );?>" style="color:#ffffa0;">
175
			    <ul id="lasso-toolbar--components__list" style="display:none;color:white;">
176
			    	<?php if ( 'ase-active' == $ase_status ): ?>
177
						<li data-type="image" title="<?php esc_attr_e( 'Image', 'lasso' );?>" class="lasso-toolbar--component__image"></li>
178
						<li data-type="character" title="<?php esc_attr_e( 'Character', 'lasso' );?>" class="lasso-toolbar--component__character"></li>
179
						<li data-type="quote" title="<?php esc_attr_e( 'Quote', 'lasso' );?>"  class="lasso-toolbar--component__quote"></li>
180
						<li data-type="content" title="<?php esc_attr_e( 'Content', 'lasso' );?>"  class="lasso-toolbar--component__content"></li>
181
						<li data-type="chapter" title="<?php esc_attr_e( 'Chapter', 'lasso' );?>"  class="lasso-toolbar--component__chapter"></li>
182
						<li data-type="parallax" title="<?php esc_attr_e( 'Parallax', 'lasso' );?>"  class="lasso-toolbar--component__parallax"></li>
183
						<li data-type="audio" title="<?php esc_attr_e( 'Audio', 'lasso' );?>"  class="lasso-toolbar--component__audio"></li>
184
						<li data-type="video" title="<?php esc_attr_e( 'Video', 'lasso' );?>"  class="lasso-toolbar--component__video"></li>
185
						<li data-type="map" title="<?php esc_attr_e( 'Map', 'lasso' );?>"  class="lasso-toolbar--component__map"></li>
186
						<li data-type="timeline_stop" title="<?php esc_attr_e( 'Timeline', 'lasso' );?>"  class="lasso-toolbar--component__timeline"></li>
187
						<li data-type="document" title="<?php esc_attr_e( 'Document', 'lasso' );?>"  class="lasso-toolbar--component__document"></li>
188
						<li data-type="collection" title="<?php esc_attr_e( 'Collection', 'lasso' );?>"  class="lasso-toolbar--component__collection"></li>
189
						<li data-type="gallery" title="<?php esc_attr_e( 'Gallery', 'lasso' );?>"  class="lasso-toolbar--component__gallery"></li>
190
						<?php if ( class_exists ('Aesop_GalleryPop') ) { ?>
191
						     <li data-type="gallery" title="<?php esc_attr_e( 'Gallery Pop', 'lasso' );?>"  class="lasso-toolbar--component__gallerypop"></li>
192
						<?php }?>
193
						<?php if ( class_exists ('Aesop_Events') ) { ?>
194
						     <li data-type="events" title="<?php esc_attr_e( 'Event', 'lasso' );?>"  class="lasso-toolbar--component__event"></li>
195
						<?php }?>
196 View Code Duplication
					<?php else: ?>
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated across your project.

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.

Loading history...
197
						<li data-type="wpimg" title="<?php esc_attr_e( 'WordPress Image', 'lasso' );?>" class="image lasso-toolbar--component__image"></li>
198
						<li data-type="wpquote" title="<?php esc_attr_e( 'WordPress Quote', 'lasso' );?>" class="quote lasso-toolbar--component__quote"></li>
199
						<!--li data-type="wpvideo" title="<?php esc_attr_e( 'WordPress Video', 'lasso' );?>" class="video lasso-toolbar--component__video"></li-->
200
					<?php endif; ?>
201
					<?php do_action( 'lasso_toolbar_components' );?>
202
			    </ul>
203
			</li>
204
		    <?php if ( $toolbar_headings ): ?>
205
		    <li id="lasso-toolbar--h2" title="<?php esc_attr_e( 'H2 Heading', 'lasso' );?>"></li>
206
		    <li id="lasso-toolbar--h3" title="<?php esc_attr_e( 'H3 Heading', 'lasso' );?>"></li>
207
			<?php endif; ?>
208 View Code Duplication
			<?php if ( $toolbar_headings_h4 ): ?>
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated across your project.

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.

Loading history...
209
		    <li id="lasso-toolbar--h4" title="<?php esc_attr_e( 'H4 Heading', 'lasso' );?>"></li>
210
		    <li id="lasso-toolbar--h5" title="<?php esc_attr_e( 'H5 Heading', 'lasso' );?>"></li>
211
			<li id="lasso-toolbar--h6" title="<?php esc_attr_e( 'H6 Heading', 'lasso' );?>"></li>
212
			<?php endif; ?>
213
			
214
			<?php if ( $show_color ): ?>
215
		    <li id="lasso-toolbar--color-set" title="<?php esc_attr_e( 'Set Text Color', 'lasso' );?>"></li>
216
		    <li id="lasso-toolbar--color-pick" title="<?php esc_attr_e( 'Choose Color', 'lasso' );?>"></li>
217
			<?php endif; ?>
218
					
219
		    
220
			<li id="lasso-toolbar--link" title="<?php esc_attr_e( 'Anchor Link', 'lasso' );?>">
221
		    	<div id="lasso-toolbar--link__wrap" <?php echo $mobile_style ?> >
222
		    		<div id="lasso-toolbar--link__inner" contenteditable="true" placeholder="<?php esc_attr_e( 'http://url.com', 'lasso' );?>"></div>
223
		    		<a href="#" title="<?php esc_attr_e( 'Create Link', 'lasso' );?>" class="lasso-toolbar--link__control" id="lasso-toolbar--link__create" ></a>
224
					<input class="styled-checkbox" type="checkbox" id="aesop-toolbar--link_newtab" checked/>
225
                    <label for="aesop-toolbar--link_newtab">Open in Another Tab</label>
226
		    	</div>
227
		    </li>
228
		    <?php do_action( 'lasso_toolbar_components_after' );?>
229
		    <li id="lasso-toolbar--html" title="<?php esc_attr_e( 'Insert HTML', 'lasso' );?>">
230
		    	<div id="lasso-toolbar--html__wrap" <?php echo $mobile_style ?>>
231
		    		<div id="lasso-toolbar--html__inner" contenteditable="true" placeholder="<?php esc_attr_e( 'Enter HTML to insert', 'lasso' );?>"></div>
232
		    		<div id="lasso-toolbar--html__footer">
233
		    			<ul class="lasso-toolbar--html-snips">
234
		    				<?php if ( !$toolbar_headings ): ?>
235
		    				<li id="lasso-html--h2" title="<?php esc_attr_e( 'H2 Heading', 'lasso' );?>">
236
		    				<li id="lasso-html--h3" title="<?php esc_attr_e( 'H3 Heading', 'lasso' );?>">
237
		    				<?php endif; ?>
238
		    				<li id="lasso-html--ul" title="<?php esc_attr_e( 'Unordered List', 'lasso' );?>">
239
		    				<li id="lasso-html--ol" title="<?php esc_attr_e( 'Ordered List', 'lasso' );?>">
240
		    			</ul>
241
		    			<a class="lasso-toolbar--html__control lasso-toolbar--html__cancel" href="#"><?php _e( 'Cancel', 'lasso' );?></a>
242
		    			<a href="#" title="<?php esc_attr_e( 'Insert HTML', 'lasso' );?>" class="lasso-toolbar--html__control" id="lasso-toolbar--html__insert" ><?php _e( 'Insert', 'lasso' );?></a>
243
		    		</div>
244
		    	</div>
245
		    </li>
246 View Code Duplication
			<?php if ( $show_align ): ?>
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated across your project.

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.

Loading history...
247
		    <li id="lasso-toolbar--left-align" title="<?php esc_attr_e( 'Text Left Align', 'lasso' );?>"></li>
248
		    <li id="lasso-toolbar--center-align" title="<?php esc_attr_e( 'Text Center Align', 'lasso' );?>"></li>
249
			<li id="lasso-toolbar--right-align" title="<?php esc_attr_e( 'Text Right Align', 'lasso' );?>"></li>
250
			<?php endif; ?>
251
		</ul>
252 View Code Duplication
		<?php if ( is_singular() && $is_mobile ) { ?>
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated across your project.

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.

Loading history...
253
254
				<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;">
255
256
					<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>
0 ignored issues
show
Bug introduced by
The variable $sc_saving_class does not exist. Did you forget to declare it?

This check marks access to variables or properties that have not been declared yet. While PHP has no explicit notion of declaring a variable, accessing it before a value is assigned to it is most likely a bug.

Loading history...
257
258
					<?php if ( 'draft' == $status && ( lasso_user_can('publish_posts') || lasso_user_can('publish_pages') )  ) { ?>
259
						<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>
260
					<?php } ?>
261
262
				</div>
263
264
		<?php } ?>
265
	</div>
266
267
	<?php return ob_get_clean();
268
}
269
270
/**
271
 * Draw the controls used for teh component settings within each component
272
 *
273
 * @since 1.0
274
 */
275
function lasso_editor_settings_toolbar() {
276
277
	$delete_nonce = wp_create_nonce( 'lasso-delete-nonce' );
278
279
	ob_start();
280
281
	if ( !lasso_user_can() )
282
		return;
283
284
	// let users add custom css classes
285
	$custom_classes = apply_filters( 'lasso_component_classes', '' );
286
287
	?>
288
	<ul class="lasso-component--controls <?php echo sanitize_html_class( $custom_classes );?>" contenteditable="false">
289
		<li class="lasso-drag" title="<?php esc_attr_e( 'Move', 'lasso' );?>"></li>
290
		<li id="lasso-component--settings__trigger" class="lasso-settings" title="<?php esc_attr_e( 'Settings', 'lasso' );?>"></li>
291
		<li class="lasso-clone" title="<?php esc_attr_e( 'Clone', 'lasso' );?>"></li>
292
		<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>
293
	</ul>
294
295
	<?php return ob_get_clean();
296
}
297
298
/**
299
 * Draws the controls used for changing the featured image
300
 *   These controls are appended based on the class set in the define
301
 *
302
 * @since 1.0
303
 */
304
function lasso_editor_image_controls() {
305
306
	ob_start();
307
308
	if ( !lasso_user_can() )
309
		return;
310
311
	// has post thumbnail
312
	$has_thumbnail = has_post_thumbnail( get_the_ID() ) ? 'class="lasso--featImg--has-thumb"' : false;
313
314
	?>
315
	<ul id="lasso--featImgControls" <?php echo $has_thumbnail;?>>
316
		<li id="lasso--featImgUpload"><a title="<?php esc_attr_e( 'Replace Image', 'lasso' );?>" href="#"><i class="lasso-icon-image"></i></a></li>
317
		<li id="lasso--featImgDelete"><a title="<?php esc_attr_e( 'Delete Image', 'lasso' );?>" href="#"><i class="lasso-icon-bin2"></i></a></li>
318
		<li id="lasso--featImgSave"><a href="#"><?php esc_attr_e( 'save', 'lasso' );?></a></li>
319
	</ul>
320
321
	<?php return ob_get_clean();
322
}
323
324
325
/**
326
 * Used to house post settings like scheduling, slugs and draft status
327
 * Note: the "add new" will use the same object as the currently shown. For example, if the user
328
 * is currently on a post, and clicks add new, then it'll add a new post. If the user is on a
329
 * post type like "dog", then it will create a new post type called "dog"
330
 *
331
 * @since 1.0
332
 */
333
function lasso_editor_component_modal() {
334
335
	ob_start();
336
337
	if ( !lasso_user_can() )
338
		return;
339
340
	global $post;
0 ignored issues
show
Compatibility Best Practice introduced by
Use of global functionality is not recommended; it makes your code harder to test, and less reusable.

Instead of relying on global state, we recommend one of these alternatives:

1. Pass all data via parameters

function myFunction($a, $b) {
    // Do something
}

2. Create a class that maintains your state

class MyClass {
    private $a;
    private $b;

    public function __construct($a, $b) {
        $this->a = $a;
        $this->b = $b;
    }

    public function myFunction() {
        // Do something
    }
}
Loading history...
341
342
	$postid = get_the_ID();
343
344
	$status = get_post_status( $postid );
345
	$nonce = wp_create_nonce( 'lasso-update-post-settings' );
346
347
	// let users add custom css classes
348
	$custom_classes = apply_filters( 'lasso_modal_settings_classes', '' );
349
350
	// objects categories
351
	$categories 		= lasso_get_post_objects( $postid, 'category' );
352
	$tags 				= lasso_get_post_objects( $postid, 'tag' );
353
354
	// modal tabs
355
	$tabs  				= lasso_modal_addons('tab');
356
	$content 			= lasso_modal_addons('content');
357
	
358
	//editor options
359
	$allow_change_date = lasso_editor_get_option('allow_change_date', 'lasso_editor');
360
361
	// are we singular
362
	$is_singular 		= is_singular();
363
	$is_singular_class 	= $is_singular ? 'lasso--postsettings__2col' : 'lasso--postsettings__1col';
364
	$has_thumb_class    = has_post_thumbnail() ? 'has-thumbnail' : 'no-thumbnail';
365
	$theme_supports     = current_theme_supports('post-thumbnails');
366
	$default_image 		= LASSO_URL.'/admin/assets/img/empty-img.png';
367
368
?>
369
	<div id="lasso--post-settings__modal" class="lasso--modal lassoShowAnimate <?php echo sanitize_html_class( $custom_classes );?>">
370
		<div class="lasso--modal__inner">
371
372
			<?php if( $tabs ) { echo $tabs; } ?>
0 ignored issues
show
Bug Best Practice introduced by
The expression $tabs of type string|false is loosely compared to true; this is ambiguous if the string can be empty. You might want to explicitly use !== false instead.

In PHP, under loose comparison (like ==, or !=, or switch conditions), values of different types might be equal.

For string values, the empty string '' is a special case, in particular the following results might be unexpected:

''   == false // true
''   == null  // true
'ab' == false // false
'ab' == null  // false

// It is often better to use strict comparison
'' === false // false
'' === null  // false
Loading history...
373
374
			<div class="lasso--modal__content modal__content--core visible" data-addon-content="core">
375
				<form id="lasso--postsettings__form" enctype="multipart/form-data" class="lasso--post-form <?php echo $is_singular_class.' '.$has_thumb_class;?>" >
376
377
					<?php if ( $is_singular && $theme_supports ) : ?>
378
					<div class="lasso--postsettings__left">
379
						<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>
380
						<div class="lasso--post-thumb" data-default-thumb="<?php echo esc_url( $default_image );?>">
381
382
							<div id="lasso--post-thumb__controls" class="lasso--post-thumb__controls">
383
								<i id="lasso--post-thumb__add" title="<?php _e('Change Featured Image','lasso');?>" class="dashicons dashicons-edit"></i>
384
								<i id="lasso--post-thumb__delete" title="<?php _e('Delete Featured Image','lasso');?>" class="dashicons dashicons-no-alt"></i>
385
								<i id="lasso--save-status" class="lasso-icon lasso-icon-spinner6 not-visible"></i>
386
							</div>
387
388
							<?php echo has_post_thumbnail() ? get_the_post_thumbnail( $post->ID, 'medium' ) : '<img src="'.$default_image.'">'; ?>
389
390
						</div>
391
						<div id="lasso--featImgSave"><a href="#" class="not-visible">Save</a></div>
392
393
					</div>
394
					<?php endif; ?>
395
396
					<div class="lasso--postsettings__right">
397
398
						<?php if( lasso_user_can('publish_posts') || lasso_user_can('publish_pages') ): ?>
399
						<div class="lasso--postsettings__option story-status-option">
400
							<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>
401
							<ul class="story-status story-status-<?php echo sanitize_html_class( $status );?>">
402
								<li id="lasso--status-draft"><?php _e( 'Draft', 'lasso' );?></li>
403
								<li id="lasso--status-publish"><?php _e( 'Publish', 'lasso' );?></li>
404
							</ul>
405
							<div class="lasso--slider_wrap">
406
								<div id="lasso--slider"></div>
407
							</div>
408
						</div>
409
						<?php endif; ?>
410
411
						<?php if ( 'publish' == $status ): ?>
412
						<div class="lasso--postsettings__option story-slug-option">
413
							<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>
414
							<input class="lasso--modal__trigger-footer" type="text" name="story_slug" value="<?php echo isset( $post ) ? esc_attr( $post->post_name ) : false;?>">
415
						</div>
416
						<?php endif; ?>
417
418
					</div>
419
420
					<div class="lasso--postsettings__middle">
421
422
						<div class="lasso--postsettings__option story-categories-option">
423
							<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>
424
							<input id="lasso--cat-select" class="lasso--modal__trigger-footer" type="hidden" name="story_cats" value="<?php echo $categories;?>">
425
						</div>
426
427
						<div class="lasso--postsettings__option story-tags-option">
428
							<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>
429
							<input id="lasso--tag-select" class="lasso--modal__trigger-footer" type="hidden" name="story_tags" value="<?php echo $tags;?>">
430
						</div>
431
						<?php 
432
						if ($allow_change_date) { 
433
						    $dateformat = get_option( 'date_format' ); 
434
						?>
435
						    <label><?php _e( 'Post Date', 'lasso' ); ?></label>
436
							<input type="text" class="editus_custom_date" name="post_date" value="<?php echo get_the_time($dateformat, $postid);?>"/>
437
						<?php
438
						}?>
439
440
					</div>
441
					<!-- alternate way to display categories disabled now -->
442
					<!--div style="max-height:300px;overflow-y: scroll;"-->
443
                    <?php
444
							/*$allcats = explode(",",lasso_get_objects('category'));
0 ignored issues
show
Unused Code Comprehensibility introduced by
56% of this comment could be valid code. Did you maybe forget this after debugging?

Sometimes obsolete code just ends up commented out instead of removed. In this case it is better to remove the code once you have checked you do not need it.

The code might also have been commented out for debugging purposes. In this case it is vital that someone uncomments it again or your project may behave in very unexpected ways in production.

This check looks for comments that seem to be mostly valid code and reports them.

Loading history...
445
							$currcats = explode(",",$categories);
446
							foreach ( $allcats  as $category ) {
447
								if (empty($category)) continue;
448
							   $checked ="";
449
							   if (  in_array( $category, $currcats ) ) {
450
									$checked = 'checked="checked"';
451
									
452
							   }
453
							   echo '<label><input type="checkbox" '.$checked.' name="categories" id="'.$category.'" >'.$category.'</label>';
454
							}*/
455
					?>
456
					<!--/div-->
457
458
					<?php do_action( 'lasso_modal_post_form' ); // action ?>
459
460
					<div class="lasso--postsettings__footer" >
461
						<a href="#" class="lasso--postsettings-cancel"><?php _e( 'Cancel', 'lasso' );?></a>
462
						<input type="hidden" name="status" value="">
463
						<input type="hidden" name="categories" value="">
464
						<input type="hidden" name="postid" value="<?php echo get_the_ID();?>">
465
						<input type="hidden" name="action" value="process_update-object_post">
466
						<input type="hidden" name="nonce" value="<?php echo $nonce;?>">
467
						<?php do_action( 'lasso_modal_post_form_footer' ); // action ?>
468
						<input type="submit" value="<?php esc_attr_e( 'Save', 'lasso' );?>">
469
					</div>
470
471
				</form>
472
			</div>
473
474
			<?php if( $tabs ) { echo $content; } ?>
0 ignored issues
show
Bug Best Practice introduced by
The expression $tabs of type string|false is loosely compared to true; this is ambiguous if the string can be empty. You might want to explicitly use !== false instead.

In PHP, under loose comparison (like ==, or !=, or switch conditions), values of different types might be equal.

For string values, the empty string '' is a special case, in particular the following results might be unexpected:

''   == false // true
''   == null  // true
'ab' == false // false
'ab' == null  // false

// It is often better to use strict comparison
'' === false // false
'' === null  // false
Loading history...
475
476
		</div>
477
478
	</div>
479
	<div id="lasso--modal__overlay"></div>
480
481
	<?php return ob_get_clean();
482
}
483
484
/**
485
 * Used to house the form for creating a new post within amodal
486
 *
487
 * @since 1.0
488
 */
489
function lasso_editor_newpost_modal() {
490
491
	global $post;
0 ignored issues
show
Compatibility Best Practice introduced by
Use of global functionality is not recommended; it makes your code harder to test, and less reusable.

Instead of relying on global state, we recommend one of these alternatives:

1. Pass all data via parameters

function myFunction($a, $b) {
    // Do something
}

2. Create a class that maintains your state

class MyClass {
    private $a;
    private $b;

    public function __construct($a, $b) {
        $this->a = $a;
        $this->b = $b;
    }

    public function myFunction() {
        // Do something
    }
}
Loading history...
492
493
	ob_start();
494
495
	if ( !lasso_user_can('edit_posts') )
496
		return;
497
498
	$status = get_post_status( get_the_ID() );
0 ignored issues
show
Unused Code introduced by
$status is not used, you could remove the assignment.

This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.

$myVar = 'Value';
$higher = false;

if (rand(1, 6) > 3) {
    $higher = true;
} else {
    $higher = false;
}

Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.

Loading history...
499
500
	$nonce = wp_create_nonce( 'lasso-editor-new-post' );
501
502
	// let users add custom css classes
503
	$custom_classes = apply_filters( 'lasso_modal_post_classes', '' );
504
505
	// return the post type
506
	$type = get_post_type( get_the_ID() );
507
508
	$mobile_style = "";
509
	if (wp_is_mobile()) {
510
		$mobile_style = 'style="top:140px !important;"';
511
	}
512
	?>
513
	<div id="lasso--post-new__modal" class="lasso--modal lasso--modal__med lassoShowAnimate <?php echo sanitize_html_class( $custom_classes );?>" <?php echo $mobile_style;?>">
514
		<div class="lasso--modal__inner lasso--hasnewform">
515
516
			<form id="lasso--postnew__form" enctype="multipart/form-data" class="lasso--post-form">
517
518
				<div class="lasso--postsettings__option story-slug-option lasso--last-option">
519
					<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>
520
					<input class="lasso--modal__trigger-footer" type="text" required name="story_title" value="" placeholder="<?php esc_attr_e( 'Grump Wizards Make Toxic Brew', 'lasso' );?>">
521
						<div class="lasso--select-wrap" style="width:90px">
522
						<select id="lasso--select-type" name="story_type">
523
524
							<?php
525
								$types = lasso_post_types();
526
527
								if ( !empty( $types ) ) {
528
529
									foreach( $types as $type ) {
530
531
										$type = preg_replace( '/s\b/','', $type );
532
533
										printf( '<option value="%s">%s</option>', lcfirst( esc_attr( $type ) ) , ucfirst( esc_attr( $type ) ) );
534
									}
535
536
								}
537
							?>
538
539
						</select>
540
					</div>
541
				</div>
542
543
				<div class="lasso--postsettings__footer" style="<?php if (!wp_is_mobile()) {echo 'display:none;';} ?>">
544
					<a href="#" class="lasso--postsettings-cancel"><?php _e( 'Cancel', 'lasso' );?></a>
545
					<input type="hidden" name="action" value="process_new-object_post">
546
					<input type="hidden" name="object" value="post">
547
					<input type="hidden" name="nonce" value="<?php echo $nonce;?>">
548
					<input type="submit" value="<?php esc_attr_e( 'Create', 'lasso' );?>">
549
				</div>
550
551
			</form>
552
553
		</div>
554
	</div>
555
	<div id="lasso--modal__overlay"></div>
556
557
	<?php return ob_get_clean();
558
}
559
560
/**
561
 * Used to house the all posts pop-up
562
 *
563
 * @since 0.9.3
564
 */
565
function lasso_editor_allpost_modal() {
566
567
	global $post;
0 ignored issues
show
Compatibility Best Practice introduced by
Use of global functionality is not recommended; it makes your code harder to test, and less reusable.

Instead of relying on global state, we recommend one of these alternatives:

1. Pass all data via parameters

function myFunction($a, $b) {
    // Do something
}

2. Create a class that maintains your state

class MyClass {
    private $a;
    private $b;

    public function __construct($a, $b) {
        $this->a = $a;
        $this->b = $b;
    }

    public function myFunction() {
        // Do something
    }
}
Loading history...
568
	
569
	global $wp_post_types;
0 ignored issues
show
Compatibility Best Practice introduced by
Use of global functionality is not recommended; it makes your code harder to test, and less reusable.

Instead of relying on global state, we recommend one of these alternatives:

1. Pass all data via parameters

function myFunction($a, $b) {
    // Do something
}

2. Create a class that maintains your state

class MyClass {
    private $a;
    private $b;

    public function __construct($a, $b) {
        $this->a = $a;
        $this->b = $b;
    }

    public function myFunction() {
        // Do something
    }
}
Loading history...
570
    $labels = &$wp_post_types['post']->labels;
571
    $labels->name = 'Articles';
572
573
	ob_start();
574
575
	// post status
576
	$status = get_post_status( get_the_ID() );
0 ignored issues
show
Unused Code introduced by
$status is not used, you could remove the assignment.

This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.

$myVar = 'Value';
$higher = false;

if (rand(1, 6) > 3) {
    $higher = true;
} else {
    $higher = false;
}

Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.

Loading history...
577
578
	// let users add custom css classes
579
	$custom_classes = apply_filters( 'lasso_modal_all_post_classes', '' );
580
581
	?>
582
	<div id="lasso--all-posts__modal" class="lasso--modal lasso--modal__full lassoShowAnimate <?php echo sanitize_html_class( $custom_classes );?>" style="max-height:100%">
583
		<div class="lasso--modal__inner">
584
585
			<div class="lasso--post-filtering not-visible">
586
				<div class="lasso--search__results">
587
					<span id="lasso--results-found"></span><?php _e('results found','lasso');?>
588
				</div>
589
				<div class="lasso--search">
590
					<i id="lasso--search__toggle" class="dashicons dashicons-search"></i>
591
					<input id="lasso--search-field" type="text" placeholder="search...">
592
				</div>
593
			</div>
594
595
			<ul class="lasso--post-object-list">
596
				<?php
597
598
				$post_types = lasso_post_types_names();
599
				$rest_bases = lasso_post_types_rest_base();
600
601
				if ( ! empty( $post_types ) ) {
602
					$first = 'active';
603
					foreach( $post_types as $name => $label ) {
604
						if (array_key_exists($name, $rest_bases)) {
605
							printf( '<li class="%1s lasso--show-objects" data-post-type="%2s">%3s</li>', esc_attr( $first), esc_attr( $rest_bases[$name] ), esc_attr( $label ) );
606
						}
607
						$first = '';
608
					}
609
610
				}
611
612
				do_action('lasso_modal_post_objects');?>
613
614
			</ul>
615
			<div id="lasso--loading" class="lasso--loading"><div class="lasso--loader"></div></div>
616
617
			<ul id="lasso--post-list" class="lasso--post-list"></ul>
618
619
		</div>
620
	</div>
621
	<div id="lasso--modal__overlay"></div>
622
623
	<?php return ob_get_clean();
624
}
625
626 View Code Duplication
function lasso_editor_wpimg_edit() {
0 ignored issues
show
Duplication introduced by
This function seems to be duplicated in your project.

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.

Loading history...
627
628
	ob_start();
629
630
	if ( !lasso_user_can() )
631
		return;
632
633
	// let users add custom css classes
634
	$custom_classes = apply_filters( 'lasso_wpimg_classes', '' );
635
636
	?>
637
	<ul class="lasso-component--controls <?php echo sanitize_html_class( $custom_classes );?>" contenteditable="false">
638
		<li class="lasso-drag" title="<?php esc_attr_e( 'Move', 'lasso' );?>"></li>
639
		<li id="lasso--wpimg-edit" class="lasso-settings" title="<?php esc_attr_e( 'Settings', 'lasso' );?>"></li>
640
		<li class="lasso-clone" title="<?php esc_attr_e( 'Clone', 'lasso' );?>"></li>
641
		<li class="lasso-delete" title="<?php esc_attr_e( 'Delete', 'lasso' );?>"></li>
642
	</ul>
643
644
	<?php return ob_get_clean();
645
}
646
647 View Code Duplication
function lasso_editor_wpvideo_edit() {
0 ignored issues
show
Duplication introduced by
This function seems to be duplicated in your project.

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.

Loading history...
648
649
	ob_start();
650
651
	if ( !lasso_user_can() )
652
		return;
653
654
	// let users add custom css classes
655
	$custom_classes = apply_filters( 'lasso_wpimg_classes', '' );
656
657
	?>
658
	<ul class="lasso-component--controls <?php echo sanitize_html_class( $custom_classes );?>" contenteditable="false">
659
		<li class="lasso-drag" title="<?php esc_attr_e( 'Move', 'lasso' );?>"></li>
660
		<li id="lasso--wpvideo-edit" class="lasso-settings" title="<?php esc_attr_e( 'Settings', 'lasso' );?>"></li>
661
		<li class="lasso-clone" title="<?php esc_attr_e( 'Clone', 'lasso' );?>"></li>
662
		<li class="lasso-delete" title="<?php esc_attr_e( 'Delete', 'lasso' );?>"></li>
663
	</ul>
664
665
	<?php return ob_get_clean();
666
}
667
668
/**
669
 * Used to house the hidden input fields for actions and process saving for the map component
670
 *
671
 * @since 1.0
672
 */
673
function lasso_map_form_footer() {
674
675
	$nonce = wp_create_nonce( 'lasso-process-map' );
676
677
	ob_start();
678
679
	?>
680
	<div class="lasso--map-form__footer">
681
		<input type="hidden" name="postid" value="<?php echo get_the_ID();?>">
682
		<input type="hidden" name="nonce" value="<?php echo $nonce;?>">
683
		<input type="hidden" name="action" value="process_map_save">
684
		<input type="submit" class="lasso--map-form__submit" value="<?php esc_attr_e( 'Save Locations', 'lasso' );?>">
685
	</div>
686
687
	<?php return ob_get_clean();
688
689
}
690
691
/**
692
 * Some things aren't real-time updatable so we need to append a message in certain areas on certain actions
693
 *
694
 * @since 1.0
695
 */
696
function lasso_editor_refresh_message() {
697
698
	ob_start();
699
700
	?>
701
	<div id="lasso--pagerefresh" class="visible">
702
		<?php _e( 'Save this post and refesh the page to see these changes.', 'lasso' );?>
703
	</div>
704
705
	<?php return ob_get_clean();
706
}
707
708
/**
709
 * Draw out the settings field based on the shortcodes array with options foudn in Lasso Story Engine
710
 *  This was mostly backported from lasso story engine and modified to allow for non lasso shortcodes and components
711
 *
712
 * @since 1.0
713
 */
714
function lasso_editor_options_blob() {
715
716
	$codes   = function_exists( 'aesop_shortcodes' ) ? aesop_shortcodes() : apply_filters( 'lasso_custom_options', '' );
717
	$galleries  = function_exists( 'lasso_editor_galleries_exist' ) && lasso_editor_galleries_exist() ? 'has-galleries' : 'creating-gallery';
718
719
	$nonce = wp_create_nonce( 'lasso_gallery' );
720
721
	$blob = array();
722
723
	if ( empty( $codes ) )
724
		return;
725
726
	foreach ( $codes as $slug => $shortcode ) {
727
		$return = '';
728
		// Shortcode has atts
729
730
		if ( count( $shortcode['atts'] ) && $shortcode['atts'] ) {
731
732
			foreach ( $shortcode['atts'] as $attr_name => $attr_info ) {
733
734
735
				$prefix = isset( $attr_info['prefix'] ) ? sprintf( '<span class="lasso-option-prefix">%s</span>', $attr_info['prefix'] ) : null;
736
737
				$return .= '<form id="lasso--component-settings-form" class="'.$galleries.'" method="post">';
738
				$return .= '<p data-option="'.$attr_name.'" class="lasso-option lasso-'.$slug.'-'.$attr_name.'">';
739
				$return .= '<label for="lasso-generator-attr-' . $attr_name . '">' . $attr_info['desc'] . '</label>';
740
				$return .= '<small class="lasso-option-desc">'.$attr_info['tip'].'</small>';
741
				// Select
742
743
				if ( isset( $attr_info['values'] ) ) {
744
745
					$return .= '<select name="' . $attr_name . '" id="lasso-generator-attr-' . $attr_name . '" class="lasso-generator-attr">';
746
747
					$i=0;
748
749
					foreach ( $attr_info['values'] as $attr_value ) {
750
						$attr_value_selected = $attr_info['default'] == $attr_value ? ' selected="selected"' : '';
751
752
						$return .= '<option value="'.$attr_info['values'][$i]['value'].'" ' . $attr_value_selected . '>'.$attr_info['values'][$i]['name'].'</option>';
753
754
						$i++;
755
					}
756
757
					$return .= '</select>';
758
759
				} else {
760
761
					$attr_field_type = isset( $attr_info['type'] ) ? $attr_info['type'] : 'text';
762
763
					// image upload
764
					if ( 'media_upload' == $attr_info['type'] ) {
765
766
						$return .= '<input type="' . $attr_field_type . '" name="' . $attr_name . '" value="'.$attr_info['default'].'" id="lasso-generator-attr-' . $attr_name . '" class="lasso-generator-attr lasso-generator-attr-'.$attr_field_type.'" />';
767
						$return .= '<a href="#" id="lasso-upload-img" class="lasso-option-button" /></a>';
768
769
					} elseif ( 'color' == $attr_info['type'] ) {
770
771
						$return .= '<input type="color" name="' . $attr_name . '" value="'.$attr_info['default'].'" id="lasso-generator-attr-' . $attr_name . '" class="lasso-generator-attr lasso-generator-attr-'.$attr_field_type.'" />';
772
773
					} elseif ( 'text_area' == $attr_info['type'] ) {
774
775
						$return .= '<textarea name="' . $attr_name . '" id="lasso-generator-attr-' . $attr_name . '" class="lasso-generator-attr lasso-generator-attr-'.$attr_field_type.'" placeholder="'.$attr_info['default'].'" /></textarea>'.$prefix.'';
776
777
					} else {
778
						$return .= '<input type="' . $attr_field_type . '" name="' . $attr_name . '" value="'.$attr_info['default'].'" id="lasso-generator-attr-' . $attr_name . '" class="lasso-generator-attr lasso-generator-attr-'.$attr_field_type.'" />'.$prefix.'';
779
					}
780
				}
781
				$return .= '</p>';
782
783
			}
784
		}
785
786
		///////////////////////////
787
		// START GALLERY AND MAP FRONT END STUFFS
788
		///////////////////////////
789
		if ( isset( $shortcode['front'] ) && true == $shortcode['front'] ) {
790
791
			if ( 'gallery' == $shortcode['front_type'] ) {
792
793
				$return .= lasso_gallery_editor_module();
794
795
			}
796
		}
797
		///////////////////////////
798
		// END GALLERY AND MAP FRONT END STUFFS
799
		///////////////////////////
800
801
		// Single shortcode (not closed)
802
		if ( 'single' == $shortcode['type'] ) {
803
804
			$return .= '<input type="hidden" name="lasso-generator-content" id="lasso-generator-content" value="false" />';
805
806
		} else {
807
808
			$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>';
809
		}
810
811
		$return .= '<p class="lasso-buttoninsert-wrap"><a href="#" class="lasso-generator-cancel" id="lasso--sidebar__close">Cancel
812
</a><input type="submit" id="lasso-generator-insert" value="Save Settings"></p>';
813
		$return .= '<input class="component_type" type="hidden" name="component_type" value="">';
814
		$return .= '<input type="hidden" name="unique" value="">';
815
		$return .= '<input type="hidden" name="nonce" id="lasso-generator-nonce" value="'.$nonce.'" />';
816
		$return .= '</form>';
817
818
		$blob[$slug] = $return;
819
	}
820
821
	return $blob;
822
}
823
824
/**
825
 * Revisions modal
826
 *
827
 * @since 0.9.8
828
 *
829
 * @return string
830
 */
831
function lasso_editor_revision_modal() {
832
833
	ob_start();
834
	?>
835
		<div id="lasso--revision__modal" class="lasso--modal lassoShowAnimate ">
836
837
			<div class="lasso--modal__inner">
838
				<div id="lasso--loading" class="lasso--loading"><div class="lasso--loader"></div></div>
839
				<div id="lasso--hide" style="display:none;" class="lasso--post-form">
840
					<i class="lasso-icon lasso-icon-move"></i>
841
					<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>
842
					<div class="lasso--slider_wrap">
843
						<div id="lasso--slider"></div>
844
					</div>
845
					<ul id="lasso--revision-list"></ul>
846
					<div class="lasso--btn-group lasso--btn-group-small">
847
						<a href="#" class="lasso--btn-secondary" id="lasso--close-modal">Cancel</a>
848
						<a href="#" class="lasso--btn-primary" id="lasso--select-revision">Select</a>
849
					</div>
850
				</div>
851
852
			</div>
853
		</div>
854
	<?php
855
	return ob_get_clean();
856
}
857