Add basket

This commit is contained in:
2012-01-05 00:44:23 +00:00
parent 885d12ceb7
commit b6a0899141
10 changed files with 367 additions and 38 deletions

View 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);
?>

View File

@@ -4,6 +4,7 @@ $main = MediaListing_Main::instance();
$config = $main->config();
$request = $main->request();
$smarty = $main->smarty();
$basket = $main->basket();
$source_paths = $config->get('sources');
$sources = array();
@@ -40,5 +41,6 @@ $smarty->assign('source', $source);
$smarty->assign('path', $path);
$smarty->assign('root', $directory);
$smarty->assign('files', $directory->files());
$smarty->assign('basket', $basket);
?>

View File

@@ -4,6 +4,7 @@ $main = MediaListing_Main::instance();
$config = $main->config();
$smarty = $main->smarty();
$request = $main->request();
$basket = $main->basket();
$source_paths = $config->get('sources');
$sources = array();
@@ -17,4 +18,7 @@ foreach ($source_paths as $source_path) {
$smarty->assign('sources', $sources);
$smarty->assign('source_name', $request->get('source'));
$smarty->assign('basket', $basket);
$smarty->assign('basket_items', $basket->count());
?>