public function __construct() { $config = Config::get('application'); Session::start(); if (get_magic_quotes_gpc()) { function stripslashes_deep($value) { $value = is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value); return $value; } $_POST = stripslashes_deep($_POST); $_GET = stripslashes_deep($_GET); $_COOKIE = stripslashes_deep($_COOKIE); $_REQUEST = stripslashes_deep($_REQUEST); } if (isset($config['response']['defaultHeaders'])) { foreach ($config['response']['defaultHeaders'] as $header) { header($header); } } AbstractDb::$useMemcacheForMetadata = $config['useCache']; Object::$debug = MySQL::$monitorQueries = $config['debug']; Db::setConfig(Config::get('database')); $this->initialize(); }
protected function dbChange(Object $item, $id = null) { // TODO: $this->setPKValue($id) instead "$PKName[0]" or some else $PKName = $item->getPKFieldName(); $PKName = $PKName[0]; if ($id !== null) { $item->{$PKName} = $id; } $method = $id === null ? 'create' : 'save'; $addVals = $this->defaultValuesOnDbChange($id); if (is_array($addVals)) { $vals = array_merge($_POST, $addVals); } else { $vals = $_POST; } $changed = $item->{$method}($vals); if ($changed === false) { if ($item->error_number == 1062) { $this->template->vars['errors'][] = 'Такая запись существует или находится в Корзине.'; } else { throw new SqlException($item->error_message, 9999, $item->error_number); } } return $changed; }