Partiali fix cart issue.

This commit is contained in:
DariusIII
2015-06-03 01:53:30 +02:00
parent 229086d881
commit b3dc6deeb2
2 changed files with 38 additions and 38 deletions
+14 -9
View File
@@ -642,19 +642,24 @@ class Users
return $this->pdo->query(sprintf("select usercart.*, releases.searchname,releases.guid from usercart inner join releases on releases.id = usercart.releaseid where userid = %d %s", $uid, $releaseid));
}
public function delCartByGuid($guids, $uid)
public function delCartByGuid($ids, $userID)
{
if (!is_array($guids))
if (!is_array($ids)) {
return false;
$del = [];
foreach ($guids as $id) {
$id = sprintf("%s", $this->pdo->escapeString($id));
if (!empty($id))
$del[] = $id;
}
$this->pdo->query(sprintf("delete from usercart where userid = %d and releaseid IN (select id from releases where guid IN (%s)) ", $uid, implode(',', $del)));
$del = [];
foreach ($ids as $id) {
if (is_numeric($id)) {
$del[] = $id;
}
}
return (bool)$this->pdo->queryExec(
sprintf(
"DELETE FROM usercart WHERE id IN (%s) AND userid = %d", implode(',', $del), $userID
)
);
}
public function delCartByUserAndRelease($guid, $uid)
+24 -29
View File
@@ -1,50 +1,45 @@
<?php
if (!$users->isLoggedIn())
if (!$page->users->isLoggedIn()) {
$page->show403();
}
if (isset($_REQUEST["add"]))
{
if (isset($_GET['add']) && !empty($_GET['add']))
$ids = array($_GET['add']);
elseif (isset($_POST['add']) && is_array($_POST['add']))
$ids = $_POST['add'];
if (isset($_GET["add"])) {
$releases = new Releases(['Settings' => $page->settings]);
$guids = explode(',', $_GET['add']);
$data = $releases->getByGuid($guids);
$releases = new Releases;
$data = $releases->getByGuid($ids);
if (!$data)
if (!$data) {
$page->show404();
}
foreach($data as $d)
$users->addCart($users->currentUserId(), $d["id"]);
}
elseif (isset($_REQUEST["delete"]))
{
if (isset($_GET['delete']) && !empty($_GET['delete']))
foreach ($data as $d) {
$users->addCart($page->users->currentUserId(), $d["id"]);
}
} elseif (isset($_REQUEST["delete"])) {
if (isset($_GET['delete']) && !empty($_GET['delete'])) {
$ids = array($_GET['delete']);
elseif (isset($_POST['delete']) && is_array($_POST['delete']))
} elseif (isset($_POST['delete']) && is_array($_POST['delete'])) {
$ids = $_POST['delete'];
}
if (isset($ids))
if (isset($ids)) {
$users->delCartByGuid($ids, $users->currentUserId());
}
if (!isset($_POST['delete']))
header("Location: ".WWW_TOP."/cart");
if (!isset($_POST['delete'])) {
header("Location: " . WWW_TOP . "/cart");
}
die();
}
else
{
exit();
} else {
$page->meta_title = "My Nzb Cart";
$page->meta_keywords = "search,add,to,cart,nzb,description,details";
$page->meta_description = "Manage Your Nzb Cart";
$results = $users->getCart($users->currentUserId());
$results = $users->getCart($page->users->currentUserId());
$page->smarty->assign('results', $results);
$page->content = $page->smarty->fetch('cart.tpl');
$page->render();
}
}