本文整理汇总了PHP中FrmAppHelper::is_admin_page方法的典型用法代码示例。如果您正苦于以下问题:PHP FrmAppHelper::is_admin_page方法的具体用法?PHP FrmAppHelper::is_admin_page怎么用?PHP FrmAppHelper::is_admin_page使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FrmAppHelper
的用法示例。
在下文中一共展示了FrmAppHelper::is_admin_page方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: load_pro_hooks
public static function load_pro_hooks()
{
if (FrmAppHelper::is_admin_page('formidable-styles')) {
add_filter('frm_style_head', 'FrmProStylesController::maybe_new_style');
add_filter('frm_style_action_route', 'FrmProStylesController::pro_route');
}
}
示例2: admin_init
public static function admin_init()
{
if (!FrmAppHelper::is_admin_page('formidable-styles')) {
return;
}
self::load_pro_hooks();
wp_enqueue_script('jquery-ui-datepicker');
$version = FrmAppHelper::plugin_version();
wp_enqueue_script('jquery-frm-themepicker', FrmAppHelper::plugin_url() . '/js/jquery/jquery-ui-themepicker.js', array('jquery'), $version);
wp_enqueue_style('frm-custom-theme', admin_url('admin-ajax.php') . '?action=frmpro_css');
$style = apply_filters('frm_style_head', false);
if ($style) {
wp_enqueue_style('frm-single-custom-theme', admin_url('admin-ajax.php') . '?action=frmpro_load_css&flat=1&' . http_build_query($style->post_content));
}
}
示例3: admin_init
public static function admin_init()
{
if (!FrmAppHelper::is_admin_page('formidable-styles')) {
return;
}
self::load_pro_hooks();
$style_tab = FrmAppHelper::get_param('frm_action', '', 'get', 'sanitize_title');
if ($style_tab == 'manage' || $style_tab == 'custom_css') {
// we only need to load these styles/scripts on the styler page
return;
}
wp_enqueue_script('jquery-ui-datepicker');
$version = FrmAppHelper::plugin_version();
wp_enqueue_script('jquery-frm-themepicker', FrmAppHelper::plugin_url() . '/js/jquery/jquery-ui-themepicker.js', array('jquery'), $version);
wp_enqueue_style('frm-custom-theme', admin_url('admin-ajax.php?action=frmpro_css'));
$style = apply_filters('frm_style_head', false);
if ($style) {
wp_enqueue_style('frm-single-custom-theme', admin_url('admin-ajax.php?action=frmpro_load_css&flat=1') . '&' . http_build_query($style->post_content));
}
}
示例4: add_html_placeholder
private static function add_html_placeholder($field, array &$add_html, array &$class)
{
if (empty($field['default_value']) || FrmAppHelper::is_admin_page('formidable')) {
return;
}
if (!FrmField::is_option_true($field, 'clear_on_focus')) {
if (is_array($field['default_value'])) {
$field['default_value'] = json_encode($field['default_value']);
}
$add_html['data-frmval'] = 'data-frmval="' . esc_attr($field['default_value']) . '"';
return;
}
$frm_settings = FrmAppHelper::get_settings();
if ($frm_settings->use_html && !in_array($field['type'], array('select', 'radio', 'checkbox', 'hidden'))) {
// use HMTL5 placeholder with js fallback
$add_html['placeholder'] = 'placeholder="' . esc_attr($field['default_value']) . '"';
wp_enqueue_script('jquery-placeholder');
} else {
if (!$frm_settings->use_html) {
$val = str_replace(array("\r\n", "\n"), '\\r', addslashes(str_replace(''', "'", esc_attr($field['default_value']))));
$add_html['data-frmval'] = 'data-frmval="' . esc_attr($val) . '"';
$class[] = 'frm_toggle_default';
if ($field['value'] == $field['default_value']) {
$class[] = 'frm_default';
}
}
}
}
示例5: add_entry_meta_query
/**
* Check the entry meta for the search term
*
* @param int $fid The id of the field we are searching
* @param int|false $form_id The id of the form we are searching or false
* @param string $search_param One word of the search
* @param array $add_where By reference. An array of queries for this search
*/
private static function add_entry_meta_query($fid, $form_id, $search_param, &$add_where)
{
$get_entry_ids = array();
if (empty($fid)) {
$add_where['or'] = 1;
} else {
if (is_numeric($fid)) {
$get_entry_ids['field_id'] = $fid;
} else {
return;
}
}
$where_entries_array = array('or' => 1, 'meta_value like' => $search_param);
if ($form_id) {
$get_entry_ids['fi.form_id'] = $form_id;
self::add_linked_field_query($fid, $form_id, $search_param, $where_entries_array);
}
$get_entry_ids[] = $where_entries_array;
unset($where_entries_array);
if (FrmAppHelper::is_admin_page('formidable-entries')) {
// Search both drafts and non-drafts when on the back-end
$include_drafts = 'both';
} else {
$include_drafts = false;
}
$meta_ids = FrmEntryMeta::getEntryIds($get_entry_ids, '', '', true, array('is_draft' => $include_drafts));
if (empty($meta_ids)) {
$meta_ids = 0;
}
if (isset($add_where['it.id'])) {
$add_where['it.id'] = array_merge((array) $add_where['it.id'], (array) $meta_ids);
} else {
$add_where['it.id'] = $meta_ids;
}
}
示例6: manage_columns
public static function manage_columns($columns)
{
global $frm_vars, $wpdb;
$form_id = FrmForm::get_current_form_id();
$columns[$form_id . '_id'] = 'ID';
$columns[$form_id . '_item_key'] = esc_html__('Entry Key', 'formidable');
if (!$form_id) {
return $columns;
}
$form_cols = FrmField::get_all_for_form($form_id, '', 'include');
foreach ($form_cols as $form_col) {
if (FrmField::is_no_save_field($form_col->type)) {
continue;
}
if ($form_col->type == 'form' && isset($form_col->field_options['form_select']) && !empty($form_col->field_options['form_select'])) {
$sub_form_cols = FrmField::get_all_for_form($form_col->field_options['form_select']);
if ($sub_form_cols) {
foreach ($sub_form_cols as $k => $sub_form_col) {
if (FrmField::is_no_save_field($sub_form_col->type)) {
unset($sub_form_cols[$k]);
continue;
}
$columns[$form_id . '_' . $sub_form_col->field_key . '-_-' . $form_col->id] = FrmAppHelper::truncate($sub_form_col->name, 35);
unset($sub_form_col);
}
}
unset($sub_form_cols);
} else {
$col_id = $form_col->field_key;
if ($form_col->form_id != $form_id) {
$col_id .= '-_-form' . $form_col->form_id;
}
if (isset($form_col->field_options['separate_value']) && $form_col->field_options['separate_value']) {
$columns[$form_id . '_frmsep_' . $col_id] = FrmAppHelper::truncate($form_col->name, 35);
}
$columns[$form_id . '_' . $col_id] = FrmAppHelper::truncate($form_col->name, 35);
}
}
$columns[$form_id . '_created_at'] = __('Entry creation date', 'formidable');
$columns[$form_id . '_updated_at'] = __('Entry update date', 'formidable');
$columns[$form_id . '_ip'] = 'IP';
$frm_vars['cols'] = $columns;
$action = FrmAppHelper::simple_get('frm_action', 'sanitize_title');
if (FrmAppHelper::is_admin_page('formidable-entries') && in_array($action, array('', 'list', 'destroy'))) {
add_screen_option('per_page', array('label' => __('Entries', 'formidable'), 'default' => 20, 'option' => 'formidable_page_formidable_entries_per_page'));
}
return $columns;
}
示例7: load_admin_hooks
public static function load_admin_hooks()
{
add_action('admin_menu', 'FrmAppController::menu', 1);
add_action('admin_enqueue_scripts', 'FrmAppController::load_wp_admin_style');
add_action('admin_notices', 'FrmAppController::pro_get_started_headline');
add_action('admin_init', 'FrmAppController::admin_init', 11);
add_filter('admin_body_class', 'FrmAppController::wp_admin_body_class');
add_filter('plugin_action_links_' . FrmAppHelper::plugin_folder() . '/formidable.php', 'FrmAppController::settings_link');
register_activation_hook(FrmAppHelper::plugin_folder() . '/formidable.php', 'FrmAppController::activation_install');
// Addons Controller
add_action('admin_menu', 'FrmAddonsController::menu', 100);
// Entries Controller
add_action('admin_menu', 'FrmEntriesController::menu', 12);
add_filter('contextual_help', 'FrmEntriesController::contextual_help', 10, 3);
add_filter('set-screen-option', 'FrmEntriesController::save_per_page', 10, 3);
add_filter('update_user_metadata', 'FrmEntriesController::check_hidden_cols', 10, 5);
add_action('updated_user_meta', 'FrmEntriesController::update_hidden_cols', 10, 4);
// Fields Controller
add_filter('frm_display_field_options', 'FrmFieldsController::display_field_options');
// Form Actions Controller
if (FrmAppHelper::is_admin_page('formidable')) {
add_action('frm_before_update_form_settings', 'FrmFormActionsController::update_settings');
}
add_action('frm_after_duplicate_form', 'FrmFormActionsController::duplicate_form_actions', 20, 3);
// Forms Controller
add_action('admin_menu', 'FrmFormsController::menu', 10);
add_action('admin_head-toplevel_page_formidable', 'FrmFormsController::head');
add_filter('set-screen-option', 'FrmFormsController::save_per_page', 10, 3);
add_action('admin_footer', 'FrmFormsController::insert_form_popup');
add_action('media_buttons', 'FrmFormsController::insert_form_button');
// Forms Model
add_action('frm_after_duplicate_form', 'FrmForm::after_duplicate', 10, 2);
// Settings Controller
add_action('admin_menu', 'FrmSettingsController::menu', 45);
add_action('frm_before_settings', 'FrmSettingsController::license_box');
// Styles Controller
add_action('admin_menu', 'FrmStylesController::menu', 14);
add_action('admin_init', 'FrmStylesController::admin_init');
// XML Controller
add_action('admin_menu', 'FrmXMLController::menu', 41);
}
示例8: mb_tags_box
public static function mb_tags_box($form_id, $class = '')
{
$fields = FrmField::get_all_for_form($form_id, '', 'include');
$linked_forms = array();
$col = 'one';
$settings_tab = FrmAppHelper::is_admin_page('formidable') ? true : false;
$cond_shortcodes = apply_filters('frm_conditional_shortcodes', array());
$adv_shortcodes = self::get_advanced_shortcodes();
$user_fields = apply_filters('frm_user_shortcodes', array());
$entry_shortcodes = self::get_shortcode_helpers($settings_tab);
include FrmAppHelper::plugin_path() . '/classes/views/shared/mb_adv_info.php';
}
示例9: get_form_style_class
public static function get_form_style_class($form = false)
{
$style = self::get_form_style($form);
$class = ' with_frm_style';
if (empty($style)) {
if (FrmAppHelper::is_admin_page('formidable-entries')) {
return $class;
} else {
return;
}
}
//If submit button needs to be inline or centered
if (is_object($form)) {
$form = $form->options;
}
$submit_align = isset($form['submit_align']) ? $form['submit_align'] : '';
if ($submit_align == 'inline') {
$class .= ' frm_inline_form';
} else {
if ($submit_align == 'center') {
$class .= ' frm_center_submit';
}
}
$class = apply_filters('frm_add_form_style_class', $class, $style);
return $class;
}
示例10: get_linked_options
public static function get_linked_options($values, $field, $entry_id = false)
{
global $user_ID, $wpdb;
$metas = array();
$selected_field = FrmField::getOne($values['form_select']);
if (!$selected_field) {
return array();
}
$linked_posts = isset($selected_field->field_options['post_field']) && $selected_field->field_options['post_field'] && $selected_field->field_options['post_field'] != '';
$post_ids = array();
if (is_numeric($values['hide_field']) && empty($values['hide_opt'])) {
if (isset($_POST) && isset($_POST['item_meta'])) {
$observed_field_val = isset($_POST['item_meta'][$values['hide_field']]) ? $_POST['item_meta'][$values['hide_field']] : '';
} else {
if ($entry_id) {
$observed_field_val = FrmEntryMeta::get_entry_meta_by_field($entry_id, $values['hide_field']);
} else {
$observed_field_val = '';
}
}
$observed_field_val = maybe_unserialize($observed_field_val);
$metas = array();
FrmProEntryMetaHelper::meta_through_join($values['hide_field'], $selected_field, $observed_field_val, false, $metas);
} else {
if ($values['restrict'] && $user_ID) {
$entry_user = $user_ID;
if ($entry_id && FrmAppHelper::is_admin()) {
$entry_user = FrmDb::get_var('frm_items', array('id' => $entry_id), 'user_id');
if (!$entry_user || empty($entry_user)) {
$entry_user = $user_ID;
}
}
if (isset($selected_field->form_id)) {
$linked_where = array('form_id' => $selected_field->form_id, 'user_id' => $entry_user);
if ($linked_posts) {
$post_ids = FrmDb::get_results('frm_items', $linked_where, 'id, post_id');
} else {
$entry_ids = FrmDb::get_col($wpdb->prefix . 'frm_items', $linked_where, 'id');
}
unset($linked_where);
}
if (isset($entry_ids) && !empty($entry_ids)) {
$metas = FrmEntryMeta::getAll(array('it.item_id' => $entry_ids, 'field_id' => (int) $values['form_select']), ' ORDER BY meta_value', '');
}
} else {
$limit = '';
if (FrmAppHelper::is_admin_page('formidable')) {
$limit = 500;
}
$metas = FrmDb::get_results('frm_item_metas', array('field_id' => $values['form_select']), 'item_id, meta_value', array('order_by' => 'meta_value', 'limit' => $limit));
$post_ids = FrmDb::get_results('frm_items', array('form_id' => $selected_field->form_id), 'id, post_id', array('limit' => $limit));
}
}
if ($linked_posts && !empty($post_ids)) {
foreach ($post_ids as $entry) {
$meta_value = FrmProEntryMetaHelper::get_post_value($entry->post_id, $selected_field->field_options['post_field'], $selected_field->field_options['custom_field'], array('type' => $selected_field->type, 'form_id' => $selected_field->form_id, 'field' => $selected_field));
$metas[] = array('meta_value' => $meta_value, 'item_id' => $entry->id);
}
}
$options = array();
foreach ($metas as $meta) {
$meta = (array) $meta;
if ($meta['meta_value'] == '') {
continue;
}
if ($selected_field->type == 'image') {
$options[$meta['item_id']] = $meta['meta_value'];
} else {
$options[$meta['item_id']] = FrmEntriesHelper::display_value($meta['meta_value'], $selected_field, array('type' => $selected_field->type, 'show_icon' => true, 'show_filename' => false));
}
unset($meta);
}
$options = apply_filters('frm_data_sort', $options, array('metas' => $metas, 'field' => $selected_field));
unset($metas);
if (self::include_blank_option($options, $field)) {
$options = array('' => '') + (array) $options;
}
return stripslashes_deep($options);
}
示例11: footer_js
public static function footer_js()
{
global $frm_vars, $frm_input_masks;
$frm_vars['footer_loaded'] = true;
if (empty($frm_vars['forms_loaded'])) {
return;
}
$trigger_form = !FrmAppHelper::doing_ajax() && !FrmAppHelper::is_admin_page('formidable-entries');
include FrmAppHelper::plugin_path() . '/pro/classes/views/frmpro-entries/footer_js.php';
/**
* Add custom scripts after the form scripts are done loading
* @since 2.0.6
*/
do_action('frm_footer_scripts', $frm_vars['forms_loaded']);
}
示例12: input_html
public static function input_html($field, $echo = true)
{
global $frm_vars;
$frm_settings = FrmAppHelper::get_settings();
$add_html = '';
if (FrmField::is_option_true($field, 'read_only') && $field['type'] != 'hidden') {
global $frm_vars;
if (isset($frm_vars['readonly']) && $frm_vars['readonly'] == 'disabled' || current_user_can('frm_edit_entries') && FrmAppHelper::is_admin()) {
//not read only
//}else if($field['type'] == 'select'){
//$add_html .= ' disabled="disabled" ';
} else {
if (in_array($field['type'], array('radio', 'checkbox'))) {
$add_html .= ' disabled="disabled" ';
} else {
$add_html .= ' readonly="readonly" ';
}
}
}
if (FrmField::is_multiple_select($field)) {
$add_html .= ' multiple="multiple" ';
}
if (FrmAppHelper::is_admin_page('formidable')) {
if ($echo) {
echo $add_html;
}
//don't continue if we are on the form builder page
return $add_html;
}
if ($frm_settings->use_html) {
if (FrmField::is_option_true($field, 'autocom') && ($field['type'] == 'select' || $field['type'] == 'data' && isset($field['data_type']) && $field['data_type'] == 'select')) {
//add label for autocomplete fields
$add_html .= ' data-placeholder=" "';
}
if ($field['type'] == 'number' || $field['type'] == 'range') {
if (!is_numeric($field['minnum'])) {
$field['minnum'] = 0;
}
if (!is_numeric($field['maxnum'])) {
$field['maxnum'] = 9999999;
}
if (!is_numeric($field['step'])) {
$field['step'] = 1;
}
$add_html .= ' min="' . esc_attr($field['minnum']) . '" max="' . esc_attr($field['maxnum']) . '" step="' . esc_attr($field['step']) . '"';
} else {
if (in_array($field['type'], array('url', 'email', 'image'))) {
if ((!isset($frm_vars['novalidate']) || !$frm_vars['novalidate']) && ($field['type'] != 'email' || isset($field['value']) && $field['default_value'] == $field['value'])) {
// add novalidate for drafts
$frm_vars['novalidate'] = true;
}
}
}
}
$add_html .= FrmProFieldsHelper::setup_input_masks($field);
if ($echo) {
echo $add_html;
}
return $add_html;
}
示例13: FrmUpdatesController
<?php
global $frm_update;
$frm_update = new FrmUpdatesController();
$frmedd_update = new FrmProEddController();
$frmedd_update->load_hooks();
// load the license form
if (FrmAppHelper::is_admin_page('formidable-settings')) {
add_action('frm_before_settings', 'FrmProSettingsController::license_box', 1);
}
if (!$frm_vars['pro_is_authorized']) {
return;
}
$frm_vars['next_page'] = $frm_vars['prev_page'] = array();
$frm_vars['pro_is_installed'] = 'deprecated';
add_filter('frm_pro_installed', '__return_true');
add_filter('frm_load_controllers', 'frmpro_load_controllers');
function frmpro_load_controllers($controllers)
{
$controllers[] = 'FrmProHooksController';
return $controllers;
}
示例14: load_admin_hooks
public static function load_admin_hooks()
{
add_action('frm_after_uninstall', 'FrmProDb::uninstall');
// Displays Controller
add_action('admin_menu', 'FrmProDisplaysController::menu', 13);
add_filter('admin_head-post.php', 'FrmProDisplaysController::highlight_menu');
add_filter('admin_head-post-new.php', 'FrmProDisplaysController::highlight_menu');
add_action('restrict_manage_posts', 'FrmProDisplaysController::switch_form_box');
add_filter('parse_query', 'FrmProDisplaysController::filter_forms');
add_filter('views_edit-frm_display', 'FrmProDisplaysController::add_form_nav');
add_filter('post_row_actions', 'FrmProDisplaysController::post_row_actions', 10, 2);
//add_filter('bulk_actions-edit-frm_display', 'FrmProDisplaysController::add_bulk_actions' );
// for Views
add_filter('default_content', 'FrmProDisplaysController::default_content', 10, 2);
add_action('post_submitbox_misc_actions', 'FrmProDisplaysController::submitbox_actions');
add_action('add_meta_boxes', 'FrmProDisplaysController::add_meta_boxes');
add_action('save_post', 'FrmProDisplaysController::save_post');
add_action('frm_destroy_form', 'FrmProDisplaysController::delete_views_for_form');
add_filter('manage_edit-frm_display_columns', 'FrmProDisplaysController::manage_columns');
add_filter('manage_edit-frm_display_sortable_columns', 'FrmProDisplaysController::sortable_columns');
add_filter('get_user_option_manageedit-frm_displaycolumnshidden', 'FrmProDisplaysController::hidden_columns');
add_action('manage_frm_display_posts_custom_column', 'FrmProDisplaysController::manage_custom_columns', 10, 2);
// Entries Controller
add_action('admin_init', 'FrmProEntriesController::admin_js', 1);
// enqueue right before scripts are printed
add_action('admin_footer', 'FrmProEntriesController::enqueue_footer_js', 19);
// print our scripts after js files have been loaded
add_action('admin_print_footer_scripts', 'FrmProEntriesController::footer_js', 40);
add_action('frm_after_show_entry', 'FrmProEntriesController::show_comments');
add_action('frm_show_entry_publish_box', 'FrmProEntriesController::add_duplicate_link');
add_action('frm_entry_shared_sidebar', 'FrmProEntriesController::add_sidebar_links');
add_action('frm_entry_major_pub', 'FrmProEntriesController::add_edit_link');
add_action('frm_entry_inside_h2', 'FrmProEntriesController::add_new_entry_link');
add_action('add_meta_boxes', 'FrmProEntriesController::create_entry_from_post_box', 10, 2);
// admin listing page
add_action('frm_entry_action_route', 'FrmProEntriesController::route');
add_filter('frm_entries_list_class', 'FrmProEntriesController::list_class');
add_filter('frm_row_actions', 'FrmProEntriesController::row_actions', 10, 2);
// Fields Controller
add_action('frm_after_field_created', 'FrmProFieldsController::create_multiple_fields', 10, 2);
add_action('frm_duplicate_field_divider', 'FrmProFieldsController::duplicate_section', 10, 2);
add_action('frm_display_added_fields', 'FrmProFieldsController::show');
add_filter('frm_display_field_options', 'FrmProFieldsController::display_field_options');
add_action('frm_add_multiple_opts_labels', 'FrmProFieldsController::add_separate_value_opt_label');
add_action('frm_field_options_form_top', 'FrmProFieldsController::options_form_top', 10, 3);
add_action('frm_before_field_options', 'FrmProFieldsController::options_form_before');
add_action('frm_field_options_form', 'FrmProFieldsController::options_form', 10, 3);
add_filter('frm_build_field_class', 'FrmProFieldsController::build_field_class', 10, 2);
add_action('frm_after_update_field_name', 'FrmProFieldsController::update_repeating_form_name');
// Fields Helper
add_filter('frm_show_custom_html', 'FrmProFieldsHelper::show_custom_html', 10, 2);
// Trigger field model
add_filter('frm_before_field_created', 'FrmProField::create');
add_filter('frm_update_field_options', 'FrmProField::update', 10, 3);
add_filter('frm_duplicated_field', 'FrmProField::duplicate');
add_action('frm_before_destroy_field', 'FrmProField::delete');
add_filter('frm_create_repeat_form', 'FrmProField::create_repeat_form', 10, 2);
// Form Actions Controller
add_action('frm_additional_action_settings', 'FrmProFormActionsController::form_action_settings', 10, 2);
add_action('frm_form_action_settings', 'FrmProFormActionsController::fill_action_options', 10, 2);
// Forms Controller
if (FrmAppHelper::is_admin_page('formidable')) {
// form builder page hooks
add_action('frm_noallow_class', 'FrmProFormsController::noallow_class');
add_action('frm_extra_form_instruction_tabs', 'FrmProFormsController::instruction_tabs');
add_action('frm_extra_form_instructions', 'FrmProFormsController::instructions');
add_filter('frmpro_field_links', 'FrmProFormsController::add_field_link');
add_filter('frm_drag_field_class', 'FrmProFormsController::drag_field_class');
// form settings page
add_filter('frm_before_save_wppost_action', 'FrmProFormsController::save_wppost_actions', 10, 2);
add_filter('frm_update_form_field_options', 'FrmProFormsController::update_form_field_options', 10, 2);
add_action('frm_add_form_perm_options', 'FrmProFormsController::add_form_options');
add_action('frm_add_form_ajax_options', 'FrmProFormsController::add_form_ajax_options');
add_action('frm_add_form_button_options', 'FrmProFormsController::add_form_button_options');
add_action('frm_add_form_msg_options', 'FrmProFormsController::add_form_msg_options');
}
add_filter('frm_setup_new_form_vars', 'FrmProFormsController::setup_new_vars');
add_filter('frm_setup_edit_form_vars', 'FrmProFormsController::setup_edit_vars');
add_filter('frm_advanced_shortcodes', 'FrmProFormsController::advanced_options');
// form settings and import
add_filter('frm_form_options_before_update', 'FrmProFormsController::update_options', 10, 2);
// form builder and form settings pages
add_action('frm_update_form', 'FrmProFormsController::update', 10, 2);
// form builder and import page
add_filter('frm_after_duplicate_form_values', 'FrmProFormsController::after_duplicate');
// edit post page with shortcode popup
add_filter('frm_popup_shortcodes', 'FrmProFormsController::popup_shortcodes');
add_filter('frm_sc_popup_opts', 'FrmProFormsController::sc_popup_opts', 10, 2);
// Settings Controller
add_action('frm_style_general_settings', 'FrmProSettingsController::general_style_settings');
add_action('frm_settings_form', 'FrmProSettingsController::more_settings', 1);
add_action('frm_update_settings', 'FrmProSettingsController::update');
add_action('frm_store_settings', 'FrmProSettingsController::store');
// Styles Controller
add_filter('frm_style_switcher', 'FrmProStylesController::style_switcher', 10, 2);
// XML Controller
add_filter('frm_xml_route', 'FrmProXMLController::route', 10, 2);
add_filter('frm_upload_instructions1', 'FrmProXMLController::csv_instructions_1');
add_filter('frm_upload_instructions2', 'FrmProXMLController::csv_instructions_2');
add_action('frm_csv_opts', 'FrmProXMLController::csv_opts');
//.........这里部分代码省略.........