function actionDefault() { // Show the current object YDDebugUtil::dump($this, 'Original object before encryption'); // Get the serialized version of ourselves //$data = $this->serialize(); YDDebugUtil::dump($this, 'Input data'); // Show the password we are using YDDebugUtil::dump(YD_SELF_SCRIPT, 'Encryption password'); // Encrypt the data $data_encrypted = YDEncryption::encrypt(YD_SELF_SCRIPT, $this); YDDebugUtil::dump($data_encrypted, 'Encrypted data'); // Decrypt the data $data_decrypted = YDEncryption::decrypt(YD_SELF_SCRIPT, $data_encrypted); //YDDebugUtil::dump( $data_decrypted, 'Decrypted data' ); // Show the decrypted object YDDebugUtil::dump($data_decrypted, 'Original object after decryption'); }
/** * This function returns a variable from the configuration. If the configuration variable doesn't exist or it's * a wrong password, it returns the default value if this value isn't null, otherwise returns a fatal error. * * @param $name The name of the configuration variable to retrieve. * @param $default (optional) If not null, this value will be returned if the configuration setting doesn't * exist in the configuration. * @param $passwd (optional) If not null, the data will be decrypted with this password. * * @returns The value of the configuration variable. */ function get($name, $default = null, $passwd = null) { // Initialize the store YDPersistent::_init(); // If the $_GET variable exists, return that one if (YDConfig::get('YD_ALLOW_OVERRIDE_QS', false) === true) { if (isset($_GET[$name]) === true) { YDPersistent::set($name, $_GET[$name], $passwd); } } // Check if the key exists if (!YDPersistent::exists($name)) { // Check if we have a default, if not, raise an error if (!is_null($default)) { return $default; } else { trigger_error('Persistent variable "' . $name . '" is not defined.', YD_ERROR); } } // Get the value $obj = $_COOKIE[YDConfig::get('YD_PERSISTENT_STORE_NAME')][$name]; // Decrypt the data if needed if (is_null($passwd) && !is_null(YDConfig::get('YD_PERSISTENT_DEFAULT_PASSWORD', null))) { $passwd = YDConfig::get('YD_PERSISTENT_DEFAULT_PASSWORD', null); } if (!is_null($passwd)) { $obj = YDEncryption::decrypt($passwd, $obj); } // Now, we need to base64 decode and unserialize $obj = @unserialize(base64_decode($obj)); // Return the default if decryption failed if (!$obj && !is_null($default)) { return $default; } // Return the object return $obj; }
/** * Decrypt data. * * @param $passwd The password to use for the encryption * @param $data The data to decrypt. Should be formatted as base64. * * @returns The decrypted data. * * @static */ function decrypt($passwd, $data) { return @unserialize(YDEncryption::_encrypt($passwd, base64_decode($data))); }
/** * This function will check if there is a product in the cart. * * @param $id Product ID. * * @returns Boolean indicating if the product is already in the cart. */ function inCart($id) { return array_key_exists(YDEncryption::encrypt(YDConfig::get('YD_CART_PASSWORD'), $id), $this->item); }