summaryrefslogtreecommitdiff
path: root/modules_v3
diff options
context:
space:
mode:
authorfisharebest <fisharebest@gmail.com>2011-11-05 16:40:41 +0000
committerfisharebest <fisharebest@gmail.com>2011-11-05 16:40:41 +0000
commit485b3d703febd1730df926e4ca657ebc91a986cb (patch)
tree3947a519f73482c963a0c0e2546c26a1cbdf6ef7 /modules_v3
parent0572050b0fb899c5ac9256d8f4c75a638a77c2ee (diff)
downloadwebtrees-485b3d703febd1730df926e4ca657ebc91a986cb.tar.gz
webtrees-485b3d703febd1730df926e4ca657ebc91a986cb.tar.bz2
webtrees-485b3d703febd1730df926e4ca657ebc91a986cb.zip
Clippings cart - recent MVC changes caused the cart to be cleared after every page. This is because we now close the PHP session when we print the header.
Diffstat (limited to 'modules_v3')
-rw-r--r--modules_v3/clippings/clippings_ctrl.php28
-rw-r--r--modules_v3/clippings/index.php9
-rw-r--r--modules_v3/clippings/module.php26
3 files changed, 29 insertions, 34 deletions
diff --git a/modules_v3/clippings/clippings_ctrl.php b/modules_v3/clippings/clippings_ctrl.php
index 4f733b8249..037afaf91d 100644
--- a/modules_v3/clippings/clippings_ctrl.php
+++ b/modules_v3/clippings/clippings_ctrl.php
@@ -67,7 +67,7 @@ class WT_Controller_Clippings extends WT_Controller_Base {
var $level3; // number of levels of descendents
public function __construct() {
- global $SCRIPT_NAME, $MEDIA_DIRECTORY, $MEDIA_FIREWALL_ROOTDIR, $GEDCOM, $cart;
+ global $SCRIPT_NAME, $MEDIA_DIRECTORY, $MEDIA_FIREWALL_ROOTDIR, $GEDCOM;
parent::__construct();
@@ -89,7 +89,6 @@ class WT_Controller_Clippings extends WT_Controller_Base {
$this->level3 = safe_GET('level3', WT_REGEX_INTEGER, PHP_INT_MAX);
$others = safe_GET('others');
$item = safe_GET('item');
- if (!isset($cart)) $cart = $_SESSION['cart'];
$this->type = safe_GET('type');
$this->conv_path = stripLRMRLM($this->conv_path);
@@ -161,21 +160,20 @@ class WT_Controller_Clippings extends WT_Controller_Base {
}
} else
if ($this->action == 'remove') {
- $ct = count($cart);
+ $ct = count($_SESSION['cart']);
for ($i = $item +1; $i < $ct; $i++) {
- $cart[$i -1] = $cart[$i];
+ $_SESSION['cart'][$i -1] = $_SESSION['cart'][$i];
}
- unset ($cart[$ct -1]);
+ unset ($_SESSION['cart'][$ct -1]);
} else
if ($this->action == 'empty') {
- $cart = array ();
- $_SESSION["cart"] = $cart;
+ $_SESSION['cart'] = array();
} else
if ($this->action == 'download') {
- usort($cart, "same_group");
+ usort($_SESSION['cart'], "same_group");
$media = array ();
$mediacount = 0;
- $ct = count($cart);
+ $ct = count($_SESSION['cart']);
$filetext = gedcom_header(WT_GEDCOM);
// Include SUBM/SUBN records, if they exist
$subn=
@@ -213,7 +211,7 @@ class WT_Controller_Clippings extends WT_Controller_Base {
}
for ($i = 0; $i < $ct; $i++) {
- $clipping = $cart[$i];
+ $clipping = $_SESSION['cart'][$i];
if ($clipping['gedcom'] == WT_GEDCOM) {
$object=WT_GedcomRecord::getInstance($clipping['id']);
list($record)=$object->privatizeGedcom($access_level);
@@ -286,10 +284,10 @@ class WT_Controller_Clippings extends WT_Controller_Base {
}
public static function id_in_cart($id) {
- global $cart, $GEDCOM;
- $ct = count($cart);
+ global $GEDCOM;
+ $ct = count($_SESSION['cart']);
for ($i = 0; $i < $ct; $i++) {
- $temp = $cart[$i];
+ $temp = $_SESSION['cart'][$i];
if ($temp['id'] == $id && $temp['gedcom'] == $GEDCOM) {
return true;
}
@@ -355,7 +353,7 @@ class WT_Controller_Clippings extends WT_Controller_Base {
* @param
*/
function add_clipping($clipping) {
- global $cart, $GEDCOM;
+ global $GEDCOM;
if (!$clipping || !$clipping->canDisplayName()) {
return;
@@ -372,7 +370,7 @@ class WT_Controller_Clippings extends WT_Controller_Base {
$ged_id=get_id_from_gedcom($GEDCOM);
$gedrec=WT_GedcomRecord::getInstance($clipping['id']);
if ($gedrec->canDisplayName()) {
- $cart[] = $clipping;
+ $_SESSION['cart'][] = $clipping;
$this->addCount++;
} else {
$this->privCount++;
diff --git a/modules_v3/clippings/index.php b/modules_v3/clippings/index.php
index 2a9c8d2179..8efdafec98 100644
--- a/modules_v3/clippings/index.php
+++ b/modules_v3/clippings/index.php
@@ -30,7 +30,7 @@ if (!defined('WT_WEBTREES')) {
exit;
}
-global $ENABLE_AUTOCOMPLETE, $cart, $MAX_PEDIGREE_GENERATIONS, $TEXT_DIRECTION, $GEDCOM, $WT_IMAGES;
+global $ENABLE_AUTOCOMPLETE, $MAX_PEDIGREE_GENERATIONS, $TEXT_DIRECTION, $GEDCOM, $WT_IMAGES;
require_once WT_ROOT.WT_MODULES_DIR.'clippings/clippings_ctrl.php';
@@ -43,7 +43,7 @@ echo WT_JS_START;
echo 'function radAncestors(elementid) {var radFamilies=document.getElementById(elementid);radFamilies.checked=true;}';
echo WT_JS_END;
-if (count($cart)==0) { ?>
+if (count($_SESSION['cart'])==0) { ?>
<h2><?php echo WT_I18N::translate('Family Tree Clippings Cart'); ?></h2>
<?php }
@@ -105,7 +105,7 @@ if ($controller->action=='add') {
</form>
<?php }
}
-$ct = count($cart);
+$ct = count($_SESSION['cart']);
if ($controller->privCount>0) {
echo "<span class=\"error\">".WT_I18N::translate('Some items could not be added due to privacy restrictions')."</span><br /><br />";
@@ -277,7 +277,7 @@ if ($ct==0) {
</tr>
<?php
for ($i=0; $i<$ct; $i++) {
- $clipping = $cart[$i];
+ $clipping = $_SESSION['cart'][$i];
$tag = strtoupper(substr($clipping['type'], 0, 4)); // source => SOUR
//print_r($clipping);
//-- don't show clippings from other gedcoms
@@ -309,4 +309,3 @@ if ($ct==0) {
</td></tr></table>
<?php
}
-if (isset($_SESSION["cart"])) $_SESSION["cart"]=$cart;
diff --git a/modules_v3/clippings/module.php b/modules_v3/clippings/module.php
index 19b457bfaf..0266c44ebb 100644
--- a/modules_v3/clippings/module.php
+++ b/modules_v3/clippings/module.php
@@ -100,7 +100,7 @@ class clippings_WT_Module extends WT_Module implements WT_Module_Menu, WT_Module
public function getSidebarContent() {
require_once WT_ROOT.WT_MODULES_DIR.'clippings/clippings_ctrl.php';
- global $WT_IMAGES, $cart, $controller;
+ global $WT_IMAGES, $controller;
$out = '';
@@ -129,7 +129,7 @@ class clippings_WT_Module extends WT_Module implements WT_Module_Menu, WT_Module
public function getSidebarAjaxContent() {
require_once WT_ROOT.WT_MODULES_DIR.'clippings/clippings_ctrl.php';
- global $cart, $controller;
+ global $controller;
$controller = new WT_Controller_Clippings();
$add = safe_GET_xref('add','');
@@ -145,7 +145,6 @@ class clippings_WT_Module extends WT_Module implements WT_Module_Menu, WT_Module
$controller->id=$record->getXref();
$controller->type=$record->getType();
$ret = $controller->add_clipping($record);
- if (isset($_SESSION["cart"])) $_SESSION["cart"]=$cart;
if ($ret) return $this->askAddOptions($record);
}
} elseif (!empty($add1)) {
@@ -176,32 +175,32 @@ class clippings_WT_Module extends WT_Module implements WT_Module_Menu, WT_Module
}
}
else if ($remove!=-1) {
- $ct = count($cart);
+ $ct = count($_SESSION['cart']);
for ($i = $remove +1; $i < $ct; $i++) {
- $cart[$i -1] = $cart[$i];
+ $_SESSION['cart'][$i -1] = $_SESSION['cart'][$i];
}
- unset ($cart[$ct -1]);
+ unset ($_SESSION['cart'][$ct -1]);
}
else if (isset($_REQUEST['empty'])) {
- $cart = array ();
- $_SESSION["cart"] = $cart;
+ $_SESSION['cart'] = array ();
+ $_SESSION["cart"] = $_SESSION['cart'];
}
else if (isset($_REQUEST['download'])) {
return $this->downloadForm();
}
- if (isset($_SESSION["cart"])) $_SESSION["cart"]=$cart;
+ if (isset($_SESSION["cart"])) $_SESSION["cart"]=$_SESSION['cart'];
return $this->getCartList();
}
public function getCartList() {
- global $WT_IMAGES, $cart;
+ global $WT_IMAGES;
$out ='<ul>';
- $ct = count($cart);
+ $ct = count($_SESSION['cart']);
if ($ct==0) $out .= '<br /><br />'.WT_I18N::translate('Your Clippings Cart is empty.').'<br /><br />';
else {
for ($i=0; $i<$ct; $i++) {
- $clipping = $cart[$i];
+ $clipping = $_SESSION['cart'][$i];
$tag = strtoupper(substr($clipping['type'], 0, 4)); // source => SOUR
//print_r($clipping);
//-- don't show clippings from other gedcoms
@@ -236,7 +235,7 @@ class clippings_WT_Module extends WT_Module implements WT_Module_Menu, WT_Module
}
}
$out .= '</ul>';
- if (count($cart)>0) {
+ if (count($_SESSION['cart'])>0) {
$out .= '<a href="sidebar.php?sb_action=clippings&amp;empty=true" class="remove_cart">'.WT_I18N::translate('Empty Cart').'</a>'.help_link('empty_cart', $this->getName());
$out .= '<br /><a href="sidebar.php?sb_action=clippings&amp;download=true" class="add_cart">'.WT_I18N::translate('Download Now').'</a>';
}
@@ -315,7 +314,6 @@ class clippings_WT_Module extends WT_Module implements WT_Module_Menu, WT_Module
public function downloadForm() {
global $TEXT_DIRECTION, $controller;
- $controller = $controller;
$out = WT_JS_START;
$out .= 'function cancelDownload() {
var link = "sidebar.php?sb_action=clippings";