]> git.mxchange.org Git - friendica.git/blobdiff - mod/admin.php
Remove extraneous SQL condition part in mod/unfollow
[friendica.git] / mod / admin.php
index fae20f79bd9635238ff8708d4ae1f0bb2c943e2d..d4fcc533f73f60d1a79c0c4cff6be9b9eac9f744 100644 (file)
@@ -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, [
@@ -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 <code>.htconfig.php</code>. See <a href="%s">the Config help page</a> 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('<a href="%s">%s</a> is not reachable on your system. This is a severe configuration issue that prevents server to server communication. See <a href="%s">the installation page</a> 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],
@@ -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')) {
@@ -2529,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"];
+}