Newer
Older
<?php
/**
* This file contains QUI\TemplateCologne\Controls\SimpleUserInfo
*/
namespace QUI\TemplateCologne\Controls;
use QUI;
/**
* Class ProductGallery
*/
class SimpleUserInfo extends QUI\Control
{
/**
* constructor
*
* @param array $attributes
*/
public function __construct($attributes = [])
{
$this->setAttributes([
'User' => null
]);
$this->addCSSFile(dirname(__FILE__) . '/SimpleUserInfo.css');
parent::__construct($attributes);
}
/**
* (non-PHPdoc)
*
* @throws QUI\Exception
*/
public function getBody()
{
$Engine = QUI::getTemplateManager()->getEngine();
$avatarUrl = URL_OPT_DIR . 'quiqqer/template-cologne/bin/images/avatar-placeholder.svg';
if (QUI\TemplateCologne\Utils::getAvatar($User)) {
$avatarUrl = QUI\TemplateCologne\Utils::getAvatar($User)->getSizeCacheUrl();
}
$Engine->assign([
'registrationDay' => $User->getAttribute('regdate'),
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
'ordersNumber' => $this->getOrdersNumber($User)
]);
return $Engine->fetch(dirname(__FILE__) . '/SimpleUserInfo.html');
}
/**
* Return the User
*
* @return QUI\Interfaces\Users\User
* @throws QUI\FrontendUsers\Exception
*/
public function getUser()
{
$User = $this->getAttribute('User');
if ($User === false) {
return QUI::getUserBySession();
}
if ($User instanceof QUI\Interfaces\Users\User) {
return $User;
}
throw new QUI\FrontendUsers\Exception([
'quiqqer/frontend-users',
'exception.ser.was.not.net'
]);
}
/**
* Return the current site
*
* @return QUI\Projects\Site
*/
public function getSite()
{
if ($this->getAttribute('Site')) {
return $this->getAttribute('Site');
}
return QUI::getRewrite()->getSite();
}
/**
* @param $User QUI\Interfaces\Users\User
*/
public function getOrdersNumber($User)
{
$Orders = QUI\ERP\Order\Handler::getInstance();
return $Orders->countOrdersByUser($User);
}
}