function toolset_enqueue_scripts($page) { if ($page == 'toolset-settings') { $toolset_bootstrap = Toolset_Common_Bootstrap::getInstance(); $toolset_assets = $toolset_bootstrap->assets_manager; $toolset_assets->enqueue_scripts('toolset-relevanssi-settings-script'); } }
/** * Early loading actions. * * Initialize the Toolset Common library with the new loader. * Initialize asset manager if we're not doing an AJAX call. * * @since 2.0 */ public function after_setup_theme() { Toolset_Common_Bootstrap::getInstance(); // If an AJAX callback handler needs other assets, they should initialize the asset manager by themselves. if (!defined('DOING_AJAX')) { Types_Assets::get_instance()->initialize_scripts_and_styles(); } }
/** * Evaluates conditions using custom conditional statement. * * @uses wpv_condition() * * @param type $post * @param type $evaluate * @return boolean */ public static function evaluateCustom($evaluate, $values) { $toolset_bootstrap = Toolset_Common_Bootstrap::getInstance(); $toolset_bootstrap->register_parser(); //Fix REGEX conditions that contains \ that is stripped out if (strpos($evaluate, "REGEX") === false) { $evaluate = trim(stripslashes($evaluate)); // Check dates $evaluate = wpv_filter_parse_date($evaluate); $evaluate = self::handle_user_function($evaluate); } $fields = self::extractFields($evaluate); $evaluate = self::_update_values_in_expression($evaluate, $fields, $values); $check = false; try { $parser = new Toolset_Parser($evaluate); $parser->parse(); $check = $parser->evaluate(); } catch (Exception $e) { $check = false; } return $check; }
public function register_parser() { $sections_loaded = self::$sections_loaded; if (!in_array('toolset_parser', $sections_loaded)) { $sections_loaded[] = 'toolset_parser'; if (!class_exists('Toolset_Regex')) { require_once TOOLSET_COMMON_PATH . '/expression-parser/parser.php'; } self::$sections_loaded = $sections_loaded; } }
/** * Main init hook. * * All rest of init processes are continued here. * Sets locale, constants, includes... * * @todo Make sure plugin AND embedded code are calling this function on 'init' * @todo Test priorities */ function wpcf_embedded_init() { global $types_instances, $wp_current_filter; // Record hook $types_instances['hook'] = $wp_current_filter; $types_instances['init_queued'] = '#' . did_action('init'); $types_instances['init_priority'] = TYPES_INIT_PRIORITY; $types_instances['forced_embedded'] = defined('TYPES_LOAD_EMBEDDED') && TYPES_LOAD_EMBEDDED; // Localization new Toolset_Localization('wpcf', WPCF_EMBEDDED_ABSPATH . '/locale', 'types-%s'); // Toolset Forms if (!defined('WPTOOLSET_FORMS_VERSION')) { $toolset_common_bootstrap = Toolset_Common_Bootstrap::getInstance(); $toolset_common_sections = array('toolset_forms'); $toolset_common_bootstrap->load_sections($toolset_common_sections); } // Loader require_once WPCF_EMBEDDED_ABSPATH . '/classes/loader.php'; do_action('wpcf_before_init'); do_action('types_before_init'); // Define necessary constants if plugin is not present // This ones are skipped if used as embedded code! if (!defined('WPCF_VERSION')) { define('WPCF_VERSION', '1.9'); define('WPCF_META_PREFIX', 'wpcf-'); } // If forced embedded mode use path to __FILE__ if (defined('TYPES_LOAD_EMBEDDED') && TYPES_LOAD_EMBEDDED || !defined('WPCF_RELPATH')) { define('WPCF_EMBEDDED_RELPATH', wpcf_get_file_url(__FILE__, false)); } else { define('WPCF_EMBEDDED_RELPATH', WPCF_RELPATH . '/embedded'); } // Define embedded paths define('WPCF_EMBEDDED_INC_RELPATH', WPCF_EMBEDDED_RELPATH . '/includes'); define('WPCF_EMBEDDED_RES_RELPATH', WPCF_EMBEDDED_RELPATH . '/resources'); // TODO INCLUDES! // // Please add all required includes here // Since Types 1.2 we can consider existing code as core. // All new functionalities should be added as includes HERE // and marked with @since Types $version. // // Thanks! // // Basic /* * * Mind class extensions queue */ require_once WPCF_EMBEDDED_ABSPATH . '/classes/fields.php'; require_once WPCF_EMBEDDED_ABSPATH . '/classes/field.php'; require_once WPCF_EMBEDDED_ABSPATH . '/classes/usermeta_field.php'; // Added by Gen, usermeta fields class // Repeater require_once WPCF_EMBEDDED_ABSPATH . '/classes/repeater.php'; require_once WPCF_EMBEDDED_ABSPATH . '/classes/usermeta_repeater.php'; // Added by Gen, usermeta repeater class require_once WPCF_EMBEDDED_INC_ABSPATH . '/repetitive-fields-ordering.php'; require_once WPCF_EMBEDDED_INC_ABSPATH . '/repetitive-usermetafields-ordering.php'; // Relationship require_once WPCF_EMBEDDED_ABSPATH . '/classes/relationship.php'; // Conditional require_once WPCF_EMBEDDED_ABSPATH . '/classes/conditional.php'; // API require_once WPCF_EMBEDDED_INC_ABSPATH . '/api.php'; // Validation require_once WPCF_EMBEDDED_ABSPATH . '/classes/validation.php'; // Post Types require_once WPCF_EMBEDDED_ABSPATH . '/classes/class.wpcf-post-types.php'; // Import Export require_once WPCF_EMBEDDED_ABSPATH . '/classes/class.wpcf-import-export.php'; // Module manager require_once WPCF_EMBEDDED_INC_ABSPATH . '/module-manager.php'; // WPML specific code require_once WPCF_EMBEDDED_INC_ABSPATH . '/wpml.php'; // CRED specific code. if (defined('CRED_FE_VERSION')) { require_once WPCF_EMBEDDED_INC_ABSPATH . '/cred.php'; } /* * * * TODO This is a must for now. * See if any fields need to be loaded. * * 1. Checkboxes - may be missing when submitted */ require_once WPCF_EMBEDDED_INC_ABSPATH . '/fields/checkbox.php'; /* * * * Use this call to load basic scripts and styles if necesary * wpcf_enqueue_scripts(); */ require_once WPCF_EMBEDDED_ABSPATH . '/usermeta-init.php'; // Include frontend or admin code if (is_admin()) { require_once WPCF_EMBEDDED_ABSPATH . '/admin.php'; /* * TODO Check if called twice * * Watch this! This is actually called twice everytime * in both modes (plugin or embedded) */ wpcf_embedded_admin_init_hook(); } else { require_once WPCF_EMBEDDED_ABSPATH . '/frontend.php'; } global $wpcf; // TODO since Types 1.2 Continue adding new functionalities HERE /* * Consider code already there as core. * Use hooks to add new functionalities * * Introduced new global object $wpcf * Holds useful objects like: * $wpcf->field - Field object (base item object) * $wpcf->repeater - Repetitive field object */ // Set debugging if (!defined('WPCF_DEBUG')) { define('WPCF_DEBUG', false); } else { if (WPCF_DEBUG) { wp_enqueue_script('jquery'); } } $wpcf->debug = new stdClass(); require WPCF_EMBEDDED_INC_ABSPATH . '/debug.php'; add_action('wp_footer', 'wpcf_debug', PHP_INT_MAX); add_action('admin_footer', 'wpcf_debug', PHP_INT_MAX); // Set field object $wpcf->field = new WPCF_Field(); // Set fields object $wpcf->fields = new WPCF_Fields(); // Set usermeta field object $wpcf->usermeta_field = new WPCF_Usermeta_Field(); // Set termmeta field object $wpcf->termmeta_field = new WPCF_Termmeta_Field(); // Set repeater object $wpcf->repeater = new WPCF_Repeater(); // Set usermeta repeater object $wpcf->usermeta_repeater = new WPCF_Usermeta_Repeater(); // Set termmeta repeater object $wpcf->termmeta_repeater = new WPCF_Termmeta_Repeater(); // Set relationship object $wpcf->relationship = new WPCF_Relationship(); // Set conditional object $wpcf->conditional = new WPCF_Conditional(); // Set validate object $wpcf->validation = new WPCF_Validation(); // Set import export objects $wpcf->import = new WPCF_Import_Export(); $wpcf->export = new WPCF_Import_Export(); // Set post object $wpcf->post = new stdClass(); // Set post types object $wpcf->post_types = new WPCF_Post_Types(); // Define exceptions - privileged plugins and their data $wpcf->toolset_post_types = array('view', 'view-template', 'cred-form', 'cred-user-form'); // 'attachment' = Media // $wpcf->excluded_post_types = array('cred-form', 'cred-user-form', 'dd_layouts', 'deprecated_log', 'mediapage', 'nav_menu_item', 'revision', 'view', 'view-template', 'wp-types-group', 'wp-types-user-group', 'acf-field-group'); /** * Do use this CPT in Toolset "actions" * * Filter allow to add own post types which will be not used in * Toolset plugins * * @since 1.9.0 * * @param array $post_types array of post types slugs */ $wpcf->excluded_post_types = apply_filters('toolset_filter_exclude_own_post_types', $wpcf->excluded_post_types); // Init loader WPCF_Loader::init(); /* * TODO Check why we enabled this * * I think because of CRED or Views using Types admin functions on frontend * Does this need review? */ if (defined('DOING_AJAX')) { require_once WPCF_EMBEDDED_ABSPATH . '/frontend.php'; } // Check if import/export request is going on wpcf_embedded_check_import(); // Initialize (new) parts of the GUI. // Btw. current_screen is being fired during admin_init. add_action('current_screen', 'wpcf_initialize_admin_gui'); do_action('types_after_init'); do_action('wpcf_after_init'); }
/** * Uses the Toolset_Tokenizer to break down the expression, replace problematic operators by their text-only * equivalents and glue the expression back together. * * Side-effects: Loses custom whitespace characters. All operators (except parentheses) will be surrounded by spaces * while everywhere else the whitespace characters will be trimmed. * * Note: If an invalid expression is provided, it doesn't do anything with it. * * @param string $expression Condition expression. * @return string Equivalent expression but without <, <=, etc. * @since 2.0 */ protected function transform_operators_to_text_equivalents($expression) { try { // The expression may come directly from parse_str() which may add backslashes to quotes. The tokenizer // wouldn't survive that. $expression = stripslashes($expression); $toolset_bootstrap = Toolset_Common_Bootstrap::getInstance(); $toolset_bootstrap->register_parser(); $tokenizer = new Toolset_Tokenizer(); $tokens = $tokenizer->Tokanize($expression); $token_value_replacements = array('<' => 'lt', '>' => 'gt', '<=' => 'lte', '>=' => 'gte', '<>' => 'ne', '=' => 'eq'); $result = ''; foreach ($tokens as $token) { if ($token->isCompOp) { $token->val = wpcf_getarr($token_value_replacements, $token->val, $token->val); } if ($token->isCompOp || $token->isArithmeticOp || $token->isLogicOp) { $result .= ' ' . $token->val . ' '; } else { if ($token->isStringLiteral) { $result .= '\'' . $token->val . '\''; } else { $result .= $token->val; } } } return $result; } catch (Exception $e) { // Most probably we were unable to tokenize the expression. We give up. return $expression; } }
public function debug_page() { $toolset_common_bootstrap = Toolset_Common_Bootstrap::getInstance(); $toolset_common_sections = array('toolset_debug'); $toolset_common_bootstrap->load_sections($toolset_common_sections); }
/** * Apply a filter on the array of names loaded sections. * * @param string $filter_name Name of the filter. * @since 2.1 */ private function apply_filters_on_sections_loaded($filter_name) { self::$sections_loaded = apply_filters($filter_name, self::$sections_loaded); }
function toolset_common_boostrap() { global $toolset_common_bootstrap; $toolset_common_bootstrap = Toolset_Common_Bootstrap::getInstance(); }