Warning: chmod(): Operation not permitted in /var/www/hopeinstoughton_www/wp-content/plugins/simple-universal-google-analytics/main.php on line 8 [0] in function chmod in /var/www/hopeinstoughton_www/wp-content/plugins/simple-universal-google-analytics/main.php on line 8 [1] in function include_once in /var/www/hopeinstoughton_www/wp-settings.php on line 560 [2] in function require_once in /var/www/hopeinstoughton_www/wp-config.php on line 85 [3] in function require_once in /var/www/hopeinstoughton_www/wp-load.php on line 50 [4] in function require_once in /var/www/hopeinstoughton_www/wp-blog-header.php on line 13 [5] in function require in /var/www/hopeinstoughton_www/index.php on line 17
| Server IP : 94.177.8.99 / Your IP : 216.73.217.165 Web Server : Apache/2.4.58 (Ubuntu) System : Linux aries 6.8.0-134-generic #134-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 26 18:43:11 UTC 2026 x86_64 User : www-data ( 33) PHP Version : 8.1.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/theyoungdesigners_com/modules/storeAccount/ |
Upload File : |
<?php
namespace modules\storeAccount;
class main extends \moduleMain {
use \modules\input\traits {
\modules\input\traits::__construct as __ConstructInput;
}
use \modules\database\traits {
\modules\database\traits::__construct as __ConstructDatabase;
}
use \modules\output\traits {
\modules\output\traits::__construct as __ConstructOutput;
}
private $level;
private $view;
public function __construct() {
parent::__construct(__DIR__);
$this->__ConstructInput();
$this->__ConstructDatabase();
$this->__ConstructOutput();
$this->level = isset($_SESSION['current_user']) ? $_SESSION['current_user']['u_level'] : 0;
$this->view = $GLOBALS['loader']->getView('storeaccount_view', __DIR__);
}
public function Activate() {
hook_add('uri', [$this, '__homepage'], 2);
hook_add('menu.menu2', [$this, '__accounticon'], 71);
hook_add('template.store.history.COL2', [$this, '__column2'], 10); // order actions
// add to Product Page: You purchased this on xxxx
hook_add('order.list', [$this, '__order_list']); // check for cancelled orders
}
public function __accounticon(&$menu) {
if ($this->level > 0) {
$icon = '<i class="largeicon fas fa-user"></i>';
$icon = '<span class="cart-menu"><span class="cart-container">' . $icon . '</span> <span class="cart-caption">My Account</span></span>';
$menu[] = [
'caption' => 'My Account',
'href' => '/account',
's' => 0,
'icon' => $icon,
];
}
}
// intercept account page - and replace with our own
public function __homepage(&$uri, $__INPUT, $__OUTPUT) {
if (($p = strpos($uri, '?')) !== FALSE) {
$param = substr($uri, $p);
$uri = substr($uri, 0, $p);
} else {
$param = '';
}
$elements = explode('/', trim($uri, '/'));
if ($elements[0] == 'account' && (count($elements) == 1) && $this->level > 0) {
$uri = '/account/menu' . $param;
}
}
public function __column2(&$html) {
$text = $this->view->Column2Text();
$this->view->UpdateHTML($html, 'COL2', $text);
}
public function __order_list(&$data, $user_id = 0, $daycount = 30) {
foreach($data as &$order) {
if ($order['status'] == 'canceled') {
$order['flag_editable'] = 0;
} elseif ($order['cancelrequest']) {
$order['orderstatus'] = 'Cancellation Requested';
$order['ordersuffix'] = '';
$order['flag_editable'] = 0;
} else {
$order['flag_editable'] = 1;
}
}
}
// intercept current account page :-
// My Account
// information - name / email
// change password
// add/update delivery addresses
// My Orders
// orders
// refunds
// transactions
}