diff --git a/client/package.json b/client/package.json index 5b02bad8..8fc21755 100644 --- a/client/package.json +++ b/client/package.json @@ -1,13 +1,13 @@ { - "name": "os4-react", - "version": "4.0.0", - "author": "Ivan Diaz ", - "description": "OpenSupports version 4 with reactjs", + "name": "OpenSupports", + "version": "4.1.0", + "author": "Ivan Diaz ", + "description": "Open source ticket system made with PHP and ReactJS", "repository": { "type": "git", - "url": "https://github.com/ivandiazwm/opensupports.git" + "url": "https://github.com/opensupports/opensupports" }, - "private": true, + "private": false, "engines": { "node": "^0.12.x", "npm": "^2.1.x" diff --git a/client/src/actions/session-actions.js b/client/src/actions/session-actions.js index e8e8360d..8fb8045b 100644 --- a/client/src/actions/session-actions.js +++ b/client/src/actions/session-actions.js @@ -14,11 +14,11 @@ export default { path: '/user/login', data: loginData }).then((result) => { - store.dispatch(this.getUserData(result.data.userId, result.data.token, result.data.staff)); - - if(result.data.staff) { - store.dispatch(AdminDataActions.retrieveCustomResponses()); - } + store.dispatch(this.getUserData(result.data.userId, result.data.token, result.data.staff)).then(() => { + if(result.data.staff) { + store.dispatch(AdminDataActions.retrieveCustomResponses()); + } + }); resolve(result); }).catch((result) => { diff --git a/client/src/app-components/stats.scss b/client/src/app-components/stats.scss index 1ce141de..68fcca6e 100644 --- a/client/src/app-components/stats.scss +++ b/client/src/app-components/stats.scss @@ -21,6 +21,7 @@ &-name { font-size: $font-size--md; line-height: 20px; + display: inline-flex; } } diff --git a/client/src/app/App.js b/client/src/app/App.js index da4777d0..4faa9121 100644 --- a/client/src/app/App.js +++ b/client/src/app/App.js @@ -108,7 +108,7 @@ class App extends React.Component { } if(props.config.installedDone && props.config.installed && _.includes(props.location.pathname, '/install')) { - history.push('/'); + history.push('/admin'); } if(isProd && _.includes(props.location.pathname, '/components-demo')) { diff --git a/client/src/app/admin/panel/staff/staff-editor.js b/client/src/app/admin/panel/staff/staff-editor.js index 9b55cff6..be6b3d8b 100644 --- a/client/src/app/admin/panel/staff/staff-editor.js +++ b/client/src/app/admin/panel/staff/staff-editor.js @@ -139,8 +139,8 @@ class StaffEditor extends React.Component { case 'DEPARTMENTS': message = 'DEPARTMENTS_UPDATED'; break; - case 'EMAIL_SETTING': - message = 'EMAIL_SETTING_UPDATED'; + case 'SEND_EMAIL_ON_NEW_TICKET': + message = 'STAFF_UPDATED'; break; case 'FAIL': message = 'FAILED_EDIT_STAFF'; @@ -154,7 +154,7 @@ class StaffEditor extends React.Component { return (
-
this.setState({sendEmailOnNewTicket: form.sendEmailOnNewTicket})} onSubmit={this.onSubmit.bind(this, 'EMAIL_SETTING')}> + this.setState({sendEmailOnNewTicket: form.sendEmailOnNewTicket})} onSubmit={this.onSubmit.bind(this, 'SEND_EMAIL_ON_NEW_TICKET')}> {i18n('UPDATE')} @@ -290,7 +290,7 @@ class StaffEditor extends React.Component { path: '/staff/edit', data: { staffId: this.props.staffId, - sendEmailOnNewTicket: form.sendEmailOnNewTicket, + sendEmailOnNewTicket: form.sendEmailOnNewTicket * 1, email: form.email, password: form.password, level: (form.level !== undefined) ? form.level + 1 : null, diff --git a/client/src/app/install/install-layout.js b/client/src/app/install/install-layout.js index a7f90da5..c276340b 100644 --- a/client/src/app/install/install-layout.js +++ b/client/src/app/install/install-layout.js @@ -14,7 +14,7 @@ const steps = [ 'SERVER_REQUIREMENTS', 'DATABASE_CONFIGURATION', 'USER_SYSTEM', - 'SYSTEM_SETTINGS', + 'SETTINGS', 'ADMIN_SETUP', 'COMPLETED' ]; @@ -25,11 +25,11 @@ class InstallLayout extends React.Component { return ( -
-
+
+
OpenSupports Installation
-
+
{i18n('INSTALL_HEADER_TITLE')}
diff --git a/client/src/app/install/install-layout.scss b/client/src/app/install/install-layout.scss index f6e7cf15..21f3858a 100644 --- a/client/src/app/install/install-layout.scss +++ b/client/src/app/install/install-layout.scss @@ -12,14 +12,9 @@ &__header { text-align: left; - &-logo { - display: inline-block; - max-width: 300px; - } - + &-logo, &-text { display: inline-block; - margin-left: 20px; } &-title { diff --git a/client/src/app/install/install-step-5-settings.js b/client/src/app/install/install-step-5-settings.js index 0c3aa00d..3b614946 100644 --- a/client/src/app/install/install-step-5-settings.js +++ b/client/src/app/install/install-step-5-settings.js @@ -26,7 +26,7 @@ class InstallStep5Settings extends React.Component { render() { return (
-
+
{this.renderMessage()}
this.setState({form})}> @@ -110,6 +110,7 @@ class InstallStep5Settings extends React.Component { API.call({ path: '/system/init-settings', data: _.extend({}, form, { + 'url': root, 'language': this.props.language, 'user-system-enabled': this.props['user-system-enabled'], 'registration': this.props['registration'] diff --git a/client/src/app/main/main-home/__tests__/main-home-page-login-widget-test.js b/client/src/app/main/main-home/__tests__/main-home-page-login-widget-test.js index ae22410a..9738a3f6 100644 --- a/client/src/app/main/main-home/__tests__/main-home-page-login-widget-test.js +++ b/client/src/app/main/main-home/__tests__/main-home-page-login-widget-test.js @@ -95,7 +95,7 @@ describe('Login/Recover Widget', function () { failMessage: 'INVALID_CREDENTIALS' } }); - expect(loginForm.props.errors).to.deep.equal({password: 'Invalid password'}); + expect(loginForm.props.errors).to.deep.equal({password: 'ERROR_PASSWORD'}); expect(loginForm.props.loading).to.equal(false); }); @@ -160,7 +160,7 @@ describe('Login/Recover Widget', function () { component.refs.recoverForm.refs.email.focus.reset(); component.onRecoverPasswordFail(); - expect(recoverForm.props.errors).to.deep.equal({email: 'Email does not exist'}); + expect(recoverForm.props.errors).to.deep.equal({email: 'EMAIL_NOT_EXIST'}); expect(recoverForm.props.loading).to.equal(false); expect(component.refs.recoverForm.refs.email.focus).to.have.been.called; }); @@ -175,7 +175,7 @@ describe('Login/Recover Widget', function () { expect(recoverForm.props.loading).to.equal(false); expect(message).to.not.equal(null); expect(message.props.type).to.equal('info'); - expect(message.props.children).to.equal('An email with recover instructions has been sent.'); + expect(message.props.children).to.equal('RECOVER_SENT'); }); it('should show front side if \'Back to login form\' link is clicked', function () { diff --git a/client/src/app/main/main-layout-footer.js b/client/src/app/main/main-layout-footer.js index 8c9e6edd..a6b4560b 100644 --- a/client/src/app/main/main-layout-footer.js +++ b/client/src/app/main/main-layout-footer.js @@ -1,16 +1,42 @@ import React from 'react'; +import {connect} from 'react-redux'; +import classNames from 'classnames'; class MainLayoutFooter extends React.Component { render() { return ( -
-
- Powered by OpenSupports +
+ {(this.props.adminPanelOpened) ? this.renderExtraLinks() : null} +
+ Powered by OpenSupports
); } + + renderExtraLinks() { + return ( +
+ Documentation + | + Donate +
+ ); + } + + getClass() { + let classes = { + 'main-layout-footer': true, + 'main-layout-footer_admin-panel': this.props.adminPanelOpened + }; + + return classNames(classes); + } } -export default MainLayoutFooter; \ No newline at end of file +export default connect((store) => { + return { + adminPanelOpened: store.session.staff + }; +})(MainLayoutFooter); diff --git a/client/src/app/main/main-layout-footer.scss b/client/src/app/main/main-layout-footer.scss index 7815b24f..2c7d1cc4 100644 --- a/client/src/app/main/main-layout-footer.scss +++ b/client/src/app/main/main-layout-footer.scss @@ -6,14 +6,35 @@ height: 32px; width: 100%; - &--powered { + &__powered, + &__extra-links { + float: right; + padding-right: 20px; color: white; display: inline-block; - padding-top: 7px; + padding-top: 6px; } - &--os-link { - color: $secondary-red; + &__extra-link, + &__os-link { + color: $secondary-blue; text-decoration: none; + + &:hover, + &:focus { + text-decoration: none; + color: black; + } + } + + &__os-link { + color: $secondary-red; + } + + &_admin-panel { + .main-layout-footer__powered { + float: left; + padding-left: 20px; + } } } \ No newline at end of file diff --git a/client/src/app/main/main-recover-password/__tests__/main-recover-password-page-test.js b/client/src/app/main/main-recover-password/__tests__/main-recover-password-page-test.js index 605eda22..3d840ea9 100644 --- a/client/src/app/main/main-recover-password/__tests__/main-recover-password-page-test.js +++ b/client/src/app/main/main-recover-password/__tests__/main-recover-password-page-test.js @@ -59,7 +59,7 @@ describe('Recover Password form', function () { let message = TestUtils.scryRenderedComponentsWithType(component, Message)[0]; expect(message).to.not.equal(null); expect(message.props.type).to.equal('error'); - expect(message.props.children).to.equal('Invalid recover data'); + expect(message.props.children).to.equal('INVALID_RECOVER'); }); it('should show message when recover success', function () { @@ -69,6 +69,6 @@ describe('Recover Password form', function () { let message = TestUtils.scryRenderedComponentsWithType(component, Message)[0]; expect(message).to.not.equal(null); expect(message.props.type).to.equal('success'); - expect(message.props.children).to.equal('Password recovered successfully'); + expect(message.props.children).to.equal('VALID_RECOVER'); }); }); diff --git a/client/src/data/language-list.js b/client/src/data/language-list.js index fa44755e..51d9054e 100644 --- a/client/src/data/language-list.js +++ b/client/src/data/language-list.js @@ -8,6 +8,7 @@ import japaneseLanguage from 'data/languages/jp'; import portugueseLanguage from 'data/languages/pt'; import russianLanguage from 'data/languages/ru'; import turkishLanguage from 'data/languages/tr'; +import italianLanguage from 'data/languages/it'; export default { 'en': { @@ -49,5 +50,9 @@ export default { 'in': { name: 'Hindi', data: indianLanguage + }, + 'it': { + name: 'Italian', + data: italianLanguage } }; \ No newline at end of file diff --git a/client/src/data/languages/cn.js b/client/src/data/languages/cn.js index 8ebd5be4..cc381944 100644 --- a/client/src/data/languages/cn.js +++ b/client/src/data/languages/cn.js @@ -177,6 +177,7 @@ export default { 'TICKET_NUMBER': '票號', 'NEXT': '下一個', 'SEND_EMAIL_ON_NEW_TICKET': '电子邮件为每个新票', + 'STAFF_UPDATED': '工作人员已更新', 'UPDATE': '更新', 'CHART_CREATE_TICKET': '已創建門票', @@ -241,8 +242,9 @@ export default { 'STEP_2_DESCRIPTION': '這裡列出了運行OpenSupports的要求。請確保滿足所有要求。', 'STEP_3_DESCRIPTION': '請填寫MySQL數據庫配置。', 'STEP_4_DESCRIPTION': '請選擇您的用戶系統首選項。', - 'STEP_5_DESCRIPTION': '請配置管理員帳號。', - 'STEP_6_DESCRIPTION': '安裝完成', + 'STEP_5_DESCRIPTION': '请选择您的一般系统偏好。', + 'STEP_6_DESCRIPTION': '請配置管理員帳號。', + 'STEP_7_DESCRIPTION': '安裝完成', //VIEW DESCRIPTIONS 'CREATE_TICKET_DESCRIPTION': '這是一個用於創建票證的表單。填寫表格並將您的問題/疑問/建議發送給我們。我們的支持系統將盡快回答。', diff --git a/client/src/data/languages/de.js b/client/src/data/languages/de.js index 2586cf66..c615dc9d 100644 --- a/client/src/data/languages/de.js +++ b/client/src/data/languages/de.js @@ -177,6 +177,7 @@ export default { 'TICKET_NUMBER': 'Ticketnummer', 'NEXT': 'Nächster', 'SEND_EMAIL_ON_NEW_TICKET': 'Email für jedes neues Ticket', + 'STAFF_UPDATED': 'Mitarbeiter wurde aktualisiert', 'UPDATE': 'Aktualisierung', 'CHART_CREATE_TICKET': 'Tickets erstellt', @@ -241,8 +242,9 @@ export default { 'STEP_2_DESCRIPTION': 'Hier sind die Voraussetzungen für das Ausführen von OpenSupports aufgelistet. Bitte stellen Sie sicher, dass alle Anforderungen erfüllt sind.', 'STEP_3_DESCRIPTION': 'Bitte füllen Sie die MySQL-Datenbankkonfiguration aus.', 'STEP_4_DESCRIPTION': 'Bitte wählen Sie Ihre Benutzer-Einstellungen.', - 'STEP_5_DESCRIPTION': 'Bitte konfigurieren Sie das Administratorkonto.', - 'STEP_6_DESCRIPTION': 'Die Installation ist abgeschlossen.', + 'STEP_5_DESCRIPTION': 'Bitte wählen Sie Ihre allgemeinen Systemeinstellungen aus.', + 'STEP_6_DESCRIPTION': 'Bitte konfigurieren Sie das Administratorkonto.', + 'STEP_7_DESCRIPTION': 'Die Installation ist abgeschlossen.', //VIEW DESCRIPTIONS 'CREATE_TICKET_DESCRIPTION': 'Dies ist ein Formular für die Erstellung von Tickets. Füllen Sie das Formular aus und senden Sie uns Ihre Fragen / Anregungen. Unser Support-System wird so schnell wie möglich antworten.', @@ -359,7 +361,6 @@ export default { 'REMEMBER_ME': 'Merken', 'EMAIL_LOWERCASE': 'Email', 'PASSWORD_LOWERCASE': 'Passwort', - 'SYSTEM_SETTINGS': 'System settings', 'TEST_SMTP_CONNECTION': 'SMTP-Verbindung testen', 'SMTP_CONNECTION_SUCCESS': 'SMTP-Anmeldeinformationen sind gültig.', 'SMTP_CONNECTION_ERROR': 'Kann keine Verbindung zum SMTP-Server herstellen.' diff --git a/client/src/data/languages/en.js b/client/src/data/languages/en.js index 1f373680..641559fa 100644 --- a/client/src/data/languages/en.js +++ b/client/src/data/languages/en.js @@ -177,6 +177,7 @@ export default { 'TICKET_NUMBER': 'Ticket number', 'NEXT': 'Next', 'SEND_EMAIL_ON_NEW_TICKET': 'Send email on new ticket', + 'STAFF_UPDATED': 'Staff member has been updated', 'UPDATE': 'Update', 'CHART_CREATE_TICKET': 'Tickets created', @@ -241,7 +242,7 @@ export default { 'STEP_2_DESCRIPTION': 'Here are listed the requirements for running OpenSupports. Please make sure that all requirements are satisfied.', 'STEP_3_DESCRIPTION': 'Please fill the MySQL database configuration.', 'STEP_4_DESCRIPTION': 'Please select your user system preferences.', - 'STEP_5_DESCRIPTION': 'Please select your general system preferences.', + 'STEP_5_DESCRIPTION': 'Please fill your general system preferences.', 'STEP_6_DESCRIPTION': 'Please configure the administrator account.', 'STEP_7_DESCRIPTION': 'Installation is completed.', @@ -360,7 +361,6 @@ export default { 'REMEMBER_ME': 'Remember me', 'EMAIL_LOWERCASE': 'email', 'PASSWORD_LOWERCASE': 'password', - 'SYSTEM_SETTINGS': 'System settings', 'TEST_SMTP_CONNECTION': 'Test SMTP connection', 'SMTP_CONNECTION_SUCCESS': 'SMTP credentials are valid.', 'SMTP_CONNECTION_ERROR': 'Can\'t connect to SMTP server.' diff --git a/client/src/data/languages/es.js b/client/src/data/languages/es.js index 13273cbb..3ce3918e 100644 --- a/client/src/data/languages/es.js +++ b/client/src/data/languages/es.js @@ -177,6 +177,7 @@ export default { 'TICKET_NUMBER': 'Número de Ticket', 'NEXT': 'Siguiente', 'SEND_EMAIL_ON_NEW_TICKET': 'Enviar email por cada nuevo ticket', + 'STAFF_UPDATED': 'Miembro de Staff actualizado', 'UPDATE': 'Actualizar', 'CHART_CREATE_TICKET': 'Tickets creados', @@ -241,8 +242,9 @@ export default { 'STEP_2_DESCRIPTION': 'Aqui estan listados los requisitos para OpenSupports. Por favor, asegúrese de cumplir con todos los requisitos.', 'STEP_3_DESCRIPTION': 'Por favor, complete la configuracion de la base de datos MySQL.', 'STEP_4_DESCRIPTION': 'Por favor, seleccione sus preferencias de sistema de usuarios.', - 'STEP_5_DESCRIPTION': 'Por favor, configure la cuenta de administrador.', - 'STEP_6_DESCRIPTION': 'La instalación ha sido completada.', + 'STEP_5_DESCRIPTION': 'Pro favor, seleccione sus preferencias generales del sistema.', + 'STEP_6_DESCRIPTION': 'Por favor, configure la cuenta de administrador.', + 'STEP_7_DESCRIPTION': 'La instalación ha sido completada.', //VIEW DESCRIPTIONS 'CREATE_TICKET_DESCRIPTION': 'Este es un formulario para crear tickets. Rellene el formulario y envíenos sus dudas. Nuestro sistema de soporte responderá lo antes posible.', diff --git a/client/src/data/languages/fr.js b/client/src/data/languages/fr.js index 4f012bbd..9eba1ce9 100644 --- a/client/src/data/languages/fr.js +++ b/client/src/data/languages/fr.js @@ -177,6 +177,7 @@ export default { 'TICKET_NUMBER': 'Numéro de ticket', 'NEXT': 'Suivant', 'SEND_EMAIL_ON_NEW_TICKET': 'Envoyer un e-mail pour chaque nouveau ticket', + 'STAFF_UPDATED': 'Le membre du personnel a été mis à jour', 'UPDATE': 'Mettre à jour', 'CHART_CREATE_TICKET': 'Tickets créés', @@ -241,8 +242,9 @@ export default { 'STEP_2_DESCRIPTION': 'Voici les conditions requises pour exécuter OpenSupports. Assurez-vous que toutes les conditions requises soient satisfaites.', 'STEP_3_DESCRIPTION': 'Veuillez remplir la configuration de la base de données MySQL.', 'STEP_4_DESCRIPTION': 'Veuillez sélectionner les préférences de votre système utilisateur.', - 'STEP_5_DESCRIPTION': 'Veuillez configurer le compte administrateur.', - 'STEP_6_DESCRIPTION': 'L\'installation est terminée.', + 'STEP_5_DESCRIPTION': 'Sélectionnez vos préférences générales du système.', + 'STEP_6_DESCRIPTION': 'Veuillez configurer le compte administrateur.', + 'STEP_7_DESCRIPTION': 'L\'installation est terminée.', //VIEW DESCRIPTIONS 'CREATE_TICKET_DESCRIPTION': 'Il s\'agit d\'un formulaire de création de tickets. Remplissez le formulaire et envoyez-nous vos questions / doutes / suggestions. Notre système de support répondra le plus rapidement possible.', diff --git a/client/src/data/languages/in.js b/client/src/data/languages/in.js index 5f2092ef..2ddac92b 100644 --- a/client/src/data/languages/in.js +++ b/client/src/data/languages/in.js @@ -177,6 +177,7 @@ export default { 'TICKET_NUMBER': 'टिकट नंबर', 'NEXT': 'आगामी', 'SEND_EMAIL_ON_NEW_TICKET': 'एक ईमेल भेजने के लिए प्रत्येक नए टिकट', + 'STAFF_UPDATED': 'स्टाफ सदस्य को अद्यतन किया गया है', 'UPDATE': 'अद्यतन', 'CHART_CREATE_TICKET': 'टिकट बनाया', @@ -241,8 +242,9 @@ export default { 'STEP_2_DESCRIPTION': 'यहां OpenSupports चलाने के लिए आवश्यकताओं को सूचीबद्ध किया गया है। कृपया सुनिश्चित करें कि सभी आवश्यकताओं को संतुष्ट किया गया है।', 'STEP_3_DESCRIPTION': 'कृपया MySQL डाटाबेस कॉन्फ़िगरेशन को भरें।', 'STEP_4_DESCRIPTION': 'कृपया अपना उपयोगकर्ता सिस्टम वरीयता चुनें', - 'STEP_5_DESCRIPTION': 'कृपया व्यवस्थापक खाते को कॉन्फ़िगर करें', - 'STEP_6_DESCRIPTION': 'स्थापना पूर्ण हो गई है।', + 'STEP_5_DESCRIPTION': 'कृपया अपनी सामान्य सिस्टम वरीयताओं का चयन करें', + 'STEP_6_DESCRIPTION': 'कृपया व्यवस्थापक खाते को कॉन्फ़िगर करें', + 'STEP_7_DESCRIPTION': 'स्थापना पूर्ण हो गई है।', //VIEW DESCRIPTIONS 'CREATE_TICKET_DESCRIPTION': 'यह टिकट बनाने के लिए एक रूप है। फार्म भरें और हमें अपने मुद्दों / संदेह / सुझाव भेज सकते हैं। हमारे समर्थन प्रणाली के रूप में जल्द से जल्द यह जवाब देना होगा।', diff --git a/client/src/data/languages/it.js b/client/src/data/languages/it.js new file mode 100644 index 00000000..1fcd8359 --- /dev/null +++ b/client/src/data/languages/it.js @@ -0,0 +1,368 @@ +export default { + 'WELCOME': 'Benvenuto', + 'TICKETS': 'Tickets', + 'ARTICLES': 'Articoli', + 'ACCOUNT': 'Account', + 'SUBMIT': 'Invia', + 'EMAIL': 'Email', + 'PASSWORD': 'Password', + 'REPEAT_PASSWORD': 'Ripeti Password', + 'LOG_IN': 'Log In', + 'SIGN_UP': 'Registrati', + 'FORGOT_PASSWORD': 'Hai dimenticato la password?', + 'RECOVER_PASSWORD': 'Recupera Password', + 'RECOVER_SENT': 'E\' stata inviata un\'email con le istruzioni per il recupero della password.', + 'NEW_EMAIL': 'Nuova Email', + 'FULL_NAME': 'Nome Completo', + 'OLD_PASSWORD': 'Vecchia Password', + 'NEW_PASSWORD': 'Nuova Password', + 'REPEAT_NEW_PASSWORD': 'Ripeti la nuova password', + 'BACK_LOGIN_FORM': 'Ritorna al modulo di login', + 'VIEW_ARTICLES': 'Visualizza gli articoli', + 'EDIT_PROFILE': 'Modifica Profilo', + 'CLOSE_SESSION': 'Chiudi Sessione', + 'CREATE_TICKET': 'Crea Ticket', + 'TICKET_LIST': 'Lista Ticket', + 'SUPPORT_CENTER': 'Support Center', + 'DEPARTMENT': 'Department', + 'AUTHOR': 'Autore', + 'DATE': 'Data', + 'RESPOND': 'Rispondi', + 'RESPOND_TICKET': 'Rispondi al ticket', + 'NO_ATTACHMENT': 'Nessun file allegato', + 'STAFF': 'Staff', + 'CUSTOMER': 'Customer', + 'YES': 'Si', + 'NO': 'No', + 'CANCEL': 'Cancellla', + 'MY_ACCOUNT': 'Mio Account', + 'DASHBOARD': 'Dashboard', + 'USERS': 'Utente', + 'SETTINGS': 'Impostazioni', + 'STATISTICS': 'Statistiche', + 'LAST_ACTIVITY': 'Ultime Attività', + 'MY_TICKETS': 'I miei Tickets', + 'NEW_TICKETS': 'Nuovo Tickets', + 'ALL_TICKETS': 'Tutti i Tickets', + 'CUSTOM_RESPONSES': 'Risposte Personalizzate', + 'LIST_USERS': 'Lista Utenti', + 'BAN_USERS': 'Utenti Indesiderati', + 'LIST_ARTICLES': 'Lista Articoli', + 'STAFF_MEMBERS': 'Membri dello Staff', + 'DEPARTMENTS': 'Dipartimenti', + 'SYSTEM_PREFERENCES': 'Impostazioni Preferite', + 'ADVANCED_SETTINGS': 'Impostazioni Avanzate', + 'EMAIL_TEMPLATES': 'Email Templates', + 'FILTERS_CUSTOM_FIELDS': 'Filtri e Campi Personalizzati', + 'PRIORITY': 'Priorità', + 'NUMBER': 'Numero', + 'HIGH': 'Alta', + 'MEDIUM': 'Media', + 'LOW': 'Bassa', + 'TITLE': 'Oggetto', + 'CONTENT': 'Contenuto', + 'SAVE': 'Salva', + 'DISCARD_CHANGES': 'Non Salvare le Modifiche', + 'DELETE': 'Elimina', + 'LANGUAGE': 'Lingua', + 'OWNER': 'Owner', + 'OWNED': 'Owned', + 'STATUS': 'Stato', + 'NONE': 'None', + 'OPENED': 'Operto', + 'CLOSED': 'Chiuso', + 'CLOSE': 'Chiuso', + 'RE_OPEN': 'Riaperto', + 'ASSIGN_TO_ME': 'Assegnato a me', + 'UN_ASSIGN': 'Non Assegnato', + 'VIEW_TICKET': 'Visualizza Ticket', + 'VIEW_TICKET_DESCRIPTION': 'Controlla lo stato del tuo ticket utilizzando il numero del ticket e l\'inidirzzo email.', + 'SELECT_CUSTOM_RESPONSE': 'Seleziona una risposta personalizzata...', + 'WARNING': 'Avvertenza', + 'INFO': 'Informazione', + 'ALL_DEPARTMENTS': 'Tutti i Dipartimenti', + 'EMAIL_BANNED': 'Email banned', + 'UN_BAN': 'Disable ban', + 'BAN_NEW_EMAIL': 'Ban new email', + 'BAN_EMAIL': 'Ban email', + 'EDIT_EMAIL': 'Modifica email', + 'EDIT_PASSWORD': 'Modifica password', + 'CHANGE_EMAIL': 'Modificare email', + 'CHANGE_PASSWORD': 'Modificare password', + 'NAME': 'Nome', + 'SIGNUP_DATE': 'Data di iscrizione', + 'SEARCH_USERS': 'Cerca utente...', + 'SEARCH_EMAIL': 'Cerca email...', + 'USER_VIEW_TITLE': 'User #{userId}', + 'EDIT_TOPIC': 'Modifica Argomento', + 'ADD_TOPIC': 'Aggiugni Argomento', + 'ICON': 'Icona', + 'COLOR': 'Colore', + 'ADD_NEW_ARTICLE': 'Aggiungi un nuovo articolo', + 'ADD_ARTICLE': 'Aggiungi articolo', + 'LAST_EDITED_IN': 'Ultimo aggiornamento {date}', + 'EDIT': 'Modifica', + 'NO_RESULTS': 'Nessun risultato', + 'DELETE_AND_BAN': 'Delete and ban', + 'STAFF_LEVEL': 'Livello Staff', + 'ASSIGNED': 'Assegnato', + 'ASSIGNED_TICKETS': '{tickets} Tickets assegnato', + 'CLOSED_TICKETS': '{tickets} Tickets chiuso', + 'LAST_LOGIN': 'Ultima login', + 'ADD_NEW_STAFF': 'Aggiungi nuovo membro allo staff', + 'ADD_STAFF': 'Aggiungi staff', + 'LEVEL': 'Livello', + 'LEVEL_1': 'Livello 1 (Tickets)', + 'LEVEL_2': 'Livello 2 (Tickets + Articolo)', + 'LEVEL_3': 'Livello 3 (Tickets + Articolo + Staff)', + 'LEVEL_1_DESCRIPTION': 'può solo rispondere ai ticket e gestire gli utenti.', + 'LEVEL_2_DESCRIPTION': 'può solo rispondere ai ticket e gestire gli utenti, può creare o modificare articoli e può creare risposte personalizzate.', + 'LEVEL_3_DESCRIPTION': 'può solo rispondere ai ticket e gestire gli utenti, può creare o modificare articoli e può creare risposte personalizzate, può creare o modificare i membri del personale e gestire l\'intero sistema.', + 'UPDATE_EMAIL': 'Aggiorna email', + 'UPDATE_PASSWORD': 'Aggiorna password', + 'UPDATE_LEVEL': 'Aggiorna livello', + 'UPDATE_DEPARTMENTS': 'Aggiorna dipartimento', + 'EDIT_STAFF': 'Modifica membro dello staff', + 'ADD_DEPARTMENT': 'Inserisci dipartimento', + 'UPDATE_DEPARTMENT': 'Aggiorna dipartimento', + 'TRANSFER_TICKETS_TO': 'Trasferisci il ticket a ', + 'COMMENTS': 'Commenti', + 'DELETE_STAFF_MEMBER': 'Cancella membro dello staff', + 'MAINTENANCE_MODE': 'Modalità manutenzione', + 'MAINTENANCE_MODE_INFO': 'Il sistema è temporaneamente in manutenzione.', + 'RECOVER_DEFAULT': 'Ripristina originale', + 'SUPPORT_CENTER_URL': 'Support Center URL', + 'SUPPORT_CENTER_TITLE': 'Support Center Titolo', + 'SUPPORT_CENTER_LAYOUT': 'Support Center Layout', + 'DEFAULT_TIMEZONE': 'Default Timezone (GMT)', + 'NOREPLY_EMAIL': 'Noreply Email', + 'SMTP_USER': 'SMTP User', + 'SMTP_SERVER': 'SMTP Server', + 'SMTP_PASSWORD': 'SMTP Password', + 'PORT': 'Port', + 'RECAPTCHA_PUBLIC_KEY': 'Recaptcha Public Key', + 'RECAPTCHA_PRIVATE_KEY': 'Recaptcha Private Key', + 'ALLOW_FILE_ATTACHMENTS': 'Consenti di allegare file', + 'MAX_SIZE_KB': 'Dimensione massima (KB)', + 'UPDATE_SETTINGS': 'Aggiorna modifiche', + 'DEFAULT_LANGUAGE': 'Lingua predefinita', + 'SUPPORTED_LANGUAGES': 'Lingue supportate', + 'SUPPORTED_LANGUAGES_INFO': 'I ticket possono essere scritti solo nelle lingue supportate.', + 'ALLOWED_LANGUAGES': 'Lingue consentite', + 'ALLOWED_LANGUAGES_INFO': 'Le lingue consentite sono le lingue che possono essere utilizzate da un utente.', + 'SETTINGS_UPDATED': 'Le impostazioni sono state aggiornate', + 'ON': 'On', + 'OFF': 'Off', + 'BOXED': 'Boxed', + 'FULL_WIDTH': 'Full width', + 'LOAD_MORE': 'Load More', + 'MY_NOTIFICATIONS': 'Le mie notifiche', + 'ALL_NOTIFICATIONS': 'Tutte le notifiche', + 'VERIFY_SUCCESS': 'Utente verificato', + 'VERIFY_FAILED': 'Impossibile verificare', + 'ENABLE_USER_SYSTEM': 'Utilizza il sistema utente', + 'ENABLE_USER_REGISTRATION': 'Abilita la registrazione degli utenti', + 'INCLUDE_USERS_VIA_CSV': 'Aggiungi utenti tramite file CSV', + 'BACKUP_DATABASE': 'Backup database', + 'DELETE_ALL_USERS': 'Cancella tutti gli utenti', + 'PLEASE_CONFIRM_PASSWORD': 'Devi confermare la tua password per apportare queste modifiche', + 'REGISTRATION_API_KEYS': 'Registrazione API keys', + 'NAME_OF_KEY': 'Name of key', + 'KEY': 'Key', + 'ADD_API_KEY': 'Add API Key', + 'NO_KEY_SELECTED': 'No Key selected', + 'CHECK_TICKET': 'Controlla Ticket', + 'ACTIVITY': 'Attività', + 'HOME': 'Home', + 'TICKET_NUMBER': 'Ticket numero', + 'NEXT': 'Prossimo', + 'SEND_EMAIL_ON_NEW_TICKET': 'Invia e-mail al nuovo ticket', + 'STAFF_UPDATED': 'Il membro del personale è stato aggiornato', + 'UPDATE': 'Aggiornare', + + 'CHART_CREATE_TICKET': 'Tickets creato', + 'CHART_CLOSE': 'Tickets chiuso', + 'CHART_SIGNUP': 'Registrati', + 'CHART_COMMENT': 'Rispondi', + 'CHART_ASSIGN': 'Assegnato', + + //ACTIVITIES + 'ACTIVITY_COMMENT': 'Commento al ticket', + 'ACTIVITY_ASSIGN': 'Ticket assegnato', + 'ACTIVITY_UN_ASSIGN': 'Ticket non assegnato', + 'ACTIVITY_CLOSE': 'Ticket chiuso', + 'ACTIVITY_CREATE_TICKET': 'Ticket creato', + 'ACTIVITY_RE_OPEN': 'Ticket riaperto', + 'ACTIVITY_DEPARTMENT_CHANGED': 'Cambio reparto al ticket', + 'ACTIVITY_PRIORITY_CHANGED': 'Priorità del ticket modificata', + + 'ACTIVITY_EDIT_SETTINGS': 'impostazioni modificate', + 'ACTIVITY_SIGNUP': 'signed up', + 'ACTIVITY_ADD_TOPIC': 'Topic aggiunto', + 'ACTIVITY_ADD_ARTICLE': 'Articolo Aggiunto', + 'ACTIVITY_DELETE_TOPIC': 'Topic Cancellato', + 'ACTIVITY_DELETE_ARTICLE': 'Articolo cancellato', + 'ACTIVITY_EDIT_ARTICLE': 'Modifica articolo', + 'ACTIVITY_ADD_STAFF': 'Membro staff aggiunto', + 'ACTIVITY_ADD_DEPARTMENT': 'Dipartimento aggiunto', + 'ACTIVITY_DELETE_DEPARTMENT': 'Dipartimento cancellato', + 'ACTIVITY_EDIT_DEPARTMENT': 'Dipartimento modificato', + 'ACTIVITY_ADD_CUSTOM_RESPONSE': 'Aggiunta risposta personalizzata', + 'ACTIVITY_DELETE_CUSTOM_RESPONSE': 'Risposta personalizzata cancellata', + 'ACTIVITY_EDIT_CUSTOM_RESPONSE': 'Risposta personalizzata modificata', + 'ACTIVITY_BAN_USER': 'Utente bannato', + 'ACTIVITY_DELETE_USER': 'Utente cancellato', + 'ACTIVITY_UN_BAN_USER': 'Utente non definito', + + 'SERVER_REQUIREMENTS': 'Requisiti Server', + 'DATABASE_CONFIGURATION': 'Configurazione Databasa', + 'ADMIN_SETUP': 'Impostazioni amministratore', + 'COMPLETED': 'Completato', + 'INSTALL_HEADER_TITLE': 'OpenSupports Installation Wizard', + 'INSTALL_HEADER_DESCRIPTION': 'Questa procedura guidata ti aiuterà a configurare e installare OpenSupport sul tuo sito web', + 'SELECT_LANGUAGE': 'Seleziona la lingua', + 'REQUIREMENT': 'Requisiti', + 'VALUE': 'Valore', + 'REFRESH': 'Aggiorna', + 'USER_SYSTEM': 'User System', + 'PREVIOUS': 'Precedente', + 'DATABASE_HOST': 'MySQL server', + 'DATABASE_NAME': 'MySQL database name', + 'DATABASE_USER': 'MySQL user', + 'DATABASE_PASSWORD': 'MySQL password', + 'ADMIN_NAME': 'Nome account amministratore', + 'ADMIN_EMAIL': 'E-mail amministratore', + 'ADMIN_PASSWORD': 'Password account amministratore', + 'ADMIN_PASSWORD_DESCRIPTION': 'Ricordati questa password, è necessaria per accedere al pannello di controllo.', + 'INSTALLATION_COMPLETED': 'Installazione completata.', + 'INSTALLATION_COMPLETED_DESCRIPTION': 'L\'installazione di OpenSupports è completata. Reindirizzamento al pannello di controllo...', + + 'STEP_TITLE': 'Step {current} of {total} - {title}', + 'STEP_1_DESCRIPTION': 'Seleziona la lingua preferita per la procedura guidata di ainstallazione.', + 'STEP_2_DESCRIPTION': 'Ecco elencati i requisiti per l\'esecuzione di OpenSupports. Assicurati che tutti i requisiti siano soddisfatti.', + 'STEP_3_DESCRIPTION': 'Ti preghiamo di compilare la configurazione del database MySQL..', + 'STEP_4_DESCRIPTION': 'Seleziona le preferenze del tuo sistema utente.', + 'STEP_5_DESCRIPTION': 'Seleziona le tue preferenze generali di sistema.', + 'STEP_6_DESCRIPTION': 'Configura l\'account amministratore.', + 'STEP_7_DESCRIPTION': 'L\'installazione è completata.', + + //VIEW DESCRIPTIONS + 'CREATE_TICKET_DESCRIPTION': 'Compila tutti i campi, ti risponderemo il prima possibile.', + 'TICKET_LIST_DESCRIPTION': 'Qui puoi trovare l\'elenco di tutti i ticket che hai creato.', + 'TICKETS_DESCRIPTION': 'Invia il tuo ticket al nostro centro di assistenza.', + 'ARTICLES_DESCRIPTION': 'Qui puoi trovare le risposte alle tue domande.', + 'ACCOUNT_DESCRIPTION': 'Tutti i tuoi ticket sono memorizzati nell\'area personale del tuo account.', + 'SUPPORT_CENTER_DESCRIPTION': 'Benvenuto nel nostro centro assistenza. Puoi contattarci creando un ticket, il nostro staff ti risponderà al più presto. .', + 'CUSTOM_RESPONSES_DESCRIPTION': 'Le risposte personalizzate sono risposte automatiche per problemi comuni', + 'MY_TICKETS_DESCRIPTION': 'Qui puoi visualizzare i ticket che ti hanno assegnato.', + 'NEW_TICKETS_DESCRIPTION': 'Qui puoi visualizare i ticket che non sono ancora stati assegnati.', + 'ALL_TICKETS_DESCRIPTION': 'Qui puoi visualizzare tutti i ticket che sono stati assegnati.', + 'TICKET_VIEW_DESCRIPTION': 'Questo ticket è stato inviato da un utente. Puoi rispondere o assegnare il ticket.', + 'BAN_USERS_DESCRIPTION': 'Elenco utenti bannati. Puoi aggiungerne altri o riabilitarli.', + 'LIST_USERS_DESCRIPTION': 'Elenco utenti registrati. Puoi aggiungere, eliminare o bannare utenti.', + 'USER_VIEW_DESCRIPTION': 'Qui puoi trovare tutte le informazioni su un utente e tutti i ticket inviati dall\'utente. Puoi anche eliminarlo o bannare.', + 'DELETE_USER_DESCRIPTION': 'L\'utente sarà eliminato. Tutti i suoi ticket verranno cancellati. ', + 'DELETE_TOPIC_DESCRIPTION': 'Eliminando il topic, tutti gli articoli verranno cancellati.', + 'EDIT_TOPIC_DESCRIPTION': 'Puoi modificare il topic.', + 'ADD_ARTICLE_DESCRIPTION': 'Qui puoi aggiungere la descrizione di un articolo {category}.', + 'LIST_ARTICLES_DESCRIPTION': 'Lista articoli e descrizioni.', + 'ADD_TOPIC_DESCRIPTION': 'Aggiungere descrizione topic.', + 'DELETE_ARTICLE_DESCRIPTION': 'Cancella descrizione articolo.', + 'STAFF_MEMBERS_DESCRIPTION': 'Elenco membri dello staff.', + 'ADD_STAFF_DESCRIPTION': 'Qui puoi aggiungere membri dello staff ai dipartimenti.', + 'EDIT_STAFF_DESCRIPTION': 'Qiìui puoi modificare le informazioni su un membro dello staff.', + 'MY_ACCOUNT_DESCRIPTION': 'Qui puoi modificare le tue informazioni.', + 'DEPARTMENTS_DESCRIPTION': 'Un dipartimento è un\'unità di lavoro, è usato per classificare i ticket .', + 'MAINTENANCE_MODE_DESCRIPTION': 'Il sistema è in manutenzione. Torneremo al più presto.', + 'EMAIL_TEMPLATES_DESCRIPTION': 'Qui puoi modoficare i modelli delle email che verranno inviate agli utenti. Ricorda che le doppie brackets curly braces indicano un valore variabile. Ad esempio, \'name\' rappresenta il \'nome \' dell\'utente.', + 'SYSTEM_PREFERENCES_DESCRIPTION': 'Qui puoi modificare le preferenze del sistema..', + 'VERIFY_SUCCESS_DESCRIPTION': 'L\'utente è stato verificato correttamente.', + 'VERIFY_FAILED_DESCRIPTION': 'Non è stata eseguita la verifica.', + 'STATISTICS_DESCRIPTION': 'Qui puoi visualizzare le statistiche relative ai ticket e alle iscrizioni.', + 'ADVANCED_SETTINGS_DESCRIPTION': 'Qui puoi modificare le impostazioni avanzate del tuo sistema. Attenzione, le modifiche apportate non possono essere invertite.', + 'USER_SYSTEM_DISABLED': 'Il sistema utente è stato disabilitato', + 'USER_SYSTEM_ENABLED': 'Il sistema utente è stato abilitato', + 'REGISTRATION_DISABLED': 'La registrazione è stata disattivata', + 'REGISTRATION_ENABLED': 'La registrazione è stata attivata', + 'ADD_API_KEY_DESCRIPTION': 'Inserisci il nome e verrà generata una chiave di registrazione API.', + 'SIGN_UP_VIEW_DESCRIPTION': 'Qui puoi creare un account per il nostro centro di supporto. È richiesto per i l\'invio dei ticket e per la consultazione della documentazione.', + 'EDIT_PROFILE_VIEW_DESCRIPTION': 'Qui puoi modificare l\'utente modificando la tua email o la tua password.', + 'ENABLE_USER_SYSTEM_DESCRIPTION': 'Abilita / disabilita l\'utilizzo di un sistema utente. Se lo disattiverai, tutti gli utenti verranno eliminati ma i biglietti saranno conservati. Se lo abiliterai, verranno creati gli utenti dei biglietti esistenti.', + 'CSV_DESCRIPTION': 'l file CSV deve avere 3 colonne: e-mail, password, nome. Non esiste alcun limite nel conteggio delle righe. Sarà creato un utente per riga nel file.', + 'SMTP_SERVER_DESCRIPTION': 'La configurazione del server SMTP consente all\'applicazione di inviare messaggi. Se non lo si configura, non verrà inviata alcuna email da OpenSupports.', + + //ERRORS + 'EMAIL_OR_PASSWORD': 'Email o password errate', + 'EMAIL_NOT_EXIST': 'Email non esiste', + 'ERROR_EMPTY': 'Invalid value', + 'ERROR_PASSWORD': 'Password errata', + 'ERROR_NAME': 'Nome errato', + 'ERROR_TITLE': 'Titolo Errato', + 'ERROR_EMAIL': 'Email errata', + 'ERROR_CONTENT_SHORT': 'Contenuto troppo breve', + 'PASSWORD_NOT_MATCH': 'La password non corrisponde', + 'INVALID_RECOVER': 'I dati di ripristino non sono validi', + 'TICKET_SENT_ERROR': 'Si è verificato un errore durante la creazione del ticket.', + 'TICKET_COMMENT_ERROR': 'Si è verificato un errore durante il tentativo di aggiungere il commento.', + 'NO_PERMISSION': 'Non hai permesso di accedere a questa pagina.', + 'INVALID_USER': 'ID utente non valido', + 'ERROR_RETRIEVING_TICKETS': 'Si è verificato un errore durante il tentativo di recuperare il tickets.', + 'ERROR_RETRIEVING_USERS': 'Si è verificato un errore durante il tentativo di recuperare gli utenti.', + 'ERROR_RETRIEVING_BAN_LIST': 'Si è verificato un errore durante il tentativo di recuperare l\'elenco delle email non autorizzate.', + 'ERROR_BANNING_EMAIL': 'Si è verificato un errore durante il tentativo di bannare l\'email.', + 'ERROR_RETRIEVING_ARTICLES': 'Si è verificato un errore durante il tentativo di recuperare gli articoli.', + 'ERROR_LIST': 'Seleziona almeno un valore', + 'ERROR_URL': 'URL non valido', + 'UNVERIFIED_EMAIL': 'L\'email non è ancora verificata', + 'ERROR_UPDATING_SETTINGS': 'Si è verificato un errore durante l\'aggiornamento delle impostazioni', + 'INVALID_EMAIL_OR_TICKET_NUMBER': 'E-mail o numero di ticket non validi', + 'INVALID_FILE': 'File non valido', + 'ERRORS_FOUND': 'Trovati errori', + + //MESSAGES + 'SIGNUP_SUCCESS': 'È stato registrato con successo nel nostro sistema di supporto.', + 'TICKET_SENT': 'Il Ticket è stato creato con successo.', + 'VALID_RECOVER': 'Password recuperata correttamente', + 'EMAIL_EXISTS': 'Email già in uso', + 'ARE_YOU_SURE': 'Conferma azione', + 'EMAIL_WILL_CHANGE': 'L\'email corrente verrà modificata', + 'PASSWORD_WILL_CHANGE': 'La password corrente verrà modificata', + 'EMAIL_CHANGED': 'L\'email è stata modificata correttamente', + 'PASSWORD_CHANGED': 'La password è stata modificata correttamente', + 'OLD_PASSWORD_INCORRECT': 'La vecchia password non è corretta', + 'WILL_LOSE_CHANGES': 'Non hai salvato. Le modifiche verranno perse.', + 'WILL_DELETE_CUSTOM_RESPONSE': 'La risposta personalizzata verrà eliminata..', + 'WILL_DELETE_DEPARTMENT': 'Il dipartimento verrà cancellato. Tutti i ticket saranno trasferiti al dipartimento selezionato.', + 'NO_STAFF_ASSIGNED': 'Nessun membro dello staff è assegnato a questo dipartimento.', + 'LEVEL_UPDATED': 'Il livello è stato aggiornato correttamente.', + 'DEPARTMENTS_UPDATED': 'I dipartimenti sono stati aggiornati con successo.', + 'FAILED_EDIT_STAFF': 'Si è verificato un errore durante la modifica di un membro dello staff.', + 'EMAIL_BANNED_SUCCESSFULLY': 'L\'email è stata bannata correttamente', + 'WILL_DELETE_STAFF': 'Questo membro dello staff sarà cancellato e tutti i suoi biglietti saranno riassegnati.', + 'WILL_RECOVER_EMAIL_TEMPLATE': 'Questo template verrà recuperato al suo valore predefinito in questa lingua.', + 'SUCCESS_IMPORTING_CSV_DESCRIPTION': 'Il file CSV è stato importato correttamente', + 'SUCCESS_DELETING_ALL_USERS': 'Gli utenti devono essere eliminati correttamente', + + 'LAST_7_DAYS': 'Ultimi 7 giorni', + 'LAST_30_DAYS': 'Ultimi 30 giorni', + 'LAST_90_DAYS': 'Ultimi 90 giorni', + 'LAST_365_DAYS': 'Ultimi 365 giorni', + + 'ACTIVITY_COMMENT_THIS': 'ha commentato questo ticket', + 'ACTIVITY_ASSIGN_THIS': 'assegnato questo ticket', + 'ACTIVITY_UN_ASSIGN_THIS': 'non ha assegnato questo ticket', + 'ACTIVITY_CLOSE_THIS': 'ha chiuso questo ticket', + 'ACTIVITY_CREATE_TICKET_THIS': 'ha creato questo ticket', + 'ACTIVITY_RE_OPEN_THIS': 'ha riaperto questo ticket', + 'ACTIVITY_DEPARTMENT_CHANGED_THIS': 'dipartimento del ticket cambiato in ', + 'ACTIVITY_PRIORITY_CHANGED_THIS': 'priorità del ticket modificata a ', + 'DATE_PREFIX': 'on', + 'LEFT_EMPTY_DATABASE': 'Left empty for automatic database creation', + 'REMEMBER_ME': 'Ricordami la password', + 'EMAIL_LOWERCASE': 'email', + 'PASSWORD_LOWERCASE': 'password', + 'TEST_SMTP_CONNECTION': 'Verifica connessione SMTP', + 'SMTP_CONNECTION_SUCCESS': 'Le credenziali SMTP sono valide.', + 'SMTP_CONNECTION_ERROR': 'Impossibile connettersi al server SMTP.' +}; +/** Special thanks to Fabio Giarrusso for translation contribution **/ \ No newline at end of file diff --git a/client/src/data/languages/jp.js b/client/src/data/languages/jp.js index 71edaf6e..ce959b4e 100644 --- a/client/src/data/languages/jp.js +++ b/client/src/data/languages/jp.js @@ -177,6 +177,7 @@ export default { 'TICKET_NUMBER': 'チケット番号', 'NEXT': '次', 'SEND_EMAIL_ON_NEW_TICKET': 'メールを送信毎に新しいチケット', + 'STAFF_UPDATED': 'スタッフメンバーが更新されました', 'UPDATE': '更新', 'CHART_CREATE_TICKET': '作成されたチケット', @@ -236,13 +237,14 @@ export default { 'INSTALLATION_COMPLETED': 'インストールが完了しました。', 'INSTALLATION_COMPLETED_DESCRIPTION': 'OpenSupportsのインストールが完了しました。管理パネルにリダイレクトしています...', - 'STEP_TITLE': 'ステップ {current} of {total} - {title}', + 'STEP_TITLE': 'ステップ {current} / {total} - {title}', 'STEP_1_DESCRIPTION': 'インストールウィザードの優先言語を選択します。', 'STEP_2_DESCRIPTION': 'ここにOpenSupportを実行するための要件が​​記載されています。すべての要件が満たされていることを確認してください。', 'STEP_3_DESCRIPTION': 'MySQLデータベースの設定を記入してください。', 'STEP_4_DESCRIPTION': 'あなたのユーザーシステムの設定を選択してください。', - 'STEP_5_DESCRIPTION': '管理者アカウントを設定してください。', - 'STEP_6_DESCRIPTION': 'インストールが完了しました。', + 'STEP_5_DESCRIPTION': 'あなたの一般的なシステム環境設定を選択してください。', + 'STEP_6_DESCRIPTION': '管理者アカウントを設定してください。', + 'STEP_7_DESCRIPTION': 'インストールが完了しました。', //VIEW DESCRIPTIONS 'CREATE_TICKET_DESCRIPTION': 'これはチケットを作成するためのフォームです。 フォームに記入し、あなたに問題/疑問/提案をお送りください。私たちのサポートシステムは、できるだけ早くそれに答えるでしょう。', diff --git a/client/src/data/languages/pt.js b/client/src/data/languages/pt.js index 2b642104..b2ba5010 100644 --- a/client/src/data/languages/pt.js +++ b/client/src/data/languages/pt.js @@ -177,6 +177,7 @@ export default { 'TICKET_NUMBER': 'Número do bilhete', 'NEXT': 'Próximo', 'SEND_EMAIL_ON_NEW_TICKET': 'Enviar email para cada novo ticket', + 'STAFF_UPDATED': 'Membro da equipe foi atualizado', 'UPDATE': 'Actualizar', 'CHART_CREATE_TICKET': 'Ingressos criados', @@ -241,8 +242,9 @@ export default { 'STEP_2_DESCRIPTION': 'Aqui estão listados os requisitos para executar o OpenSupports. Certifique-se de que todos os requisitos estão satisfeitos.', 'STEP_3_DESCRIPTION': 'Preencha a configuração do banco de dados MySQL.', 'STEP_4_DESCRIPTION': 'Selecione as preferências do sistema do usuário.', - 'STEP_5_DESCRIPTION': 'Configure a conta de administrador.', - 'STEP_6_DESCRIPTION': 'A instalação está concluída.', + 'STEP_5_DESCRIPTION': 'Selecione as preferências gerais do sistema.', + 'STEP_6_DESCRIPTION': 'Configure a conta de administrador.', + 'STEP_7_DESCRIPTION': 'A instalação está concluída.', //VIEW DESCRIPTIONS 'CREATE_TICKET_DESCRIPTION': 'Este é um formulário para criar ingressos. Preencha o formulário e envie-nos seus problemas / dúvidas / sugestões. Nosso sistema de suporte responderá o mais rápido possível.', diff --git a/client/src/data/languages/ru.js b/client/src/data/languages/ru.js index 563a3ff1..c235a9dd 100644 --- a/client/src/data/languages/ru.js +++ b/client/src/data/languages/ru.js @@ -177,6 +177,7 @@ export default { 'TICKET_NUMBER': 'Номер билета', 'NEXT': 'следующий', 'SEND_EMAIL_ON_NEW_TICKET': 'Отправить письмо на новый билет', + 'STAFF_UPDATED': 'Сотрудник обновлен', 'UPDATE': 'Обновить', 'CHART_CREATE_TICKET': 'Билеты создано', diff --git a/client/src/data/languages/tr.js b/client/src/data/languages/tr.js index f8d2e0b7..420a0b0d 100644 --- a/client/src/data/languages/tr.js +++ b/client/src/data/languages/tr.js @@ -177,6 +177,7 @@ export default { 'TICKET_NUMBER': 'Bilet numarası', 'NEXT': 'Sonraki', 'SEND_EMAIL_ON_NEW_TICKET': 'Yeni biletle e-posta gönder', + 'STAFF_UPDATED': 'Çalışanlar güncellendi', 'UPDATE': 'Güncelleştirme', 'CHART_CREATE_TICKET': 'Biletler oluşturuldu', @@ -241,8 +242,9 @@ export default { 'STEP_2_DESCRIPTION': 'Aşağıda, OpenSupports çalıştırma gereksinimleri listelenmiştir. Lütfen tüm gereksinimlerin karşılandığından emin olun.', 'STEP_3_DESCRIPTION': 'Lütfen MySQL veritabanı yapılandırmasını doldurun.', 'STEP_4_DESCRIPTION': 'Lütfen kullanıcı sistemi tercihlerinizi seçin.', - 'STEP_5_DESCRIPTION': 'Lütfen yönetici hesabını yapılandırın.', - 'STEP_6_DESCRIPTION': 'Kurulum tamamlandı.', + 'STEP_5_DESCRIPTION': 'Lütfen genel sistem tercihlerinizi seçin.', + 'STEP_6_DESCRIPTION': 'Lütfen yönetici hesabını yapılandırın.', + 'STEP_7_DESCRIPTION': 'Kurulum tamamlandı.', //VIEW DESCRIPTIONS 'CREATE_TICKET_DESCRIPTION': 'Bu, bir bilet oluşturmak için kullanılan bir form. Formu doldurun ve bize sorunlarınızı / şüphelerinizi / önerileri gönderin. Destek sistemimiz mümkün olan en kısa zamanda cevaplayacaktır.', diff --git a/client/src/lib-app/session-store.js b/client/src/lib-app/session-store.js index 6164860f..7d2c35eb 100644 --- a/client/src/lib-app/session-store.js +++ b/client/src/lib-app/session-store.js @@ -4,10 +4,6 @@ import date from 'lib-app/date'; class SessionStore { constructor() { this.storage = LocalStorage; - - if (!this.getItem('language')) { - this.setItem('language', 'en'); - } } createSession(userId, token) { diff --git a/client/src/lib-app/validations/validations-factory.js b/client/src/lib-app/validations/validations-factory.js index 9f8b74d2..637a9401 100644 --- a/client/src/lib-app/validations/validations-factory.js +++ b/client/src/lib-app/validations/validations-factory.js @@ -7,7 +7,7 @@ import ListValidator from 'lib-app/validations/list-validator'; let validators = { 'DEFAULT': new Validator(), 'NAME': new LengthValidator(2, 'ERROR_NAME'), - 'TITLE': new LengthValidator(2, 'ERROR_TITLE'), + 'TITLE': new LengthValidator(10, 'ERROR_TITLE'), 'EMAIL': new EmailValidator(), 'TEXT_AREA': new LengthValidator(10, 'ERROR_CONTENT_SHORT'), 'PASSWORD': new LengthValidator(6, 'ERROR_PASSWORD'), diff --git a/client/src/reducers/config-reducer.js b/client/src/reducers/config-reducer.js index d4aa5919..51ced243 100644 --- a/client/src/reducers/config-reducer.js +++ b/client/src/reducers/config-reducer.js @@ -35,7 +35,7 @@ class ConfigReducer extends Reducer { onInitConfigs(state, payload) { let currentLanguage = sessionStore.getItem('language'); - if(!_.includes(payload.data.allowedLanguages, currentLanguage)) { + if(payload.data.allowedLanguages && !_.includes(payload.data.allowedLanguages, currentLanguage)) { currentLanguage = payload.data.language; } @@ -44,7 +44,7 @@ class ConfigReducer extends Reducer { })); return _.extend({}, state, payload.data, { - language: currentLanguage || payload.data.language, + language: currentLanguage || payload.data.language || 'en', registration: !!(payload.data.registration * 1), 'user-system-enabled': !!(payload.data['user-system-enabled']* 1), 'allow-attachments': !!(payload.data['allow-attachments']* 1), diff --git a/client/src/reducers/session-reducer.js b/client/src/reducers/session-reducer.js index 436516dc..03ad4797 100644 --- a/client/src/reducers/session-reducer.js +++ b/client/src/reducers/session-reducer.js @@ -114,7 +114,7 @@ class SessionReducer extends Reducer { userLevel: userData.level, userDepartments: userData.departments, userTickets: userData.tickets, - userSendEmailOnNewTicket: userData.sendEmailOnNewTicket + userSendEmailOnNewTicket: userData.sendEmailOnNewTicket * 1 }); } @@ -123,7 +123,7 @@ class SessionReducer extends Reducer { let userId = sessionStore.getSessionData().userId; return _.extend({}, state, { - initDone: true, + initDone: true, logged: true, staff: userData.staff, userName: userData.name, @@ -133,7 +133,7 @@ class SessionReducer extends Reducer { userDepartments: userData.departments, userTickets: userData.tickets, userId: userId, - userSendEmailOnNewTicket: userData.sendEmailOnNewTicket + userSendEmailOnNewTicket: userData.sendEmailOnNewTicket * 1 }); } diff --git a/db_upgrades/4.1.sql b/db_upgrades/4.1.sql new file mode 100644 index 00000000..2d5cadbd --- /dev/null +++ b/db_upgrades/4.1.sql @@ -0,0 +1,195 @@ +/* +DB Migration +v4.0b -> v4.1 +*/ +INSERT INTO `language` (`id`, `code`, `allowed`, `supported`) VALUES +('', 'it', 1, 0); + +ALTER TABLE staff +ADD send_email_on_new_ticket int(11) NULL +DEFAULT 0; + +INSERT INTO `setting` (`id`, `name`, `value`) VALUES +('', 'session-prefix', concat( + 'opensupports-', + substring('abcdefghijklmnopqrstuvwxyz0123456789', rand()*36+1, 1), + substring('abcdefghijklmnopqrstuvwxyz0123456789', rand()*36+1, 1), + substring('abcdefghijklmnopqrstuvwxyz0123456789', rand()*36+1, 1), + substring('abcdefghijklmnopqrstuvwxyz0123456789', rand()*36+1, 1), + substring('abcdefghijklmnopqrstuvwxyz0123456789', rand()*36+1, 1), + substring('abcdefghijklmnopqrstuvwxyz0123456789', rand()*36+1, 1), + substring('abcdefghijklmnopqrstuvwxyz0123456789', rand()*36+1, 1), + substring('abcdefghijklmnopqrstuvwxyz0123456789', rand()*36+1, 1), + substring('abcdefghijklmnopqrstuvwxyz0123456789', rand()*36+1, 1), + substring('abcdefghijklmnopqrstuvwxyz0123456789', rand()*36+1, 1), + substring('abcdefghijklmnopqrstuvwxyz0123456789', rand()*36+1, 1), + substring('abcdefghijklmnopqrstuvwxyz0123456789', rand()*36+1, 1), + substring('abcdefghijklmnopqrstuvwxyz0123456789', rand()*36+1, 1), + substring('abcdefghijklmnopqrstuvwxyz0123456789', rand()*36+1, 1), + substring('abcdefghijklmnopqrstuvwxyz0123456789', rand()*36+1, 1), + substring('abcdefghijklmnopqrstuvwxyz0123456789', rand()*36+1, 1), + '_' +)); + +DROP TABLE mailtemplate; + +SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; +SET time_zone = "+00:00"; +CREATE TABLE IF NOT EXISTS `mailtemplate` ( + `id` int(11) unsigned NOT NULL, + `type` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `subject` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `language` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `body` text COLLATE utf8mb4_unicode_ci +) ENGINE=InnoDB AUTO_INCREMENT=111 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(1, 'USER_SIGNUP', 'Signup {{to}} - OpenSupports', 'en', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Verify your account\n
\n Welcome to our support center, {{name}}!. We need you to verify this email in order to get access to your account.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Use this code in {{url}}/verify-token/{{to}}/{{verificationToken}} or click the button below.\n
\n {{verificationToken}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(2, 'USER_SIGNUP', 'Registrado {{to}} - OpenSupports', 'es', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Verifica tu cuenta\n
\n Bienvenido a nuestro contro de soporte, {{name}}!. Necesitamos que verifiques este email para poder acceder a tu cuenta.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Usá este código en {{url}}/verify-token/{{to}}/{{verificationToken}} o hacé click en el botón de abajo.\n
\n {{verificationToken}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(3, 'USER_SIGNUP', 'Anmelden {{to}} - OpenSupports', 'de', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Überprüfen Sie Ihr Konto\n
\n Willkommen in unserem Support-Center, {{name}} !. Wir müssen Sie diese E-Mail bestätigen, um Zugang zu Ihrem Konto zu erhalten.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Verwenden Sie diesen Code in {{url}}/verify-token/{{to}}/{{verificationToken}} oder klicken Sie auf die Schaltfläche unten.\n
\n {{verificationToken}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(4, 'USER_SIGNUP', 'S''inscrire {{to}} - OpenSupports', 'fr', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Vérifiez votre compte\n
\n Bienvenue dans notre centre de support, {{name}}!. Nous vous demandons de vérifier cet e-mail afin d''accéder à votre compte.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Utilisez ce code dans {{url}}/verify-token/{{to}}/{{verificationToken}} ou cliquez sur le bouton ci-dessous.\n
\n {{verificationToken}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(5, 'USER_SIGNUP', 'Daftar - OpenSupports', 'in', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n अपने खाते को सत्यापित करें\n
\n हमारे समर्थन केंद्र में आपका स्वागत है {{name}}!. आपके खाते तक पहुंच प्राप्त करने के लिए हमें आपको यह ईमेल सत्यापित करने की आवश्यकता है।\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n इस कोड का उपयोग करें {{url}}/verify-token/{{to}}/{{verificationToken}} या नीचे दिए गए बटन पर क्लिक करें।\n
\n {{verificationToken}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(6, 'USER_SIGNUP', 'サインアップ - OpenSupports', 'jp', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n アカウントを確認する\n
\n サポートセンターへようこそ, {{name}}!. アカウントにアクセスするには、このメールを確認する必要があります。\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n でこのコードを使用 {{url}}/verify-token/{{to}}/{{verificationToken}} 下のボタンをクリックしてください.\n
\n {{verificationToken}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(7, 'USER_SIGNUP', 'Inscrever-se {{to}} - OpenSupports', 'pt', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Verifique sua conta\n
\n Bem-vindo ao nosso centro de suporte, {{name}}!. Precisamos que você verifique este e-mail para acessar sua conta.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Use este código em {{url}}/verify-token/{{to}}/{{verificationToken}} ou clique no botão abaixo.\n
\n {{verificationToken}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(8, 'USER_SIGNUP', 'Зарегистрироваться {{to}} - OpenSupports', 'ru', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n подтвердите ваш аккаунт\n
\n Добро пожаловать в наш центр поддержки, {{name}}!. Нам нужно, чтобы вы подтвердили это письмо, чтобы получить доступ к вашей учетной записи.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Используйте этот код в {{url}}/verify-token/{{to}}/{{verificationToken}} или нажмите кнопку ниже.\n
\n {{verificationToken}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(9, 'USER_SIGNUP', 'kaydol {{to}} - OpenSupports', 'tr', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Hesabınızı doğrulayın\n
\n Destek merkezimize hoş geldiniz, {{name}}!. Hesabınıza erişebilmek için bu e-postayı doğrulamanız gerekiyor.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Bu kodu şu adreste kullanın {{url}}/verify-token/{{to}}/{{verificationToken}} veya aşağıdaki butona tıklayın.\n
\n {{verificationToken}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(10, 'USER_SIGNUP', '注册 {{to}} - OpenSupports', 'cn', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n 验证您的帐户\n
\n 欢迎来到我们的支援中心{{name}} !. 我们需要您验证此电子邮件才能访问您的帐户。\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n 使用此代码 {{url}}/verify-token/{{to}}/{{verificationToken}} 或单击下面的按钮.\n
\n {{verificationToken}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(11, 'USER_SIGNUP', 'Sei iscritto {{to}} - OpenSupports', 'it', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Verifica il tuo account\n
\n Benvenuto, {{name}}!. Devi verificare questa email per accedere al tuo account.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Clicca sul link {{url}}/verify-token/{{to}}/{{verificationToken}} o clicca sul pulsante qui sotto..\n
\n {{verificationToken}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(12, 'USER_PASSWORD', 'Password edited - OpenSupports', 'en', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n logo\n \n
\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n
\n Password changed\n
\n Hi, {{name}}. We want to inform you that your password has changed from your customer panel.\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(13, 'USER_PASSWORD', 'Contraseña a cambiado - OpenSupports', 'es', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n logo\n \n
\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n
\n Contraseña cambiada\n
\n Hola, {{name}}. Queremos informate que tu contraseña a sido cambiada desde el panel de usuario.\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(14, 'USER_PASSWORD', 'Passwort bearbeitet - OpenSupports', 'de', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n logo\n \n
\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n
\n Passwort geändert\n
\n Hallo, {{name}}. Wir möchten Sie darüber informieren, dass sich Ihr Passwort von Ihrem Kundenbereich geändert hat.\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(15, 'USER_PASSWORD', 'Mot de passe modifié - OpenSupports', 'fr', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n logo\n \n
\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n
\n Mot de passe changé\n
\n Salut, {{name}}. Nous souhaitons vous informer que votre mot de passe a changé de votre panel client.\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(16, 'USER_PASSWORD', 'sandi diedit - OpenSupports', 'in', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n logo\n \n
\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n
\n संकेतशब्द परवर्तित\n
\n नमस्ते {{name}}. हम आपको सूचित करना चाहते हैं कि आपका पासवर्ड आपके ग्राहक पैनल से बदल गया है।\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(17, 'USER_PASSWORD', 'パスワードの編集 - OpenSupports', 'jp', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n logo\n \n
\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n
\n パスワード変更済み\n
\n こんにちは、{{name}}。 お客様のパスワードがお客様のパネルから変更されたことをお知らせいたします。\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(18, 'USER_PASSWORD', 'Senha editada - OpenSupports', 'pt', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n logo\n \n
\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n
\n Senha alterada\n
\n Olá, {{name}}. Queremos informá-lo de que sua senha foi alterada do seu painel de clientes.\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(19, 'USER_PASSWORD', 'Пароль изменен - OpenSupports', 'ru', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n logo\n \n
\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n
\n пароль изменен\n
\n Здравствуй {{name}}. Мы хотим сообщить вам, что ваш пароль был изменен с вашей клиентской панели.\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(20, 'USER_PASSWORD', 'Şifre düzenlendi - OpenSupports', 'tr', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n logo\n \n
\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n
\n şifre değişti\n
\n Merhaba, {{name}}. Şifrenizin müşteri panelinizden değiştirildiğini size bildirmek istiyoruz.\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(21, 'USER_PASSWORD', '密码已编辑 - OpenSupports', 'cn', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n logo\n \n
\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n
\n 密码已更改\n
\n 嗨,{{name}}。 我们想通知您,您的密码已从您的客户面板更改。\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(22, 'USER_PASSWORD', 'Password modificata - OpenSupports', 'it', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n logo\n \n
\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n
\n Password modificata\n
\n Ciao, {{name}}. Vogliamo informarti che la tua password è stata modificata dal tuo pannello di controllo.\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(23, 'USER_EMAIL', 'Email edited - OpenSupports', 'en', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n
\n Email changed\n
\n Hi, {{name}}. We want to inform you that your email has changed to {{newemail}} from your customer panel.\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(24, 'USER_EMAIL', 'Email a cambiado - OpenSupports', 'es', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n
\n Email a cambiado\n
\n Hola, {{name}}. Queremos informate que tu email ha cambiado a {{newemail}} desde el panel de control.\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(25, 'USER_EMAIL', 'E-Mail bearbeitet - OpenSupports', 'de', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n
\n E-Mail geändert\n
\n Hallo, {{name}}. Wir möchten Sie darüber informieren, dass Ihre E-Mail von Ihrem Kundenbereich zu {{newemail}} geändert wurde.\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(26, 'USER_EMAIL', 'Courrier électronique - OpenSupports', 'fr', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n
\n Email modifié\n
\n Salut, {{name}}. Nous souhaitons vous informer que votre adresse e-mail est devenue {{newemail}} dans votre panneau client.\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(27, 'USER_EMAIL', 'email diedit - OpenSupports', 'in', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n
\n ईमेल बदल गया\n
\n नमस्ते {{name}}। हम आपको सूचित करना चाहते हैं कि आपका ईमेल आपके ग्राहक पैनल से {{newemail}} में बदल गया है।\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(28, 'USER_EMAIL', '電子メールを編集しました - OpenSupports', 'jp', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n
\n メールが変更されました\n
\n こんにちは、{{name}}。 お客様のメールがお客様のパネルから{{newemail}}に変更されたことをお知らせいたします。\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(29, 'USER_EMAIL', 'Email editado - OpenSupports', 'pt', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n
\n E-mail alterado\n
\n Oi, {{name}}. Queremos informar que seu e-mail foi alterado para {{newemail}} do seu painel de clientes.\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(30, 'USER_EMAIL', 'Сообщение изменено - OpenSupports', 'ru', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n
\n Yout электронная почта изменена\n
\n Здравствуй, {{name}}. Мы хотим сообщить вам, что ваше письмо было изменено на {{newemail}} с вашей панели клиентов.\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(31, 'USER_EMAIL', 'E-posta düzenlendi - OpenSupports', 'tr', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n
\n E-posta değişti\n
\n Merhaba, {{name}}. E-postanızın müşteri panelinizden {{newemail}} olarak değiştiğini bildirmek istiyoruz.\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(32, 'USER_EMAIL', '电子邮件已修改 - OpenSupports', 'cn', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n
\n 电子邮件已更改\n
\n 嗨,{{name}}。 我们想通知您,您的电子邮件已从您的客户面板更改为 {{newemail}}。\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(33, 'USER_EMAIL', 'E-mail modificata - OpenSupports', 'it', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n
\n L''email è stata modificata\n
\n Ciao, {{name}}. Vogliamo informarti che la tua email è stata modificata {{newemail}} dal tuo pannello di controllo.\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(34, 'PASSWORD_FORGOT', 'Recover password - OpenSupports', 'en', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Recover password\n
\n Hi, {{name}}. You have requested to recover your password.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Use this code in {{url}}/recover-password?email={{to}}&token={{token}} or click the button below.\n
\n {{token}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(35, 'PASSWORD_FORGOT', 'Recuperar password - OpenSupports', 'es', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Recuperar contraseña\n
\n Hola, {{name}}. Has requerido recuperar tu contraseña.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Usá este codigo en {{url}}/recover-password?email={{to}}&token={{token}} o hacé click en el botón de abajo.\n
\n {{token}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(36, 'PASSWORD_FORGOT', 'Passwort wiederherstellen - OpenSupports', 'de', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Passwort wiederherstellen\n
\n Hallo, {{name}}. Sie haben aufgefordert, Ihr Passwort wiederherzustellen.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Verwenden Sie diesen Code in {{url}}/recover-password?email={{to}}&token={{token}} oder klicken Sie auf die Schaltfläche unten.\n
\n {{token}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(37, 'PASSWORD_FORGOT', 'Récupérer mot de passe - OpenSupports', 'fr', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Récupérer mot de passe\n
\n Salut, {{name}}. Vous avez demandé à récupérer votre mot de passe.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Utilisez ce code dans {{url}}/recover-password?email={{to}}&token={{token}} ou cliquez sur le bouton ci-dessous.\n
\n {{token}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(38, 'PASSWORD_FORGOT', 'memulihkan password - OpenSupports', 'in', '\n\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n गोपनीय शब्द पुन प्राप्त करे\n
\n नमस्ते {{name}}. आपने अपना पासवर्ड पुनर्प्राप्त करने का अनुरोध किया है\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n इस कोड का उपयोग करें {{url}}/recover-password?email={{to}}&token={{token}} या नीचे दिए गए बटन पर क्लिक करें.\n
\n {{token}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(39, 'PASSWORD_FORGOT', 'パスワードを回復 - OpenSupports', 'jp', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n パスワードを回復\n
\n こんにちは、{{name}}。 パスワードの回復を要求しました。\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n でこのコードを使用 {{url}}/recover-password?email={{to}}&token={{token}} 下のボタンをクリックしてください.\n
\n {{token}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(40, 'PASSWORD_FORGOT', 'Recuperar senha - OpenSupports', 'pt', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Recuperar senha\n
\n Olá, {{name}}. Você solicitou a recuperação da sua senha.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Use este código em {{url}}/recover-password?email={{to}}&token={{token}} ou clique no botão abaixo.\n
\n {{token}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(41, 'PASSWORD_FORGOT', 'Восстановить пароль - OpenSupports', 'ru', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Восстановить пароль\n
\n Здравствуй, {{name}}. Вы запросили восстановить пароль.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Используйте этот код в {{url}}/recover-password?email={{to}}&token={{token}} или нажмите кнопку ниже.\n
\n {{token}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(42, 'PASSWORD_FORGOT', 'Şifre kurtarma - OpenSupports', 'tr', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Şifre kurtarma\n
\n Merhaba, {{name}}. Şifrenizi geri yüklemenizi istediniz.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Bu kodu şu adreste kullanın {{url}}/recover-password?email={{to}}&token={{token}} veya aşağıdaki butona tıklayın.\n
\n {{token}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(43, 'PASSWORD_FORGOT', '恢复密码 - OpenSupports', 'cn', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n 恢复密码\n
\n 喂 {{name}}。 您已要求恢复密码。\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n 使用此代码 {{url}}/recover-password?email={{to}}&token={{token}} 或单击下面的按钮.\n
\n {{token}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(44, 'PASSWORD_FORGOT', 'Recupera la password - OpenSupports', 'it', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Recupera password\n
\n Ciao, {{name}}. Hai richiesto di recuperare la tua password.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Clicca sul link {{url}}/recover-password?email={{to}}&token={{token}} o clicca sul pulsante qui sotto.\n
\n {{token}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(45, 'USER_SYSTEM_DISABLED', 'Access system changed - OpenSupports', 'en', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Access system changed\n
\n Hello, {{name}}. The system to access tickets has changed.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n You can access and see to your tickets by using your email and the ticket number.\n Click in the button below to see your tickets.\n
\n {{tickets}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(46, 'USER_SYSTEM_DISABLED', 'Sistema de acceso cambiado - OpenSupports', 'es', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Sistema de acceso cambiado\n
\n Hola, {{name}}. El sistema para acceder a los tickets ha cambiado.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Ahora podes acceder a los tickets usando tu email y el numero de ticket.\n Hacé click en el botón de abajo para poder ver los tickets.\n
\n {{tickets}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(47, 'USER_SYSTEM_DISABLED', 'Access system changed - OpenSupports', 'de', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Zugriffssystem geändert\n
\n Hallo, {{name}}. Das System für den Zugriff auf Tickets hat sich geändert.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n können mit Ihren E-Mails und der Ticketnummer auf Ihre Tickets zugreifen und sie sehen.\n Klicken Sie auf die Schaltfläche unten, um Ihre Tickets zu sehen.\n
\n {{tickets}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(48, 'USER_SYSTEM_DISABLED', 'Système d''accès modifié - OpenSupports', 'fr', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Système d''accès modifié\n
\n Bonjour, {{name}}. Le système d''accès aux billets a changé.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Vous pouvez accéder et voir vos billets en utilisant votre email et le numéro de ticket.\n Cliquez sur le bouton ci-dessous pour voir vos billets.\n
\n {{tickets}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(49, 'USER_SYSTEM_DISABLED', 'sistem akses berubah - OpenSupports', 'in', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n एक्सेस सिस्टम बदल गया\n
\n नमस्ते {{name}}. टिकट का उपयोग करने के लिए सिस्टम बदल गया है।\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n आप अपने ईमेल और टिकट नंबर का उपयोग करके अपने टिकट तक पहुंच सकते हैं और देख सकते हैं।\n अपने टिकट देखने के लिए नीचे दिए गए बटन पर क्लिक करें।\n
\n {{tickets}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(50, 'USER_SYSTEM_DISABLED', 'アクセスシステムが変更されました - OpenSupports', 'jp', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n アクセスシステムが変更されました\n
\n こんにちは、{{name}}。 チケットにアクセスするシステムが変更されました。\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n あなたはあなたの電子メールとチケット番号を使ってチケットにアクセスして見ることができます。\n チケットを見るには、下のボタンをクリックしてください。\n
\n {{tickets}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(51, 'USER_SYSTEM_DISABLED', 'Sistema de acesso alterado - OpenSupports', 'pt', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Sistema de acesso alterado\n
\n Oi, {{name}}. O sistema de acesso aos tickets mudou.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Você pode acessar e ver seus bilhetes usando seu e-mail eo número do bilhete.\n Clique no botão abaixo para ver os seus bilhetes.\n
\n {{tickets}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(52, 'USER_SYSTEM_DISABLED', 'Система доступа изменена - OpenSupports', 'ru', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Система доступа изменена\n
\n Здравствуйте, {{name}}. Система доступа к билетам изменилась.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Вы можете получить доступ к своим билетам и посмотреть их, используя свою электронную почту и номер билета.\n Нажмите кнопку ниже, чтобы увидеть свои билеты.\n
\n {{tickets}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(53, 'USER_SYSTEM_DISABLED', 'Erişim sistemi değiştirildi - OpenSupports', 'tr', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Erişim sistemi değiştirildi\n
\n Merhaba, {{name}}. Biletleri erişmek için sistem değişti.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n E-posta adresinizi ve bilet numaranızı kullanarak biletinize erişebilir ve biletlerini görebilirsiniz.\n Biletlerini görmek için aşağıdaki butona tıklayın.\n
\n {{tickets}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(54, 'USER_SYSTEM_DISABLED', '访问系统更改 - OpenSupports', 'cn', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n 访问系统更改\n
\n 您好,{{name}}。 访问票证的系统已更改。\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n 您可以通过使用您的电子邮件和票号访问和查看您的机票。 点击下面的按钮查看您的票。\n
\n {{tickets}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(55, 'USER_SYSTEM_DISABLED', 'Il sistema di accesso è cambiato - OpenSupports', 'it', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Modifica sistema di accesso\n
\n Ciao, {{name}}. Il sistema di accesso ai tuoi tickets è cambiato.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Puoi accedere ai tuoi ticket usando la tua email e il numero del ticket.\n Clicca sul bottone qui sotto per vedere i tuoi tickets.\n
\n {{tickets}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(56, 'USER_SYSTEM_ENABLED', 'Account created - OpenSupports', 'en', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Account created\n
\n Hello, {{name}}. We have created an account where you can access the tickets you have sent us.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n You can access your account by using this email ({{to}}) and password below.\n Please change the password as soon as you log in.\n
\n {{password}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(57, 'USER_SYSTEM_ENABLED', 'Cuenta creada - OpenSupports', 'es', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Cuenta creada\n
\n Hola, {{name}}. Hemos creado una cuenta donde puedes acceder a los tickets que nos has enviado.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Puedes acceder usando tu email ({{to}}) y el la contraseña de abajo.\n Por favor, cambia tu contraseña tan pronto como ingreses al panel de usuario.\n
\n {{password}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(58, 'USER_SYSTEM_ENABLED', 'Account erstellt - OpenSupports', 'de', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Account erstellt\n
\n Hallo, {{name}}. Wir haben ein Konto erstellt, wo Sie auf die Tickets zugreifen können, die Sie uns geschickt haben.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Sie können auf Ihr Konto zugreifen, indem Sie diese E-Mail ({{to}}) und das Passwort unten verwenden.\n Bitte ändern Sie das Passwort, sobald Sie sich anmelden.\n
\n {{password}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(59, 'USER_SYSTEM_ENABLED', 'Compte créé - OpenSupports', 'fr', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Compte créé\n
\n Bonjour, {{name}}. Nous avons créé un compte où vous pouvez accéder aux billets que vous nous avez envoyés.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Vous pouvez accéder à votre compte en utilisant ce courriel ({{to}}) et votre mot de passe ci-dessous.\n Veuillez modifier le mot de passe dès que vous vous connectez.\n
\n {{password}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(60, 'USER_SYSTEM_ENABLED', 'Akun telah dibuat - OpenSupports', 'in', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n खाता बन गया\n
\n नमस्ते {{name}}. हमने एक खाता बनाया है, जहां आप हमारे द्वारा भेजे गए टिकटों तक पहुंच सकते हैं।\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n आप इस ईमेल ({{to}}) और नीचे दिए गए पासवर्ड का उपयोग करके अपने खाते का उपयोग कर सकते हैं।\n जैसे ही आप लॉग इन करते हैं, तभी पासवर्ड बदल दें।\n
\n {{password}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(61, 'USER_SYSTEM_ENABLED', 'アカウントが作成されました - OpenSupports', 'jp', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n アカウントが作成されました\n
\n こんにちは、{{name}}。 あなたが送ったチケットにアクセスできるアカウントを作成しました。\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n 下記のメール({{to}})とパスワードを使用してアカウントにアクセスできます。\n ログインするとすぐにパスワードを変更してください。\n
\n {{password}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(62, 'USER_SYSTEM_ENABLED', 'Conta criada - OpenSupports', 'pt', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Conta criada\n
\n Oi, {{name}}. Criamos uma conta onde você pode acessar os ingressos que você nos enviou.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Você pode acessar sua conta usando este e-mail ({{to}}) e a senha abaixo.\n\\ Por favor, altere a senha assim que fizer login.\n
\n {{password}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(63, 'USER_SYSTEM_ENABLED', 'Аккаунт создан - OpenSupports', 'ru', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Аккаунт создан\n
\n Здравствуйте, {{name}}. Мы создали учетную запись, где вы можете получить доступ к билетам, которые вы нам отправили.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Вы можете получить доступ к своей учетной записи, используя это электронное письмо ({{to}}) и пароль ниже.\n Измените пароль, как только вы войдете в систему.\n
\n {{password}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(64, 'USER_SYSTEM_ENABLED', 'Hesap oluşturuldu - OpenSupports', 'tr', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Hesap oluşturuldu\n
\n Merhaba, {{name}}. Bize gönderdiğiniz bilete erişebileceğiniz bir hesap oluşturduk.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Hesabınıza, ({{to}}) e-posta adresini kullanarak ve aşağıdaki şifreyle erişebilirsiniz.\n Lütfen giriş yaptığınızda şifreyi değiştirin.\n
\n {{password}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(65, 'USER_SYSTEM_ENABLED', '帐户已创建 - OpenSupports', 'cn', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n 帐户已创建\n
\n 您好,{{name}}。 我们已经创建了一个帐户,您可以访问您发送给我们的票。\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n 您可以在下面使用此电子邮件 ({{to}}) 和密码访问您的帐户。 请在登录后立即更改密码。\n
\n {{password}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(66, 'USER_SYSTEM_ENABLED', 'Account creato - OpenSupports', 'it', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Account creato\n
\n Ciao, {{name}}. Abbiamo creato il tuo account.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Puoi accedere al tuo account utilizzando questa email ({{to}}) e la password qui sotto.\n Ti consigliamo di cambiare la password dopo il primo accesso.\n
\n {{password}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(67, 'TICKET_CREATED', '#{{ticketNumber}} Ticket created - OpenSupports', 'en', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Ticket created\n
\n Hello, {{name}}. You have sent a new ticket titled {{title}} to our support center.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n You can access to the ticket by its ticket number. Or you can click on the button below.\n
\n {{ticketNumber}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(68, 'TICKET_CREATED', '#{{ticketNumber}} Ticket creado - OpenSupports', 'es', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Ticket creado\n
\n Hola, {{name}}. Has creado un nuevo ticket titulado {{title}} en nuestro sistema de soporte.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Puedes ver el ticket usando el numero de ticket prensentado abajo.\n O puedes hacer click en el botón de más abajo.\n
\n {{ticketNumber}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(69, 'TICKET_CREATED', '#{{ticketNumber}} Ticket erstellt - OpenSupports', 'de', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Ticket erstellt\n
\n Hallo, {{name}}. Sie haben ein neues Ticket mit dem Titel {{title}} an unser Support-Center geschickt.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Sie können das Ticket nach der Fahrkartennummer erreichen. Oder klicken Sie auf die Schaltfläche unten.\n
\n {{ticketNumber}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(70, 'TICKET_CREATED', '#{{ticketNumber}} Ticket créé - OpenSupports', 'fr', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Ticket créé\n
\n Bonjour, {{name}}. Vous avez envoyé un nouveau ticket intitulé {{title}} à notre centre de support.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Vous pouvez accéder au billet par son numéro de ticket. Ou vous pouvez cliquer sur le bouton ci-dessous.\n
\n {{ticketNumber}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(71, 'TICKET_CREATED', '#{{ticketNumber}} tiket dibuat - OpenSupports', 'in', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n टिकट बनाया\n
\n नमस्ते {{name}}. आपने हमारे समर्थन केंद्र पर {{title}} नामक एक नया टिकट भेजा है.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n आप अपने टिकट नंबर से टिकट तक पहुंच सकते हैं। या आप नीचे दिए गए बटन पर क्लिक कर सकते हैं।\n
\n {{ticketNumber}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(72, 'TICKET_CREATED', '#{{ticketNumber}} チケットが作成されました - OpenSupports', 'jp', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n チケットが作成されました\n
\n こんにちは、{{name}}。{{title}} という新しいチケットをサポートセンターにお送りしました。\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n そのチケット番号でチケットにアクセスできます。 または、下のボタンをクリックしてください。\n
\n {{ticketNumber}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(73, 'TICKET_CREATED', '#{{ticketNumber}} Ticket criado - OpenSupports', 'pt', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Ticket criado\n
\n Olá, {{name}}. Você enviou um novo ticket intitulado {{title}} para o nosso centro de suporte.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Você pode acessar o bilhete pelo seu número de bilhete. Ou você pode clicar no botão abaixo.\n
\n {{ticketNumber}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(74, 'TICKET_CREATED', '#{{ticketNumber}} Создан билет - OpenSupports', 'ru', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Создан билет\n
\n Здравствуйте, {{name}}. Вы отправили новый билет с названием {{title}} в наш центр поддержки.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Вы можете получить доступ к билету по его номеру билета. Или вы можете нажать на кнопку ниже.\n
\n {{ticketNumber}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(75, 'TICKET_CREATED', '#{{ticketNumber}} Bilet oluşturuldu - OpenSupports', 'tr', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Bilet oluşturuldu\n
\n Merhaba, {{name}}. Destek merkezimize {{title}} başlıklı yeni bir bilet gönderdiniz.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n Bilete bilet numarasından erişebilirsiniz. Ya da aşağıdaki düğmeyi tıklayabilirsiniz.\n
\n {{ticketNumber}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(76, 'TICKET_CREATED', '#{{ticketNumber}} 已创建票证 - OpenSupports', 'cn', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Ticket created\n
\n 您好,{{name}}。 您已将一张名为 {{title}} 的新票发送到我们的支持中心。\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n 您可以通过其票号访问票证。 或者你可以点击下面的按钮。\n
\n {{ticketNumber}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(77, 'TICKET_CREATED', '#{{ticketNumber}} ticket creato - OpenSupports', 'it', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Ticket inviato\n
\n Ciao, {{name}}. Hai inviato un nuovo ticket {{title}} al nostro centro si assistenza.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n È possibile accedere al ticket attraverso il numero del ticket. Oppure puoi cliccare sul bottone qui sotto.\n
\n {{ticketNumber}}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(78, 'TICKET_RESPONDED', '#{{ticketNumber}} New response - OpenSupports', 'en', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Ticket responded\n
\n Hello, {{name}}. You have received a response in the ticket titled {{title}}.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n Please click below to see the new response.\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(79, 'TICKET_RESPONDED', '#{{ticketNumber}} Nueva respuesta - OpenSupports', 'es', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Nueva respuesta\n
\n Hola, {{name}}. Has recibido una nueva respuesta en tu ticket titulado {{title}}.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n Por favor, has click abajo para ver la respuesta.\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(80, 'TICKET_RESPONDED', '#{{ticketNumber}} Neue Antwort - OpenSupports', 'de', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Ticket antwortete\n
\n Hallo, {{name}}. Sie haben eine Antwort im Tickettitel {{title}} erhalten.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n Bitte klicken Sie unten, um die neue Antwort zu sehen.\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(81, 'TICKET_RESPONDED', '#{{ticketNumber}} Nouvelle réponse - OpenSupports', 'fr', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Ticket répondu\n
\n Bonjour, {{name}}. Vous avez reçu une réponse dans le titre du ticket {{title}}.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n Veuillez cliquer ci-dessous pour voir la nouvelle réponse.\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(82, 'TICKET_RESPONDED', '#{{ticketNumber}} tanggapan baru - OpenSupports', 'in', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n टिकट जवाब दिया\n
\n नमस्ते {{name}}. आपको टिकट के शीर्षक में एक प्रतिक्रिया मिली है {{title}}.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n कृपया नया प्रतिसाद देखने के लिए नीचे क्लिक करें।\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(83, 'TICKET_RESPONDED', '#{{ticketNumber}} 新しい応答 - OpenSupports', 'jp', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n チケットが応答しました\n
\n こんにちは、{{name}}。 あなたはチケットのタイトル {{title}}で回答を受け取りました。\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n 新しいレスポンスを見るには、下記をクリックしてください。\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(84, 'TICKET_RESPONDED', '#{{ticketNumber}} Nova resposta - OpenSupports', 'pt', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Ticket respondeu\n
\n Olá, {{name}}. Recebeu uma resposta no título do bilhete {{title}}.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n Por favor, clique abaixo para ver a nova resposta.\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(85, 'TICKET_RESPONDED', '#{{ticketNumber}} Новый ответ - OpenSupports', 'ru', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Отправлен билет\n
\n Здравствуйте, {{name}}. Вы получили ответ в названии билета {{title}}.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n Нажмите ниже, чтобы увидеть новый ответ.\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(86, 'TICKET_RESPONDED', '#{{ticketNumber}} Yeni yanıt - OpenSupports', 'tr', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Bilet yanıtladı\n
\n Merhaba, {{name}}. {{title}} başlıklı biletten bir cevap aldınız..\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n Yeni yanıtı görmek için lütfen aşağıya tıklayınız.\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(87, 'TICKET_RESPONDED', '#{{ticketNumber}} 新反应 - OpenSupports', 'cn', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Ticket responded\n
\n 您好,{{name}}。 您在票证名称 {{title}} 中收到了回复。\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n 请点击下面查看新的回复。\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(88, 'TICKET_RESPONDED', '#{{ticketNumber}} Ticket risposto - OpenSupports', 'it', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Risposta al tuo ticket\n
\n Ciao, {{name}}. Hai ricevuto una risposta al tuo ticket {{title}}.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n Clicca qui sotto per leggere la risposta.\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(89, 'TICKET_CLOSED', '#{{ticketNumber}} Ticket closed - OpenSupports', 'en', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Ticket closed\n
\n Hello, {{name}}. A ticket you sent titled {{title}} has been closed.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n You can access to the ticket by its ticket number. Or you can click on the button below.\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(90, 'TICKET_CLOSED', '#{{ticketNumber}} Ticket cerrado - OpenSupports', 'es', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Ticket cerrado\n
\n Hola, {{name}}. Un ticket que enviaste titulado {{title}} ha sido cerrado.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n Puedes acceder al ticket por su numero de ticket o haciendo click en el botón de abajo.\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(91, 'TICKET_CLOSED', '#{{ticketNumber}} Ticket geschlossen - OpenSupports', 'de', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Ticket geschlossen\n
\n Hallo, {{name}}. Ein Ticket, das Sie mit dem Titel {{title}} gesendet haben, wurde geschlossen.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n Sie können das Ticket nach der Fahrkartennummer erreichen. Oder klicken Sie auf die Schaltfläche unten.\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(92, 'TICKET_CLOSED', '#{{ticketNumber}} Billet fermé - OpenSupports', 'fr', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Billet fermé\n
\n Bonjour, {{name}}. Un billet que vous avez envoyé intitulé {{title}} a été fermé.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n Vous pouvez accéder au billet par son numéro de ticket. Ou vous pouvez cliquer sur le bouton ci-dessous.\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(93, 'TICKET_CLOSED', '#{{ticketNumber}} tiket ditutup - OpenSupports', 'in', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n tiket ditutup\n
\n नमस्ते {{name}}. आपके द्वारा लिखे गए टिकट {{title}} को बंद कर दिया गया है।\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n आप अपने टिकट नंबर से टिकट तक पहुंच सकते हैं। या आप नीचे दिए गए बटन पर क्लिक कर सकते हैं।\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(94, 'TICKET_CLOSED', '#{{ticketNumber}} チケットが閉じられました - OpenSupports', 'jp', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n チケットが閉じられました\n
\n こんにちは、{{name}}。{{title}} というタイトルのチケットは閉鎖されました。\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n そのチケット番号でチケットにアクセスできます。 または、下のボタンをクリックしてください。\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(95, 'TICKET_CLOSED', '#{{ticketNumber}} Bilhete fechado - OpenSupports', 'pt', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Bilhete fechado\n
\n Olá, {{name}}. Um bilhete que você enviou intitulado {{title}} foi fechado.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n Você pode acessar o bilhete pelo seu número de bilhete. Ou você pode clicar no botão abaixo.\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(96, 'TICKET_CLOSED', '#{{ticketNumber}} Билет закрыт - OpenSupports', 'ru', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Билет закрыт\n
\n Здравствуйте, {{name}}. Билет, который вы отправили под названием {{title}}, был закрыт.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n Вы можете получить доступ к билету по его номеру билета. Или вы можете нажать на кнопку ниже.\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(97, 'TICKET_CLOSED', '#{{ticketNumber}} Bilet kapalı - OpenSupports', 'tr', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Bilet kapandı\n
\n Merhaba, {{name}}. Başlık gönderdiğiniz bir bilet {{title}} kapatıldı.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n Bilete bilet numarasından erişebilirsiniz. Ya da aşağıdaki düğmeyi tıklayabilirsiniz.\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(98, 'TICKET_CLOSED', '#{{ticketNumber}} 票已关闭 - OpenSupports', 'cn', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Ticket closed\n
\n 您好,{{name}}。 您发送的名为 {{title}} 的票已经关闭。\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n 您可以通过其票号访问票证。 或者你可以点击下面的按钮。\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(99, 'TICKET_CLOSED', '#{{ticketNumber}} Ticket chiuso - OpenSupports', 'it', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Ticket chiuso\n
\n Ciao, {{name}}. Il ticket che hai inviato {{title}} è stato chiuso.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n È possibile accedere al ticket attraverso il numero del ticket. Oppure puoi cliccare sul bottone qui sotto.\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(100, 'TICKET_CREATED_STAFF', '#{{ticketNumber}} Ticket created - OpenSupports', 'en', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Ticket created\n
\n User {{name}} has created a new ticket titled {{title}}.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n You can access to the ticket by its ticket number.\n
\n {{ticketNumber}}\n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(101, 'TICKET_CREATED_STAFF', '#{{ticketNumber}} Ticket creado - OpenSupports', 'es', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Ticket creado\n
\n El usuario {{name}} ha creado un nuevo ticket titulado {{title}}.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n Puedes ver el ticket usando el numero de ticket prensentado abajo.\n
\n {{ticketNumber}}\n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(102, 'TICKET_CREATED_STAFF', '#{{ticketNumber}} Ticket erstellt - OpenSupports', 'de', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Ticket erstellt\n
\n Der Benutzer {{name}} hat ein neues Ticket erstellt berechtigt {{title}}.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n Sie können das Ticket nach der Fahrkartennummer erreichen.\n
\n {{ticketNumber}}\n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(103, 'TICKET_CREATED_STAFF', '#{{ticketNumber}} Ticket créé - OpenSupports', 'fr', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Ticket créé\n
\n L''utilisateur {{name}}. a créé un nouveau poste intitulé {{title}}.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n Vous pouvez accéder au billet par son numéro de ticket.\n
\n {{ticketNumber}}\n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(104, 'TICKET_CREATED_STAFF', '#{{ticketNumber}} tiket dibuat - OpenSupports', 'in', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n टिकट बनाया\n
\n उपयोगकर्ता {{name}} हकदार एक नया पद बनाया गया है {{title}}.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n आप अपने टिकट नंबर से टिकट तक पहुंच सकते हैं।\n
\n {{ticketNumber}}\n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(105, 'TICKET_CREATED_STAFF', '#{{ticketNumber}} チケットが作成されました - OpenSupports', 'jp', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n チケットが作成されました\n
\n ユーザーは {{name}} 彼は題した新しいチケットを作成しました {{title}}。\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n そのチケット番号でチケットにアクセスできます。\n
\n {{ticketNumber}}\n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(106, 'TICKET_CREATED_STAFF', '#{{ticketNumber}} Ticket criado - OpenSupports', 'pt', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Ticket criado\n
\n O usuário {{name}} criou um novo bilhete de direito {{title}}.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n Você pode acessar o bilhete pelo seu número de bilhete.\n
\n {{ticketNumber}}\n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(107, 'TICKET_CREATED_STAFF', '#{{ticketNumber}} Создан билет - OpenSupports', 'ru', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Создан билет\n
\n Пользователь {{name}} создал новый билет под названием {{title}}.\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n Вы можете получить доступ к билету по его номеру билета.\n
\n {{ticketNumber}}\n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); +INSERT INTO `mailtemplate` (`id`, `type`, `subject`, `language`, `body`) VALUES +(108, 'TICKET_CREATED_STAFF', '#{{ticketNumber}} Bilet oluşturuldu - OpenSupports', 'tr', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Bilet oluşturuldu\n
\n Kullanıcı {{name}} başlıklı yeni bir bilet yarattı {{title}} .\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n Bilete bilet numarasından erişebilirsiniz.\n
\n {{ticketNumber}}\n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(109, 'TICKET_CREATED_STAFF', '#{{ticketNumber}} 已创建票证 - OpenSupports', 'cn', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Ticket created\n
\n 用戶 {{name}}。 他創造了一個題為新票 {{title}}。\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n 您可以通过其票号访问票证。\n
\n {{ticketNumber}}\n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'), +(110, 'TICKET_CREATED_STAFF', '#{{ticketNumber}} Ticket creato - OpenSupports', 'it', '\n\n\n \n \n Support Center\n\n \n\n \n\n \n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n logo\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Ticket inviato\n
\n l''utente {{name}} ha creato un nuovo titolo dal titolo {{title}}\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n
\n È possibile accedere al ticket con il suo numero di ticket.\n
\n {{ticketNumber}}\n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n OpenSupports
\n Open source ticket system
\n www.opensupports.com

\n
\n
\n
\n\n'); + +ALTER TABLE `mailtemplate` + ADD PRIMARY KEY (`id`); + +ALTER TABLE `mailtemplate` + MODIFY `id` int(11) unsigned NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=111; diff --git a/server/_apidoc.js b/server/_apidoc.js new file mode 100644 index 00000000..15f7c46b --- /dev/null +++ b/server/_apidoc.js @@ -0,0 +1,82 @@ + +/** + * @api {post} /staff/get Get staff + * @apiVersion 4.0.0 + * + * @apiName Get staff + * + * @apiGroup Staff + * + * @apiDescription This path retrieves information about a staff member. + * + * @apiPermission staff1 + * + * @apiParam {Number} staffId The id of the staff member to be searched. + * + * @apiUse NO_PERMISSION + * + * @apiSuccess {Object} data Information about a staff member + * @apiSuccess {String} data.name Staff id + * @apiSuccess {String} data.email Staff id + * @apiSuccess {String} data.profilePic Staff id + * @apiSuccess {Number} data.level Staff id + * @apiSuccess {Boolean} data.staff Staff id + * @apiSuccess {[Department](#api-Data_Structures-ObjectDepartment)[]} data.departments Array of departments that has assigned. + * @apiSuccess {[Ticket](#api-Data_Structures-ObjectTicket)[]} data.tickets Array of tickets that has assigned. + * + */ + +/** + * @api {get} /system/download Download file + * @apiVersion 4.0.0 + * + * @apiName Download file + * + * @apiGroup System + * + * @apiDescription This path downloads a file. + * + * @apiPermission any + * + * @apiParam {String} file The filename to be downloaded. + * + * + * @apiSuccess {Object} file File content + * + */ + +/** + * @api {post} /system/init-settings Init settings + * @apiVersion 4.0.0 + * + * @apiName Init settings + * + * @apiGroup System + * + * @apiDescription This path sets the initial settings. It can only be used once during installation. + * + * @apiPermission any + * + * @apiParam {String} language Indicates the default language of the system. + * @apiParam {String} user-system-enabled Indicates if the user system should be enabled. + * @apiParam {String} registration Indicates if the registration should be enabled. + * + * @apiUse INVALID_LANGUAGE + * @apiUse INIT_SETTINGS_DONE + * + * @apiSuccess {Object} data Empty object + * + */ + +/** + * @api {OBJECT} Staff Staff + * @apiVersion 4.0.0 + * @apiGroup Data Structures + * @apiParam {String} name Name of the staff member. + * @apiParam {String} email Email of the staff member. + * @apiParam {String} profilePic profilePic url of the staff member. + * @apiParam {Number} level Level of the staff member. + * @apiParam {Object[]} departments The departments the staff member has assigned. + * @apiParam {[Ticket](#api-Data_Structures-ObjectTicket)[]} tickets The tickets the staff member has assigned. + * @apiParam {Number} lastLogin The last login of the staff member. + */ \ No newline at end of file diff --git a/server/apidoc.json b/server/apidoc.json index 589e0216..3fece29a 100644 --- a/server/apidoc.json +++ b/server/apidoc.json @@ -1,6 +1,6 @@ { "name": "OpenSupports API Documentation", - "version": "4.0.0", + "version": "4.1.0", "title": "OpenSupports API Documentation", "description": "Backend API documentation for developers.", "header": { diff --git a/server/controllers/article/add-topic.php b/server/controllers/article/add-topic.php index 5b30bf77..9cfd29a8 100755 --- a/server/controllers/article/add-topic.php +++ b/server/controllers/article/add-topic.php @@ -4,7 +4,7 @@ DataValidator::with('CustomValidations', true); /** * @api {post} /article/add-topic Add topic - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Add topic * diff --git a/server/controllers/article/add.php b/server/controllers/article/add.php index 2f1b250a..c37b824f 100755 --- a/server/controllers/article/add.php +++ b/server/controllers/article/add.php @@ -4,7 +4,7 @@ DataValidator::with('CustomValidations', true); /** * @api {post} /article/add Add article - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Add article * diff --git a/server/controllers/article/delete-topic.php b/server/controllers/article/delete-topic.php index 18bd628d..1296873c 100755 --- a/server/controllers/article/delete-topic.php +++ b/server/controllers/article/delete-topic.php @@ -4,7 +4,7 @@ DataValidator::with('CustomValidations', true); /** * @api {post} /article/delete-topic Delete topic - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Delete topic * diff --git a/server/controllers/article/delete.php b/server/controllers/article/delete.php index 948a37b0..fda5d33d 100755 --- a/server/controllers/article/delete.php +++ b/server/controllers/article/delete.php @@ -4,7 +4,7 @@ DataValidator::with('CustomValidations', true); /** * @api {post} /article/delete Delete article - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Delete article * diff --git a/server/controllers/article/edit-topic.php b/server/controllers/article/edit-topic.php index 88468014..0087e51b 100755 --- a/server/controllers/article/edit-topic.php +++ b/server/controllers/article/edit-topic.php @@ -4,7 +4,7 @@ DataValidator::with('CustomValidations', true); /** * @api {post} /article/edit-topic Edit topic - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Edit topic * diff --git a/server/controllers/article/edit.php b/server/controllers/article/edit.php index d5d76109..e5c1a50e 100755 --- a/server/controllers/article/edit.php +++ b/server/controllers/article/edit.php @@ -4,7 +4,7 @@ DataValidator::with('CustomValidations', true); /** * @api {post} /article/edit Edit article - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Edit a article * diff --git a/server/controllers/article/get-all.php b/server/controllers/article/get-all.php index 59e5fd42..847400b4 100755 --- a/server/controllers/article/get-all.php +++ b/server/controllers/article/get-all.php @@ -4,7 +4,7 @@ DataValidator::with('CustomValidations', true); /** * @api {post} /article/get-all Get all articles - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Get all articles * diff --git a/server/controllers/staff/add.php b/server/controllers/staff/add.php index eed23198..3d06a620 100755 --- a/server/controllers/staff/add.php +++ b/server/controllers/staff/add.php @@ -4,7 +4,7 @@ DataValidator::with('CustomValidations', true); /** * @api {post} /staff/add Add staff - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Add staff * diff --git a/server/controllers/staff/assign-ticket.php b/server/controllers/staff/assign-ticket.php index ffab05c5..a72b6218 100755 --- a/server/controllers/staff/assign-ticket.php +++ b/server/controllers/staff/assign-ticket.php @@ -4,7 +4,7 @@ DataValidator::with('CustomValidations', true); /** * @api {post} /staff/assign-ticket Assign ticket - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Assign ticket * diff --git a/server/controllers/staff/delete.php b/server/controllers/staff/delete.php index 3fcadee9..6a5c7db2 100755 --- a/server/controllers/staff/delete.php +++ b/server/controllers/staff/delete.php @@ -4,7 +4,7 @@ use RedBeanPHP\Facade as RedBean; /** * @api {post} /staff/delete Delete staff - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Delete staff * diff --git a/server/controllers/staff/edit.php b/server/controllers/staff/edit.php index 6b7e0262..60845eeb 100755 --- a/server/controllers/staff/edit.php +++ b/server/controllers/staff/edit.php @@ -3,7 +3,7 @@ use Respect\Validation\Validator as DataValidator; /** * @api {post} /staff/edit Edit staff - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Edit staff * @@ -75,7 +75,7 @@ class EditStaffController extends Controller { $this->staffInstance->password = Hashing::hashPassword(Controller::request('password')); } - if(Controller::request('level') && Controller::isStaffLogged(3) && Controller::request('staffId') !== Controller::getLoggedUser()->id) { + if(Controller::request('level') && Controller::isStaffLogged(3) && !$this->isModifyingCurrentStaff()) { $this->staffInstance->level = Controller::request('level'); } @@ -87,8 +87,8 @@ class EditStaffController extends Controller { $this->staffInstance->profilePic = ($fileUploader instanceof FileUploader) ? $fileUploader->getFileName() : null; } - if(Controller::request('sendEmailOnNewTicket') !== null && !Controller::request('staffId') ) { - $this->staffInstance->sendEmailOnNewTicket = Controller::request('sendEmailOnNewTicket'); + if(Controller::request('sendEmailOnNewTicket') !== null && $this->isModifyingCurrentStaff()) { + $this->staffInstance->sendEmailOnNewTicket = Controller::request('sendEmailOnNewTicket') * 1; } $this->staffInstance->store(); @@ -141,4 +141,8 @@ class EditStaffController extends Controller { } } } + + private function isModifyingCurrentStaff() { + return !Controller::request('staffId') || Controller::request('staffId') === Controller::getLoggedUser()->id; + } } \ No newline at end of file diff --git a/server/controllers/staff/get-all-tickets.php b/server/controllers/staff/get-all-tickets.php index c4b8f170..abe1ff88 100755 --- a/server/controllers/staff/get-all-tickets.php +++ b/server/controllers/staff/get-all-tickets.php @@ -3,7 +3,7 @@ use Respect\Validation\Validator as DataValidator; /** * @api {post} /staff/get-all-tickets Get all tickets - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Get all tickets * diff --git a/server/controllers/staff/get-all.php b/server/controllers/staff/get-all.php index f0b021e4..aadc83af 100755 --- a/server/controllers/staff/get-all.php +++ b/server/controllers/staff/get-all.php @@ -3,7 +3,7 @@ use Respect\Validation\Validator as DataValidator; /** * @api {post} /staff/get-all Get all staffs - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Get all staffs * diff --git a/server/controllers/staff/get-new-tickets.php b/server/controllers/staff/get-new-tickets.php index c469a0ff..b0e2e6e2 100755 --- a/server/controllers/staff/get-new-tickets.php +++ b/server/controllers/staff/get-new-tickets.php @@ -4,7 +4,7 @@ use Respect\Validation\Validator as DataValidator; /** * @api {post} /staff/get-new-tickets Get new tickets - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Get new tickets * diff --git a/server/controllers/staff/get-tickets.php b/server/controllers/staff/get-tickets.php index fdb2335c..0d69af59 100755 --- a/server/controllers/staff/get-tickets.php +++ b/server/controllers/staff/get-tickets.php @@ -3,7 +3,7 @@ use Respect\Validation\Validator as DataValidator; /** * @api {post} /staff/get-tickets Get tickets - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Get tickets * diff --git a/server/controllers/staff/get.php b/server/controllers/staff/get.php index 90de8990..64423de7 100755 --- a/server/controllers/staff/get.php +++ b/server/controllers/staff/get.php @@ -4,7 +4,7 @@ DataValidator::with('CustomValidations', true); /** * @api {post} /staff/get Get staff - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Get staff * @@ -19,13 +19,14 @@ DataValidator::with('CustomValidations', true); * @apiUse NO_PERMISSION * * @apiSuccess {Object} data Information about a staff member - * @apiSuccess {String} data.name Staff id - * @apiSuccess {String} data.email Staff id - * @apiSuccess {String} data.profilePic Staff id - * @apiSuccess {Number} data.level Staff id - * @apiSuccess {Boolean} data.staff Staff id + * @apiSuccess {String} data.name Name of the staff member + * @apiSuccess {String} data.email Elmail of the staff member + * @apiSuccess {String} data.profilePic Profile pic filename of staff member + * @apiSuccess {Number} data.level Level of staff member + * @apiSuccess {Boolean} data.staff Indicates that it is a staff (always true) * @apiSuccess {[Department](#api-Data_Structures-ObjectDepartment)[]} data.departments Array of departments that has assigned. * @apiSuccess {[Ticket](#api-Data_Structures-ObjectTicket)[]} data.tickets Array of tickets that has assigned. + * @apiSuccess {Boolean} data.sendEmailOnNewTicket Indicates if this member receives a mail when a ticket is created. * */ @@ -67,7 +68,8 @@ class GetStaffController extends Controller { 'level' => $user->level, 'staff' => true, 'departments' => $parsedDepartmentList, - 'tickets' => $user->sharedTicketList->toArray() + 'tickets' => $user->sharedTicketList->toArray(), + 'sendEmailOnNewTicket' => $user->sendEmailOnNewTicket ]); } } \ No newline at end of file diff --git a/server/controllers/staff/last-events.php b/server/controllers/staff/last-events.php index 27bcc172..f13bd1df 100755 --- a/server/controllers/staff/last-events.php +++ b/server/controllers/staff/last-events.php @@ -3,7 +3,7 @@ use Respect\Validation\Validator as DataValidator; /** * @api {post} /staff/last-events Get last events - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Get last events * diff --git a/server/controllers/staff/search-tickets.php b/server/controllers/staff/search-tickets.php index 7f2f08a9..f90106d9 100755 --- a/server/controllers/staff/search-tickets.php +++ b/server/controllers/staff/search-tickets.php @@ -3,7 +3,7 @@ use Respect\Validation\Validator as DataValidator; /** * @api {post} /staff/search-tickets Search tickets - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Search tickets * diff --git a/server/controllers/staff/un-assign-ticket.php b/server/controllers/staff/un-assign-ticket.php index 09cb8112..48fe6dc6 100755 --- a/server/controllers/staff/un-assign-ticket.php +++ b/server/controllers/staff/un-assign-ticket.php @@ -4,7 +4,7 @@ DataValidator::with('CustomValidations', true); /** * @api {post} /staff/un-assign-ticket Un-assign ticket - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Un-assign ticket * diff --git a/server/controllers/system/add-api-key.php b/server/controllers/system/add-api-key.php index 40bdc307..d86d9e46 100755 --- a/server/controllers/system/add-api-key.php +++ b/server/controllers/system/add-api-key.php @@ -3,7 +3,7 @@ use Respect\Validation\Validator as DataValidator; /** * @api {post} /system/add-api-key Add APIKey - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Add APIKey * diff --git a/server/controllers/system/add-department.php b/server/controllers/system/add-department.php index b042d4c5..2307b2fc 100755 --- a/server/controllers/system/add-department.php +++ b/server/controllers/system/add-department.php @@ -3,7 +3,7 @@ use Respect\Validation\Validator as DataValidator; /** * @api {post} /system/add-department Add department - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Add department * diff --git a/server/controllers/system/backup-database.php b/server/controllers/system/backup-database.php index 3fe9d2fd..e757b27b 100755 --- a/server/controllers/system/backup-database.php +++ b/server/controllers/system/backup-database.php @@ -3,7 +3,7 @@ use Ifsnop\Mysqldump as IMysqldump; /** * @api {post} /system/backup-database Backup database - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Backup database * diff --git a/server/controllers/system/check-requirements.php b/server/controllers/system/check-requirements.php index c9b9ada1..5eb35cb2 100755 --- a/server/controllers/system/check-requirements.php +++ b/server/controllers/system/check-requirements.php @@ -2,7 +2,7 @@ /** * @api {post} /system/check-requirements Checks requirements - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Check requirements * diff --git a/server/controllers/system/csv-import.php b/server/controllers/system/csv-import.php index 63c205ae..6943f717 100755 --- a/server/controllers/system/csv-import.php +++ b/server/controllers/system/csv-import.php @@ -2,7 +2,7 @@ /** * @api {post} /system/csv-import CSV import - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName CSV import * diff --git a/server/controllers/system/delete-all-users.php b/server/controllers/system/delete-all-users.php index 1f603fc4..4f378a6b 100755 --- a/server/controllers/system/delete-all-users.php +++ b/server/controllers/system/delete-all-users.php @@ -3,7 +3,7 @@ use RedBeanPHP\Facade as RedBean; /** * @api {post} /system/delete-all-users Delete all users - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Delete all users * diff --git a/server/controllers/system/delete-api-key.php b/server/controllers/system/delete-api-key.php index 382b00c6..c26feec5 100755 --- a/server/controllers/system/delete-api-key.php +++ b/server/controllers/system/delete-api-key.php @@ -3,7 +3,7 @@ use Respect\Validation\Validator as DataValidator; /** * @api {post} /system/delete-api-key Delete APIKey - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Delete APIKey * diff --git a/server/controllers/system/delete-department.php b/server/controllers/system/delete-department.php index 772fedde..00665746 100755 --- a/server/controllers/system/delete-department.php +++ b/server/controllers/system/delete-department.php @@ -4,7 +4,7 @@ DataValidator::with('CustomValidations', true); /** * @api {post} /system/delete-department Delete department - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Delete department * diff --git a/server/controllers/system/disable-registration.php b/server/controllers/system/disable-registration.php index f4c9d459..f6cc45bd 100755 --- a/server/controllers/system/disable-registration.php +++ b/server/controllers/system/disable-registration.php @@ -2,7 +2,7 @@ /** * @api {post} /system/disable-registration Disable registration - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Disable registration * diff --git a/server/controllers/system/disable-user-system.php b/server/controllers/system/disable-user-system.php index 6256a1f8..b1245c94 100755 --- a/server/controllers/system/disable-user-system.php +++ b/server/controllers/system/disable-user-system.php @@ -2,7 +2,7 @@ /** * @api {post} /system/disable-user-system Disable user system - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Disable user system * diff --git a/server/controllers/system/download.php b/server/controllers/system/download.php index 17707ace..9090f0ce 100755 --- a/server/controllers/system/download.php +++ b/server/controllers/system/download.php @@ -4,7 +4,7 @@ use Respect\Validation\Validator as DataValidator; /** * @api {get} /system/download Download file - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Download file * @@ -16,6 +16,7 @@ use Respect\Validation\Validator as DataValidator; * * @apiParam {String} file The filename to be downloaded. * + * @apiError 403 You have no permission to access the file. * * @apiSuccess {Object} file File content * @@ -39,31 +40,31 @@ class DownloadController extends Controller { public function handler() { $fileName = Controller::request('file'); - $staffUser = Staff::getDataStore($fileName, 'profilePic'); + $isStaffProfilePic = !Staff::getDataStore($fileName, 'profilePic')->isNull(); - if($staffUser->isNull()) { + if(!$isStaffProfilePic) { $session = Session::getInstance(); $loggedUser = Controller::getLoggedUser(); if(!$session->sessionExists()) { - print ''; + Response::respond403(); return; } $ticket = Ticket::getTicket($fileName, 'file'); - if($ticket->isNull() || ($this->isNotAuthor($ticket, $loggedUser) && $this->isNotOwner($ticket, $loggedUser))) { + if($ticket->isNull() || ($this->isNotAuthor($ticket, $loggedUser) && $this->isNotDepartmentOwner($ticket, $loggedUser))) { $ticketEvent = Ticketevent::getDataStore($fileName, 'file'); if($ticketEvent->isNull()) { - print ''; + Response::respond403(); return; } $ticket = $ticketEvent->ticket; - if($this->isNotAuthor($ticket, $loggedUser) && $this->isNotOwner($ticket, $loggedUser)) { - print ''; + if($this->isNotAuthor($ticket, $loggedUser) && $this->isNotDepartmentOwner($ticket, $loggedUser)) { + Response::respond403(); return; } } @@ -80,17 +81,17 @@ class DownloadController extends Controller { if($session->getTicketNumber()) { return $session->getTicketNumber() !== $ticket->ticketNumber; } else { - return Controller::getLoggedUser()->level >= 1 || $ticket->author->id !== $loggedUser->id; + return $loggedUser->level >= 1 || $ticket->author->id !== $loggedUser->id; } } - private function isNotOwner($ticket, $loggedUser) { + private function isNotDepartmentOwner($ticket, $loggedUser) { $session = Session::getInstance(); if($session->getTicketNumber()) { return $session->getTicketNumber() !== $ticket->ticketNumber; } else { - return !(Controller::getLoggedUser()->level >= 1) || !$ticket->owner || $ticket->owner->id !== $loggedUser->id; + return !($loggedUser->level >= 1) || !$loggedUser->sharedDepartmentList->includesId($ticket->department->id); } } } \ No newline at end of file diff --git a/server/controllers/system/edit-department.php b/server/controllers/system/edit-department.php index b6aaa1ef..29534f50 100755 --- a/server/controllers/system/edit-department.php +++ b/server/controllers/system/edit-department.php @@ -4,7 +4,7 @@ DataValidator::with('CustomValidations', true); /** * @api {post} /system/edit-department Edit department - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Edit department * diff --git a/server/controllers/system/edit-mail-template.php b/server/controllers/system/edit-mail-template.php index 5fc8d077..80f0140f 100755 --- a/server/controllers/system/edit-mail-template.php +++ b/server/controllers/system/edit-mail-template.php @@ -3,7 +3,7 @@ use Respect\Validation\Validator as DataValidator; /** * @api {post} /system/edit-mail-template Edit mail template - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Edit mail template * diff --git a/server/controllers/system/edit-settings.php b/server/controllers/system/edit-settings.php index 2593b1da..879a8f12 100755 --- a/server/controllers/system/edit-settings.php +++ b/server/controllers/system/edit-settings.php @@ -2,7 +2,7 @@ /** * @api {post} /system/edit-settings Edit settings - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Edit settings * diff --git a/server/controllers/system/enable-registration.php b/server/controllers/system/enable-registration.php index ea2b601d..2d6135dd 100755 --- a/server/controllers/system/enable-registration.php +++ b/server/controllers/system/enable-registration.php @@ -3,7 +3,7 @@ use Respect\Validation\Validator as DataValidator; /** * @api {post} /system/enable-registration Enable registration - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Enable registration * diff --git a/server/controllers/system/enable-user-system.php b/server/controllers/system/enable-user-system.php index c431fe39..d1d96c03 100755 --- a/server/controllers/system/enable-user-system.php +++ b/server/controllers/system/enable-user-system.php @@ -2,7 +2,7 @@ /** * @api {post} /system/enable-user-system Enable user system - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Enable user system * diff --git a/server/controllers/system/get-api-keys.php b/server/controllers/system/get-api-keys.php index c61aa516..988e0e81 100755 --- a/server/controllers/system/get-api-keys.php +++ b/server/controllers/system/get-api-keys.php @@ -3,7 +3,7 @@ use Respect\Validation\Validator as DataValidator; /** * @api {post} /system/get-api-keys Get APIKeys - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Get APIKeys * diff --git a/server/controllers/system/get-logs.php b/server/controllers/system/get-logs.php index c842003d..7bbb2def 100755 --- a/server/controllers/system/get-logs.php +++ b/server/controllers/system/get-logs.php @@ -3,7 +3,7 @@ use Respect\Validation\Validator as DataValidator; /** * @api {post} /system/get-logs Get logs - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Get logs * diff --git a/server/controllers/system/get-mail-templates.php b/server/controllers/system/get-mail-templates.php index e4447319..fd556d68 100755 --- a/server/controllers/system/get-mail-templates.php +++ b/server/controllers/system/get-mail-templates.php @@ -3,7 +3,7 @@ use Respect\Validation\Validator as DataValidator; /** * @api {post} /system/get-mail-templates Get mail templates - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Get mail templates * diff --git a/server/controllers/system/get-settings.php b/server/controllers/system/get-settings.php index 9ade4956..947d87a1 100755 --- a/server/controllers/system/get-settings.php +++ b/server/controllers/system/get-settings.php @@ -2,7 +2,7 @@ /** * @api {post} /system/get-settings Get settings - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Get settings * diff --git a/server/controllers/system/get-stats.php b/server/controllers/system/get-stats.php index 6bc63d80..3dfb1f2f 100755 --- a/server/controllers/system/get-stats.php +++ b/server/controllers/system/get-stats.php @@ -3,7 +3,7 @@ use Respect\Validation\Validator as DataValidator; /** * @api {post} /system/get-stats Get stats - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Get stats * diff --git a/server/controllers/system/init-admin.php b/server/controllers/system/init-admin.php index 1648fa0f..773b7995 100755 --- a/server/controllers/system/init-admin.php +++ b/server/controllers/system/init-admin.php @@ -4,7 +4,7 @@ DataValidator::with('CustomValidations', true); /** * @api {post} /system/init-admin Init admin - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Init admin * diff --git a/server/controllers/system/init-database.php b/server/controllers/system/init-database.php index 8220ede4..dd21c026 100755 --- a/server/controllers/system/init-database.php +++ b/server/controllers/system/init-database.php @@ -4,7 +4,7 @@ use RedBeanPHP\Facade as RedBean; /** * @api {post} /system/init-database Init database - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Init database * diff --git a/server/controllers/system/init-settings.php b/server/controllers/system/init-settings.php index 6a68ed9d..8ec4e583 100755 --- a/server/controllers/system/init-settings.php +++ b/server/controllers/system/init-settings.php @@ -4,7 +4,7 @@ DataValidator::with('CustomValidations', true); /** * @api {post} /system/init-settings Init settings - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Init settings * @@ -17,6 +17,14 @@ DataValidator::with('CustomValidations', true); * @apiParam {String} language Indicates the default language of the system. * @apiParam {String} user-system-enabled Indicates if the user system should be enabled. * @apiParam {String} registration Indicates if the registration should be enabled. + * @apiParam {String} no-reply-email Email from where automated emails will be sent. + * @apiParam {String} smtp-host SMTP Server address. + * @apiParam {String} smtp-port SMTP Server port. + * @apiParam {String} smtp-user SMTP Authentication User. + * @apiParam {String} smtp-pass SMTP Authentication Password. + * @apiParam {String} allow-attachments Indicates if files can be attached to tickets and comments. + * @apiParam {String} title Title of the support center + * @apiParam {String} url Url of the frontend client. * * @apiUse INVALID_LANGUAGE * @apiUse INIT_SETTINGS_DONE @@ -115,12 +123,14 @@ class InitSettingsController extends Controller { } } private function storeLanguages() { + $defaultLanguage = Controller::request('language'); + foreach(Language::LANGUAGES as $languageCode) { $language = new Language(); $language->setProperties([ 'code' => $languageCode, 'allowed' => 1, - 'supported' => ($languageCode === 'en') + 'supported' => ($languageCode === $defaultLanguage) ]); $language->store(); diff --git a/server/controllers/system/installation-done.php b/server/controllers/system/installation-done.php index fd75c22f..74ebaaff 100755 --- a/server/controllers/system/installation-done.php +++ b/server/controllers/system/installation-done.php @@ -3,7 +3,7 @@ use RedBeanPHP\Facade as RedBean; /** * @api {post} /system/installation-done Installation done - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Installation done * diff --git a/server/controllers/system/recover-mail-template.php b/server/controllers/system/recover-mail-template.php index 9912c5d5..399f55f6 100755 --- a/server/controllers/system/recover-mail-template.php +++ b/server/controllers/system/recover-mail-template.php @@ -3,7 +3,7 @@ use Respect\Validation\Validator as DataValidator; /** * @api {post} /system/recover-mail-template Recover mail template - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Recover mail template * diff --git a/server/controllers/system/test-smtp.php b/server/controllers/system/test-smtp.php index 1bbdf663..6e4c4131 100644 --- a/server/controllers/system/test-smtp.php +++ b/server/controllers/system/test-smtp.php @@ -41,7 +41,7 @@ class TestSMTPController extends Controller { Controller::request('smtp-host'), Controller::request('smtp-port'), Controller::request('smtp-user'), - Controller::request('smtp-pass'), + Controller::request('smtp-password'), Controller::request('no-reply-email') ); diff --git a/server/controllers/ticket/add-custom-response.php b/server/controllers/ticket/add-custom-response.php index 919cd104..806798fc 100755 --- a/server/controllers/ticket/add-custom-response.php +++ b/server/controllers/ticket/add-custom-response.php @@ -4,7 +4,7 @@ DataValidator::with('CustomValidations', true); /** * @api {post} /ticket/add-custom-response Add custom responses - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Add a custom response * diff --git a/server/controllers/ticket/change-department.php b/server/controllers/ticket/change-department.php index 89fb1158..22679a0d 100755 --- a/server/controllers/ticket/change-department.php +++ b/server/controllers/ticket/change-department.php @@ -4,7 +4,7 @@ DataValidator::with('CustomValidations', true); /** * @api {post} /ticket/change-department Change department - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Change department * diff --git a/server/controllers/ticket/change-priority.php b/server/controllers/ticket/change-priority.php index 65ed9117..cbd2dbc9 100755 --- a/server/controllers/ticket/change-priority.php +++ b/server/controllers/ticket/change-priority.php @@ -3,7 +3,7 @@ use Respect\Validation\Validator as DataValidator; /** * @api {post} /ticket/change-priority Change priority - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Change priority * diff --git a/server/controllers/ticket/check.php b/server/controllers/ticket/check.php index 293ed2a8..853c90ff 100755 --- a/server/controllers/ticket/check.php +++ b/server/controllers/ticket/check.php @@ -4,7 +4,7 @@ DataValidator::with('CustomValidations', true); /** * @api {post} /ticket/check Check ticket - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Check ticket * diff --git a/server/controllers/ticket/close.php b/server/controllers/ticket/close.php index e3b86dc4..840654e1 100755 --- a/server/controllers/ticket/close.php +++ b/server/controllers/ticket/close.php @@ -4,7 +4,7 @@ DataValidator::with('CustomValidations', true); /** * @api {post} /ticket/close Close ticket - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Close * diff --git a/server/controllers/ticket/comment.php b/server/controllers/ticket/comment.php index 96e9d3db..6f26b214 100755 --- a/server/controllers/ticket/comment.php +++ b/server/controllers/ticket/comment.php @@ -4,7 +4,7 @@ DataValidator::with('CustomValidations', true); /** * @api {post} /ticket/comment Comment ticket - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Comment ticket * @@ -76,10 +76,12 @@ class CommentController extends Controller { $session = Session::getInstance(); $this->requestData(); - if ((!Controller::isUserSystemEnabled() && !Controller::isStaffLogged()) || $session->isLoggedWithId(($this->ticket->author) ? $this->ticket->author->id : 0) || (Controller::isStaffLogged() && $session->isLoggedWithId(($this->ticket->owner) ? $this->ticket->owner->id : 0))) { + if ((!Controller::isUserSystemEnabled() && !Controller::isStaffLogged()) || + (!Controller::isStaffLogged() && $session->isLoggedWithId(($this->ticket->author) ? $this->ticket->author->id : 0)) || + (Controller::isStaffLogged() && $session->isLoggedWithId(($this->ticket->owner) ? $this->ticket->owner->id : 0))) { $this->storeComment(); - if(Controller::isStaffLogged()) { + if(Controller::isStaffLogged() || $this->ticket->owner) { $this->sendMail(); } @@ -122,9 +124,17 @@ class CommentController extends Controller { private function sendMail() { $mailSender = MailSender::getInstance(); + $email = ($this->ticket->author) ? $this->ticket->author->email : $this->ticket->authorEmail; + $name = ($this->ticket->author) ? $this->ticket->author->name : $this->ticket->authorName; + + if(!Controller::isStaffLogged() && $this->ticket->owner) { + $email = $this->ticket->owner->email; + $name = $this->ticket->owner->name; + } + $mailSender->setTemplate(MailTemplate::TICKET_RESPONDED, [ - 'to' => ($this->ticket->author) ? $this->ticket->author->email : $this->ticket->authorEmail, - 'name' => ($this->ticket->author) ? $this->ticket->author->name : $this->ticket->authorName, + 'to' => $email, + 'name' => $name, 'ticketNumber' => $this->ticket->ticketNumber, 'title' => $this->ticket->title, 'url' => Setting::getSetting('url')->getValue() diff --git a/server/controllers/ticket/create.php b/server/controllers/ticket/create.php index fab7335f..891116a0 100755 --- a/server/controllers/ticket/create.php +++ b/server/controllers/ticket/create.php @@ -4,7 +4,7 @@ DataValidator::with('CustomValidations', true); /** * @api {post} /ticket/create Create ticket - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Create ticket * diff --git a/server/controllers/ticket/delete-custom-response.php b/server/controllers/ticket/delete-custom-response.php index e7de30b0..c816f153 100755 --- a/server/controllers/ticket/delete-custom-response.php +++ b/server/controllers/ticket/delete-custom-response.php @@ -4,7 +4,7 @@ DataValidator::with('CustomValidations', true); /** * @api {post} /ticket/delete-custom-response Delete custom response - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Delete custom response * diff --git a/server/controllers/ticket/edit-custom-response.php b/server/controllers/ticket/edit-custom-response.php index e242ddad..78750312 100755 --- a/server/controllers/ticket/edit-custom-response.php +++ b/server/controllers/ticket/edit-custom-response.php @@ -4,7 +4,7 @@ DataValidator::with('CustomValidations', true); /** * @api {post} /ticket/edit-custom-response Edit custom response - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Edit custom response * diff --git a/server/controllers/ticket/get-custom-responses.php b/server/controllers/ticket/get-custom-responses.php index 081866c5..6a5c219e 100755 --- a/server/controllers/ticket/get-custom-responses.php +++ b/server/controllers/ticket/get-custom-responses.php @@ -4,7 +4,7 @@ DataValidator::with('CustomValidations', true); /** * @api {post} /ticket/get-custom-responses Get custom responses - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Get custom responses * diff --git a/server/controllers/ticket/get.php b/server/controllers/ticket/get.php index 8b62bad1..c92a141d 100755 --- a/server/controllers/ticket/get.php +++ b/server/controllers/ticket/get.php @@ -3,7 +3,7 @@ use Respect\Validation\Validator as DataValidator; DataValidator::with('CustomValidations', true); /** * @api {post} /ticket/get Get ticket - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Get ticket * diff --git a/server/controllers/ticket/re-open.php b/server/controllers/ticket/re-open.php index 8887c912..47fffa04 100755 --- a/server/controllers/ticket/re-open.php +++ b/server/controllers/ticket/re-open.php @@ -3,7 +3,7 @@ use Respect\Validation\Validator as DataValidator; /** * @api {post} /ticket/re-open Reopen ticket - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Reopen ticket * diff --git a/server/controllers/ticket/seen.php b/server/controllers/ticket/seen.php index 48858fa1..c5693141 100755 --- a/server/controllers/ticket/seen.php +++ b/server/controllers/ticket/seen.php @@ -3,7 +3,7 @@ use Respect\Validation\Validator as DataValidator; /** * @api {post} /ticket/seen See ticket - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName See ticket * diff --git a/server/controllers/user/ban.php b/server/controllers/user/ban.php index 45bb0980..b80ff0d6 100755 --- a/server/controllers/user/ban.php +++ b/server/controllers/user/ban.php @@ -3,7 +3,7 @@ use Respect\Validation\Validator as DataValidator; /** * @api {post} /user/ban Ban email - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Ban email * diff --git a/server/controllers/user/check-session.php b/server/controllers/user/check-session.php index ba2b92be..fd119da2 100755 --- a/server/controllers/user/check-session.php +++ b/server/controllers/user/check-session.php @@ -2,7 +2,7 @@ /** * @api {post} /user/check-session Check session - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Check session * diff --git a/server/controllers/user/delete.php b/server/controllers/user/delete.php index 91fc85da..8787d1bb 100755 --- a/server/controllers/user/delete.php +++ b/server/controllers/user/delete.php @@ -4,7 +4,7 @@ use RedBeanPHP\Facade as RedBean; /** * @api {post} /user/delete Delete user - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Delete user * diff --git a/server/controllers/user/edit-email.php b/server/controllers/user/edit-email.php index da0c4cfc..3aba96a7 100755 --- a/server/controllers/user/edit-email.php +++ b/server/controllers/user/edit-email.php @@ -3,7 +3,7 @@ use Respect\Validation\Validator as DataValidator; /** * @api {post} /user/edit-email Edit email - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Edit email * diff --git a/server/controllers/user/edit-password.php b/server/controllers/user/edit-password.php index 99f3013e..3a173d00 100755 --- a/server/controllers/user/edit-password.php +++ b/server/controllers/user/edit-password.php @@ -3,7 +3,7 @@ use Respect\Validation\Validator as DataValidator; /** * @api {post} /user/edit-password Edit password - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Edit password * diff --git a/server/controllers/user/get-user.php b/server/controllers/user/get-user.php index 98b20565..101be6c0 100755 --- a/server/controllers/user/get-user.php +++ b/server/controllers/user/get-user.php @@ -4,7 +4,7 @@ DataValidator::with('CustomValidations', true); /** * @api {post} /user/get-user Get user information - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Get user information * diff --git a/server/controllers/user/get-users.php b/server/controllers/user/get-users.php index 080b39a1..cafaca92 100755 --- a/server/controllers/user/get-users.php +++ b/server/controllers/user/get-users.php @@ -3,7 +3,7 @@ use Respect\Validation\Validator as DataValidator; /** * @api {post} /user/get-users Get users list - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Get users list * diff --git a/server/controllers/user/get.php b/server/controllers/user/get.php index c313a0c0..a36dfeb1 100755 --- a/server/controllers/user/get.php +++ b/server/controllers/user/get.php @@ -4,7 +4,7 @@ DataValidator::with('CustomValidations', true); /** * @api {post} /user/get Get my information - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Get my Information * diff --git a/server/controllers/user/list-ban.php b/server/controllers/user/list-ban.php index be1b6dd5..97799b27 100755 --- a/server/controllers/user/list-ban.php +++ b/server/controllers/user/list-ban.php @@ -3,7 +3,7 @@ use Respect\Validation\Validator as DataValidator; /** * @api {post} /user/list-ban Get ban list - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Get ban list * diff --git a/server/controllers/user/login.php b/server/controllers/user/login.php index 180259d9..899cb5fd 100755 --- a/server/controllers/user/login.php +++ b/server/controllers/user/login.php @@ -2,7 +2,7 @@ /** * @api {post} /user/login Login - * @apiVersion 4.0.0 + * @apiVersion 4.1.0 * * @apiName Login * diff --git a/server/controllers/user/logout.php b/server/controllers/user/logout.php index a13f1817..d02f448d 100755 --- a/server/controllers/user/logout.php +++ b/server/controllers/user/logout.php @@ -1,7 +1,7 @@ [ 'subject' => '注册 {{to}} - OpenSupports', 'body' => file_get_contents('data/mail-templates/user-signup-cn.html') + ], + 'it' => [ + 'subject' => 'Sei iscritto {{to}} - OpenSupports', + 'body' => file_get_contents('data/mail-templates/user-signup-it.html') ] ], 'USER_PASSWORD' => [ @@ -85,6 +89,10 @@ class InitialMails { 'cn' => [ 'subject' => '密码已编辑 - OpenSupports', 'body' => file_get_contents('data/mail-templates/user-edit-password-cn.html') + ], + 'it' => [ + 'subject' => 'Password modificata - OpenSupports', + 'body' => file_get_contents('data/mail-templates/user-edit-password-it.html') ] ], 'USER_EMAIL' => [ @@ -127,6 +135,10 @@ class InitialMails { 'cn' => [ 'subject' => '电子邮件已修改 - OpenSupports', 'body' => file_get_contents('data/mail-templates/user-edit-email-cn.html') + ], + 'it' => [ + 'subject' => 'E-mail modificata - OpenSupports', + 'body' => file_get_contents('data/mail-templates/user-edit-email-it.html') ] ], 'PASSWORD_FORGOT' => [ @@ -169,6 +181,10 @@ class InitialMails { 'cn' => [ 'subject' => '恢复密码 - OpenSupports', 'body' => file_get_contents('data/mail-templates/user-password-forgot-cn.html') + ], + 'it' => [ + 'subject' => 'Recupera la password - OpenSupports', + 'body' => file_get_contents('data/mail-templates/user-password-forgot-it.html') ] ], 'USER_SYSTEM_DISABLED' => [ @@ -211,6 +227,10 @@ class InitialMails { 'cn' => [ 'subject' => '访问系统更改 - OpenSupports', 'body' => file_get_contents('data/mail-templates/user-system-disabled-cn.html') + ], + 'it' => [ + 'subject' => 'Il sistema di accesso è cambiato - OpenSupports', + 'body' => file_get_contents('data/mail-templates/user-system-disabled-it.html') ] ], 'USER_SYSTEM_ENABLED' => [ @@ -253,6 +273,10 @@ class InitialMails { 'cn' => [ 'subject' => '帐户已创建 - OpenSupports', 'body' => file_get_contents('data/mail-templates/user-system-enabled-cn.html') + ], + 'it' => [ + 'subject' => 'Account creato - OpenSupports', + 'body' => file_get_contents('data/mail-templates/user-system-enabled-it.html') ] ], 'TICKET_CREATED' => [ @@ -295,6 +319,10 @@ class InitialMails { 'cn' => [ 'subject' => '#{{ticketNumber}} 已创建票证 - OpenSupports', 'body' => file_get_contents('data/mail-templates/ticket-created-cn.html') + ], + 'it' => [ + 'subject' => '#{{ticketNumber}} ticket creato - OpenSupports', + 'body' => file_get_contents('data/mail-templates/ticket-created-it.html') ] ], 'TICKET_RESPONDED' => [ @@ -337,6 +365,10 @@ class InitialMails { 'cn' => [ 'subject' => '#{{ticketNumber}} 新反应 - OpenSupports', 'body' => file_get_contents('data/mail-templates/ticket-responded-cn.html') + ], + 'it' => [ + 'subject' => '#{{ticketNumber}} Ticket risposto - OpenSupports', + 'body' => file_get_contents('data/mail-templates/ticket-responded-it.html') ] ], 'TICKET_CLOSED' => [ @@ -379,50 +411,58 @@ class InitialMails { 'cn' => [ 'subject' => '#{{ticketNumber}} 票已关闭 - OpenSupports', 'body' => file_get_contents('data/mail-templates/ticket-closed-cn.html') + ], + 'it' => [ + 'subject' => '#{{ticketNumber}} Ticket chiuso - OpenSupports', + 'body' => file_get_contents('data/mail-templates/ticket-closed-it.html') ] ], 'TICKET_CREATED_STAFF' => [ - 'en' => [ - 'subject' => '#{{ticketNumber}} Ticket created - OpenSupports', - 'body' => file_get_contents('data/mail-templates/ticket-created-staff-en.html') - ], - 'es' => [ - 'subject' => '#{{ticketNumber}} Ticket creado - OpenSupports', - 'body' => file_get_contents('data/mail-templates/ticket-created-staff-es.html') - ], - 'de' => [ - 'subject' => '#{{ticketNumber}} Ticket erstellt - OpenSupports', - 'body' => file_get_contents('data/mail-templates/ticket-created-staff-de.html') - ], - 'fr' => [ - 'subject' => '#{{ticketNumber}} Ticket créé - OpenSupports', - 'body' => file_get_contents('data/mail-templates/ticket-created-staff-fr.html') - ], - 'in' => [ - 'subject' => '#{{ticketNumber}} tiket dibuat - OpenSupports', - 'body' => file_get_contents('data/mail-templates/ticket-created-staff-in.html') - ], - 'jp' => [ - 'subject' => '#{{ticketNumber}} チケットが作成されました - OpenSupports', - 'body' => file_get_contents('data/mail-templates/ticket-created-staff-jp.html') - ], - 'pt' => [ - 'subject' => '#{{ticketNumber}} Ticket criado - OpenSupports', - 'body' => file_get_contents('data/mail-templates/ticket-created-staff-pt.html') - ], - 'ru' => [ - 'subject' => '#{{ticketNumber}} Создан билет - OpenSupports', - 'body' => file_get_contents('data/mail-templates/ticket-created-staff-ru.html') - ], - 'tr' => [ - 'subject' => '#{{ticketNumber}} Bilet oluşturuldu - OpenSupports', - 'body' => file_get_contents('data/mail-templates/ticket-created-staff-tr.html') - ], - 'cn' => [ - 'subject' => '#{{ticketNumber}} 已创建票证 - OpenSupports', - 'body' => file_get_contents('data/mail-templates/ticket-created-staff-cn.html') + 'en' => [ + 'subject' => '#{{ticketNumber}} Ticket created - OpenSupports', + 'body' => file_get_contents('data/mail-templates/ticket-created-staff-en.html') + ], + 'es' => [ + 'subject' => '#{{ticketNumber}} Ticket creado - OpenSupports', + 'body' => file_get_contents('data/mail-templates/ticket-created-staff-es.html') + ], + 'de' => [ + 'subject' => '#{{ticketNumber}} Ticket erstellt - OpenSupports', + 'body' => file_get_contents('data/mail-templates/ticket-created-staff-de.html') + ], + 'fr' => [ + 'subject' => '#{{ticketNumber}} Ticket créé - OpenSupports', + 'body' => file_get_contents('data/mail-templates/ticket-created-staff-fr.html') + ], + 'in' => [ + 'subject' => '#{{ticketNumber}} tiket dibuat - OpenSupports', + 'body' => file_get_contents('data/mail-templates/ticket-created-staff-in.html') + ], + 'jp' => [ + 'subject' => '#{{ticketNumber}} チケットが作成されました - OpenSupports', + 'body' => file_get_contents('data/mail-templates/ticket-created-staff-jp.html') + ], + 'pt' => [ + 'subject' => '#{{ticketNumber}} Ticket criado - OpenSupports', + 'body' => file_get_contents('data/mail-templates/ticket-created-staff-pt.html') + ], + 'ru' => [ + 'subject' => '#{{ticketNumber}} Создан билет - OpenSupports', + 'body' => file_get_contents('data/mail-templates/ticket-created-staff-ru.html') + ], + 'tr' => [ + 'subject' => '#{{ticketNumber}} Bilet oluşturuldu - OpenSupports', + 'body' => file_get_contents('data/mail-templates/ticket-created-staff-tr.html') + ], + 'cn' => [ + 'subject' => '#{{ticketNumber}} 已创建票证 - OpenSupports', + 'body' => file_get_contents('data/mail-templates/ticket-created-staff-cn.html') + ], + 'it' => [ + 'subject' => '#{{ticketNumber}} Ticket creato - OpenSupports', + 'body' => file_get_contents('data/mail-templates/ticket-created-staff-it.html') + ] ] - ] ]; } } \ No newline at end of file diff --git a/server/data/mail-templates/ticket-closed-it.html b/server/data/mail-templates/ticket-closed-it.html new file mode 100644 index 00000000..c0fcce75 --- /dev/null +++ b/server/data/mail-templates/ticket-closed-it.html @@ -0,0 +1,384 @@ + + + + + + Support Center + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + +
+
+ + + + +
+ logo +
+
+ +
+
+
+
+ + + + + + + + + + +
+ Ticket chiuso +
+ Ciao, {{name}}. Il ticket che hai inviato {{title}} è stato chiuso. +
+ + + + +
+ + + + + + + +
+ È possibile accedere al ticket attraverso il numero del ticket. Oppure puoi cliccare sul bottone qui sotto. +
+ +
+
+
+
+
+
+ + + + +
+ OpenSupports
+ Open source ticket system
+ www.opensupports.com

+
+
+
+ + \ No newline at end of file diff --git a/server/data/mail-templates/ticket-created-it.html b/server/data/mail-templates/ticket-created-it.html new file mode 100644 index 00000000..ed4ade72 --- /dev/null +++ b/server/data/mail-templates/ticket-created-it.html @@ -0,0 +1,389 @@ + + + + + + Support Center + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + +
+
+ + + + +
+ logo +
+
+ +
+
+
+
+ + + + + + + + + + +
+ Ticket inviato +
+ Ciao, {{name}}. Hai inviato un nuovo ticket {{title}} al nostro centro si assistenza. +
+ + + + +
+ + + + + + + + + + +
+ È possibile accedere al ticket attraverso il numero del ticket. Oppure puoi cliccare sul bottone qui sotto. +
+ {{ticketNumber}} +
+ +
+
+
+
+
+
+ + + + +
+ OpenSupports
+ Open source ticket system
+ www.opensupports.com

+
+
+
+ + \ No newline at end of file diff --git a/server/data/mail-templates/ticket-created-staff-it.html b/server/data/mail-templates/ticket-created-staff-it.html new file mode 100644 index 00000000..2b7c7624 --- /dev/null +++ b/server/data/mail-templates/ticket-created-staff-it.html @@ -0,0 +1,378 @@ + + + + + + Support Center + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + +
+
+ + + + +
+ logo +
+
+ +
+
+
+
+ + + + + + + + + + +
+ Ticket inviato +
+ l'utente {{name}} ha creato un nuovo titolo dal titolo {{title}} +
+ + + + +
+ + + + + + + +
+ È possibile accedere al ticket con il suo numero di ticket. +
+ {{ticketNumber}} +
+
+
+
+
+
+ + + + +
+ OpenSupports
+ Open source ticket system
+ www.opensupports.com

+
+
+
+ + \ No newline at end of file diff --git a/server/data/mail-templates/ticket-responded-it.html b/server/data/mail-templates/ticket-responded-it.html new file mode 100644 index 00000000..2affb578 --- /dev/null +++ b/server/data/mail-templates/ticket-responded-it.html @@ -0,0 +1,384 @@ + + + + + + Support Center + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + +
+
+ + + + +
+ logo +
+
+ +
+
+
+
+ + + + + + + + + + +
+ Risposta al tuo ticket +
+ Ciao, {{name}}. Hai ricevuto una risposta al tuo ticket {{title}}. +
+ + + + +
+ + + + + + + +
+ Clicca qui sotto per leggere la risposta. +
+ +
+
+
+
+
+
+ + + + +
+ OpenSupports
+ Open source ticket system
+ www.opensupports.com

+
+
+
+ + \ No newline at end of file diff --git a/server/data/mail-templates/user-edit-email-it.html b/server/data/mail-templates/user-edit-email-it.html new file mode 100644 index 00000000..39791352 --- /dev/null +++ b/server/data/mail-templates/user-edit-email-it.html @@ -0,0 +1,356 @@ + + + + + + Support Center + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + +
+
+ + + + +
+ logo +
+
+ +
+
+
+
+ + + + + + + +
+ L'email è stata modificata +
+ Ciao, {{name}}. Vogliamo informarti che la tua email è stata modificata {{newemail}} dal tuo pannello di controllo. +
+
+
+
+ + + + +
+ OpenSupports
+ Open source ticket system
+ www.opensupports.com

+
+
+
+ + \ No newline at end of file diff --git a/server/data/mail-templates/user-edit-password-it.html b/server/data/mail-templates/user-edit-password-it.html new file mode 100644 index 00000000..dfef33ed --- /dev/null +++ b/server/data/mail-templates/user-edit-password-it.html @@ -0,0 +1,356 @@ + + + + + + Support Center + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + +
+
+ + + + logo + +
+
+
+ +
+
+
+
+ + + + + + + +
+ Password modificata +
+ Ciao, {{name}}. Vogliamo informarti che la tua password è stata modificata dal tuo pannello di controllo. +
+
+
+
+ + + + +
+ OpenSupports
+ Open source ticket system
+ www.opensupports.com

+
+
+
+ + \ No newline at end of file diff --git a/server/data/mail-templates/user-password-forgot-it.html b/server/data/mail-templates/user-password-forgot-it.html new file mode 100644 index 00000000..51652e75 --- /dev/null +++ b/server/data/mail-templates/user-password-forgot-it.html @@ -0,0 +1,389 @@ + + + + + + Support Center + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + +
+
+ + + + +
+ logo +
+
+ +
+
+
+
+ + + + + + + + + + +
+ Recupera password +
+ Ciao, {{name}}. Hai richiesto di recuperare la tua password. +
+ + + + +
+ + + + + + + + + + +
+ Clicca sul link {{url}}/recover-password?email={{to}}&token={{token}} o clicca sul pulsante qui sotto. +
+ {{token}} +
+ +
+
+
+
+
+
+ + + + +
+ OpenSupports
+ Open source ticket system
+ www.opensupports.com

+
+
+
+ + \ No newline at end of file diff --git a/server/data/mail-templates/user-signup-it.html b/server/data/mail-templates/user-signup-it.html new file mode 100644 index 00000000..74b6c6f7 --- /dev/null +++ b/server/data/mail-templates/user-signup-it.html @@ -0,0 +1,389 @@ + + + + + + Support Center + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + +
+
+ + + + +
+ logo +
+
+ +
+
+
+
+ + + + + + + + + + +
+ Verifica il tuo account +
+ Benvenuto, {{name}}!. Devi verificare questa email per accedere al tuo account. +
+ + + + +
+ + + + + + + + + + +
+ Clicca sul link {{url}}/verify-token/{{to}}/{{verificationToken}} o clicca sul pulsante qui sotto.. +
+ {{verificationToken}} +
+ +
+
+
+
+
+
+ + + + +
+ OpenSupports
+ Open source ticket system
+ www.opensupports.com

+
+
+
+ + \ No newline at end of file diff --git a/server/data/mail-templates/user-system-disabled-it.html b/server/data/mail-templates/user-system-disabled-it.html new file mode 100644 index 00000000..87a8ced5 --- /dev/null +++ b/server/data/mail-templates/user-system-disabled-it.html @@ -0,0 +1,390 @@ + + + + + + Support Center + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + +
+
+ + + + +
+ logo +
+
+ +
+
+
+
+ + + + + + + + + + +
+ Modifica sistema di accesso +
+ Ciao, {{name}}. Il sistema di accesso ai tuoi tickets è cambiato. +
+ + + + +
+ + + + + + + + + + +
+ Puoi accedere ai tuoi ticket usando la tua email e il numero del ticket. + Clicca sul bottone qui sotto per vedere i tuoi tickets. +
+ {{tickets}} +
+ +
+
+
+
+
+
+ + + + +
+ OpenSupports
+ Open source ticket system
+ www.opensupports.com

+
+
+
+ + \ No newline at end of file diff --git a/server/data/mail-templates/user-system-enabled-it.html b/server/data/mail-templates/user-system-enabled-it.html new file mode 100644 index 00000000..f257a729 --- /dev/null +++ b/server/data/mail-templates/user-system-enabled-it.html @@ -0,0 +1,390 @@ + + + + + + Support Center + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + +
+
+ + + + +
+ logo +
+
+ +
+
+
+
+ + + + + + + + + + +
+ Account creato +
+ Ciao, {{name}}. Abbiamo creato il tuo account. +
+ + + + +
+ + + + + + + + + + +
+ Puoi accedere al tuo account utilizzando questa email ({{to}}) e la password qui sotto. + Ti consigliamo di cambiare la password dopo il primo accesso. +
+ {{password}} +
+ +
+
+
+
+
+
+ + + + +
+ OpenSupports
+ Open source ticket system
+ www.opensupports.com

+
+
+
+ + \ No newline at end of file diff --git a/server/libs/Controller.php b/server/libs/Controller.php index 04c38f20..c05b7c33 100755 --- a/server/libs/Controller.php +++ b/server/libs/Controller.php @@ -2,6 +2,8 @@ require_once 'libs/Validator.php'; require_once 'models/Session.php'; +use RedBeanPHP\Facade as RedBean; + abstract class Controller { private static $dataRequester; @@ -14,7 +16,9 @@ abstract class Controller { public function getHandler() { return function () { try { - Session::getInstance()->setSessionPrefix(Setting::getSetting('session-prefix')->getValue()); + if(RedBean::testConnection() && !Setting::isTableEmpty()) { + Session::getInstance()->setSessionPrefix(Setting::getSetting('session-prefix')->getValue()); + } $this->validate(); $this->handler(); } catch (\Exception $exception) { diff --git a/server/models/APIKey.php b/server/models/APIKey.php index 1094b4db..3affed1e 100755 --- a/server/models/APIKey.php +++ b/server/models/APIKey.php @@ -1,7 +1,7 @@ response->setBody(json_encode($response)); $app->response->finalize(); } + + public static function respond403() { + $app = \Slim\Slim::getInstance(); + $app->response->setStatus(403); + $app->response->finalize(); + } } diff --git a/server/models/Staff.php b/server/models/Staff.php index dd448d35..ffe076a0 100755 --- a/server/models/Staff.php +++ b/server/models/Staff.php @@ -1,7 +1,7 @@ $csrf_userid, - 'csrf_token' => $csrf_token, - 'file' => ticket['file'] - }, 'GET') - - (result.body).should.equal('') - end - - it 'should download if owner is logged' do ticket = $database.getLastRow('ticket') file = File.open("../server/files/" + ticket['file']) - request('/staff/assign-ticket', { - 'csrf_userid' => $csrf_userid, - 'csrf_token' => $csrf_token, - 'ticketNumber' => ticket['ticket_number'] - }) - result = plainRequest('/system/download', { 'csrf_userid' => $csrf_userid, 'csrf_token' => $csrf_token, diff --git a/tests/system/get-mail-templates.rb b/tests/system/get-mail-templates.rb index 97a63e65..c0a7705d 100644 --- a/tests/system/get-mail-templates.rb +++ b/tests/system/get-mail-templates.rb @@ -10,6 +10,6 @@ describe'system/get-mail-templates' do (result['status']).should.equal('success') - (result['data'].size).should.equal(100) + (result['data'].size).should.equal(110) end end diff --git a/tests/ticket/comment.rb b/tests/ticket/comment.rb index d6858ca4..fe1dfb97 100644 --- a/tests/ticket/comment.rb +++ b/tests/ticket/comment.rb @@ -91,9 +91,30 @@ describe '/ticket/comment/' do (result['status']).should.equal('fail') (result['message']).should.equal('NO_PERMISSION') + + request('/user/logout') + Scripts.login($staff[:email], $staff[:password], true) + request('/staff/add', { + csrf_userid: $csrf_userid, + csrf_token: $csrf_token, + name: 'Jorah mormont', + email: 'jorah@opensupports.com', + password: 'testpassword', + level: 2, + profilePic: '', + departments: '[1]' + }) + + request('/user/logout') + Scripts.login('jorah@opensupports.com', 'testpassword', true) + result = request('/ticket/comment', { + content: 'some comment content', + ticketNumber: @ticketNumber, + csrf_userid: $csrf_userid, + csrf_token: $csrf_token + }) + + (result['status']).should.equal('fail') + (result['message']).should.equal('NO_PERMISSION') end - - #it 'should add comment if logged as ticket owner' do - - #end end