Files
opensourcepos/app/Language/hu/Config.php
Ollama 8da4aff262 fix(security): prevent command injection in sendmail path configuration
Add validation for the mailpath POST parameter to prevent command injection
attacks. The path is validated to only allow alphanumeric characters,
underscores, dashes, forward slashes, and dots.

- Required mailpath when protocol is "sendmail"
- Validates format for all non-empty mailpath values
- Blocks common injection vectors: ; | & ` $() spaces newlines
- Added mailpath_invalid translation to all 43 language files
- Simplified validation logic to avoid redundant conditions

Files changed:
- app/Controllers/Config.php: Add regex validation with protocol check
- app/Language/*/Config.php: Add mailpath_invalid error message (43 languages)
- tests/Controllers/ConfigTest.php: Unit tests for validation
2026-04-06 18:37:07 +00:00

333 lines
22 KiB
PHP

<?php
return [
"address" => "Cég cím",
"address_required" => "Cég cím kötelező mező",
"all_set" => "All file permissions are set correctly!",
"allow_duplicate_barcodes" => "",
"apostrophe" => "aposztrof",
"backup_button" => "Mentés",
"backup_database" => "Adatbázis mentése",
"barcode" => "Vonalkód",
"barcode_company" => "Cég neve",
"barcode_configuration" => "Vonalkód konfigurálása",
"barcode_content" => "Vonalkód tartalma",
"barcode_first_row" => "Sor 1",
"barcode_font" => "Font",
"barcode_formats" => "",
"barcode_generate_if_empty" => "Generáljon ha üres",
"barcode_height" => "Magasság (px)",
"barcode_id" => "Termék Id/Név",
"barcode_info" => "Vonalkód konfigurációs információk",
"barcode_layout" => "Vonalkód elrendezés",
"barcode_name" => "Név",
"barcode_number" => "UPC/EAN/ISBN",
"barcode_number_in_row" => "Szám a sorban",
"barcode_page_cellspacing" => "Display page cellspacing",
"barcode_page_width" => "Display page width",
"barcode_price" => "Ár",
"barcode_second_row" => "Sor 2",
"barcode_third_row" => "Sor 3",
"barcode_tooltip" => "",
"barcode_type" => "Vonalkód tipus",
"barcode_width" => "Szélesség (px)",
"bottom" => "Alul",
"cash_button" => "",
"cash_button_1" => "",
"cash_button_2" => "",
"cash_button_3" => "",
"cash_button_4" => "",
"cash_button_5" => "",
"cash_button_6" => "",
"cash_decimals" => "",
"cash_decimals_tooltip" => "",
"cash_rounding" => "",
"category_dropdown" => "",
"center" => "Közép",
"change_apperance_tooltip" => "",
"comma" => "vessző",
"company" => "Cégnév",
"company_avatar" => "",
"company_change_image" => "Kép cseréje",
"company_logo" => "Cég logó",
"company_remove_image" => "Kép eltávolítása",
"company_required" => "Cégnév kötelező mező",
"company_select_image" => "Kép kiválasztása",
"company_website_url" => "A cég webcime nem érvényes URL (http://...)",
"country_codes" => "Country Codes",
"country_codes_tooltip" => "Comma separated list of country codes for nominatim address lookup.",
"currency_code" => "",
"currency_decimals" => "Currency Decimals",
"currency_symbol" => "Pénznem",
"current_employee_only" => "",
"customer_reward" => "",
"customer_reward_duplicate" => "",
"customer_reward_enable" => "",
"customer_reward_invalid_chars" => "",
"customer_reward_required" => "",
"customer_sales_tax_support" => "",
"date_or_time_format" => "",
"datetimeformat" => "Dátum és idő formátum",
"decimal_point" => "Tizedes pont",
"default_barcode_font_size_number" => "Az alapértelmezett vonalkód font méretnek számnak kell lennie",
"default_barcode_font_size_required" => "Az alapértelmezett vonalkód font méret kötelező mező",
"default_barcode_height_number" => "Az alapértelmezett vonalkód magasságnak számnak kell lennie",
"default_barcode_height_required" => "Az alapértelmezett vonalkód magasság kötelező mező",
"default_barcode_num_in_row_number" => "Az alapértelmezett vonalkód száma a sorbannak számnak kell lennie",
"default_barcode_num_in_row_required" => "Az alapértelmezett vonalkód szám a sorban kötelező mező",
"default_barcode_page_cellspacing_number" => "Vonalkód cellatávolságnak számnak kell lennie",
"default_barcode_page_cellspacing_required" => "Vonalkód cellatávolság kötelező mező.",
"default_barcode_page_width_number" => "Az alapértelmezett vonalkód oldal szélességnek számnak kell lennie",
"default_barcode_page_width_required" => "Az alapértelmezett vonalkód oldal szésesség kötelező.",
"default_barcode_width_number" => "Az alapértelmezett vonalkód szélességnek számnak kell lennie",
"default_barcode_width_required" => "Az alapértelmezett vonalkód szélesség kötelező mező",
"default_item_columns" => "",
"default_origin_tax_code" => "",
"default_receivings_discount" => "",
"default_receivings_discount_number" => "",
"default_receivings_discount_required" => "",
"default_sales_discount" => "Alapértelmezett kedvezmény %",
"default_sales_discount_number" => "Alapértelmezett kedvezménynek számnak kell lennie",
"default_sales_discount_required" => "Alapértelmezett kedvezmény kötelező mező",
"default_tax_category" => "",
"default_tax_code" => "",
"default_tax_jurisdiction" => "",
"default_tax_name_number" => "",
"default_tax_name_required" => "Alapértelmezett adó név kötelező mező",
"default_tax_rate" => "Alapértelmezett adó %",
"default_tax_rate_1" => "Adó 1",
"default_tax_rate_2" => "Adó 2",
"default_tax_rate_3" => "",
"default_tax_rate_number" => "Az alapértelmezett adónak számnak kell lennie",
"default_tax_rate_required" => "Az alapértelmezett adó kötelező mező",
"derive_sale_quantity" => "",
"derive_sale_quantity_tooltip" => "",
"dinner_table" => "",
"dinner_table_duplicate" => "",
"dinner_table_enable" => "",
"dinner_table_invalid_chars" => "",
"dinner_table_required" => "",
"dot" => "pont",
"email" => "Email",
"email_configuration" => "Email beállítás",
"email_mailpath" => "Sendmail elérési út",
"email_protocol" => "Protokoll",
"email_receipt_check_behaviour" => "",
"email_receipt_check_behaviour_always" => "",
"email_receipt_check_behaviour_last" => "",
"email_receipt_check_behaviour_never" => "",
"email_smtp_crypto" => "SMTP Encryption",
"email_smtp_host" => "SMTP Szerver",
"email_smtp_pass" => "SMTP Password",
"email_smtp_port" => "SMTP Port",
"email_smtp_timeout" => "SMTP időtúllépést (mp)",
"email_smtp_user" => "SMTP Username",
"enable_avatar" => "",
"enable_avatar_tooltip" => "",
"enable_dropdown_tooltip" => "",
"enable_new_look" => "",
"enable_right_bar" => "",
"enable_right_bar_tooltip" => "",
"enforce_privacy" => "",
"enforce_privacy_tooltip" => "",
"fax" => "Fax",
"file_perm" => "There are problems with file permissions please fix and reload this page.",
"financial_year" => "",
"financial_year_apr" => "",
"financial_year_aug" => "",
"financial_year_dec" => "",
"financial_year_feb" => "",
"financial_year_jan" => "",
"financial_year_jul" => "",
"financial_year_jun" => "",
"financial_year_mar" => "",
"financial_year_may" => "",
"financial_year_nov" => "",
"financial_year_oct" => "",
"financial_year_sep" => "",
"floating_labels" => "",
"gcaptcha_enable" => "",
"gcaptcha_secret_key" => "",
"gcaptcha_secret_key_required" => "",
"gcaptcha_site_key" => "",
"gcaptcha_site_key_required" => "",
"gcaptcha_tooltip" => "",
"general" => "Általános",
"general_configuration" => "Általános beállitás",
"giftcard_number" => "",
"giftcard_random" => "",
"giftcard_series" => "",
"image_allowed_file_types" => "",
"image_max_height_tooltip" => "",
"image_max_size_tooltip" => "",
"image_max_width_tooltip" => "",
"image_restrictions" => "",
"include_hsn" => "",
"info" => "Információk",
"info_configuration" => "Bolt információk",
"input_groups" => "",
"integrations" => "",
"integrations_configuration" => "",
"invoice" => "Számla",
"invoice_configuration" => "Nyomtatási beállitások",
"invoice_default_comments" => "Alapértelmezett számla kommentek",
"invoice_email_message" => "Email számla sablon",
"invoice_enable" => "Számlázás engedélyezése",
"invoice_printer" => "Számla nyomtató",
"invoice_type" => "",
"is_readable" => "",
"is_writable" => "is writable, but the permissions are higher than 750.",
"item_markup" => "",
"jsprintsetup_required" => "Figyelem! Ez a letiltott funkció csak akkor működik megfelelően, ha a FireFox jsPrintSetup kiegészítő telepítve van. Menti mindezek tudatában?",
"language" => "Nyelv",
"last_used_invoice_number" => "",
"last_used_quote_number" => "",
"last_used_work_order_number" => "",
"left" => "Bal",
"license" => "Licensz",
"license_configuration" => "Licensz statementek",
"line_sequence" => "",
"lines_per_page" => "Sorok száma oldalanként",
"lines_per_page_number" => "A sorok száma oldalanként kötelező mező",
"lines_per_page_required" => "A sor per oldal kötelező mező",
"locale" => "Lokalizációs",
"locale_configuration" => "Lokalizációs beállitások",
"locale_info" => "Lokalizációs beállitási információk",
"location" => "Készlet",
"location_configuration" => "Készlet helye",
"location_info" => "Helyszin konfigurációs információk",
"login_form" => "",
"logout" => "Nem szeretne mentést csinálni kilépés előtt? Kattintson az [OK]-ra a mentéshez, [Mégsem] a kilépéshez",
"mailchimp" => "",
"mailchimp_api_key" => "",
"mailchimp_configuration" => "",
"mailchimp_key_successfully" => "",
"mailchimp_key_unsuccessfully" => "",
"mailchimp_lists" => "",
"mailchimp_tooltip" => "",
"message" => "Üzenet",
"message_configuration" => "Üzenet beállítások",
"msg_msg" => "Mentett text üzenet",
"msg_msg_placeholder" => "Ha SMS alapot kíván használni ide írja. Egyébként hagyja üresen a mezőt.",
"msg_pwd" => "SMS-API Jelszó",
"msg_pwd_required" => "SMS-API jelszó kötelező mező",
"msg_src" => "SMS-API Küldö ID",
"msg_src_required" => "SMS-API Sender ID is a required field",
"msg_uid" => "SMS-API Felhasználó",
"msg_uid_required" => "SMS-API Username kötelező mező",
"multi_pack_enabled" => "",
"no_risk" => "No security/vulnerability risks.",
"none" => "none",
"notify_alignment" => "Notification Popup Position",
"number_format" => "Szám formátum",
"number_locale" => "Lokalizációs",
"number_locale_invalid" => "A megadott érték érvénytelen. Ellenőrizze a linken a megadható értékeket.",
"number_locale_required" => "Lokalizációs szám kötelező mező",
"number_locale_tooltip" => "Find a suitable locale through this link",
"os_timezone" => "",
"ospos_info" => "",
"payment_options_order" => "Payment Options Order",
"perm_risk" => "Permissions higher than 750 leaves this software at risk.",
"phone" => "Cég telefonszáma",
"phone_required" => "Cég telefonszáma kötelező mező",
"print_bottom_margin" => "Alsó margó",
"print_bottom_margin_number" => "The default bottom margin must be a number",
"print_bottom_margin_required" => "The default bottom margin is a required field",
"print_delay_autoreturn" => "",
"print_delay_autoreturn_number" => "",
"print_delay_autoreturn_required" => "",
"print_footer" => "Print Browser Footer",
"print_header" => "Print Browser Header",
"print_left_margin" => "Bal margó",
"print_left_margin_number" => "The default left margin must be a number",
"print_left_margin_required" => "The default left margin is a required field",
"print_receipt_check_behaviour" => "",
"print_receipt_check_behaviour_always" => "",
"print_receipt_check_behaviour_last" => "",
"print_receipt_check_behaviour_never" => "",
"print_right_margin" => "Jobb margó",
"print_right_margin_number" => "The default right margin must be a number",
"print_right_margin_required" => "The default right margin is a required field",
"print_silently" => "Show Print Dialog",
"print_top_margin" => "Felső margó",
"print_top_margin_number" => "The default top margin must be a number",
"print_top_margin_required" => "The default top margin is a required field",
"quantity_decimals" => "Quantity Decimals",
"quick_cash_enable" => "",
"quote_default_comments" => "",
"receipt" => "Nyugta",
"receipt_category" => "",
"receipt_configuration" => "Nyomtatási beállitások",
"receipt_default" => "Alapértelmezett",
"receipt_font_size" => "",
"receipt_font_size_number" => "",
"receipt_font_size_required" => "",
"receipt_info" => "Nyugta beállítási információk",
"receipt_printer" => "Jegy nyomtató",
"receipt_short" => "Rövid",
"receipt_show_company_name" => "",
"receipt_show_description" => "Leírás mutatása",
"receipt_show_serialnumber" => "Szériaszám mutatása",
"receipt_show_tax_ind" => "",
"receipt_show_taxes" => "Adók mutatása",
"receipt_show_total_discount" => "Összes kedvezmény mutatása",
"receipt_template" => "Nyugta template",
"receiving_calculate_average_price" => "Átl. Ár számitása (visszáru)",
"recv_invoice_format" => "Visszatérítési számla formátum",
"register_mode_default" => "",
"report_an_issue" => "",
"return_policy_required" => "Return policy is a required field",
"reward" => "",
"reward_configuration" => "",
"right" => "Jobb",
"sales_invoice_format" => "Eladási számla formátum",
"sales_quote_format" => "",
"mailpath_invalid" => "",
"saved_successfully" => "Beállítások sikeresen elmentve",
"saved_unsuccessfully" => "Beállítások mentése sikertelen",
"security_issue" => "Security Vulnerability Warning",
"server_notice" => "Please use the below info for issue reporting.",
"service_charge" => "",
"show_due_enable" => "",
"show_office_group" => "",
"statistics" => "Statisztika küldése",
"statistics_tooltip" => "Statisztika küldése fejlesztési célból",
"stock_location" => "Bolt helye",
"stock_location_duplicate" => "Kérem egyedi helyszin nevet használjon",
"stock_location_invalid_chars" => "A bolt helyének neve nem tartalmazhat '_' karaktert",
"stock_location_required" => "Bolt helyszín szám kötelező mező",
"suggestions_fifth_column" => "",
"suggestions_first_column" => "",
"suggestions_fourth_column" => "",
"suggestions_layout" => "",
"suggestions_second_column" => "",
"suggestions_third_column" => "",
"system_conf" => "Setup & Conf",
"system_info" => "System Info",
"table" => "",
"table_configuration" => "",
"takings_printer" => "Takings Printer",
"tax" => "",
"tax_category" => "",
"tax_category_duplicate" => "",
"tax_category_invalid_chars" => "",
"tax_category_required" => "",
"tax_category_used" => "",
"tax_configuration" => "",
"tax_decimals" => "Tax Decimals",
"tax_id" => "",
"tax_included" => "Adókat tartalmaz",
"theme" => "Téma",
"theme_preview" => "",
"thousands_separator" => "Ezres elválasztó",
"timezone" => "Időzóna",
"timezone_error" => "",
"top" => "Felül",
"use_destination_based_tax" => "",
"user_timezone" => "",
"website" => "Weboldal",
"wholesale_markup" => "",
"work_order_enable" => "",
"work_order_format" => "",
];