Ejemplo n.º 1
0
 public static function init()
 {
     global $pagenow;
     require_once self::get_base_path() . "/edit-form.php";
     if ($pagenow === 'plugins.php' && is_admin()) {
         add_action("admin_notices", array('GFSalesforce', 'is_gravity_forms_installed'), 10);
     }
     if (self::is_gravity_forms_installed(false, false) === 0) {
         add_action('after_plugin_row_' . self::$path, array('GFSalesforce', 'plugin_row'));
         return;
     }
     if ($pagenow == 'plugins.php' || defined('RG_CURRENT_PAGE') && RG_CURRENT_PAGE == "plugins.php") {
         //loading translations
         load_plugin_textdomain('gravity-forms-salesforce', FALSE, '/gravity-forms-salesforce/languages');
         add_filter('plugin_action_links', array('GFSalesforce', 'settings_link'), 10, 2);
     }
     if (!self::is_gravityforms_supported()) {
         return;
     }
     self::$settings = get_option("gf_salesforce_settings");
     if (is_admin()) {
         //loading translations
         load_plugin_textdomain('gravity-forms-salesforce', FALSE, '/gravity-forms-salesforce/languages');
         //creates a new Settings page on Gravity Forms' settings screen
         if (self::has_access("gravityforms_salesforce")) {
             RGForms::add_settings_page("Salesforce", array("GFSalesforce", "settings_page"), self::get_base_url() . "/images/salesforce-50x50.png");
         }
         self::refresh_transients();
     }
     //integrating with Members plugin
     if (function_exists('members_get_capabilities')) {
         add_filter('members_get_capabilities', array("GFSalesforce", "members_get_capabilities"));
     }
     //creates the subnav left menu
     add_filter("gform_addon_navigation", array('GFSalesforce', 'create_menu'));
     if (self::is_salesforce_page()) {
         //enqueueing sack for AJAX requests
         wp_enqueue_script(array("sack"));
         //loading data lib
         require_once self::get_base_path() . "/data.php";
         //loading Gravity Forms tooltips
         require_once GFCommon::get_base_path() . "/tooltips.php";
         add_filter('gform_tooltips', array('GFSalesforce', 'tooltips'));
         //runs the setup when version changes
         self::setup();
     } else {
         if (in_array(RG_CURRENT_PAGE, array("admin-ajax.php"))) {
             //loading data class
             require_once self::get_base_path() . "/data.php";
             add_action('wp_ajax_rg_update_feed_active', array('GFSalesforce', 'update_feed_active'));
             add_action('wp_ajax_gf_select_salesforce_form', array('GFSalesforce', 'select_salesforce_form'));
         } else {
             //handling post submission.
             add_action("gform_after_submission", array('GFSalesforce', 'export'), 10, 2);
         }
     }
     add_action('gform_entry_info', array('GFSalesforce', 'entry_info_link_to_salesforce'), 10, 2);
 }
Ejemplo n.º 2
0
 /**
  * Handle the OAuth response from Salesforce
  *
  * @return void
  */
 public function processSalesforceResponse()
 {
     if (!empty($_GET['code']) && !empty($_GET['display']) && $_GET['display'] === 'page') {
         $settings = self::$settings;
         $salesforceService = self::getSalesforceService();
         // The token's not the same, nor may the endpoint be.
         delete_transient('salesforce_endpoint_token');
         try {
             self::log_debug(sprintf('processSalesforceResponse: Received access code (%s). Now fetching Access Token.', esc_attr($_GET['code'])));
             // This was a callback request from Salesforce, get the token
             $salesforceService->requestAccessToken($_GET['code']);
             unset($settings['error']);
         } catch (Exception $e) {
             self::log_error('processSalesforceResponse: Clearing token, since there was an error.');
             self::clearToken();
             $settings['error'] = self::processErrorMessage($e->getMessage());
             self::log_error('processSalesforceResponse: ' . $settings['error'] . ' [Raw error message: ' . $e->getMessage() . ']');
         }
         update_option("gf_salesforce_settings", $settings);
         self::$settings = $settings;
         // Whether the response worked or not
         wp_redirect(self::link_to_settings(false));
         exit;
     }
 }