Skip to content

qWojtpl/TicketSystem

Repository files navigation

Allow users to safe contact with you



Requirements

  • PHP 7.3+
  • JavaScript support
  • MySQL (recommended MariaDB)
  • jQuery on every page you would like to use livechat

Installation

  • Put all repository to /ticketsystem/ directory
  • We highly recommend changing umask on linux systems of ticketsystem directory to 0000 (rwxrwxrwx for directories, rw-rw-rw for files)
  • Go to yoursite/ticketsystem/setup
  • Complete the setup
  • Done ;)

Groups, employees and permissions

  • You can add many groups, employees and custom permissions for selected employee.
  • Groups can contain permissions and unique priority
  • You can attach group to existing employee which means giving him group's permissions
  • Employee consists of login, password, visible name and can contain additional permissions
  • Employee which can edit or add groups/employees can give to it all permissions/groups that he has

Permissions for groups:

Click to reveal
groups.view
  • Allow employees view existing groups
groups.add
  • Allow employees add new groups (with priority -1 of employee's max priority group)
groups.edit
  • Allow employees edit existing groups (with priority -1 of employee's max priority group)
groups.delete
  • Allow employees delete existing groups (with priority -1 of employee's max priority group)

Permissions for employees:

Click to reveal
employees.view
  • Allow employees view all existing employees
employees.add
  • Allow employees add new employees
employees.edit
  • Allow employees edit existing employees which group priority is below employee's max group priority
employees.delete
  • Allow employees delete existing employees which group priority is below employee's max group priority

Livechat

  • Livechat is an addon to your site which allows real-time writing with employees for users
  • You can attach livechat to your page very easily!

Attach these scripts to head tag

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="./ticketsystem/ts_livechat.js" ticketsystem=true></script>
  • Employees with with the appropriate permission can use livechat
  • User to join livechat must send his name and e-mail (this feature can be disabled during setup)
  • No user's account is required!

Permissions for livechat:

Click to reveal
livechat.use
  • Allow employees use livechat

Tickets

Permissions for tickets:

Click to reveal
tickets.use
  • Allow employees use tickets
tickets.close
  • Allow users close tickets
tickets.view
  • Allow users view all tickets
tickets.remove
  • Allow users remove all tickets
tickets.remove.assigned
  • Allow users remove assigned tickets

In-system messages

  • Employees can send messages to each other

Permissions for messages:

Click to reveal
messages.receive
  • Allow employees receive messages
messages.send
  • Allow employees send messages

Bans

  • Users can be banned on their e-mail, nickname, cookies or IP address.
  • Banned users cannot use livechat and tickets
  • Banned users CAN LOGIN to adminpanel as an employee

Permissions for bans:

Click to reveal
bans.view
  • Allow employees view existing bans
bans.add
  • Allow employees add new record to bans (employee can insert e-mail, nickname or IP address)
bans.remove
  • Allow employees remove existing record from bans
bans.ban
  • Allow employees ban user only if they had interaction with this user (fe livechat, assigned ticket)
bans.unban
  • Allow employees unban user only if they banned him

Logs

  • Every action (adding employee, editing employee, starting livechat etc) can be logged to Logs
  • This feature can be turned on during setup

Permissions for logs:

Click to reveal
logs.view
  • Allow employees see system logs

Languages

  • You can edit and add languages to TicketSystem
  • In default there's two languages: English and Polish
  • Every employee can select their preferenced language
  • Employee with appropriate permission can change default language for all employees
  • Default language is used in livechat and tickets
  • User's preferenced language is more important than default language pack. It means even if default language will be changed, then if employee had selected preferenced language before, then employee will see its preferenced language

Permissions for languages:

Click to reveal
language.edit
  • Allow employees edit existing language packs
language.add
  • Allow employees add new language packs
language.change.default
  • Allow employees change default language
language.remove
  • Allow employees removing language packs

Google Authenicator and account security