Added invisible for products.
This commit is contained in:
@@ -50,6 +50,7 @@ class ProductController extends Controller
|
|||||||
|
|
||||||
$this->view('products/catalog', [
|
$this->view('products/catalog', [
|
||||||
'user' => $user,
|
'user' => $user,
|
||||||
|
'isLoggedIn' => true,
|
||||||
'isAdmin' => $isAdmin,
|
'isAdmin' => $isAdmin,
|
||||||
'categories' => $categories,
|
'categories' => $categories,
|
||||||
'subcategories' => $subcategories,
|
'subcategories' => $subcategories,
|
||||||
@@ -83,6 +84,7 @@ class ProductController extends Controller
|
|||||||
'product' => $product,
|
'product' => $product,
|
||||||
'similarProducts' => $similarProducts,
|
'similarProducts' => $similarProducts,
|
||||||
'user' => $this->getCurrentUser(),
|
'user' => $this->getCurrentUser(),
|
||||||
|
'isLoggedIn' => true,
|
||||||
'isAdmin' => $this->isAdmin()
|
'isAdmin' => $this->isAdmin()
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,22 +38,41 @@ class Database
|
|||||||
public function query(string $sql, array $params = []): array
|
public function query(string $sql, array $params = []): array
|
||||||
{
|
{
|
||||||
$stmt = $this->connection->prepare($sql);
|
$stmt = $this->connection->prepare($sql);
|
||||||
$stmt->execute($params);
|
$this->bindParams($stmt, $params);
|
||||||
|
$stmt->execute();
|
||||||
return $stmt->fetchAll();
|
return $stmt->fetchAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function queryOne(string $sql, array $params = []): ?array
|
public function queryOne(string $sql, array $params = []): ?array
|
||||||
{
|
{
|
||||||
$stmt = $this->connection->prepare($sql);
|
$stmt = $this->connection->prepare($sql);
|
||||||
$stmt->execute($params);
|
$this->bindParams($stmt, $params);
|
||||||
|
$stmt->execute();
|
||||||
$result = $stmt->fetch();
|
$result = $stmt->fetch();
|
||||||
return $result ?: null;
|
return $result ?: null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function bindParams(\PDOStatement $stmt, array $params): void
|
||||||
|
{
|
||||||
|
foreach ($params as $index => $param) {
|
||||||
|
$paramNum = $index + 1;
|
||||||
|
if (is_bool($param)) {
|
||||||
|
$stmt->bindValue($paramNum, $param, \PDO::PARAM_BOOL);
|
||||||
|
} elseif (is_int($param)) {
|
||||||
|
$stmt->bindValue($paramNum, $param, \PDO::PARAM_INT);
|
||||||
|
} elseif (is_null($param)) {
|
||||||
|
$stmt->bindValue($paramNum, $param, \PDO::PARAM_NULL);
|
||||||
|
} else {
|
||||||
|
$stmt->bindValue($paramNum, $param, \PDO::PARAM_STR);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public function execute(string $sql, array $params = []): bool
|
public function execute(string $sql, array $params = []): bool
|
||||||
{
|
{
|
||||||
$stmt = $this->connection->prepare($sql);
|
$stmt = $this->connection->prepare($sql);
|
||||||
return $stmt->execute($params);
|
$this->bindParams($stmt, $params);
|
||||||
|
return $stmt->execute();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function lastInsertId(): string
|
public function lastInsertId(): string
|
||||||
|
|||||||
@@ -75,7 +75,23 @@ abstract class Model
|
|||||||
);
|
);
|
||||||
|
|
||||||
$stmt = $this->db->getConnection()->prepare($sql);
|
$stmt = $this->db->getConnection()->prepare($sql);
|
||||||
$stmt->execute(array_values($data));
|
|
||||||
|
// Правильно биндим параметры с учетом типов
|
||||||
|
$params = array_values($data);
|
||||||
|
foreach ($params as $index => $param) {
|
||||||
|
$paramNum = $index + 1;
|
||||||
|
if (is_bool($param)) {
|
||||||
|
$stmt->bindValue($paramNum, $param, \PDO::PARAM_BOOL);
|
||||||
|
} elseif (is_int($param)) {
|
||||||
|
$stmt->bindValue($paramNum, $param, \PDO::PARAM_INT);
|
||||||
|
} elseif (is_null($param)) {
|
||||||
|
$stmt->bindValue($paramNum, $param, \PDO::PARAM_NULL);
|
||||||
|
} else {
|
||||||
|
$stmt->bindValue($paramNum, $param, \PDO::PARAM_STR);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$stmt->execute();
|
||||||
|
|
||||||
return (int) $stmt->fetchColumn();
|
return (int) $stmt->fetchColumn();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
<body>
|
<body>
|
||||||
<div id="notification" class="notification"></div>
|
<div id="notification" class="notification"></div>
|
||||||
|
|
||||||
<?= \App\Core\View::partial('header', ['user' => $user ?? null, 'isLoggedIn' => $isLoggedIn ?? false, 'isAdmin' => $isAdmin ?? false]) ?>
|
<?= \App\Core\View::partial('header', ['user' => $user ?? null, 'isLoggedIn' => $isLoggedIn ?? \App\Core\View::isAuthenticated(), 'isAdmin' => $isAdmin ?? \App\Core\View::isAdmin()]) ?>
|
||||||
|
|
||||||
<main>
|
<main>
|
||||||
<?= $content ?>
|
<?= $content ?>
|
||||||
|
|||||||
@@ -1638,7 +1638,8 @@ p, li, span {
|
|||||||
|
|
||||||
input[type="text"],
|
input[type="text"],
|
||||||
input[type="email"],
|
input[type="email"],
|
||||||
input[type="tel"] {
|
input[type="tel"],
|
||||||
|
input[type="password"] {
|
||||||
.input-base();
|
.input-base();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user