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

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