/home/altere25/rmllproject.altereddigital.com/wp-content/plugins/pagelayer/main
Edit: /home/altere25/rmllproject.altereddigital.com/wp-content/plugins/pagelayer/main/live.php (13780B)
check_post();
// Add the shortcodes
// TODO : Make a json file
add_action('wp_head', array($this, 'wp_head'), 999);
// Add the Body Class Filter
//add_filter('body_class', array($this, 'body_class'));
// Add the content handler
add_filter('the_content', array($this, 'the_content'), 999999);
// Skip do_blocks for invalid blocks
add_filter( 'pre_render_block', array($this, 'pre_do_render_block'), 10, 3 );
// Skip do_shortcode for invalid shortcodes
add_filter( 'pre_do_shortcode_tag', array($this, 'pre_do_shortcode_tag'), 10, 4 );
// Build the Shortcodes MD5 for cache
$scmd5 = md5(json_encode($pagelayer->shortcodes).json_encode($pagelayer->groups).json_encode($pagelayer->styles));
$premium_js = apply_filters('pagelayer_editor_give_js', '');
$premium_css = apply_filters('pagelayer_editor_give_css', '');
// Enqueue our Editor's JS
wp_register_script('pagelayer-editor', admin_url( 'admin-ajax.php?action=pagelayer_givejs' ).'&give=pagelayer-editor.js,widgets.js,properties.js,base-64.min.js,slimscroll.js,vanilla-picker.min.js,trumbowyg.js,trumbowyg.fontfamily.js,trumbowyg-pagelayer.js,tlite.min.js,pagelayer-pen.js'.$premium_js.'&pagelayer_nonce=1&scmd5='.$scmd5, array('jquery'), PAGELAYER_VERSION);
wp_enqueue_script('pagelayer-editor');
$css_url = admin_url('admin-ajax.php?action=pagelayer_givecss&pagelayer_nonce=1&');
if(pagelayer_enable_giver()){
$css_url = PAGELAYER_CSS.'/givecss.php?';
}
// Enqueue the Editor's CSS
wp_register_style('pagelayer-editor', $css_url.'give=pagelayer-editor-frontend.css,pagelayer-pen.css,'.(defined('PAGELAYER_PREMIUM') ? ',owl.theme.default.min.css,owl.carousel.min.css' : '').$premium_css, array(), PAGELAYER_VERSION);
wp_enqueue_style('pagelayer-editor');
// Enqueue the DateTime picker CSS
/* wp_register_style('datetime-picker', PAGELAYER_CSS.'/datetime-picker.css', array(), PAGELAYER_VERSION);
wp_enqueue_style('datetime-picker'); */
// Enqueue the media library
if(!did_action('wp_enqueue_media')){
wp_enqueue_media();
}
// Force the Frontend CSS and JS if not already loaded
pagelayer_enqueue_frontend(true);
// Hide Admin Bar
show_admin_bar(false);
remove_action('wp_head', '_admin_bar_bump_cb');
// Load custom widgets
do_action('pagelayer_custom_editor_enqueue');
// Add the footer scripts
add_action('wp_footer', array($this, 'wp_footer'), 1);
}
// Add our body class
function body_class($classes){
return array_merge($classes, array('pagelayer-body'));
}
// Header function to add certain things
function wp_head(){
global $pagelayer, $post, $wp_query, $_wp_post_type_features;
// Export the post props
$_post = clone $post;
unset($_post->post_content);
// Add template type
if(!empty($pagelayer->template_editor)){
$_post->pagelayer_template_type = get_post_meta($_post->ID, 'pagelayer_template_type', true);
}
$returnURL = ($_post->post_type == 'post' ? admin_url('edit.php') : admin_url('edit.php?post_type='.$_post->post_type) );
// Get CAPTCHA site key
$pagelayer_recaptch_site_key = get_option('pagelayer_google_captcha');
$pro_url = defined('POPULARFX_PRO_URL') ? POPULARFX_PRO_URL : PAGELAYER_PRO_PRICE_URL;
$pro_txt = defined('POPULARFX_PRO_URL') ? 'PopularFX Pro' : 'Pagelayer Pro';
$post_type = get_post_type_object($post->post_type);
$post_type_name = (!empty($post_type->labels->singular_name)) ? $post_type->labels->singular_name : ucfirst($post_type->name);
// Create list of nav menus and it's items list
$pagelayer_menus_items_list = array();
$menus = wp_get_nav_menus();
foreach($menus as $menu){
if(!is_nav_menu($menu)){
continue;
}
$pagelayer_menus_items_list[$menu->term_id] = wp_get_nav_menu_items($menu->term_id, array('post_status' => 'any'));
}
echo '
';
echo '';
do_action('pagelayer_editor_wp_head');
}
// Footer function to add certain things
function wp_footer(){
global $pagelayer;
echo '';
wp_enqueue_script('heartbeat');
_wp_footer_scripts();
}
// Convert to Pagelayer post
function check_post(){
global $post;
// Is this a Pagelayer post
$data = get_post_meta($post->ID, 'pagelayer-data', true);
if(empty($data)){
// Is it a Gutenburg Post ?
if(!empty($post->post_content)){
// Add our surrounding tag
$post->post_content = '
'.$post->post_content.'
';
// Regular post, but its empty so we will add our blocks !
}else{
// Add our surrounding tag
$post->post_content = '
';
// Update the post
$new_post = array(
'ID' => $post->ID,
'post_content' => $post->post_content,
);
// Update the post into the database
wp_update_post($new_post);
// Convert to pagelayer accessed post
if(!add_post_meta($post->ID, 'pagelayer-data', time(), true)){
update_post_meta($post->ID, 'pagelayer-data', time());
}
}
}
}
// Add certain things
function the_content($content) {
global $post, $pagelayer;
if(empty($pagelayer->dont_make_editable)){
$content = '
'.$content.'
';
}
// Check if we're inside the main loop in a single post page.
if ( is_single() && in_the_loop() && is_main_query() ) {
return $content;
}
return $content;
}
// Skip do_shortcode for invalid shortcodes
function pre_do_shortcode_tag($return, $tag, $attr, $m){
if(!empty($pagelayer->dont_make_editable) || ! doing_filter('the_content')){
return $return;
}
$prefixes = ['pl_'];
$prefixes = apply_filters( 'pagelayer_valid_shortcode_tag', $prefixes);
$vailid = false;
foreach($prefixes as $prefix) {
if (strpos($tag, $prefix) === 0) {
$vailid = true;
break;
}
}
if($vailid){
return $return;
}
return $m[0];
}
// Skip do_blocks for invalid blocks
function pre_do_render_block($return, $parsed_block = [], $parent_block = null){
if(!empty($pagelayer->dont_make_editable) || ! doing_filter('the_content') || empty($parsed_block['blockName'])){
return $return;
}
$prefixes = ['pagelayer/'];
$prefixes = apply_filters( 'pagelayer_valid_block_tag', $prefixes);
$vailid = false;
foreach($prefixes as $prefix) {
if (strpos($parsed_block['blockName'], $prefix) === 0) {
$vailid = true;
break;
}
}
if($vailid){
return $return;
}
$serialize_block = serialize_block($parsed_block);
$parsed_block['blockName'] = 'pagelayer/pl_missing';
$parsed_block['innerHTML'] = $serialize_block;
$parsed_block['attrs'] = [];
return render_block($parsed_block);
}
}