Files
faveo/app/Helper/Finder.php
Shift 87acc30a0b Apply Laravel coding style
Shift automatically applies the Laravel coding style - which uses the PSR-12 coding style as a base with some minor additions.

You may customize the code style applied by configuring [Pint](https://laravel.com/docs/pint), [PHP CS Fixer](https://github.com/FriendsOfPHP/PHP-CS-Fixer), or [PHP CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer) for your project root.

For more information on customizing the code style applied by Shift, [watch this short video](https://laravelshift.com/videos/shift-code-style).
2023-01-07 20:32:31 +00:00

193 lines
5.5 KiB
PHP

<?php
namespace App\Helper;
use App\Model\helpdesk\Agent\Department;
use App\Model\helpdesk\Agent\Groups;
use App\Model\helpdesk\Ticket\Ticket_Status;
use App\Model\helpdesk\Ticket\TicketStatusType;
/**
*------------------------------------------------------------------
* Class Finder
*------------------------------------------------------------------
* Description: This class is used for defining some common functions
* used in the project.
*
* @author <Ladybird Web Solution>
*/
class Finder
{
/**
* DEPARTMENT
* This function is used for returning department name with respect to id.
*
* @param $id type int
* @param $custom type array/null
* @return type string
*/
public static function department($id, $custom = null)
{
if ($custom == null) {
$department = Department::whereId($id)->select(['name']);
} elseif (isset($custom)) {
$department = Department::whereId($id)->select($custom);
}
return $department->first()->name;
}
/**
* GROUP
* This function is used for returning group name with respect to id.
*
* @param $id type int
* @param $custom type array/null
* @return type string
*/
public static function group($id, $custom = null)
{
if ($custom == null) {
$group = Groups::whereId($id)->select(['name']);
} elseif (isset($custom)) {
$group = Groups::whereId($id)->select($custom);
}
return $group->first()->name;
}
/**
* STATUS TYPE
* This function is used for returning status type name with respect to id.
*
* @param $id type int
* @param $custom type array/null
* @return type string
*/
public static function statusType($id, $custom = null)
{
if ($custom == null) {
$status_type = TicketStatusType::whereId($id)->select(['name']);
} elseif (isset($custom)) {
$status_type = TicketStatusType::whereId($id)->select($custom);
}
return $status_type->first()->name;
}
/**
* STATUS
* This function is used for returning status name with respect to id.
*
* @param $id type int
* @param $custom type array/null
* @return type string
*/
public static function status($id, $custom = null)
{
if ($custom == null) {
$status = Ticket_Status::whereId($id)->first();
} elseif (isset($custom)) {
$status = Ticket_Status::whereId($id)->select($custom);
}
return $status;
}
/**
* USER ROLES IN A GROUP FOR STATUS LIST
* This function is used to return roles of users from a given value.
* If the value is 1 the response is client
* If the value is 2 the response is agent
* If the value is 4 the response is admin
* If the value is 1+2 = 3 the response is client, agent
* If the value is 1+4 = 5 the response is client, admin
* If the value is 2+4 = 6 the response is agent, admin
* If the value is 1+2+4 = 7 the response is client, agent, admin.
*
* @param $id type int
* @return type string
*/
public static function rolesGroup($id)
{
switch ($id) {
case null:
return \Lang::get('lang.none');
case 1:
return 'Client';
case 2:
return 'Agent';
case 4:
return 'Admin';
case 3:
return 'Client,Agent';
case 5:
return 'Client,Admin';
case 6:
return 'Agent,Admin';
case 7:
return 'Client,Agent,Admin';
default:
return 'Undefined!';
}
}
/**
* ANY TYPE STATUS
* This function is used to return the set of status which are of any type passed in the param.
*
* @param type $id
* @return type array
*/
public static function anyTypeStatus($id)
{
$status_group = Ticket_Status::where('purpose_of_status', '=', $id)->select(['id'])->get();
foreach ($status_group as $status) {
$status_group2[] = $status->id;
}
return $status_group2;
}
/**
* RETURNS ALL STATUS
* This function is used to return all the status given in the system.
*
* @return type array
*/
public static function getAllStatus()
{
$status = Ticket_Status::where('purpose_of_status', '!=', 3)->orwhere('purpose_of_status', '!=', 4)->get();
return $status;
}
/**
* VARIABLE REPLACEMENT
* This function is used to replace the replaceable variables form a given content for templates.
*/
public static function replaceTemplateVariables($variables, $data, $contents)
{
foreach ($variables as $key => $variable) {
$messagebody = str_replace($variables[$key], $data[$key], $contents);
$contents = $messagebody;
}
return $contents;
}
/**
* SPECIAL CHECK FOR STATUS FOR APPROVAL
* This function is used to special check status for any type of checks.
*
* @return type array
*/
public static function getCustomedStatus()
{
$status = Ticket_Status::select('id', 'name', 'icon_class')
->whereIn('id', [1, 2, 3, 5])->get();
return $status;
}
}