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;
 }
Exemple #9
0
                    </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 
Exemple #15
0
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();
     }
 }
Exemple #20
0
"></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;
 }