File: /home/blushinc/loleverywhere.com/wp-content/plugins/td-composer/includes/tdc_state.php
<?php
/**
* Created by ra.
* Date: 3/4/2016
*/
class tdc_state {
/**
* the current post that we're editing
* @var WP_Post
*/
private static $post;
/**
* @var bool
*/
private static $is_live_editor_iframe;
/**
* @var bool
*/
private static $is_live_editor_ajax;
/**
* @var bool
*/
private static $is_td_block_ajax = false;
private static $customized_settings;
private static $customized_menu_settings;
private static $customized_page_settings;
private static $start_composer_for_mobile = false;
private static $is_mobile_template = false;
/**
* @param $new_state bool
*/
public static function set_is_live_editor_iframe( $new_state ) {
if ( isset( self::$is_live_editor_iframe ) ) {
echo 'The tdc_state::$is_live_editor_iframe is already set';
}
self::$is_live_editor_iframe = $new_state;
}
/**
* Returns true if we are in the first loaded iframe. Note that ajax requests do not toggle this to true
* !!! WARNING it returns true on the wrapper that holds the iframe in td composer also !!!
* @return bool
*/
public static function is_live_editor_iframe() {
if ( ! isset( self::$is_live_editor_iframe ) ) {
echo 'The tdc_state::$is_live_editor_iframe is NOT set';
}
return self::$is_live_editor_iframe;
}
/**
* @param $new_state
*/
public static function set_is_live_editor_ajax( $new_state ) {
if ( isset( self::$is_live_editor_ajax ) ) {
echo 'The tdc_state::$is_live_editor_ajax is already set';
}
self::$is_live_editor_ajax = $new_state;
}
/**
* return true if we are in an ajax request done by the composer. It does not return true if we are in the iframe (ex not ajax)
* @return bool
*/
public static function is_live_editor_ajax() {
if ( ! isset( self::$is_live_editor_ajax ) ) {
echo 'The tdc_state::$is_live_editor_ajax is NOT set';
}
return self::$is_live_editor_ajax;
}
/**
* @param $new_state
*/
public static function set_is_td_block_ajax( $new_state ) {
self::$is_td_block_ajax = $new_state;
}
/**
* return true if we are in an ajax block request.
* @return bool
*/
public static function is_td_block_ajax() {
return self::$is_td_block_ajax;
}
/**
* Returns the current post/page/CTP that we are editing
* @return mixed
*/
public static function get_post() {
if ( ! isset( self::$post ) ) {
echo 'The tdc_state::$post is NOT set';
}
return self::$post;
}
/**
* Sets the current post/page/CTP that we are editing
* @param WP_Post $post
*/
public static function set_post( $post ) {
if ( isset( self::$post ) ) {
echo 'The tdc_state::$post is already set';
}
// we can add here additional checks if needed
if (get_class($post) != 'WP_Post') {
echo '$post is not a WP_Post class';
die;
}
self::$post = $post;
}
public static function get_customized_settings() {
if ( isset( self::$customized_settings ) ) {
return self::$customized_settings;
}
return false;
}
public static function set_customized_settings() {
if ( isset( $_POST['tdc_customized'] ) && !isset( self::$customized_settings ) ) {
self::$customized_settings = json_decode( wp_unslash( $_POST['tdc_customized'] ), true );
if ( isset( self::$customized_settings['menus'] ) ) {
$menus = self::$customized_settings['menus'];
foreach ( $menus as $menu_key => $menu_value ) {
$current_menu_settings = json_decode( $menu_value, true );
foreach ( $current_menu_settings as $setting ) {
self::$customized_menu_settings[ $menu_key ][ $setting['name']] = $setting['value'];
}
}
}
if ( isset( self::$customized_settings['page_settings'] ) ) {
$page_settings = self::$customized_settings[ 'page_settings' ];
self::$customized_page_settings = json_decode( $page_settings, true );
}
}
}
public static function get_customized_menu_settings( $menu_id = null ) {
if ( isset( self::$customized_menu_settings ) ) {
if ( isset( $menu_id ) ) {
if ( isset( self::$customized_menu_settings[ 'existing_menu_' . $menu_id ] ) ) {
return self::$customized_menu_settings[ 'existing_menu_' . $menu_id ];
} else {
return false;
}
} else {
return self::$customized_menu_settings;
}
}
return false;
}
public static function get_customized_page_settings() {
if ( isset( self::$customized_page_settings ) ) {
return self::$customized_page_settings;
}
return false;
}
// how the composer was started
public static function set_start_composer_for_mobile($start_composer_for_mobile) {
self::$start_composer_for_mobile = $start_composer_for_mobile;
}
public static function get_start_composer_for_mobile() {
return self::$start_composer_for_mobile;
}
// is the current template mobile or not
public static function set_is_mobile_template($is_mobile_template) {
self::$is_mobile_template = $is_mobile_template;
}
public static function is_mobile_template() {
return self::$is_mobile_template;
}
}