Add basket
This commit is contained in:
81
source/webui/pages/basket.php
Normal file
81
source/webui/pages/basket.php
Normal file
@@ -0,0 +1,81 @@
|
||||
<?php
|
||||
|
||||
$main = MediaListing_Main::instance();
|
||||
$request = $main->request();
|
||||
$session = $main->session();
|
||||
$basket = $main->basket();
|
||||
$messages = array();
|
||||
|
||||
if ($request->exists('do')) {
|
||||
$activity = $request->get('do');
|
||||
|
||||
$redirect = MediaListing_Main::issetelse($_POST['redirect'], 'basket');
|
||||
|
||||
switch ($activity) {
|
||||
case 'add-items': {
|
||||
try {
|
||||
$items = MediaListing_Main::issetelse($_POST['items'], 'Sihnon_Exception_InvalidParameters');
|
||||
|
||||
$basket->addItems($items);
|
||||
|
||||
$messages[] = array(
|
||||
'severity' => 'success',
|
||||
'content' => 'The selected items were successfully added to the basket.',
|
||||
);
|
||||
} catch (SihnonFramework_Exception_InvalidParameters $e) {
|
||||
$messages[] = array(
|
||||
'severity' => 'error',
|
||||
'content' => 'The selected items were not added to the basket due to invalid parameters being passed.',
|
||||
);
|
||||
}
|
||||
} break;
|
||||
|
||||
case 'edit': {
|
||||
try {
|
||||
$remove_items = MediaListing_Main::issetelse($_POST['remove-items'], false);
|
||||
$clear_basket = MediaListing_Main::issetelse($_POST['clear'], false);
|
||||
|
||||
if ($remove_items) {
|
||||
$items = MediaListing_Main::issetelse($_POST['items'], 'Sihnon_Exception_InvalidParameters');
|
||||
|
||||
$basket->removeItems($items);
|
||||
|
||||
$messages[] = array(
|
||||
'severity' => 'success',
|
||||
'content' => 'The selected items were successfully removed from the basket.',
|
||||
);
|
||||
} else if ($clear_basket) {
|
||||
$basket->clear();
|
||||
$messages[] = array(
|
||||
'severity' => 'success',
|
||||
'content' => 'The basket was successfully cleared.',
|
||||
);
|
||||
} else {
|
||||
$messages[] = array(
|
||||
'severity' => 'error',
|
||||
'content' => 'The requested activity was not recognised.',
|
||||
);
|
||||
}
|
||||
} catch (SihnonFramework_Exception_InvalidParameters $e) {
|
||||
$messages[] = array(
|
||||
'severity' => 'error',
|
||||
'content' => 'The selected items were not removed from the basket due to invalid parameters being passed.',
|
||||
);
|
||||
}
|
||||
} break;
|
||||
|
||||
default: {
|
||||
$messages[] = array(
|
||||
'severity' => 'error',
|
||||
'content' => 'The requested activity was not recognised.',
|
||||
);
|
||||
} break;
|
||||
}
|
||||
|
||||
$session->set('messages', $messages);
|
||||
MediaListing_Page::redirect($redirect);
|
||||
}
|
||||
|
||||
$this->smarty->assign('basket', $basket);
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user