diff options
| author | fisharebest <fisharebest@gmail.com> | 2011-11-05 16:40:41 +0000 |
|---|---|---|
| committer | fisharebest <fisharebest@gmail.com> | 2011-11-05 16:40:41 +0000 |
| commit | 485b3d703febd1730df926e4ca657ebc91a986cb (patch) | |
| tree | 3947a519f73482c963a0c0e2546c26a1cbdf6ef7 /modules_v3 | |
| parent | 0572050b0fb899c5ac9256d8f4c75a638a77c2ee (diff) | |
| download | webtrees-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.php | 28 | ||||
| -rw-r--r-- | modules_v3/clippings/index.php | 9 | ||||
| -rw-r--r-- | modules_v3/clippings/module.php | 26 |
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&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&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"; |
