use Friendica\Core\Theme;
use Friendica\Core\Worker;
use Friendica\Database\DBA;
-use Friendica\Database\DBM;
use Friendica\Database\DBStructure;
use Friendica\Model\Contact;
use Friendica\Model\Item;
use Friendica\Model\User;
use Friendica\Module\Login;
use Friendica\Module\Tos;
+use Friendica\Util\Arrays;
use Friendica\Util\DateTimeFormat;
use Friendica\Util\Temporal;
$statement = DBA::select('contact', [], $condition, ['limit' => [$a->pager['start'], $a->pager['itemspage']]]);
- $contacts = DBA::inArray($statement);
+ $contacts = DBA::toArray($statement);
$t = get_markup_template('admin/contactblock.tpl');
$o = replace_macros($t, [
function admin_page_queue(App $a)
{
// get content from the queue table
+ // PLEASE REVIEW (not 100% sure about my code)
+ $statement = DBA::Select('`queue` AS `q`, `contact` AS `c`',
+ [ '`c`.`name`', '`c`.`nurl`', '`q`.`id`', '`q`.`network`', "CONVERT_TZ(`q`.`created`, 'UTC' " . Config::get('system', 'default_timezone') . ') as created', "CONVERT_TZ(`q`.`last`, 'UTC', " . Config::get('system', 'default_timezone') . "') as last" ],
+ '`c`.`id`' => '`q`.`cid`',
+ ['order'=> ['`q`.`cid`, `q`.`created`']]
+ );
+ $r = DBA::toArray($statement);
+
+ /*
+ // Leaving this one here for the code review as well as backup
$r = q("SELECT `c`.`name`, `c`.`nurl`, `q`.`id`, `q`.`network`, `q`.`created`, `q`.`last`
FROM `queue` AS `q`, `contact` AS `c`
WHERE `c`.`id` = `q`.`cid`
ORDER BY `q`.`cid`, `q`.`created`;");
-
+ */
$t = get_markup_template('admin/queue.tpl');
return replace_macros($t, [
'$title' => L10n::t('Administration'),
function admin_page_workerqueue(App $a)
{
// get jobs from the workerqueue table
- $statement = DBA::select('workerqueue', ['id', 'parameter', 'created', 'priority'], ['done' => 0], ['order'=> ['priority']]);
- $r = DBA::inArray($statement);
+ $statement = DBA::select('workerqueue', ['id', 'parameter', "CONVERT_TZ(created', 'UTC', " . Config::get('system', 'default_timezone') . "') as created", 'priority'], ['done' => 0], ['order'=> ['priority']]);
+ $r = DBA::toArray($statement);
- for($i = 0; $i < count($r); $i++) {
- $r[$i]['parameter'] = implode(json_decode($r[$i]['parameter']), ': ');
+ foreach ($r as $key => $rr) {
+ // fix GH-5469. ref: src/Core/Worker.php:217
+ $r[$key]['parameter'] = Arrays::recursiveImplode(json_decode($rr['parameter'], true), ': ');
}
$t = get_markup_template('admin/workerqueue.tpl');
function admin_page_summary(App $a)
{
// are there MyISAM tables in the DB? If so, trigger a warning message
- $r = q("SELECT `engine` FROM `information_schema`.`tables` WHERE `engine` = 'myisam' AND `table_schema` = '%s' LIMIT 1", dbesc(DBA::database_name()));
+ $r = q("SELECT `engine` FROM `information_schema`.`tables` WHERE `engine` = 'myisam' AND `table_schema` = '%s' LIMIT 1", DBA::escape(DBA::databaseName()));
$showwarning = false;
$warningtext = [];
- if (DBM::is_result($r)) {
+ if (DBA::isResult($r)) {
$showwarning = true;
$warningtext[] = L10n::t('Your DB still runs with MyISAM tables. You should change the engine type to InnoDB. As Friendica will use InnoDB only features in the future, you should change this! See <a href="%s">here</a> for a guide that may be helpful converting the table engines. You may also use the command <tt>php bin/console.php dbstructure toinnodb</tt> of your Friendica installation for an automatic conversion.<br />', 'https://dev.mysql.com/doc/refman/5.7/en/converting-tables-to-innodb.html');
}
function update_table($table_name, $fields, $old_url, $new_url)
{
- $dbold = dbesc($old_url);
- $dbnew = dbesc($new_url);
+ $dbold = DBA::escape($old_url);
+ $dbnew = DBA::escape($new_url);
$upd = [];
foreach ($fields as $f) {
$r = q("UPDATE %s SET %s;", $table_name, $upds);
- if (!DBM::is_result($r)) {
+ if (!DBA::isResult($r)) {
notice("Failed updating '$table_name': " . DBA::errorMessage());
goaway('admin/site');
}
$failed = [];
$r = q("SELECT `k`, `v` FROM `config` WHERE `cat` = 'database' ");
- if (DBM::is_result($r)) {
+ if (DBA::isResult($r)) {
foreach ($r as $rr) {
$upd = intval(substr($rr['k'], 7));
if ($upd < 1139 || $rr['v'] === 'success') {
if ($a->argc > 2) {
$uid = $a->argv[3];
$user = DBA::selectFirst('user', ['username', 'blocked'], ['uid' => $uid]);
- if (!DBM::is_result($user)) {
+ if (!DBA::isResult($user)) {
notice('User not found' . EOL);
goaway('admin/users');
return ''; // NOTREACHED
$adminlist = explode(",", str_replace(" ", "", Config::get('config', 'admin_email')));
$_setup_users = function ($e) use ($adminlist) {
$page_types = [
- PAGE_NORMAL => L10n::t('Normal Account Page'),
- PAGE_SOAPBOX => L10n::t('Soapbox Page'),
- PAGE_COMMUNITY => L10n::t('Public Forum'),
- PAGE_FREELOVE => L10n::t('Automatic Friend Page'),
- PAGE_PRVGROUP => L10n::t('Private Forum')
+ Contact::PAGE_NORMAL => L10n::t('Normal Account Page'),
+ Contact::PAGE_SOAPBOX => L10n::t('Soapbox Page'),
+ Contact::PAGE_COMMUNITY => L10n::t('Public Forum'),
+ Contact::PAGE_FREELOVE => L10n::t('Automatic Friend Page'),
+ Contact::PAGE_PRVGROUP => L10n::t('Private Forum')
];
$account_types = [
- ACCOUNT_TYPE_PERSON => L10n::t('Personal Page'),
- ACCOUNT_TYPE_ORGANISATION => L10n::t('Organisation Page'),
- ACCOUNT_TYPE_NEWS => L10n::t('News Page'),
- ACCOUNT_TYPE_COMMUNITY => L10n::t('Community Forum')
+ Contact::ACCOUNT_TYPE_PERSON => L10n::t('Personal Page'),
+ Contact::ACCOUNT_TYPE_ORGANISATION => L10n::t('Organisation Page'),
+ Contact::ACCOUNT_TYPE_NEWS => L10n::t('News Page'),
+ Contact::ACCOUNT_TYPE_COMMUNITY => L10n::t('Community Forum')
];
-
-
- $e['page-flags-raw'] = $e['page-flags'];
+ $e['page_flags_raw'] = $e['page-flags'];
$e['page-flags'] = $page_types[$e['page-flags']];
- $e['account-type-raw'] = ($e['page_flags_raw'] == 0) ? $e['account-type'] : -1;
+ $e['account_type_raw'] = ($e['page_flags_raw'] == 0) ? $e['account-type'] : -1;
$e['account-type'] = ($e['page_flags_raw'] == 0) ? $account_types[$e['account-type']] : "";
$e['register_date'] = Temporal::getRelativeDate($e['register_date']);
$e['is_admin'] = in_array($e['email'], $adminlist);
$e['is_deletable'] = (intval($e['uid']) != local_user());
$e['deleted'] = ($e['account_removed'] ? Temporal::getRelativeDate($e['account_expires_on']) : False);
+
return $e;
};
+
$users = array_map($_setup_users, $users);
'$deny' => L10n::t('Deny'),
'$delete' => L10n::t('Delete'),
'$block' => L10n::t('Block'),
+ '$blocked' => L10n::t('User blocked'),
'$unblock' => L10n::t('Unblock'),
'$siteadmin' => L10n::t('Site admin'),
'$accountexpired' => L10n::t('Account expired'),