]> git.mxchange.org Git - friendica.git/blobdiff - mod/admin.php
Merge pull request #3382 from annando/1704-myisam
[friendica.git] / mod / admin.php
index b1bc8de5f20393b8c707cc549196b950f28a14ac..6be08f45a7c9f3bfb210850db25e0334ef6c9348 100644 (file)
@@ -290,7 +290,8 @@ function admin_page_federation(App $a) {
        foreach ($platforms as $p) {
                // get a total count for the platform, the name and version of the
                // highest version and the protocol tpe
-               $c = qu('SELECT COUNT(*) AS `total`, `platform`, `network`, `version` FROM `gserver`
+               $c = qu('SELECT COUNT(*) AS `total`, ANY_VALUE(`platform`) AS `platform`,
+                               ANY_VALUE(`network`) AS `network`, MAX(`version`) AS `version` FROM `gserver`
                                WHERE `platform` LIKE "%s" AND `last_contact` >= `last_failure`
                                ORDER BY `version` ASC;', $p);
                $total = $total + $c[0]['total'];
@@ -446,7 +447,7 @@ function admin_page_summary(App $a) {
        $warningtext = array();
        if (dbm::is_result($r)) {
                $showwarning = true;
-               $warningtext[] = sprintf(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 <tt>convert_innodb.sql</tt> in the <tt>/util</tt> directory of your Friendica installation.<br />'), 'https://dev.mysql.com/doc/refman/5.7/en/converting-tables-to-innodb.html');
+               $warningtext[] = sprintf(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 include/dbstructure.php 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');
        }
        // MySQL >= 5.7.4 doesn't support the IGNORE keyword in ALTER TABLE statements
        if ((version_compare($db->server_info(), '5.7.4') >= 0) AND
@@ -474,9 +475,6 @@ function admin_page_summary(App $a) {
        $r = qu("SELECT COUNT(`id`) AS `count` FROM `register`");
        $pending = $r[0]['count'];
 
-       $r = qu("SELECT COUNT(*) AS `total` FROM `deliverq` WHERE 1");
-       $deliverq = (($r) ? $r[0]['total'] : 0);
-
        $r = qu("SELECT COUNT(*) AS `total` FROM `queue` WHERE 1");
        $queue = (($r) ? $r[0]['total'] : 0);
 
@@ -485,7 +483,7 @@ function admin_page_summary(App $a) {
 
        // We can do better, but this is a quick queue status
 
-       $queues = array('label' => t('Message queues'), 'deliverq' => $deliverq, 'queue' => $queue, 'workerq' => $workerqueue);
+       $queues = array('label' => t('Message queues'), 'queue' => $queue, 'workerq' => $workerqueue);
 
 
        $t = get_markup_template("admin_summary.tpl");
@@ -629,7 +627,6 @@ function admin_page_site_post(App $a) {
        $no_multi_reg           =       ((x($_POST,'no_multi_reg'))             ? True                                          : False);
        $no_openid              =       !((x($_POST,'no_openid'))               ? True                                          : False);
        $no_regfullname         =       !((x($_POST,'no_regfullname'))          ? True                                          : False);
-       $no_utf                 =       !((x($_POST,'no_utf'))                  ? True                                          : False);
        $community_page_style   =       ((x($_POST,'community_page_style'))     ? intval(trim($_POST['community_page_style']))  : 0);
        $max_author_posts_community_page        =       ((x($_POST,'max_author_posts_community_page'))  ? intval(trim($_POST['max_author_posts_community_page']))       : 0);
 
@@ -656,7 +653,6 @@ function admin_page_site_post(App $a) {
        $force_ssl              =       ((x($_POST,'force_ssl'))                ? True                                          : False);
        $hide_help              =       ((x($_POST,'hide_help'))                ? True                                          : False);
        $suppress_tags          =       ((x($_POST,'suppress_tags'))            ? True                                          : False);
-       $use_fulltext_engine    =       ((x($_POST,'use_fulltext_engine'))      ? True                                          : False);
        $itemcache              =       ((x($_POST,'itemcache'))                ? notags(trim($_POST['itemcache']))             : '');
        $itemcache_duration     =       ((x($_POST,'itemcache_duration'))       ? intval($_POST['itemcache_duration'])          : 0);
        $max_comments           =       ((x($_POST,'max_comments'))             ? intval($_POST['max_comments'])                : 0);
@@ -666,12 +662,17 @@ function admin_page_site_post(App $a) {
        $proxy_disabled         =       ((x($_POST,'proxy_disabled'))           ? True                                          : False);
        $only_tag_search        =       ((x($_POST,'only_tag_search'))          ? True                                          : False);
        $rino                   =       ((x($_POST,'rino'))                     ? intval($_POST['rino'])                        : 0);
-       $embedly                =       ((x($_POST,'embedly'))                  ? notags(trim($_POST['embedly']))               : '');
        $worker_queues          =       ((x($_POST,'worker_queues'))            ? intval($_POST['worker_queues'])               : 4);
        $worker_dont_fork       =       ((x($_POST,'worker_dont_fork'))         ? True                                          : False);
        $worker_fastlane        =       ((x($_POST,'worker_fastlane'))          ? True                                          : False);
        $worker_frontend        =       ((x($_POST,'worker_frontend'))          ? True                                          : False);
 
+       // Has the directory url changed? If yes, then resubmit the existing profiles there
+       if ($global_directory != Config::get('system', 'directory') AND ($global_directory != '')) {
+               Config::set('system', 'directory', $global_directory);
+               proc_run(PRIORITY_LOW, 'include/directory.php');
+       }
+
        if ($a->get_path() != "") {
                $diaspora_enabled = false;
        }
@@ -763,66 +764,55 @@ function admin_page_site_post(App $a) {
                } else {
                        set_config('system','singleuser', $singleuser);
                }
-       set_config('system','maximagesize', $maximagesize);
-       set_config('system','max_image_length', $maximagelength);
-       set_config('system','jpeg_quality', $jpegimagequality);
-
-       set_config('config','register_policy', $register_policy);
-       set_config('system','max_daily_registrations', $daily_registrations);
-       set_config('system','account_abandon_days', $abandon_days);
-       set_config('config','register_text', $register_text);
-       set_config('system','allowed_sites', $allowed_sites);
-       set_config('system','allowed_email', $allowed_email);
-       set_config('system','block_public', $block_public);
-       set_config('system','publish_all', $force_publish);
-       set_config('system','directory', $global_directory);
-       set_config('system','thread_allow', $thread_allow);
-       set_config('system','newuser_private', $newuser_private);
-       set_config('system','enotify_no_content', $enotify_no_content);
-       set_config('system','disable_embedded', $disable_embedded);
-       set_config('system','allow_users_remote_self', $allow_users_remote_self);
-
-       set_config('system','block_extended_register', $no_multi_reg);
-       set_config('system','no_openid', $no_openid);
-       set_config('system','no_regfullname', $no_regfullname);
-       set_config('system','community_page_style', $community_page_style);
-       set_config('system','max_author_posts_community_page', $max_author_posts_community_page);
-       set_config('system','no_utf', $no_utf);
-       set_config('system','verifyssl', $verifyssl);
-       set_config('system','proxyuser', $proxyuser);
-       set_config('system','proxy', $proxy);
-       set_config('system','curl_timeout', $timeout);
-       set_config('system','dfrn_only', $dfrn_only);
-       set_config('system','ostatus_disabled', $ostatus_disabled);
-       set_config('system','ostatus_poll_interval', $ostatus_poll_interval);
-       set_config('system','ostatus_full_threads', $ostatus_full_threads);
-       set_config('system','diaspora_enabled', $diaspora_enabled);
-
-       set_config('config','private_addons', $private_addons);
-
-       set_config('system','force_ssl', $force_ssl);
-       set_config('system','hide_help', $hide_help);
-       set_config('system','use_fulltext_engine', $use_fulltext_engine);
-       set_config('system','itemcache', $itemcache);
-       set_config('system','itemcache_duration', $itemcache_duration);
-       set_config('system','max_comments', $max_comments);
-       set_config('system','temppath', $temppath);
-       set_config('system','basepath', $basepath);
-       set_config('system','proxy_disabled', $proxy_disabled);
-       set_config('system','only_tag_search', $only_tag_search);
-       set_config('system','worker_queues', $worker_queues);
-       set_config('system','worker_dont_fork', $worker_dont_fork);
-       set_config('system','worker_fastlane', $worker_fastlane);
-       set_config('system','frontend_worker', $worker_frontend);
-
-       if (($rino == 2) and !function_exists('mcrypt_create_iv')) {
-               notice(t("RINO2 needs mcrypt php extension to work."));
-       } else {
-               set_config('system','rino_encrypt', $rino);
-       }
-
-       set_config('system','embedly', $embedly);
-
+       set_config('system', 'maximagesize', $maximagesize);
+       set_config('system', 'max_image_length', $maximagelength);
+       set_config('system', 'jpeg_quality', $jpegimagequality);
+
+       set_config('config', 'register_policy', $register_policy);
+       set_config('system', 'max_daily_registrations', $daily_registrations);
+       set_config('system', 'account_abandon_days', $abandon_days);
+       set_config('config', 'register_text', $register_text);
+       set_config('system', 'allowed_sites', $allowed_sites);
+       set_config('system', 'allowed_email', $allowed_email);
+       set_config('system', 'block_public', $block_public);
+       set_config('system', 'publish_all', $force_publish);
+       set_config('system', 'thread_allow', $thread_allow);
+       set_config('system', 'newuser_private', $newuser_private);
+       set_config('system', 'enotify_no_content', $enotify_no_content);
+       set_config('system', 'disable_embedded', $disable_embedded);
+       set_config('system', 'allow_users_remote_self', $allow_users_remote_self);
+
+       set_config('system', 'block_extended_register', $no_multi_reg);
+       set_config('system', 'no_openid', $no_openid);
+       set_config('system', 'no_regfullname', $no_regfullname);
+       set_config('system', 'community_page_style', $community_page_style);
+       set_config('system', 'max_author_posts_community_page', $max_author_posts_community_page);
+       set_config('system', 'verifyssl', $verifyssl);
+       set_config('system', 'proxyuser', $proxyuser);
+       set_config('system', 'proxy', $proxy);
+       set_config('system', 'curl_timeout', $timeout);
+       set_config('system', 'dfrn_only', $dfrn_only);
+       set_config('system', 'ostatus_disabled', $ostatus_disabled);
+       set_config('system', 'ostatus_poll_interval', $ostatus_poll_interval);
+       set_config('system', 'ostatus_full_threads', $ostatus_full_threads);
+       set_config('system', 'diaspora_enabled', $diaspora_enabled);
+
+       set_config('config', 'private_addons', $private_addons);
+
+       set_config('system', 'force_ssl', $force_ssl);
+       set_config('system', 'hide_help', $hide_help);
+       set_config('system', 'itemcache', $itemcache);
+       set_config('system', 'itemcache_duration', $itemcache_duration);
+       set_config('system', 'max_comments', $max_comments);
+       set_config('system', 'temppath', $temppath);
+       set_config('system', 'basepath', $basepath);
+       set_config('system', 'proxy_disabled', $proxy_disabled);
+       set_config('system', 'only_tag_search', $only_tag_search);
+       set_config('system', 'worker_queues', $worker_queues);
+       set_config('system', 'worker_dont_fork', $worker_dont_fork);
+       set_config('system', 'worker_fastlane', $worker_fastlane);
+       set_config('system', 'frontend_worker', $worker_frontend);
+       set_config('system', 'rino_encrypt', $rino);
 
        info(t('Site settings updated.').EOL);
        goaway('admin/site');
@@ -982,7 +972,7 @@ function admin_page_site(App $a) {
                '$banner'               => array('banner', t("Banner/Logo"), $banner, ""),
                '$shortcut_icon'        => array('shortcut_icon', t("Shortcut icon"), get_config('system','shortcut_icon'),  t("Link to an icon that will be used for browsers.")),
                '$touch_icon'           => array('touch_icon', t("Touch icon"), get_config('system','touch_icon'),  t("Link to an icon that will be used for tablets and mobiles.")),
-               '$info'                 => array('info',t('Additional Info'), $info, sprintf(t('For public servers: you can add additional information here that will be listed at %s/siteinfo.'), get_server())),
+               '$info'                 => array('info', t('Additional Info'), $info, sprintf(t('For public servers: you can add additional information here that will be listed at %s/siteinfo.'), get_server())),
                '$language'             => array('language', t("System language"), get_config('system','language'), "", $lang_choices),
                '$theme'                => array('theme', t("System theme"), get_config('system','theme'), t("Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"), $theme_choices),
                '$theme_mobile'         => array('theme_mobile', t("Mobile system theme"), get_config('system','mobile-theme'), t("Theme for mobile devices"), $theme_choices_mobile),
@@ -1012,7 +1002,6 @@ function admin_page_site(App $a) {
                '$no_multi_reg'         => array('no_multi_reg', t("Block multiple registrations"),  get_config('system','block_extended_register'), t("Disallow users to register additional accounts for use as pages.")),
                '$no_openid'            => array('no_openid', t("OpenID support"), !get_config('system','no_openid'), t("OpenID support for registration and logins.")),
                '$no_regfullname'       => array('no_regfullname', t("Fullname check"), !get_config('system','no_regfullname'), t("Force users to register with a space between firstname and lastname in Full name, as an antispam measure")),
-               '$no_utf'               => array('no_utf', t("UTF-8 Regular expressions"), !get_config('system','no_utf'), t("Use PHP UTF8 regular expressions")),
                '$community_page_style' => array('community_page_style', t("Community Page Style"), get_config('system','community_page_style'), t("Type of community page to show. 'Global community' shows every public posting from an open distributed network that arrived on this server."), $community_page_style_choices),
                '$max_author_posts_community_page' => array('max_author_posts_community_page', t("Posts per user on community page"), get_config('system','max_author_posts_community_page'), t("The maximum number of posts per user on the community page. (Not valid for 'Global Community')")),
                '$ostatus_disabled'     => array('ostatus_disabled', t("Enable OStatus support"), !get_config('system','ostatus_disabled'), t("Provide built-in OStatus \x28StatusNet, GNU Social etc.\x29 compatibility. All communications in OStatus are public, so privacy warnings will be occasionally displayed.")),
@@ -1040,7 +1029,6 @@ function admin_page_site(App $a) {
 
                '$nodeinfo'             => array('nodeinfo', t("Publish server information"), get_config('system','nodeinfo'), t("If enabled, general server and usage data will be published. The data contains the name and version of the server, number of users with public profiles, number of posts and the activated protocols and connectors. See <a href='http://the-federation.info/'>the-federation.info</a> for details.")),
 
-               '$use_fulltext_engine'  => array('use_fulltext_engine', t("Use MySQL full text engine"), get_config('system','use_fulltext_engine'), t("Activates the full text engine. Speeds up search - but can only search for four and more characters.")),
                '$suppress_tags'        => array('suppress_tags', t("Suppress Tags"), get_config('system','suppress_tags'), t("Suppress showing a list of hashtags at the end of the posting.")),
                '$itemcache'            => array('itemcache', t("Path to item cache"), get_config('system','itemcache'), t("The item caches buffers generated bbcode and external images.")),
                '$itemcache_duration'   => array('itemcache_duration', t("Cache duration in seconds"), get_config('system','itemcache_duration'), t("How long should the cache files be hold? Default value is 86400 seconds (One day). To disable the item cache, set the value to -1.")),
@@ -1053,7 +1041,6 @@ function admin_page_site(App $a) {
                '$relocate_url'         => array('relocate_url', t("New base url"), App::get_baseurl(), t("Change base url for this server. Sends relocate message to all DFRN contacts of all users.")),
 
                '$rino'                 => array('rino', t("RINO Encryption"), intval(get_config('system','rino_encrypt')), t("Encryption layer between nodes."), array("Disabled", "RINO1 (deprecated)", "RINO2")),
-               '$embedly'              => array('embedly', t("Embedly API key"), get_config('system','embedly'), t("<a href='http://embed.ly'>Embedly</a> is used to fetch additional data for web pages. This is an optional parameter.")),
 
                '$worker_queues'        => array('worker_queues', t("Maximum number of parallel workers"), get_config('system','worker_queues'), t("On shared hosters set this to 2. On larger systems, values of 10 are great. Default value is 4.")),
                '$worker_dont_fork'     => array('worker_dont_fork', t("Don't use 'proc_open' with the worker"), get_config('system','worker_dont_fork'), t("Enable this if your system doesn't allow the use of 'proc_open'. This can happen on shared hosters. If this is enabled you should increase the frequency of poller calls in your crontab.")),
@@ -2017,22 +2004,22 @@ function admin_page_features_post(App $a) {
        $features = get_features(false);
 
        foreach ($features as $fname => $fdata) {
-               foreach (array_slice($fdata,1) as $f) {
+               foreach (array_slice($fdata, 1) as $f) {
                        $feature = $f[0];
-                       $feature_state = 'feature_'.$feature;
-                       $featurelock = 'featurelock_'.$feature;
+                       $feature_state = 'feature_' . $feature;
+                       $featurelock = 'featurelock_' . $feature;
 
-                       if (x($_POST[$feature_state])) {
-                               $val = intval($_POST['feature_'.$feature]);
+                       if (x($_POST, $feature_state)) {
+                               $val = intval($_POST[$feature_state]);
                        } else {
                                $val = 0;
                        }
                        set_config('feature',$feature,$val);
 
-                       if (x($_POST[$featurelock])) {
-                               set_config('feature_lock',$feature,$val);
+                       if (x($_POST, $featurelock)) {
+                               set_config('feature_lock', $feature, $val);
                        } else {
-                               del_config('feature_lock',$feature);
+                               del_config('feature_lock', $feature);
                        }
                }
        }
@@ -2071,8 +2058,8 @@ function admin_page_features(App $a) {
                                        $set = $f[3];
                                }
                                $arr[$fname][1][] = array(
-                                       array('feature_' .$f[0],$f[1],$set,$f[2],array(t('Off'),t('On'))),
-                                       array('featurelock_' .$f[0],sprintf(t('Lock feature %s'),$f[1]),(($f[4] !== false) ? "1" : ''),'',array(t('Off'),t('On')))
+                                       array('feature_' .$f[0],$f[1],$set,$f[2],array(t('Off'), t('On'))),
+                                       array('featurelock_' .$f[0],sprintf(t('Lock feature %s'),$f[1]),(($f[4] !== false) ? "1" : ''),'',array(t('Off'), t('On')))
                                );
                        }
                }