/** * @since 1.7.5 */ function add_hooks() { // If Gravity Forms isn't active or compatibile, stop loading if (false === GravityView_Compatibility::is_valid()) { return; } // Migrate Class require_once GRAVITYVIEW_DIR . 'includes/class-migrate.php'; // Don't load tooltips if on Gravity Forms, otherwise it overrides translations if (!GFForms::is_gravity_page()) { require_once GFCommon::get_base_path() . '/tooltips.php'; } require_once GRAVITYVIEW_DIR . 'includes/admin/metaboxes/class-gravityview-admin-metaboxes.php'; require_once GRAVITYVIEW_DIR . 'includes/admin/entry-list.php'; require_once GRAVITYVIEW_DIR . 'includes/class-change-entry-creator.php'; /** @since 1.6 */ require_once GRAVITYVIEW_DIR . 'includes/class-gravityview-admin-duplicate-view.php'; // Filter Admin messages add_filter('post_updated_messages', array($this, 'post_updated_messages')); add_filter('bulk_post_updated_messages', array($this, 'post_updated_messages')); add_filter('plugin_action_links_' . plugin_basename(GRAVITYVIEW_FILE), array($this, 'plugin_action_links')); add_action('plugins_loaded', array($this, 'backend_actions'), 100); //Hooks for no-conflict functionality add_action('wp_print_scripts', array($this, 'no_conflict_scripts'), 1000); add_action('admin_print_footer_scripts', array($this, 'no_conflict_scripts'), 9); add_action('wp_print_styles', array($this, 'no_conflict_styles'), 1000); add_action('admin_print_styles', array($this, 'no_conflict_styles'), 11); add_action('admin_print_footer_scripts', array($this, 'no_conflict_styles'), 1); add_action('admin_footer', array($this, 'no_conflict_styles'), 1); }
function init() { if (is_admin()) { // add settings page into Gravity Forms > Settings GFForms::add_settings_page(__('Force SSL', 'gf-force-ssl'), array($this, 'plugin_settings_page')); } }
static function enqueue_gravity_forms_scripts() { GFForms::register_scripts(); $scripts = array('thickbox', 'gform_gravityforms', 'wp-lists', 'gform_json', 'gform_field_filter', 'plupload-all'); foreach ($scripts as $script) { wp_enqueue_script($script); } }
/** * @inheritDoc */ function setUp() { parent::setUp(); /* Remove temporary tables which causes problems with GF */ remove_all_filters('query', 10); /* Ensure the database is correctly set up */ @GFForms::setup_database(); $this->factory = new GF_UnitTest_Factory($this); }
function _manually_load_plugin() { require dirname(__FILE__) . '/../../gravityforms/gravityforms.php'; GFForms::setup(true); require dirname(__FILE__) . '/../../gravityformssurvey/survey.php'; require dirname(__FILE__) . '/../../gravityformsquiz/quiz.php'; require dirname(__FILE__) . '/../../gravityformspolls/polls.php'; require dirname(__FILE__) . '/../pdf.php'; }
/** * Plugins loaded */ public function plugins_loaded() { // Add-on // The `class_exists` call is required to prevent strage errors on some hosting environments if (Pronamic_WP_Pay_Class::method_exists('GFForms', 'include_payment_addon_framework')) { GFForms::include_payment_addon_framework(); if (class_exists('GFPaymentAddOn')) { $this->addon = new Pronamic_WP_Pay_Extensions_GravityForms_PaymentAddOn(); } } }
/** * Load GravityView * * @since 1.9 */ public function load() { require_once $this->plugin_dir . '/tmp/gravityforms/gravityforms.php'; $this->load_rest_api(); require_once $this->plugin_dir . '/gravityview.php'; /* Remove temporary tables which causes problems with GF */ remove_all_filters('query', 10); // set up Gravity Forms database @GFForms::setup(true); $this->create_stubs(); }
/** * Load the plugin. * * @since 2.0.0 */ public function load_plugin() { if (!method_exists('GFForms', 'include_addon_framework')) { return; } add_action('init', array($this, 'register_rewrite_rules')); add_filter('query_vars', array($this, 'query_vars')); add_action('template_redirect', array($this, 'template_redirect')); add_action('wp_footer', array($this, 'wp_footer')); // Load the Gravity Forms add-on framework and iframe add-on. GFForms::include_addon_framework(); $this->addon = new GravityFormsIframe_Addon($this); }
public static function load() { if (!class_exists('GFForms') || !class_exists('GFAddOn')) { return; } if (!method_exists('GFForms', 'include_feed_addon_framework')) { return; } GFForms::include_feed_addon_framework(); require_once GFELOQUA_PATH . '/api/class.eloqua.api.php'; require_once GFELOQUA_PATH . '/includes/helpers.php'; require_once GFELOQUA_PATH . 'gfeloqua.class.php'; GFAddOn::register('GFEloqua'); }
public function setUp() { /* * Replace set up with cut down version * so we don't use 'temporary' tables in MySQL */ $this->cut_down_setup(); /* initialise GF tables */ GFForms::setup(true); /* Load our plugin functions */ GFPDF_InstallUpdater::check_filesystem_api(); GFPDF_InstallUpdater::maybe_deploy(); /* create GF data */ $this->create_form_and_entries(); $this->setupConfiguration(); }
/** * @since 1.15 * @return void */ private function include_required_files() { // Migrate Class require_once GRAVITYVIEW_DIR . 'includes/class-migrate.php'; // Don't load tooltips if on Gravity Forms, otherwise it overrides translations if (class_exists('GFCommon') && class_exists('GFForms') && !GFForms::is_gravity_page()) { require_once GFCommon::get_base_path() . '/tooltips.php'; } require_once GRAVITYVIEW_DIR . 'includes/admin/metaboxes/class-gravityview-admin-metaboxes.php'; require_once GRAVITYVIEW_DIR . 'includes/admin/entry-list.php'; require_once GRAVITYVIEW_DIR . 'includes/class-change-entry-creator.php'; /** @since 1.15 **/ require_once GRAVITYVIEW_DIR . 'includes/admin/class-gravityview-support-port.php'; /** @since 1.6 */ require_once GRAVITYVIEW_DIR . 'includes/class-gravityview-admin-duplicate-view.php'; }
public function setUp() { /* * For some reasons this wasn't automatically set up so * we are running it here. */ $this->factory = new WP_UnitTest_Factory(); /* * Replace set up with cut down version * so we don't use 'temporary' tables in MySQL */ $this->cut_down_setup(); /* initialise GF tables */ GFForms::setup(true); /* Load our plugin functions */ GFPDF_InstallUpdater::check_filesystem_api(); GFPDF_InstallUpdater::maybe_deploy(); /* create GF data */ $this->create_form_and_entries(); }
public function init() { if (!GFCommon::current_user_can_any($this->_capabilities)) { return; } // is any GF page if (GFForms::is_gravity_page()) { // add top toolbar menu item add_filter('gform_toolbar_menu', array($this, 'add_toolbar_menu_item'), 10, 2); // add custom form action add_filter('gform_form_actions', array($this, 'add_form_action'), 10, 2); } // is results page if (rgget('view') == "gf_results_{$this->_slug}") { // add the results view add_action('gform_entries_view', array($this, 'add_view'), 10, 2); add_action('admin_enqueue_scripts', array($this, 'enqueue_admin_scripts')); // tooltips require_once GFCommon::get_base_path() . '/tooltips.php'; add_filter('gform_tooltips', array($this, 'add_tooltips')); } }
/** Activate the plugin, mock all the things */ public function setUp() { parent::setUp(); /* Activate GravityForms */ require_once WP_PLUGIN_DIR . '/gravityforms/gravityforms.php'; require_once WP_PLUGIN_DIR . '/gravityforms/export.php'; /* Something happened in newer versions, and we can't get the lead cache to initialize properly, we need to do this manually */ global $_gform_lead_meta; if ($_gform_lead_meta === null) { $_gform_lead_meta = array(); } GFForms::setup(); GFCache::flush(); /* Import some ready-made forms */ $this->assertEquals(GFExport::import_file(dirname(__FILE__) . '/forms.xml'), 2); /* Add a faster turnaround schedule */ add_filter('cron_schedules', function ($s) { $s['minute'] = array('interval' => 60, 'display' => 'Minutely'); return $s; }); /* Get an instance of our plugin */ $this->digest = new GFDigestNotifications(); }
public function results_page($form_id, $page_title, $gf_page, $gf_view) { $form_id = absint($form_id); if (empty($form_id)) { $forms = RGFormsModel::get_forms(); if (!empty($forms)) { $form_id = $forms[0]->id; } } $form = GFFormsModel::get_form_meta($form_id); $form = gf_apply_filters(array('gform_form_pre_results', $form_id), $form); // set up filter vars $start_date = rgget('start'); $end_date = rgget('end'); $all_fields = $form['fields']; $filter_settings = GFCommon::get_field_filter_settings($form); $filter_settings = apply_filters('gform_filters_pre_results', $filter_settings, $form); $filter_settings = array_values($filter_settings); // reset the numeric keys in case some filters have been unset $filter_fields = rgget('f'); $filter_operators = rgget('o'); $filter_values = rgget('v'); $filters = array(); $init_vars = array(); if (!empty($filter_fields)) { $init_vars['mode'] = rgget('mode'); foreach ($filter_fields as $i => $filter_field) { $filters[$i]['field'] = $filter_field; $filters[$i]['operator'] = $filter_operators[$i]; $filters[$i]['value'] = $filter_values[$i]; } $init_vars['filters'] = $filters; } $min = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG || isset($_GET['gform_debug']) ? '' : '.min'; $admin_css_url = GFCommon::get_base_url() . "/css/admin{$min}.css?ver=" . GFForms::$version; ?> <script type="text/javascript"> var gresultsFields = <?php echo json_encode($all_fields); ?> ; var gresultsFilterSettings = <?php echo json_encode($filter_settings); ?> ; var gresultsInitVars = <?php echo json_encode($init_vars); ?> ; <?php GFCommon::gf_global(); ?> <?php GFCommon::gf_vars(); ?> </script> <link rel="stylesheet" href="<?php echo esc_url($admin_css_url); ?> " type="text/css"/> <div class="wrap gforms_edit_form <?php echo GFCommon::get_browser_class(); ?> "> <?php GFCommon::form_page_title($form); ?> <?php GFCommon::display_dismissible_message(); ?> <?php GFForms::top_toolbar(); ?> <?php if (false === empty($all_fields)) { ?> <div id="poststuff" class="metabox-holder has-right-sidebar"> <div id="side-info-column" class="inner-sidebar"> <div id="gresults-results-filter" class="postbox"> <h3 style="cursor: default;"><?php echo $this->_search_title; ?> </h3> <div id="gresults-results-filter-content"> <form id="gresults-results-filter-form" action="" method="GET"> <input type="hidden" id="gresults-page-slug" name="page" value="<?php echo esc_attr($gf_page); ?> "> <input type="hidden" id="gresults-view-slug" name="view" value="<?php echo esc_attr($gf_view); ?> "> <input type="hidden" id="gresults-form-id" name="id" value="<?php echo esc_attr($form_id); ?> "> <?php $filter_ui = array('fields' => array('label' => esc_attr__('Filters', 'gravityforms'), 'tooltip' => 'gresults_filters', 'markup' => '<div id="gresults-results-field-filters-container"> <!-- placeholder populated by js --> </div>'), 'date_range' => array('label' => esc_attr__('Date Range', 'gravityforms'), 'tooltip' => 'gresults_date_range', 'markup' => '<div style="width:90px; float:left; "> <label for="gresults-results-filter-date-start">' . esc_html__('Start', 'gravityforms') . '</label> <input type="text" id="gresults-results-filter-date-start" name="start" style="width:80px" class="gresults-datepicker" value="' . $start_date . '"/> </div> <div style="width:90px; float:left; "> <label for="gresults-results-filter-date-end">' . esc_html__('End', 'gravityforms') . '</label> <input type="text" id="gresults-results-filter-date-end" name="end" style="width:80px" class="gresults-datepicker" value="' . $end_date . '"/> </div>')); $filter_ui = apply_filters('gform_filter_ui', $filter_ui, $form_id, $page_title, $gf_page, $gf_view); foreach ($filter_ui as $name => $filter) { ?> <div class='gresults-results-filter-section-label'> <?php echo $filter['label']; ?> <?php gform_tooltip(rgar($filter, 'tooltip'), 'tooltip_bottomleft'); ?> </div> <?php echo $filter['markup']; } ?> <br style="clear:both"/> <div id="gresults-results-filter-buttons"> <input type="submit" id="gresults-results-filter-submit-button" class="button button-primary button-large" value="<?php esc_attr_e('Apply filters', 'gravityforms'); ?> "> <input type="button" id="gresults-results-filter-clear-button" class="button button-secondary button-large" value="<?php esc_attr_e('Clear', 'gravityforms'); ?> " onclick="gresults.clearFilterForm();" onkeypress="gresults.clearFilterForm();"> <div class="gresults-filter-loading" style="display:none; float:right; margin-top:5px;"> <i class='gficon-gravityforms-spinner-icon gficon-spin'></i> </div> </div> </form> </div> </div> </div> </div> <div class="gresults-filter-loading" style="display:none;margin:0 5px 10px 0;"> <i class='gficon-gravityforms-spinner-icon gficon-spin'></i> <a href="javascript:void(0);" onclick="javascript:gresultsAjaxRequest.abort()" onkeypress="javascript:gresultsAjaxRequest.abort()"><?php esc_html_e('Cancel', 'gravityforms'); ?> </a> </div> <div id="gresults-results-wrapper"> <div id="gresults-results"> </div> </div> <?php } else { _e('This form does not have any fields that can be used for results', 'gravityforms'); } ?> </div> <?php }
public static function ensure_tables_exist() { global $wpdb; $form_table_name = self::get_form_table_name(); $form_count = $wpdb->get_var("SELECT count(0) FROM {$form_table_name}"); if ($wpdb->last_error) { GFCommon::log_debug('GFFormsModel::ensure_tables_exist(): Blog ' . get_current_blog_id() . ' - Form database table does not exist. Forcing database setup.'); GFForms::setup_database(); } }
<?php GFForms::include_feed_addon_framework(); class GFZohoCRM extends GFFeedAddOn { protected $_version = GF_ZOHOCRM_VERSION; protected $_min_gravityforms_version = '1.9.14.26'; protected $_slug = 'gravityformszohocrm'; protected $_path = 'gravityformszohocrm/zohocrm.php'; protected $_full_path = __FILE__; protected $_url = 'http://www.gravityforms.com'; protected $_title = 'Gravity Forms Zoho CRM Add-On'; protected $_short_title = 'Zoho CRM'; protected $_enable_rg_autoupgrade = true; protected $api = null; protected $fields_transient_name = 'gform_zohocrm_fields'; private static $_instance = null; /* Permissions */ protected $_capabilities_settings_page = 'gravityforms_zohocrm'; protected $_capabilities_form_settings = 'gravityforms_zohocrm'; protected $_capabilities_uninstall = 'gravityforms_zohocrm_uninstall'; /* Members plugin integration */ protected $_capabilities = array('gravityforms_zohocrm', 'gravityforms_zohocrm_uninstall'); /** * Get instance of this class. * * @access public * @static * @return GFZohoCRM */ public static function get_instance()
/** * Determine if the last page for the current form object is being submitted or rendered (depending on the provided $mode). * * @param array $form A Gravity Forms form object. * @param string $mode Mode to check for: 'submit' or 'render' * * @return boolean */ public static function is_last_page($form, $mode = 'submit') { $page_number = self::get_source_page($form['id']); $field_values = GFForms::post('gform_field_values'); $target_page = self::get_target_page($form, $page_number, $field_values); if ($mode == 'render') { $is_valid = rgars(self::$submission, "{$form['id']}/is_valid"); $is_last_page = $is_valid && $target_page == self::get_max_page_number($form); } else { $is_last_page = (string) $target_page === '0'; } return $is_last_page; }
/** * Performs upgrade tasks when the version of the Add-On changes. To add additional upgrade tasks, override the upgrade() function, which will only get executed when the plugin version has changed. */ protected function setup() { //Upgrading add-on $installed_version = get_option("gravityformsaddon_" . $this->_slug . "_version"); //Making sure version has really changed. Gets around aggressive caching issue on some sites that cause setup to run multiple times. if ($installed_version != $this->_version) { $installed_version = GFForms::get_wp_option("gravityformsaddon_" . $this->_slug . "_version"); } //Upgrade if version has changed if ($installed_version != $this->_version) { $this->upgrade($installed_version); update_option("gravityformsaddon_" . $this->_slug . "_version", $this->_version); } }
private function upgrade_payment($previous_versions) { global $wpdb; $charset_collate = GFFormsModel::get_db_charset(); $sql = "CREATE TABLE {$wpdb->prefix}gf_addon_payment_transaction (\n id int(10) unsigned not null auto_increment,\n lead_id int(10) unsigned not null,\n transaction_type varchar(30) not null,\n transaction_id varchar(50),\n is_recurring tinyint(1) not null default 0,\n amount decimal(19,2),\n date_created datetime,\n PRIMARY KEY (id),\n KEY lead_id (lead_id),\n KEY transaction_type (transaction_type),\n KEY type_lead (lead_id,transaction_type)\n ) {$charset_collate};"; GFFormsModel::dbDelta($sql); if ($this->_supports_callbacks) { $sql = "CREATE TABLE {$wpdb->prefix}gf_addon_payment_callback (\n id int(10) unsigned not null auto_increment,\n lead_id int(10) unsigned not null,\n addon_slug varchar(250) not null,\n callback_id varchar(250),\n date_created datetime,\n PRIMARY KEY (id),\n KEY addon_slug_callback_id (addon_slug(50),callback_id(100))\n ) {$charset_collate};"; GFFormsModel::dbDelta($sql); //droping legacy index GFForms::drop_index("{$wpdb->prefix}gf_addon_payment_callback", 'slug_callback_id'); } }
public static function upload() { GFCommon::log_debug('GFAsyncUpload::upload(): Starting.'); if ($_SERVER['REQUEST_METHOD'] != 'POST') { status_header(404); die; } header('Content-Type: text/html; charset=' . get_option('blog_charset')); send_nosniff_header(); nocache_headers(); status_header(200); // If the file is bigger than the server can accept then the form_id might not arrive. // This might happen if the file is bigger than the max post size ini setting. // Validation in the browser reduces the risk of this happening. if (!isset($_REQUEST['form_id'])) { GFCommon::log_debug('GFAsyncUpload::upload(): File upload aborted because the form_id was not found. The file may have been bigger than the max post size ini setting.'); self::die_error(500, __('Failed to upload file.', 'gravityforms')); } $form_id = absint($_REQUEST['form_id']); $form_unique_id = rgpost('gform_unique_id'); $form = GFAPI::get_form($form_id); if (empty($form) || !$form['is_active']) { die; } if (rgar($form, 'requireLogin')) { if (!is_user_logged_in()) { die; } check_admin_referer('gform_file_upload_' . $form_id, '_gform_file_upload_nonce_' . $form_id); } if (!ctype_alnum($form_unique_id)) { die; } $target_dir = GFFormsModel::get_upload_path($form_id) . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR; if (!is_dir($target_dir)) { if (!wp_mkdir_p($target_dir)) { GFCommon::log_debug("GFAsyncUpload::upload(): Couldn't create the tmp folder: " . $target_dir); self::die_error(500, __('Failed to upload file.', 'gravityforms')); } } $time = current_time('mysql'); $y = substr($time, 0, 4); $m = substr($time, 5, 2); //adding index.html files to all subfolders if (!file_exists(GFFormsModel::get_upload_root() . '/index.html')) { GFForms::add_security_files(); } else { if (!file_exists(GFFormsModel::get_upload_path($form_id) . '/index.html')) { GFCommon::recursive_add_index_file(GFFormsModel::get_upload_path($form_id)); } else { if (!file_exists(GFFormsModel::get_upload_path($form_id) . "/{$y}/index.html")) { GFCommon::recursive_add_index_file(GFFormsModel::get_upload_path($form_id) . "/{$y}"); } else { GFCommon::recursive_add_index_file(GFFormsModel::get_upload_path($form_id) . "/{$y}/{$m}"); } } } if (!file_exists($target_dir . '/index.html')) { GFCommon::recursive_add_index_file($target_dir); } $uploaded_filename = $_FILES['file']['name']; $file_name = isset($_REQUEST['name']) ? $_REQUEST['name'] : ''; $field_id = rgpost('field_id'); $field_id = absint($field_id); $field = GFFormsModel::get_field($form, $field_id); if (empty($field) || GFFormsModel::get_input_type($field) != 'fileupload') { die; } $file_name = sanitize_file_name($file_name); $uploaded_filename = sanitize_file_name($uploaded_filename); $allowed_extensions = !empty($field->allowedExtensions) ? GFCommon::clean_extensions(explode(',', strtolower($field->allowedExtensions))) : array(); $max_upload_size_in_bytes = $field->maxFileSize > 0 ? $field->maxFileSize * 1048576 : wp_max_upload_size(); $max_upload_size_in_mb = $max_upload_size_in_bytes / 1048576; if ($_FILES['file']['size'] > 0 && $_FILES['file']['size'] > $max_upload_size_in_bytes) { self::die_error(104, sprintf(__('File exceeds size limit. Maximum file size: %dMB', 'gravityforms'), $max_upload_size_in_mb)); } if (GFCommon::file_name_has_disallowed_extension($file_name) || GFCommon::file_name_has_disallowed_extension($uploaded_filename)) { GFCommon::log_debug("GFAsyncUpload::upload(): Illegal file extension: {$file_name}"); self::die_error(104, __('The uploaded file type is not allowed.', 'gravityforms')); } if (!empty($allowed_extensions)) { if (!GFCommon::match_file_extension($file_name, $allowed_extensions) || !GFCommon::match_file_extension($uploaded_filename, $allowed_extensions)) { GFCommon::log_debug("GFAsyncUpload::upload(): The uploaded file type is not allowed: {$file_name}"); self::die_error(104, sprintf(__('The uploaded file type is not allowed. Must be one of the following: %s', 'gravityforms'), strtolower($field['allowedExtensions']))); } } $whitelisting_disabled = apply_filters('gform_file_upload_whitelisting_disabled', false); if (empty($allowed_extensions) && !$whitelisting_disabled) { // Whitelist the file type $valid_uploaded_filename = GFCommon::check_type_and_ext($_FILES['file'], $uploaded_filename); if (is_wp_error($valid_uploaded_filename)) { self::die_error($valid_uploaded_filename->get_error_code(), $valid_uploaded_filename->get_error_message()); } $valid_file_name = GFCommon::check_type_and_ext($_FILES['file'], $file_name); if (is_wp_error($valid_uploaded_filename)) { self::die_error($valid_file_name->get_error_code(), $valid_file_name->get_error_message()); } } $tmp_file_name = $form_unique_id . '_input_' . $field_id . '_' . $file_name; $tmp_file_name = sanitize_file_name($tmp_file_name); $file_path = $target_dir . $tmp_file_name; $cleanup_target_dir = true; // Remove old files $max_file_age = 5 * 3600; // Temp file age in seconds // Remove old temp files if ($cleanup_target_dir) { if (is_dir($target_dir) && ($dir = opendir($target_dir))) { while (($file = readdir($dir)) !== false) { $tmp_file_path = $target_dir . $file; // Remove temp file if it is older than the max age and is not the current file if (preg_match('/\\.part$/', $file) && filemtime($tmp_file_path) < time() - $max_file_age && $tmp_file_path != "{$file_path}.part") { GFCommon::log_debug('GFAsyncUpload::upload(): Deleting file: ' . $tmp_file_path); @unlink($tmp_file_path); } } closedir($dir); } else { GFCommon::log_debug('GFAsyncUpload::upload(): Failed to open temp directory: ' . $target_dir); self::die_error(100, __('Failed to open temp directory.', 'gravityforms')); } } if (isset($_SERVER['HTTP_CONTENT_TYPE'])) { $contentType = $_SERVER['HTTP_CONTENT_TYPE']; } if (isset($_SERVER['CONTENT_TYPE'])) { $contentType = $_SERVER['CONTENT_TYPE']; } $chunk = isset($_REQUEST['chunk']) ? intval($_REQUEST['chunk']) : 0; $chunks = isset($_REQUEST['chunks']) ? intval($_REQUEST['chunks']) : 0; // Handle non multipart uploads older WebKit versions didn't support multipart in HTML5 if (strpos($contentType, 'multipart') !== false) { if (isset($_FILES['file']['tmp_name']) && is_uploaded_file($_FILES['file']['tmp_name'])) { // Open temp file $out = @fopen("{$file_path}.part", $chunk == 0 ? 'wb' : 'ab'); if ($out) { // Read binary input stream and append it to temp file $in = @fopen($_FILES['file']['tmp_name'], 'rb'); if ($in) { while ($buff = fread($in, 4096)) { fwrite($out, $buff); } } else { self::die_error(101, __('Failed to open input stream.', 'gravityforms')); } @fclose($in); @fclose($out); @unlink($_FILES['file']['tmp_name']); } else { self::die_error(102, __('Failed to open output stream.', 'gravityforms')); } } else { self::die_error(103, __('Failed to move uploaded file.', 'gravityforms')); } } else { // Open temp file $out = @fopen("{$file_path}.part", $chunk == 0 ? 'wb' : 'ab'); if ($out) { // Read binary input stream and append it to temp file $in = @fopen('php://input', 'rb'); if ($in) { while ($buff = fread($in, 4096)) { fwrite($out, $buff); } } else { self::die_error(101, __('Failed to open input stream.', 'gravityforms')); } @fclose($in); @fclose($out); } else { self::die_error(102, __('Failed to open output stream.', 'gravityforms')); } } // Check if file has been uploaded if (!$chunks || $chunk == $chunks - 1) { // Strip the temp .part suffix off rename("{$file_path}.part", $file_path); } if (file_exists($file_path)) { GFFormsModel::set_permissions($file_path); } else { self::die_error(105, __('Upload unsuccessful', 'gravityforms') . ' ' . $uploaded_filename); } $output = array('status' => 'ok', 'data' => array('temp_filename' => $tmp_file_name, 'uploaded_filename' => str_replace("\\'", "'", urldecode($uploaded_filename)))); $output = json_encode($output); GFCommon::log_debug(sprintf('GFAsyncUpload::upload(): File upload complete. temp_filename: %s uploaded_filename: %s ', $tmp_file_name, $uploaded_filename)); gf_do_action('gform_post_multifile_upload', $form['id'], $form, $field, $uploaded_filename, $tmp_file_name, $file_path); die($output); }
} if (!class_exists('RGForms')) { require GRAVITYFORMS_BASE_PATH . 'gravityforms.php'; } //require ABSPATH . 'wp-content/plugins/gravityflow/gravityflow.php'; require dirname(__FILE__) . '/testcase.php'; require dirname(__FILE__) . '/gravityforms-testcase.php'; require dirname(__FILE__) . '/testcase-xmlrpc.php'; require dirname(__FILE__) . '/testcase-ajax.php'; require dirname(__FILE__) . '/exceptions.php'; require dirname(__FILE__) . '/utils.php'; // Update array with plugins to include ... $plugins_to_active = array('gravityforms/gravityforms.php', 'gravityflow/gravityflow.php'); update_option('active_plugins', $plugins_to_active); GFForms::setup(true); GFForms::loaded(); gravity_flow()->setup(); /** * A child class of the PHP test runner. * * Not actually used as a runner. Rather, used to access the protected * longOptions property, to parse the arguments passed to the script. * * If it is determined that phpunit was called with a --group that corresponds * to an @ticket annotation (such as `phpunit --group 12345` for bugs marked * as #WP12345), then it is assumed that known bugs should not be skipped. * * If WP_TESTS_FORCE_KNOWN_BUGS is already set in wp-tests-config.php, then * how you call phpunit has no effect. */ class WP_PHPUnit_TextUI_Command extends PHPUnit_TextUI_Command
/** * Loads the screen options for the entry detail page. * * @since 2.0 * @access public * @static * @see GFEntryDetail::add_meta_boxes */ public static function load_screen_options() { $screen = get_current_screen(); if (!is_object($screen)) { return; } $page = GFForms::get_page(); if ($page == 'form_list') { $args = array('label' => __('Forms per page', 'gravityforms'), 'default' => 20, 'option' => 'gform_forms_per_page'); add_screen_option('per_page', $args); } elseif (in_array($page, array('entry_detail', 'entry_detail_edit'))) { require_once GFCommon::get_base_path() . '/entry_detail.php'; GFEntryDetail::add_meta_boxes(); } }
public static function ensure_tables_exist() { global $wpdb; $form_table_name = self::get_form_table_name(); $form_count = $wpdb->get_var("SELECT count(0) FROM {$form_table_name}"); if ($wpdb->last_error) { GFForms::setup(true); } }
static function enqueue_gravity_forms_scripts() { GFForms::register_scripts(); $scripts = array('sack', 'gform_gravityforms', 'gform_forms', 'gform_form_admin', 'jquery-ui-autocomplete'); if (wp_is_mobile()) { $scripts[] = 'jquery-touch-punch'; } foreach ($scripts as $script) { wp_enqueue_script($script); } }
public static function validate_upgrade($do_upgrade, $hook_extra) { if (rgar($hook_extra, "plugin") == "gravityforms/gravityforms.php" && !GFForms::has_database_permission($error)) { return new WP_Error("no_db_permission", $error); } return true; }
public static function action_print_media_templates() { echo GFForms::get_view('edit-shortcode-form'); }
public static function form_list_page() { global $wpdb; if (!GFCommon::ensure_wp_version()) { return; } echo GFCommon::get_remote_message(); $action = RGForms::post("action"); $bulk_action = RGForms::post("bulk_action"); $bulk_action = !empty($bulk_action) ? $bulk_action : RGForms::post("bulk_action2"); if ($action == "trash") { check_admin_referer('gforms_update_forms', 'gforms_update_forms'); $form_id = RGForms::post("action_argument"); RGFormsModel::trash_form($form_id); $message = __('Form moved to the trash.', 'gravityforms'); } else { if ($action == "restore") { check_admin_referer('gforms_update_forms', 'gforms_update_forms'); $form_id = RGForms::post("action_argument"); RGFormsModel::restore_form($form_id); $message = __('Form restored.', 'gravityforms'); } else { if ($action == "delete") { check_admin_referer('gforms_update_forms', 'gforms_update_forms'); $form_id = RGForms::post("action_argument"); if (GFCommon::current_user_can_any("gravityforms_delete_forms")) { RGFormsModel::delete_form($form_id); $message = __('Form deleted.', 'gravityforms'); } else { $message = __("You don't have adequate permissions to delete forms.", 'gravityforms'); } } else { if ($action == "duplicate") { check_admin_referer('gforms_update_forms', 'gforms_update_forms'); $form_id = RGForms::post("action_argument"); RGFormsModel::duplicate_form($form_id); $message = __('Form duplicated.', 'gravityforms'); } } } } if ($bulk_action) { check_admin_referer('gforms_update_forms', 'gforms_update_forms'); $form_ids = is_array(rgpost('form')) ? rgpost('form') : array(); $form_count = count($form_ids); switch ($bulk_action) { case 'trash': GFFormsModel::trash_forms($form_ids); $message = _n('%s form moved to the trash.', '%s forms moved to the trash.', $form_count, 'gravityforms'); break; case 'restore': GFFormsModel::restore_forms($form_ids); $message = _n('%s form restored.', '%s forms restored.', $form_count, 'gravityforms'); break; case 'delete': if (GFCommon::current_user_can_any("gravityforms_delete_forms")) { GFFormsModel::delete_forms($form_ids); $message = _n('%s form deleted.', '%s forms deleted.', $form_count, 'gravityforms'); } else { $message = __("You don't have adequate permissions to delete forms.", 'gravityforms'); } break; case 'reset_views': foreach ($form_ids as $form_id) { GFFormsModel::delete_views($form_id); } $message = _n('Views for %s form have been reset.', 'Views for %s forms have been reset.', $form_count, 'gravityforms'); break; case 'delete_entries': if (GFCommon::current_user_can_any("gravityforms_delete_entries")) { foreach ($form_ids as $form_id) { GFFormsModel::delete_leads_by_form($form_id); } $message = _n('Entries for %s form have been deleted.', 'Entries for %s forms have been deleted.', $form_count, 'gravityforms'); } else { $message = __("You don't have adequate permissions to delete entries.", "gravityforms"); } break; case 'activate': foreach ($form_ids as $form_id) { GFFormsModel::update_form_active($form_id, 1); } $message = _n('%s form has been marked as active.', '%s forms have been marked as active.', $form_count, 'gravityforms'); break; case 'deactivate': foreach ($form_ids as $form_id) { GFFormsModel::update_form_active($form_id, 0); } $message = _n('%s form has been marked as inactive.', '%s forms have been marked as inactive.', $form_count, 'gravityforms'); break; } if (isset($message)) { $message = sprintf($message, $form_count); } } $sort_column = empty($_GET["sort"]) ? "title" : $_GET["sort"]; $sort_direction = empty($_GET["dir"]) ? "ASC" : $_GET["dir"]; $active = RGForms::get("active") == "" ? null : RGForms::get("active"); $trash = RGForms::get("trash") == "" ? false : RGForms::get("trash"); $trash = esc_attr($trash); $forms = RGFormsModel::get_forms($active, $sort_column, $sort_direction, $trash); $form_count = RGFormsModel::get_form_count(); // - new form modal - // wp_print_styles(array('thickbox')); /*wp_enqueue_script( 'form_admin' ); wp_print_scripts( array( 'form_admin' ) );*/ ?> <script type="text/javascript"> jQuery(document).ready(function($) { <?php if (rgget('page') == 'gf_new_form') { ?> loadNewFormModal(); <?php } ?> $('.gf_form_action_has_submenu').hover(function(){ var l = jQuery(this).offset().left; jQuery(this).find('.gf_submenu') .toggle() .offset({ left: l }); }, function(){ jQuery(this).find('.gf_submenu').hide(); }); }); function loadNewFormModal() { resetNewFormModal(); tb_show('<?php _e('Create a New Form', 'gravityforms'); ?> ', '#TB_inline?width=375&inlineId=gf_new_form_modal'); jQuery('#new_form_title').focus(); return false; } function saveNewForm() { var createButton = jQuery('#save_new_form'); var spinner = new gfAjaxSpinner(createButton, gf_vars.baseUrl + '/images/spinner.gif'); // clear error message jQuery('#gf_new_form_error_message').html(''); var origVal = createButton.val(); createButton.val('<?php _e('Creating Form...', 'gravityforms'); ?> '); var form = { title: jQuery('#new_form_title').val(), description: jQuery('#new_form_description').val(), labelPlacement:'top_label', descriptionPlacement:'below', button: { type: 'text', text: '<?php _e("Submit", "gravityforms"); ?> ', imageUrl : '' }, fields:[] } jQuery.post(ajaxurl, { form: jQuery.toJSON(form), action: 'gf_save_new_form', gf_save_new_form: '<?php echo wp_create_nonce('gf_save_new_form'); ?> ' }, function(response){ spinner.destroy(); var respData = jQuery.parseJSON(response); if(respData['error']) { // adding class later otherwise WP moves box up to the top of the page jQuery('#gf_new_form_error_message').html( respData.error ); addInputErrorIcon( '#new_form_title' ); createButton.val(origVal); } else { location.href = respData.redirect; createButton.val('<?php _e('Saved! Redirecting...', 'gravityforms'); ?> '); } }); } function resetNewFormModal() { jQuery('#new_form_title').val(''); jQuery('#new_form_description').val(''); jQuery('#gf_new_form_error_message').html(''); removeInputErrorIcons( '.gf_new_form_modal_container' ); } function addInputErrorIcon( elem ) { var elem = jQuery(elem); elem.before( '<span class="gf_input_error_icon"></span>'); } function removeInputErrorIcons( elem ) { var elem = jQuery(elem); elem.find('span.gf_input_error_icon').remove(); } </script> <style type="text/css"> body div#TB_window[style] { width: 405px !important; height:340px !important; margin-left: -202px !important; } body #TB_ajaxContent { height: 290px !important; overflow: hidden; } .gf_new_form_modal_container { padding: 30px; } .gf_new_form_modal_container .setting-row { margin: 0 0 10px; } .gf_new_form_modal_container .setting-row label { line-height: 24px; } .gf_new_form_modal_container .setting-row input, .gf_new_form_modal_container .setting-row textarea { display: block; width: 100%; } .gf_new_form_modal_container .setting-row textarea { height: 110px; } .gf_new_form_modal_container .submit-row { margin-top: 18px; } .gf_new_form_modal_container #gf_new_form_error_message { margin: 0 0 18px 5px !important; color: #BC0B0B; } .gf_new_form_modal_container img.gfspinner { position: relative; top: 5px; left: 5px; } </style> <div id="gf_new_form_modal" style="display:none;"> <div class="gf_new_form_modal_container"> <div class="setting-row"> <label for="new_form_title"><?php _e('Form Title', 'gravityforms'); ?> <span class="gfield_required">*</span></label><br /> <input type="text" class="regular-text" value="" id="new_form_title" tabindex="9000"> </div> <div class="setting-row"> <label for="new_form_description"><?php _e('Form Description', 'gravityforms'); ?> </label><br /> <textarea class="regular-text" id="new_form_description" tabindex="9001"></textarea> </div> <div class="submit-row"> <?php echo apply_filters("gform_new_form_button", '<input id="save_new_form" type="button" class="button button-large button-primary" value="' . __('Create Form', 'gravityforms') . '" onclick="saveNewForm();" tabindex="9002" />'); ?> <div id="gf_new_form_error_message" style="display:inline-block;"></div> </div> </div> </div> <?php // - end of new form modal - // ?> <script text="text/javascript"> function TrashForm(form_id){ jQuery("#action_argument").val(form_id); jQuery("#action").val("trash"); jQuery("#forms_form")[0].submit(); } function RestoreForm(form_id){ jQuery("#action_argument").val(form_id); jQuery("#action").val("restore"); jQuery("#forms_form")[0].submit(); } function DeleteForm(form_id){ jQuery("#action_argument").val(form_id); jQuery("#action").val("delete"); jQuery("#forms_form")[0].submit(); } function DuplicateForm(form_id){ jQuery("#action_argument").val(form_id); jQuery("#action").val("duplicate"); jQuery("#forms_form")[0].submit(); } function ToggleActive(img, form_id){ var is_active = img.src.indexOf("active1.png") >=0 if(is_active){ img.src = img.src.replace("active1.png", "active0.png"); jQuery(img).attr('title','<?php _e("Inactive", "gravityforms"); ?> ').attr('alt', '<?php _e("Inactive", "gravityforms"); ?> '); } else{ img.src = img.src.replace("active0.png", "active1.png"); jQuery(img).attr('title','<?php _e("Active", "gravityforms"); ?> ').attr('alt', '<?php _e("Active", "gravityforms"); ?> '); } UpdateCount("active_count", is_active ? -1 : 1); UpdateCount("inactive_count", is_active ? 1 : -1); var mysack = new sack("<?php echo admin_url("admin-ajax.php"); ?> " ); mysack.execute = 1; mysack.method = 'POST'; mysack.setVar( "action", "rg_update_form_active" ); mysack.setVar( "rg_update_form_active", "<?php echo wp_create_nonce("rg_update_form_active"); ?> " ); mysack.setVar( "form_id", form_id); mysack.setVar( "is_active", is_active ? 0 : 1); mysack.onError = function() { alert('<?php echo esc_js(__("Ajax error while updating form", "gravityforms")); ?> ' )}; mysack.runAJAX(); return true; } function UpdateCount(element_id, change){ var element = jQuery("#" + element_id); var count = parseInt(element.html()) + change element.html(count + ""); } function gfConfirmBulkAction(element_id){ var element = "#" + element_id; if(jQuery(element).val() == 'delete') return confirm('<?php echo __("WARNING: You are about to delete these forms and ALL entries associated with them. ", "gravityforms") . __("\\'Cancel\\' to stop, \\'OK\\' to delete.", "gravityforms"); ?> '); else if(jQuery(element).val() == 'reset_views') return confirm('<?php echo __("Are you sure you would like to reset the Views for the selected forms? ", "gravityforms") . __("\\'Cancel\\' to stop, \\'OK\\' to reset.", "gravityforms"); ?> '); else if(jQuery(element).val() == 'delete_entries') return confirm('<?php echo __("WARNING: You are about to delete ALL entries associated with the selected forms. ", "gravityforms") . __("\\'Cancel\\' to stop, \\'OK\\' to delete.", "gravityforms"); ?> '); return true; } </script> <link rel="stylesheet" href="<?php echo GFCommon::get_base_url(); ?> /css/admin.css" /> <div class="wrap <?php echo GFCommon::get_browser_class(); ?> "> <h2> <?php _e("Forms", "gravityforms"); ?> <a class="add-new-h2" href="" onclick="return loadNewFormModal();"><?php _e("Add New", "gravityforms"); ?> </a> </h2> <?php if (isset($message)) { ?> <div class="updated below-h2" id="message"><p><?php echo $message; ?> </p></div> <?php } ?> <form id="forms_form" method="post"> <?php wp_nonce_field('gforms_update_forms', 'gforms_update_forms'); ?> <input type="hidden" id="action" name="action"/> <input type="hidden" id="action_argument" name="action_argument"/> <ul class="subsubsub"> <li><a class="<?php echo $active === null ? "current" : ""; ?> " href="?page=gf_edit_forms"><?php _e("All", "gravityforms"); ?> <span class="count">(<span id="all_count"><?php echo $form_count["total"]; ?> </span>)</span></a> | </li> <li><a class="<?php echo $active == "1" ? "current" : ""; ?> " href="?page=gf_edit_forms&active=1"><?php _e("Active", "gravityforms"); ?> <span class="count">(<span id="active_count"><?php echo $form_count["active"]; ?> </span>)</span></a> | </li> <li><a class="<?php echo $active == "0" ? "current" : ""; ?> " href="?page=gf_edit_forms&active=0"><?php _e("Inactive", "gravityforms"); ?> <span class="count">(<span id="inactive_count"><?php echo $form_count["inactive"]; ?> </span>)</span></a> | </li> <li><a class="<?php echo $active == "0" ? "current" : ""; ?> " href="?page=gf_edit_forms&trash=1"><?php _e("Trash", "gravityforms"); ?> <span class="count">(<span id="trash_count"><?php echo $form_count["trash"]; ?> </span>)</span></a></li> </ul> <?php if (GFCommon::current_user_can_any("gravityforms_delete_forms")) { ?> <div class="tablenav"> <div class="alignleft actions" style="padding:8px 0 7px 0;"> <label class="hidden" for="bulk_action"><?php _e("Bulk action", "gravityforms"); ?> </label> <select name="bulk_action" id="bulk_action"> <option value=''> <?php _e("Bulk action", "gravityforms"); ?> </option> <?php if ($trash) { ?> <option value='restore'><?php _e("Restore", "gravityforms"); ?> </option> <option value='delete'><?php _e("Delete permanently", "gravityforms"); ?> </option> <?php } else { ?> <option value='activate'><?php _e("Mark as Active", "gravityforms"); ?> </option> <option value='deactivate'><?php _e("Mark as Inactive", "gravityforms"); ?> </option> <option value='reset_views'><?php _e("Reset Views", "gravityforms"); ?> </option> <option value='delete_entries'><?php _e("Permanently Delete Entries", "gravityforms"); ?> </option> <option value='trash'><?php _e("Move to trash", "gravityforms"); ?> </option> <?php } ?> </select> <?php $apply_button = '<input type="submit" class="button" value="' . __("Apply", "gravityforms") . '" onclick="return gfConfirmBulkAction(\'bulk_action\');"/>'; echo apply_filters("gform_form_apply_button", $apply_button); ?> <br class="clear" /> </div> </div> <?php } ?> <table class="widefat fixed" cellspacing="0"> <thead> <tr> <?php if (GFCommon::current_user_can_any("gravityforms_delete_forms")) { ?> <th scope="col" id="cb" class="manage-column column-cb check-column" style=""><input type="checkbox" name="form_bulk_check_all" onclick="jQuery('.gform_list_checkbox').attr('checked', this.checked);" /></th> <?php } $dir = $sort_column == "is_active" && $sort_direction == "ASC" ? "DESC" : "ASC"; $url_active = admin_url("admin.php?page=gf_edit_forms&sort=is_active&dir={$dir}&trash={$trash}"); ?> <th scope="col" id="active" class="manage-column column-cb check-column" style="width:50px;cursor:pointer;" onclick="document.location='<?php echo $url_active; ?> '"></th> <?php $dir = $sort_column == "id" && $sort_direction == "ASC" ? "DESC" : "ASC"; $url_id = admin_url("admin.php?page=gf_edit_forms&sort=id&dir={$dir}&trash={$trash}"); ?> <th scope="col" id="id" class="manage-column" style="width:50px;cursor:pointer;" onclick="document.location='<?php echo $url_id; ?> '"><?php _e("Id", "gravityforms"); ?> </th> <?php $dir = $sort_column == "title" && $sort_direction == "ASC" ? "DESC" : "ASC"; $url_title = admin_url("admin.php?page=gf_edit_forms&sort=title&dir={$dir}&trash={$trash}"); ?> <th width="410" scope="col" id="title" class="manage-column column-title" style="cursor:pointer;" onclick="document.location='<?php echo $url_title; ?> '"><?php _e("Title", "gravityforms"); ?> </th> <th scope="col" id="author" class="manage-column column-author" style=""><?php _e("Views", "gravityforms"); ?> </th> <th scope="col" id="template" class="manage-column" style=""><?php _e("Entries", "gravityforms"); ?> </th> <th scope="col" id="template" class="manage-column" style=""><?php _e("Conversion", "gravityforms"); ?> <?php gform_tooltip("entries_conversion", "tooltip_left"); ?> </th> </tr> </thead> <tfoot> <tr> <?php if (GFCommon::current_user_can_any("gravityforms_delete_forms")) { ?> <th scope="col" id="cb" class="manage-column column-cb check-column" style=""><input type="checkbox" name="form_bulk_check_all" onclick="jQuery('.gform_list_checkbox').attr('checked', this.checked);" /></th> <?php } ?> <th scope="col" id="active" class="manage-column column-cb check-column"></th> <th scope="col" id="id" class="manage-column" style="cursor:pointer;" onclick="document.location='<?php echo $url_id; ?> '"><?php _e("Id", "gravityforms"); ?> </th> <th width="410" scope="col" id="title" style="cursor:pointer;" class="manage-column column-title" onclick="document.location='<?php echo $url_title; ?> '"><?php _e("Title", "gravityforms"); ?> </th> <th scope="col" id="author" class="manage-column column-author" style=""><?php _e("Views", "gravityforms"); ?> </th> <th scope="col" id="template" class="manage-column" style=""><?php _e("Entries", "gravityforms"); ?> </th> <th scope="col" id="template" class="manage-column" style=""><?php _e("Conversion", "gravityforms"); ?> </th> </tr> </tfoot> <tbody class="list:user user-list"> <?php if (sizeof($forms) > 0) { $alternate_row = false; foreach ($forms as $form) { $conversion = "0%"; if ($form->view_count > 0) { $conversion = number_format($form->lead_count / $form->view_count, 3) * 100 . "%"; } $gf_form_locking = new GFFormLocking(); ?> <tr class='author-self status-inherit <?php $gf_form_locking->list_row_class($form->id); ?> <?php echo ($alternate_row = !$alternate_row) ? 'alternate' : ''; ?> ' valign="top" data-id="<?php echo esc_attr($form->id); ?> "> <?php if (GFCommon::current_user_can_any("gravityforms_delete_forms")) { ?> <th scope="row" class="check-column"><input type="checkbox" name="form[]" value="<?php echo $form->id; ?> " class="gform_list_checkbox"/><?php $gf_form_locking->lock_indicator(); ?> </th> <?php } ?> <td> <?php if (!$trash) { ?> <img class="gform_active_icon" src="<?php echo GFCommon::get_base_url(); ?> /images/active<?php echo intval($form->is_active); ?> .png" style="cursor: pointer;" alt="<?php echo $form->is_active ? __("Active", "gravityforms") : __("Inactive", "gravityforms"); ?> " title="<?php echo $form->is_active ? __("Active", "gravityforms") : __("Inactive", "gravityforms"); ?> " onclick="ToggleActive(this, <?php echo $form->id; ?> ); " /> <?php } ?> </td> <td class="column-id"><?php echo $form->id; ?> </td> <td class="column-title"> <?php if ($trash) { echo $form->title; } else { ?> <strong><a class="row-title" disabled="<?php disabled(true, $trash); ?> " href="admin.php?page=gf_edit_forms&id=<?php echo $form->id; ?> " title="<?php _e("Edit", "gravityforms"); ?> "><?php echo $form->title; ?> </a></strong> <?php $gf_form_locking->lock_info($form->id); } ?> <div class="row-actions"> <?php if ($trash) { $form_actions['restore'] = array('label' => __("Restore", "gravityforms"), 'title' => __("Restore", "gravityforms"), 'url' => 'javascript:RestoreForm(' . $form->id . ');', 'capabilities' => "gravityforms_delete_forms", 'priority' => 600); $form_actions['delete'] = array('label' => __("Delete permanently", "gravityforms"), 'title' => __("Delete permanently", "gravityforms"), 'menu_class' => 'delete', 'url' => 'javascript: if(confirm("' . __("WARNING: You are about to delete this form and ALL entries associated with it. ", "gravityforms") . __('\\"Cancel\\" to stop, \\"OK\\" to delete.', "gravityforms") . '")){ DeleteForm(' . $form->id . ');}', 'capabilities' => "gravityforms_delete_forms", 'priority' => 500); } else { require_once GFCommon::get_base_path() . '/form_settings.php'; $form_actions = GFForms::get_toolbar_menu_items($form->id, true); $form_actions['duplicate'] = array('label' => __("Duplicate", "gravityforms"), 'title' => __("Duplicate this form", "gravityforms"), 'url' => 'javascript:DuplicateForm(' . $form->id . ');', 'capabilities' => "gravityforms_create_form", 'priority' => 600); $form_actions['trash'] = array('label' => __("Trash", "gravityforms"), 'title' => __("Move this form to the trash", "gravityforms"), 'url' => 'javascript:TrashForm(' . $form->id . ');', 'capabilities' => "gravityforms_delete_forms", 'menu_class' => 'trash', 'priority' => 500); } $form_actions = apply_filters("gform_form_actions", $form_actions, $form->id); echo GFForms::format_toolbar_menu_items($form_actions, true); ?> </div> </td> <td class="column-date"><strong><?php echo $form->view_count; ?> </strong></td> <td class="column-date"> <strong> <?php if ($form->lead_count > 0 && !$trash) { ?> <a href="<?php echo admin_url("admin.php?page=gf_entries&view=entries&id={$form->id}"); ?> "><?php echo $form->lead_count; ?> </a> <?php } else { echo $form->lead_count; } ?> </strong> </td> <td class="column-date"><?php echo $conversion; ?> </td> </tr> <?php } } else { ?> <tr> <td colspan="6" style="padding:20px;"> <?php if ($trash) { echo __("There are no forms in the trash.", "gravityforms"); } else { echo sprintf(__("You don't have any forms. Let's go %screate one%s!", "gravityforms"), '<a href="admin.php?page=gf_new_form">', "</a>"); } ?> </td> </tr> <?php } ?> </tbody> </table> <div class="tablenav"> <div class="alignleft actions" style="padding:8px 0 7px 0;"> <?php if (GFCommon::current_user_can_any("gravityforms_delete_forms")) { ?> <label class="hidden" for="bulk_action2"><?php _e("Bulk action", "gravityforms"); ?> </label> <select name="bulk_action2" id="bulk_action2"> <option value=''> <?php _e("Bulk action", "gravityforms"); ?> </option> <?php if ($trash) { ?> <option value='restore'><?php _e("Restore", "gravityforms"); ?> </option> <option value='delete'><?php _e("Delete permanently", "gravityforms"); ?> </option> <?php } else { ?> <option value='activate'><?php _e("Mark as Active", "gravityforms"); ?> </option> <option value='deactivate'><?php _e("Mark as Inactive", "gravityforms"); ?> </option> <option value='reset_views'><?php _e("Reset Views", "gravityforms"); ?> </option> <option value='delete_entries'><?php _e("Permanently Delete Entries", "gravityforms"); ?> </option> <option value='trash'><?php _e("Move to trash", "gravityforms"); ?> </option> <?php } ?> </select> <?php $apply_button = '<input type="submit" class="button" value="' . __("Apply", "gravityforms") . '" onclick="return gfConfirmBulkAction(\'bulk_action2\');"/>'; echo apply_filters("gform_form_apply_button", $apply_button); } ?> <br class="clear" /> </div> </div> </form> </div> <?php }
protected function is_page($page_name) { return $page_name == GFForms::get_page(); }
<?php add_action('wp', array('GFPayPal', 'maybe_thankyou_page'), 5); GFForms::include_payment_addon_framework(); class GFPayPal extends GFPaymentAddOn { protected $_version = GF_PAYPAL_VERSION; protected $_min_gravityforms_version = '1.9.3'; protected $_slug = 'gravityformspaypal'; protected $_path = 'gravityformspaypal/paypal.php'; protected $_full_path = __FILE__; protected $_url = 'http://www.gravityforms.com'; protected $_title = 'Gravity Forms PayPal Standard Add-On'; protected $_short_title = 'PayPal'; protected $_supports_callbacks = true; private $production_url = 'https://www.paypal.com/cgi-bin/webscr/'; private $sandbox_url = 'https://www.sandbox.paypal.com/cgi-bin/webscr/'; // Members plugin integration protected $_capabilities = array('gravityforms_paypal', 'gravityforms_paypal_uninstall'); // Permissions protected $_capabilities_settings_page = 'gravityforms_paypal'; protected $_capabilities_form_settings = 'gravityforms_paypal'; protected $_capabilities_uninstall = 'gravityforms_paypal_uninstall'; // Automatic upgrade enabled protected $_enable_rg_autoupgrade = true; private static $_instance = null; public static function get_instance() { if (self::$_instance == null) { self::$_instance = new GFPayPal(); }