From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bernhard Bitsch To: development@lists.ipfire.org Subject: Re: [PATCH v2 1/3] webinterface: Add links to the configuration wiki Date: Wed, 06 Oct 2021 11:23:01 +0200 Message-ID: <1e5161eb-478a-fd66-5bd3-136f69117927@ipfire.org> In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6084559745368723889==" List-Id: --===============6084559745368723889== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hi, I've just included the file into my system. There are no problems. So a new patch with this file can start the formal verification and test=20 process. The original patch has some flaws ( function name, location in source )=20 I will comment in an extra answer. Regards, Bernhard Am 06.10.2021 um 05:18 schrieb Jon Murphy: > Leo, >=20 > This should be complete. But I don't know how to test. >=20 > Jon >=20 >=20 >=20 >=20 >=20 >> On Oct 4, 2021, at 10:40 PM, Jon Murphy wrote: >> >> Here is a quick template to get started: >> >> >> >> >> >> I'll keep going tomorrow. >> >> >> Jon >> >> >> >>> On Oct 4, 2021, at 12:42 PM, Leo Hofmann wrote: >>> >>> Hi all, >>> >>> @Bernhard, Thank you again for testing this patch! >>> >>> @Jon, This is the file format of the manualpages configuration: >>> >>> [cgi basename]=3D[path/to/page] >>> >>> For example: >>> >>>> BASE_URL=3Dhttps://wiki.ipfire.org >>>> index=3Dconfiguration/system/startpage >>> >>> Results in "index.cgi" linking to "https://wiki.ipfire.org/configuration/= system/startpage". >>> Please note that the path does not start with a slash, because the get_ma= nualpage_url function always adds one between the base url and the path. >>> >>> Unfortunately, I couldn't figure out how to include all this in the insta= ller and I need help with that. >>> So I would suggest we wait until this has been approved and integrated. >>> >>> Regards, >>> Leo >>> >>> Am 28.09.2021 um 14:55 schrieb Bernhard Bitsch: >>>> Reviewed-by: Bernhard Bitsch >>>> Tested-by: Bernhard Bitsch >>>> >>>> Am 28.09.2021 um 13:09 schrieb Leo-Andres Hofmann: >>>>> This patch adds a little "help" icon to the page header. >>>>> If a manual entry exists for a configuration page, the icon >>>>> appears and offers a quick way to access the wiki. >>>>> Wiki pages can be configured in the "manualpages" file. >>>>> >>>>> Signed-off-by: Leo-Andres Hofmann >>>>> --- >>>>> config/cfgroot/header.pl | 20 +++++++++++++++++++ >>>>> config/cfgroot/manualpages | 7 +++++++ >>>>> html/html/themes/ipfire/include/css/style.css | 13 ++++++++++++ >>>>> html/html/themes/ipfire/include/functions.pl | 17 +++++++++++++++- >>>>> 4 files changed, 56 insertions(+), 1 deletion(-) >>>>> create mode 100644 config/cfgroot/manualpages >>>>> >>>>> diff --git a/config/cfgroot/header.pl b/config/cfgroot/header.pl >>>>> index 79accbe8a..e97f90d67 100644 >>>>> --- a/config/cfgroot/header.pl >>>>> +++ b/config/cfgroot/header.pl >>>>> @@ -91,7 +91,11 @@ if ( -d "/var/ipfire/langs/${language}/" ) { >>>>> }; >>>>> }; >>>>> +### Initialize user manual >>>>> +my %manualpages =3D (); >>>>> +&General::readhash("${General::swroot}/main/manualpages", \%manualpage= s); >>>>> +### Load selected language and theme functions >>>>> require "${swroot}/langs/en.pl"; >>>>> require "${swroot}/langs/${language}.pl"; >>>>> eval `/bin/cat /srv/web/ipfire/html/themes/ipfire/include/functions.p= l`; >>>>> @@ -553,3 +557,19 @@ sub colorize { >>>>> return $string; >>>>> } >>>>> } >>>>> + >>>>> +# Get user manual URL for the specified configuration page, returns em= pty if no entry is configured >>>>> +sub get_manualpage_url() { >>>>> + my ($cgi_page) =3D @_; >>>>> + >>>>> + # Ensure base url is configured >>>>> + return unless($manualpages{'BASE_URL'}); >>>>> + >>>>> + # Return URL >>>>> + if($cgi_page && defined($manualpages{$cgi_page})) { >>>>> + return "$manualpages{'BASE_URL'}/$manualpages{$cgi_page}"; >>>>> + } >>>>> + >>>>> + # No manual page configured, return nothing >>>>> + return; >>>>> +} >>>>> diff --git a/config/cfgroot/manualpages b/config/cfgroot/manualpages >>>>> new file mode 100644 >>>>> index 000000000..e5ab1a13c >>>>> --- /dev/null >>>>> +++ b/config/cfgroot/manualpages >>>>> @@ -0,0 +1,7 @@ >>>>> +# User manual base URL (without trailing slash) >>>>> +BASE_URL=3Dhttps://wiki.ipfire.org >>>>> + >>>>> +# Assign manual page URL path to CGI file ([cgi basename]=3D[path/to/p= age]) >>>>> +index=3Dconfiguration/system/startpage >>>>> +pppsetup=3Dconfiguration/system/dial >>>>> +qos=3Dconfiguration/services/qos >>>>> diff --git a/html/html/themes/ipfire/include/css/style.css b/html/html/= themes/ipfire/include/css/style.css >>>>> index b92f476c4..661773675 100644 >>>>> --- a/html/html/themes/ipfire/include/css/style.css >>>>> +++ b/html/html/themes/ipfire/include/css/style.css >>>>> @@ -169,6 +169,19 @@ iframe { >>>>> margin-bottom: 1em; >>>>> } >>>>> +#main_header > * { >>>>> + display: inline-block; >>>>> + vertical-align: baseline; >>>>> +} >>>>> + >>>>> +#main_header > span { >>>>> + margin-left: 0.8em; >>>>> +} >>>>> + >>>>> +#main_header img { >>>>> + padding: 0; >>>>> +} >>>>> + >>>>> #footer { >>>>> height: 2.5em; >>>>> margin-bottom: 1em; >>>>> diff --git a/html/html/themes/ipfire/include/functions.pl b/html/html/t= hemes/ipfire/include/functions.pl >>>>> index 9f12bbe59..18931428e 100644 >>>>> --- a/html/html/themes/ipfire/include/functions.pl >>>>> +++ b/html/html/themes/ipfire/include/functions.pl >>>>> @@ -170,7 +170,22 @@ END >>>>> print <>>>>
>>>>>
>>>>> -

$title

>>>>> +
>>>>> +

$title

>>>>> +END >>>>> +; >>>>> + >>>>> +# Print user manual link >>>>> +my $manual_url =3D &Header::get_manualpage_url($scriptName); >>>>> +if($manual_url) { >>>>> + print <>>>> + 3D"= >>>>> +END >>>>> +; >>>>> +} >>>>> + >>>>> +print <>>>> +
>>>>> END >>>>> ; >>>>> } >>>>> >> >=20 --===============6084559745368723889==--