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);
|
return sha1($plainPassword);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function getCurrent(): self {
|
public static function getCurrent(): self
|
||||||
|
{
|
||||||
if (!isset($_SESSION['user'])) {
|
if (!isset($_SESSION['user'])) {
|
||||||
$_SESSION['user'] = new self();
|
$_SESSION['user'] = new self();
|
||||||
}
|
}
|
||||||
|
@ -250,7 +251,6 @@ class User
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a list of the users wishlists.
|
* Returns a list of the users wishlists.
|
||||||
* Defaults to the currently logged in user.
|
|
||||||
*
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
|
@ -315,7 +315,8 @@ class User
|
||||||
*
|
*
|
||||||
* @return bool Whether the log in was successful.
|
* @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;
|
global $database;
|
||||||
|
|
||||||
$login_was_successful = false;
|
$login_was_successful = false;
|
||||||
|
@ -388,7 +389,7 @@ class User
|
||||||
$sessionLifetime = 2592000 * 4; // 4 Months
|
$sessionLifetime = 2592000 * 4; // 4 Months
|
||||||
$sessionExpires = time() + $sessionLifetime;
|
$sessionExpires = time() + $sessionLifetime;
|
||||||
$sessionIsDev = defined('ENV_IS_DEV') && ENV_IS_DEV || '127.0.0.1' === $_SERVER['REMOTE_ADDR'];
|
$sessionIsDev = defined('ENV_IS_DEV') && ENV_IS_DEV || '127.0.0.1' === $_SERVER['REMOTE_ADDR'];
|
||||||
$sessionOptions = array (
|
$sessionOptions = array(
|
||||||
'domain' => getCookieDomain(),
|
'domain' => getCookieDomain(),
|
||||||
'expires' => $sessionExpires,
|
'expires' => $sessionExpires,
|
||||||
'httponly' => true,
|
'httponly' => true,
|
||||||
|
@ -457,19 +458,23 @@ class User
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getId(): int {
|
public function getId(): int
|
||||||
|
{
|
||||||
return $this->id;
|
return $this->id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getEmail(): string {
|
public function getEmail(): string
|
||||||
|
{
|
||||||
return $this->email;
|
return $this->email;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getPassword(): string {
|
public function getPassword(): string
|
||||||
|
{
|
||||||
return $this->password;
|
return $this->password;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getPower(): int {
|
public function getPower(): int
|
||||||
|
{
|
||||||
return $this->power;
|
return $this->power;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,54 +46,19 @@ class Wishlist
|
||||||
*
|
*
|
||||||
* @var int
|
* @var int
|
||||||
*/
|
*/
|
||||||
private int $notification_send;
|
private int $notification_sent;
|
||||||
|
|
||||||
public array $wishes = array();
|
public array $wishes = array();
|
||||||
|
|
||||||
public bool $exists = false;
|
public bool $exists = false;
|
||||||
|
|
||||||
public function __construct(int|string $id_or_hash)
|
public function __construct(array $wishlist_data)
|
||||||
{
|
{
|
||||||
global $database;
|
$this->id = $wishlist_data['id'];
|
||||||
|
$this->user = $wishlist_data['user'];
|
||||||
$column;
|
$this->name = $wishlist_data['name'];
|
||||||
|
$this->hash = $wishlist_data['hash'];
|
||||||
if (is_numeric($id_or_hash)) {
|
$this->notification_sent = $wishlist_data['notification_sent'] ?? 0;
|
||||||
$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();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getWishes(array $options = array('placeholders' => array())): array
|
public function getWishes(array $options = array('placeholders' => array())): array
|
||||||
|
@ -233,4 +198,29 @@ class Wishlist
|
||||||
|
|
||||||
return $title;
|
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>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<?php if (isset($wishlist->id)) { ?>
|
<?php if (isset($wishlist)) { ?>
|
||||||
<div class="wishlist-cards" data-wishlist="<?= $wishlist->id ?>"></div>
|
<div class="wishlist-cards" data-wishlist="<?= $wishlist->getId() ?>"></div>
|
||||||
<?php } else { ?>
|
<?php } else { ?>
|
||||||
<div class="wishlist-cards"></div>
|
<div class="wishlist-cards"></div>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
|
|
Loading…
Reference in a new issue