Он и не повторяется - дублируется уникальный ключ type для поляrxu писал(а):Идентификатор не может повторяться
notification_type_name
Сразу после установки? В таблице или в списке в личке?rxu писал(а):установил ThanksForPosts, появились 2 типа уведомлений от него
Попробовал повторить на локалке. Очистил таблицу, запустил скрипт отсылающий уведомление - в таблице появилась одна запись. Запустил другой скрипт, отсылающий уведомление второго типа - появилась вторя запись. Зашел в личку - в списке типы уведомлений
- Уведомления о сообщениях
- В теме, помещённой в закладки, появились новые сообщения
- В теме, на которую вы подписаны, появились новые сообщения
- Вас процитировали в сообщении
- В форуме, на который вы подписаны, появились новые темы
Уведомления о модерации - Сообщение или тема требуют одобрения
- Жалобы на сообщения
- Ожидает регистрации позывного
Прочие уведомления
Вам отправлено личное сообщение - Позывной был зарегистрирован
- Позывной был отклонен
, при этом в таблице только два. Нажал кнопку "Отправить"
Код: Выделить всё
Duplicate entry 'sheer.callsign.notification.type.approve' for key 'type' [1062]
SQL
INSERT INTO phpbb_notification_types (notification_type_name, notification_type_enabled) VALUES ('sheer.callsign.notification.type.approve', 1)
BACKTRACE
FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()
FILE: [ROOT]/phpbb/db/driver/driver.php
LINE: 855
CALL: trigger_error()
FILE: [ROOT]/phpbb/db/driver/mysql.php
LINE: 181
CALL: phpbb\db\driver\driver->sql_error()
FILE: [ROOT]/phpbb/db/driver/factory.php
LINE: 329
CALL: phpbb\db\driver\mysql->sql_query()
FILE: [ROOT]/phpbb/notification/manager.php
LINE: 928
CALL: phpbb\db\driver\factory->sql_query()
FILE: [ROOT]/phpbb/notification/type/base.php
LINE: 133
CALL: phpbb\notification\manager->get_notification_type_id()
FILE: [ROOT]/phpbb/notification/manager.php
LINE: 884
CALL: phpbb\notification\type\base->set_notification_manager()
FILE: [ROOT]/phpbb/notification/manager.php
LINE: 860
CALL: phpbb\notification\manager->load_object()
FILE: [ROOT]/phpbb/notification/manager.php
LINE: 536
CALL: phpbb\notification\manager->get_item_type_class()
FILE: [ROOT]/phpbb/notification/manager.php
LINE: 630
CALL: phpbb\notification\manager->get_subscription_types()
FILE: [ROOT]/includes/ucp/ucp_notifications.php
LINE: 43
CALL: phpbb\notification\manager->get_global_subscriptions()
FILE: [ROOT]/includes/functions_module.php
LINE: 674
CALL: ucp_notifications->main()
FILE: [ROOT]/ucp.php
LINE: 353
CALL: p_master->load_active()
notifications
записи появились, то есть уведомление было отправлено, а в таблице типов записи от типе этого уведомления нет! Снес расширение, установил заново, запустил скрипт - в таблице типов появилась новая запись о новом типе уведомлений. Зашел в личку - все на месте, нажал "Отправить" - без ошибок.Положа руку на сердце, я не понимаю, зачем разработчики все так усложнили с этими уведомлениями - почему нельзя было заполнить таблицу во время установки? Почему для расширений не сделать было добавление типов аналогично добавлению значений конфигурации, ну или хотя бы кастомной функцией добавления типов? Зачем это комлание? Какой потаённый смысл во всем этом?