From 892e1536a2df47b0956bc038fda74f861cb6d04d Mon Sep 17 00:00:00 2001
From: ivan <ivan@opensupports.com>
Date: Mon, 10 Apr 2017 22:30:39 -0300
Subject: [PATCH] Ivan - Fix installation in subfolder and file permissions

---
 client/gulp/tasks/browserify.js               |  3 ++
 client/package.json                           |  5 ++--
 client/src/app/App.js                         | 28 +++++++++++--------
 client/src/app/Routes.js                      | 10 ++-----
 .../articles/admin-panel-view-article.js      |  4 +--
 .../panel/staff/admin-panel-view-staff.js     |  4 +--
 .../panel/users/admin-panel-view-user.js      |  4 +--
 client/src/app/install/install-layout.js      |  3 +-
 .../app/install/install-step-1-language.js    |  4 +--
 .../install/install-step-2-requirements.js    |  6 ++--
 .../app/install/install-step-3-database.js    |  6 ++--
 .../app/install/install-step-4-user-system.js |  6 ++--
 .../src/app/install/install-step-5-admin.js   |  5 ++--
 .../app/install/install-step-6-completed.js   |  7 +++--
 .../create-ticket-form.js                     |  6 ++--
 client/src/app/main/main-check-ticket-page.js |  4 +--
 .../main/main-home/main-home-page-portal.js   |  8 +++---
 client/src/app/main/main-verify-token-page.js |  6 ++--
 client/src/app/main/main-view-ticket-page.js  |  4 +--
 client/src/config.js                          |  1 +
 client/src/core-components/icon.js            |  4 ++-
 client/src/index.html                         |  0
 client/src/index.js                           |  2 +-
 client/src/index.php                          | 15 ++++++----
 client/src/lib-app/history.js                 |  8 ++++++
 server/composer.json                          |  0
 server/controllers/article.php                |  0
 server/controllers/article/add-topic.php      |  0
 server/controllers/article/add.php            |  0
 server/controllers/article/delete-topic.php   |  0
 server/controllers/article/delete.php         |  0
 server/controllers/article/edit-topic.php     |  0
 server/controllers/article/edit.php           |  0
 server/controllers/article/get-all.php        |  0
 server/controllers/staff.php                  |  0
 server/controllers/staff/add.php              |  0
 server/controllers/staff/assign-ticket.php    |  0
 server/controllers/staff/delete.php           |  0
 server/controllers/staff/edit.php             |  0
 server/controllers/staff/get-all-tickets.php  |  0
 server/controllers/staff/get-all.php          |  0
 server/controllers/staff/get-new-tickets.php  |  0
 server/controllers/staff/get-tickets.php      |  0
 server/controllers/staff/get.php              |  0
 server/controllers/staff/last-events.php      |  0
 server/controllers/staff/search-tickets.php   |  0
 server/controllers/staff/un-assign-ticket.php |  0
 server/controllers/system.php                 |  0
 server/controllers/system/add-api-key.php     |  0
 server/controllers/system/add-department.php  |  0
 server/controllers/system/backup-database.php |  0
 .../controllers/system/check-requirements.php |  0
 server/controllers/system/csv-import.php      |  0
 .../controllers/system/delete-all-users.php   |  0
 server/controllers/system/delete-api-key.php  |  0
 .../controllers/system/delete-department.php  |  0
 .../system/disable-registration.php           |  0
 .../system/disable-user-system.php            |  0
 server/controllers/system/download.php        |  0
 server/controllers/system/edit-department.php |  0
 .../controllers/system/edit-mail-template.php |  0
 server/controllers/system/edit-settings.php   |  0
 .../system/enable-registration.php            |  0
 .../controllers/system/enable-user-system.php |  0
 server/controllers/system/get-api-keys.php    |  0
 server/controllers/system/get-logs.php        |  0
 .../controllers/system/get-mail-templates.php |  0
 server/controllers/system/get-settings.php    |  0
 server/controllers/system/get-stats.php       |  0
 server/controllers/system/init-admin.php      |  0
 server/controllers/system/init-database.php   |  0
 server/controllers/system/init-settings.php   |  0
 .../controllers/system/installation-done.php  |  0
 .../system/recover-mail-template.php          |  0
 server/controllers/ticket.php                 |  0
 .../ticket/add-custom-response.php            |  0
 .../controllers/ticket/change-department.php  |  0
 server/controllers/ticket/change-priority.php |  0
 server/controllers/ticket/check.php           |  0
 server/controllers/ticket/close.php           |  0
 server/controllers/ticket/comment.php         |  0
 server/controllers/ticket/create.php          |  0
 .../ticket/delete-custom-response.php         |  0
 .../ticket/edit-custom-response.php           |  0
 .../ticket/get-custom-responses.php           |  0
 server/controllers/ticket/get.php             |  0
 server/controllers/ticket/re-open.php         |  0
 server/controllers/ticket/seen.php            |  0
 server/controllers/user.php                   |  0
 server/controllers/user/ban.php               |  0
 server/controllers/user/check-session.php     |  0
 server/controllers/user/delete.php            |  0
 server/controllers/user/edit-email.php        |  0
 server/controllers/user/edit-password.php     |  0
 server/controllers/user/get-user.php          |  0
 server/controllers/user/get-users.php         |  0
 server/controllers/user/get.php               |  0
 server/controllers/user/list-ban.php          |  0
 server/controllers/user/login.php             |  0
 server/controllers/user/logout.php            |  0
 server/controllers/user/recover-password.php  |  0
 .../user/send-recover-password.php            |  0
 server/controllers/user/signup.php            |  0
 server/controllers/user/un-ban.php            |  0
 server/controllers/user/verify.php            |  0
 server/data/ERRORS.php                        |  0
 server/data/EXCEPTIONS.php                    |  0
 server/data/InitialMails.php                  |  0
 .../data/mail-templates/ticket-closed-cn.html |  0
 .../data/mail-templates/ticket-closed-de.html |  0
 .../data/mail-templates/ticket-closed-en.html |  0
 .../data/mail-templates/ticket-closed-es.html |  0
 .../data/mail-templates/ticket-closed-fr.html |  0
 .../data/mail-templates/ticket-closed-in.html |  0
 .../data/mail-templates/ticket-closed-jp.html |  0
 .../data/mail-templates/ticket-closed-pt.html |  0
 .../data/mail-templates/ticket-closed-ru.html |  0
 .../data/mail-templates/ticket-closed-tr.html |  0
 .../mail-templates/ticket-created-cn.html     |  0
 .../mail-templates/ticket-created-de.html     |  0
 .../mail-templates/ticket-created-en.html     |  0
 .../mail-templates/ticket-created-es.html     |  0
 .../mail-templates/ticket-created-fr.html     |  0
 .../mail-templates/ticket-created-in.html     |  0
 .../mail-templates/ticket-created-jp.html     |  0
 .../mail-templates/ticket-created-pt.html     |  0
 .../mail-templates/ticket-created-ru.html     |  0
 .../mail-templates/ticket-created-tr.html     |  0
 .../mail-templates/ticket-responded-cn.html   |  0
 .../mail-templates/ticket-responded-de.html   |  0
 .../mail-templates/ticket-responded-en.html   |  0
 .../mail-templates/ticket-responded-es.html   |  0
 .../mail-templates/ticket-responded-fr.html   |  0
 .../mail-templates/ticket-responded-in.html   |  0
 .../mail-templates/ticket-responded-jp.html   |  0
 .../mail-templates/ticket-responded-pt.html   |  0
 .../mail-templates/ticket-responded-ru.html   |  0
 .../mail-templates/ticket-responded-tr.html   |  0
 .../mail-templates/user-edit-email-cn.html    |  0
 .../mail-templates/user-edit-email-de.html    |  0
 .../mail-templates/user-edit-email-en.html    |  0
 .../mail-templates/user-edit-email-es.html    |  0
 .../mail-templates/user-edit-email-fr.html    |  0
 .../mail-templates/user-edit-email-in.html    |  0
 .../mail-templates/user-edit-email-jp.html    |  0
 .../mail-templates/user-edit-email-pt.html    |  0
 .../mail-templates/user-edit-email-ru.html    |  0
 .../mail-templates/user-edit-email-tr.html    |  0
 .../mail-templates/user-edit-password-cn.html |  0
 .../mail-templates/user-edit-password-de.html |  0
 .../mail-templates/user-edit-password-en.html |  0
 .../mail-templates/user-edit-password-es.html |  0
 .../mail-templates/user-edit-password-fr.html |  0
 .../mail-templates/user-edit-password-in.html |  0
 .../mail-templates/user-edit-password-jp.html |  0
 .../mail-templates/user-edit-password-pt.html |  0
 .../mail-templates/user-edit-password-ru.html |  0
 .../mail-templates/user-edit-password-tr.html |  0
 .../user-password-forgot-cn.html              |  0
 .../user-password-forgot-de.html              |  0
 .../user-password-forgot-en.html              |  0
 .../user-password-forgot-es.html              |  0
 .../user-password-forgot-fr.html              |  0
 .../user-password-forgot-in.html              |  0
 .../user-password-forgot-jp.html              |  0
 .../user-password-forgot-pt.html              |  0
 .../user-password-forgot-ru.html              |  0
 .../user-password-forgot-tr.html              |  0
 .../data/mail-templates/user-signup-cn.html   |  0
 .../data/mail-templates/user-signup-de.html   |  0
 .../data/mail-templates/user-signup-en.html   |  0
 .../data/mail-templates/user-signup-es.html   |  0
 .../data/mail-templates/user-signup-fr.html   |  0
 .../data/mail-templates/user-signup-in.html   |  0
 .../data/mail-templates/user-signup-jp.html   |  0
 .../data/mail-templates/user-signup-pt.html   |  0
 .../data/mail-templates/user-signup-ru.html   |  0
 .../data/mail-templates/user-signup-tr.html   |  0
 .../user-system-disabled-cn.html              |  0
 .../user-system-disabled-de.html              |  0
 .../user-system-disabled-en.html              |  0
 .../user-system-disabled-es.html              |  0
 .../user-system-disabled-fr.html              |  0
 .../user-system-disabled-in.html              |  0
 .../user-system-disabled-jp.html              |  0
 .../user-system-disabled-pt.html              |  0
 .../user-system-disabled-ru.html              |  0
 .../user-system-disabled-tr.html              |  0
 .../user-system-enabled-cn.html               |  0
 .../user-system-enabled-de.html               |  0
 .../user-system-enabled-en.html               |  0
 .../user-system-enabled-es.html               |  0
 .../user-system-enabled-fr.html               |  0
 .../user-system-enabled-in.html               |  0
 .../user-system-enabled-jp.html               |  0
 .../user-system-enabled-pt.html               |  0
 .../user-system-enabled-ru.html               |  0
 .../user-system-enabled-tr.html               |  0
 server/files/.gitkeep                         |  0
 server/libs/Controller.php                    |  0
 server/libs/ControllerGroup.php               |  0
 server/libs/DataStoreList.php                 |  0
 server/libs/Date.php                          |  0
 server/libs/FileDownloader.php                |  0
 server/libs/FileManager.php                   |  0
 server/libs/FileUploader.php                  |  0
 server/libs/Hashing.php                       |  0
 server/libs/LinearCongruentialGenerator.php   |  0
 server/libs/MailSender.php                    |  0
 server/libs/Validator.php                     |  0
 server/libs/validations/captcha.php           |  0
 server/libs/validations/dataStoreId.php       |  0
 server/libs/validations/userEmail.php         |  0
 server/libs/validations/validLanguage.php     |  0
 server/libs/validations/validTicketNumber.php |  0
 server/models/APIKey.php                      |  0
 server/models/Article.php                     |  0
 server/models/Ban.php                         |  0
 server/models/CustomResponse.php              |  0
 server/models/DataStore.php                   |  0
 server/models/Department.php                  |  0
 server/models/Language.php                    |  0
 server/models/Log.php                         |  0
 server/models/MailTemplate.php                |  0
 server/models/NullDataStore.php               |  0
 server/models/RecoverPassword.php             |  0
 server/models/Response.php                    |  0
 server/models/Session.php                     |  0
 server/models/SessionCookie.php               |  0
 server/models/Setting.php                     |  0
 server/models/Staff.php                       |  0
 server/models/Stat.php                        |  0
 server/models/Ticket.php                      |  0
 server/models/Ticketevent.php                 |  0
 server/models/Topic.php                       |  0
 server/models/User.php                        |  0
 server/tests/__lib__/Mock.php                 |  0
 server/tests/__mocks__/APIKeyMock.php         |  0
 server/tests/__mocks__/BeanMock.php           |  0
 server/tests/__mocks__/ControllerMock.php     |  0
 server/tests/__mocks__/HashingMock.php        |  0
 server/tests/__mocks__/NullDataStoreMock.php  |  0
 server/tests/__mocks__/ReCaptchaMock.php      |  0
 server/tests/__mocks__/RedBeanMock.php        |  0
 server/tests/__mocks__/RespectMock.php        |  0
 server/tests/__mocks__/ResponseMock.php       |  0
 server/tests/__mocks__/SessionMock.php        |  0
 server/tests/__mocks__/SettingMock.php        |  0
 server/tests/__mocks__/SlimMock.php           |  0
 server/tests/__mocks__/UserMock.php           |  0
 server/tests/controllers/user/loginTest.php   |  0
 server/tests/libs/validations/captchaTest.php |  0
 server/tests/models/DataStoreTest.php         |  0
 server/tests/models/MailTemplateTest.php      |  0
 server/tests/models/ResponseTest.php          |  0
 255 files changed, 87 insertions(+), 66 deletions(-)
 mode change 100644 => 100755 client/src/index.html
 mode change 100644 => 100755 client/src/index.php
 create mode 100644 client/src/lib-app/history.js
 mode change 100644 => 100755 server/composer.json
 mode change 100644 => 100755 server/controllers/article.php
 mode change 100644 => 100755 server/controllers/article/add-topic.php
 mode change 100644 => 100755 server/controllers/article/add.php
 mode change 100644 => 100755 server/controllers/article/delete-topic.php
 mode change 100644 => 100755 server/controllers/article/delete.php
 mode change 100644 => 100755 server/controllers/article/edit-topic.php
 mode change 100644 => 100755 server/controllers/article/edit.php
 mode change 100644 => 100755 server/controllers/article/get-all.php
 mode change 100644 => 100755 server/controllers/staff.php
 mode change 100644 => 100755 server/controllers/staff/add.php
 mode change 100644 => 100755 server/controllers/staff/assign-ticket.php
 mode change 100644 => 100755 server/controllers/staff/delete.php
 mode change 100644 => 100755 server/controllers/staff/edit.php
 mode change 100644 => 100755 server/controllers/staff/get-all-tickets.php
 mode change 100644 => 100755 server/controllers/staff/get-all.php
 mode change 100644 => 100755 server/controllers/staff/get-new-tickets.php
 mode change 100644 => 100755 server/controllers/staff/get-tickets.php
 mode change 100644 => 100755 server/controllers/staff/get.php
 mode change 100644 => 100755 server/controllers/staff/last-events.php
 mode change 100644 => 100755 server/controllers/staff/search-tickets.php
 mode change 100644 => 100755 server/controllers/staff/un-assign-ticket.php
 mode change 100644 => 100755 server/controllers/system.php
 mode change 100644 => 100755 server/controllers/system/add-api-key.php
 mode change 100644 => 100755 server/controllers/system/add-department.php
 mode change 100644 => 100755 server/controllers/system/backup-database.php
 mode change 100644 => 100755 server/controllers/system/check-requirements.php
 mode change 100644 => 100755 server/controllers/system/csv-import.php
 mode change 100644 => 100755 server/controllers/system/delete-all-users.php
 mode change 100644 => 100755 server/controllers/system/delete-api-key.php
 mode change 100644 => 100755 server/controllers/system/delete-department.php
 mode change 100644 => 100755 server/controllers/system/disable-registration.php
 mode change 100644 => 100755 server/controllers/system/disable-user-system.php
 mode change 100644 => 100755 server/controllers/system/download.php
 mode change 100644 => 100755 server/controllers/system/edit-department.php
 mode change 100644 => 100755 server/controllers/system/edit-mail-template.php
 mode change 100644 => 100755 server/controllers/system/edit-settings.php
 mode change 100644 => 100755 server/controllers/system/enable-registration.php
 mode change 100644 => 100755 server/controllers/system/enable-user-system.php
 mode change 100644 => 100755 server/controllers/system/get-api-keys.php
 mode change 100644 => 100755 server/controllers/system/get-logs.php
 mode change 100644 => 100755 server/controllers/system/get-mail-templates.php
 mode change 100644 => 100755 server/controllers/system/get-settings.php
 mode change 100644 => 100755 server/controllers/system/get-stats.php
 mode change 100644 => 100755 server/controllers/system/init-admin.php
 mode change 100644 => 100755 server/controllers/system/init-database.php
 mode change 100644 => 100755 server/controllers/system/init-settings.php
 mode change 100644 => 100755 server/controllers/system/installation-done.php
 mode change 100644 => 100755 server/controllers/system/recover-mail-template.php
 mode change 100644 => 100755 server/controllers/ticket.php
 mode change 100644 => 100755 server/controllers/ticket/add-custom-response.php
 mode change 100644 => 100755 server/controllers/ticket/change-department.php
 mode change 100644 => 100755 server/controllers/ticket/change-priority.php
 mode change 100644 => 100755 server/controllers/ticket/check.php
 mode change 100644 => 100755 server/controllers/ticket/close.php
 mode change 100644 => 100755 server/controllers/ticket/comment.php
 mode change 100644 => 100755 server/controllers/ticket/create.php
 mode change 100644 => 100755 server/controllers/ticket/delete-custom-response.php
 mode change 100644 => 100755 server/controllers/ticket/edit-custom-response.php
 mode change 100644 => 100755 server/controllers/ticket/get-custom-responses.php
 mode change 100644 => 100755 server/controllers/ticket/get.php
 mode change 100644 => 100755 server/controllers/ticket/re-open.php
 mode change 100644 => 100755 server/controllers/ticket/seen.php
 mode change 100644 => 100755 server/controllers/user.php
 mode change 100644 => 100755 server/controllers/user/ban.php
 mode change 100644 => 100755 server/controllers/user/check-session.php
 mode change 100644 => 100755 server/controllers/user/delete.php
 mode change 100644 => 100755 server/controllers/user/edit-email.php
 mode change 100644 => 100755 server/controllers/user/edit-password.php
 mode change 100644 => 100755 server/controllers/user/get-user.php
 mode change 100644 => 100755 server/controllers/user/get-users.php
 mode change 100644 => 100755 server/controllers/user/get.php
 mode change 100644 => 100755 server/controllers/user/list-ban.php
 mode change 100644 => 100755 server/controllers/user/login.php
 mode change 100644 => 100755 server/controllers/user/logout.php
 mode change 100644 => 100755 server/controllers/user/recover-password.php
 mode change 100644 => 100755 server/controllers/user/send-recover-password.php
 mode change 100644 => 100755 server/controllers/user/signup.php
 mode change 100644 => 100755 server/controllers/user/un-ban.php
 mode change 100644 => 100755 server/controllers/user/verify.php
 mode change 100644 => 100755 server/data/ERRORS.php
 mode change 100644 => 100755 server/data/EXCEPTIONS.php
 mode change 100644 => 100755 server/data/InitialMails.php
 mode change 100644 => 100755 server/data/mail-templates/ticket-closed-cn.html
 mode change 100644 => 100755 server/data/mail-templates/ticket-closed-de.html
 mode change 100644 => 100755 server/data/mail-templates/ticket-closed-en.html
 mode change 100644 => 100755 server/data/mail-templates/ticket-closed-es.html
 mode change 100644 => 100755 server/data/mail-templates/ticket-closed-fr.html
 mode change 100644 => 100755 server/data/mail-templates/ticket-closed-in.html
 mode change 100644 => 100755 server/data/mail-templates/ticket-closed-jp.html
 mode change 100644 => 100755 server/data/mail-templates/ticket-closed-pt.html
 mode change 100644 => 100755 server/data/mail-templates/ticket-closed-ru.html
 mode change 100644 => 100755 server/data/mail-templates/ticket-closed-tr.html
 mode change 100644 => 100755 server/data/mail-templates/ticket-created-cn.html
 mode change 100644 => 100755 server/data/mail-templates/ticket-created-de.html
 mode change 100644 => 100755 server/data/mail-templates/ticket-created-en.html
 mode change 100644 => 100755 server/data/mail-templates/ticket-created-es.html
 mode change 100644 => 100755 server/data/mail-templates/ticket-created-fr.html
 mode change 100644 => 100755 server/data/mail-templates/ticket-created-in.html
 mode change 100644 => 100755 server/data/mail-templates/ticket-created-jp.html
 mode change 100644 => 100755 server/data/mail-templates/ticket-created-pt.html
 mode change 100644 => 100755 server/data/mail-templates/ticket-created-ru.html
 mode change 100644 => 100755 server/data/mail-templates/ticket-created-tr.html
 mode change 100644 => 100755 server/data/mail-templates/ticket-responded-cn.html
 mode change 100644 => 100755 server/data/mail-templates/ticket-responded-de.html
 mode change 100644 => 100755 server/data/mail-templates/ticket-responded-en.html
 mode change 100644 => 100755 server/data/mail-templates/ticket-responded-es.html
 mode change 100644 => 100755 server/data/mail-templates/ticket-responded-fr.html
 mode change 100644 => 100755 server/data/mail-templates/ticket-responded-in.html
 mode change 100644 => 100755 server/data/mail-templates/ticket-responded-jp.html
 mode change 100644 => 100755 server/data/mail-templates/ticket-responded-pt.html
 mode change 100644 => 100755 server/data/mail-templates/ticket-responded-ru.html
 mode change 100644 => 100755 server/data/mail-templates/ticket-responded-tr.html
 mode change 100644 => 100755 server/data/mail-templates/user-edit-email-cn.html
 mode change 100644 => 100755 server/data/mail-templates/user-edit-email-de.html
 mode change 100644 => 100755 server/data/mail-templates/user-edit-email-en.html
 mode change 100644 => 100755 server/data/mail-templates/user-edit-email-es.html
 mode change 100644 => 100755 server/data/mail-templates/user-edit-email-fr.html
 mode change 100644 => 100755 server/data/mail-templates/user-edit-email-in.html
 mode change 100644 => 100755 server/data/mail-templates/user-edit-email-jp.html
 mode change 100644 => 100755 server/data/mail-templates/user-edit-email-pt.html
 mode change 100644 => 100755 server/data/mail-templates/user-edit-email-ru.html
 mode change 100644 => 100755 server/data/mail-templates/user-edit-email-tr.html
 mode change 100644 => 100755 server/data/mail-templates/user-edit-password-cn.html
 mode change 100644 => 100755 server/data/mail-templates/user-edit-password-de.html
 mode change 100644 => 100755 server/data/mail-templates/user-edit-password-en.html
 mode change 100644 => 100755 server/data/mail-templates/user-edit-password-es.html
 mode change 100644 => 100755 server/data/mail-templates/user-edit-password-fr.html
 mode change 100644 => 100755 server/data/mail-templates/user-edit-password-in.html
 mode change 100644 => 100755 server/data/mail-templates/user-edit-password-jp.html
 mode change 100644 => 100755 server/data/mail-templates/user-edit-password-pt.html
 mode change 100644 => 100755 server/data/mail-templates/user-edit-password-ru.html
 mode change 100644 => 100755 server/data/mail-templates/user-edit-password-tr.html
 mode change 100644 => 100755 server/data/mail-templates/user-password-forgot-cn.html
 mode change 100644 => 100755 server/data/mail-templates/user-password-forgot-de.html
 mode change 100644 => 100755 server/data/mail-templates/user-password-forgot-en.html
 mode change 100644 => 100755 server/data/mail-templates/user-password-forgot-es.html
 mode change 100644 => 100755 server/data/mail-templates/user-password-forgot-fr.html
 mode change 100644 => 100755 server/data/mail-templates/user-password-forgot-in.html
 mode change 100644 => 100755 server/data/mail-templates/user-password-forgot-jp.html
 mode change 100644 => 100755 server/data/mail-templates/user-password-forgot-pt.html
 mode change 100644 => 100755 server/data/mail-templates/user-password-forgot-ru.html
 mode change 100644 => 100755 server/data/mail-templates/user-password-forgot-tr.html
 mode change 100644 => 100755 server/data/mail-templates/user-signup-cn.html
 mode change 100644 => 100755 server/data/mail-templates/user-signup-de.html
 mode change 100644 => 100755 server/data/mail-templates/user-signup-en.html
 mode change 100644 => 100755 server/data/mail-templates/user-signup-es.html
 mode change 100644 => 100755 server/data/mail-templates/user-signup-fr.html
 mode change 100644 => 100755 server/data/mail-templates/user-signup-in.html
 mode change 100644 => 100755 server/data/mail-templates/user-signup-jp.html
 mode change 100644 => 100755 server/data/mail-templates/user-signup-pt.html
 mode change 100644 => 100755 server/data/mail-templates/user-signup-ru.html
 mode change 100644 => 100755 server/data/mail-templates/user-signup-tr.html
 mode change 100644 => 100755 server/data/mail-templates/user-system-disabled-cn.html
 mode change 100644 => 100755 server/data/mail-templates/user-system-disabled-de.html
 mode change 100644 => 100755 server/data/mail-templates/user-system-disabled-en.html
 mode change 100644 => 100755 server/data/mail-templates/user-system-disabled-es.html
 mode change 100644 => 100755 server/data/mail-templates/user-system-disabled-fr.html
 mode change 100644 => 100755 server/data/mail-templates/user-system-disabled-in.html
 mode change 100644 => 100755 server/data/mail-templates/user-system-disabled-jp.html
 mode change 100644 => 100755 server/data/mail-templates/user-system-disabled-pt.html
 mode change 100644 => 100755 server/data/mail-templates/user-system-disabled-ru.html
 mode change 100644 => 100755 server/data/mail-templates/user-system-disabled-tr.html
 mode change 100644 => 100755 server/data/mail-templates/user-system-enabled-cn.html
 mode change 100644 => 100755 server/data/mail-templates/user-system-enabled-de.html
 mode change 100644 => 100755 server/data/mail-templates/user-system-enabled-en.html
 mode change 100644 => 100755 server/data/mail-templates/user-system-enabled-es.html
 mode change 100644 => 100755 server/data/mail-templates/user-system-enabled-fr.html
 mode change 100644 => 100755 server/data/mail-templates/user-system-enabled-in.html
 mode change 100644 => 100755 server/data/mail-templates/user-system-enabled-jp.html
 mode change 100644 => 100755 server/data/mail-templates/user-system-enabled-pt.html
 mode change 100644 => 100755 server/data/mail-templates/user-system-enabled-ru.html
 mode change 100644 => 100755 server/data/mail-templates/user-system-enabled-tr.html
 mode change 100644 => 100755 server/files/.gitkeep
 mode change 100644 => 100755 server/libs/Controller.php
 mode change 100644 => 100755 server/libs/ControllerGroup.php
 mode change 100644 => 100755 server/libs/DataStoreList.php
 mode change 100644 => 100755 server/libs/Date.php
 mode change 100644 => 100755 server/libs/FileDownloader.php
 mode change 100644 => 100755 server/libs/FileManager.php
 mode change 100644 => 100755 server/libs/FileUploader.php
 mode change 100644 => 100755 server/libs/Hashing.php
 mode change 100644 => 100755 server/libs/LinearCongruentialGenerator.php
 mode change 100644 => 100755 server/libs/MailSender.php
 mode change 100644 => 100755 server/libs/Validator.php
 mode change 100644 => 100755 server/libs/validations/captcha.php
 mode change 100644 => 100755 server/libs/validations/dataStoreId.php
 mode change 100644 => 100755 server/libs/validations/userEmail.php
 mode change 100644 => 100755 server/libs/validations/validLanguage.php
 mode change 100644 => 100755 server/libs/validations/validTicketNumber.php
 mode change 100644 => 100755 server/models/APIKey.php
 mode change 100644 => 100755 server/models/Article.php
 mode change 100644 => 100755 server/models/Ban.php
 mode change 100644 => 100755 server/models/CustomResponse.php
 mode change 100644 => 100755 server/models/DataStore.php
 mode change 100644 => 100755 server/models/Department.php
 mode change 100644 => 100755 server/models/Language.php
 mode change 100644 => 100755 server/models/Log.php
 mode change 100644 => 100755 server/models/MailTemplate.php
 mode change 100644 => 100755 server/models/NullDataStore.php
 mode change 100644 => 100755 server/models/RecoverPassword.php
 mode change 100644 => 100755 server/models/Response.php
 mode change 100644 => 100755 server/models/Session.php
 mode change 100644 => 100755 server/models/SessionCookie.php
 mode change 100644 => 100755 server/models/Setting.php
 mode change 100644 => 100755 server/models/Staff.php
 mode change 100644 => 100755 server/models/Stat.php
 mode change 100644 => 100755 server/models/Ticket.php
 mode change 100644 => 100755 server/models/Ticketevent.php
 mode change 100644 => 100755 server/models/Topic.php
 mode change 100644 => 100755 server/models/User.php
 mode change 100644 => 100755 server/tests/__lib__/Mock.php
 mode change 100644 => 100755 server/tests/__mocks__/APIKeyMock.php
 mode change 100644 => 100755 server/tests/__mocks__/BeanMock.php
 mode change 100644 => 100755 server/tests/__mocks__/ControllerMock.php
 mode change 100644 => 100755 server/tests/__mocks__/HashingMock.php
 mode change 100644 => 100755 server/tests/__mocks__/NullDataStoreMock.php
 mode change 100644 => 100755 server/tests/__mocks__/ReCaptchaMock.php
 mode change 100644 => 100755 server/tests/__mocks__/RedBeanMock.php
 mode change 100644 => 100755 server/tests/__mocks__/RespectMock.php
 mode change 100644 => 100755 server/tests/__mocks__/ResponseMock.php
 mode change 100644 => 100755 server/tests/__mocks__/SessionMock.php
 mode change 100644 => 100755 server/tests/__mocks__/SettingMock.php
 mode change 100644 => 100755 server/tests/__mocks__/SlimMock.php
 mode change 100644 => 100755 server/tests/__mocks__/UserMock.php
 mode change 100644 => 100755 server/tests/controllers/user/loginTest.php
 mode change 100644 => 100755 server/tests/libs/validations/captchaTest.php
 mode change 100644 => 100755 server/tests/models/DataStoreTest.php
 mode change 100644 => 100755 server/tests/models/MailTemplateTest.php
 mode change 100644 => 100755 server/tests/models/ResponseTest.php

diff --git a/client/gulp/tasks/browserify.js b/client/gulp/tasks/browserify.js
index 06b278b2..bee38653 100644
--- a/client/gulp/tasks/browserify.js
+++ b/client/gulp/tasks/browserify.js
@@ -24,6 +24,9 @@ function buildScript(file, watch) {
     entries: [config.sourceDir + file],
     debug: !global.isProd,
     insertGlobalVars: {
+      isProd: function () {
+        return (global.isProd) ? "'enabled'" : "'disabled'";
+      },
       noFixtures: function() {
         return (util.env['api']) ? "'enabled'" : "'disabled'";
       }
diff --git a/client/package.json b/client/package.json
index 95301538..5b02bad8 100644
--- a/client/package.json
+++ b/client/package.json
@@ -58,6 +58,7 @@
     "classnames": "^2.2.5",
     "draft-js": "^0.10.0",
     "draft-js-export-html": "^0.5.2",
+    "history": "^3.0.0",
     "jquery": "^2.1.4",
     "keycode": "^2.1.4",
     "localStorage": "^1.0.3",
@@ -71,8 +72,8 @@
     "react-google-recaptcha": "^0.5.2",
     "react-motion": "^0.4.7",
     "react-redux": "^4.4.5",
-    "react-router": "^2.4.0",
-    "react-router-redux": "^4.0.5",
+    "react-router": "^3.0.2",
+    "react-router-redux": "^4.0.7",
     "redux": "^3.5.2",
     "redux-promise-middleware": "^3.3.2"
   }
diff --git a/client/src/app/App.js b/client/src/app/App.js
index ace0982b..da4777d0 100644
--- a/client/src/app/App.js
+++ b/client/src/app/App.js
@@ -2,9 +2,9 @@ import React              from 'react';
 import _                  from 'lodash';
 import classNames         from 'classnames';
 import { connect }        from 'react-redux'
-import { browserHistory } from 'react-router';
 import DocumentTitle      from 'react-document-title';
 
+import history from 'lib-app/history';
 import ModalContainer from 'app-components/modal-container';
 
 const level2Paths = [
@@ -66,11 +66,11 @@ class App extends React.Component {
         };
         
         if(props.config['maintenance-mode'] === '1' && !_.includes(props.location.pathname, '/admin') && !_.includes(props.location.pathname, '/maintenance')) {
-            browserHistory.push('/maintenance');
+            history.push('/maintenance');
         }
 
         if(props.config['maintenance-mode'] === '0' && _.includes(props.location.pathname, '/maintenance')) {
-            browserHistory.push('/');
+            history.push('/');
         }
 
         if (validations.languageChanged) {
@@ -78,37 +78,41 @@ class App extends React.Component {
         }
 
         if (validations.loggedOut) {
-            browserHistory.push('/');
+            history.push('/');
         }
 
         if (validations.loggedOutStaff) {
-            browserHistory.push('/admin');
+            history.push('/admin');
         }
 
         if (validations.loggedIn && !props.session.staff) {
-            browserHistory.push('/dashboard');
+            history.push('/dashboard');
         } else if(validations.loggedInStaff) {
-            browserHistory.push('/admin/panel');
+            history.push('/admin/panel');
         }
 
         if (props.session.userLevel && !this.isPathAvailableForStaff(props)) {
-            browserHistory.push('/admin/panel');
+            history.push('/admin/panel');
         }
 
         if (!props.config.registration && _.includes(props.location.pathname, 'signup')) {
-            browserHistory.push('/');
+            history.push('/');
         }
 
         if(props.config['user-system-enabled'] && _.includes(props.location.pathname, '/check-ticket')) {
-            browserHistory.push('/');
+            history.push('/');
         }
 
         if(props.config.installedDone && !props.config.installed && !_.includes(props.location.pathname, '/install')) {
-            browserHistory.push('/install');
+            history.push('/install');
         }
 
         if(props.config.installedDone && props.config.installed && _.includes(props.location.pathname, '/install')) {
-            browserHistory.push('/');
+            history.push('/');
+        }
+
+        if(isProd && _.includes(props.location.pathname, '/components-demo')) {
+            history.push('/');
         }
     }
 
diff --git a/client/src/app/Routes.js b/client/src/app/Routes.js
index f6d3c668..64327b73 100644
--- a/client/src/app/Routes.js
+++ b/client/src/app/Routes.js
@@ -1,11 +1,9 @@
 import React from 'react';
-import {Router, Route, IndexRoute, IndexRedirect, browserHistory} from 'react-router';
-import { syncHistoryWithStore } from 'react-router-redux';
-
-import store from 'app/store';
+import {Router, Route, IndexRoute, IndexRedirect} from 'react-router';
 
 import App from 'app/App';
 import DemoPage from 'app/demo/components-demo-page';
+import history from 'lib-app/history';
 
 import MainLayout from 'app/main/main-layout';
 import MainHomePage from 'app/main/main-home/main-home-page';
@@ -62,8 +60,6 @@ import InstallStep4UserSystem from 'app/install/install-step-4-user-system';
 import InstallStep5Admin from 'app/install/install-step-5-admin';
 import InstallStep6Completed from 'app/install/install-step-6-completed';
 
-const history = syncHistoryWithStore(browserHistory, store);
-
 export default (
     <Router history={history}>
         <Route component={App}>
@@ -146,7 +142,7 @@ export default (
                 </Route>
             </Route>
 
-            <Route name='Demo' path='demo' component={DemoPage} />
+            <Route name='Demo' path='components-demo' component={DemoPage} />
         </Route>
     </Router>
 );
diff --git a/client/src/app/admin/panel/articles/admin-panel-view-article.js b/client/src/app/admin/panel/articles/admin-panel-view-article.js
index a399142c..3e3f693f 100644
--- a/client/src/app/admin/panel/articles/admin-panel-view-article.js
+++ b/client/src/app/admin/panel/articles/admin-panel-view-article.js
@@ -1,7 +1,7 @@
 import React from 'react';
 import _ from 'lodash';
 import {connect}  from 'react-redux';
-import {browserHistory} from 'react-router';
+import history from 'lib-app/history';
 
 import ArticlesActions from 'actions/articles-actions';
 import SessionStore from 'lib-app/session-store';
@@ -156,7 +156,7 @@ class AdminPanelViewArticle extends React.Component {
             data: {
                 articleId: article.id
             }
-        }).then(() => browserHistory.push('/admin/panel/articles/list-articles'));
+        }).then(() => history.push('/admin/panel/articles/list-articles'));
     }
 }
 
diff --git a/client/src/app/admin/panel/staff/admin-panel-view-staff.js b/client/src/app/admin/panel/staff/admin-panel-view-staff.js
index 13ae5b8a..69c3f670 100644
--- a/client/src/app/admin/panel/staff/admin-panel-view-staff.js
+++ b/client/src/app/admin/panel/staff/admin-panel-view-staff.js
@@ -1,5 +1,5 @@
 import React from 'react';
-import {browserHistory} from 'react-router';
+import history from 'lib-app/history';
 import {connect} from 'react-redux';
 import _ from 'lodash';
 
@@ -60,7 +60,7 @@ class AdminPanelViewStaff extends React.Component {
     }
 
     onDelete() {
-        browserHistory.push('/admin/panel/staff/staff-members');
+        history.push('/admin/panel/staff/staff-members');
     }
 }
 
diff --git a/client/src/app/admin/panel/users/admin-panel-view-user.js b/client/src/app/admin/panel/users/admin-panel-view-user.js
index f0be1ac4..dbf94d84 100644
--- a/client/src/app/admin/panel/users/admin-panel-view-user.js
+++ b/client/src/app/admin/panel/users/admin-panel-view-user.js
@@ -1,6 +1,6 @@
 import React from 'react';
 import {connect}  from 'react-redux';
-import {browserHistory} from 'react-router';
+import history from 'lib-app/history';
 
 import i18n from 'lib-app/i18n';
 import API from 'lib-app/api-call';
@@ -124,7 +124,7 @@ class AdminPanelViewUser extends React.Component {
                 data: {
                     email: this.state.email
                 }
-            }).then(() => browserHistory.push('/admin/panel/users/list-users'));
+            }).then(() => history.push('/admin/panel/users/list-users'));
         });
     }
 }
diff --git a/client/src/app/install/install-layout.js b/client/src/app/install/install-layout.js
index 257b4a78..ab96285e 100644
--- a/client/src/app/install/install-layout.js
+++ b/client/src/app/install/install-layout.js
@@ -1,7 +1,6 @@
 import React from 'react';
 import classNames from 'classnames';
 import _ from 'lodash';
-import {browserHistory} from 'react-router';
 import DocumentTitle from 'react-document-title';
 
 import i18n from 'lib-app/i18n';
@@ -27,7 +26,7 @@ class InstallLayout extends React.Component {
                 <Widget className="install-layout">
                     <div className="install-layout__header">
                         <div className="install-layout__header-logo">
-                            <img width="100%" src="../../images/logo.png" alt="OpenSupports Installation"/>
+                            <img width="100%" src={API.getURL() + '/images/logo.png'} alt="OpenSupports Installation"/>
                         </div>
                         <div className="install-layout__header-text">
                             <div className="install-layout__header-title">
diff --git a/client/src/app/install/install-step-1-language.js b/client/src/app/install/install-step-1-language.js
index 890ada50..7c8d1fdd 100644
--- a/client/src/app/install/install-step-1-language.js
+++ b/client/src/app/install/install-step-1-language.js
@@ -1,7 +1,7 @@
 import React from 'react';
 import {connect} from 'react-redux';
-import {browserHistory} from 'react-router';
 
+import history from 'lib-app/history';
 import i18n from 'lib-app/i18n';
 import ConfigActions from 'actions/config-actions';
 
@@ -17,7 +17,7 @@ class InstallStep1Language extends React.Component {
                 <Header title={i18n('STEP_TITLE', {title: i18n('SELECT_LANGUAGE'), current: 1, total: 6})} description={i18n('STEP_1_DESCRIPTION')}/>
                 <LanguageSelector {...this.getLanguageSelectorProps()} />
                 <div className="install-step-1__button">
-                    <Button size="medium" type="secondary" onClick={() => browserHistory.push('/install/step-2')}>
+                    <Button size="medium" type="secondary" onClick={() => history.push('/install/step-2')}>
                         {i18n('NEXT')}
                     </Button>
                 </div>
diff --git a/client/src/app/install/install-step-2-requirements.js b/client/src/app/install/install-step-2-requirements.js
index 07833df9..6a19d00a 100644
--- a/client/src/app/install/install-step-2-requirements.js
+++ b/client/src/app/install/install-step-2-requirements.js
@@ -1,8 +1,8 @@
 import React from 'react';
 import _ from 'lodash';
 import classNames from 'classnames';
-import {browserHistory} from 'react-router';
 
+import history from 'lib-app/history';
 import i18n from 'lib-app/i18n';
 import API from 'lib-app/api-call';
 
@@ -39,7 +39,7 @@ class InstallStep2Requirements extends React.Component {
                 <Table {...this.getTableProps()} />
                 <div className="install-step-2__buttons">
                     <div className="install-step-2__next">
-                        <Button disabled={!this.isAllOk()} size="medium" type="secondary" onClick={() => browserHistory.push('/install/step-3')}>
+                        <Button disabled={!this.isAllOk()} size="medium" type="secondary" onClick={() => history.push('/install/step-3')}>
                             {i18n('NEXT')}
                         </Button>
                     </div>
@@ -90,7 +90,7 @@ class InstallStep2Requirements extends React.Component {
 
     onPreviousClick(event) {
         event.preventDefault();
-        browserHistory.push('/install/step-1');
+        history.push('/install/step-1');
     }
 
     isAllOk() {
diff --git a/client/src/app/install/install-step-3-database.js b/client/src/app/install/install-step-3-database.js
index 82e8818e..488ef3fe 100644
--- a/client/src/app/install/install-step-3-database.js
+++ b/client/src/app/install/install-step-3-database.js
@@ -1,6 +1,6 @@
 import React from 'react';
-import {browserHistory} from 'react-router';
 
+import history from 'lib-app/history';
 import i18n from 'lib-app/i18n';
 import API from 'lib-app/api-call';
 
@@ -54,7 +54,7 @@ class InstallStep3Database extends React.Component {
 
     onPreviousClick(event) {
         event.preventDefault();
-        browserHistory.push('/install/step-2');
+        history.push('/install/step-2');
     }
 
     onSubmit(form) {
@@ -65,7 +65,7 @@ class InstallStep3Database extends React.Component {
                 path: '/system/init-database',
                 data: form
             })
-                .then(() => browserHistory.push('/install/step-4'))
+                .then(() => history.push('/install/step-4'))
                 .catch(({message}) => this.setState({
                     loading: false,
                     error: true,
diff --git a/client/src/app/install/install-step-4-user-system.js b/client/src/app/install/install-step-4-user-system.js
index 2f1033f9..2bdb8de9 100644
--- a/client/src/app/install/install-step-4-user-system.js
+++ b/client/src/app/install/install-step-4-user-system.js
@@ -1,7 +1,7 @@
 import React from 'react';
-import {browserHistory} from 'react-router';
 import { connect } from 'react-redux'
 
+import history from 'lib-app/history';
 import i18n from 'lib-app/i18n';
 import API from 'lib-app/api-call';
 
@@ -49,7 +49,7 @@ class InstallStep4UserSystem extends React.Component {
 
     onPreviousClick(event) {
         event.preventDefault();
-        browserHistory.push('/install/step-3');
+        history.push('/install/step-3');
     }
 
     onSubmit(form) {
@@ -64,7 +64,7 @@ class InstallStep4UserSystem extends React.Component {
             }
         }).then(() => this.setState({
             loading: false
-        }, () => browserHistory.push('/install/step-5'))));
+        }, () => history.push('/install/step-5'))));
     }
 
     isDisabled() {
diff --git a/client/src/app/install/install-step-5-admin.js b/client/src/app/install/install-step-5-admin.js
index 112fc190..4c3114c4 100644
--- a/client/src/app/install/install-step-5-admin.js
+++ b/client/src/app/install/install-step-5-admin.js
@@ -1,10 +1,9 @@
 import React from 'react';
-import {browserHistory} from 'react-router';
 
+import history from 'lib-app/history';
 import i18n from 'lib-app/i18n';
 import API from 'lib-app/api-call';
 
-import Button from 'core-components/button';
 import Header from 'core-components/header';
 import Form from 'core-components/form';
 import FormField from 'core-components/form-field';
@@ -58,7 +57,7 @@ class InstallStep5Admin extends React.Component {
                 path: '/system/init-admin',
                 data: form
             })
-                .then(() => browserHistory.push('/install/step-6'))
+                .then(() => history.push('/install/step-6'))
                 .catch(({message}) => this.setState({
                     loading: false,
                     error: true,
diff --git a/client/src/app/install/install-step-6-completed.js b/client/src/app/install/install-step-6-completed.js
index 5a776d00..32d15a68 100644
--- a/client/src/app/install/install-step-6-completed.js
+++ b/client/src/app/install/install-step-6-completed.js
@@ -1,6 +1,7 @@
 import React from 'react';
-import {browserHistory} from 'react-router';
 
+import store from 'app/store';
+import ConfigActions from 'actions/config-actions';
 import i18n from 'lib-app/i18n';
 
 import Header from 'core-components/header';
@@ -9,7 +10,9 @@ import Message from 'core-components/message';
 class InstallStep6Completed extends React.Component {
 
     componentDidMount() {
-        setTimeout(() => browserHistory.push('/admin'), 5000);
+        setTimeout(() => {
+            store.dispatch(ConfigActions.checkInstallation());
+        }, 5000);
     }
 
     render() {
diff --git a/client/src/app/main/dashboard/dashboard-create-ticket/create-ticket-form.js b/client/src/app/main/dashboard/dashboard-create-ticket/create-ticket-form.js
index b8fac0aa..35dc66fb 100644
--- a/client/src/app/main/dashboard/dashboard-create-ticket/create-ticket-form.js
+++ b/client/src/app/main/dashboard/dashboard-create-ticket/create-ticket-form.js
@@ -1,9 +1,9 @@
 import React              from 'react';
 import _                  from 'lodash';
-import { browserHistory } from 'react-router';
 import {connect} from 'react-redux';
 import {EditorState, convertToRaw} from 'draft-js';
 
+import history            from 'lib-app/history';
 import i18n               from 'lib-app/i18n';
 import API                from 'lib-app/api-call';
 import SessionStore       from 'lib-app/session-store';
@@ -142,9 +142,9 @@ class CreateTicketForm extends React.Component {
 
         if(this.props.userLogged) {
             store.dispatch(SessionActions.getUserData());
-            setTimeout(() => {browserHistory.push('/dashboard')}, 2000);
+            setTimeout(() => {history.push('/dashboard')}, 2000);
         } else {
-            setTimeout(() => {browserHistory.push('/check-ticket/' + result.data.ticketNumber + '/' + email)}, 1000);
+            setTimeout(() => {history.push('/check-ticket/' + result.data.ticketNumber + '/' + email)}, 1000);
         }
     }
 
diff --git a/client/src/app/main/main-check-ticket-page.js b/client/src/app/main/main-check-ticket-page.js
index 5984f454..d03e12b8 100644
--- a/client/src/app/main/main-check-ticket-page.js
+++ b/client/src/app/main/main-check-ticket-page.js
@@ -1,8 +1,8 @@
 import React from 'react';
 import classNames from 'classnames';
-import {browserHistory} from 'react-router';
 import {connect} from 'react-redux';
 
+import history from 'lib-app/history';
 import i18n from 'lib-app/i18n';
 import API from 'lib-app/api-call';
 import SessionStore from 'lib-app/session-store';
@@ -99,7 +99,7 @@ class MainCheckTicketPage extends React.Component {
 
     onTicketGetSuccess(result) {
         SessionStore.setItem('token', result.data.token);
-        setTimeout(() => {browserHistory.push('/view-ticket/' + this.state.form.ticketNumber)}, 2000);
+        setTimeout(() => {history.push('/view-ticket/' + this.state.form.ticketNumber)}, 2000);
     }
 }
 
diff --git a/client/src/app/main/main-home/main-home-page-portal.js b/client/src/app/main/main-home/main-home-page-portal.js
index a27916de..bc03f018 100644
--- a/client/src/app/main/main-home/main-home-page-portal.js
+++ b/client/src/app/main/main-home/main-home-page-portal.js
@@ -1,8 +1,8 @@
 import React from 'react';
 import classNames from 'classnames';
-import {browserHistory} from 'react-router';
 import {connect} from 'react-redux'
 
+import history from 'lib-app/history';
 import Widget from 'core-components/widget';
 import Card from 'core-components/card';
 import i18n from 'lib-app/i18n';
@@ -41,7 +41,7 @@ class MainHomePagePortal extends React.Component {
             icon: 'ticket',
             color: 'red',
             buttonText: (this.props.type === 'complete') ? i18n('CREATE_TICKET') : null,
-            onButtonClick: () => browserHistory.push('/create-ticket')
+            onButtonClick: () => history.push('/create-ticket')
         };
     }
 
@@ -61,7 +61,7 @@ class MainHomePagePortal extends React.Component {
             icon: 'book',
             color: 'blue',
             buttonText: (this.props.type === 'complete') ? i18n('VIEW_ARTICLES') : null,
-            onButtonClick: () => browserHistory.push('/articles')
+            onButtonClick: () => history.push('/articles')
         };
     }
 
@@ -72,7 +72,7 @@ class MainHomePagePortal extends React.Component {
             icon: 'check-square-o',
             color: 'green',
             buttonText: (this.props.type === 'complete') ? i18n('CHECK_TICKET') : null,
-            onButtonClick: () => browserHistory.push('/check-ticket')
+            onButtonClick: () => history.push('/check-ticket')
         };
     }
 }
diff --git a/client/src/app/main/main-verify-token-page.js b/client/src/app/main/main-verify-token-page.js
index 8218414d..fd5d61f1 100644
--- a/client/src/app/main/main-verify-token-page.js
+++ b/client/src/app/main/main-verify-token-page.js
@@ -1,8 +1,8 @@
 import React from 'react';
 import {connect}        from 'react-redux'
-import {browserHistory} from 'react-router';
 
 import SessionActions from 'actions/session-actions'
+import history from 'lib-app/history';
 import API from 'lib-app/api-call';
 
 import Message from 'core-components/message';
@@ -18,10 +18,10 @@ class MainVerifyTokenPage extends React.Component {
             }
         }).then(() => {
             this.props.dispatch(SessionActions.verify(true));
-            browserHistory.push('/');
+            history.push('/');
         }).catch(() => {
             this.props.dispatch(SessionActions.verify(false));
-            browserHistory.push('/');
+            history.push('/');
         });
     }
 
diff --git a/client/src/app/main/main-view-ticket-page.js b/client/src/app/main/main-view-ticket-page.js
index de2f0096..08f2cbb8 100644
--- a/client/src/app/main/main-view-ticket-page.js
+++ b/client/src/app/main/main-view-ticket-page.js
@@ -1,7 +1,7 @@
 import React from 'react';
-import {browserHistory} from 'react-router';
 import {connect} from 'react-redux';
 
+import history from 'lib-app/history';
 import AdminPanelViewTicket from 'app/admin/panel/tickets/admin-panel-view-ticket'
 
 import Widget from 'core-components/widget';
@@ -20,7 +20,7 @@ class MainViewTicketPage extends React.Component {
 
     onRetrieveFail() {
         if (!this.props.config['user-system-enabled']) {
-            setTimeout(() => {browserHistory.push('/check-ticket')}, 2000);
+            setTimeout(() => {history.push('/check-ticket')}, 2000);
         }
     }
 }
diff --git a/client/src/config.js b/client/src/config.js
index e206592e..1828bbe4 100644
--- a/client/src/config.js
+++ b/client/src/config.js
@@ -1,2 +1,3 @@
 root = 'http://localhost:3000';
 apiRoot = 'http://localhost:3000/api';
+globalIndexPath = '';
diff --git a/client/src/core-components/icon.js b/client/src/core-components/icon.js
index becdb99b..47e8d193 100644
--- a/client/src/core-components/icon.js
+++ b/client/src/core-components/icon.js
@@ -1,6 +1,8 @@
 import React from 'react';
 import classNames from 'classnames';
 
+import API from 'lib-app/api-call';
+
 class Icon extends React.Component {
 
     static propTypes = {
@@ -25,7 +27,7 @@ class Icon extends React.Component {
 
     renderFlag() {
         return (
-            <img className={this.props.className} src={`/images/icons/${this.props.name}.png`} aria-hidden="true" />
+            <img className={this.props.className} src={`${API.getURL()}/images/icons/${this.props.name}.png`} aria-hidden="true" />
         );
     }
 
diff --git a/client/src/index.html b/client/src/index.html
old mode 100644
new mode 100755
diff --git a/client/src/index.js b/client/src/index.js
index e5b95387..aed4693b 100644
--- a/client/src/index.js
+++ b/client/src/index.js
@@ -14,7 +14,7 @@ Array.prototype.swap = function (x,y) {
     return this;
 };
 
-if ( process.env.NODE_ENV !== 'production' ) {
+if (isProd === 'disabled') {
     // Enable React devtools
     window.React = React;
 }
diff --git a/client/src/index.php b/client/src/index.php
old mode 100644
new mode 100755
index c73e539e..172d8f29
--- a/client/src/index.php
+++ b/client/src/index.php
@@ -1,3 +1,7 @@
+<?php
+    $url = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']);
+    $path = dirname($_SERVER['PHP_SELF']);
+?>
 <!doctype html>
 <html class="no-js" lang="">
     <head>
@@ -8,16 +12,17 @@
     
         <title>OpenSupports</title>
     
-        <link rel="stylesheet" href="/css/main.css">
-        <link rel="icon" type="image/x-icon" href="/images/icon.png">
+        <link rel="stylesheet" href="<?=$url ?>/css/main.css">
+        <link rel="icon" type="image/x-icon" href="<?=$url ?>/images/icon.png">
     </head>
     <body>
         <div id="app"></div>
         
         <script>
-            root = "<?php echo ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']); ?>";
-            apiRoot = "<?php echo ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']); ?>" + 'api';
+            root = "<?=$url ?>";
+            apiRoot = '<?=$url ?>/api';
+            globalIndexPath = "<?=$path ?>";
         </script>
-        <script src="/js/main.js"></script>
+        <script src="<?=$url ?>/js/main.js"></script>
     </body>
 </html>
\ No newline at end of file
diff --git a/client/src/lib-app/history.js b/client/src/lib-app/history.js
new file mode 100644
index 00000000..b13a379c
--- /dev/null
+++ b/client/src/lib-app/history.js
@@ -0,0 +1,8 @@
+import {browserHistory} from 'react-router';
+import {syncHistoryWithStore} from 'react-router-redux';
+import {useBasename} from 'history';
+import store from 'app/store';
+
+const history = syncHistoryWithStore(browserHistory, store);
+
+export default useBasename(() => history)({basename: globalIndexPath});
\ No newline at end of file
diff --git a/server/composer.json b/server/composer.json
old mode 100644
new mode 100755
diff --git a/server/controllers/article.php b/server/controllers/article.php
old mode 100644
new mode 100755
diff --git a/server/controllers/article/add-topic.php b/server/controllers/article/add-topic.php
old mode 100644
new mode 100755
diff --git a/server/controllers/article/add.php b/server/controllers/article/add.php
old mode 100644
new mode 100755
diff --git a/server/controllers/article/delete-topic.php b/server/controllers/article/delete-topic.php
old mode 100644
new mode 100755
diff --git a/server/controllers/article/delete.php b/server/controllers/article/delete.php
old mode 100644
new mode 100755
diff --git a/server/controllers/article/edit-topic.php b/server/controllers/article/edit-topic.php
old mode 100644
new mode 100755
diff --git a/server/controllers/article/edit.php b/server/controllers/article/edit.php
old mode 100644
new mode 100755
diff --git a/server/controllers/article/get-all.php b/server/controllers/article/get-all.php
old mode 100644
new mode 100755
diff --git a/server/controllers/staff.php b/server/controllers/staff.php
old mode 100644
new mode 100755
diff --git a/server/controllers/staff/add.php b/server/controllers/staff/add.php
old mode 100644
new mode 100755
diff --git a/server/controllers/staff/assign-ticket.php b/server/controllers/staff/assign-ticket.php
old mode 100644
new mode 100755
diff --git a/server/controllers/staff/delete.php b/server/controllers/staff/delete.php
old mode 100644
new mode 100755
diff --git a/server/controllers/staff/edit.php b/server/controllers/staff/edit.php
old mode 100644
new mode 100755
diff --git a/server/controllers/staff/get-all-tickets.php b/server/controllers/staff/get-all-tickets.php
old mode 100644
new mode 100755
diff --git a/server/controllers/staff/get-all.php b/server/controllers/staff/get-all.php
old mode 100644
new mode 100755
diff --git a/server/controllers/staff/get-new-tickets.php b/server/controllers/staff/get-new-tickets.php
old mode 100644
new mode 100755
diff --git a/server/controllers/staff/get-tickets.php b/server/controllers/staff/get-tickets.php
old mode 100644
new mode 100755
diff --git a/server/controllers/staff/get.php b/server/controllers/staff/get.php
old mode 100644
new mode 100755
diff --git a/server/controllers/staff/last-events.php b/server/controllers/staff/last-events.php
old mode 100644
new mode 100755
diff --git a/server/controllers/staff/search-tickets.php b/server/controllers/staff/search-tickets.php
old mode 100644
new mode 100755
diff --git a/server/controllers/staff/un-assign-ticket.php b/server/controllers/staff/un-assign-ticket.php
old mode 100644
new mode 100755
diff --git a/server/controllers/system.php b/server/controllers/system.php
old mode 100644
new mode 100755
diff --git a/server/controllers/system/add-api-key.php b/server/controllers/system/add-api-key.php
old mode 100644
new mode 100755
diff --git a/server/controllers/system/add-department.php b/server/controllers/system/add-department.php
old mode 100644
new mode 100755
diff --git a/server/controllers/system/backup-database.php b/server/controllers/system/backup-database.php
old mode 100644
new mode 100755
diff --git a/server/controllers/system/check-requirements.php b/server/controllers/system/check-requirements.php
old mode 100644
new mode 100755
diff --git a/server/controllers/system/csv-import.php b/server/controllers/system/csv-import.php
old mode 100644
new mode 100755
diff --git a/server/controllers/system/delete-all-users.php b/server/controllers/system/delete-all-users.php
old mode 100644
new mode 100755
diff --git a/server/controllers/system/delete-api-key.php b/server/controllers/system/delete-api-key.php
old mode 100644
new mode 100755
diff --git a/server/controllers/system/delete-department.php b/server/controllers/system/delete-department.php
old mode 100644
new mode 100755
diff --git a/server/controllers/system/disable-registration.php b/server/controllers/system/disable-registration.php
old mode 100644
new mode 100755
diff --git a/server/controllers/system/disable-user-system.php b/server/controllers/system/disable-user-system.php
old mode 100644
new mode 100755
diff --git a/server/controllers/system/download.php b/server/controllers/system/download.php
old mode 100644
new mode 100755
diff --git a/server/controllers/system/edit-department.php b/server/controllers/system/edit-department.php
old mode 100644
new mode 100755
diff --git a/server/controllers/system/edit-mail-template.php b/server/controllers/system/edit-mail-template.php
old mode 100644
new mode 100755
diff --git a/server/controllers/system/edit-settings.php b/server/controllers/system/edit-settings.php
old mode 100644
new mode 100755
diff --git a/server/controllers/system/enable-registration.php b/server/controllers/system/enable-registration.php
old mode 100644
new mode 100755
diff --git a/server/controllers/system/enable-user-system.php b/server/controllers/system/enable-user-system.php
old mode 100644
new mode 100755
diff --git a/server/controllers/system/get-api-keys.php b/server/controllers/system/get-api-keys.php
old mode 100644
new mode 100755
diff --git a/server/controllers/system/get-logs.php b/server/controllers/system/get-logs.php
old mode 100644
new mode 100755
diff --git a/server/controllers/system/get-mail-templates.php b/server/controllers/system/get-mail-templates.php
old mode 100644
new mode 100755
diff --git a/server/controllers/system/get-settings.php b/server/controllers/system/get-settings.php
old mode 100644
new mode 100755
diff --git a/server/controllers/system/get-stats.php b/server/controllers/system/get-stats.php
old mode 100644
new mode 100755
diff --git a/server/controllers/system/init-admin.php b/server/controllers/system/init-admin.php
old mode 100644
new mode 100755
diff --git a/server/controllers/system/init-database.php b/server/controllers/system/init-database.php
old mode 100644
new mode 100755
diff --git a/server/controllers/system/init-settings.php b/server/controllers/system/init-settings.php
old mode 100644
new mode 100755
diff --git a/server/controllers/system/installation-done.php b/server/controllers/system/installation-done.php
old mode 100644
new mode 100755
diff --git a/server/controllers/system/recover-mail-template.php b/server/controllers/system/recover-mail-template.php
old mode 100644
new mode 100755
diff --git a/server/controllers/ticket.php b/server/controllers/ticket.php
old mode 100644
new mode 100755
diff --git a/server/controllers/ticket/add-custom-response.php b/server/controllers/ticket/add-custom-response.php
old mode 100644
new mode 100755
diff --git a/server/controllers/ticket/change-department.php b/server/controllers/ticket/change-department.php
old mode 100644
new mode 100755
diff --git a/server/controllers/ticket/change-priority.php b/server/controllers/ticket/change-priority.php
old mode 100644
new mode 100755
diff --git a/server/controllers/ticket/check.php b/server/controllers/ticket/check.php
old mode 100644
new mode 100755
diff --git a/server/controllers/ticket/close.php b/server/controllers/ticket/close.php
old mode 100644
new mode 100755
diff --git a/server/controllers/ticket/comment.php b/server/controllers/ticket/comment.php
old mode 100644
new mode 100755
diff --git a/server/controllers/ticket/create.php b/server/controllers/ticket/create.php
old mode 100644
new mode 100755
diff --git a/server/controllers/ticket/delete-custom-response.php b/server/controllers/ticket/delete-custom-response.php
old mode 100644
new mode 100755
diff --git a/server/controllers/ticket/edit-custom-response.php b/server/controllers/ticket/edit-custom-response.php
old mode 100644
new mode 100755
diff --git a/server/controllers/ticket/get-custom-responses.php b/server/controllers/ticket/get-custom-responses.php
old mode 100644
new mode 100755
diff --git a/server/controllers/ticket/get.php b/server/controllers/ticket/get.php
old mode 100644
new mode 100755
diff --git a/server/controllers/ticket/re-open.php b/server/controllers/ticket/re-open.php
old mode 100644
new mode 100755
diff --git a/server/controllers/ticket/seen.php b/server/controllers/ticket/seen.php
old mode 100644
new mode 100755
diff --git a/server/controllers/user.php b/server/controllers/user.php
old mode 100644
new mode 100755
diff --git a/server/controllers/user/ban.php b/server/controllers/user/ban.php
old mode 100644
new mode 100755
diff --git a/server/controllers/user/check-session.php b/server/controllers/user/check-session.php
old mode 100644
new mode 100755
diff --git a/server/controllers/user/delete.php b/server/controllers/user/delete.php
old mode 100644
new mode 100755
diff --git a/server/controllers/user/edit-email.php b/server/controllers/user/edit-email.php
old mode 100644
new mode 100755
diff --git a/server/controllers/user/edit-password.php b/server/controllers/user/edit-password.php
old mode 100644
new mode 100755
diff --git a/server/controllers/user/get-user.php b/server/controllers/user/get-user.php
old mode 100644
new mode 100755
diff --git a/server/controllers/user/get-users.php b/server/controllers/user/get-users.php
old mode 100644
new mode 100755
diff --git a/server/controllers/user/get.php b/server/controllers/user/get.php
old mode 100644
new mode 100755
diff --git a/server/controllers/user/list-ban.php b/server/controllers/user/list-ban.php
old mode 100644
new mode 100755
diff --git a/server/controllers/user/login.php b/server/controllers/user/login.php
old mode 100644
new mode 100755
diff --git a/server/controllers/user/logout.php b/server/controllers/user/logout.php
old mode 100644
new mode 100755
diff --git a/server/controllers/user/recover-password.php b/server/controllers/user/recover-password.php
old mode 100644
new mode 100755
diff --git a/server/controllers/user/send-recover-password.php b/server/controllers/user/send-recover-password.php
old mode 100644
new mode 100755
diff --git a/server/controllers/user/signup.php b/server/controllers/user/signup.php
old mode 100644
new mode 100755
diff --git a/server/controllers/user/un-ban.php b/server/controllers/user/un-ban.php
old mode 100644
new mode 100755
diff --git a/server/controllers/user/verify.php b/server/controllers/user/verify.php
old mode 100644
new mode 100755
diff --git a/server/data/ERRORS.php b/server/data/ERRORS.php
old mode 100644
new mode 100755
diff --git a/server/data/EXCEPTIONS.php b/server/data/EXCEPTIONS.php
old mode 100644
new mode 100755
diff --git a/server/data/InitialMails.php b/server/data/InitialMails.php
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/ticket-closed-cn.html b/server/data/mail-templates/ticket-closed-cn.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/ticket-closed-de.html b/server/data/mail-templates/ticket-closed-de.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/ticket-closed-en.html b/server/data/mail-templates/ticket-closed-en.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/ticket-closed-es.html b/server/data/mail-templates/ticket-closed-es.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/ticket-closed-fr.html b/server/data/mail-templates/ticket-closed-fr.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/ticket-closed-in.html b/server/data/mail-templates/ticket-closed-in.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/ticket-closed-jp.html b/server/data/mail-templates/ticket-closed-jp.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/ticket-closed-pt.html b/server/data/mail-templates/ticket-closed-pt.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/ticket-closed-ru.html b/server/data/mail-templates/ticket-closed-ru.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/ticket-closed-tr.html b/server/data/mail-templates/ticket-closed-tr.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/ticket-created-cn.html b/server/data/mail-templates/ticket-created-cn.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/ticket-created-de.html b/server/data/mail-templates/ticket-created-de.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/ticket-created-en.html b/server/data/mail-templates/ticket-created-en.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/ticket-created-es.html b/server/data/mail-templates/ticket-created-es.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/ticket-created-fr.html b/server/data/mail-templates/ticket-created-fr.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/ticket-created-in.html b/server/data/mail-templates/ticket-created-in.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/ticket-created-jp.html b/server/data/mail-templates/ticket-created-jp.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/ticket-created-pt.html b/server/data/mail-templates/ticket-created-pt.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/ticket-created-ru.html b/server/data/mail-templates/ticket-created-ru.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/ticket-created-tr.html b/server/data/mail-templates/ticket-created-tr.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/ticket-responded-cn.html b/server/data/mail-templates/ticket-responded-cn.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/ticket-responded-de.html b/server/data/mail-templates/ticket-responded-de.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/ticket-responded-en.html b/server/data/mail-templates/ticket-responded-en.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/ticket-responded-es.html b/server/data/mail-templates/ticket-responded-es.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/ticket-responded-fr.html b/server/data/mail-templates/ticket-responded-fr.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/ticket-responded-in.html b/server/data/mail-templates/ticket-responded-in.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/ticket-responded-jp.html b/server/data/mail-templates/ticket-responded-jp.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/ticket-responded-pt.html b/server/data/mail-templates/ticket-responded-pt.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/ticket-responded-ru.html b/server/data/mail-templates/ticket-responded-ru.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/ticket-responded-tr.html b/server/data/mail-templates/ticket-responded-tr.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-edit-email-cn.html b/server/data/mail-templates/user-edit-email-cn.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-edit-email-de.html b/server/data/mail-templates/user-edit-email-de.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-edit-email-en.html b/server/data/mail-templates/user-edit-email-en.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-edit-email-es.html b/server/data/mail-templates/user-edit-email-es.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-edit-email-fr.html b/server/data/mail-templates/user-edit-email-fr.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-edit-email-in.html b/server/data/mail-templates/user-edit-email-in.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-edit-email-jp.html b/server/data/mail-templates/user-edit-email-jp.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-edit-email-pt.html b/server/data/mail-templates/user-edit-email-pt.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-edit-email-ru.html b/server/data/mail-templates/user-edit-email-ru.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-edit-email-tr.html b/server/data/mail-templates/user-edit-email-tr.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-edit-password-cn.html b/server/data/mail-templates/user-edit-password-cn.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-edit-password-de.html b/server/data/mail-templates/user-edit-password-de.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-edit-password-en.html b/server/data/mail-templates/user-edit-password-en.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-edit-password-es.html b/server/data/mail-templates/user-edit-password-es.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-edit-password-fr.html b/server/data/mail-templates/user-edit-password-fr.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-edit-password-in.html b/server/data/mail-templates/user-edit-password-in.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-edit-password-jp.html b/server/data/mail-templates/user-edit-password-jp.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-edit-password-pt.html b/server/data/mail-templates/user-edit-password-pt.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-edit-password-ru.html b/server/data/mail-templates/user-edit-password-ru.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-edit-password-tr.html b/server/data/mail-templates/user-edit-password-tr.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-password-forgot-cn.html b/server/data/mail-templates/user-password-forgot-cn.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-password-forgot-de.html b/server/data/mail-templates/user-password-forgot-de.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-password-forgot-en.html b/server/data/mail-templates/user-password-forgot-en.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-password-forgot-es.html b/server/data/mail-templates/user-password-forgot-es.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-password-forgot-fr.html b/server/data/mail-templates/user-password-forgot-fr.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-password-forgot-in.html b/server/data/mail-templates/user-password-forgot-in.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-password-forgot-jp.html b/server/data/mail-templates/user-password-forgot-jp.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-password-forgot-pt.html b/server/data/mail-templates/user-password-forgot-pt.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-password-forgot-ru.html b/server/data/mail-templates/user-password-forgot-ru.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-password-forgot-tr.html b/server/data/mail-templates/user-password-forgot-tr.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-signup-cn.html b/server/data/mail-templates/user-signup-cn.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-signup-de.html b/server/data/mail-templates/user-signup-de.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-signup-en.html b/server/data/mail-templates/user-signup-en.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-signup-es.html b/server/data/mail-templates/user-signup-es.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-signup-fr.html b/server/data/mail-templates/user-signup-fr.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-signup-in.html b/server/data/mail-templates/user-signup-in.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-signup-jp.html b/server/data/mail-templates/user-signup-jp.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-signup-pt.html b/server/data/mail-templates/user-signup-pt.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-signup-ru.html b/server/data/mail-templates/user-signup-ru.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-signup-tr.html b/server/data/mail-templates/user-signup-tr.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-system-disabled-cn.html b/server/data/mail-templates/user-system-disabled-cn.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-system-disabled-de.html b/server/data/mail-templates/user-system-disabled-de.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-system-disabled-en.html b/server/data/mail-templates/user-system-disabled-en.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-system-disabled-es.html b/server/data/mail-templates/user-system-disabled-es.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-system-disabled-fr.html b/server/data/mail-templates/user-system-disabled-fr.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-system-disabled-in.html b/server/data/mail-templates/user-system-disabled-in.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-system-disabled-jp.html b/server/data/mail-templates/user-system-disabled-jp.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-system-disabled-pt.html b/server/data/mail-templates/user-system-disabled-pt.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-system-disabled-ru.html b/server/data/mail-templates/user-system-disabled-ru.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-system-disabled-tr.html b/server/data/mail-templates/user-system-disabled-tr.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-system-enabled-cn.html b/server/data/mail-templates/user-system-enabled-cn.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-system-enabled-de.html b/server/data/mail-templates/user-system-enabled-de.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-system-enabled-en.html b/server/data/mail-templates/user-system-enabled-en.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-system-enabled-es.html b/server/data/mail-templates/user-system-enabled-es.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-system-enabled-fr.html b/server/data/mail-templates/user-system-enabled-fr.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-system-enabled-in.html b/server/data/mail-templates/user-system-enabled-in.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-system-enabled-jp.html b/server/data/mail-templates/user-system-enabled-jp.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-system-enabled-pt.html b/server/data/mail-templates/user-system-enabled-pt.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-system-enabled-ru.html b/server/data/mail-templates/user-system-enabled-ru.html
old mode 100644
new mode 100755
diff --git a/server/data/mail-templates/user-system-enabled-tr.html b/server/data/mail-templates/user-system-enabled-tr.html
old mode 100644
new mode 100755
diff --git a/server/files/.gitkeep b/server/files/.gitkeep
old mode 100644
new mode 100755
diff --git a/server/libs/Controller.php b/server/libs/Controller.php
old mode 100644
new mode 100755
diff --git a/server/libs/ControllerGroup.php b/server/libs/ControllerGroup.php
old mode 100644
new mode 100755
diff --git a/server/libs/DataStoreList.php b/server/libs/DataStoreList.php
old mode 100644
new mode 100755
diff --git a/server/libs/Date.php b/server/libs/Date.php
old mode 100644
new mode 100755
diff --git a/server/libs/FileDownloader.php b/server/libs/FileDownloader.php
old mode 100644
new mode 100755
diff --git a/server/libs/FileManager.php b/server/libs/FileManager.php
old mode 100644
new mode 100755
diff --git a/server/libs/FileUploader.php b/server/libs/FileUploader.php
old mode 100644
new mode 100755
diff --git a/server/libs/Hashing.php b/server/libs/Hashing.php
old mode 100644
new mode 100755
diff --git a/server/libs/LinearCongruentialGenerator.php b/server/libs/LinearCongruentialGenerator.php
old mode 100644
new mode 100755
diff --git a/server/libs/MailSender.php b/server/libs/MailSender.php
old mode 100644
new mode 100755
diff --git a/server/libs/Validator.php b/server/libs/Validator.php
old mode 100644
new mode 100755
diff --git a/server/libs/validations/captcha.php b/server/libs/validations/captcha.php
old mode 100644
new mode 100755
diff --git a/server/libs/validations/dataStoreId.php b/server/libs/validations/dataStoreId.php
old mode 100644
new mode 100755
diff --git a/server/libs/validations/userEmail.php b/server/libs/validations/userEmail.php
old mode 100644
new mode 100755
diff --git a/server/libs/validations/validLanguage.php b/server/libs/validations/validLanguage.php
old mode 100644
new mode 100755
diff --git a/server/libs/validations/validTicketNumber.php b/server/libs/validations/validTicketNumber.php
old mode 100644
new mode 100755
diff --git a/server/models/APIKey.php b/server/models/APIKey.php
old mode 100644
new mode 100755
diff --git a/server/models/Article.php b/server/models/Article.php
old mode 100644
new mode 100755
diff --git a/server/models/Ban.php b/server/models/Ban.php
old mode 100644
new mode 100755
diff --git a/server/models/CustomResponse.php b/server/models/CustomResponse.php
old mode 100644
new mode 100755
diff --git a/server/models/DataStore.php b/server/models/DataStore.php
old mode 100644
new mode 100755
diff --git a/server/models/Department.php b/server/models/Department.php
old mode 100644
new mode 100755
diff --git a/server/models/Language.php b/server/models/Language.php
old mode 100644
new mode 100755
diff --git a/server/models/Log.php b/server/models/Log.php
old mode 100644
new mode 100755
diff --git a/server/models/MailTemplate.php b/server/models/MailTemplate.php
old mode 100644
new mode 100755
diff --git a/server/models/NullDataStore.php b/server/models/NullDataStore.php
old mode 100644
new mode 100755
diff --git a/server/models/RecoverPassword.php b/server/models/RecoverPassword.php
old mode 100644
new mode 100755
diff --git a/server/models/Response.php b/server/models/Response.php
old mode 100644
new mode 100755
diff --git a/server/models/Session.php b/server/models/Session.php
old mode 100644
new mode 100755
diff --git a/server/models/SessionCookie.php b/server/models/SessionCookie.php
old mode 100644
new mode 100755
diff --git a/server/models/Setting.php b/server/models/Setting.php
old mode 100644
new mode 100755
diff --git a/server/models/Staff.php b/server/models/Staff.php
old mode 100644
new mode 100755
diff --git a/server/models/Stat.php b/server/models/Stat.php
old mode 100644
new mode 100755
diff --git a/server/models/Ticket.php b/server/models/Ticket.php
old mode 100644
new mode 100755
diff --git a/server/models/Ticketevent.php b/server/models/Ticketevent.php
old mode 100644
new mode 100755
diff --git a/server/models/Topic.php b/server/models/Topic.php
old mode 100644
new mode 100755
diff --git a/server/models/User.php b/server/models/User.php
old mode 100644
new mode 100755
diff --git a/server/tests/__lib__/Mock.php b/server/tests/__lib__/Mock.php
old mode 100644
new mode 100755
diff --git a/server/tests/__mocks__/APIKeyMock.php b/server/tests/__mocks__/APIKeyMock.php
old mode 100644
new mode 100755
diff --git a/server/tests/__mocks__/BeanMock.php b/server/tests/__mocks__/BeanMock.php
old mode 100644
new mode 100755
diff --git a/server/tests/__mocks__/ControllerMock.php b/server/tests/__mocks__/ControllerMock.php
old mode 100644
new mode 100755
diff --git a/server/tests/__mocks__/HashingMock.php b/server/tests/__mocks__/HashingMock.php
old mode 100644
new mode 100755
diff --git a/server/tests/__mocks__/NullDataStoreMock.php b/server/tests/__mocks__/NullDataStoreMock.php
old mode 100644
new mode 100755
diff --git a/server/tests/__mocks__/ReCaptchaMock.php b/server/tests/__mocks__/ReCaptchaMock.php
old mode 100644
new mode 100755
diff --git a/server/tests/__mocks__/RedBeanMock.php b/server/tests/__mocks__/RedBeanMock.php
old mode 100644
new mode 100755
diff --git a/server/tests/__mocks__/RespectMock.php b/server/tests/__mocks__/RespectMock.php
old mode 100644
new mode 100755
diff --git a/server/tests/__mocks__/ResponseMock.php b/server/tests/__mocks__/ResponseMock.php
old mode 100644
new mode 100755
diff --git a/server/tests/__mocks__/SessionMock.php b/server/tests/__mocks__/SessionMock.php
old mode 100644
new mode 100755
diff --git a/server/tests/__mocks__/SettingMock.php b/server/tests/__mocks__/SettingMock.php
old mode 100644
new mode 100755
diff --git a/server/tests/__mocks__/SlimMock.php b/server/tests/__mocks__/SlimMock.php
old mode 100644
new mode 100755
diff --git a/server/tests/__mocks__/UserMock.php b/server/tests/__mocks__/UserMock.php
old mode 100644
new mode 100755
diff --git a/server/tests/controllers/user/loginTest.php b/server/tests/controllers/user/loginTest.php
old mode 100644
new mode 100755
diff --git a/server/tests/libs/validations/captchaTest.php b/server/tests/libs/validations/captchaTest.php
old mode 100644
new mode 100755
diff --git a/server/tests/models/DataStoreTest.php b/server/tests/models/DataStoreTest.php
old mode 100644
new mode 100755
diff --git a/server/tests/models/MailTemplateTest.php b/server/tests/models/MailTemplateTest.php
old mode 100644
new mode 100755
diff --git a/server/tests/models/ResponseTest.php b/server/tests/models/ResponseTest.php
old mode 100644
new mode 100755