Esempio n. 1
0
 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;
 }