<?php
// phpcs:disable PSR1.Files.SideEffects
define('ACCOUNT_NOT_ACTIVATED', 'This account is not enabled');
define('ACTION_BUTTONS_TARGET', 'Target of the action buttons');
define('ACTION_CONST', 'Action');
define('ADD', 'Add');
define('ADD_CATEGORY', 'Add category');
define('ADD_EDIT_VALUES', 'Add / Edit values');
define('ADD_FILTER', 'Add filter');
define('ADD_NEW', 'Add new');
define('ADD_TO_NAVBAR', 'Add to navbar');
define('ADDRESS', 'Address');
define('ADMIN', 'Admin');
define('ADMIN_NAVBAR', 'Admin navbar');
define('ADMIN_AUTHENTICATION_MODULE', 'The User Authentication Module');
define('ADMIN_AUTHENTICATION_MODULE_ENABLED', 'User Authentication Enabled');
define('ADMIN_AUTHENTICATION_MODULE_IS_ENABLED', 'The user authentication module is <span class="text-success-800">enabled</span>');
define('ADMIN_AUTHENTICATION_MODULE_DISABLED', 'User Authentication Disabled');
define('ADMIN_AUTHENTICATION_MODULE_INSTALLED', 'The user authentication module has been installed successfully. The page will be reloaded automatically in a few seconds.');
define('ADMIN_AUTHENTICATION_MODULE_IS_DISABLED', 'The user authentication module is  <span class="text-danger-800">disabled</span>');
define('ADMIN_AUTHENTICATION_MODULE_IS_NOT_INSTALLED', 'The user authentication module is not installed.');
define('ADMIN_DASHBOARD', 'Admin dashboard');
define('ADMIN_FILTERED_COLUMNS_CLASS_HELPER', 'Enter one or several CSS classes to set the style of the filtered columns in the admin READ lists. E.g: bg-gray-200');
define('ADMIN_FILTERED_COLUMNS_CLASS_TXT', 'CSS class of the filtered columns');
define('ADMIN_PASSWORD_HELP', '6 characters minimum. Uppercase (s) + mandatory lowercase (s). Suggested number (s) + symbol (s)');
define('ADVANCED', 'Advanced');
define('AJAX_LOADING', 'Ajax loading');
define('ALL', 'All');
define('ALL_ON_THE_SAME_PAGE', 'All on the same page');
define('ALL_RECORDS', 'All records');
define('ARGUMENTS', 'Arguments');
define('ARRAY_VALUE_TYPE', 'Array (checkbox or select multiple)');
define('AT_LEAST', 'At least');
define('AUTHENTICATION_MODULE', 'Authentication module');
define('AUTO', 'Auto');
define('BACKUP_VERSION', 'Backup version');
define('BOOLEAN_CONST', 'Boolean');
define('BUILD', 'Build');
define('BULK_DELETE_BUTTON', 'Allow bulk delete');
define('BULK_DELETE_SUCCESS_MESSAGE', ' record(s) deleted');
define('CANCEL', 'Cancel');
define('CASCADE_DELETE_OPTIONS', 'Cascade delete options');
define('CHANGES_RECORDED', 'The changes have been recorded');
define('CHAR_COUNT', 'Character counter');
define('CHAR_COUNT_MAX', 'Maximum number of characters');
define('CHARACTERS', 'Characters');
define('CHECKBOXES', 'Checkboxes');
define('CHOOSE_DATABASE', 'Database');
define('CHOOSE_LIST_TYPE', 'List type');
define('CHOOSE_SELECT_OPTIONS', 'Choose the options for the select field');
define('CHOOSE_TABLE', 'Choose a table');
define('CHOOSE_VALUES_FROM_TABLE', 'Choose Values in a Database Table');
define('CITY', 'City');
define('CLICK_TO_EDIT', 'Click to edit');
define('CLICK_TO_OPEN_THE_ICONPICKER', 'Click to open the icon picker');
define('CLICK_TO_REFRESH', 'Click to refresh and view changes');
define('CLOSE', 'Close');
define('CLOSE_WINDOW', 'You can safely close this window.');
define('COLOR', 'Color');
define('COLUMN', 'Column');
define('COMPARE', 'Compare');
define('CONFIGURATION', 'Configuration');
define('CONSTRAINT_USERS_CREATE_HELPER', 'CREATE/DELETE rights on users table cannot be limited - this would be a nonsense');
define('CONSTRAINT_QUERY_TIP', '<p>WHERE query if limited rights.</p><p>Example: <br><em>, users WHERE table.users_ID = users.ID AND users.ID = CURRENT_USER_ID</em></p><p><em>CURRENT_USER_ID</em> will be automatically replaced by the connected user\'s ID.</p>');
define('CREATE_IMAGE_THUMBNAILS', 'Create thumbnails');
define('CREATED_UPDATED_FILES', 'Files created / edited');
define('CROP', 'Crop');
define('CRUD_GENERATOR', 'CRUD Generator');
define('CURRENT_VERSION_UP_TO_DATE', 'Current Version is up to date');
define('CURRENT_VIEW', 'Current view');
define('CUSTOM', 'Custom');
define('CUSTOMIZE_THEME_AND_NAVBARS', 'Customise the theme and navigation bars');
define('CUSTOM_VALUES', 'Custom values');
define('DATABASE_CONST', 'Database');
define('DATE_CONST', 'Date');
define('DATE_DISPLAY_FORMAT', 'Date Display Format');
define('DATE_HELPER', 'View available formats');
define('DATE_NOW_HIDDEN', 'Hidden current date');
define('DATE_NOW_HIDDEN_HELPER', 'Hide the field and set the value to the current date (no|yes)');
define('DB_ERROR', 'Error while recording');
define('DB_RELATIONS_REFRESHED', 'Database relations have been refreshed');
define('DB_STRUCTURE_LOADED', 'The database structure has been loaded.');
define('DEFAULT_CONST', 'Default');
define('DEBUG_DB_QUERIES_ENABLED', 'Simulate and debug is enabled. The database insert/update/delete queries are simulated, not executed.');
define('DEFAULT_SEARCH_FIELD', 'Default field for search');
define('DELETE_CONST', 'Remove'); // avoiding 'delete' keyword usage
define('DELETE_ACTION', 'Removal');
define('DELETE_RECORDS_FROM', 'Delete records from ');
define('DELETE_SELECTED_RECORDS', 'Delete selected records');
define('DELETE_SUCCESS_MESSAGE', '1 record deleted');
define('DETAIL', 'Detail');
define('DIFF_FILES', 'Compare files');
define('DISABLE', 'Disable');
define('DISABLED', 'Disabled');
define('DISPLAY', 'Display');
define('DISPLAY_ALL', 'Show all');
define('DISPLAY_OF_DATA_TABLES', 'Display of data tables');
define('DISPLAY_NAME', 'Displayed name');
define('DISPLAY_VALUE', 'Displayed value');
define('DOC', 'Click to open the documentation in a new tab');
define('DOMAIN', 'Domain');
define('DRAG_ME', 'Drag me');
define('EDIT', 'Edit');
define('EDITABLE_CONTENT', 'Editable content');
define('EDIT_IN_PLACE', 'Edit in place');
define('EMAIL', 'Email');
define('ENABLE', 'Enable');
define('ENABLED', 'Enabled');
define('ENABLE_SORTING', 'Enable sorting');
define('ENTER_YOUR_CREDENTIALS_BELOW', 'Enter your credentials below');
define('ERROR', 'Error');
define('ERROR_CANT_CREATE_DIR', 'Unable to create directory');
define('ERROR_CANT_WRITE_FILE', 'Unable to create / edit file');
define('ERROR_FILE_NOT_FOUND', 'File not found. You have to build this page with the CRUD Generator before accessing it');
define('EXPORT', 'Export');
define('EXPORT_BUTTON', '"Export" button');
define('EXTERNAL_RELATIONS', 'External relations');
define('FAILED_TO_CONNECT_DB', 'Error connecting to the database');
define('FAILED_TO_DELETE', 'Unable to delete');
define('FAILURE', 'Failure');
define('FIELD', 'Field');
define('FIELD_DELETE_CONFIRM', 'Field to confirm deletion');
define('FIELD_HEIGHT', 'Field height');
define('FIELD_TYPE', 'Field type');
define('FIELD_WIDTH', 'Field width');
define('FIELDS', 'Fields');
define('FIELDS_TO_DISPLAY', 'Fields to display');
define('FIELDS_TO_FILTER', 'Fields to be filtered');
define('FILE', 'File');
define('FILE_AUTHORIZED', 'Authorized file types');
define('FILE_NOT_FOUND', 'File not found');
define('FILE_PATH', 'Files path');
define('FILE_URL', 'Files URL');
define('FILTER', 'Filter');
define('FILTER_BY_DATE_RANGE', 'Filter by date range');
define('FILTER_BY_DATE_RANGE_HELPER', 'If "Yes", the users will choose the records between 2 dates. Else they\'ll choose a single date.<br><span class="text-orange-600">Can\'t be used with Ajax loading.</span>');
define('FILTER_DROPDOWNS', 'Filters (drop-down lists to filter results)');
define('FILTER_HELP_1', 'Filter field');
define('FILTER_HELP_2', 'Associated field - Optional - (example: First name + Last name)');
define('FILTER_LIST', 'Filter the list');
define('FIRST_NAME', 'First name');
define('FORGOT_PASSWORD', 'Forgot your password');
define('FORMS_GENERATED', 'Forms generated');
define('FUNCTION_CONST', 'Function');
define('GENERAL_SETTINGS', 'General settings');
define('GENERATED_FILTER', 'Filter generated ');
define('GROUP_WARNING', 'The grouped field %field% must be grouped with a second contiguous field');
define('GROUP_WIDTH_WARNING', 'The [%field1%, %field2%] group exceeds the maximum width (100%)');
define('GROUPED', 'Grouped');
define('HEIGHT', 'height');
define('HELP_TEXT', 'Help text');
define('HIDE', 'Hide');
define('HOME', 'Home');
define('HTML', 'Html');
define('HUMAN_READABLE_NAMES', 'Field Names Displayed in Admin');
define('IMAGE', 'Image');
define('IMAGE_EDITOR', 'Image editor');
define('IMAGE_PATH', 'Images path');
define('IMAGE_URL', 'Images URL');
define('IN_A_PAGINATED_LIST', 'In a paginated list');
define('INFO_REGISTERED', 'Informations registered');
define('INSTALL_ADMIN_AUTHENTICATION_MODULE', 'Install the User Authentication Module');
define('INSERT_SUCCESS_MESSAGE', '1 record added');
define('INSUFFICIENT_RIGHTS_IN_AUTHENTICATION_MODULE', 'Your user profile doesn\'t allow you to read or edit the <span class="fw-bold">%TABLE%</span> content. <br>To access this resource you must ask your administrator to increase your rights.');
define('INVALID_CHARS_ERROR', 'The following %target_name% contain non-standard invalid characters:<br>%target_values%<br><br>You <span class="fw-bold">MUST</span> change these names, or it\'ll break PHPCG functionnalities.<br><br>Allowed characters are: lowercase, uppercase, numbers and underscores. Numbers are not allowed as 1st character.<br><br><span class="fw-bold">Once done, click the "reload database structure" button.</span>.');
define('LABEL', 'Label');
define('LIST_GENERATED', 'List generated');
define('LOAD', 'Load');
define('LOADING_PLEASE_WAIT', 'Loading ... please wait');
define('LOGIN_ERROR', 'Authentication error');
define('LOGIN_TO_YOUR_ACCOUNT', 'Log in');
define('LOGOUT', 'Log Out');
define('LOWERCASE', 'Lowercase');
define('LOWERCASE_CHARACTERS', 'Lowercase characters');
define('MAIN_SETTINGS', 'Main settings');
define('MAX_HEIGHT', 'Maximum height');
define('MAX_SIZE_HELPER', 'Leave blank if no limitation');
define('MAX_WIDTH', 'Maximum width');
define('MERGE', 'Merge');
define('MERGE_DONE', 'The %FILE% file has been updated.');
define('MATCHING_RECORDS_WILL_BE_DELETED', 'Matching records in the following table(s) will be deleted simultaneously');
define('MESSAGE_SENT', 'Message sent');
define('MISSING_TABLE_IN_AUTHENTICATION_MODULE', 'The <span class="fw-bold">%TABLE%</span> table is used in the admin panel but was not installed with the authentication module. <br> The authentication module must be reinstalled to add the <span class="fw-bold">%TABLE%</span> table in profile rights management.<br><a class="text-danger" href="https://www.phpcrudgenerator.com/documentation/index#admin-user-authentication-module" target="_blank">How to reinstall/update the admin user authentication module</a>');
define('MOBILE_PHONE', 'Mobile phone');
define('MULTIPLE_CONST', 'Multiple');
define('NAME', 'Name');
define('NEED_HELP', 'Need help');
define('NESTED_TABLE', 'Nested table');
define('NEW_VERSION', 'New version');
define('NO', 'No');
define('NO_HTML', 'No html');
define('NO_PRIMARY_KEY', 'No primary key found. The primary key is essential to the functioning of your administration.');
define('NO_RECORD_FOUND', 'No record found');
define('NO_RELATIONSHIP_FOUND', 'No relationship found');
define('NO_RESULT_FOUND', 'No result found');
define('NO_VALUE_SELECTED', 'Please set values for the field ');
define('NONE', 'None');
define('NOTHING_TO_MERGE', '<p>The source and target file are identical.</p><p>There\'s nothing to merge.</p>');
define('NUMBER', 'Number');
define('NUMBERS', 'Numbers');
define('OK', 'Ok');
define('OPEN_ADMIN_PAGE', 'Open the admin page');
define('OPEN_URL', 'Open URL');
define('OPEN_URL_BUTTON', '<em>"Open URL"</em> button');
define('OPTIONS', 'Options');
define('ORDER_BY', 'Order by');
define('ORGANIZE_ADMIN_NAVBAR', 'Organize Admin Navbar');
define('PAGE', 'page');
define('PAGINATED_LIST', 'Paginated List');
define('PASSWORD', 'Password');
define('PASSWORD_CONSTRAINT', 'Constraints');
define('PASSWORD_EDIT_HELPER', 'Leave blank to keep the current password');
define('PHONE', 'Phone');
define('PRINT', 'Print');
define('PROFILE', 'Profile');
define('PURCHASE_CODE', 'Purchase code');
define('QUERY', 'Query');
define('QUERY_FAILED', 'The query failed');
define('RECORDING', 'Recording');
define('RECORDS', 'Records');
define('REFERENCED_TABLE', 'Referenced table');
define('REFERENCED_COLUMN', 'Referenced column');
define('REFRESH', 'Refresh');
define('RELATIONS', 'Relations');
define('REFRESH_DB_RELATIONS', 'Refresh the database relationships');
define('REFRESH_DB_STRUCTURE', 'Refresh the database structure');
define('REINSTALL', 'Reinstall');
define('REINSTALL_TIP', 'Delete all user data and start a new installation. Click for more details before confirmation.');
define('REMOVE', 'Remove');
define('REMOVE_ADMIN_AUTHENTICATION_MODULE_HELPER', '<p>This will delete all users and profiles files from the admin and generator, as well as the "%USERS_TABLE%" and "%USERS_TABLE%_profiles" tables from your database.</p>');
define('REMOVE_FROM_NAVBAR', 'Remove from navbar');
define('REMOVE_THIS_FILTER', 'Remove this filter');
define('REQUIRED', 'Required');
define('RESET', 'Reset');
define('RESET_TABLE_DATA', 'Reset table data');
define('RESTRICTED', 'Restricted');
define('RESULTS_PER_PAGE', 'Results');
define('SAVE_CHANGES', 'Save changes');
define('SEARCH', 'Search');
define('SEARCHING', 'Searching ...');
define('SELECT_CONST', 'Select');
define('SELECT_ACTION', 'Select an action');
define('SELECT_DATABASE', 'Select a database');
define('SELECT_FIELDS_TYPES_FOR_CREATE_UPDATE', 'Choose the field types and options for Create | Update');
define('SELECT_MULTIPLE', 'Select multiple');
define('SELECT_OPTIONS_FOR_PAGINATED_LIST', 'Options from the paginated list');
define('SELECT_OPTIONS_FOR_SINGLE_ELEMENT_LIST', 'Single record list options');
define('SELECT_OPTIONS_FOR_DELETE_FORM', 'Options for the deletion form');
define('SELECT_TABLES_USED_IN_ADMIN', 'Tables used in admin');
define('SELECT_TABLES_USED_IN_ADMIN_HELP', 'The selected tables will be used to define user rights profiles');
define('SESSION_EXPIRED', 'Session has expired. Please connect the CRUD to your database again.');
define('SHOW', 'Show');
define('SHOW_SEARCH_RESULTS', 'Show search results');
define('SIGN_IN', 'Sign in');
define('SIDEBAR_EMPTY_ALERT', 'Sidebar is empty');
define('SIDE_BY_SIDE_COMPARISON', 'Side By Side Comparison');
define('SIDE_BY_SIDE_COMPARISON_HELPER', 'Click on the parts you want to keep in the left and right columns, then <span class="fw-bold">"' . MERGE . '"</span> to save your choices');
define('SIMPLE', 'Simple');
define('SINGLE', 'Unique');
define('SINGLE_RECORD', 'Single record');
define('SITE_ADMINISTRATOR', 'Main admin');
define('SKIP_THIS_FIELD', 'Do not show in the list');
define('SQL_FROM', 'SQL FROM');
define('STATUS', 'Status');
define('STRUCTURE', 'Structure');
define('STRUCTURE_AND_DATA', 'Structure and data');
define('STRUCTURE_ONLY', 'Structure');
define('STYLES_PREFERENCES_FAILURE', 'Unfortunately, your style preferences could not be saved.');
define('STYLES_PREFERENCES_REGISTERED', 'Your style preferences have been saved.');
define('STYLES_REVERT', 'Revert to the default styles');
define('SUBMIT', 'Submit');
define('SUCCESS', 'Success');
define('SYMBOLS', 'Symbols');
define('TABLE', 'Table');
define('TABLE_HAS_BEEN_REMOVED', 'Table %table% has been removed from the generator & the admin panel');
define('TABLES', 'Tables');
define('TEST', 'Test');
define('TEXT', 'Text');
define('TEXT_INPUT', 'Input Text');
define('TEXT_NUMBER', 'Text / Number');
define('TEXTAREA', 'Textarea');
define('TIME_DISPLAY_FORMAT', 'Time display format');
define('TIME_PLACEHOLDER', 'Time');
define('TINYMCE', 'Tinymce');
define('TOGGLE_ALL', 'Toggle all');
define('TOGGLE_FULL_SCREEN', 'Toggle full screen');
define('TOOLS', 'Tools');
define('TOOLTIP', 'Tooltip');
define('TYPE', 'Type');
define('TYPE_2_OR_MORE_CHARACTERS', 'Type 2 or more characters');
define('UNABLE_TO_MERGE', 'Unable to merge: not all conflicts have been resolved.');
define('INCOMPATIBLE_FIELD_TYPES', 'Incompatible field types');
define('INCOMPATIBLE_FIELD_TYPES_TEXT', 'The CRUD system does not accept binary data. If you use this type of data it is recommended to save your data as files outside your database, and store the paths to these files in text fields inside your database.<br>The affected fields are the following:');
define('UNHANDLED_FIELD_TYPES', 'Unhandled field types');
define('UNHANDLED_FIELD_TYPES_TEXT', 'The following field types are not handled by the CRUD system and will be considered as "<em>text</em>" fields:');
define('UNINSTALL_SUCCESS_MESSAGE', 'PHP CRUD Generator has been successfully reset.');
define('UPDATE_SUCCESS_MESSAGE', '1 modified record');
define('UPPERCASE', 'Uppercase');
define('UPPERCASE_CHARACTERS', 'Uppercase characters');
define('URL', 'Url');
define('USER_MANAGEMENT', 'User management');
define('USER_MANAGEMENT_SUCCESSFULLY_CREATED', 'User management successfully created. You can now add/edit users &amp; profiles.<br><span class="fw-bold">The forms for deleting user and user profiles must be created using the CRUD Generator.</span>');
define('USERS_TABLE_NAME', '<em class="badge text-bg-dark-100">Users</em> table name');
define('USERS_TABLE_NAME_HELP', 'Lowercase letters + underscore (_) only');
define('VALIDATION', 'Validation');
define('VALUE', 'Value');
define('VALUE_S', 'Value(s)');
define('VALUES', 'Values');
define('VALUES_TO_DISPLAY', 'Values to display');
define('VALUES_TYPE', 'Type of values');
define('VIEW_DETAIL', 'Show details');
define('VIEW_RECORD_BUTTON', '"View record" button');
define('WIDTH', 'width');
define('WITH_A_VERTICAL_SCROLL_BAR', 'With a vertical scroll bar');
define('WITHOUT_A_SCROLLBAR', 'Without a scrollbar');
define('WRONG_DATE', 'Wrong date');
define('WRONG_DATE_FORMAT', 'Wrong date format');
define('WRONG_TABLE_DATA', 'Wrong table data');
define('YES', 'Yes');
define('ZIP_CODE', 'ZIP code');

// pagination
define('PAGINATION_RESULTS', 'Results');
define('PAGINATION_TO', 'to');
define('PAGINATION_OF', 'of');

// tooltips
define('BULK_DELETE_BUTTON_TIP', '<a href="#" data-bs-toggle="tooltip" title="Add a checkbox beside each record and a global \'Delete\' button"><i class="fas fa-xl fa-question-circle text-secondary-700 append"></i></a>');
define('CREATE_IMAGE_THUMBNAILS_TIP', '<a href="#" data-bs-toggle="tooltip" title="Thumbnails generated in subfolders of the choosen image folder:<br>[image folder]/thumbs/lg/image.jpg<br>[image folder]/thumbs/md/image.jpg<br>[image folder]/thumbs/sm/image.jpg<br><br>Images and thumbnails sizes can be edited in <em>class/phpformbuilder/plugins/fileuploader/image-upload/php/ajax_upload_file.php</em>"><i class="fas fa-xl fa-question-circle text-secondary-700 append"></i></a>');
define('DATE_DISPLAY_TIP', '<a href="#" data-bs-toggle="tooltip" title="Date displayed in the administration interface"><i class="fas fa-xl fa-question-circle text-secondary-700 append"></i></a>');
define('GROUPED_SINGLE_TIP', '<a href="#" data-bs-toggle="tooltip" title="The grouped fields are displayed on the same line in the forms."><i class="fas fa-xl fa-question-circle text-secondary-700 append"></i></a>');
define('FILE_AUTHORIZED_HELPER', 'Comma separated list. Example: doc, docx, xls, xlsx, pdf, txt');
define('FILE_PATH_TIP', '<a href="#" data-bs-toggle="tooltip" title="Path of the files directory from the root of the site. Example : uploads/documents/"><i class="fas fa-xl fa-question-circle text-secondary-700 append"></i></a>');
define('FILE_URL_TIP', '<a href="#" data-bs-toggle="tooltip" title="Url of the files directory. Example : uploads/documents/"><i class="fas fa-xl fa-question-circle text-secondary-700 append"></i></a>');
define('IMAGE_EDITOR_TIP', '<a href="#" data-bs-toggle="tooltip" title="Editor to crop and rotate images in the administration interface"><i class="fas fa-xl fa-question-circle text-secondary-700 append"></i></a>');
define('IMAGE_PATH_TIP', '<a href="#" data-bs-toggle="tooltip" title="Path of the image directory from the root of the site. Examples : assets/images/ or assets/img/"><i class="fas fa-xl fa-question-circle text-secondary-700 append"></i></a>');
define('IMAGE_URL_TIP', '<a href="#" data-bs-toggle="tooltip" title="Url of the image directory. Examples : assets/images/ or assets/img/"><i class="fas fa-xl fa-question-circle text-secondary-700 append"></i></a>');
define('SINGLE_RECORD_TIP', '<a href="#" data-bs-toggle="tooltip" title="Choose \'' . SINGLE_RECORD . '\' if your table contains only one record. The details of the record will be displayed row by row on the page, rather than as a list. This is useful, for example, for a general configuration table in which a single record contains all the settings."><i class="fas fa-xl fa-question-circle text-secondary-700 append"></i></a>');
define('TIME_DISPLAY_TIP', '<a href="#" data-bs-toggle="tooltip" title="Time displayed in the administration interface"><i class="fas fa-xl fa-question-circle text-secondary-700 append"></i></a>');
define('VIEW_RECORD_BUTTON_TIP', '<a href="#" data-bs-toggle="tooltip" title="Allows the admin users to view the details of each record with a button from the READ List, next to the edit/delete buttons."><i class="fas fa-xl fa-question-circle text-secondary-700 append"></i></a>');

// months
define('JANUARY', 'January');
define('FEBRUARY', 'February');
define('MARCH', 'March');
define('APRIL', 'April');
define('MAY', 'May');
define('JUNE', 'June');
define('JULY', 'July');
define('AUGUST', 'August');
define('SEPTEMBER', 'September');
define('OCTOBER', 'October');
define('NOVEMBER', 'November');
define('DECEMBER', 'December');

// help html content
define('AJAX_LOADING_HELP', 'Enable ajax loading if your table contains a lot of records.');
define('ADMIN_AUTHENTICATION_MODULE_HELPER', 'The User Authentication Module installer allows you to <a href="https://www.phpcrudgenerator.com/tutorials/user-profiles-and-rights" class="text-info-800">configure the rights access to the admin elements</a>.<br><strong>It should therefore be installed last after having created all the elements of the CRUD</strong>.');
define('AUTO_INCREMENT_HELP', '<p class="text-muted">Auto-increment fields values are automatically generated in CREATE forms<br>Validation is automatic and cannot be changed</p>');
define('DRAG_AND_DROP_HELP', 'Drag &amp; drop to organize - <span class="text-gray">Empty categories will be automatically removed</span>');
define('FIELD_DELETE_CONFIRM_HELP', '<p class="text-muted">Fields displayed to user in admin to confirm deletion</p>');

$filter_help = '<div class="w-100 p-5 text-bg-info-200">' . "\n";
$filter_help .= '<p class="alert alert-info has-icon">Use <a href="https://www.activedbsoft.com/overview-querytool.html" rel="nofollow" target="_blank">FlySpeed SQL Query</a> to generate and test your queries</p>';
$filter_help .= '<dl class="dl-horizontal mb-20">' . "\n";

$filter_help .= '<dt>' . LABEL . '</dt>' . "\n";
$filter_help .= '<dd>Label displayed next to the drop-down list.<br>Example : "Author"</dd>' . "\n";

$filter_help .= '<dt>' . VALUE_S . '</dt>' . "\n";
$filter_help .= '<dd>Fields to be displayed in the drop-down list, separated by "+".<br>Example : "authors.name + authors.first_name"</dd>' . "\n";

$filter_help .= '<dt>' . FIELDS . '</dt>' . "\n";
$filter_help .= '<dd>Fields for the query SQL SELECT.<br>Example : "authors.name, authors.first_name, articles.authors_id"</dd>' . "\n";

$filter_help .= '<dt>' . FIELDS_TO_FILTER . '</dt>' . "\n";
$filter_help .= '<dd>The field used to filter the query.<br>Example : "articles.authors_id"</dd>' . "\n";

$filter_help .= '<dt>' . SQL_FROM . '</dt>' . "\n";
$filter_help .= '<dd>SQL FROM query.<br>Example : "articles Left Join authors On articles.authors_id = authors.id"</dd>' . "\n";

$filter_help .= '<dt>' . VALUES_TYPE . '</dt>' . "\n";
$filter_help .= '<dd>Text or Boolean.</dd>' . "\n";

$filter_help .= '</dl>' . "\n";
$filter_help .= '<p><span class="fw-bold">The query cited as an example will be the following :</span></p><pre class=" mb-20"><code>SELECT DISTINCT authors.name, authors.first_name, articles.authors_id FROM articles INNER JOIN authors ON articles.authors_id = authors.id</code></pre>' . "\n";
$filter_help .= '<p><span class="fw-bold">When the user has chosen an item from the list :</span></p><pre><code>SELECT DISTINCT authors.name, authors.first_name, articles.authors_id FROM articles INNER JOIN authors ON articles.authors_id = authors.id WHERE articles.authors_id = [posted value]</code></pre>' . "\n";
$filter_help .= '</div>' . "\n";
define('FILTER_HELP', $filter_help);

$filter_help_3 = '<p class="alert alert-warning has-icon">Use <span class="badge text-lowercase bg-yellow-400"><code>table.field</code></span> rather than <span class="badge text-lowercase bg-yellow-400"><code>field</code></span> to avoid ambiguous queries.</p>';
define('FILTER_HELP_3', $filter_help_3);

define('RESET_DATA_CHOICES_HELP_1', '<p>In both cases the table and its data have to be rebuilt and will be removed from admin panel.</p>');
define('RESET_DATA_CHOICES_HELP_2', '<p><span class="text-danger-300 prepend">*</span>If the table structure has changed it will be updated (add/change/delete fields). Existing data will be <span class="fw-bold">retained</span> (custom field names, filters, field types, select values, ...)</p>');
define('RESET_DATA_CHOICES_HELP_3', '<p><span class="text-danger-400 prepend">**</span>If the table structure has changed it will be updated (add/change/delete fields). Existing data will be <span class="fw-bold">reset</span> (custom field names, filters, field types, select values, ...)</p>');

define('REFRESH_DB_RELATIONS_HELPER', 'Click this button when you have modified relationships in your database for the CRUD Generator to take them into account.');

define('REFRESH_DB_STRUCTURE_HELPER', 'Click this button when you have modified your database structure for the CRUD Generator to take the changes into account.');

define('REFRESH_TABLE_HELPER', 'Click this button when you have modified your table structure for the CRUD Generator to take the changes into account.');

define('ALLOW_CRUD_IN_LIST', 'Allow users to add/edit/delete records from the <span class="fw-bold">READ LIST</span>');

define('EXPLAIN_RELATION', 'Explain this relationship');
$relation_many_to_many = '<div class="w-100 p-5 text-bg-info-200">';
$relation_many_to_many .= '<p class="h5"><span class="badge text-bg-info">MANY_TO_MANY Relation</span></p><p>Enabling this relationship allows you to associate one or more <code class="badge text-bg-info-400">%target_table%</code> with each table record <code class="badge text-bg-info-400">%origin_table%</code>.</p><p class="mb-5">The <code class="badge text-bg-info-400">%intermediate_table%</code> table is in this case a <span class="fw-bold">pure relational table</span> which connects the <code class="badge text-bg-info-400">%target_table%</code> to the <code class="badge text-bg-info-400">%origin_table%</code> table.</p><p>The <span class="fw-bold">READ LIST</span> will display the records of the table <code class="badge text-bg-info-400">%target_table%</code> in a nested table.</p><p>Depending on your choice, the <span class="fw-bold">CREATE</span> and <span class="fw-bold">EDIT</span> forms will allow to associate the records of the table <code class="badge text-bg-info-400">%target_table%</code> to the <code class="badge text-bg-info-400">%origin_table%</code> added/edited,<br>OR to add/edit/delete the records of the table <code class="badge text-bg-info-400">%target_table%</code>.</p>';
$relation_many_to_many .= '</div>';
define('EXPLAIN_RELATION_MANY_TO_MANY', $relation_many_to_many);

$relation_one_to_many = '<div class="w-100 p-5 text-bg-info-200">';
$relation_one_to_many .= '<p class="h5"><span class="badge text-bg-info">ONE_TO_MANY Relation</span></p><p class="mb-5">If you enable this relationship, the <span class="fw-bold">READ LIST</span> will display for each record in the table <code class="badge text-bg-info-400">%target_table%</code> the matching entries of the table <code class="badge text-bg-info-400">%original_table%</code> in a sub-drop-down table.</p><p>If you enable the <span class="fw-bold"><em>' . ALLOW_CRUD_IN_LIST . '</em></span> option the users will be able to  add/edit/delete the records from the table <code class="badge text-bg-info-400">%origin_table%</code> directly from this subtable.</p>';
$relation_one_to_many .= '</div>';
define('EXPLAIN_RELATION_ONE_TO_MANY', $relation_one_to_many);

$reinstall_help = '<p>This form allows you in one click to restore PHP CRUD Generator to its original version and start a new installation.</p>';
$reinstall_help .= '<p class="text-danger">Warning: Files and data will be permanently deleted.</p>';
$reinstall_help .= '<p>If you want to keep a backup:</p>';
$reinstall_help .= '<ol><li>make a copy of the "admin" and "generator" directories</li>';
$reinstall_help .= '<li>make an SQL backup of your table %PHPCG_USERDATA_TABLE%</li></ol>';
$reinstall_help .= '<p class="mb-5">You can then restore them to find the Generator and the admin with all your data.</p>';
define('REINSTALL_HELP', $reinstall_help);

define('SIDE_BY_SIDE_COMPARISON_NEED_HELP', '<h3>Why this tool?</h3><p>This tool is useful when you have made code changes in admin files generated by the CRUD Generator.<br>It allows you to recover your changes after regenerating these files from the CRUD Generator.</ p> <h3>How does it work?</h3> <p>When you generate the admin files from the CRUD Generator, if a previous version exists it is automatically saved in the folder <span class="badge text-bg-light">generator/backup-files</span> <br> If you have modified the admin files code, then regenerated these files from the CRUD Generator, you will find your modified code in the left column (saved version).<br> The right column displays the code of the active file, used in the administration.<br> The differences between the two versions are highlighted.</p> <ol class="numbered"> <li class="mb-2">Click on the parts of code to keep in the left or right column.</li> <li class="mb-2">Click the <span class="badge text-bg-light">' . MERGE . '</span> button to apply your changes.</li> </ol> <p>The modifications are applied in active file used in the administration.<br> The backup file <span class="badge text-bg-light">generator/backup-files</span> is kept as is without any modification.</p>');

$allow_records_management_in_forms = 'Allow users to manage %target_table% from the Add/Edit %origin_table% forms';
define('ALLOW_RECORDS_MANAGEMENT_IN_FORMS', $allow_records_management_in_forms);

define('WRONG_TABLE_DATA_MESSAGE', '<div class="alert alert-danger has-icon my-4">
<p><span class="fw-bold">Your navigation bar uses one or more tables whose structure needs to be regenerated.</span></p>
<ol>
<li>Open the generator</li>
<li>select your table then click on the "reset" button</li>
<li>choose "structure" and validate.</li>
<li>Then refresh this page to configure your navigation bar</li>
</ol></div>');

include_once ADMIN_DIR . 'secure/conf/conf.php';

$ut = 'users_table';
if (defined('USERS_TABLE')) {
    $ut = USERS_TABLE;
}
$users_profiles_helper = '<div class="card card-body bg-gray-100 mb-5">';
$users_profiles_helper .= '<h4 class="card-title text-center my-3"><a class="dropdown-toggle text-gray-700" data-bs-toggle="collapse" href="#users-profiles-helper" role="button" aria-expanded="false" aria-controls="users-profiles-helper">Instructions to limit users\' rights</a></h4>';
$users_profiles_helper .= '<div class="collapse" id="users-profiles-helper">';
$users_profiles_helper .= '<ol>';
$users_profiles_helper .= '<li>Set the <span class="fw-bold"><em>Read</em></span>, <span class="fw-bold"><em>Update</em></span>, <span class="fw-bold"><em>Create/Delete</em></span> rights of the table you want to restrict to "<span class="fw-bold">Restricted</span>" in the drodown list</li>';
$users_profiles_helper .= '<li>In the <span class="fw-bold"><em>Constraint Query</em></span> field, enter the <span class="fw-bold"><em>WHERE</em></span> query to use to limit the user\'s rights</li>';
$users_profiles_helper .= '</ol>';
$users_profiles_helper .= '<h4 class="badge text-bg-secondary px-3 py-2">Example: </h4><p><code>WHERE your_table.' . $ut . '_ID = CURRENT_USER_ID</code></p>';
$users_profiles_helper .= '<hr>';
$users_profiles_helper .= '<p><code class="fw-bold">CURRENT_USER_ID</code> will be automatically replaced with the ID of the connected user.</p>';
$users_profiles_helper .= '<hr>';
$users_profiles_helper .= '<p>Your table <span class="fw-bold">MUST</span> have <span class="fw-bold">direct or indirect</span> relationship with <code class="fw-bold">' . $ut . '</code>. For example:</p>';
$users_profiles_helper .= '<ul>';
$users_profiles_helper .= '<li class="mb-2"><code class="fw-bold">your_table.' . $ut . '_ID</code> => <code class="fw-bold">' . $ut . '.ID</code> (direct relationship)</li>';
$users_profiles_helper .= '<li><code class="fw-bold">your_table.t2_ID</code> => <code class="fw-bold">t2.ID</code><br><code class="fw-bold">t2.' . $ut . '_ID</code> => <code class="fw-bold">' . $ut . '.ID</code> (indirect relationship)</li>';
$users_profiles_helper .= '</ul>';
$users_profiles_helper .= '</div>';
$users_profiles_helper .= '</div>';
define('USERS_PROFILES_HELPER', $users_profiles_helper);

// validation helpers
$validation_helper_texts = array(
    'between'       => 'between($min, $max, $include = TRUE, $message = null)',
    'callback'      => 'callback($callback, $message = null, $params = array())',
    'captcha'       => 'captcha($field, $message = null)',
    'ccnum'         => 'ccnum($message = null)',
    'date'          => 'date($message = null)',
    'digits'        => 'digits($message = null)',
    'email'         => 'email($message = null)',
    'endsWith'      => 'endsWith($sub, $message = null)',
    'float'         => 'float($message = null)',
    'hasLowercase'  => 'hasLowercase($message = null)',
    'hasNumber'     => 'hasNumber($message = null)',
    'hasPattern'    => 'hasPattern(\\\'/regex/\\\', $message = null)',
    'hasSymbol'     => 'hasSymbol($message = null)',
    'hasUppercase'  => 'hasUppercase($message = null)',
    'integer'       => 'integer($message = null)',
    'ip'            => 'ip($message = null)',
    'length'        => 'length($length, $message = null)',
    'matches'       => 'matches($field, $label, $message = null)',
    'max'           => 'max($limit, $include = TRUE, $message = null)',
    'maxDate'       => 'maxDate($date, $format, $message = null)',
    'maxLength'     => 'maxLength($length, $message = null)',
    'min'           => 'min($limit, $include = TRUE, $message = null)',
    'minDate'       => 'minDate($date, $format, $message = null)',
    'minLength'     => 'minLength($length, $message = null)',
    'notEndsWith'   => 'notEndsWith($sub, $message = null)',
    'notMatches'    => 'notMatches($field, $label, $message = null)',
    'notStartsWith' => 'notStartsWith($sub, $message = null)',
    'oneOf'         => 'oneOf($allowed, $message = null)',
    'required'      => 'required($message = null)',
    'startsWith'    => 'startsWith($sub, $message = null)',
    'url'           => 'url($message = null)'
);

// password contraints helpers
$lower_char = mb_strtolower(LOWERCASE_CHARACTERS, 'UTF-8');
$char       = mb_strtolower(CHARACTERS, 'UTF-8');
define('MIN_3', AT_LEAST . ' 3 ' . $lower_char);
define('MIN_4', AT_LEAST . ' 4 ' . $lower_char);
define('MIN_5', AT_LEAST . ' 5 ' . $lower_char);
define('MIN_6', AT_LEAST . ' 6 ' . $lower_char);
define('MIN_7', AT_LEAST . ' 7 ' . $lower_char);
define('MIN_8', AT_LEAST . ' 8 ' . $lower_char);
define('LOWER_UPPER_MIN_3', AT_LEAST . ' 3 ' . $char . ' - ' . LOWERCASE . ' + ' . UPPERCASE);
define('LOWER_UPPER_MIN_4', AT_LEAST . ' 4 ' . $char . ' - ' . LOWERCASE . ' + ' . UPPERCASE);
define('LOWER_UPPER_MIN_5', AT_LEAST . ' 5 ' . $char . ' - ' . LOWERCASE . ' + ' . UPPERCASE);
define('LOWER_UPPER_MIN_6', AT_LEAST . ' 6 ' . $char . ' - ' . LOWERCASE . ' + ' . UPPERCASE);
define('LOWER_UPPER_MIN_7', AT_LEAST . ' 7 ' . $char . ' - ' . LOWERCASE . ' + ' . UPPERCASE);
define('LOWER_UPPER_MIN_8', AT_LEAST . ' 8 ' . $char . ' - ' . LOWERCASE . ' + ' . UPPERCASE);
define('LOWER_UPPER_NUMBER_MIN_3', AT_LEAST . ' 3 ' . $char . ' - ' . LOWERCASE . ' + ' . UPPERCASE . ' + ' . NUMBERS);
define('LOWER_UPPER_NUMBER_MIN_4', AT_LEAST . ' 4 ' . $char . ' - ' . LOWERCASE . ' + ' . UPPERCASE . ' + ' . NUMBERS);
define('LOWER_UPPER_NUMBER_MIN_5', AT_LEAST . ' 5 ' . $char . ' - ' . LOWERCASE . ' + ' . UPPERCASE . ' + ' . NUMBERS);
define('LOWER_UPPER_NUMBER_MIN_6', AT_LEAST . ' 6 ' . $char . ' - ' . LOWERCASE . ' + ' . UPPERCASE . ' + ' . NUMBERS);
define('LOWER_UPPER_NUMBER_MIN_7', AT_LEAST . ' 7 ' . $char . ' - ' . LOWERCASE . ' + ' . UPPERCASE . ' + ' . NUMBERS);
define('LOWER_UPPER_NUMBER_MIN_8', AT_LEAST . ' 8 ' . $char . ' - ' . LOWERCASE . ' + ' . UPPERCASE . ' + ' . NUMBERS);
define('LOWER_UPPER_NUMBER_SYMBOL_MIN_3', AT_LEAST . ' 3 ' . $char . ' - ' . LOWERCASE . ' + ' . UPPERCASE . ' + ' . NUMBERS . ' + ' . SYMBOLS);
define('LOWER_UPPER_NUMBER_SYMBOL_MIN_4', AT_LEAST . ' 4 ' . $char . ' - ' . LOWERCASE . ' + ' . UPPERCASE . ' + ' . NUMBERS . ' + ' . SYMBOLS);
define('LOWER_UPPER_NUMBER_SYMBOL_MIN_5', AT_LEAST . ' 5 ' . $char . ' - ' . LOWERCASE . ' + ' . UPPERCASE . ' + ' . NUMBERS . ' + ' . SYMBOLS);
define('LOWER_UPPER_NUMBER_SYMBOL_MIN_6', AT_LEAST . ' 6 ' . $char . ' - ' . LOWERCASE . ' + ' . UPPERCASE . ' + ' . NUMBERS . ' + ' . SYMBOLS);
define('LOWER_UPPER_NUMBER_SYMBOL_MIN_7', AT_LEAST . ' 7 ' . $char . ' - ' . LOWERCASE . ' + ' . UPPERCASE . ' + ' . NUMBERS . ' + ' . SYMBOLS);
define('LOWER_UPPER_NUMBER_SYMBOL_MIN_8', AT_LEAST . ' 8 ' . $char . ' - ' . LOWERCASE . ' + ' . UPPERCASE . ' + ' . NUMBERS . ' + ' . SYMBOLS);

// Secure install messages
define('USER_DATA_RESERVED_NAME', '"user_data" is a reserved table name - please choose another one for your users table');
define('USER_TABLE_ALREADY_EXISTS', 'The table named "%posted_table%" already exists. You have to choose another name.');
define('WRONG_PATTERN', 'The table name must contain only lowercase characters and underscores (_)');

// configuration-form
define('ADMIN_ACTION_BUTTONS_POSITION_TXT', 'Admin ACTION buttons position');
define('ADMIN_LOGO_HELPER', 'The uploaded image will be resized to 100px height');
define('ADMIN_LOGO_TXT', 'Admin logo');
define('COLLAPSE_INACTIVE_SIDEBAR_CATEGORIES_TXT', 'Collapse inactive sidebar categories');
define('CONFIGURATION_SUCCESS_MESSAGE', 'Your settings have been registered');
define('DATE_TIME_TRANSLATIONS_FOR_LISTS_HELPER', 'Set the PHP <code class=language-php">Locale::setDefault</code> to auto-translate PHP dates');
define('DATE_TIME_TRANSLATIONS_FOR_LISTS_TXT', 'Date/Time translation for Admin lists');
define('DATETIMEPICKERS_LANG_HELPER', 'The available languages are located in <span class="badge text-bg-light">class/phpformbuilder/plugins/pickadate/lib/compressed/translations/</span>');
define('DATETIMEPICKERS_LANG_TXT', 'Date &amp; Time pickers language');
define('DATETIMEPICKERS_MATERIAL_LANG_HELPER', 'The available languages are located in <span class="badge text-bg-light">class\phpformbuilder\plugins\material-datepicker\dist\i18n</span>');
define('DEBUGGING', 'Debugging');
define('DEBUG_SETTINGS_TXT', 'Display the database errors');
define('DEBUG_SETTINGS_HELPER', 'Choose "Yes" to display the details when a database query encounters an error.');
define('DEBUG_DB_QUERIES_SETTINGS_TXT', 'Simulate and debug');
define('DEBUG_DB_QUERIES_SETTINGS_HELPER', 'If enabled, all the insert/update/delete queries will be simulated (NOT executed), and the details of all the database queries will be displayed on screen.');
define('DEFAULT_BUTTONS_CLASS_HELPER', 'Bootstrap CSS class for the admin panel secondary buttons');
define('DEFAULT_BUTTONS_CLASS_TXT', 'Default Buttons class');
define('DEFAULT_TABLE_HEADING_CLASS_HELPER', 'Bootstrap CSS class for the admin panel table headings');
define('DEFAULT_TABLE_HEADING_CLASS_TXT', 'Default Table headings background');
define('ENABLE_FILTERS_TXT', 'Enable filters');
define('ENABLE_STYLE_SWITCHING_TXT', 'Enable the ability to change styles from the admin dashboard');
define('ENABLE_STYLE_SWITCHING_HELPER', 'If enabled, each user can choose their theme and navigation bar colours.<br>Their preferences are stored in the browser and do not affect the other users');
define('FORMVALIDATION_JAVASCRIPT_LANG_TXT', 'Live (JavaScript) form validation language');
define('FORMVALIDATION_JAVASCRIPT_LANG_HELPER', 'The available languages are located in <span class="badge text-bg-light">class/phpformbuilder/plugins/formvalidation/js/locales</span>');
define('FORMVALIDATION_PHP_LANG_TXT', 'Server-side (PHP) form validation language');
define('FORMVALIDATION_PHP_LANG_HELPER', '<a href="https://www.phpformbuilder.pro/documentation/class-doc.php#php-validation-multilanguage" target="_blank">https://www.phpformbuilder.pro/documentation/class-doc.php#php-validation-multilanguage <i class="fas fa-up-right-from-square append"></i></a>');
define('LANGUAGE_OTHER_HELPER', 'Enter your language ISO code and create your translation file in <span class="badge text-bg-light">admin\i18n\</span>');
define('LANGUAGE_OTHER_TXT', 'Enter your Language');
define('LANGUAGE_SETTINGS_TXT', 'Language settings');
define('LANGUAGE_TXT', 'Language');
define('LOCK_THE_GENERATOR_HELPER', 'If true you have to enter your email &amp; your purchase code to access to the Generator URL');
define('LOCK_THE_GENERATOR_TXT', 'Lock the Generator');
define('NAVBAR_STYLE_TXT', 'Navbar style');
define('NO_LOCALE', '<p class="alert alert-warning">Enable <a href="https://www.php.net/manual/en/book.intl.php" target="_blank">PHP Internationalization Functions</a> if you want to auto-translate dates &amp; times in the Admin lists.</p>');
define('ON_FILTER_BUTTON_CLICK_TXT', 'When clicking on the "filter" button');
define('ON_SELECT_TXT', 'As soon as a filter is selected in the drop-down list');
define('ON_THE_LEFT', 'On the left');
define('ON_THE_RIGHT', 'On the right');
define('PROJECT', 'Project');
define('SECURITY', 'Security');
define('SIDEBAR_STYLE_TXT', 'Sidebar style');
define('SITE_NAME_HELPER', 'Name displayed in the Admin header');
define('SITE_NAME_TXT', 'Website name');
define('STYLES', 'Styles');
define('USER_INTERFACE', 'User interface');
define('USERS_PASSWORD_CONSTRAINT_HELPER', '<a href="https://www.phpformbuilder.pro/documentation/jquery-plugins.php#passfield-example">Password patterns are explained here</a>');
define('USERS_PASSWORD_CONSTRAINT_TXT', 'Password constraint for new users accounts');
