X-Git-Url: http://git.roojs.org/?p=Pman.Core;a=blobdiff_plain;f=DataObjects%2FCore_setting.php;h=b09acb20351bdde6c18bd1c69cbff05187929672;hp=5dd671ee18d8074d590e8dfdbb58a4f2fa868d98;hb=cd0367f0b1c72b3bf7140f594c7e54ef2ed94c9e;hpb=749811b7dd0dfdfd957545a2ea1cef94057d7df5 diff --git a/DataObjects/Core_setting.php b/DataObjects/Core_setting.php index 5dd671ee..b09acb20 100644 --- a/DataObjects/Core_setting.php +++ b/DataObjects/Core_setting.php @@ -64,8 +64,6 @@ class Pman_Core_DataObjects_Core_setting extends DB_DataObject // should not be sending this the values.. function initSetting($a) { - $dir = $this->getKeyDirectory(); - if(empty($a)) { return; } @@ -105,8 +103,26 @@ class Pman_Core_DataObjects_Core_setting extends DB_DataObject if(!$pub_key) { return; } - openssl_public_encrypt($v, $cipher, $pub_key); - return $cipher; + openssl_public_encrypt($v, $ciphertext, $pub_key); + return $ciphertext; + } + + function decrypt($v) + { + $key_dir = "{$this->getKeyDirectory()}/pri.key"; + + if(!file_exists($key_dir)) { + print_r("Cannot find {$key_dir}"); + exit; + } + + $pri_key = file_get_contents($key_dir); + if(!$pri_key) { + return; + } + + openssl_private_decrypt($v, $plaintext, $pri_key); + return $plaintext; } function checkWritable($cls_name,$func_name,$dir)