public function init() { parent::init(); if (!func::extensionLoaded('apc')) { throw new Exception('CApcCache requires PHP apc extension to be loaded.'); } }
public function __construct($dbtype = '', $dsn = '', $username = '', $password = '') { /** * dsn @example: * "pgsql:host=DB_HOST_SYSGEN dbname=DB_NAME_SYSGEN" * "mysql:host=DB_HOST_SYSGEN;dbname=DB_NAME_SYSGEN" */ $this->_dbtype = $dbtype; //pgsql, mysql, mysqli $this->connectionString = $dsn; $this->username = $username; $this->password = $password; if (!func::extensionLoaded('pdo')) { if (!dl('pdo.so')) { trigger_error('PDO extension is not loaded'); exit; } } }
/** * Расшифровывает данные по ключу. * @param string данные для расшифровки. * @param mixed ключ шифрования. * @param boolen в формате base64. * @return string расшифрованные данные * @throws Exception если PHP Mcrypt расширение не запущено */ public function decrypt($data, $key, $base64 = true) { if (func::extensionLoaded('mcrypt')) { if ($base64) { $data = base64_decode($data); } $module = mcrypt_module_open(MCRYPT_3DES, '', MCRYPT_MODE_CBC, ''); $key = substr(md5($key), 0, mcrypt_enc_get_key_size($module)); $ivSize = mcrypt_enc_get_iv_size($module); $iv = substr($data, 0, $ivSize); mcrypt_generic_init($module, $key, $iv); $decrypted = mdecrypt_generic($module, substr($data, $ivSize)); mcrypt_generic_deinit($module); mcrypt_module_close($module); return rtrim($decrypted, ""); } else { throw new Exception('SecurityClass requires PHP mcrypt extension to be loaded in order to use data encryption feature.'); } }