Example #1
0
 /**
  * Run all parts of cookie/price tests setup
  *
  * @since 1.1.0
  *
  * @return bool
  */
 public static function run()
 {
     if (false == ingot_is_front_end()) {
         return false;
     }
     $all_cookies = $cookies = array();
     if (INGOT_DEV_MODE) {
         if (isset($_COOKIE) && is_array($_COOKIE)) {
             $all_cookies = $_COOKIE;
         }
         $cookies = init::create($all_cookies);
         self::setup_cookies($cookies);
     }
     /**
      * Fires after Ingot Cookies Are Set
      *
      * Note: will fire if they were set empty
      * Should happen at init:25
      *
      * @since 0.0.9
      *
      * @param \ingot\testing\cookies\init $cookies Cookies object
      */
     do_action('ingot_cookies_set', $cookies);
     return true;
 }
Example #2
0
 /**
  * Loads ingot if not already loaded.
  *
  * @since 0.0.5
  */
 public static function maybe_load()
 {
     if (did_action('ingot_loaded')) {
         return;
     }
     if (!defined('INGOT_DEV_MODE')) {
         /**
          * Puts Ingot into dev mode
          *
          * Don't use on a live site -- makes API totally open
          *
          * @since 0.0.5
          */
         define('INGOT_DEV_MODE', false);
     }
     $load = true;
     if (!version_compare(PHP_VERSION, '5.5.0', '>=')) {
         $load = false;
     }
     $autoloader = dirname(__FILE__) . '/vendor/autoload.php';
     if (!file_exists($autoloader)) {
         $load = false;
     }
     if ($load) {
         include_once $autoloader;
         self::maybe_add_tables();
         self::maybe_upgrade();
         self::maybe_load_trial();
         if (\ingot\testing\db\delta::check_if_tables_exist()) {
             ingot\testing\ingot::instance();
             //make admin go in admin
             if (is_admin()) {
                 new ingot\ui\make();
             }
             if (ingot_is_front_end() || ingot_is_admin_ajax()) {
                 //setup destination tests
                 $destination_tests = \ingot\testing\tests\click\destination\init::set_tracking();
                 //run cookies
                 add_action('ingot_loaded', function () {
                     /**
                      * Disable running cookies
                      *
                      * @since 1.1.0
                      *
                      * @param bool $run
                      */
                     if (true == (bool) apply_filters('ingot_run_cookies', true) && !did_action('ingot_cookies_set')) {
                         if (!empty($destination_tests)) {
                             \ingot\testing\tests\click\destination\init::setup_cookies($destination_tests);
                         }
                         \ingot\testing\cookies\set::run();
                     }
                 });
             }
             /**
              * Runs when Ingot has loaded.
              *
              * @since 0.0.5
              */
             do_action('ingot_loaded');
         } else {
             if (is_admin()) {
                 printf('<div class="error"><p>%s</p></div>', __('Ingot Not Loaded', 'ingot'));
             }
             /**
              * Runs if Ingot failed to load
              *
              * @since 0.3.0
              *
              */
             do_action('ingot_loaded_failed');
             return;
         }
     }
 }
Example #3
0
 /**
  * Inititialize Ingot session
  *
  * @uses "parse_request"
  *
  * @since 0.3.0
  */
 public function init_session()
 {
     if (ingot_is_front_end() && !ingot_is_no_testing_mode() && !ingot_is_admin_ajax() && !is_admin() && !ingot_is_rest_api()) {
         $id = null;
         if (isset($_GET['ingot_session_ID']) && ingot_verify_session_nonce(helpers::v('ingot_session_nonce', $_GET, ''))) {
             $id = helpers::v('ingot_session_ID', $_GET, null);
         }
         $session = new \ingot\testing\object\session($id);
         $session_data = $session->get_session_info();
         /**
          * Fired when Ingot session is setup at parse_request
          *
          * @since 0.3.0
          *
          * @param array $session_data has ID (session ID) and ingot_ID
          */
         do_action('ingot_session_initialized', $session_data);
         $this->current_session_data = $session_data;
     }
 }
Example #4
0
 /**
  * Setup our cookies
  *
  * @uses "init"
  *
  * @since 0.0.9
  */
 public static function init_cookies()
 {
     return;
     if (false == ingot_is_front_end()) {
         return false;
     }
     $cookies = array();
     if (isset($_COOKIE) && is_array($_COOKIE)) {
         $cookies = $_COOKIE;
     }
     $cookies = new ingot\testing\cookies\init($cookies);
     $ingot_cookies = $cookies->get_ingot_cookie();
     if (!empty($ingot_cookies)) {
         $cookie_time = 15 * DAY_IN_SECONDS;
         /**
          * Change cookie time
          *
          * @since 0.2.0
          *
          * @param int $cookie_time Length to keep cookie. Default is 15 days
          */
         $cookie_time = apply_filters('ingot_cookie_time', $cookie_time);
         $cookie_name = $cookies->get_cookie_name();
         setcookie($cookie_name, $ingot_cookies, time() + $cookie_time, COOKIEPATH, COOKIE_DOMAIN, false);
     }
     /**
      * Fires after Ingot Cookies Are Set
      *
      * Note: will fire if they were set empty
      * Should happen at init:25
      *
      * @since 0.0.9
      *
      * @param \ingot\testing\cookies\init $cookies Cookies object
      */
     do_action('ingot_cookies_set', $cookies);
 }