Sorry, I had a typo in the original post...model function should be as
follows:
Model:
function save($data = null, $validate = true, $fieldList =
array())
{
if(isset($data['Model']['field']) && $data['Model']
['field'])
{
$data['Model']['field'] = $this->enCrypt($data
['Model']
['field']);
}
return parent::save($data, $validate, $fieldList);
}
On Jul 8, 11:46 am, mehodgson <[email protected]> wrote:
> I am having a weird problem with a new model behavior I am trying to
> implement. When I try to pass a value ($data) into the model behavior
> function the passed value is replaced with the model object. The
> passed value is a string before $this->enCrypt() is called, but within
> the behavior function $data contains the model's object. Here is my
> code:
>
> Model:
>
> function save($data = null, $validate = true, $fieldList = array())
> {
> if(isset($data['Model']['field']) && $data['Model']['field'])
> {
> $data['Model']['field'] =
> $this->enCryptCC($data['Model']
> ['field']);
> }
>
> return parent::save($data, $validate, $fieldList);
> }
>
> Behavior:
>
> class GlobalBehavior extends ModelBehavior {
>
> function enCrypt($data = null)
> {
> if ($data != null) {
> $td = mcrypt_module_open('cast-256', '', 'ecb', '');
> $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td),
> MCRYPT_RAND);
> mcrypt_generic_init($td, ENCRYPT_KEY, $iv);
> $encrypted_data = mcrypt_generic($td, $data);
> $encoded = base64_encode($encrypted_data);
> if (!mcrypt_generic_deinit($td) || !mcrypt_module_close
> ($td)) {
> $encoded = false;
> }
> } else {
> $encoded = false;
> }
> return $encoded;
> }
>
> function deCrypt($data = null)
> {
> if ($data != null) {
> $data = (string) base64_decode(trim($data));
> $td = mcrypt_module_open('cast-256', '', 'ecb', '');
> $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td),
> MCRYPT_RAND);
> mcrypt_generic_init($td, ENCRYPT_KEY, $iv);
> $data = (string) trim(mdecrypt_generic($td, $data));
> if (!mcrypt_generic_deinit($td) || !mcrypt_module_close
> ($td)) {
> $data = false;
> }
> } else {
> $data = false;
> }
> return $data;
> }
>
> }
>
> Anybody have any ideas what is happening?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"CakePHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---