|  | DiGGy DiGGy
 
  
 Зарегистрирован: 2005-04-04
 Сообщений: 1546
 | Хочу обратить внимание разработчиков системы на следующий баг, который присутствует во всех версиях 2.4 (и даже в лайте  
 Описание ошибки:
 При попытке добавить в системных таблицах поле с указанным значением по умолчанию происходит следующее:
 1. Добавляется запись в таблицу Field с описанием добавленного поля.
 2. В системной таблице не добавляется поле желаемое поле!
 
 Что приводит к нарушению целостности БД. Юзер видет, что поле есть, но самом деле его нет! Со всеми вытекающими последствиями...
 
 Место ошибки - файл /netcat/admin/field/system.inc.php функция ColumnInMessage
 
 Ошибочный код:
 Код:if ($DefaultState!="" && $TypeOfDataID!=3)
 {
 $alter.= " NOT NULL DEFAULT '$DefaultState'";
 }
 else
 {
 if ($NotNull)
 {
 $alter.= " NOT NULL";
 }
 else
 {
 $alter.= " NULL";
 }
 $AlterResult = $db->query($alter) ;
 }
 
 
 Правильный код:
 Код:if ($DefaultState!="" && $TypeOfDataID!=3)
 {
 $alter.= " NOT NULL DEFAULT '$DefaultState'";
 }
 else
 {
 if ($NotNull)
 {
 $alter.= " NOT NULL";
 }
 else
 {
 $alter.= " NULL";
 }
 }
 $AlterResult = $db->query($alter) ;
 
 
 
 Temet nosce... |