diff --git a/.gitignore b/.gitignore index 3d382e68..3fe4286e 100644 --- a/.gitignore +++ b/.gitignore @@ -57,6 +57,9 @@ sync-exclude.txt copy-dist-exclude.txt tmpclaude-* +# Cursor +.cursor/ + # PHPStan (local config with machine-specific paths) phpstan.neon phpstan-baseline.neon diff --git a/core/components/minishop3/lexicon/en/customer.inc.php b/core/components/minishop3/lexicon/en/customer.inc.php index 4bf69e7e..5c6f5891 100644 --- a/core/components/minishop3/lexicon/en/customer.inc.php +++ b/core/components/minishop3/lexicon/en/customer.inc.php @@ -63,7 +63,7 @@ $_lang['ms3_customer_err_field_not_allowed'] = 'This field cannot be changed through the quick profile endpoint'; // Email Verification -$_lang['ms3_customer_email_verified'] = 'Email successfully verified'; +$_lang['ms3_customer_email_verify_success'] = 'Email successfully verified'; $_lang['ms3_customer_err_email_verification_invalid'] = 'Invalid or expired verification token'; $_lang['ms3_email_verification_sent'] = 'Verification email has been sent'; $_lang['ms3_email_verification_cooldown'] = 'Please wait [[+seconds]] seconds before requesting another email'; @@ -115,7 +115,6 @@ // Customer Account Pages $_lang['ms3_customer_err_invalid_service'] = 'Unknown service: [[+service]]'; $_lang['ms3_customer_account_title'] = 'My Account'; -$_lang['ms3_customer_logout'] = 'Logout'; $_lang['ms3_customer_err_validation'] = 'Validation error'; // Unauthorized Page diff --git a/core/components/minishop3/lexicon/en/default.inc.php b/core/components/minishop3/lexicon/en/default.inc.php index 2a79dfe9..8fea2721 100644 --- a/core/components/minishop3/lexicon/en/default.inc.php +++ b/core/components/minishop3/lexicon/en/default.inc.php @@ -23,7 +23,6 @@ $_lang['ms3_orders_desc'] = 'Order management'; $_lang['ms3_customers'] = 'Customers'; $_lang['ms3_customers_desc'] = 'Customer management'; -$_lang['ms3_orders_desc'] = 'Customer management'; $_lang['ms3_settings'] = 'Settings'; $_lang['ms3_settings_intro'] = 'Shop settings management panel. Here you can specify payment methods, delivery methods and order statuses.'; $_lang['ms3_settings_desc'] = 'Order statuses, payment and delivery parameters'; @@ -178,7 +177,6 @@ $_lang['ms3_err_status_nf'] = 'Status with this identifier not found.'; $_lang['ms3_err_delivery_nf'] = 'Delivery method with this identifier not found.'; $_lang['ms3_err_payment_nf'] = 'Payment method with this identifier not found.'; -$_lang['ms3_err_payment_nf'] = 'Payment method with this identifier not found.'; $_lang['ms3_err_status_final'] = 'Final status is set. It cannot be changed.'; $_lang['ms3_err_status_fixed'] = 'Fixed status is set. You cannot change it to earlier one.'; $_lang['ms3_err_status_wrong'] = 'Invalid order status.'; diff --git a/core/components/minishop3/lexicon/en/manager.inc.php b/core/components/minishop3/lexicon/en/manager.inc.php index 2841e762..d16723db 100644 --- a/core/components/minishop3/lexicon/en/manager.inc.php +++ b/core/components/minishop3/lexicon/en/manager.inc.php @@ -278,29 +278,6 @@ $_lang['ms3_extrafields_create'] = 'Create field in DB'; $_lang['ms3_extrafields_created'] = 'Field configuration in DB'; -// Vue field management widget -$_lang['ms3_vue_sections'] = 'Sections'; -$_lang['ms3_vue_fields'] = 'Fields'; -$_lang['ms3_vue_section_add'] = 'Add Section'; -$_lang['ms3_vue_section_delete'] = 'Delete'; -$_lang['ms3_vue_section_delete_confirm_title'] = 'Confirm Deletion'; -$_lang['ms3_vue_section_delete_confirm_message'] = 'Are you sure you want to delete this section?'; -$_lang['ms3_vue_section_delete_btn'] = 'Yes, Delete'; -$_lang['ms3_vue_section_cancel_btn'] = 'Cancel'; -$_lang['ms3_vue_save_changes'] = 'Save Changes'; -$_lang['ms3_vue_save_success'] = 'Success'; -$_lang['ms3_vue_save_error'] = 'Error'; -$_lang['ms3_vue_sections_saved'] = 'Sections saved'; -$_lang['ms3_vue_section_deleted'] = 'Section deleted'; -$_lang['ms3_vue_loading'] = 'Loading...'; -$_lang['ms3_vue_error_loading_sections'] = 'Error loading sections'; -$_lang['ms3_vue_error_deleting_section'] = 'Error deleting section'; -$_lang['ms3_vue_error_saving_sections'] = 'Error saving sections'; -$_lang['ms3_vue_visible'] = 'Visibility'; -$_lang['ms3_vue_section_key'] = 'Key'; -$_lang['ms3_vue_section_label'] = 'Label'; -$_lang['ms3_vue_actions'] = 'Actions'; - // Vue Import Widget $_lang['ms3_import_step_upload'] = 'Upload File'; $_lang['ms3_import_step_mapping'] = 'Configure Mapping'; diff --git a/core/components/minishop3/lexicon/en/notifications.inc.php b/core/components/minishop3/lexicon/en/notifications.inc.php index 17da5b85..7e120645 100644 --- a/core/components/minishop3/lexicon/en/notifications.inc.php +++ b/core/components/minishop3/lexicon/en/notifications.inc.php @@ -48,7 +48,7 @@ $_lang['ms3_notification_created'] = 'Notification created successfully'; $_lang['ms3_notification_updated'] = 'Notification updated successfully'; $_lang['ms3_notification_deleted'] = 'Notification deleted'; -$_lang['ms3_notification_enabled'] = 'Notification enabled'; +$_lang['ms3_notification_was_enabled'] = 'Notification enabled'; $_lang['ms3_notification_disabled'] = 'Notification disabled'; $_lang['ms3_notification_delete_confirm'] = 'Are you sure you want to delete this notification?'; diff --git a/core/components/minishop3/lexicon/en/product.inc.php b/core/components/minishop3/lexicon/en/product.inc.php index 0d1a25f6..ca2f3229 100644 --- a/core/components/minishop3/lexicon/en/product.inc.php +++ b/core/components/minishop3/lexicon/en/product.inc.php @@ -109,7 +109,6 @@ $_lang['ms3_product_source_help'] = 'Media source that stores product images.'; $_lang['ms3_product_source_id'] = 'Media Source'; $_lang['ms3_product_source_id_help'] = 'Media source that stores product images.'; -$_lang['ms3_product_change_source_confirm'] = 'Are you sure you want to change the media source? WARNING: All changes will be saved, make sure you are ready to proceed.'; $_lang['ms3_product_count'] = 'Quantity'; $_lang['ms3_product_options'] = 'Product Options'; @@ -197,26 +196,3 @@ $_lang['ms3_product_change_source_confirm'] = 'Are you sure you want to change the media source? The page will be reloaded.'; $_lang['ms3_product_data_vue'] = 'Product Data (Vue)'; - -// Vue field management widget -$_lang['ms3_vue_sections'] = 'Sections'; -$_lang['ms3_vue_fields'] = 'Fields'; -$_lang['ms3_vue_section_add'] = 'Add Section'; -$_lang['ms3_vue_section_delete'] = 'Delete'; -$_lang['ms3_vue_section_delete_confirm_title'] = 'Confirm Deletion'; -$_lang['ms3_vue_section_delete_confirm_message'] = 'Are you sure you want to delete this section?'; -$_lang['ms3_vue_section_delete_btn'] = 'Yes, Delete'; -$_lang['ms3_vue_section_cancel_btn'] = 'Cancel'; -$_lang['ms3_vue_save_changes'] = 'Save Changes'; -$_lang['ms3_vue_save_success'] = 'Success'; -$_lang['ms3_vue_save_error'] = 'Error'; -$_lang['ms3_vue_sections_saved'] = 'Sections saved'; -$_lang['ms3_vue_section_deleted'] = 'Section deleted'; -$_lang['ms3_vue_loading'] = 'Loading...'; -$_lang['ms3_vue_error_loading_sections'] = 'Error loading sections'; -$_lang['ms3_vue_error_deleting_section'] = 'Error deleting section'; -$_lang['ms3_vue_error_saving_sections'] = 'Error saving sections'; -$_lang['ms3_vue_visible'] = 'Visibility'; -$_lang['ms3_vue_section_key'] = 'Key'; -$_lang['ms3_vue_section_label'] = 'Label'; -$_lang['ms3_vue_actions'] = 'Actions'; diff --git a/core/components/minishop3/lexicon/en/setting.inc.php b/core/components/minishop3/lexicon/en/setting.inc.php index effb99af..64d481c5 100644 --- a/core/components/minishop3/lexicon/en/setting.inc.php +++ b/core/components/minishop3/lexicon/en/setting.inc.php @@ -161,7 +161,6 @@ $_lang['ms3_source_image_name_type_desc'] = 'This parameter specifies how to rename file on upload. Hash - generates unique name depending on file content. Friendly - generates name using site friendly URL algorithm (controlled by system settings).'; // Token Security Settings -$_lang['area_ms3_security'] = 'Security'; $_lang['setting_ms3_customer_token_ttl'] = 'Customer token Time-To-Live (TTL)'; $_lang['setting_ms3_customer_token_ttl_desc'] = 'Time in seconds for which the customer token remains valid. Default is 86400 (24 hours). After expiration, the user will receive a new token.'; $_lang['setting_ms3_snippet_token_secret'] = 'Secret key for snippet tokens'; diff --git a/core/components/minishop3/lexicon/en/vue.inc.php b/core/components/minishop3/lexicon/en/vue.inc.php index df128018..ce59b211 100644 --- a/core/components/minishop3/lexicon/en/vue.inc.php +++ b/core/components/minishop3/lexicon/en/vue.inc.php @@ -328,10 +328,10 @@ $_lang['error_deleting_data'] = 'Error deleting data'; $_lang['apply_filters'] = 'Apply Filters'; $_lang['clear_filters'] = 'Clear Filters'; +$_lang['filter_by'] = 'Filter by {field}'; // Grid Fields Config Widget $_lang['ms3_grid_fields_config'] = 'Table Fields'; -$_lang['grid_fields_config_title'] = 'Table Fields'; $_lang['select_grid'] = 'Select Grid'; $_lang['grid_customers'] = 'Customers'; $_lang['grid_orders'] = 'Orders'; @@ -417,7 +417,6 @@ $_lang['error_adding_field'] = 'Error adding field'; // Edit field dialog -$_lang['edit'] = 'Edit'; $_lang['edit_field_dialog_title'] = 'Edit Field'; $_lang['field_name_readonly_hint'] = 'Field name cannot be changed after creation'; $_lang['field_updated'] = 'Field updated successfully'; @@ -508,7 +507,7 @@ $_lang['ms3_notification_created'] = 'Notification created'; $_lang['ms3_notification_updated'] = 'Notification updated'; $_lang['ms3_notification_deleted'] = 'Notification deleted'; -$_lang['ms3_notification_enabled'] = 'Notification enabled'; +$_lang['ms3_notification_was_enabled'] = 'Notification enabled'; $_lang['ms3_notification_disabled'] = 'Notification disabled'; $_lang['ms3_notification_delete_confirm'] = 'Delete this notification?'; $_lang['ms3_notification_subject_placeholder'] = 'Order #{$num} - status change'; @@ -522,7 +521,7 @@ $_lang['all'] = 'All'; $_lang['apply'] = 'Apply'; $_lang['clear'] = 'Clear'; -$_lang['confirm_delete'] = 'Confirm deletion'; +$_lang['confirm_delete'] = 'Confirm Delete'; // Orders Grid Widget $_lang['orders_title'] = 'Orders'; @@ -569,8 +568,6 @@ $_lang['order_product_added'] = 'Product added to order'; $_lang['order_product_select'] = 'Select a product'; $_lang['order_cannot_add_to_finalized'] = 'Cannot add product to finalized order'; -$_lang['confirm_delete'] = 'Confirm Delete'; -$_lang['warning'] = 'Warning'; // Options editing $_lang['options_mode_table'] = 'Table'; @@ -725,7 +722,7 @@ $_lang['ms3_model_section_delete_confirm'] = 'Delete this section? Fields will be reassigned without section.'; $_lang['ms3_model_section_cannot_delete_default'] = 'Cannot delete system section'; $_lang['ms3_model_section_shown'] = 'Section is now visible'; -$_lang['ms3_model_section_hidden'] = 'Section is now hidden'; +$_lang['ms3_model_section_now_hidden'] = 'Section is now hidden'; $_lang['ms3_model_section_order_updated'] = 'Section order updated'; $_lang['ms3_model_sections_empty'] = 'No sections found. Add your first section.'; @@ -763,10 +760,8 @@ $_lang['ms3_customer_duplicate_message'] = 'A customer with these details already exists in the system. Choose an action:'; $_lang['ms3_customer_use_existing'] = 'Use existing'; $_lang['ms3_customer_create_new'] = 'Create new'; -$_lang['customer_name'] = 'Name'; $_lang['ms3_customer_validation_email_or_phone'] = 'Email or phone is required to create a customer'; $_lang['ms3_customer_validation_invalid_email'] = 'Invalid email address'; -$_lang['warning'] = 'Warning'; // Order finalization (admin) $_lang['ms3_order_finalize_btn'] = 'Finalize Order'; @@ -922,12 +917,9 @@ $_lang['ms3_select_rule'] = 'Select rule'; $_lang['ms3_select_rule_placeholder'] = 'Select rule from the list'; $_lang['add'] = 'Add'; -$_lang['create'] = 'Create'; $_lang['total'] = 'Total'; -$_lang['all'] = 'All'; $_lang['yes'] = 'Yes'; $_lang['no'] = 'No'; -$_lang['confirm_delete'] = 'Confirm Delete'; // Validation rules $_lang['validation_rule_required'] = 'Required'; @@ -1124,8 +1116,6 @@ $_lang['product_create'] = 'Add product'; $_lang['product_image'] = 'Image'; $_lang['product_pagetitle'] = 'Title'; -$_lang['product_article'] = 'Article'; -$_lang['product_price'] = 'Price'; $_lang['product_weight'] = 'Weight'; $_lang['publish'] = 'Publish'; $_lang['unpublish'] = 'Unpublish'; diff --git a/core/components/minishop3/lexicon/ru/customer.inc.php b/core/components/minishop3/lexicon/ru/customer.inc.php index bcc67993..01ff7f95 100644 --- a/core/components/minishop3/lexicon/ru/customer.inc.php +++ b/core/components/minishop3/lexicon/ru/customer.inc.php @@ -63,7 +63,7 @@ $_lang['ms3_customer_err_field_not_allowed'] = 'Это поле нельзя изменить через быстрый профиль'; // Email Verification -$_lang['ms3_customer_email_verified'] = 'Email успешно подтвержден'; +$_lang['ms3_customer_email_verify_success'] = 'Email успешно подтвержден'; $_lang['ms3_customer_err_email_verification_invalid'] = 'Неверный или истекший токен подтверждения'; $_lang['ms3_email_verification_sent'] = 'Письмо с подтверждением отправлено на ваш email'; $_lang['ms3_email_verification_cooldown'] = 'Повторная отправка возможна через [[+seconds]] секунд'; @@ -115,7 +115,6 @@ // Customer Account Pages $_lang['ms3_customer_err_invalid_service'] = 'Неизвестный сервис: [[+service]]'; $_lang['ms3_customer_account_title'] = 'Личный кабинет'; -$_lang['ms3_customer_logout'] = 'Выход'; $_lang['ms3_customer_err_validation'] = 'Ошибка валидации данных'; // Unauthorized Page diff --git a/core/components/minishop3/lexicon/ru/default.inc.php b/core/components/minishop3/lexicon/ru/default.inc.php index 1a01983e..99ec0683 100644 --- a/core/components/minishop3/lexicon/ru/default.inc.php +++ b/core/components/minishop3/lexicon/ru/default.inc.php @@ -23,7 +23,6 @@ $_lang['ms3_orders_desc'] = 'Управление заказами'; $_lang['ms3_customers'] = 'Клиенты'; $_lang['ms3_customers_desc'] = 'Управление клиентами'; -$_lang['ms3_orders_desc'] = 'Управление клиентами'; $_lang['ms3_settings'] = 'Настройки'; $_lang['ms3_settings_intro'] = 'Панель управления настройками магазина. Здесь вы можете указать способы оплаты, доставки и статусы заказов.'; $_lang['ms3_settings_desc'] = 'Статусы заказов, параметры оплаты и доставки'; @@ -178,7 +177,6 @@ $_lang['ms3_err_status_nf'] = 'Статус с таким идентификатором не найден.'; $_lang['ms3_err_delivery_nf'] = 'Способ доставки с таким идентификатором не найден.'; $_lang['ms3_err_payment_nf'] = 'Способ оплаты с таким идентификатором не найден.'; -$_lang['ms3_err_payment_nf'] = 'Способ оплаты с таким идентификатором не найден.'; $_lang['ms3_err_status_final'] = 'Установлен финальный статус. Его нельзя менять.'; $_lang['ms3_err_status_fixed'] = 'Установлен фиксирующий статус. Вы не можете сменить его на более ранний.'; $_lang['ms3_err_status_wrong'] = 'Неверный статус заказа.'; diff --git a/core/components/minishop3/lexicon/ru/manager.inc.php b/core/components/minishop3/lexicon/ru/manager.inc.php index 3fb7baf5..04cf4749 100644 --- a/core/components/minishop3/lexicon/ru/manager.inc.php +++ b/core/components/minishop3/lexicon/ru/manager.inc.php @@ -278,29 +278,6 @@ $_lang['ms3_extrafields_create'] = 'Создать поле в БД'; $_lang['ms3_extrafields_created'] = 'Конфигурация поля в БД'; -// Vue виджет управления полями -$_lang['ms3_vue_sections'] = 'Секции'; -$_lang['ms3_vue_fields'] = 'Поля'; -$_lang['ms3_vue_section_add'] = 'Добавить секцию'; -$_lang['ms3_vue_section_delete'] = 'Удалить'; -$_lang['ms3_vue_section_delete_confirm_title'] = 'Подтверждение удаления'; -$_lang['ms3_vue_section_delete_confirm_message'] = 'Вы уверены, что хотите удалить эту секцию?'; -$_lang['ms3_vue_section_delete_btn'] = 'Да, удалить'; -$_lang['ms3_vue_section_cancel_btn'] = 'Отмена'; -$_lang['ms3_vue_save_changes'] = 'Сохранить изменения'; -$_lang['ms3_vue_save_success'] = 'Успешно'; -$_lang['ms3_vue_save_error'] = 'Ошибка'; -$_lang['ms3_vue_sections_saved'] = 'Секции сохранены'; -$_lang['ms3_vue_section_deleted'] = 'Секция удалена'; -$_lang['ms3_vue_loading'] = 'Загрузка...'; -$_lang['ms3_vue_error_loading_sections'] = 'Ошибка загрузки секций'; -$_lang['ms3_vue_error_deleting_section'] = 'Ошибка удаления секции'; -$_lang['ms3_vue_error_saving_sections'] = 'Ошибка сохранения секций'; -$_lang['ms3_vue_visible'] = 'Видимость'; -$_lang['ms3_vue_section_key'] = 'Ключ'; -$_lang['ms3_vue_section_label'] = 'Название'; -$_lang['ms3_vue_actions'] = 'Действия'; - // Vue Import Widget $_lang['ms3_import_step_upload'] = 'Загрузка файла'; $_lang['ms3_import_step_mapping'] = 'Настройка маппинга'; diff --git a/core/components/minishop3/lexicon/ru/notifications.inc.php b/core/components/minishop3/lexicon/ru/notifications.inc.php index b99d532d..7857dfd5 100644 --- a/core/components/minishop3/lexicon/ru/notifications.inc.php +++ b/core/components/minishop3/lexicon/ru/notifications.inc.php @@ -48,7 +48,7 @@ $_lang['ms3_notification_created'] = 'Уведомление успешно создано'; $_lang['ms3_notification_updated'] = 'Уведомление успешно обновлено'; $_lang['ms3_notification_deleted'] = 'Уведомление удалено'; -$_lang['ms3_notification_enabled'] = 'Уведомление включено'; +$_lang['ms3_notification_was_enabled'] = 'Уведомление включено'; $_lang['ms3_notification_disabled'] = 'Уведомление отключено'; $_lang['ms3_notification_delete_confirm'] = 'Вы уверены, что хотите удалить это уведомление?'; diff --git a/core/components/minishop3/lexicon/ru/product.inc.php b/core/components/minishop3/lexicon/ru/product.inc.php index 5500ac8b..3c74b0dd 100644 --- a/core/components/minishop3/lexicon/ru/product.inc.php +++ b/core/components/minishop3/lexicon/ru/product.inc.php @@ -109,7 +109,6 @@ $_lang['ms3_product_source_help'] = 'Источник файлов, который хранит изображения товара.'; $_lang['ms3_product_source_id'] = 'Источник файлов'; $_lang['ms3_product_source_id_help'] = 'Источник файлов, который хранит изображения товара.'; -$_lang['ms3_product_change_source_confirm'] = 'Вы уверены, что хотите изменить источник файлов? ВНИМАНИЕ: При этом будут сохранены все изменения, убедитесь, что вы готовы сделать это перед продолжением.'; $_lang['ms3_product_count'] = 'Количество'; $_lang['ms3_product_options'] = 'Опции товаров'; @@ -134,8 +133,6 @@ $_lang['ms3_product_selected_delete'] = 'Удалить выбранные товары'; $_lang['ms3_product_selected_undelete'] = 'Восстановить выбранные товары'; -//$_lang['ms3_disabled_while_creating'] = 'Эта функция отключена при создании нового товара.'; - $_lang['ms3_gallery_emptymsg'] = '
Файлов не найдено.
Вы можете загрузить их, перетащив прямо на эту панель или выбрав кнопкой вверху.