X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=mod%2Fadmin.php;h=dd188b2ec1ae0dc89ef8c45b0c4872b2d54879d8;hb=c90e47556ac4b28ec628167197a105d07573a891;hp=e2b5b52a144c94bd1b940e310bdbe8ef1158c773;hpb=cab46e27724afccd4b9fe59fe9c00536cb390b2f;p=friendica.git diff --git a/mod/admin.php b/mod/admin.php index e2b5b52a14..dd188b2ec1 100644 --- a/mod/admin.php +++ b/mod/admin.php @@ -4,6 +4,8 @@ * Friendica admin */ require_once("include/remoteupdate.php"); +require_once("include/enotify.php"); +require_once("include/text.php"); /** @@ -221,6 +223,8 @@ function admin_page_summary(&$a) { '$accounts' => $accounts, '$pending' => Array( t('Pending registrations'), $pending), '$version' => Array( t('Version'), FRIENDICA_VERSION), + '$platform' => FRIENDICA_PLATFORM, + '$codename' => FRIENDICA_CODENAME, '$build' => get_config('system','build'), '$plugins' => Array( t('Active plugins'), $a->plugins ) )); @@ -274,7 +278,7 @@ function admin_page_site_post(&$a){ $q = sprintf("UPDATE %s SET %s;", $table_name, $upds); $r = q($q); if (!$r) { - notice( "Falied updating '$table_name': " . $db->error ); + notice( "Failed updating '$table_name': " . $db->error ); goaway($a->get_baseurl(true) . '/admin/site' ); } } @@ -304,6 +308,8 @@ function admin_page_site_post(&$a){ // end relocate $sitename = ((x($_POST,'sitename')) ? notags(trim($_POST['sitename'])) : ''); + $hostname = ((x($_POST,'hostname')) ? notags(trim($_POST['hostname'])) : ''); + $sender_email = ((x($_POST,'sender_email')) ? notags(trim($_POST['sender_email'])) : ''); $banner = ((x($_POST,'banner')) ? trim($_POST['banner']) : false); $info = ((x($_POST,'info')) ? trim($_POST['info']) : false); $language = ((x($_POST,'language')) ? notags(trim($_POST['language'])) : ''); @@ -350,6 +356,7 @@ function admin_page_site_post(&$a){ $ostatus_poll_interval = ((x($_POST,'ostatus_poll_interval')) ? intval(trim($_POST['ostatus_poll_interval'])) : 0); $diaspora_enabled = ((x($_POST,'diaspora_enabled')) ? True : False); $ssl_policy = ((x($_POST,'ssl_policy')) ? intval($_POST['ssl_policy']) : 0); + $force_ssl = ((x($_POST,'force_ssl')) ? True : False); $old_share = ((x($_POST,'old_share')) ? True : False); $hide_help = ((x($_POST,'hide_help')) ? True : False); $suppress_language = ((x($_POST,'suppress_language')) ? True : False); @@ -362,7 +369,7 @@ function admin_page_site_post(&$a){ $basepath = ((x($_POST,'basepath')) ? notags(trim($_POST['basepath'])) : ''); $singleuser = ((x($_POST,'singleuser')) ? notags(trim($_POST['singleuser'])) : ''); $proxy_disabled = ((x($_POST,'proxy_disabled')) ? True : False); - $enable_noscrape = ((x($_POST,'enable_noscrape')) ? true : false); + $disable_noscrape = ((x($_POST,'disable_noscrape')) ? true : false); if($ssl_policy != intval(get_config('system','ssl_policy'))) { if($ssl_policy == SSL_POLICY_FULL) { q("update `contact` set @@ -408,6 +415,8 @@ function admin_page_site_post(&$a){ set_config('system','poll_interval',$poll_interval); set_config('system','maxloadavg',$maxloadavg); set_config('config','sitename',$sitename); + set_config('config','hostname',$hostname); + set_config('config','sender_email', $sender_email); set_config('system','suppress_language',$suppress_language); if ($banner==""){ // don't know why, but del_config doesn't work... @@ -419,9 +428,9 @@ function admin_page_site_post(&$a){ set_config('system','banner', $banner); } if ($info=="") { - del_config('config','info'); + del_config('config','info'); } else { - set_config('config','info',$info); + set_config('config','info',$info); } set_config('system','language', $language); set_config('system','theme', $theme); @@ -429,12 +438,12 @@ function admin_page_site_post(&$a){ del_config('system','mobile-theme'); } else { set_config('system','mobile-theme', $theme_mobile); - } - if ( $singleuser === '---' ) { - del_config('system','singleuser'); - } else { - set_config('system','singleuser', $singleuser); - } + } + if ( $singleuser === '---' ) { + del_config('system','singleuser'); + } else { + set_config('system','singleuser', $singleuser); + } set_config('system','maximagesize', $maximagesize); set_config('system','max_image_length', $maximagelength); set_config('system','jpeg_quality', $jpegimagequality); @@ -473,10 +482,11 @@ function admin_page_site_post(&$a){ 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_poll_interval', $ostatus_poll_interval); set_config('system','diaspora_enabled', $diaspora_enabled); set_config('config','private_addons', $private_addons); + set_config('system','force_ssl', $force_ssl); set_config('system','old_share', $old_share); set_config('system','hide_help', $hide_help); set_config('system','use_fulltext_engine', $use_fulltext_engine); @@ -487,7 +497,7 @@ function admin_page_site_post(&$a){ set_config('system','temppath', $temppath); set_config('system','basepath', $basepath); set_config('system','proxy_disabled', $proxy_disabled); - set_config('system','enable_noscrape', $enable_noscrape); + set_config('system','disable_noscrape', $disable_noscrape); info( t('Site settings updated.') . EOL); goaway($a->get_baseurl(true) . '/admin/site' ); @@ -524,32 +534,32 @@ function admin_page_site(&$a) { foreach($files as $file) { $f = basename($file); $theme_name = ((file_exists($file . '/experimental')) ? sprintf("%s - \x28Experimental\x29", $f) : $f); - if (file_exists($file . '/mobile')) { - $theme_choices_mobile[$f] = $theme_name; - } + if (file_exists($file . '/mobile')) { + $theme_choices_mobile[$f] = $theme_name; + } else { - $theme_choices[$f] = $theme_name; + $theme_choices[$f] = $theme_name; } } - } + } - /* OStatus conversation poll choices */ - $ostatus_poll_choices = array( + /* OStatus conversation poll choices */ + $ostatus_poll_choices = array( "-2" => t("Never"), "-1" => t("At post arrival"), "0" => t("Frequently"), "60" => t("Hourly"), "720" => t("Twice daily"), "1440" => t("Daily") - ); + ); - /* get user names to make the install a personal install of X */ - $user_names = array(); - $user_names['---'] = t('Multi user instance'); - $users = q("SELECT username, nickname FROM `user`"); - foreach ($users as $user) { - $user_names[$user['nickname']] = $user['username']; - } + /* get user names to make the install a personal install of X */ + $user_names = array(); + $user_names['---'] = t('Multi user instance'); + $users = q("SELECT username, nickname FROM `user`"); + foreach ($users as $user) { + $user_names[$user['nickname']] = $user['username']; + } /* Banner */ $banner = get_config('system','banner'); @@ -579,6 +589,9 @@ function admin_page_site(&$a) { SSL_POLICY_SELFSIGN => t("Self-signed certificate, use SSL for local links only (discouraged)") ); + if ($a->config['hostname'] == "") + $a->config['hostname'] = $a->get_hostname(); + $t = get_markup_template("admin_site.tpl"); return replace_macros($t, array( '$title' => t('Administration'), @@ -593,12 +606,15 @@ function admin_page_site(&$a) { '$baseurl' => $a->get_baseurl(true), // name, label, value, help string, extra data... '$sitename' => array('sitename', t("Site name"), htmlentities($a->config['sitename'], ENT_QUOTES), 'UTF-8'), + '$hostname' => array('hostname', t("Host name"), $a->config['hostname'], ""), + '$sender_email' => array('sender_email', t("Sender Email"), $a->config['sender_email'], ""), '$banner' => array('banner', t("Banner/Logo"), $banner, ""), '$info' => array('info',t('Additional Info'), $info, t('For public servers: you can add additional information here that will be listed at dir.friendica.com/siteinfo.')), '$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 - change theme settings"), $theme_choices), '$theme_mobile' => array('theme_mobile', t("Mobile system theme"), get_config('system','mobile-theme'), t("Theme for mobile devices"), $theme_choices_mobile), '$ssl_policy' => array('ssl_policy', t("SSL link policy"), (string) intval(get_config('system','ssl_policy')), t("Determines whether generated links should be forced to use SSL"), $ssl_choices), + '$force_ssl' => array('force_ssl', t("Force SSL"), get_config('system','force_ssl'), t("Force all Non-SSL requests to SSL - Attention: on some systems it could lead to endless loops.")), '$old_share' => array('old_share', t("Old style 'Share'"), get_config('system','old_share'), t("Deactivates the bbcode element 'share' for repeating items.")), '$hide_help' => array('hide_help', t("Hide help entry from navigation menu"), get_config('system','hide_help'), t("Hides the menu entry for the Help pages from the navigation menu. You can still access it calling /help directly.")), '$singleuser' => array('singleuser', t("Single user instance"), get_config('system','singleuser'), t("Make this instance multi-user or single-user for the named user"), $user_names), @@ -626,9 +642,9 @@ function admin_page_site(&$a) { '$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")), '$no_community_page' => array('no_community_page', t("Show Community Page"), !get_config('system','no_community_page'), t("Display a Community page showing all recent public postings on this site.")), - '$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.")), + '$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.")), '$ostatus_poll_interval' => array('ostatus_poll_interval', t("OStatus conversation completion interval"), (string) intval(get_config('system','ostatus_poll_interval')), t("How often shall the poller check for new entries in OStatus conversations? This can be a very ressource task."), $ostatus_poll_choices), - '$diaspora_enabled' => array('diaspora_enabled', t("Enable Diaspora support"), get_config('system','diaspora_enabled'), t("Provide built-in Diaspora network compatibility.")), + '$diaspora_enabled' => array('diaspora_enabled', t("Enable Diaspora support"), get_config('system','diaspora_enabled'), t("Provide built-in Diaspora network compatibility.")), '$dfrn_only' => array('dfrn_only', t('Only allow Friendica contacts'), get_config('system','dfrn_only'), t("All contacts must use Friendica protocols. All other built-in communication protocols disabled.")), '$verifyssl' => array('verifyssl', t("Verify SSL"), get_config('system','verifyssl'), t("If you wish, you can turn on strict certificate checking. This will mean you cannot connect (at all) to self-signed SSL sites.")), '$proxyuser' => array('proxyuser', t("Proxy user"), get_config('system','proxyuser'), ""), @@ -650,8 +666,8 @@ function admin_page_site(&$a) { '$relocate_url' => array('relocate_url', t("New base url"), $a->get_baseurl(), "Change base url for this server. Sends relocate message to all DFRN contacts of all users."), - '$enable_noscrape'=> array('enable_noscrape', t("Enable noscrape"), get_config('system','enable_noscrape'), t("The noscrape feature speeds up directory submissions by using JSON data instead of HTML scraping.")), - '$form_security_token' => get_form_security_token("admin_site") + '$disable_noscrape'=> array('disable_noscrape', t("Disable noscrape"), get_config('system','disable_noscrape'), t("The noscrape feature speeds up directory submissions by using JSON data instead of HTML scraping. Disabling it will cause higher load on your server and the directory server.")), + '$form_security_token' => get_form_security_token("admin_site") )); @@ -744,39 +760,61 @@ function admin_page_dbsync(&$a) { function admin_page_users_post(&$a){ $pending = ( x($_POST, 'pending') ? $_POST['pending'] : Array() ); $users = ( x($_POST, 'user') ? $_POST['user'] : Array() ); - $nu_name = ( x($_POST, 'new_user_name') ? $_POST['new_user_name'] : ''); - $nu_nickname = ( x($_POST, 'new_user_nickname') ? $_POST['new_user_nickname'] : ''); - $nu_email = ( x($_POST, 'new_user_email') ? $_POST['new_user_email'] : ''); - - check_form_security_token_redirectOnErr('/admin/users', 'admin_users'); - - if (!($nu_name==="") && !($nu_email==="") && !($nu_nickname==="")) { - require_once('include/user.php'); - require_once('include/email.php'); - $result = create_user( array('username'=>$nu_name, 'email'=>$nu_email, 'nickname'=>$nu_nickname, 'verified'=>1) ); - if(! $result['success']) { - notice($result['message']); - return; - } - $nu = $result['user']; - $email_tpl = get_intltext_template("register_adminadd_eml.tpl"); - $email_tpl = replace_macros($email_tpl, array( - '$sitename' => $a->config['sitename'], - '$siteurl' => $a->get_baseurl(), - '$username' => $nu['username'], - '$email' => $nu['email'], - '$password' => $result['password'], - '$uid' => $nu['uid'] )); - - $res = mail($nu['email'], email_header_encode( sprintf( t('Registration details for %s'), $a->config['sitename']),'UTF-8'), - $email_tpl, - 'From: ' . 'Administrator' . '@' . $_SERVER['SERVER_NAME'] . "\n" - . 'Content-type: text/plain; charset=UTF-8' . "\n" - . 'Content-transfer-encoding: 8bit' ); - if ($res) { - info( t('Registration successful. Email send to user').EOL ); - } - } + $nu_name = ( x($_POST, 'new_user_name') ? $_POST['new_user_name'] : ''); + $nu_nickname = ( x($_POST, 'new_user_nickname') ? $_POST['new_user_nickname'] : ''); + $nu_email = ( x($_POST, 'new_user_email') ? $_POST['new_user_email'] : ''); + + check_form_security_token_redirectOnErr('/admin/users', 'admin_users'); + + if (!($nu_name==="") && !($nu_email==="") && !($nu_nickname==="")) { + require_once('include/user.php'); + + $result = create_user( array('username'=>$nu_name, 'email'=>$nu_email, 'nickname'=>$nu_nickname, 'verified'=>1) ); + if(! $result['success']) { + notice($result['message']); + return; + } + $nu = $result['user']; + $preamble = deindent(t(' + Dear %1$s, + the administrator of %2$s has set up an account for you.')); + $body = deindent(t(' + The login details are as follows: + + Site Location: %1$s + Login Name: %2$s + Password: %3$s + + You may change your password from your account "Settings" page after logging + in. + + Please take a few moments to review the other account settings on that page. + + You may also wish to add some basic information to your default profile + (on the "Profiles" page) so that other people can easily find you. + + We recommend setting your full name, adding a profile photo, + adding some profile "keywords" (very useful in making new friends) - and + perhaps what country you live in; if you do not wish to be more specific + than that. + + We fully respect your right to privacy, and none of these items are necessary. + If you are new and do not know anybody here, they may help + you to make some new and interesting friends. + + Thank you and welcome to %4$s.')); + + $preamble = sprintf($preamble, $nu['username'], $a->config['sitename']); + $body = sprintf($body, $a->get_baseurl(), $nu['email'], $result['password'], $a->config['sitename']); + + notification(array( + 'type' => "SYSTEM_EMAIL", + 'to_email' => $nu['email'], + 'subject'=> sprintf( t('Registration details for %s'), $a->config['sitename']), + 'preamble'=> $preamble, + 'body' => $body)); + + } if (x($_POST,'page_users_block')){ foreach($users as $uid){ @@ -825,7 +863,7 @@ function admin_page_users(&$a){ } switch($a->argv[2]){ case "delete":{ - check_form_security_token_redirectOnErr('/admin/users', 'admin_users', 't'); + check_form_security_token_redirectOnErr('/admin/users', 'admin_users', 't'); // delete user require_once("include/Contact.php"); user_remove($uid); @@ -833,7 +871,7 @@ function admin_page_users(&$a){ notice( sprintf(t("User '%s' deleted"), $user[0]['username']) . EOL); }; break; case "block":{ - check_form_security_token_redirectOnErr('/admin/users', 'admin_users', 't'); + check_form_security_token_redirectOnErr('/admin/users', 'admin_users', 't'); q("UPDATE `user` SET `blocked`=%d WHERE `uid`=%s", intval( 1-$user[0]['blocked'] ), intval( $uid ) @@ -889,7 +927,7 @@ function admin_page_users(&$a){ t('Normal Account'), t('Soapbox Account'), t('Community/Celebrity Account'), - t('Automatic Friend Account') + t('Automatic Friend Account') ); $e['page-flags'] = $accounts[$e['page-flags']]; $e['register_date'] = relative_date($e['register_date']); @@ -965,7 +1003,7 @@ function admin_page_users(&$a){ '$users' => $users, '$newusername' => array('new_user_name', t("Name"), '', t("Name of the new user.")), '$newusernickname' => array('new_user_nickname', t("Nickname"), '', t("Nickname of the new user.")), - '$newuseremail' => array('new_user_email', t("Email"), '', t("Email address of the new user.")), + '$newuseremail' => array('new_user_email', t("Email"), '', t("Email address of the new user."), '', '', 'email'), )); $o .= paginate($a); return $o; @@ -1094,7 +1132,7 @@ function admin_page_plugins(&$a){ '$baseurl' => $a->get_baseurl(true), '$function' => 'plugins', '$plugins' => $plugins, - '$form_security_token' => get_form_security_token("admin_themes"), + '$form_security_token' => get_form_security_token("admin_themes"), )); } @@ -1298,7 +1336,7 @@ function admin_page_themes(&$a){ '$plugins' => $xthemes, '$experimental' => t('[Experimental]'), '$unsupported' => t('[Unsupported]'), - '$form_security_token' => get_form_security_token("admin_themes"), + '$form_security_token' => get_form_security_token("admin_themes"), )); } @@ -1311,7 +1349,7 @@ function admin_page_themes(&$a){ function admin_page_logs_post(&$a) { if (x($_POST,"page_logs")) { - check_form_security_token_redirectOnErr('/admin/logs', 'admin_logs'); + check_form_security_token_redirectOnErr('/admin/logs', 'admin_logs'); $logfile = ((x($_POST,'logfile')) ? notags(trim($_POST['logfile'])) : ''); $debugging = ((x($_POST,'debugging')) ? true : false); @@ -1350,7 +1388,7 @@ function admin_page_logs(&$a){ $data = ''; if(!file_exists($f)) { - $data = t("Error trying to open $f log file.\r\n
Check to see if file $f exist and is + $data = t("Error trying to open $f log file.\r\n
Check to see if file $f exist and is readable."); } else { @@ -1390,7 +1428,7 @@ readable."); '$logfile' => array('logfile', t("Log file"), get_config('system','logfile'), t("Must be writable by web server. Relative to your Friendica top-level directory.")), '$loglevel' => array('loglevel', t("Log level"), get_config('system','loglevel'), "", $log_choices), - '$form_security_token' => get_form_security_token("admin_logs"), + '$form_security_token' => get_form_security_token("admin_logs"), )); }