diff --git a/framework/base/router.class.php b/framework/base/router.class.php index 56b6690cb5..9db231e3f4 100644 --- a/framework/base/router.class.php +++ b/framework/base/router.class.php @@ -996,7 +996,14 @@ class baseRouter if($writable) { $ztSessionHandler = new ztSessionHandler($_GET['tid']); - session_set_save_handler($ztSessionHandler, true); + session_set_save_handler( + array($ztSessionHandler, "open"), + array($ztSessionHandler, "close"), + array($ztSessionHandler, "read"), + array($ztSessionHandler, "write"), + array($ztSessionHandler, "destroy"), + array($ztSessionHandler, "gc") + ); } } @@ -3140,7 +3147,7 @@ class EndResponseException extends \Exception * * @package framework */ -class ztSessionHandler implements SessionHandlerInterface +class ztSessionHandler { public $sessSavePath; public $tagID; @@ -3160,6 +3167,7 @@ class ztSessionHandler implements SessionHandlerInterface { $this->tagID = $tagID; ini_set('session.save_handler', 'files'); + register_shutdown_function('session_write_close'); } /** diff --git a/module/action/model.php b/module/action/model.php index d626791567..df39540510 100755 --- a/module/action/model.php +++ b/module/action/model.php @@ -575,7 +575,7 @@ class actionModel extends model if($history->field == 'git') $history->diff = str_replace('+', '%2B', $history->diff); } } - elseif($actionName == 'linkstory' or $actionName == 'unlinkstory') + elseif(strpos('linkstory,unlinkstory,createchildrenstory', $actionName) !== false) { $extra = ''; foreach(explode(',', $action->extra) as $id) $extra .= common::hasPriv('story', 'view') ? html::a(helper::createLink('story', 'view', "storyID=$id"), "#$id ") . ', ' : "#$id, "; diff --git a/module/bug/control.php b/module/bug/control.php index 99dd327aaa..14adcf78a4 100755 --- a/module/bug/control.php +++ b/module/bug/control.php @@ -1158,6 +1158,7 @@ class bug extends control $branch = $product->type == 'branch' ? ($bug->branch > 0 ? $bug->branch . ',0' : '0') : ''; $productBugs = $this->bug->getProductBugPairs($productID, $branch); + unset($productBugs[$bugID]); $this->view->bug = $bug; $this->view->productID = $productID; @@ -1814,6 +1815,7 @@ class bug extends control $product = $this->loadModel('product')->getById($productID); $branch = $product->type == 'branch' ? ($bug->branch > 0 ? $bug->branch . ',0' : '0') : ''; $productBugs = $this->bug->getProductBugPairs($productID, $branch); + unset($productBugs[$bugID]); $this->bug->checkBugExecutionPriv($bug); $this->qa->setMenu($this->products, $productID, $bug->branch); diff --git a/module/bug/view/batchedit.html.php b/module/bug/view/batchedit.html.php index f1e9c9c348..89d343479d 100644 --- a/module/bug/view/batchedit.html.php +++ b/module/bug/view/batchedit.html.php @@ -143,7 +143,11 @@