public static function pro_tip($callback, $html = '') { if (FrmAppHelper::pro_is_installed()) { return; } $tips = self::$callback(); $tip = self::get_random_tip($tips); if ($html == 'p') { echo '<p>'; } ?> <a href="<?php echo esc_url(FrmAppHelper::make_affiliate_url($tip['link'])); ?> " target="_blank" class="frm_pro_tip"> <span><i class="frm_icon_font frm_check1_icon"></i> Pro Tip:</span> <?php echo esc_html($tip['tip']); ?> <?php if (isset($tip['call'])) { ?> <span><?php echo esc_html($tip['call']); ?> </span> <?php } ?> </a> <?php if ($html == 'p') { echo '</p>'; } }
public static function menu() { add_submenu_page('formidable', 'Formidable | ' . __('AddOns', 'formidable'), __('AddOns', 'formidable'), 'frm_view_forms', 'formidable-addons', 'FrmAddonsController::list_addons'); if (!FrmAppHelper::pro_is_installed()) { add_submenu_page('formidable', 'Formidable | ' . __('Upgrade to Pro', 'formidable'), __('Upgrade to Pro', 'formidable'), 'frm_view_forms', 'formidable-pro-upgrade', 'FrmAddonsController::upgrade_to_pro'); } }
public function prepare_items() { global $wpdb, $per_page; $per_page = $this->get_items_per_page('formidable_page_formidable_entries_per_page'); $form_id = $this->params['form']; if (!$form_id) { $this->items = array(); $this->set_pagination_args(array('total_items' => 0, 'per_page' => $per_page)); return; } $default_orderby = 'id'; $default_order = 'DESC'; $s_query = array('it.form_id' => $form_id); $s = isset($_REQUEST['s']) ? stripslashes($_REQUEST['s']) : ''; if ($s != '' && FrmAppHelper::pro_is_installed()) { $fid = isset($_REQUEST['fid']) ? sanitize_title($_REQUEST['fid']) : ''; $s_query = FrmProEntriesHelper::get_search_str($s_query, $s, $form_id, $fid); } $orderby = isset($_REQUEST['orderby']) ? sanitize_title($_REQUEST['orderby']) : $default_orderby; if (strpos($orderby, 'meta') !== false) { $order_field_type = FrmField::get_type(str_replace('meta_', '', $orderby)); $orderby .= in_array($order_field_type, array('number', 'scale')) ? ' +0 ' : ''; } $order = isset($_REQUEST['order']) ? sanitize_title($_REQUEST['order']) : $default_order; $order = ' ORDER BY ' . $orderby . ' ' . $order; $page = $this->get_pagenum(); $start = (int) isset($_REQUEST['start']) ? absint($_REQUEST['start']) : ($page - 1) * $per_page; $this->items = FrmEntry::getAll($s_query, $order, ' LIMIT ' . $start . ',' . $per_page, true, false); $total_items = FrmEntry::getRecordCount($s_query); $this->set_pagination_args(array('total_items' => $total_items, 'per_page' => $per_page)); }
/** * @covers FrmAppHelper::pro_is_installed */ function test_pro_is_installed() { $active = FrmAppHelper::pro_is_installed(); if (is_callable('FrmUpdatesController::pro_is_authorized')) { $this->assertTrue($active); } else { $this->assertFalse($active); } }
public static function fill_entry_values($atts, $f, array &$values) { if (FrmField::is_no_save_field($f->type)) { return; } if ($atts['default_email']) { self::get_field_shortcodes_for_default_email($f, $values); return; } if ($atts['entry'] && !isset($atts['entry']->metas[$f->id])) { // In case include_blank is set $atts['entry']->metas[$f->id] = ''; if (FrmAppHelper::pro_is_installed()) { FrmProEntryMeta::add_post_value_to_entry($f, $atts['entry']); FrmProEntryMeta::add_repeating_value_to_entry($f, $atts['entry']); } } $val = ''; if ($atts['entry']) { $prev_val = maybe_unserialize($atts['entry']->metas[$f->id]); $meta = array('item_id' => $atts['id'], 'field_id' => $f->id, 'meta_value' => $prev_val, 'field_type' => $f->type); //This filter applies to the default-message shortcode and frm-show-entry shortcode only if (isset($atts['filter']) && $atts['filter'] == false) { $val = $prev_val; } else { $val = apply_filters('frm_email_value', $prev_val, (object) $meta, $atts['entry']); } } // Don't include blank values if (!$atts['include_blank'] && FrmAppHelper::is_empty_value($val)) { return; } self::textarea_display_value($f->type, $atts['plain_text'], $val); $val = apply_filters('frm_display_' . $f->type . '_value_custom', $val, array('field' => $f, 'atts' => $atts)); if (is_array($val)) { if ($atts['format'] == 'text') { $val = implode(', ', $val); } else { if ($f->type == 'checkbox') { $val = array_values($val); } } } self::maybe_strip_html($atts['plain_text'], $val); if ($atts['format'] != 'text') { $values[$f->field_key] = $val; if (isset($prev_val) && $prev_val != $val && $f->type != 'textarea') { $values[$f->field_key . '-value'] = $prev_val; } } else { $values[$f->id] = array('label' => $f->name, 'val' => $val); } }
/** * Ensure that the plugin has been installed and activated. */ function setUp() { parent::setUp(); $this->frm_install(); $this->factory->form = new Form_Factory($this); $this->factory->field = new Field_Factory($this); $this->factory->entry = new Entry_Factory($this); $this->is_pro_active = FrmAppHelper::pro_is_installed(); $current_class_name = get_class($this); if (strpos($current_class_name, 'FrmPro') && !$this->is_pro_active) { $this->markTestSkipped('Pro is not active'); } }
public static function form($errors = array(), $message = '') { $forms = FrmForm::getAll(array('status' => array(null, '', 'published')), 'name'); $export_types = apply_filters('frm_xml_export_types', array('forms' => __('Forms', 'formidable'))); $export_format = apply_filters('frm_export_formats', array('xml' => array('name' => 'XML', 'support' => 'forms', 'count' => 'multiple'))); if (FrmAppHelper::pro_is_installed()) { $frmpro_settings = new FrmProSettings(); $csv_format = $frmpro_settings->csv_format; } else { $csv_format = 'UTF-8'; } include FrmAppHelper::plugin_path() . '/classes/views/xml/import_form.php'; }
/** * @param integer $form_id */ public static function include_new_field($field_type, $form_id) { $values = array(); if (FrmAppHelper::pro_is_installed()) { $values['post_type'] = FrmProFormsHelper::post_type($form_id); } $field_values = apply_filters('frm_before_field_created', FrmFieldsHelper::setup_new_vars($field_type, $form_id)); $field_id = FrmField::create($field_values); if (!$field_id) { return false; } $field = self::include_single_field($field_id, $values, $form_id); return $field; }
</td> <td> <span class="success_action_redirect_box success_action_box<?php echo $values['success_action'] == 'redirect' ? '' : ' frm_hidden'; ?> "> <input type="text" name="options[success_url]" id="success_url" value="<?php if (isset($values['success_url'])) { echo esc_attr($values['success_url']); } ?> " placeholder="http://example.com" /> </span> <?php if (FrmAppHelper::pro_is_installed()) { ?> <span class="success_action_page_box success_action_box<?php echo $values['success_action'] == 'page' ? '' : ' frm_hidden'; ?> "> <label><?php _e('Use Content from Page', 'formidable'); ?> </label> <?php FrmAppHelper::wp_pages_dropdown('options[success_page_id]', $values['success_page_id']); ?> </span> <?php }
/** * Get the value from a specific field and entry * * @since 2.01.02 * @param object $entry * @param int $field_id * @return array|bool|mixed|string */ private static function get_value_from_entry($entry, $field_id) { $observed_value = ''; if (isset($entry->metas[$field_id])) { $observed_value = $entry->metas[$field_id]; } else { if ($entry->post_id && FrmAppHelper::pro_is_installed()) { $field = FrmField::getOne($field_id); $observed_value = FrmProEntryMetaHelper::get_post_or_meta_value($entry, $field, array('links' => false, 'truncate' => false)); } } return $observed_value; }
public static function get_shortcodes($content, $form_id) { if (FrmAppHelper::pro_is_installed()) { return FrmProDisplaysHelper::get_shortcodes($content, $form_id); } $fields = FrmField::getAll(array('fi.form_id' => (int) $form_id, 'fi.type not' => FrmField::no_save_fields())); $tagregexp = self::allowed_shortcodes($fields); preg_match_all("/\\[(if )?({$tagregexp})\\b(.*?)(?:(\\/))?\\](?:(.+?)\\[\\/\\])?/s", $content, $matches, PREG_PATTERN_ORDER); return $matches; }
public static function is_formidable_supported($version) { if (!class_exists('FrmProDisplay')) { return false; } global $frm_version; if ($frm_version) { /** * Get the plugin version when < 2.0 */ $current_frm_version = $frm_version; } else { if (is_callable('FrmAppHelper::plugin_version')) { /** * Get the plugin version when > 2.0 */ $current_frm_version = FrmAppHelper::plugin_version(); } } if (version_compare($current_frm_version, $version, '>=') === true) { global $frmpro_is_installed; if ($frmpro_is_installed) { return true; } /** * Check if pro is installed in 2.0+ */ return is_callable('FrmAppHelper::pro_is_installed') && FrmAppHelper::pro_is_installed(); } return false; }
<?php $read_only = false; if (isset($field['post_field']) && $field['post_field'] == 'post_category' && FrmAppHelper::pro_is_installed()) { echo FrmProPost::get_category_dropdown($field, array('location' => 'front', 'name' => $field_name, 'id' => $html_id)); } else { if (FrmAppHelper::pro_is_installed() && FrmField::is_read_only($field)) { $read_only = true; echo FrmProDropdownFieldsController::get_hidden_fields_with_readonly_values($field, $field_name, $html_id); ?> <select <?php do_action('frm_field_input_html', $field); ?> > <?php } else { ?> <select name="<?php echo esc_attr($field_name); ?> " id="<?php echo esc_attr($html_id); ?> " <?php do_action('frm_field_input_html', $field); ?> > <?php } $other_opt = $other_checked = false; foreach ($field['options'] as $opt_key => $opt) { $field_val = apply_filters('frm_field_value_saved', $opt, $opt_key, $field);
<?php if (isset($field['post_field']) && $field['post_field'] == 'post_category' && FrmAppHelper::pro_is_installed()) { echo FrmProPost::get_category_dropdown($field, array('name' => $field_name, 'id' => 'placeholder_id', 'location' => 'form_builder')); } else { ?> <select name="<?php echo esc_attr($field_name) . (FrmField::is_option_true($field, 'multiple') ? '[]' : ''); ?> " <?php echo FrmField::is_option_true($field, 'size') ? 'class="auto_width"' : ''; echo FrmField::is_option_true($field, 'multiple') ? ' multiple="multiple"' : ''; ?> > <?php foreach ($field['options'] as $opt_key => $opt) { $field_val = apply_filters('frm_field_value_saved', $opt, $opt_key, $field); $opt = apply_filters('frm_field_label_seen', $opt, $opt_key, $field); $selected = $field['default_value'] == $field_val || FrmFieldsHelper::get_other_val(array('opt_key', 'field')) ? ' selected="selected"' : ''; ?> <option value="<?php echo esc_attr($field_val); ?> "<?php echo $selected; ?> ><?php echo esc_html($opt); ?> </option> <?php
echo esc_url(admin_url('admin.php?page=formidable-entries&frm_action=list&form=' . $id)); ?> "><?php _e('Entries', 'formidable'); ?> </a></li> <?php if (current_user_can('frm_edit_displays')) { ?> <li> <a<?php if ($current_page == 'frm_display' || $pagenow == 'post.php' || $pagenow == 'post-new.php' || $current_page == 'formidable-entry-templates') { echo ' class="current_page"'; } ?> href="<?php echo esc_url((FrmAppHelper::pro_is_installed() ? admin_url('edit.php?post_type=frm_display') : admin_url('admin.php?page=formidable-entry-templates')) . '&form=' . $id . '&show_nav=1'); ?> "><?php _e('Views', 'formidable'); ?> </a></li> <?php } if (current_user_can('frm_view_reports')) { ?> <li> <a<?php FrmAppHelper::select_current_page('formidable', $current_page, array('reports')); ?> href="<?php echo esc_url(admin_url('admin.php?page=formidable&frm_action=reports&form=' . $id . '&show_nav=1')); ?>
/** * @param string $edit_link * @param string $duplicate_link */ private function get_actions(&$actions, $item, $edit_link, $duplicate_link) { if ('trash' == $this->status) { if (current_user_can('frm_edit_forms')) { $actions['restore'] = FrmFormsHelper::delete_trash_link($item->id, $item->status, 'short'); } if (current_user_can('frm_delete_forms')) { $actions['trash'] = '<a href="' . esc_url(wp_nonce_url('?page=formidable&form_status=trash&frm_action=destroy&id=' . $item->id, 'destroy_form_' . $item->id)) . '" class="submitdelete" onclick="return confirm(\'' . __('Are you sure you want to permanently delete that?', 'formidable') . '\')">' . __('Delete Permanently') . '</a>'; } return; } if (current_user_can('frm_edit_forms')) { if (!$item->is_template || !$item->default_template) { $actions['frm_edit'] = '<a href="' . esc_url($edit_link) . '">' . __('Edit') . '</a>'; } if ($item->is_template) { $actions['frm_duplicate'] = '<a href="' . esc_url(wp_nonce_url($duplicate_link)) . '">' . __('Create Form from Template', 'formidable') . '</a>'; } else { $actions['frm_settings'] = '<a href="' . esc_url('?page=formidable&frm_action=settings&id=' . $item->id) . '">' . __('Settings', 'formidable') . '</a>'; if (FrmAppHelper::pro_is_installed()) { $actions['duplicate'] = '<a href="' . esc_url(wp_nonce_url($duplicate_link)) . '">' . __('Duplicate', 'formidable') . '</a>'; } } } $actions['trash'] = FrmFormsHelper::delete_trash_link($item->id, $item->status, 'short'); if (empty($actions['trash'])) { // the user doesn't have permission unset($actions['trash']); } $actions['view'] = '<a href="' . esc_url(FrmFormsHelper::get_direct_link($item->form_key, $item)) . '" target="_blank">' . __('Preview') . '</a>'; }
public static function dropdown_categories($args) { _deprecated_function(__FUNCTION__, '2.02.07', 'FrmProPost::get_category_dropdown'); if (FrmAppHelper::pro_is_installed()) { $args['location'] = 'front'; $dropdown = FrmProPost::get_category_dropdown($args['field'], $args); } else { $dropdown = ''; } return $dropdown; }
/** * Check if field has an "Other" option and if any other values are posted * * @since 2.0 * * @param object $field * @param string|array $value * @param array $args */ public static function maybe_set_other_validation($field, &$value, &$args) { $args['other'] = false; if (!$value || empty($value) || !FrmAppHelper::pro_is_installed()) { return; } // Get other value for fields in repeating section self::set_other_repeating_vals($field, $value, $args); // Check if there are any posted "Other" values if (FrmField::is_option_true($field, 'other') && isset($_POST['item_meta']['other'][$field->id])) { // Save original value $args['temp_value'] = $value; $args['other'] = true; $other_vals = stripslashes_deep($_POST['item_meta']['other'][$field->id]); // Set the validation value now self::set_other_validation_val($value, $other_vals, $field, $args); } }
public static function load_pro_hooks() { if (FrmAppHelper::pro_is_installed()) { FrmProStylesController::load_pro_hooks(); } }
"></span> <input type="button" class="button-secondary edd_frm_save_license" data-plugin="<?php echo esc_attr($slug); ?> " name="edd_<?php echo esc_attr($slug); ?> _license_activate" value="<?php esc_attr_e('Activate', 'formidable'); ?> "/> <p class="frm_license_msg"></p> </div> </div> <?php } ?> <?php if ($any_unauthorized && FrmAppHelper::pro_is_installed()) { ?> <div class="clear"></div> <p><a href="#" class="edd_frm_fill_license button-secondary"><?php _e('Autofill Licenses', 'formidable'); ?> </a></p> <?php } ?> </div>
public static function front_head() { if (is_multisite()) { $old_db_version = get_option('frm_db_version'); $pro_db_version = FrmAppHelper::pro_is_installed() ? get_option('frmpro_db_version') : false; if ((int) $old_db_version < (int) FrmAppHelper::$db_version || FrmAppHelper::pro_is_installed() && (int) $pro_db_version < (int) FrmAppHelper::$pro_db_version) { self::install($old_db_version); } } }
function test_pro_version_active() { $is_pro_active = FrmAppHelper::pro_is_installed(); $this->assertTrue($is_pro_active, 'The pro version is not active.'); }
private static function update_postmeta(&$post, $post_id) { foreach ($post['postmeta'] as $k => $v) { if ('_edit_last' == $k) { $v = FrmAppHelper::get_user_id_param($v); } else { if ('_thumbnail_id' == $k && FrmAppHelper::pro_is_installed()) { //change the attachment ID $v = FrmProXMLHelper::get_file_id($v); } } update_post_meta($post_id, $k, $v); unset($k, $v); } }
/** * Get an array of the helper shortcodes to display in the customization panel * @since 2.0.6 */ private static function get_shortcode_helpers($settings_tab) { $entry_shortcodes = array('id' => __('Entry ID', 'formidable'), 'key' => __('Entry Key', 'formidable'), 'post_id' => __('Post ID', 'formidable'), 'ip' => __('User IP', 'formidable'), 'created-at' => __('Entry created', 'formidable'), 'updated-at' => __('Entry updated', 'formidable'), '' => '', 'siteurl' => __('Site URL', 'formidable'), 'sitename' => __('Site Name', 'formidable')); if (!FrmAppHelper::pro_is_installed()) { unset($entry_shortcodes['post_id']); } if ($settings_tab) { $entry_shortcodes['default-message'] = __('Default Msg', 'formidable'); $entry_shortcodes['default-html'] = __('Default HTML', 'formidable'); $entry_shortcodes['default-plain'] = __('Default Plain', 'formidable'); } else { $entry_shortcodes['detaillink'] = __('Detail Link', 'formidable'); $entry_shortcodes['editlink location="front" label="Edit" page_id=x'] = __('Edit Entry Link', 'formidable'); $entry_shortcodes['evenodd'] = __('Even/Odd', 'formidable'); $entry_shortcodes['entry_count'] = __('Entry Count', 'formidable'); } /** * Use this hook to add or remove buttons in the helpers section * in the customization panel * @since 2.0.6 */ $entry_shortcodes = apply_filters('frm_helper_shortcodes', $entry_shortcodes, $settings_tab); return $entry_shortcodes; }