Advertisement
Stambro

include/client/header.inc.php

Apr 28th, 2023
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 13.88 KB | Source Code | 0 0
  1. <?php
  2. $title=($cfg && is_object($cfg) && $cfg->getTitle())
  3.     ? $cfg->getTitle() : 'osTicket :: '.__('Support Ticket System');
  4. $signin_url = ROOT_PATH . "login.php"
  5.     . ($thisclient ? "?e=".urlencode($thisclient->getEmail()) : "");
  6. $signout_url = ROOT_PATH . "logout.php?auth=".$ost->getLinkToken();
  7.  
  8. header("Content-Type: text/html; charset=UTF-8");
  9. header("Content-Security-Policy: frame-ancestors ".$cfg->getAllowIframes().";");
  10.  
  11. if (($lang = Internationalization::getCurrentLanguage())) {
  12.     $langs = array_unique(array($lang, $cfg->getPrimaryLanguage()));
  13.     $langs = Internationalization::rfc1766($langs);
  14.     header("Content-Language: ".implode(', ', $langs));
  15. }
  16. // osta
  17. require_once $_SERVER['DOCUMENT_ROOT'] . ROOT_PATH . "/osta/php/functions.php";
  18. $opt = get_config();
  19. ?>
  20. <!DOCTYPE html>
  21. <html<?php
  22. if ($lang
  23.         && ($info = Internationalization::getLanguageInfo($lang))
  24.         && (@$info['direction'] == 'rtl'))
  25.     echo ' dir="rtl" class="rtl"';
  26. if ($lang) {
  27.     echo ' lang="' . $lang . '"';
  28. }
  29.  
  30. // Dropped IE Support Warning
  31. if (osTicket::is_ie())
  32.     $ost->setWarning(__('osTicket no longer supports Internet Explorer.'));
  33. ?>>
  34. <head>
  35.     <!-- Powered by osTicket -->
  36.     <!-- Supercharged by osTicket Awesome -->
  37.     <meta charset="utf-8">
  38.     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  39.     <title><?php echo Format::htmlchars($title); ?></title>
  40.     <meta name="description" content="customer support platform">
  41.     <meta name="keywords" content="osTicket, Customer support system, support ticket system">
  42.     <meta name="viewport" content="width=device-width, initial-scale=1">
  43.     <link rel="stylesheet" href="<?php echo ROOT_PATH; ?>css/osticket.css?ca95150" media="screen"/>
  44.     <link rel="stylesheet" href="<?php echo ASSETS_PATH; ?>css/theme.css?ca95150" media="screen"/>
  45.     <link rel="stylesheet" href="<?php echo ASSETS_PATH; ?>css/print.css?ca95150" media="print"/>
  46.     <link rel="stylesheet" href="<?php echo ROOT_PATH; ?>scp/css/typeahead.css?ca95150"
  47.          media="screen" />
  48.     <link type="text/css" href="<?php echo ROOT_PATH; ?>css/ui-lightness/jquery-ui-1.13.2.custom.min.css?ca95150"
  49.         rel="stylesheet" media="screen" />
  50.     <link rel="stylesheet" href="<?php echo ROOT_PATH ?>css/jquery-ui-timepicker-addon.css?ca95150" media="all"/>
  51.     <link rel="stylesheet" href="<?php echo ROOT_PATH; ?>css/thread.css?ca95150" media="screen"/>
  52.     <link rel="stylesheet" href="<?php echo ROOT_PATH; ?>css/redactor.css?ca95150" media="screen"/>
  53.     <link type="text/css" rel="stylesheet" href="<?php echo ROOT_PATH; ?>css/font-awesome.min.css?ca95150"/>
  54.     <link type="text/css" rel="stylesheet" href="<?php echo ROOT_PATH; ?>css/flags.css?ca95150"/>
  55.     <link type="text/css" rel="stylesheet" href="<?php echo ROOT_PATH; ?>css/rtl.css?ca95150"/>
  56.     <link type="text/css" rel="stylesheet" href="<?php echo ROOT_PATH; ?>css/select2.min.css?ca95150"/>
  57.     <!--osta-->
  58.     <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/jquery-3.6.3.min.js?ca95150"></script>
  59.     <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/jquery-ui-1.13.2.custom.min.js?ca95150"></script>
  60.     <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/jquery-ui-timepicker-addon.js?ca95150"></script>
  61.     <script src="<?php echo ROOT_PATH; ?>js/osticket.js?ca95150"></script>
  62.     <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/filedrop.field.js?ca95150"></script>
  63.     <script src="<?php echo ROOT_PATH; ?>scp/js/bootstrap-typeahead.js?ca95150"></script>
  64.     <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/redactor.min.js?ca95150"></script>
  65.     <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/redactor-plugins.js?ca95150"></script>
  66.     <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/redactor-osticket.js?ca95150"></script>
  67.     <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/select2.min.js?ca95150"></script>
  68.     <?php
  69.     if($ost && ($headers=$ost->getExtraHeaders())) {
  70.         echo "\n\t".implode("\n\t", $headers)."\n";
  71.     }
  72.  
  73.     // Offer alternate links for search engines
  74.     // @see https://support.google.com/webmasters/answer/189077?hl=en
  75.     if (($all_langs = Internationalization::getConfiguredSystemLanguages())
  76.         && (count($all_langs) > 1)
  77.     ) {
  78.         $langs = Internationalization::rfc1766(array_keys($all_langs));
  79.         $qs = array();
  80.         parse_str($_SERVER['QUERY_STRING'], $qs);
  81.         foreach ($langs as $L) {
  82.             $qs['lang'] = $L; ?>
  83.         <link rel="alternate" href="//<?php echo $_SERVER['HTTP_HOST'] . htmlspecialchars($_SERVER['REQUEST_URI']); ?>?<?php
  84.             echo http_build_query($qs); ?>" hreflang="<?php echo $L; ?>" />
  85. <?php
  86.         } ?>
  87.         <link rel="alternate" href="//<?php echo $_SERVER['HTTP_HOST'] . htmlspecialchars($_SERVER['REQUEST_URI']); ?>"
  88.             hreflang="x-default" />
  89. <?php
  90.     }
  91.     ?>
  92. <!--osta-->
  93. <?php include ROOT_DIR . 'osta/inc/client-head.html'; ?>    
  94. </head>
  95. <!--osta-->
  96. <body class="client-side <?php $phpSelf = filter_input(INPUT_SERVER, 'PHP_SELF', FILTER_SANITIZE_URL); echo basename(substr($phpSelf, 0, strpos($phpSelf, '.php')));   ?>-page">
  97.     <div id="container">
  98.         <?php
  99.         if($ost->getError())
  100.             echo sprintf('<div class="error_bar">%s</div>', $ost->getError());
  101.         elseif($ost->getWarning())
  102.             echo sprintf('<div class="warning_bar">%s</div>', $ost->getWarning());
  103.         elseif($ost->getNotice())
  104.             echo sprintf('<div class="notice_bar">%s</div>', $ost->getNotice());
  105.         ?>
  106.         <div id="header">
  107.                 <!--osta-->
  108.             <div id="header-inner">
  109.  
  110.                 <div class="pull-right flush-right">
  111.                 <p>
  112.                  <?php
  113.                     if ($thisclient && is_object($thisclient) && $thisclient->isValid()
  114.                         && !$thisclient->isGuest()) { ?>
  115.                      <?php echo Format::htmlchars($thisclient->getName()).'&nbsp;';
  116.                      ?>
  117.                     <a href="<?php echo ROOT_PATH; ?>profile.php"><?php echo __('Profile'); ?></a>
  118.                     <a href="<?php echo ROOT_PATH; ?>tickets.php"><?php echo sprintf(__('Tickets <b>(%d)</b>'), $thisclient->getNumTickets()); ?></a>
  119.                     <a href="<?php echo $signout_url; ?>"><?php echo __('Sign Out'); ?></a>
  120.                 <?php
  121.                 } elseif($nav) {
  122.                     if ($cfg->getClientRegistrationMode() == 'public') { ?>
  123.                                                 <!--osta-->
  124.                         <?php echo __('Sign In').','; ?>
  125.                         <?php echo __('Guest User'); ?> <?php
  126.                     }
  127.                     if ($thisclient && $thisclient->isValid() && $thisclient->isGuest()) { ?>
  128.                         <a href="<?php echo $signout_url; ?>"><?php echo __('Sign Out'); ?></a><?php
  129.                     }
  130.                     elseif ($cfg->getClientRegistrationMode() != 'disabled') { ?>
  131.                         <a href="<?php echo $signin_url; ?>"><?php echo __('Sign In'); ?></a>
  132.     <?php
  133.                     }
  134.                 } ?>
  135.                 </p>
  136.  
  137.                 </div>
  138.        
  139.         <a id="header-logo" href="<?php echo ROOT_PATH; ?>">
  140.         <div id="left-logo">
  141.        
  142.         <?php
  143.             require_once $_SERVER['DOCUMENT_ROOT'] . ROOT_PATH . "/osta/php/functions.php";
  144.  
  145.             $custom = get_config() ;
  146.         ?>     
  147.        
  148.             <div id="header-text">
  149.                 <div id="header-title">
  150.                     <?php echo $custom["title"]; ?>  
  151.                 </div>
  152.                 <div id="header-subtitle">
  153.                     <?php echo $custom["subtitle"]; ?>      
  154.                 </div>
  155.             </div>     
  156.            
  157.             <div id="header-image">
  158.                 <img src="<?php echo get_logo( $opt, "staff" )?>?<?php echo strtotime($cfg->lastModified('staff_logo_id')); ?>" alt="osTicket &mdash; <?php echo __('Customer Support System'); ?>"/>
  159.             </div> 
  160.  
  161.             <div id="header-default">
  162.                 <?php              
  163.                 $file_name = ROOT_DIR ."osta/inc/default-logo.html";
  164.                 echo file_get_contents($file_name);
  165.                 ?>
  166.             </div>         
  167.            
  168.         </div>
  169.         </a>       
  170.                
  171.                
  172.                 <div id="right-menu" href="#right-menu">
  173.                     <button href="#right-menu" class="c-hamburger c-hamburger--htx" style="">
  174.                         <span>toggle menu</span>
  175.                     </button>
  176.                     <script>
  177.                         $(document).ready(function() {
  178.  
  179.                             "use strict";
  180.  
  181.                             var toggles = document.querySelectorAll(".c-hamburger");
  182.  
  183.                             for (var i = toggles.length - 1; i >= 0; i--) {
  184.                                 var toggle = toggles[i];
  185.                                 toggleHandler(toggle);
  186.                             };
  187.  
  188.                             function toggleHandler(toggle) {
  189.                                 toggle.addEventListener( "click", function(e) {
  190.                                     e.preventDefault();
  191.                                     (this.classList.contains("is-active") === true) ? this.classList.remove("is-active") : this.classList.add("is-active");
  192.                                 });
  193.                                 toggle.addEventListener( "touchstart", function(e) {
  194.                                     e.preventDefault();
  195.                                     (this.classList.contains("is-active") === true) ? this.classList.remove("is-active") : this.classList.add("is-active");
  196.                                 });  
  197.                             }
  198.  
  199.                             $('.c-hamburger').sidr({
  200.                                 name: 'sidr-right',
  201.                                 side: 'right',
  202.                                 body: '#content',
  203.                                 displace: false
  204.                             });
  205.                         });
  206.                     </script>
  207.                 </div>
  208.             </div>     
  209.             <div id="sidr-right" class="sidr right">
  210.                 <div class="sidr-inner">
  211.  
  212.                     <ul id="nav-mobile" class="flush-left">
  213.                         <li><a href="<?php echo ROOT_PATH; ?>"><?php echo __('Support Center Home'); ?></a></li>
  214.                  <?php
  215.                         if($cfg && $cfg->isKnowledgebaseEnabled())  { ?>
  216.                         <li><a class="active kb" href="<?php echo ROOT_PATH; ?>kb/index.php"><?php echo __('Knowledgebase') ?></a></li>
  217.                  <?php } ?>
  218.                         <li><a href="<?php echo ROOT_PATH; ?>open.php"><?php echo __('Open a New Ticket'); ?></a></li>
  219.                         <li><a href="<?php echo ROOT_PATH; ?>view.php"><?php echo __('Check Ticket Status'); ?></a></li>   
  220.                  <?php
  221.                         if ($thisclient && is_object($thisclient) && $thisclient->isValid()
  222.                             && !$thisclient->isGuest()) {
  223.                         echo '<div id="welcome"><svg style="width:18px;height:18px" viewBox="0 0 24 24"><path d="M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,14C16.42,14 20,15.79 20,18V20H4V18C4,15.79 7.58,14 12,14Z" /></svg>&nbsp;'.Format::htmlchars($thisclient->getName()).'</div>';
  224.                          ?>
  225.                         <li><a href="<?php echo ROOT_PATH; ?>profile.php"><?php echo __('Profile'); ?></a></li>
  226.                         <li><a href="<?php echo ROOT_PATH; ?>tickets.php"><?php echo sprintf(__('Tickets (%d)'), $thisclient->getNumTickets()); ?></a></li>
  227.                         <li><a href="<?php echo $signout_url; ?>"><?php echo __('Sign Out'); ?></a></li>
  228.                 <?php
  229.                 } elseif($nav) {
  230.                     if ($cfg->getClientRegistrationMode() == 'public') { ?>
  231.                         <div id="welcome"><svg style="width:18px;height:18px" viewBox="0 0 24 24"><path d="M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,14C16.42,14 20,15.79 20,18V20H4V18C4,15.79 7.58,14 12,14Z" /></svg>&nbsp;<?php echo __('Guest User'); ?></div>  <?php
  232.                     }
  233.                     if ($thisclient && $thisclient->isValid() && $thisclient->isGuest()) { ?>
  234.                         <li><a href="<?php echo $signout_url; ?>"><?php echo __('Sign Out'); ?></a></li><?php
  235.                     }
  236.                     elseif ($cfg->getClientRegistrationMode() != 'disabled') { ?>
  237.                         <li><a href="<?php echo $signin_url; ?>"><?php echo __('Sign In'); ?></a></li>
  238.                        
  239.                        
  240.                 <div id="flags-mobile">
  241.                     <?php
  242.                     if (($all_langs = Internationalization::getConfiguredSystemLanguages())
  243.                         && (count($all_langs) > 1)
  244.                     ) {
  245.                         $qs = array();
  246.                         parse_str($_SERVER['QUERY_STRING'], $qs);
  247.                         foreach ($all_langs as $code=>$info) {
  248.                             list($lang, $locale) = explode('_', $code);
  249.                             $qs['lang'] = $code;
  250.                     ?>
  251.                             <a class="flag flag-<?php echo strtolower($locale ?: $info['flag'] ?: $lang); ?>"
  252.                                 href="?<?php echo http_build_query($qs);
  253.                                 ?>" title="<?php echo Internationalization::getLanguageDescription($code); ?>">&nbsp;</a>
  254.                     <?php }
  255.                     } ?>
  256.                 </div>                 
  257.                            
  258.                        
  259.                 <?php
  260.                     }
  261.                 } ?>
  262.                         <li id="contact-id">
  263.                             <a href="
  264.                                 <?php echo $custom["mobile-link"]; ?>  
  265.                             ">
  266.                                 <?php echo $custom["mobile-text"]; ?>  
  267.                             </a>
  268.                         </li>
  269.                     </ul>
  270.  
  271.                 </div>
  272.             </div>             
  273.                
  274.  
  275.             </div>    
  276.         </div>
  277.         <div class="clear"></div>
  278.         <?php
  279.         if($nav){ ?>
  280.        <div id="nav-wrapper">
  281.             <div id="nav-inner">
  282.  
  283.                 <ul id="nav" class="flush-left">
  284.                     <?php
  285.                     if($nav && ($navs=$nav->getNavLinks()) && is_array($navs)){
  286.                         foreach($navs as $name =>$nav) {
  287.                             echo sprintf('<li><a class="%s %s" href="%s">%s</a></li>%s',$nav['active']?'active':'',$name,(ROOT_PATH.$nav['href']),$nav['desc'],"\n");
  288.                         }
  289.                     } ?>
  290.                 </ul>
  291.        
  292. <div id="lang-wrapper">        
  293. <div class="button-container">
  294.     <div class="button-text-container shrink" style="width:?">
  295.                 <div id="flags">
  296.                     <?php
  297.                     if (($all_langs = Internationalization::getConfiguredSystemLanguages())
  298.                         && (count($all_langs) > 1)
  299.                     ) {
  300.                         $qs = array();
  301.                         parse_str($_SERVER['QUERY_STRING'], $qs);
  302.                         foreach ($all_langs as $code=>$info) {
  303.                             list($lang, $locale) = explode('_', $code);
  304.                             $qs['lang'] = $code;
  305.                     ?>
  306.                             <a class="flag flag-<?php echo strtolower($locale ?: $info['flag'] ?: $lang); ?>"
  307.                                 href="?<?php echo http_build_query($qs);
  308.                                 ?>" title="<?php echo Internationalization::getLanguageDescription($code); ?>">&nbsp;</a>
  309.                     <?php }
  310.                     } ?>
  311.                 </div>
  312.     </div>
  313.     <div class="button-icon-container" id="myButton">
  314.         <svg style="width:24px;height:24px" viewBox="0 0 24 24">
  315.             <path fill="#ffffff" d="M5.59,7.41L7,6L13,12L7,18L5.59,16.59L10.17,12L5.59,7.41M11.59,7.41L13,6L19,12L13,18L11.59,16.59L16.17,12L11.59,7.41Z" />
  316.         </svg>
  317.     </div>
  318. </div>
  319. </div> 
  320.                
  321.                
  322.                 <div id="language-select">
  323.                 </div>
  324.             </div>
  325.         </div>
  326.         <?php
  327.         }else{ ?>
  328.          <hr>
  329.         <?php
  330.         } ?>
  331.         <div id="content">
  332.  
  333.          <?php if($errors['err']) { ?>
  334.             <div id="msg_error"><?php echo $errors['err']; ?></div>
  335.          <?php }elseif($msg) { ?>
  336.             <div id="msg_notice"><?php echo $msg; ?></div>
  337.          <?php }elseif($warn) { ?>
  338.             <div id="msg_warning"><?php echo $warn; ?></div>
  339.          <?php } ?>
  340.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement