mirror of
https://codeberg.org/streams/streams.git
synced 2024-09-21 02:55:17 +00:00
86 lines
2.4 KiB
PHP
86 lines
2.4 KiB
PHP
<?php
|
|
|
|
namespace Code\Module\Admin;
|
|
|
|
use Code\Render\Theme;
|
|
|
|
|
|
class Account_edit
|
|
{
|
|
|
|
public function post()
|
|
{
|
|
|
|
$account_id = $_REQUEST['aid'];
|
|
|
|
if (!$account_id) {
|
|
return;
|
|
}
|
|
|
|
$pass1 = trim($_REQUEST['pass1']);
|
|
$pass2 = trim($_REQUEST['pass2']);
|
|
if ($pass1 && $pass2 && ($pass1 === $pass2)) {
|
|
$salt = random_string(32);
|
|
$password_encoded = hash('whirlpool', $salt . $pass1);
|
|
$r = q(
|
|
"update account set account_salt = '%s', account_password = '%s',
|
|
account_password_changed = '%s' where account_id = %d",
|
|
dbesc($salt),
|
|
dbesc($password_encoded),
|
|
dbesc(datetime_convert()),
|
|
intval($account_id)
|
|
);
|
|
if ($r) {
|
|
info(sprintf(t('Password changed for account %d.'), $account_id) . EOL);
|
|
}
|
|
}
|
|
|
|
$service_class = trim($_REQUEST['service_class']);
|
|
$account_language = trim($_REQUEST['account_language']);
|
|
|
|
$r = q(
|
|
"update account set account_service_class = '%s', account_language = '%s'
|
|
where account_id = %d",
|
|
dbesc($service_class),
|
|
dbesc($account_language),
|
|
intval($account_id)
|
|
);
|
|
|
|
if ($r) {
|
|
info(t('Account settings updated.') . EOL);
|
|
}
|
|
|
|
goaway(z_root() . '/admin/accounts');
|
|
}
|
|
|
|
|
|
public function get()
|
|
{
|
|
if (argc() > 2) {
|
|
$account_id = argv(2);
|
|
}
|
|
|
|
$x = q(
|
|
"select * from account where account_id = %d limit 1",
|
|
intval($account_id)
|
|
);
|
|
|
|
if (!$x) {
|
|
notice(t('Account not found.') . EOL);
|
|
return '';
|
|
}
|
|
|
|
|
|
$a = replace_macros(Theme::get_template('admin_account_edit.tpl'), [
|
|
'$account' => $x[0],
|
|
'$title' => t('Account Edit'),
|
|
'$pass1' => ['pass1', t('New Password'), ' ', ''],
|
|
'$pass2' => ['pass2', t('New Password again'), ' ', ''],
|
|
'$account_language' => ['account_language', t('Account language (for emails)'), $x[0]['account_language'], '', language_list()],
|
|
'$service_class' => ['service_class', t('Service class'), $x[0]['account_service_class'], ''],
|
|
'$submit' => t('Submit'),
|
|
]);
|
|
|
|
return $a;
|
|
}
|
|
}
|