finish issue #7 - remove admininfo as well as siteinfo endpoint.

This commit is contained in:
Mike Macgirvin 2022-08-29 21:19:51 -07:00
parent 1be301f06f
commit fbe31cef60
6 changed files with 160 additions and 237 deletions

View file

@ -2710,13 +2710,6 @@ class Libzot
$access_policy = ACCESS_PRIVATE; $access_policy = ACCESS_PRIVATE;
} }
if ($access_policy != ACCESS_PRIVATE) {
$x = Url::get($arr['url'] . '/siteinfo.json');
if (!$x['success']) {
$access_policy = ACCESS_PRIVATE;
}
}
$site_about = EMPTY_STR; $site_about = EMPTY_STR;
$site_logo = EMPTY_STR; $site_logo = EMPTY_STR;
$sitename = EMPTY_STR; $sitename = EMPTY_STR;

View file

@ -34,13 +34,10 @@ class Site
$sitename = ((x($_POST, 'sitename')) ? notags(trim($_POST['sitename'])) : App::get_hostname()); $sitename = ((x($_POST, 'sitename')) ? notags(trim($_POST['sitename'])) : App::get_hostname());
$admininfo = ((x($_POST, 'admininfo')) ? trim($_POST['admininfo']) : false);
$siteinfo = ((x($_POST, 'siteinfo')) ? trim($_POST['siteinfo']) : ''); $siteinfo = ((x($_POST, 'siteinfo')) ? trim($_POST['siteinfo']) : '');
$legal = ((x($_POST, 'legal')) ? trim($_POST['legal']) : ''); $legal = ((x($_POST, 'legal')) ? trim($_POST['legal']) : '');
$language = ((x($_POST, 'language')) ? notags(trim($_POST['language'])) : 'en'); $language = ((x($_POST, 'language')) ? notags(trim($_POST['language'])) : 'en');
$theme = ((x($_POST, 'theme')) ? notags(trim($_POST['theme'])) : ''); $theme = ((x($_POST, 'theme')) ? notags(trim($_POST['theme'])) : '');
// $theme_mobile = ((x($_POST,'theme_mobile')) ? notags(trim($_POST['theme_mobile'])) : '');
// $site_channel = ((x($_POST,'site_channel')) ? notags(trim($_POST['site_channel'])) : '');
$maximagesize = ((x($_POST, 'maximagesize')) ? intval(trim($_POST['maximagesize'])) : 0); $maximagesize = ((x($_POST, 'maximagesize')) ? intval(trim($_POST['maximagesize'])) : 0);
$register_policy = ((x($_POST, 'register_policy')) ? intval(trim($_POST['register_policy'])) : 0); $register_policy = ((x($_POST, 'register_policy')) ? intval(trim($_POST['register_policy'])) : 0);
@ -128,12 +125,6 @@ class Site
set_config('system', 'tos_required', $tos_required); set_config('system', 'tos_required', $tos_required);
PConfig::Set(App::$sys_channel['channel_id'], 'system', 'legal', $legal); PConfig::Set(App::$sys_channel['channel_id'], 'system', 'legal', $legal);
if ($admininfo == '') {
del_config('system', 'admininfo');
} else {
linkify_tags($admininfo, local_channel());
set_config('system', 'admininfo', $admininfo);
}
set_config('system', 'siteinfo', $siteinfo); set_config('system', 'siteinfo', $siteinfo);
// sync sitename and siteinfo updates to the system channel // sync sitename and siteinfo updates to the system channel
@ -249,8 +240,6 @@ class Site
/* Admin Info */ /* Admin Info */
$admininfo = get_config('system', 'admininfo');
/* Register policy */ /* Register policy */
$register_choices = [ $register_choices = [
REGISTER_CLOSED => t("No"), REGISTER_CLOSED => t("No"),
@ -290,9 +279,8 @@ class Site
'$advanced' => t('Advanced'), '$advanced' => t('Advanced'),
'$baseurl' => z_root(), '$baseurl' => z_root(),
'$sitename' => ['sitename', t("Site name"), htmlspecialchars(get_config('system', 'sitename', App::get_hostname()), ENT_QUOTES, 'UTF-8'), ''], '$sitename' => ['sitename', t("Site name"), htmlspecialchars(get_config('system', 'sitename', App::get_hostname()), ENT_QUOTES, 'UTF-8'), ''],
'$admininfo' => ['admininfo', t("Administrator Information"), $admininfo, t("Contact information for site administrators. Displayed on siteinfo page. Multicode may be used here.")], '$siteinfo' => ['siteinfo', t('Site Information'), get_config('system', 'siteinfo'), t("Description of this site. Multicode may be used here.")],
'$siteinfo' => ['siteinfo', t('Site Information'), get_config('system', 'siteinfo'), t("Publicly visible description of this site. Displayed on siteinfo page. Multicode may be used here.")], '$legal' => ['legal',t('Legal Information'), htmlspecialchars($legal), t('Multicode may be used here.')],
'$legal' => ['legal',t('Legal Information'), htmlspecialchars($legal), ''],
'$language' => ['language', t("System language"), get_config('system', 'language', 'en'), "", $lang_choices], '$language' => ['language', t("System language"), get_config('system', 'language', 'en'), "", $lang_choices],
'$theme' => ['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' => ['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' => [ 'theme_mobile', t("Mobile system theme"), get_config('system','mobile_theme'), t("Theme for mobile devices"), $theme_choices_mobile ], // '$theme_mobile' => [ 'theme_mobile', t("Mobile system theme"), get_config('system','mobile_theme'), t("Theme for mobile devices"), $theme_choices_mobile ],

View file

@ -29,7 +29,10 @@ class Fastping extends Controller
public function init() public function init()
{ {
// Provide a general purpose ping endpoint to check server health.
if (argc() > 1 && argv(1) === 'pong') {
json_return_and_die(['success' => true ]);
}
$result['notice'] = []; $result['notice'] = [];
$result['info'] = []; $result['info'] = [];

View file

@ -1,59 +0,0 @@
<?php
namespace Code\Module;
use Code\Lib\System;
use Code\Lib\Config;
use Code\Web\Controller;
use Code\Extend\Hook;
use Code\Render\Theme;
class Siteinfo extends Controller
{
public function get()
{
$federated = 'Nomad';
if (Config::get('system', 'activitypub', true)) {
$federated .= ', ActivityPub';
}
Hook::call('federated_transports', $federated);
$siteinfo = replace_macros(
Theme::get_template('siteinfo.tpl'),
[
'$title' => t('About this site'),
'$url' => z_root(),
'$sitenametxt' => t('Site Name'),
'$sitename' => System::get_site_name(),
'$headline' => t('Site Information'),
'$site_about' => bbcode(get_config('system', 'siteinfo')),
'$admin_headline' => t('Administrator'),
'$admin_about' => bbcode(get_config('system', 'admininfo')),
'$terms' => t('Terms of Service'),
'$prj_header' => t('Software and Project information'),
'$prj_name' => t('This site is powered by $Projectname'),
'$prj_transport' => t('Federated and decentralised networking and identity services provided by Nomad'),
'$transport_link' => '<a href="https://zotlabs.com">https://zotlabs.com</a>',
'$ebs' => System::ebs(),
'$additional_text' => t('Protocols:'),
'$additional_fed' => $federated,
'$prj_version' => ((get_config('system', 'hidden_version_siteinfo')) ? '' : sprintf(t('Version %s'), System::get_project_version())),
'$prj_linktxt' => t('Project homepage'),
'$prj_srctxt' => t('Developer homepage'),
'$prj_link' => System::get_project_link(),
'$prj_src' => System::get_project_srclink(),
'$prj_icon' => System::get_site_icon(),
]
);
Hook::call('about_hook', $siteinfo);
return $siteinfo;
}
}

View file

@ -2460,10 +2460,9 @@ function z_get_temp_dir() {
*/ */
function z_check_cert() { function z_check_cert() {
if(strpos(z_root(), 'https://') !== false) { if(strpos(z_root(), 'https://') !== false) {
$x = Url::get(z_root() . '/siteinfo'); $x = Url::get(z_root() . '/fastping/pong');
if(! $x['success']) { if(! $x['success']) {
$recurse = 0; $y = Url::get(z_root() . '/fastping/pong', ['novalidate' => true]);
$y = Url::get(z_root() . '/siteinfo', ['novalidate' => true]);
if($y['success']) if($y['success'])
cert_bad_email(); cert_bad_email();
} }

View file

@ -1,159 +1,158 @@
<script> <script>
$(function(){ $(function() {
$("#cnftheme").colorbox({ $("#cnftheme").colorbox({
width: 800, width: 800,
onLoad: function(){ onLoad: function(){
var theme = $("#id_theme :selected").val(); var theme = $("#id_theme :selected").val();
$("#cnftheme").attr('href',"{{$baseurl}}/admin/themes/"+theme); $("#cnftheme").attr('href',"{{$baseurl}}/admin/themes/"+theme);
}, },
onComplete: function(){ onComplete: function(){
$(this).colorbox.resize(); $(this).colorbox.resize();
$("#colorbox form").submit(function(e){ $("#colorbox form").submit(function(e){
var url = $(this).attr('action'); var url = $(this).attr('action');
// can't get .serialize() to work... // can't get .serialize() to work...
var data={}; var data={};
$(this).find("input").each(function(){ $(this).find("input").each(function(){
data[$(this).attr('name')] = $(this).val(); data[$(this).attr('name')] = $(this).val();
}); });
$(this).find("select").each(function(){ $(this).find("select").each(function(){
data[$(this).attr('name')] = $(this).children(":selected").val(); data[$(this).attr('name')] = $(this).children(":selected").val();
}); });
console.log(":)", url, data); console.log(":)", url, data);
$.post(url, data, function(data) { $.post(url, data, function(data) {
if(timer) clearTimeout(timer); if(timer) clearTimeout(timer);
updateInit(); updateInit();
$.colorbox.close(); $.colorbox.close();
}) })
return false; return false;
}); });
} }
}); });
}); });
</script> </script>
<div id="adminpage" class="generic-content-wrapper"> <div id="adminpage" class="generic-content-wrapper">
<div class="section-title-wrapper"> <div class="section-title-wrapper">
<h2>{{$title}} - {{$page}}</h2> <h2>{{$title}} - {{$page}}</h2>
<div class="clear"></div> <div class="clear"></div>
</div> </div>
<form action="{{$baseurl}}/admin/site" method="post"> <form action="{{$baseurl}}/admin/site" method="post">
<input type='hidden' name='form_security_token' value='{{$form_security_token}}'> <input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
<div class="panel-group" id="settings" role="tablist" aria-multiselectable="true"> <div class="panel-group" id="settings" role="tablist" aria-multiselectable="true">
<div class="panel"> <div class="panel">
<div class="section-subtitle-wrapper" role="tab" id="basic-settings"> <div class="section-subtitle-wrapper" role="tab" id="basic-settings">
<h3> <h3>
<a data-toggle="collapse" data-target="#basic-settings-collapse" href="#"> <a data-toggle="collapse" data-target="#basic-settings-collapse" href="#">
{{$h_basic}} {{$h_basic}}
</a> </a>
</h3> </h3>
</div> </div>
<div id="basic-settings-collapse" class="collapse show" role="tabpanel" aria-labelledby="basic-settings" data-parent="#settings"> <div id="basic-settings-collapse" class="collapse show" role="tabpanel" aria-labelledby="basic-settings" data-parent="#settings">
<div class="section-content-tools-wrapper"> <div class="section-content-tools-wrapper">
{{include file="field_input.tpl" field=$sitename}} {{include file="field_input.tpl" field=$sitename}}
{{include file="field_textarea.tpl" field=$siteinfo}} {{include file="field_textarea.tpl" field=$siteinfo}}
{{include file="field_textarea.tpl" field=$admininfo}} {{include file="field_textarea.tpl" field=$legal}}
{{include file="field_textarea.tpl" field=$legal}} {{include file="field_input.tpl" field=$reply_address}}
{{include file="field_input.tpl" field=$reply_address}} {{include file="field_input.tpl" field=$from_email}}
{{include file="field_input.tpl" field=$from_email}} {{include file="field_input.tpl" field=$from_email_name}}
{{include file="field_input.tpl" field=$from_email_name}} {{include file="field_select.tpl" field=$language}}
{{include file="field_select.tpl" field=$language}} {{include file="field_select.tpl" field=$theme}}
{{include file="field_select.tpl" field=$theme}} {{include file="field_input.tpl" field=$frontpage}}
{{include file="field_input.tpl" field=$frontpage}} {{include file="field_checkbox.tpl" field=$mirror_frontpage}}
{{include file="field_checkbox.tpl" field=$mirror_frontpage}} {{include file="field_checkbox.tpl" field=$login_on_homepage}}
{{include file="field_checkbox.tpl" field=$login_on_homepage}} <div class="settings-submit-wrapper" >
<div class="settings-submit-wrapper" > <button type="submit" name="page_site" class="btn btn-primary" value="1" >{{$submit}}</button>
<button type="submit" name="page_site" class="btn btn-primary" value="1" >{{$submit}}</button> </div>
</div> </div>
</div> </div>
</div> </div>
</div> <div class="panel">
<div class="panel"> <div class="section-subtitle-wrapper" role="tab" id="reg-settings">
<div class="section-subtitle-wrapper" role="tab" id="reg-settings"> <h3>
<h3> <a data-toggle="collapse" data-target="#reg-settings-collapse" href="#">
<a data-toggle="collapse" data-target="#reg-settings-collapse" href="#"> {{$registration}}
{{$registration}} </a>
</a> </h3>
</h3> </div>
</div> <div id="reg-settings-collapse" class="collapse" role="tabpanel" aria-labelledby="reg-settings" data-parent="#settings">
<div id="reg-settings-collapse" class="collapse" role="tabpanel" aria-labelledby="reg-settings" data-parent="#settings"> <div class="section-content-tools-wrapper">
<div class="section-content-tools-wrapper"> {{include file="field_select.tpl" field=$register_policy}}
{{include file="field_select.tpl" field=$register_policy}} {{if $invite_working}}{{include file="field_checkbox.tpl" field=$invite_only}}{{/if}}
{{if $invite_working}}{{include file="field_checkbox.tpl" field=$invite_only}}{{/if}} {{include file="field_select.tpl" field=$access_policy}}
{{include file="field_select.tpl" field=$access_policy}} {{include file="field_input.tpl" field=$register_text}}
{{include file="field_input.tpl" field=$register_text}} {{include file="field_select_grouped.tpl" field=$role}}
{{include file="field_select_grouped.tpl" field=$role}} {{include file="field_checkbox.tpl" field=$tos_required}}
{{include file="field_checkbox.tpl" field=$tos_required}} {{include file="field_input.tpl" field=$minimum_age}}
{{include file="field_input.tpl" field=$minimum_age}} {{include file="field_input.tpl" field=$location}}
{{include file="field_input.tpl" field=$location}} {{include file="field_input.tpl" field=$sellpage}}
{{include file="field_input.tpl" field=$sellpage}} {{include file="field_input.tpl" field=$first_page}}
{{include file="field_input.tpl" field=$first_page}} <div class="settings-submit-wrapper" >
<div class="settings-submit-wrapper" > <button type="submit" name="page_site" class="btn btn-primary" value="1" >{{$submit}}</button>
<button type="submit" name="page_site" class="btn btn-primary" value="1" >{{$submit}}</button> </div>
</div> </div>
</div> </div>
</div> </div>
</div> <div class="panel">
<div class="panel"> <div class="section-subtitle-wrapper" role="tab" id="corp-settings">
<div class="section-subtitle-wrapper" role="tab" id="corp-settings"> <h3>
<h3> <a data-toggle="collapse" data-target="#corp-settings-collapse" href="#">
<a data-toggle="collapse" data-target="#corp-settings-collapse" href="#"> {{$corporate}}
{{$corporate}} </a>
</a> </h3>
</h3> </div>
</div> <div id="corp-settings-collapse" class="collapse" role="tabpanel" aria-labelledby="corp-settings" data-parent="#settings">
<div id="corp-settings-collapse" class="collapse" role="tabpanel" aria-labelledby="corp-settings" data-parent="#settings"> <div class="section-content-tools-wrapper">
<div class="section-content-tools-wrapper"> {{include file="field_checkbox.tpl" field=$verify_email}}
{{include file="field_checkbox.tpl" field=$verify_email}} {{include file="field_checkbox.tpl" field=$show_like_counts}}
{{include file="field_checkbox.tpl" field=$show_like_counts}} {{include file="field_checkbox.tpl" field=$ap_contacts}}
{{include file="field_checkbox.tpl" field=$ap_contacts}} {{include file="field_checkbox.tpl" field=$animations}}
{{include file="field_checkbox.tpl" field=$animations}} {{include file="field_checkbox.tpl" field=$force_publish}}
{{include file="field_checkbox.tpl" field=$force_publish}} {{include file="field_select.tpl" field=$public_stream_mode}}
{{include file="field_select.tpl" field=$public_stream_mode}} {{include file="field_checkbox.tpl" field=$open_pubstream}}
{{include file="field_checkbox.tpl" field=$open_pubstream}} {{include file="field_textarea.tpl" field=$incl}}
{{include file="field_textarea.tpl" field=$incl}} {{include file="field_textarea.tpl" field=$excl}}
{{include file="field_textarea.tpl" field=$excl}} <div class="settings-submit-wrapper" >
<div class="settings-submit-wrapper" > <button type="submit" name="page_site" class="btn btn-primary" value="1" >{{$submit}}</button>
<button type="submit" name="page_site" class="btn btn-primary" value="1" >{{$submit}}</button> </div>
</div> </div>
</div> </div>
</div> </div>
</div> <div class="panel">
<div class="panel"> <div class="section-subtitle-wrapper" role="tab" id="adv-settings">
<div class="section-subtitle-wrapper" role="tab" id="adv-settings"> <h3>
<h3> <a data-toggle="collapse" data-target="#adv-settings-collapse" href="#">
<a data-toggle="collapse" data-target="#adv-settings-collapse" href="#"> {{$advanced}}
{{$advanced}} </a>
</a> </h3>
</h3> </div>
</div> <div id="adv-settings-collapse" class="collapse" role="tabpanel" aria-labelledby="adv-settings" data-parent="#settings">
<div id="adv-settings-collapse" class="collapse" role="tabpanel" aria-labelledby="adv-settings" data-parent="#settings"> <div class="section-content-tools-wrapper">
<div class="section-content-tools-wrapper"> {{include file="field_input.tpl" field=$imagick_path}}
{{include file="field_input.tpl" field=$imagick_path}} {{include file="field_checkbox.tpl" field=$cache_images}}
{{include file="field_checkbox.tpl" field=$cache_images}} {{include file="field_input.tpl" field=$max_imported_follow}}
{{include file="field_input.tpl" field=$max_imported_follow}} {{include file="field_input.tpl" field=$proxy}}
{{include file="field_input.tpl" field=$proxy}} {{include file="field_input.tpl" field=$proxyuser}}
{{include file="field_input.tpl" field=$proxyuser}} {{include file="field_input.tpl" field=$timeout}}
{{include file="field_input.tpl" field=$timeout}} {{include file="field_input.tpl" field=$post_timeout}}
{{include file="field_input.tpl" field=$post_timeout}} {{include file="field_input.tpl" field=$delivery_interval}}
{{include file="field_input.tpl" field=$delivery_interval}} {{include file="field_input.tpl" field=$delivery_batch_count}}
{{include file="field_input.tpl" field=$delivery_batch_count}} {{include file="field_input.tpl" field=$force_queue}}
{{include file="field_input.tpl" field=$force_queue}} {{include file="field_input.tpl" field=$poll_interval}}
{{include file="field_input.tpl" field=$poll_interval}} {{include file="field_input.tpl" field=$maxloadavg}}
{{include file="field_input.tpl" field=$maxloadavg}} {{include file="field_input.tpl" field=$abandon_days}}
{{include file="field_input.tpl" field=$abandon_days}} {{include file="field_input.tpl" field=$default_expire_days}}
{{include file="field_input.tpl" field=$default_expire_days}} {{include file="field_input.tpl" field=$active_expire_days}}
{{include file="field_input.tpl" field=$active_expire_days}} <div class="settings-submit-wrapper" >
<div class="settings-submit-wrapper" > <button type="submit" name="page_site" class="btn btn-primary" value="1" >{{$submit}}</button>
<button type="submit" name="page_site" class="btn btn-primary" value="1" >{{$submit}}</button> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </form>
</form>
</div> </div>