X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fadmin.php;h=d4fcc533f73f60d1a79c0c4cff6be9b9eac9f744;hb=d7bb671b776f2e947f1d34090d8ad899c0eb3d9b;hp=ba570e583d496a3f4e010f620e6893e7528d9793;hpb=d57449623b9376e234767bdcf60194d1ed403f3a;p=friendica.git diff --git a/mod/admin.php b/mod/admin.php index ba570e583d..d4fcc533f7 100644 --- a/mod/admin.php +++ b/mod/admin.php @@ -21,8 +21,10 @@ 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; +use Friendica\Util\Network; require_once 'include/enotify.php'; require_once 'include/text.php'; @@ -745,10 +747,18 @@ function admin_page_federation(App $a) function admin_page_queue(App $a) { // get content from the queue table - $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`;"); + $entries = DBA::p("SELECT `contact`.`name`, `contact`.`nurl`, + `queue`.`id`, `queue`.`network`, `queue`.`created`, `queue`.`last` + FROM `queue` INNER JOIN `contact` ON `contact`.`id` = `queue`.`cid` + ORDER BY `queue`.`cid`, `queue`.`created`"); + + $r = []; + while ($entry = DBA::fetch($entries)) { + $entry['created'] = DateTimeFormat::local($entry['created']); + $entry['last'] = DateTimeFormat::local($entry['last']); + $r[] = $entry; + } + DBA::close($entries); $t = get_markup_template('admin/queue.tpl'); return replace_macros($t, [ @@ -780,13 +790,16 @@ function admin_page_queue(App $a) 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::toArray($statement); + $entries = DBA::select('workerqueue', ['id', 'parameter', 'created', 'priority'], ['done' => 0], ['order'=> ['priority']]); - for($i = 0; $i < count($r); $i++) { + $r = []; + while ($entry = DBA::fetch($entries)) { // fix GH-5469. ref: src/Core/Worker.php:217 - $r[$i]['parameter'] = implode(json_decode($r[$i]['parameter'], true), ': '); + $entry['parameter'] = Arrays::recursiveImplode(json_decode($entry['parameter'], true), ': '); + $entry['created'] = DateTimeFormat::local($entry['created']); + $r[] = $entry; } + DBA::close($entries); $t = get_markup_template('admin/workerqueue.tpl'); return replace_macros($t, [ @@ -816,7 +829,7 @@ function admin_page_workerqueue(App $a) 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::databaseName())); + $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 (DBA::isResult($r)) { @@ -856,6 +869,14 @@ function admin_page_summary(App $a) $warningtext[] = L10n::t('Friendica\'s configuration now is stored in config/local.ini.php, please copy config/local-sample.ini.php and move your config from .htconfig.php. See the Config help page for help with the transition.', $a->get_baseurl() . '/help/Config'); } + // Check server vitality + if (!admin_page_server_vital()) { + $showwarning = true; + $well_known = $a->get_baseurl() . '/.well-known/host-meta'; + $warningtext[] = L10n::t('%s is not reachable on your system. This is a severe configuration issue that prevents server to server communication. See the installation page for help.', + $well_known, $well_known, $a->get_baseurl() . '/help/Install'); + } + $r = q("SELECT `page-flags`, COUNT(`uid`) AS `count` FROM `user` GROUP BY `page-flags`"); $accounts = [ [L10n::t('Normal Account'), 0], @@ -949,8 +970,8 @@ function admin_page_site_post(App $a) 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) { @@ -1677,11 +1698,14 @@ function admin_page_users_post(App $a) $body = sprintf($body, System::baseUrl(), $user['email'], $result['password'], Config::get('config', 'sitename')); notification([ - 'type' => SYSTEM_EMAIL, + 'type' => SYSTEM_EMAIL, + 'language' => $user['language'], + 'to_name' => $user['username'], 'to_email' => $user['email'], - 'subject' => L10n::t('Registration details for %s', Config::get('config', 'sitename')), + 'uid' => $user['uid'], + 'subject' => L10n::t('Registration details for %s', Config::get('config', 'sitename')), 'preamble' => $preamble, - 'body' => $body]); + 'body' => $body]); } if (x($_POST, 'page_users_block')) { @@ -1807,17 +1831,17 @@ function admin_page_users(App $a) $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']; @@ -1881,6 +1905,7 @@ function admin_page_users(App $a) '$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'), @@ -2528,3 +2553,10 @@ function admin_page_features(App $a) return $o; } } + +function admin_page_server_vital() +{ + // Fetch the host-meta to check if this really is a vital server + $serverret = Network::curl(System::baseUrl() . '/.well-known/host-meta'); + return $serverret["success"]; +}