Файловый менеджер - Редактировать - /var/www/html/components/com_jssupportticket/router.php
Ðазад
<?php /** * @Copyright Copyright (C) 2012 ... Ahmad Bilal * @license GNU/GPL http://www.gnu.org/copyleft/gpl.html * Company: Buruj Solutions + Contact: www.burujsolutions.com , info@burujsolutions.com * Created on: May 03, 2012 ^ + Project: JS Tickets ^ */ defined('_JEXEC') or die('Restricted access'); use Joomla\CMS\Component\Router\RouterView; use Joomla\CMS\Component\ComponentHelper; use Joomla\CMS\Component\Router\RouterViewConfiguration; use Joomla\CMS\Component\Router\Rules\MenuRules; use Joomla\CMS\Component\Router\Rules\StandardRules; use Joomla\CMS\Component\Router\Rules\NomenuRules; use Joomla\CMS\Factory; /** * Routing class of com_phocagallery * * @since 3.3 */ class JSSupportTicketRouter extends RouterView { protected $noIDs = false; /** * Content Component router constructor * * @param JApplicationCms $app The application object * @param JMenu $menu The menu object to work with */ public function __construct($app = null, $menu = null) { $params = ComponentHelper::getParams('com_jsjobs'); parent::__construct($app, $menu); } public function build(&$query){ $segments = array(); $segments = $this->JSSupportTicketBuildRoute($query); return $segments; } public function parse(&$segments){ $vars = array(); $vars = $this->JSSupportTicketParseRoute($segments); //print_r($vars); //die(); $segments = []; return $vars; } public function preprocess($query){ return $query; } function JSSupportTicketBuildRoute( &$query ){ $segments = array(); $router = new JSSupportTicketOldRouter; if(isset( $query['layout'] )) { if(isset($query['c'])){ $controller = $query['c']; unset($query['c']); }else{ $controller = ''; } $segments[] = $router->buildLayout($query['layout'],$controller); unset($query['layout']); }; if(isset( $query['task'] )) { $task = 'tk-'.$query['task']; unset($query['task']); if(isset($query['c'])){ if($query['c'] != 'ticket') $task .= '-'.$query['c']; unset($query['c']); } $segments[] = $task; if(isset($query['name'])){ $segments[] = 'file-'.$query['name']; unset($query['name']); } }; if(isset( $query['id'] )) { switch($segments[0]){ //layout name case 'faq':$segments[] = $router->getFaqTitleById($query['id']).'-'.$query['id'];break; case 'announcement':$segments[] = $router->getAnnouncementTitleById($query['id']).'-'.$query['id'];break; case 'article':$segments[] = $router->getArticleTitleById($query['id']).'-'.$query['id'];break; case 'mytickets': case 'myticketsstaff': $segments[] = $query['id']; break; default:$segments[] = 'id-'.$query['id'];break; /* case 'faq':$segments[] = 'faq-'.$router->getFaqTitleById($query['id']).'-'.$query['id'];break; case 'announcement':$segments[] = 'announcement-'.$router->getAnnouncementTitleById($query['id']).'-'.$query['id'];break; case 'article':$segments[] = 'article-'.$router->getArticleTitleById($query['id']).'-'.$query['id'];break; case 'mytickets': case 'myticketsstaff': $segments[] = 'ticketid-'.$query['id']; break; default:$segments[] = 'id-'.$query['id'];break; */ } unset($query['id']); }; if(isset( $query['email'] )) { $segments[] = 'email-'.$query['email']; unset($query['email']);}; if(isset( $query['date_start'] )) { $segments[] = 'date_start-'.$query['date_start']; unset($query['date_start']);}; if(isset( $query['date_end'] )) { $segments[] = 'date_end-'.$query['date_end']; unset($query['date_end']);}; if(isset( $query['lt'] )) { $segments[] = 'listing-'.$router->buildListingFor($query['lt']); unset($query['lt']);}; //for sorting if(isset( $query['sort'] )) { $segments[] = 'sort-'.$query['sort']; unset($query['sort']);}; if(isset( $query['sortby'] )) { $segments[] = 'sortby-'.$query['sortby']; unset($query['sortby']);}; // printticket if(isset( $query['tmpl'] )) { $segments[] = 'tmpl-'.$query['tmpl']; unset($query['tmpl']);}; if(isset( $query['print'] )) { $segments[] = 'print-'.$query['print']; unset($query['print']);}; // echo '<br> item '.$query['Itemid']; if(isset( $query['Itemid'] )) { $_SESSION['JSItemid'] = $query['Itemid']; }; return $segments; } function JSSupportTicketParseRoute( $segments ){ $value = ""; $vars = array(); $count = count($segments); $router = new JSSupportTicketOldRouter; //echo '<br> count '.$count; //print_r($segments); $site= JMenu::getInstance('site'); $item = $site->getActive(); if(strstr($segments[0],'tk-')){ $result = $router->parseTask($segments[0]); $vars['c'] = $result['controller']; $vars['task'] = $result['task']; }else{ $result = $router->parseLayout($segments[0]); $vars['c'] = $result['controller']; $vars['layout'] = $result['layout']; } //echo '<br> layout '.$segments[0];print_r($segments); $i = 0; foreach ($segments AS $seg) { if ($i >= 1) { //$array = explode(":", $seg); $array = explode("-", $seg); $index = $array[0]; //unset the current index unset($array[0]); if (isset($array[1])) $value = implode("-", $array); switch ($index) { case "task": $vars['tk'] = $value; break; /* case "ticketid": case "id": case "faq": case "announcement": case "article": $vars['id'] = $router->parseId($value); break; */ default: $vars['id'] = $router->parseId($value); break; case "email": $vars['email'] = $value; break; case "date_start": $vars['date_start'] = $value; break; case "date_end": $vars['date_end'] = $value; break; case "listing": $vars['lt'] = $router->parseListingFor($value); break; case "sort": $vars['sort'] = $value; break; case "sortby": $vars['sortby'] = $value; break; case "tmpl": $vars['tmpl'] = $value; break; case "print": $vars['print'] = $value; break; case "file": $vars['name'] = $value; break; } } $i++; } if(isset( $_SESSION['JSItemid'] )) { $vars['Itemid'] = $_SESSION['JSItemid']; } return $vars; } } class JSSupportTicketOldRouter { function buildLayout($layout, $controller) { $returnvalue = ""; //echo '<br> layout ='.$layout; //echo '<br> controller ='.$controller; switch ($layout) { case "announcements":$returnvalue = "staffannouncements";break; case "formannouncement":$returnvalue = "addannouncement";break; case "userannouncementdetail":$returnvalue = "announcement";break; case "userannouncements":$returnvalue = "announcements";break; case "departments":$returnvalue = "staffdepartments";break; case "formdepartment":$returnvalue = "adddepartment";break; case "downloads":$returnvalue = "staffdownloads";break; case "formdownload":$returnvalue = "adddownload";break; case "userdownloads":$returnvalue = "downloads";break; case "faqs":$returnvalue = "stafffaqs";break; case "formfaq":$returnvalue = "addfaq";break; case "userfaqs":$returnvalue = "faqs";break; case "userfaqdetail":$returnvalue = "faq";break; case "controlpanel":$returnvalue = "controlpanel";break; case "articles":$returnvalue = "staffarticles";break; case "categories":$returnvalue = "staffcategories";break; case "formarticle":$returnvalue = "addarticle";break; case "formcategory":$returnvalue = "addcategory";break; case "userarticles":$returnvalue = "articles";break; case "userarticlesdetails":$returnvalue = "article";break; case "usercatarticledetails":$returnvalue = "article";break; case "usercatarticles":$returnvalue = "categories";break; case "formmessage":$returnvalue = "sendmessage";break; case "inbox":$returnvalue = "inbox";break; case "message":$returnvalue = "message";break; case "outbox":$returnvalue = "outbox";break; case "rolepermissions":$returnvalue = "rolepermissions";break; case "formrole":$returnvalue = "addrole";break; case "roles":$returnvalue = "roles";break; case "formstaff":$returnvalue = "addstaff";break; case "staff":$returnvalue = "staffs";break; case "staffprofile":$returnvalue = "profile";break; case "users":$returnvalue = "users";break; case "formticket": $returnvalue = "addticket"; break; case "mytickets": $returnvalue = "mytickets"; break; case "myticketsstaff": $returnvalue = "staffmytickets"; break; case "ticketstatus": $returnvalue = "status"; break; case "ticketdetail": $returnvalue = "viewticket"; break; case "print_ticket": $returnvalue = "printticket"; break; case "userpermissions": $returnvalue = "userpermissions"; break; case "staffreports": $returnvalue = "staffreports"; break; case "staffdetailreport": $returnvalue = "staffdetailreport"; break; case "departmentreports": $returnvalue = "departmentreports"; break; case "feedbacks": $returnvalue = "feedbacks"; break; case "formfeedback": $returnvalue = "addfeedback"; break; case "visitorsuccessmessage": $returnvalue = "visitorsuccessmessage"; break; case "adderasedatarequest": $returnvalue = "datacomplianceactions"; break; } return $returnvalue; } function parseLayout($value) { // $returnvalue = ""; switch ($value) { case "staffannouncements":$returnvalue["layout"] = "announcements"; $returnvalue["controller"] = "announcements"; break; case "addannouncement":$returnvalue["layout"] = "formannouncement";$returnvalue["controller"] = "announcements"; break; case "announcement":$returnvalue["layout"] = "userannouncementdetail";$returnvalue["controller"] = "announcements"; break; case "announcements":$returnvalue["layout"] = "userannouncements";$returnvalue["controller"] = "announcements"; break; case "staffdepartments":$returnvalue["layout"] = "departments";$returnvalue["controller"] = "department"; break; case "adddepartment":$returnvalue["layout"] = "formdepartment";$returnvalue["controller"] = "department"; break; case "staffdownloads":$returnvalue["layout"] = "downloads";$returnvalue["controller"] = "downloads"; break; case "adddownload":$returnvalue["layout"] = "formdownload";$returnvalue["controller"] = "downloads"; break; case "downloads":$returnvalue["layout"] = "userdownloads";$returnvalue["controller"] = "downloads"; break; case "stafffaqs":$returnvalue["layout"] = "faqs";$returnvalue["controller"] = "faqs"; break; case "addfaq":$returnvalue["layout"] = "formfaq";$returnvalue["controller"] = "faqs"; break; case "faqs":$returnvalue["layout"] = "userfaqs";$returnvalue["controller"] = "faqs"; break; case "faq":$returnvalue["layout"] = "userfaqdetail";$returnvalue["controller"] = "faqs"; break; case "controlpanel":$returnvalue["layout"] = "controlpanel";$returnvalue["controller"] = "jssupportticket"; break; case "staffarticles":$returnvalue["layout"] = "articles";$returnvalue["controller"] = "knowledgebase"; break; case "staffcategories":$returnvalue["layout"] = "categories";$returnvalue["controller"] = "knowledgebase"; break; case "addarticle":$returnvalue["layout"] = "formarticle";$returnvalue["controller"] = "knowledgebase"; break; case "addcategory":$returnvalue["layout"] = "formcategory";$returnvalue["controller"] = "knowledgebase"; break; case "articles":$returnvalue["layout"] = "userarticles";$returnvalue["controller"] = "knowledgebase"; break; case "article":$returnvalue["layout"] = "usercatarticledetails";$returnvalue["controller"] = "knowledgebase"; break; case "categories":$returnvalue["layout"] = "usercatarticles";$returnvalue["controller"] = "knowledgebase"; break; case "sendmessage":$returnvalue["layout"] = "formmessage";$returnvalue["controller"] = "mail"; break; case "inbox":$returnvalue["layout"] = "inbox";$returnvalue["controller"] = "mail"; break; case "message":$returnvalue["layout"] = "message";$returnvalue["controller"] = "mail"; break; case "outbox":$returnvalue["layout"] = "outbox";$returnvalue["controller"] = "mail"; break; case "rolepermissions":$returnvalue["layout"] = "rolepermissions";$returnvalue["controller"] = "rolepermissions"; break; case "addrole":$returnvalue["layout"] = "formrole";$returnvalue["controller"] = "roles"; break; case "roles":$returnvalue["layout"] = "roles";$returnvalue["controller"] = "roles"; break; case "addstaff":$returnvalue["layout"] = "formstaff";$returnvalue["controller"] = "staff"; break; case "staffs":$returnvalue["layout"] = "staff";$returnvalue["controller"] = "staff"; break; case "profile":$returnvalue["layout"] = "staffprofile";$returnvalue["controller"] = "staff"; break; case "users":$returnvalue["layout"] = "users";$returnvalue["controller"] = "staff"; break; case "addticket": $returnvalue["layout"] = "formticket";$returnvalue["controller"] = "ticket"; break; case "mytickets": $returnvalue["layout"] = "mytickets";$returnvalue["controller"] = "ticket"; break; case "staffmytickets": $returnvalue["layout"] = "myticketsstaff";$returnvalue["controller"] = "ticket"; break; case "status": $returnvalue["layout"] = "ticketstatus";$returnvalue["controller"] = "ticket"; break; case "viewticket": $returnvalue["layout"] = "ticketdetail";$returnvalue["controller"] = "ticket"; break; case "printticket": $returnvalue["layout"] = "print_ticket";$returnvalue["controller"] = "ticket"; break; case "userpermissions": $returnvalue["layout"] = "userpermissions";$returnvalue["controller"] = "userpermissions"; break; case "staffreports": $returnvalue["layout"] = "staffreports";$returnvalue["controller"] = "reports"; break; case "staffdetailreport": $returnvalue["layout"] = "staffdetailreport";$returnvalue["controller"] = "reports"; break; case "departmentreports": $returnvalue["layout"] = "departmentreports";$returnvalue["controller"] = "reports"; break; case "feedbacks": $returnvalue["layout"] = "feedbacks";$returnvalue["controller"] = "feedback"; break; case "addfeedback": $returnvalue["layout"] = "formfeedback";$returnvalue["controller"] = "feedback"; break; case "visitorsuccessmessage": $returnvalue["layout"] = "visitorsuccessmessage";$returnvalue["controller"] = "ticket"; break; case "datacomplianceactions": $returnvalue["layout"] = "adderasedatarequest"; $returnvalue["controller"] = "gdpr"; break; } if (isset($returnvalue)) return $returnvalue; } function parseTask($value) { // $returnvalue = ""; switch ($value) { case "tk-downloadbyname":$returnvalue["controller"] = "ticket"; $returnvalue["task"] = "downloadbyname"; break; case "tk:downloadbyname":$returnvalue["controller"] = "ticket"; $returnvalue["task"] = "downloadbyname"; break; case "tk-getdownloadbyid":$returnvalue["controller"] = "ticket"; $returnvalue["task"] = "getdownloadbyid"; break; case "tk:getdownloadbyid":$returnvalue["controller"] = "ticket"; $returnvalue["task"] = "getdownloadbyid"; break; case "tk-downloadall":$returnvalue["controller"] = "ticket"; $returnvalue["task"] = "downloadall"; break; case "tk:downloadall":$returnvalue["controller"] = "ticket"; $returnvalue["task"] = "downloadall"; break; case "tk-downloadallforreply":$returnvalue["controller"] = "ticket"; $returnvalue["task"] = "downloadallforreply"; break; case "tk:downloadallforreply":$returnvalue["controller"] = "ticket"; $returnvalue["task"] = "downloadallforreply"; break; case "tk-getdownloadbyid-note":$returnvalue["controller"] = "note"; $returnvalue["task"] = "getdownloadbyid"; break; case "tk:getdownloadbyid-note":$returnvalue["controller"] = "note"; $returnvalue["task"] = "getdownloadbyid"; break; case "tk-getdownloadbyid-knowledgebase":$returnvalue["controller"] = "knowledgebase"; $returnvalue["task"] = "getdownloadbyid"; break; case "tk:getdownloadbyid-knowledgebase":$returnvalue["controller"] = "knowledgebase"; $returnvalue["task"] = "getdownloadbyid"; break; case "tk-getdownloadbyid-downloads":$returnvalue["controller"] = "downloads"; $returnvalue["task"] = "getdownloadbyid"; break; case "tk:getdownloadbyid-downloads":$returnvalue["controller"] = "downloads"; $returnvalue["task"] = "getdownloadbyid"; break; case "tk-downloadall-downloads":$returnvalue["controller"] = "downloads"; $returnvalue["task"] = "downloadall"; break; case "tk:downloadall-downloads":$returnvalue["controller"] = "downloads"; $returnvalue["task"] = "downloadall"; break; case "tk-deleteattachmentbyid-downloads":$returnvalue["controller"] = "downloads"; $returnvalue["task"] = "deleteattachmentbyid"; break; case "tk:deleteattachmentbyid-downloads":$returnvalue["controller"] = "downloads"; $returnvalue["task"] = "deleteattachmentbyid"; break; case "tk-deleteattachmentbyid-knowledgebase":$returnvalue["controller"] = "knowledgebase"; $returnvalue["task"] = "deleteattachmentbyid"; break; case "tk:deleteattachmentbyid-knowledgebase":$returnvalue["controller"] = "knowledgebase"; $returnvalue["task"] = "deleteattachmentbyid"; break; case "tk-removeusereraserequest-gdpr":$returnvalue["controller"] = "gdpr"; $returnvalue["task"] = "removeusereraserequest"; break; case "tk:removeusereraserequest-gdpr":$returnvalue["controller"] = "gdpr"; $returnvalue["task"] = "removeusereraserequest"; break; case "tk-exportusereraserequest-gdpr":$returnvalue["controller"] = "gdpr"; $returnvalue["task"] = "exportusereraserequest"; break; case "tk:exportusereraserequest-gdpr":$returnvalue["controller"] = "gdpr"; $returnvalue["task"] = "exportusereraserequest"; break; case "tk-logout-jssupportticket":$returnvalue["controller"] = "jssupportticket"; $returnvalue["task"] = "logout"; break; case "tk:logout-jssupportticket":$returnvalue["controller"] = "jssupportticket"; $returnvalue["task"] = "logout"; break; case "tk-deleteticket":$returnvalue["controller"] = "ticket"; $returnvalue["task"] = "deleteticket"; break; } if (isset($returnvalue)) return $returnvalue; } function buildListingFor($value){ $returnvalue = ''; switch ($value) { case '1':$returnvalue = 'open';break; case '2':$returnvalue = 'answered';break; case '3':$returnvalue = 'overdue';break; case '4':$returnvalue = 'closed';break; case '5':$returnvalue = 'all';break; } return $returnvalue; } function parseListingFor($value){ $returnvalue = ''; switch ($value) { case 'open':$returnvalue = '1';break; case 'answered':$returnvalue = '2';break; case 'overdue':$returnvalue = '3';break; case 'closed':$returnvalue = '4';break; case 'all':$returnvalue = '5';break; } return $returnvalue; } function getFaqTitleById($id){ if(!is_numeric($id)) return false; $db = JFactory::getDbo(); $query = "SELECT subject FROM `#__js_ticket_faqs` WHERE id=$id"; $db->setQuery($query); $name = $db->loadResult(); return $this->clean($name); } function getAnnouncementTitleById($id){ if(!is_numeric($id)) return false; $db = JFactory::getDbo(); $query = "SELECT title FROM `#__js_ticket_announcements` WHERE id=$id"; $db->setQuery($query); $name = $db->loadResult(); return $this->clean($name); } function getArticleTitleById($id){ if(!is_numeric($id)) return false; $db = JFactory::getDbo(); $query = "SELECT subject FROM `#__js_ticket_articles` WHERE id=$id"; $db->setQuery($query); $name = $db->loadResult(); return $this->clean($name); } function parseId($value) { $id = explode("-", $value); $count = count($id); $id = (int) $id[($count - 1)]; return $id; } function clean($string) { // $string = strtolower($string); $string = strip_tags($string, ""); //Strip any unwanted characters // $string = preg_replace("/[^a-z0-9_\s-]/", "", $string); $string = preg_replace("/[@!*%^(){}?&$\\\\#\\/]+/", "", $string); //Clean multiple dashes or whitespaces $string = preg_replace("/[\s-]+/", " ", $string); //Convert whitespaces and underscore to dash $string = preg_replace("/[\s_]/", "-", $string); return $string; } }
| ver. 1.1 | |
.
| PHP 8.4.18 | Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраницы: 0 |
proxy
|
phpinfo
|
ÐаÑтройка