Пример #1
0
 /**
  * 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();
     }
 }