PluginProbe
Page Builder: Pagelayer – Drag and Drop website builder / 1.0.2
Page Builder: Pagelayer – Drag and Drop website builder v1.0.2
2.2.1 2.2.0 2.1.9 2.1.8 2.1.7 2.1.6 2.1.5 2.1.4 2.1.3 trunk 0.9.0 0.9.1 0.9.2 0.9.3 0.9.4 0.9.5 0.9.6 0.9.7 0.9.8 0.9.9 1.0.0 1.0.2 1.0.3 1.0.4 1.0.5 All 129 releases
pagelayer / main / live.php

live.php in Page Builder: Pagelayer – Drag and Drop website builder 1.0.2, at main/live.php

199 lines 6.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 //////////////////////////////////////////////////////////////
4 //===========================================================
5 // live.php
6 //===========================================================
7 // PAGELAYER
8 // Inspired by the DESIRE to be the BEST OF ALL
9 // ----------------------------------------------------------
10 // Started by: Pulkit Gupta
11 // Date: 23rd Jan 2017
12 // Time: 23:00 hrs
13 // Site: http://pagelayer.com/wordpress (PAGELAYER)
14 // ----------------------------------------------------------
15 // Please Read the Terms of use at http://pagelayer.com/tos
16 // ----------------------------------------------------------
17 //===========================================================
18 // (c)Pagelayer Team
19 //===========================================================
20 //////////////////////////////////////////////////////////////
21
22 // Are we being accessed directly ?
23 if(!defined('PAGELAYER_VERSION')) {
24 exit('Hacking Attempt !');
25 }
26
27
28 class PageLayer_LiveEditor{
29
30 // The constructor
31 function __construct() {
32
33 global $pagelayer;
34
35 $GLOBALS['concatenate_scripts'] = true;
36
37 // Convert the post to a PageLayer Post first
38 $this->check_post();
39
40 // Add the shortcodes
41 // TODO : Make a json file
42 add_action('wp_head', array($this, 'wp_head'), 999);
43
44 // Add the Body Class Filter
45 //add_filter('body_class', array($this, 'body_class'));
46
47 // Add the content handler
48 add_filter('the_content', array($this, 'the_content'));
49
50 // Build the Shortcodes MD5 for cache
51 $scmd5 = md5(json_encode($pagelayer->shortcodes).json_encode($pagelayer->groups).json_encode($pagelayer->styles));
52
53 // Enqueue our Editor's JS
54 wp_register_script('pagelayer-editor', admin_url( 'admin-ajax.php?action=pagelayer_givejs' ).'&give=pagelayer-editor.js,widgets.js,'.(defined('PAGELAYER_PREMIUM') ? 'premium.js,' : '').'properties.js,base-64.js,slimscroll.js,vanilla-picker.min.js,trumbowyg.js,trumbowyg.fontfamily.js,trumbowyg-pagelayer.js,trumbowyg.fontsize.min.js,pen.js,tlite.min.js&pagelayer_nonce=1&scmd5='.$scmd5, array('jquery'), PAGELAYER_VERSION);
55 wp_enqueue_script('pagelayer-editor');
56
57 // Enqueue the Editor's CSS
58 wp_register_style('pagelayer-editor', PAGELAYER_CSS.'/givecss.php?give=pagelayer-editor-frontend.css,pen.css'.(defined('PAGELAYER_PREMIUM') ? ',owl.theme.default.min.css,owl.carousel.min.css' : ''), array(), PAGELAYER_VERSION);
59 wp_enqueue_style('pagelayer-editor');
60
61 // Enqueue the DateTime picker CSS
62 /* wp_register_style('datetime-picker', PAGELAYER_CSS.'/datetime-picker.css', array(), PAGELAYER_VERSION);
63 wp_enqueue_style('datetime-picker'); */
64
65 // Enqueue the media library
66 if(!did_action('wp_enqueue_media')){
67 wp_enqueue_media();
68 }
69
70 // Force the Frontend CSS and JS if not already loaded
71 pagelayer_enqueue_frontend(true);
72
73 // Hide Admin Bar
74 show_admin_bar(false);
75 remove_action('wp_head', '_admin_bar_bump_cb');
76
77 // Load custom widgets
78 do_action('pagelayer_custom_editor_enqueue');
79
80 // Add the footer scripts
81 add_action('wp_footer', array($this, 'wp_footer'), 1);
82
83 }
84
85 // Add our body class
86 function body_class($classes){
87 return array_merge($classes, array('pagelayer-body'));
88 }
89
90 // Header function to add certain things
91 function wp_head(){
92
93 global $pagelayer, $post, $wp_query;
94
95 // Export the post props
96 $_post = clone $post;
97 unset($_post->post_content);
98
99 $returnURL = (!is_page($post->ID) ? admin_url('edit.php') : admin_url('edit.php?post_type=page') );
100
101 echo '
102 <script type="text/javascript">
103 pagelayer_ver = "'.PAGELAYER_VERSION.'";
104 pagelayer_pro = '.(int)defined('PAGELAYER_PREMIUM').';
105 pagelayer_pro_url = "'.PAGELAYER_PRO_URL.'";
106 pagelayer_api_url = "'.PAGELAYER_API.'";
107 pagelayer_ajax_url = "'.admin_url( 'admin-ajax.php' ).'?&";
108 pagelayer_ajax_nonce = "'.wp_create_nonce('pagelayer_ajax').'";
109 pagelayer_media_ajax_nonce = "'.wp_create_nonce('media-form').'";
110 pagelayer_preview_nonce = "'. wp_create_nonce( 'post_preview_' . $post->ID ).'";
111 pagelayer_url = "'.PAGELAYER_URL.'";
112 pagelayer_postID = "'.$post->ID.'";
113 pagelayer_post_permalink = "'.get_permalink($post->ID).'";
114 pagelayer_tabs = '.json_encode($pagelayer->tabs).';
115 pagelayer_isDirty = false;
116 pagelayer_returnURL = "'.$returnURL.'";
117 pagelayer_theme_vars = '.json_encode( pagelayer_template_vars() ).';
118 pagelayer_revision_obj = '.json_encode( pagelayer_get_post_revision_by_id( $post->ID ) ).';
119 pagelayer_author = '.json_encode(pagelayer_author_data($post->ID)).';
120 pagelayer_site_logo = '.json_encode(pagelayer_site_logo()).';
121 pagelayer_support_FI = "'. ( current_theme_supports('post-thumbnails') ) .'";
122 pagelayer_editable = ".'.(!empty($pagelayer->template_editor) ? $pagelayer->template_editor : 'entry-content').'";
123 pagelayer_wp_query = '. json_encode($wp_query->query_vars) .';
124 pagelayer_post = '. @json_encode($_post) .';
125 pagelayer_loaded_icons = '.json_encode(pagelayer_enabled_icons()).';
126 pagelayer_shortcodes.pl_post_props.params.post_title.default = "'.pagelayer_escapeHTML($post->post_title).'";
127 pagelayer_shortcodes.pl_post_props.params.post_name.default = "'.pagelayer_escapeHTML($post->post_name).'";
128 </script>';
129
130 do_action('pagelayer_editor_wp_head');
131
132 }
133
134 // Footer function to add certain things
135 function wp_footer(){
136 wp_enqueue_script('heartbeat');
137 _wp_footer_scripts();
138 }
139
140 // Convert to Pagelayer post
141 function check_post(){
142
143 global $post;
144
145 // Is this a Pagelayer post
146 $data = get_post_meta($post->ID, 'pagelayer-data', true);
147
148 if(empty($data)){
149
150 // Is it a Gutenburg Post ?
151 if(false){
152
153 // Regular post
154 }else{
155
156 // Add our surrounding tag
157 $post->post_content = '['.PAGELAYER_SC_PREFIX.'_row]
158 ['.PAGELAYER_SC_PREFIX.'_col col=12]
159 ['.PAGELAYER_SC_PREFIX.'_text]
160 '.$post->post_content.'
161 [/'.PAGELAYER_SC_PREFIX.'_text]
162 [/'.PAGELAYER_SC_PREFIX.'_col]
163 [/'.PAGELAYER_SC_PREFIX.'_row]';
164
165 // Update the post
166 $new_post = array(
167 'ID' => $post->ID,
168 'post_content' => $post->post_content,
169 );
170
171 // Update the post into the database
172 wp_update_post($new_post);
173
174 }
175
176 // Convert to pagelayer accessed post
177 if(!add_post_meta($post->ID, 'pagelayer-data', time(), true)){
178 update_post_meta($post->ID, 'pagelayer-data', time());
179 }
180 }
181
182 }
183
184 // Add certain things
185 function the_content($content) {
186
187 global $post;
188
189 // Check if we're inside the main loop in a single post page.
190 if ( is_single() && in_the_loop() && is_main_query() ) {
191 return $content;
192 }
193
194 return $content;
195
196 }
197
198 }
199