From 381fc95fdb498cbc38aeef27fc11faa3687a36fb Mon Sep 17 00:00:00 2001 From: Jared Hancock <jared@osticket.com> Date: Wed, 23 Apr 2014 15:25:37 -0500 Subject: [PATCH] pjax: Use PJAX between sections This will simplify where PJAX needs to be disabled by simply including the navigation as part of the PJAX response. --- include/staff/footer.inc.php | 3 ++- include/staff/header.inc.php | 13 +++++++------ include/staff/templates/navigation.tmpl.php | 5 ++--- scp/tickets.php | 12 ------------ 4 files changed, 11 insertions(+), 22 deletions(-) diff --git a/include/staff/footer.inc.php b/include/staff/footer.inc.php index 3887138ad..fb434ffb0 100644 --- a/include/staff/footer.inc.php +++ b/include/staff/footer.inc.php @@ -13,6 +13,7 @@ if(is_object($thisstaff) && $thisstaff->isStaff()) { ?> <?php } ?> </div> +</div> <div id="overlay"></div> <div id="loading"> <i class="icon-spinner icon-spin icon-3x pull-left icon-light"></i> @@ -26,7 +27,7 @@ if ($.support.pjax) { $(document).on('click', 'a', function(event) { if (!$(this).hasClass('no-pjax') && !$(this).closest('.no-pjax').length) - $.pjax.click(event, {container: $('#content'), timeout: 2000}); + $.pjax.click(event, {container: $('#pjax-container'), timeout: 2000}); }) } </script> diff --git a/include/staff/header.inc.php b/include/staff/header.inc.php index 60df692fc..648bc13e2 100644 --- a/include/staff/header.inc.php +++ b/include/staff/header.inc.php @@ -52,7 +52,7 @@ echo sprintf('<div id="notice_bar">%s</div>', $ost->getNotice()); ?> <div id="header"> - <a href="index.php" id="logo">osTicket - Customer Support System</a> + <a href="index.php" class="no-pjax" id="logo">osTicket - Customer Support System</a> <p id="info">Welcome, <strong><?php echo $thisstaff->getFirstName(); ?></strong> <?php if($thisstaff->isAdmin() && !defined('ADMINPAGE')) { ?> @@ -64,6 +64,12 @@ | <a href="logout.php?auth=<?php echo $ost->getLinkToken(); ?>" class="no-pjax">Log Out</a> </p> </div> + <div id="pjax-container"> +<?php } elseif ($pjax = $ost->getExtraPjax()) { # endif X_PJAX ?> + <script type="text/javascript"> + <?php foreach (array_filter($pjax) as $s) echo $s.";"; ?> + </script> +<?php } # endif X_PJAX ?> <ul id="nav"> <?php include STAFFINC_DIR . "templates/navigation.tmpl.php"; ?> </ul> @@ -71,11 +77,6 @@ <?php include STAFFINC_DIR . "templates/sub-navigation.tmpl.php"; ?> </ul> <div id="content"> -<?php } elseif ($pjax = $ost->getExtraPjax()) { # endif X_PJAX ?> - <script type="text/javascript"> - <?php foreach (array_filter($pjax) as $s) echo $s.";"; ?> - </script> -<?php } # endif X_PJAX ?> <?php if($errors['err']) { ?> <div id="msg_error"><?php echo $errors['err']; ?></div> <?php }elseif($msg) { ?> diff --git a/include/staff/templates/navigation.tmpl.php b/include/staff/templates/navigation.tmpl.php index 66f5564c1..b28ec0526 100644 --- a/include/staff/templates/navigation.tmpl.php +++ b/include/staff/templates/navigation.tmpl.php @@ -1,7 +1,7 @@ <?php if(($tabs=$nav->getTabs()) && is_array($tabs)){ foreach($tabs as $name =>$tab) { - echo sprintf('<li class="%s"><a href="%s" class="no-pjax">%s</a>',$tab['active']?'active':'inactive',$tab['href'],$tab['desc']); + echo sprintf('<li class="%s"><a href="%s">%s</a>',$tab['active']?'active':'inactive',$tab['href'],$tab['desc']); if(!$tab['active'] && ($subnav=$nav->getSubMenu($name))){ echo "<ul>\n"; foreach($subnav as $k => $item) { @@ -9,9 +9,8 @@ if(($tabs=$nav->getTabs()) && is_array($tabs)){ $id="nav$k"; echo sprintf( - '<li><a class="%s %s" href="%s" title="%s" id="%s">%s</a></li>', + '<li><a class="%s" href="%s" title="%s" id="%s">%s</a></li>', $item['iconclass'], - $tab['active'] ? '' : 'no-pjax', $item['href'], $item['title'], $id, $item['desc']); } diff --git a/scp/tickets.php b/scp/tickets.php index ee3999e62..6e55a4938 100644 --- a/scp/tickets.php +++ b/scp/tickets.php @@ -626,15 +626,3 @@ $ost->addExtraHeader('<script type="text/javascript" src="js/ticket.js"></script require_once(STAFFINC_DIR.'header.inc.php'); require_once(STAFFINC_DIR.$inc); require_once(STAFFINC_DIR.'footer.inc.php'); - -if (isset($_SERVER['HTTP_X_PJAX'])) { - // Update the ticket queue counts in the navigation - ob_start(); - include STAFFINC_DIR . "templates/sub-navigation.tmpl.php"; - $nav_content = ob_get_clean(); -?> -<script type="text/javascript"> - $('#sub_nav').html(<?php echo JsonDataEncoder::encode($nav_content); ?>); -</script><?php -} -?> -- GitLab