示例#1
0
 /**
  * @copydoc DBDataSet::loadData
  */
 protected function loadData()
 {
     // Для действия main не выводим данные
     // Для действия save определяем другой формат данных
     if ($this->getState() == self::DEFAULT_STATE_NAME or $this->getState() == 'move') {
         $result = false;
     } elseif ($this->getState() == 'save') {
         if (!isset($_POST[$this->getTableName()])) {
             throw new SystemException('ERR_NO_DATA', SystemException::ERR_CRITICAL);
         }
         $data = $_POST[$this->getTableName()];
         //Приводим данные к стандартному виду
         $result = [$data];
         if ($this->getTranslationTableName()) {
             if (!isset($_POST[$this->getTranslationTableName()])) {
                 throw new SystemException('ERR_NO_DATA', SystemException::ERR_CRITICAL);
             }
             $result = [];
             $multidata = $_POST[$this->getTranslationTableName()];
             foreach ($multidata as $langID => $langValues) {
                 $idx = arrayPush($result, $data);
                 $result[$idx]['lang_id'] = $langID;
                 foreach ($langValues as $fieldName => $fieldValue) {
                     $result[$idx][$fieldName] = $fieldValue;
                 }
             }
         }
     } else {
         $result = parent::loadData();
     }
     return $result;
 }