/** * Build all objects action */ public function buildallAction() { $this->_checkCanEdit(); $names = Request::post('names', 'array', false); if (empty($names)) { Response::jsonError($this->_lang->WRONG_REQUEST); } $flag = false; /* * remove foreign keys */ foreach ($names as $name) { try { $builder = new Db_Object_Builder($name); if (!$builder->buildForeignKeys(true, false)) { $flag = true; } } catch (Exception $e) { $flag = true; } } if (Db_Object_Builder::foreignKeys()) { /* * build only fields */ foreach ($names as $name) { try { $builder = new Db_Object_Builder($name); $builder->build(false); } catch (Exception $e) { $flag = true; } } /* * Add foreign keys */ foreach ($names as $name) { try { $builder = new Db_Object_Builder($name); if (!$builder->buildForeignKeys(true, true)) { $flag = true; } } catch (Exception $e) { $flag = true; } } } else { foreach ($names as $name) { try { $builder = new Db_Object_Builder($name); $builder->build(); } catch (Exception $e) { $flag = true; } } } if ($flag) { Response::jsonError($this->_lang->CANT_EXEC); } else { Response::jsonSuccess(); } }