Cell
NoDeny
Спец
Карма: 52
Offline
Сообщений: 1407
|
|
« Ответ #1245 : 07 Декабря 2020, 23:07:51 » |
|
Возникла небольщая проблема. При модификации записи админа возникает ощибка: Field 'comment' doesn't have a default value
{ 'sql' => 'INSERT INTO users SET modify_time=UNIX_TIMESTAMP(), grp=0, name=CONCAT(\'__\', FLOOR(RAND()*10000000)), passwd=\'-\', contract=\'\', fio=\'\'', 'param' => [] }; INSERT INTO users SET modify_time=UNIX_TIMESTAMP(), grp=0, name=CONCAT('__', FLOOR(RAND()*10000000)), passwd='-', contract='', fio='' Подскажите, что это за ошибка и как ее решить? Ну тут два пути, первый - найти этот запрос в скрипте и добавить в него comment='' но это мне кажется плохое решение... Второй вариант добавить значение по умолчанию в поле comment таблицы users. С первого взгляда может показаться что это ошибка программирования, но на самом деле это косяк, напрямую зависящий от криворуких девелоперов мускула, которые от версии к версии как хочут так и дрочут. Скорее всего в вашем варианте тип данных поля comment не поддерживает дефолтное значение, но в более ранних версиях мускула это было возможно. Вот и все дела.
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #1246 : 08 Декабря 2020, 00:30:22 » |
|
Все правильно. И давай посмотрим имеет ли comment дефолтовое значение:
|
|
|
Записан
|
|
|
|
Nafanya
NoDeny
Старожил
Карма: 1
Offline
Сообщений: 459
|
|
« Ответ #1247 : 08 Декабря 2020, 08:40:23 » |
|
Все правильно. И давай посмотрим имеет ли comment дефолтовое значение: root@localhost [nodeny]> show create table users; +-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Table | Create Table | +-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | users | CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(64) NOT NULL DEFAULT '', `passwd` varbinary(64) NOT NULL, `grp` tinyint(4) unsigned NOT NULL DEFAULT '0', `contract` tinytext NOT NULL, `contract_date` int(10) unsigned NOT NULL DEFAULT '0', `state` enum('off','on') NOT NULL DEFAULT 'on', `balance` float(10,2) NOT NULL DEFAULT '0.00', `limit_balance` float(6,2) NOT NULL DEFAULT '0.00', `block_if_limit` tinyint(4) NOT NULL DEFAULT '0', `modify_time` int(11) NOT NULL DEFAULT '0', `fio` tinytext NOT NULL, `discount` tinyint(4) NOT NULL DEFAULT '0', `cstate` int(11) NOT NULL DEFAULT '0', `cstate_time` int(10) unsigned NOT NULL DEFAULT '0', `comment` text NOT NULL, `lstate` tinyint(4) NOT NULL DEFAULT '0', `swport` int(11) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`), KEY `state` (`state`) ) ENGINE=InnoDB AUTO_INCREMENT=1474 DEFAULT CHARSET=utf8 | +-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)
Вижу, что пустое значение.
|
|
|
Записан
|
Кому то Бог дал ручки, а кому то - грабельки.
|
|
|
Cell
NoDeny
Спец
Карма: 52
Offline
Сообщений: 1407
|
|
« Ответ #1248 : 08 Декабря 2020, 12:28:09 » |
|
Вижу, что пустое значение.
Не правильно, дефолтного значения нет, зато нахренато стоит NOT NULL
|
|
|
Записан
|
|
|
|
Nafanya
NoDeny
Старожил
Карма: 1
Offline
Сообщений: 459
|
|
« Ответ #1249 : 08 Декабря 2020, 18:10:10 » |
|
Вижу, что пустое значение.
Не правильно, дефолтного значения нет, зато нахренато стоит NOT NULL Эти руки ничего не делали...
|
|
|
Записан
|
Кому то Бог дал ручки, а кому то - грабельки.
|
|
|
Efendy
|
|
« Ответ #1250 : 08 Декабря 2020, 21:13:28 » |
|
alter table users change comment comment varchar(8192) NOT NULL DEFAULT ''; P.S Всегда делаем бекапы
|
|
|
Записан
|
|
|
|
Nafanya
NoDeny
Старожил
Карма: 1
Offline
Сообщений: 459
|
|
« Ответ #1251 : 08 Декабря 2020, 22:08:34 » |
|
alter table users change comment comment varchar(8192) NOT NULL DEFAULT ''; P.S Всегда делаем бекапы Помогло, спасибо. Попустило. А бекапы делаю каждые полчаса.
|
|
|
Записан
|
Кому то Бог дал ручки, а кому то - грабельки.
|
|
|
Jovani
NoDeny
Постоялец
Карма: -9
Offline
Сообщений: 234
|
|
« Ответ #1252 : 21 Января 2021, 08:52:12 » |
|
Спрашивали о данной проблеме тут http://forum.nodeny.com.ua/index.php?topic=2703.195 но так толком и не было ответа, кроме отката. Заметил что в сеансах авторизации на странице клиента сохраняет только текущий сеанс, если переавторизировать то записи прошлой авторизации не сохраняет(то есть у некоторых сохраняет, но у всех записях длительность меньше минуты) , и появляется уже только текущая сессия. И еще заметил если жестко вытянуть устройство с питания то в билинге показывает авторизацию еще длительное время. и пока не истечет время не можем подключится повторно, даже если удалить сессию PPPOE на микротике. В чем может быть проблема? loading /usr/local/nodeny/sat.cfg
MODULE AUTORUN? auth YES authserver - authtraf - balance YES cap YES capremind - collectors - dhcp - make_config - mmm YES notifications - pingserver - ponmon - remindsms YES services YES ses_traf - stop_service YES system_check YES system_clean YES tmppays YES websession YES
root@nodenyplus:/usr/local/nodeny # ps -ax | grep noke 526 v0- S 541:15.08 /usr/bin/perl /usr/local/nodeny/nokernel.pl -m=pingserver -d 527 v0- S 688:03.30 /usr/bin/perl /usr/local/nodeny/nokernel.pl -m=notifications -d 97581 1- S 6484:51.12 perl /usr/local/nodeny/nokernel.pl -d 40162 2 S 0:03.98 /usr/bin/perl /usr/local/nodeny/nokernel.pl -m=ponmon -d
|
|
« Последнее редактирование: 21 Января 2021, 09:42:34 от Jovani »
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #1253 : 21 Января 2021, 23:01:27 » |
|
Покажи конфиги радиуса и процедуры mysql. На всякий случай, я уже устал просто, до многих не доходит: покажи. Это не значит, что надо давать ссылку на доку с комментарием "у меня так же"
|
|
|
Записан
|
|
|
|
Jovani
NoDeny
Постоялец
Карма: -9
Offline
Сообщений: 234
|
|
« Ответ #1254 : 22 Января 2021, 13:01:06 » |
|
Спасибо. Проблема была в процедуре radstop, подправили, наблюдаем.
|
|
|
Записан
|
|
|
|
md5
NoDeny
Старожил
Карма: 0
Offline
Сообщений: 256
|
|
« Ответ #1255 : 30 Января 2021, 13:25:40 » |
|
Доброго времени суток!
Комментарий для админа не устанавливается для дополнительных категорий платежей
|
|
|
Записан
|
|
|
|
Gosha
|
|
« Ответ #1256 : 27 Февраля 2021, 13:04:50 » |
|
В кабинете клиента услуги отображаются списком рандомно, при каждом входе. Как можно услуги установить в постоянном состоянии?
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #1257 : 28 Февраля 2021, 17:53:30 » |
|
Сделал для некст (еще не выложил). Вот diff для тех, кто хочет портировать в plus: Index: web/Pay.pl =================================================================== --- web/Pay.pl (revision 635) +++ web/Pay.pl (working copy) @@ -438,11 +438,17 @@ title => $v, decode => sub { my($reason, $pay, $param, $comment) = @_; - my $for_all = L('Категория').': '.$v; - $for_all .= _('[div small_msg]', $comment) if $comment; + my $for_usr = L('Категория').': '.$v; + $for_usr .= _('[div small_msg]', $comment) if $comment; + my $for_adm = $for_usr; + my $p = _eval( $reason ); + if( ref $p && $p->{adm_message} ne '' ) + { + $for_adm .= _('[br]').L('Комментарий для администрации')._(':[div small_msg]', $p->{adm_message}); + } return { - for_adm => $for_all, - for_usr => $for_all, + for_adm => $for_adm, + for_usr => $for_usr, }; }, }; Index: web/ajPayComment.pl =================================================================== --- web/ajPayComment.pl (revision 634) +++ web/ajPayComment.pl (working copy) @@ -112,7 +112,7 @@ my $reason = $p{reason};
{ - ($p{category} =~ /^(1|2|4|5)$/ && $adm_message ne '') or last; + ($p{category} =~ /^(1|2|4|5|6.|7.|8.)$/ && $adm_message ne '') or last; $_ = $reason ne ''? Debug->do_eval($reason) : {}; $_ or last; $_->{adm_message} = $adm_message; Index: web/ajPayCreate.pl =================================================================== --- web/ajPayCreate.pl (revision 634) +++ web/ajPayCreate.pl (working copy) @@ -243,7 +243,7 @@
$buttons{adm_message} = { order=>90, button=>$url->a(L('Дополнительно...'), a=>'ajPayComment', pay_id=>$pay_id, -ajax=>1, -class=>'nav') - } if $pay->{category} =~ /^(1|2|4|5)$/; + } if $pay->{category} =~ /^(1|2|4|5|6.|7.|8.)$/;
# Сообщение об успешности платежа, см. %types my $text = _('[p bold h_center]', $pay->{msg});
|
|
|
Записан
|
|
|
|
md5
NoDeny
Старожил
Карма: 0
Offline
Сообщений: 256
|
|
« Ответ #1258 : 12 Марта 2021, 15:13:42 » |
|
в 50й версии были логи по изменению маков и айпишников...
сейчас у меня каспер завелся какой то... у клиентов стали пропадать ip с учеток... (статические) естественно никто не признаеться, специально это делает либо нет
как отследить мне кто отвязал айпишник ? либо заменил мак ?
|
|
|
Записан
|
|
|
|
Cell
NoDeny
Спец
Карма: 52
Offline
Сообщений: 1407
|
|
« Ответ #1259 : 12 Марта 2021, 15:36:43 » |
|
Я тоже сталкивался с таким. Спрашивают люди, как узнать кто сменил ип или мак? Есть просто нечистоплотные операторы, которые мухлюют со своими друзьями. Все все понимают, а конкретно "какие у фас докасателстфа?" и все тут. Нужно логгировать хотя бы в файл действий в вебе.
|
|
|
Записан
|
|
|
|
|