Added invisible for products.
This commit is contained in:
@@ -50,6 +50,7 @@ class ProductController extends Controller
|
||||
|
||||
$this->view('products/catalog', [
|
||||
'user' => $user,
|
||||
'isLoggedIn' => true,
|
||||
'isAdmin' => $isAdmin,
|
||||
'categories' => $categories,
|
||||
'subcategories' => $subcategories,
|
||||
@@ -83,6 +84,7 @@ class ProductController extends Controller
|
||||
'product' => $product,
|
||||
'similarProducts' => $similarProducts,
|
||||
'user' => $this->getCurrentUser(),
|
||||
'isLoggedIn' => true,
|
||||
'isAdmin' => $this->isAdmin()
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -38,22 +38,41 @@ class Database
|
||||
public function query(string $sql, array $params = []): array
|
||||
{
|
||||
$stmt = $this->connection->prepare($sql);
|
||||
$stmt->execute($params);
|
||||
$this->bindParams($stmt, $params);
|
||||
$stmt->execute();
|
||||
return $stmt->fetchAll();
|
||||
}
|
||||
|
||||
public function queryOne(string $sql, array $params = []): ?array
|
||||
{
|
||||
$stmt = $this->connection->prepare($sql);
|
||||
$stmt->execute($params);
|
||||
$this->bindParams($stmt, $params);
|
||||
$stmt->execute();
|
||||
$result = $stmt->fetch();
|
||||
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
|
||||
{
|
||||
$stmt = $this->connection->prepare($sql);
|
||||
return $stmt->execute($params);
|
||||
$this->bindParams($stmt, $params);
|
||||
return $stmt->execute();
|
||||
}
|
||||
|
||||
public function lastInsertId(): string
|
||||
|
||||
@@ -75,7 +75,23 @@ abstract class Model
|
||||
);
|
||||
|
||||
$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();
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
<body>
|
||||
<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>
|
||||
<?= $content ?>
|
||||
|
||||
@@ -1638,7 +1638,8 @@ p, li, span {
|
||||
|
||||
input[type="text"],
|
||||
input[type="email"],
|
||||
input[type="tel"] {
|
||||
input[type="tel"],
|
||||
input[type="password"] {
|
||||
.input-base();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user