PluginProbe
Page Builder: Pagelayer – Drag and Drop website builder / 1.0.0
Page Builder: Pagelayer – Drag and Drop website builder v1.0.0
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.0, at main/live.php

185 lines 5.7 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 // Enqueue our Editor's JS
51 wp_register_script('pagelayer-editor', PAGELAYER_JS.'/givejs.php?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', array('jquery'), PAGELAYER_VERSION);
52 wp_enqueue_script('pagelayer-editor');
53
54 // Enqueue the Editor's CSS
55 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);
56 wp_enqueue_style('pagelayer-editor');
57
58 // Enqueue the DateTime picker CSS
59 /* wp_register_style('datetime-picker', PAGELAYER_CSS.'/datetime-picker.css', array(), PAGELAYER_VERSION);
60 wp_enqueue_style('datetime-picker'); */
61
62 // Enqueue the media library
63 if(!did_action('wp_enqueue_media')){
64 wp_enqueue_media();
65 }
66
67 // Force the Frontend CSS and JS if not already loaded
68 pagelayer_enqueue_frontend(true);
69
70 // Hide Admin Bar
71 show_admin_bar(false);
72 remove_action('wp_head', '_admin_bar_bump_cb');
73
74 // Load custom widgets
75 do_action('pagelayer_custom_editor_enqueue');
76
77 // Add the footer scripts
78 add_action('wp_footer', array($this, 'wp_footer'), 1);
79
80 }
81
82 // Add our body class
83 function body_class($classes){
84 return array_merge($classes, array('pagelayer-body'));
85 }
86
87 // Header function to add certain things
88 function wp_head(){
89
90 global $pagelayer, $post, $wp_query;
91
92 $returnURL = (!is_page($post->ID) ? admin_url('edit.php') : admin_url('edit.php?post_type=page') );
93
94 echo '
95 <script type="text/javascript">
96 pagelayer_ver = "'.PAGELAYER_VERSION .'";
97 pagelayer_shortcodes = '.json_encode($pagelayer->shortcodes).';
98 pagelayer_styles = '.json_encode($pagelayer->styles).';
99 pagelayer_groups = '.json_encode($pagelayer->groups).';
100 pagelayer_ajax_url = "'.admin_url( 'admin-ajax.php' ).'?";
101 pagelayer_ajax_nonce = "'.wp_create_nonce('pagelayer_ajax').'";
102 pagelayer_media_ajax_nonce = "'.wp_create_nonce('media-form').'";
103 pagelayer_url = "'.PAGELAYER_URL.'";
104 pagelayer_postID = "'.$post->ID.'";
105 pagelayer_post_permalink = "'.get_permalink($post->ID).'";
106 pagelayer_tabs = '.json_encode($pagelayer->tabs).';
107 pagelayer_isDirty = false;
108 pagelayer_returnURL = "'.$returnURL.'";
109 pagelayer_theme_vars = '.json_encode( pagelayer_template_vars() ).';
110 pagelayer_revision_obj = '.json_encode( pagelayer_get_post_revision_by_id( $post->ID ) ).';
111 pagelayer_author = '.json_encode(pagelayer_author_data($post->ID)).';
112 pagelayer_site_logo = '.json_encode(pagelayer_site_logo()).';
113 pagelayer_postTitle = "'. ( isset( $post->post_title ) ? $post->post_title : '' ) .'";
114 pagelayer_support_FI = "'. ( current_theme_supports('post-thumbnails') ) .'";
115 pagelayer_editable = ".'.(!empty($pagelayer->template_editor) ? $pagelayer->template_editor : 'entry-content').'";
116 pagelayer_wp_query = '. json_encode($wp_query->query_vars) .';
117 </script>';
118 }
119
120 // Footer function to add certain things
121 function wp_footer(){
122 wp_enqueue_script('heartbeat');
123 _wp_footer_scripts();
124 }
125
126 // Convert to Pagelayer post
127 function check_post(){
128
129 global $post;
130
131 // Is this a Pagelayer post
132 $data = get_post_meta($post->ID, 'pagelayer-data', true);
133
134 if(empty($data)){
135
136 // Is it a Gutenburg Post ?
137 if(false){
138
139 // Regular post
140 }else{
141
142 // Add our surrounding tag
143 $post->post_content = '['.PAGELAYER_SC_PREFIX.'_row]
144 ['.PAGELAYER_SC_PREFIX.'_col col=12]
145 ['.PAGELAYER_SC_PREFIX.'_text]
146 '.$post->post_content.'
147 [/'.PAGELAYER_SC_PREFIX.'_text]
148 [/'.PAGELAYER_SC_PREFIX.'_col]
149 [/'.PAGELAYER_SC_PREFIX.'_row]';
150
151 // Update the post
152 $new_post = array(
153 'ID' => $post->ID,
154 'post_content' => $post->post_content,
155 );
156
157 // Update the post into the database
158 wp_update_post($new_post);
159
160 }
161
162 // Convert to pagelayer accessed post
163 if(!add_post_meta($post->ID, 'pagelayer-data', time(), true)){
164 update_post_meta($post->ID, 'pagelayer-data', time());
165 }
166 }
167
168 }
169
170 // Add certain things
171 function the_content($content) {
172
173 global $post;
174
175 // Check if we're inside the main loop in a single post page.
176 if ( is_single() && in_the_loop() && is_main_query() ) {
177 return $content;
178 }
179
180 return $content;
181
182 }
183
184 }
185