refactor: wishlist class
This commit is contained in:
parent
262c67098a
commit
d8e8491a18
3 changed files with 47 additions and 52 deletions
|
@ -41,7 +41,8 @@ class User
|
|||
return sha1($plainPassword);
|
||||
}
|
||||
|
||||
public static function getCurrent(): self {
|
||||
public static function getCurrent(): self
|
||||
{
|
||||
if (!isset($_SESSION['user'])) {
|
||||
$_SESSION['user'] = new self();
|
||||
}
|
||||
|
@ -250,7 +251,6 @@ class User
|
|||
|
||||
/**
|
||||
* Returns a list of the users wishlists.
|
||||
* Defaults to the currently logged in user.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
|
@ -315,7 +315,8 @@ class User
|
|||
*
|
||||
* @return bool Whether the log in was successful.
|
||||
*/
|
||||
public function logIn(string $email = '', string $password = '', bool $user_login_is_persistent = false): bool {
|
||||
public function logIn(string $email = '', string $password = '', bool $user_login_is_persistent = false): bool
|
||||
{
|
||||
global $database;
|
||||
|
||||
$login_was_successful = false;
|
||||
|
@ -388,7 +389,7 @@ class User
|
|||
$sessionLifetime = 2592000 * 4; // 4 Months
|
||||
$sessionExpires = time() + $sessionLifetime;
|
||||
$sessionIsDev = defined('ENV_IS_DEV') && ENV_IS_DEV || '127.0.0.1' === $_SERVER['REMOTE_ADDR'];
|
||||
$sessionOptions = array (
|
||||
$sessionOptions = array(
|
||||
'domain' => getCookieDomain(),
|
||||
'expires' => $sessionExpires,
|
||||
'httponly' => true,
|
||||
|
@ -457,19 +458,23 @@ class User
|
|||
);
|
||||
}
|
||||
|
||||
public function getId(): int {
|
||||
public function getId(): int
|
||||
{
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
public function getEmail(): string {
|
||||
public function getEmail(): string
|
||||
{
|
||||
return $this->email;
|
||||
}
|
||||
|
||||
public function getPassword(): string {
|
||||
public function getPassword(): string
|
||||
{
|
||||
return $this->password;
|
||||
}
|
||||
|
||||
public function getPower(): int {
|
||||
public function getPower(): int
|
||||
{
|
||||
return $this->power;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -46,54 +46,19 @@ class Wishlist
|
|||
*
|
||||
* @var int
|
||||
*/
|
||||
private int $notification_send;
|
||||
private int $notification_sent;
|
||||
|
||||
public array $wishes = array();
|
||||
|
||||
public bool $exists = false;
|
||||
|
||||
public function __construct(int|string $id_or_hash)
|
||||
public function __construct(array $wishlist_data)
|
||||
{
|
||||
global $database;
|
||||
|
||||
$column;
|
||||
|
||||
if (is_numeric($id_or_hash)) {
|
||||
$column = 'id';
|
||||
} elseif (is_string($id_or_hash)) {
|
||||
$column = 'hash';
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Wishlist
|
||||
*/
|
||||
$columns = $database
|
||||
->query(
|
||||
'SELECT *
|
||||
FROM `wishlists`
|
||||
WHERE `' . $column . '` = :id_or_hash;',
|
||||
array(
|
||||
'id_or_hash' => $id_or_hash,
|
||||
)
|
||||
)
|
||||
->fetch();
|
||||
|
||||
if ($columns) {
|
||||
$this->exists = true;
|
||||
|
||||
$this->id = $columns['id'];
|
||||
$this->user = $columns['user'];
|
||||
$this->name = html_entity_decode($columns['name']);
|
||||
$this->hash = $columns['hash'];
|
||||
$this->notification_send = $columns['notification_send'];
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Wishes
|
||||
*/
|
||||
// $this->wishes = $this->getWishes();
|
||||
$this->id = $wishlist_data['id'];
|
||||
$this->user = $wishlist_data['user'];
|
||||
$this->name = $wishlist_data['name'];
|
||||
$this->hash = $wishlist_data['hash'];
|
||||
$this->notification_sent = $wishlist_data['notification_sent'] ?? 0;
|
||||
}
|
||||
|
||||
public function getWishes(array $options = array('placeholders' => array())): array
|
||||
|
@ -233,4 +198,29 @@ class Wishlist
|
|||
|
||||
return $title;
|
||||
}
|
||||
|
||||
public function getId(): int
|
||||
{
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
public function getUserId(): int
|
||||
{
|
||||
return $this->user;
|
||||
}
|
||||
|
||||
public function getName(): string
|
||||
{
|
||||
return $this->name;
|
||||
}
|
||||
|
||||
public function getHash(): string
|
||||
{
|
||||
return $this->hash;
|
||||
}
|
||||
|
||||
public function getNotificationSent(): int
|
||||
{
|
||||
return $this->notification_sent;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -75,8 +75,8 @@ $user = User::getCurrent();
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<?php if (isset($wishlist->id)) { ?>
|
||||
<div class="wishlist-cards" data-wishlist="<?= $wishlist->id ?>"></div>
|
||||
<?php if (isset($wishlist)) { ?>
|
||||
<div class="wishlist-cards" data-wishlist="<?= $wishlist->getId() ?>"></div>
|
||||
<?php } else { ?>
|
||||
<div class="wishlist-cards"></div>
|
||||
<?php } ?>
|
||||
|
|
Loading…
Reference in a new issue