PluginProbe
Page Builder: Pagelayer – Drag and Drop website builder / 0.9.0
Page Builder: Pagelayer – Drag and Drop website builder v0.9.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 0.9.0, at main/live.php

171 lines 4.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,drag.js,base64.js,slimscroll.js,vanilla-picker.min.js,trumbowyg.js,trumbowyg-pagelayer.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', 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
73 // Add the footer scripts
74 add_action('wp_footer', array($this, 'wp_footer'), 1);
75
76 }
77
78 // Add our body class
79 function body_class($classes){
80 return array_merge($classes, array('pagelayer-body'));
81 }
82
83 // Header function to add certain things
84 function wp_head(){
85
86 global $pagelayer, $post;
87
88 $returnURL = (!is_page($post->ID) ? admin_url('edit.php') : admin_url('edit.php?post_type=page') );
89
90 echo '
91 <script type="text/javascript">
92 pagelayer_ver = "'.PAGELAYER_VERSION .'";
93 pagelayer_shortcodes = '.json_encode($pagelayer->shortcodes).';
94 pagelayer_styles = '.json_encode($pagelayer->styles).';
95 pagelayer_groups = '.json_encode($pagelayer->groups).';
96 pagelayer_ajax_url = "'.admin_url( 'admin-ajax.php' ).'";
97 pagelayer_ajax_nonce = "'.wp_create_nonce('pagelayer_ajax').'";
98 pagelayer_url = "'.PAGELAYER_URL.'";
99 pagelayer_postID = "'.$post->ID.'";
100 pagelayer_tabs = '.json_encode($pagelayer->tabs).';
101 pagelayer_isDirty = false;
102 pagelayer_returnURL = "'.$returnURL.'";
103 </script>';
104 }
105
106 // Footer function to add certain things
107 function wp_footer(){
108 wp_enqueue_script('heartbeat');
109 _wp_footer_scripts();
110 }
111
112 // Convert to Pagelayer post
113 function check_post(){
114
115 global $post;
116
117 // Is this a Pagelayer post
118 $data = get_post_meta($post->ID, 'pagelayer-data', true);
119
120 if(empty($data)){
121
122 // Is it a Gutenburg Post ?
123 if(false){
124
125 // Regular post
126 }else{
127
128 // Add our surrounding tag
129 $post->post_content = '['.PAGELAYER_SC_PREFIX.'_row]
130 ['.PAGELAYER_SC_PREFIX.'_col col=12]
131 ['.PAGELAYER_SC_PREFIX.'_text]
132 '.$post->post_content.'
133 [/'.PAGELAYER_SC_PREFIX.'_text]
134 [/'.PAGELAYER_SC_PREFIX.'_col]
135 [/'.PAGELAYER_SC_PREFIX.'_row]';
136
137 // Update the post
138 $new_post = array(
139 'ID' => $post->ID,
140 'post_content' => $post->post_content,
141 );
142
143 // Update the post into the database
144 wp_update_post($new_post);
145
146 }
147
148 // Convert to pagelayer accessed post
149 if(!add_post_meta($post->ID, 'pagelayer-data', time(), true)){
150 update_post_meta($post->ID, 'pagelayer-data', time());
151 }
152 }
153
154 }
155
156 // Add certain things
157 function the_content($content) {
158
159 global $post;
160
161 // Check if we're inside the main loop in a single post page.
162 if ( is_single() && in_the_loop() && is_main_query() ) {
163 return $content;
164 }
165
166 return $content;
167
168 }
169
170 }
171