Add in original html - play with sanitising paragraphs
This commit is contained in:
parent
3813f55f68
commit
3b6e1930a0
@ -0,0 +1,63 @@
|
||||
#
|
||||
# Routines to be edited by the developer to provide validation for parameters
|
||||
# and provison of the control data for table(s)
|
||||
#
|
||||
# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-09-14 17:41
|
||||
#
|
||||
|
||||
use esmith::util;
|
||||
use esmith::HostsDB;
|
||||
use esmith::AccountsDB;
|
||||
use esmith::NetworksDB;
|
||||
use esmith::HostsDB;
|
||||
use esmith::DomainsDB;
|
||||
|
||||
|
||||
#The most common ones
|
||||
our $cdb = esmith::ConfigDB->open() || die("Couldn't open config db");
|
||||
our $adb = esmith::AccountsDB->open() || die("Couldn't open Accounts db");
|
||||
our $ndb = esmith::NetworksDB->open() || die("Couldn't open Network db");
|
||||
our $hdb = esmith::HostsDB->open() || die("Couldn't open Hosts db");
|
||||
our $ddb = esmith::DomainsDB->open() || die("Couldn't open Domains db");
|
||||
|
||||
# Validation routines - parameters for each panel
|
||||
|
||||
sub validate_PARAMS {
|
||||
my $c = shift;
|
||||
my $prefix_data = shift; #Data hash as parameter
|
||||
my $ret = 'ok';
|
||||
return $ret;
|
||||
}
|
||||
|
||||
|
||||
# Get control data for tables(s)
|
||||
|
||||
|
||||
# Return hash with values from row in which link clicked on table
|
||||
|
||||
sub get_selected_PARAMS {
|
||||
my $c = shift;
|
||||
my $selected = shift; #Parameter is name of selected row.
|
||||
my $is_new_record = shift; #Indicates new record required (defaults)
|
||||
my %ret = {};
|
||||
return $ret;
|
||||
}
|
||||
|
||||
|
||||
#after sucessful modify or create or whatever and submit then perfom (if the params validate)
|
||||
|
||||
sub perform_PARAMS {
|
||||
my $c = shift;
|
||||
my $prefix_data = shift; #Data hash as parameter
|
||||
my $ret = 'ok';
|
||||
return $ret;
|
||||
}
|
||||
|
||||
|
||||
sub create_link{
|
||||
# WIP
|
||||
my ($c,$route, $panel, $index) = shift;
|
||||
my $link = "$route?trt=$panel&Selected=$index";
|
||||
return $link;
|
||||
}
|
||||
1;
|
@ -1,6 +1,6 @@
|
||||
package SrvMngr::Controller::CreateStarterWebsite;
|
||||
#
|
||||
# Generated by version:SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-09-13 19:20
|
||||
# Generated by version:SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-09-14 17:41
|
||||
#
|
||||
#----------------------------------------------------------------------
|
||||
# heading : Miscellaneous
|
||||
|
@ -1,6 +1,6 @@
|
||||
% layout 'default', title => "Sme server 2 - Create Starter Website", share_dir => './';
|
||||
%#
|
||||
%# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-09-13 19:20
|
||||
%# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-09-14 17:41
|
||||
%#
|
||||
% content_for 'module' => begin
|
||||
<div id="module" class="module CreateStarterWebsite-panel">
|
||||
|
@ -1,8 +1,16 @@
|
||||
'csw_APPLY' => 'Apply',
|
||||
'csw_Do_you_wish_to_proceed?' => 'Do you wish to proceed?',
|
||||
'csw_PARAMS_panel_action_was_successful' => 'PARAMS panel action was successful',
|
||||
'csw_Manage_CreateStarterWebsite_settings:' => 'Manage CreateStarterWebsite settings:',
|
||||
'csw_Do_not_use_this_optionif' => 'Do not use this optionif you have already customized your web site, Since it will overwrite the \'index. Htm\' file in your web site directory. ',
|
||||
'csw_Second_header,_typically_used_for' => 'Second header, Typically used for short phrases such as \'For more information\' or \'To order our products\':',
|
||||
'csw_Hello_PARAMS' => 'Hello PARAMS',
|
||||
'csw_' => '',
|
||||
'csw_To_create_a_simple_web' => 'To create a simple web page for your company, Fill in the fields below and click onCreate. ',
|
||||
'csw_The_text_that_you_enter' => 'The text that you enter below will be line wrapped for a nicer appearance in your web page. Leave a blank line whenever you want to start a new paragraph. If you need to force a line break without starting a new paragraph (for example after each line of a mailing address), Then type the four-character sequence',
|
||||
'csw_You_can_leave_any_field' => 'You can leave any field blank if you do not need it. ',
|
||||
'csw_Text_following_first_header,_typically' => 'Text following first header, Typically used for a paragraph of marketing information. ',
|
||||
'csw_Do_you_wish_to_proceed?' => 'Do you wish to proceed?',
|
||||
'csw_Manage_CreateStarterWebsite_settings:' => 'Manage CreateStarterWebsite settings:',
|
||||
'csw_When_you_create_this_web' => 'When you create this web page, The file \'index. Htm\' will be overwritten in your web site directory. ',
|
||||
'csw_PARAMS_panel_action_was_successful' => 'PARAMS panel action was successful',
|
||||
'csw_Create_Starter_Website' => 'Create Starter Website',
|
||||
'csw_First_header,_typically_used_for' => 'First header, Typically used for short phrases such as \'Leader in the field of textile manufacturing\'',
|
||||
'csw_' => '',
|
||||
'csw_APPLY' => 'Apply',
|
||||
'csw_Text_following_second_header,_typically' => 'Text following second header, Typically used for contact or ordering information:',
|
||||
|
96
Targets/CreateStarterWebsite/csw_PARAMS.html.ep
Normal file
96
Targets/CreateStarterWebsite/csw_PARAMS.html.ep
Normal file
@ -0,0 +1,96 @@
|
||||
%#
|
||||
%# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-09-14 17:41
|
||||
%#
|
||||
<div id="CreateStarterWebsite-PARAMS" class="partial CreateStarterWebsite-PARAMS">
|
||||
<script>
|
||||
window.onload = function() {
|
||||
SelectInput();
|
||||
};
|
||||
</script>
|
||||
<h2>
|
||||
%= l('csw_Hello_PARAMS');
|
||||
</h2>
|
||||
% my $btn = l('csw_APPLY');
|
||||
%= form_for "CreateStarterWebsited" => (method => 'POST') => begin
|
||||
|
||||
% param 'trt' => $csw_data->{trt} unless param 'trt';
|
||||
%= hidden_field 'trt' => $csw_data->{trt}
|
||||
%# Inputs etc in here.
|
||||
|
||||
<h2><%=l('csw_Manage_CreateStarterWebsite_settings:')%></h2>
|
||||
|
||||
<p>
|
||||
%=l('csw_To_create_a_simple_web')
|
||||
</p>
|
||||
|
||||
<p>
|
||||
%=l('csw_You_can_leave_any_field')
|
||||
</p>
|
||||
|
||||
<p>
|
||||
%=l('csw_The_text_that_you_enter')
|
||||
</p>
|
||||
|
||||
<p>
|
||||
%=l('csw_Do_not_use_this_optionif')
|
||||
</p>
|
||||
|
||||
<p><span class=label>
|
||||
%=l('csw_')
|
||||
</span><span class=data>
|
||||
%=
|
||||
</span></p>
|
||||
|
||||
<p>
|
||||
%=l('csw_First_header,_typically_used_for')
|
||||
</p>
|
||||
|
||||
<p><span class=label>
|
||||
%=l('csw_')
|
||||
</span><span class=data>
|
||||
%=
|
||||
</span></p>
|
||||
|
||||
<p>
|
||||
%=l('csw_Text_following_first_header,_typically')
|
||||
</p>
|
||||
|
||||
<span class=label>
|
||||
%=l('csw_')
|
||||
</span><span class=data>
|
||||
% param 'text1' => $csw_data->{text1} unless param 'text1';
|
||||
%= text_area 'text1', cols=>40, rows=>10
|
||||
</span><br>
|
||||
|
||||
<p>
|
||||
%=l('csw_Second_header,_typically_used_for')
|
||||
</p>
|
||||
|
||||
<p><span class=label>
|
||||
%=l('csw_')
|
||||
</span><span class=data>
|
||||
%=
|
||||
</span></p>
|
||||
|
||||
<p>
|
||||
%=l('csw_Text_following_second_header,_typically')
|
||||
</p>
|
||||
|
||||
<span class=label>
|
||||
%=l('csw_')
|
||||
</span><span class=data>
|
||||
% param 'text2' => $csw_data->{text2} unless param 'text2';
|
||||
%= text_area 'text2', cols=>40, rows=>10
|
||||
</span><br>
|
||||
|
||||
<p>
|
||||
%=l('csw_When_you_create_this_web')
|
||||
</p>
|
||||
|
||||
<p>
|
||||
%=l('csw_Do_you_wish_to_proceed?')
|
||||
</p>
|
||||
|
||||
%# Probably finally by a submit.
|
||||
%end
|
||||
</div>
|
@ -1,11 +0,0 @@
|
||||
'du_APPLY' => "Приложи",
|
||||
'du_Usage' => "Употреба",
|
||||
'du_Path' => "Път",
|
||||
'du_Wed_Sep_11_19:01:00_BST' => "Сряда, 11 септември 19:01:00 BST 2024",
|
||||
'du_PARAMS_panel_action_was_successful' => "Панелът PARAMS беше успешен",
|
||||
'du_&nbsp' => "~~~ ~~~",
|
||||
'du_Manage_DiskUsage_settings:' => "Управление на настройките за използване на диска:",
|
||||
'du_Disk_Usage' => "Дисково използване",
|
||||
'du_Hello_PARAMS' => "~~~Здравейте PARAMS~~~",
|
||||
'du_I-bays' => "I-бейове",
|
||||
'du_Users' => "~~~Потребители~~~",
|
@ -1,11 +0,0 @@
|
||||
'du_APPLY' => "Anwenden",
|
||||
'du_Usage' => "~~~Verwendung~~~",
|
||||
'du_Path' => "Pfad",
|
||||
'du_Wed_Sep_11_19:01:00_BST' => "~~~Mi Sep 11 19:01:00 BST 2024~~~",
|
||||
'du_PARAMS_panel_action_was_successful' => "Die PARAMS-Panel-Aktion war erfolgreich",
|
||||
'du_&nbsp' => "~~~ ~~~",
|
||||
'du_Manage_DiskUsage_settings:' => "Festplattennutzungs-Einstellungen verwalten:",
|
||||
'du_Disk_Usage' => "~~~Festplattennutzung~~~",
|
||||
'du_Hello_PARAMS' => "~~~Hallo PARAMS~~~",
|
||||
'du_I-bays' => "I-Bays",
|
||||
'du_Users' => "Benutzer",
|
@ -1,11 +0,0 @@
|
||||
'du_APPLY' => "Anvend",
|
||||
'du_Usage' => "Brug",
|
||||
'du_Path' => "Sti",
|
||||
'du_Wed_Sep_11_19:01:00_BST' => "Ons d. 11. sep 2024 19:01:00 BST",
|
||||
'du_PARAMS_panel_action_was_successful' => "~~~PARAMS-panelets handling var vellykket~~~",
|
||||
'du_&nbsp' => "~~~ ~~~",
|
||||
'du_Manage_DiskUsage_settings:' => "Administrer indstillinger for diskforbrug:",
|
||||
'du_Disk_Usage' => "Diskforbrug",
|
||||
'du_Hello_PARAMS' => "Hej PARAMS",
|
||||
'du_I-bays' => "I-bays",
|
||||
'du_Users' => "Brugere",
|
@ -1,11 +0,0 @@
|
||||
'du_APPLY' => "Εφαρμογή",
|
||||
'du_Usage' => "Χρήση",
|
||||
'du_Path' => "Διαδρομή",
|
||||
'du_Wed_Sep_11_19:01:00_BST' => "~~~Τετ 11 Σεπ 19:01:00 EET 2024~~~",
|
||||
'du_PARAMS_panel_action_was_successful' => "Η ενέργεια του πίνακα PARAMS ήταν επιτυχής",
|
||||
'du_&nbsp' => "~~~ ~~~",
|
||||
'du_Manage_DiskUsage_settings:' => "Διαχείριση ρυθμίσεων Χρήσης Δίσκου:",
|
||||
'du_Disk_Usage' => "Χρήση Δίσκου",
|
||||
'du_Hello_PARAMS' => "Γειά σου PARAMS",
|
||||
'du_I-bays' => "Κόλποι I",
|
||||
'du_Users' => "Χρήστες",
|
@ -1,11 +0,0 @@
|
||||
'du_APPLY' => "Aplicar",
|
||||
'du_Usage' => "Uso",
|
||||
'du_Path' => "Ruta",
|
||||
'du_Wed_Sep_11_19:01:00_BST' => "Mié Sep 11 19:01:00 BST 2024",
|
||||
'du_PARAMS_panel_action_was_successful' => "La acción del panel PARAMS fue exitosa",
|
||||
'du_&nbsp' => "~~~ ~~~",
|
||||
'du_Manage_DiskUsage_settings:' => "Administrar configuraciones de uso de disco:",
|
||||
'du_Disk_Usage' => "Uso de Disco",
|
||||
'du_Hello_PARAMS' => "Hola PARAMS",
|
||||
'du_I-bays' => "I-bays",
|
||||
'du_Users' => "Usuarios",
|
@ -1,11 +0,0 @@
|
||||
'du_APPLY' => "Rakenda",
|
||||
'du_Usage' => "Kasutus",
|
||||
'du_Path' => "Tee",
|
||||
'du_Wed_Sep_11_19:01:00_BST' => "Kolm, 11. september 2024, 19:01:00 BST",
|
||||
'du_PARAMS_panel_action_was_successful' => "PARAMS paneeli toiming oli edukas",
|
||||
'du_&nbsp' => "~~~ ~~~",
|
||||
'du_Manage_DiskUsage_settings:' => "Halda kettakasutuse seadeid:",
|
||||
'du_Disk_Usage' => "Kettakasutus",
|
||||
'du_Hello_PARAMS' => "Tere PARAMS",
|
||||
'du_I-bays' => "I-lahed",
|
||||
'du_Users' => "Kasutajad",
|
@ -1,11 +0,0 @@
|
||||
'du_APPLY' => "Appliquer",
|
||||
'du_Usage' => "Utilisation",
|
||||
'du_Path' => "Chemin",
|
||||
'du_Wed_Sep_11_19:01:00_BST' => "Mer 11 Sep 19:01:00 BST 2024",
|
||||
'du_PARAMS_panel_action_was_successful' => "L\'action du panneau PARAMS a été réussie",
|
||||
'du_&nbsp' => " ",
|
||||
'du_Manage_DiskUsage_settings:' => "Gérer les paramètres d\'utilisation du disque :",
|
||||
'du_Disk_Usage' => "Utilisation du disque",
|
||||
'du_Hello_PARAMS' => "~~~Bonjour PARAMÈTRES~~~",
|
||||
'du_I-bays' => "Baies I",
|
||||
'du_Users' => "Utilisateurs",
|
@ -1,11 +0,0 @@
|
||||
'du_APPLY' => "Alkalmazás",
|
||||
'du_Usage' => "Használat",
|
||||
'du_Path' => "Útvonal",
|
||||
'du_Wed_Sep_11_19:01:00_BST' => "2024. szeptember 11., szerda, 19:01:00 BST",
|
||||
'du_PARAMS_panel_action_was_successful' => "~~~PARAMS panel művelet sikeres volt~~~",
|
||||
'du_&nbsp' => "~~~ ~~~",
|
||||
'du_Manage_DiskUsage_settings:' => "Lemezhasználati beállítások kezelése:",
|
||||
'du_Disk_Usage' => "Lemezhasználat",
|
||||
'du_Hello_PARAMS' => "~~~Helló PARAMS~~~",
|
||||
'du_I-bays' => "I-bayok",
|
||||
'du_Users' => "Felhasználók",
|
@ -1,11 +0,0 @@
|
||||
'du_APPLY' => "Terapkan",
|
||||
'du_Usage' => "Penggunaan",
|
||||
'du_Path' => "Jalur",
|
||||
'du_Wed_Sep_11_19:01:00_BST' => "~~~Rab 11 Sep 19:01:00 WIB 2024~~~",
|
||||
'du_PARAMS_panel_action_was_successful' => "Panel PARAMS berhasil dijalankan",
|
||||
'du_&nbsp' => "~~~ ~~~",
|
||||
'du_Manage_DiskUsage_settings:' => "Kelola pengaturan Penggunaan Disk:",
|
||||
'du_Disk_Usage' => "Penggunaan Disk",
|
||||
'du_Hello_PARAMS' => "~~~Halo PARAMS~~~",
|
||||
'du_I-bays' => "I-bays",
|
||||
'du_Users' => "Pengguna",
|
@ -1,11 +0,0 @@
|
||||
'du_APPLY' => "החל",
|
||||
'du_Usage' => "שימוש",
|
||||
'du_Path' => "נתיב",
|
||||
'du_Wed_Sep_11_19:01:00_BST' => "~~~ד׳ ספטמבר 11 19:01:00 שעון קיץ בריטי 2024~~~",
|
||||
'du_PARAMS_panel_action_was_successful' => "פעולת לוח PARAMS הצליחה",
|
||||
'du_&nbsp' => " ",
|
||||
'du_Manage_DiskUsage_settings:' => "נהל הגדרות שימוש בדיסק:",
|
||||
'du_Disk_Usage' => "שימוש בדיסק",
|
||||
'du_Hello_PARAMS' => "שלום PARAMS",
|
||||
'du_I-bays' => "מפרצים",
|
||||
'du_Users' => "משתמשים",
|
@ -1,11 +0,0 @@
|
||||
'du_APPLY' => "Applica",
|
||||
'du_Usage' => "Utilizzo",
|
||||
'du_Path' => "Percorso",
|
||||
'du_Wed_Sep_11_19:01:00_BST' => "Mer 11 Set 19:01:00 BST 2024",
|
||||
'du_PARAMS_panel_action_was_successful' => "L\'azione del pannello PARAMS è stata completata con successo",
|
||||
'du_&nbsp' => " ",
|
||||
'du_Manage_DiskUsage_settings:' => "Gestisci impostazioni di utilizzo del disco:",
|
||||
'du_Disk_Usage' => "Utilizzo del Disco",
|
||||
'du_Hello_PARAMS' => "Ciao PARAMS",
|
||||
'du_I-bays' => "I-bay",
|
||||
'du_Users' => "Utenti",
|
@ -1,11 +0,0 @@
|
||||
'du_APPLY' => "適用",
|
||||
'du_Usage' => "使用",
|
||||
'du_Path' => "パス",
|
||||
'du_Wed_Sep_11_19:01:00_BST' => "2024年9月11日(水) 19:01:00 BST",
|
||||
'du_PARAMS_panel_action_was_successful' => "~~~PARAMSパネルの操作が成功しました~~~",
|
||||
'du_&nbsp' => " ",
|
||||
'du_Manage_DiskUsage_settings:' => "ディスク使用量設定の管理:",
|
||||
'du_Disk_Usage' => "ディスク使用量",
|
||||
'du_Hello_PARAMS' => "こんにちは PARAMS",
|
||||
'du_I-bays' => "I-bays",
|
||||
'du_Users' => "ユーザー",
|
@ -2,7 +2,7 @@
|
||||
# Routines to be edited by the developer to provide validation for parameters
|
||||
# and provison of the control data for table(s)
|
||||
#
|
||||
# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-09-13 19:18
|
||||
# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-09-14 11:53
|
||||
#
|
||||
|
||||
use esmith::util;
|
79
Targets/Diskusage/Diskusage-Custom.pm.new
Normal file
79
Targets/Diskusage/Diskusage-Custom.pm.new
Normal file
@ -0,0 +1,79 @@
|
||||
#
|
||||
# Routines to be edited by the developer to provide validation for parameters
|
||||
# and provison of the control data for table(s)
|
||||
#
|
||||
# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-09-14 12:09
|
||||
#
|
||||
|
||||
use esmith::util;
|
||||
use esmith::HostsDB;
|
||||
use esmith::AccountsDB;
|
||||
use esmith::NetworksDB;
|
||||
use esmith::HostsDB;
|
||||
use esmith::DomainsDB;
|
||||
|
||||
|
||||
#The most common ones
|
||||
our $cdb = esmith::ConfigDB->open() || die("Couldn't open config db");
|
||||
our $adb = esmith::AccountsDB->open() || die("Couldn't open Accounts db");
|
||||
our $ndb = esmith::NetworksDB->open() || die("Couldn't open Network db");
|
||||
our $hdb = esmith::HostsDB->open() || die("Couldn't open Hosts db");
|
||||
our $ddb = esmith::DomainsDB->open() || die("Couldn't open Domains db");
|
||||
|
||||
# Validation routines - parameters for each panel
|
||||
|
||||
sub validate_PARAMS {
|
||||
my $c = shift;
|
||||
my $prefix_data = shift; #Data hash as parameter
|
||||
my $ret = 'ok';
|
||||
return $ret;
|
||||
}
|
||||
|
||||
|
||||
# Get control data for tables(s)
|
||||
|
||||
sub get_Table1 {
|
||||
# Return an array of hashes of the contents for each row and column for Table1
|
||||
# default is a single row of strings "col1header-1, col2header-1, col3Header-1 etc"
|
||||
my $c = shift;
|
||||
my @ret = {};
|
||||
return \@ret
|
||||
}
|
||||
|
||||
sub get_Table2 {
|
||||
# Return an array of hashes of the contents for each row and column for Table2
|
||||
# default is a single row of strings "col1header-1, col2header-1, col3Header-1 etc"
|
||||
my $c = shift;
|
||||
my @ret = {};
|
||||
return \@ret
|
||||
}
|
||||
|
||||
|
||||
# Return hash with values from row in which link clicked on table
|
||||
|
||||
sub get_selected_PARAMS {
|
||||
my $c = shift;
|
||||
my $selected = shift; #Parameter is name of selected row.
|
||||
my $is_new_record = shift; #Indicates new record required (defaults)
|
||||
my %ret = {};
|
||||
return $ret;
|
||||
}
|
||||
|
||||
|
||||
#after sucessful modify or create or whatever and submit then perfom (if the params validate)
|
||||
|
||||
sub perform_PARAMS {
|
||||
my $c = shift;
|
||||
my $prefix_data = shift; #Data hash as parameter
|
||||
my $ret = 'ok';
|
||||
return $ret;
|
||||
}
|
||||
|
||||
|
||||
sub create_link{
|
||||
# WIP
|
||||
my ($c,$route, $panel, $index) = shift;
|
||||
my $link = "$route?trt=$panel&Selected=$index";
|
||||
return $link;
|
||||
}
|
||||
1;
|
@ -1,6 +1,6 @@
|
||||
package SrvMngr::Controller::Diskusage;
|
||||
#
|
||||
# Generated by version:SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-09-13 19:18
|
||||
# Generated by version:SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-09-14 12:09
|
||||
#
|
||||
#----------------------------------------------------------------------
|
||||
# heading : Miscellaneous
|
@ -1,6 +1,6 @@
|
||||
% layout 'default', title => "Sme server 2 - Disk Usage", share_dir => './';
|
||||
%#
|
||||
%# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-09-13 19:18
|
||||
%# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-09-14 12:09
|
||||
%#
|
||||
% content_for 'module' => begin
|
||||
<div id="module" class="module Diskusage-panel">
|
@ -1,11 +1,11 @@
|
||||
'du_APPLY' => 'Apply',
|
||||
'du_&nbsp' => '&nbsp',
|
||||
'du_I-bays' => 'I-bays',
|
||||
'du_Usage' => 'Usage',
|
||||
'du_Disk_Usage' => 'Disk Usage',
|
||||
'du_Path' => 'Path',
|
||||
'du_Wed_Sep_11_19:01:00_BST' => 'Wed Sep 11 19:01:00 BST 2024',
|
||||
'du_PARAMS_panel_action_was_successful' => 'PARAMS panel action was successful',
|
||||
'du_&nbsp' => '&nbsp',
|
||||
'du_Manage_DiskUsage_settings:' => 'Manage DiskUsage settings:',
|
||||
'du_Disk_Usage' => 'Disk Usage',
|
||||
'du_Hello_PARAMS' => 'Hello PARAMS',
|
||||
'du_I-bays' => 'I-bays',
|
||||
'du_Users' => 'Users',
|
||||
'du_APPLY' => 'Apply',
|
||||
'du_Hello_PARAMS' => 'Hello PARAMS',
|
||||
'du_Manage_DiskUsage_settings:' => 'Manage DiskUsage settings:',
|
||||
'du_PARAMS_panel_action_was_successful' => 'PARAMS panel action was successful',
|
@ -1,5 +1,5 @@
|
||||
%#
|
||||
%# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-09-13 19:18
|
||||
%# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-09-14 12:09
|
||||
%#
|
||||
<div id="Diskusage-PARAMS" class="partial Diskusage-PARAMS">
|
||||
<script>
|
||||
@ -75,9 +75,9 @@ tmpfs 2.0G 648K 2.0G 1% /run
|
||||
% my $control_data = $self->stash('Table2');
|
||||
% foreach my $row (@$control_data) {
|
||||
<tr class='table-row'>
|
||||
<td class='sme-border table-col table-col-Table2-Users'><%=$c->render_to_string(inline=>$row->{Table2-Users})%></td>
|
||||
<td class='sme-border table-col table-col-Table2-Usage'><%=$c->render_to_string(inline=>$row->{Table2-Usage})%></td>
|
||||
<td class='sme-border table-col table-col-Table2-Path'><%=$c->render_to_string(inline=>$row->{Table2-Path})%></td>
|
||||
<td class='sme-border table-col table-col-Table2-Users'><%=$c->render_to_string(inline=>$row->{'Table2-Users'})%></td>
|
||||
<td class='sme-border table-col table-col-Table2-Usage'><%=$c->render_to_string(inline=>$row->{'Table2-Usage'})%></td>
|
||||
<td class='sme-border table-col table-col-Table2-Path'><%=$c->render_to_string(inline=>$row->{'Table2-Path'})%></td>
|
||||
</tr>
|
||||
%}
|
||||
</tbody>
|
@ -33,8 +33,14 @@ our $ddb = esmith::DomainsDB->open() || die("Couldn't open Domains db");
|
||||
# Get control data for tables(s)
|
||||
<tal:block tal:repeat="tablecontrol tablecontrols">
|
||||
sub get_${tablecontrol} {
|
||||
# Return an array of hashes of the contents for each row and column for ${tablecontrol}
|
||||
# default is a single row of strings "col1header-1, col2header-1, col3Header-1 etc"
|
||||
my $c = shift;
|
||||
my @ret = {};
|
||||
my $control_data = $self->stash('${TableControl}');
|
||||
my @ret = {}
|
||||
# foreach my $colHead (@$control_data) {
|
||||
# my ret{$colHead} = "$colhead-1"
|
||||
# };
|
||||
return \@ret
|
||||
}
|
||||
</tal:block>
|
||||
|
@ -49,7 +49,7 @@
|
||||
|
||||
<Paragraph><![CDATA[
|
||||
<p>
|
||||
%= l('${value}')
|
||||
%=l('${value}')
|
||||
</p>
|
||||
]]></Paragraph>
|
||||
|
||||
@ -125,4 +125,11 @@
|
||||
]]>
|
||||
</Preformatted>
|
||||
|
||||
<submit><![CDATA[
|
||||
<p> <br>
|
||||
%= submit_button "${Value}", class => 'action'
|
||||
</p>
|
||||
]]>
|
||||
</submit>
|
||||
|
||||
</root>
|
||||
|
102
html/CreateStarterWebsite.html
Normal file
102
html/CreateStarterWebsite.html
Normal file
@ -0,0 +1,102 @@
|
||||
|
||||
<!DOCTYPE html
|
||||
PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>SME Server sme11.thereadclan.me.uk</title>
|
||||
<link rev="made" href="mailto:bugs%40koozali.org">
|
||||
<meta name="copyright" content="(head.tmpl)Copyright 2003-2004 Mitel Corporation">
|
||||
<link rel="stylesheet" type="text/css" href="/server-common/css/sme_core.css">
|
||||
<style type="text/css">
|
||||
@import url("/server-common/css/sme_main.css");
|
||||
</style>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="sme-error"><h5>
|
||||
Warning: a reconfigure and reboot is required before proceeding! Failure to do so now
|
||||
may leave your system in an unknown state!</h5></div><div class="sme-error"><h5>
|
||||
URGENT NOTICE: As per June 30th 2024, SME Server 10 is obsolete, and potentially INSECURE. NO support will be offered for any issue found with this installed version.
|
||||
Please migrate IMMEDIATELY to Koozali SME Server 11 or higher version. Failure to upgrade may lead to the compromise of this server.
|
||||
</br>Please, consult <a href="https://wiki.koozali.org/SME_Server:Download" target="_blank">https://wiki.koozali.org/SME_Server:Download</a> to get last available version.</h5></div>
|
||||
<h1>Create a starter website</h1>
|
||||
<form method="POST" action="starterwebsite" enctype="application/x-www-form-urlencoded">
|
||||
<input type="hidden" name="page" value="0">
|
||||
<input type="hidden" name="page_stack" value="">
|
||||
<input type=hidden name=".id" value="53ee9f713d94b5ba86a563429440d21e">
|
||||
<input type="hidden" name="csrf_token" value="iEskwobsBAfGQ8A05yW8QPL7guJPZVEylHcHb4RlmkB">
|
||||
<table class="sme-noborders">
|
||||
<tr><td colspan="2"><p><p>
|
||||
To create a simple web page for your company, fill
|
||||
in the fields below and click on <b>Create</b>.
|
||||
</p>
|
||||
<p>
|
||||
You can leave any field blank if you do not need it.
|
||||
</p>
|
||||
<p>
|
||||
The text that you enter below will be line wrapped
|
||||
for a nicer appearance in your web page. Leave a blank line
|
||||
whenever you want to start a new paragraph. If you need
|
||||
to force a line break without starting a new paragraph (for
|
||||
example after each line of a mailing address), then type
|
||||
the four-character sequence
|
||||
<blockquote><BR></blockquote>
|
||||
where you would like each line break.
|
||||
</p>
|
||||
<p>
|
||||
<em>Do not use this option</em>
|
||||
if you have already customized your web site, since it will
|
||||
overwrite the "index.htm" file in your web site directory.
|
||||
</p></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="sme-noborders-label">Company name
|
||||
<td class="sme-noborders-content"><INPUT TYPE="text" SIZE="48" VALUE="" NAME="companyName"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2"><p>First header, typically used for short phrases such
|
||||
as "Leader in the field of textile manufacturing"</p></td>
|
||||
</tr> <tr>
|
||||
<td class="sme-noborders-label">
|
||||
<td class="sme-noborders-content"><INPUT TYPE="text" NAME="header1" SIZE="48" VALUE=""></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2"><p>Text following first header, typically used for a
|
||||
paragraph of marketing information.</p></td>
|
||||
</tr> <tr>
|
||||
<td class="sme-noborders-label">
|
||||
<td class="sme-noborders-content"><TEXTAREA COLS="60" ROWS="5" NAME="text1"></TEXTAREA></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2"><p>Second header, typically used for short phrases such
|
||||
as "For more information" or "To order our products":</p></td>
|
||||
</tr> <tr>
|
||||
<td class="sme-noborders-label">
|
||||
<td class="sme-noborders-content"><INPUT TYPE="text" NAME="header2" VALUE="" SIZE="48"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2"><p>Text following second header, typically used for contact
|
||||
or ordering information:</p></td>
|
||||
</tr> <tr>
|
||||
<td class="sme-noborders-label">
|
||||
<td class="sme-noborders-content"><TEXTAREA ROWS="5" NAME="text2" COLS="60"></TEXTAREA></td>
|
||||
</tr>
|
||||
<tr><td colspan=2><p>When you create this web page, the file
|
||||
"index.htm" will be overwritten
|
||||
in your web site directory.</p>
|
||||
<p>Do you wish to proceed?</p></td></tr> </table>
|
||||
<table width=100%><tr><th class="sme-layout"><input type="submit" name="Next" value="Create"></th></tr></table>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<HR class="sme-copyrightbar">
|
||||
<FONT class="sme-copyright">
|
||||
SME Server 11.0.0<BR>Copyright 1999-2006 Mitel Corporation<BR>All rights reserved.
|
||||
|
||||
<BR>Copyright (c) 2013 - 2021 Koozali Foundation Inc.<BR>
|
||||
</FONT>
|
||||
</BODY>
|
||||
|
||||
</HTML>
|
||||
|
61
html/CreateStarterWebsite.json5
Normal file
61
html/CreateStarterWebsite.json5
Normal file
@ -0,0 +1,61 @@
|
||||
{
|
||||
'PackageName': 'CreateStarterWebsite',
|
||||
'prefix': 'csw',
|
||||
'MenuHeading': 'Miscellaneous',
|
||||
'MenuDescription': 'Create Starter Website',
|
||||
'MenuNavigation': '2000 400',
|
||||
'firstPanel': 'PARAMS',
|
||||
'signalEvent': 'smeserver-createstarterwebsite-update',
|
||||
'html': {
|
||||
'Name': 'params',
|
||||
'route': 'PARAMS',
|
||||
'Header': 'Create a starter website',
|
||||
'SubHeader': 'Manage CreateStarterWebsite settings:',
|
||||
'Paragraph1': 'To create a simple web page for your company, fill in the fields below and click onCreate.',
|
||||
'Paragraph2': 'You can leave any field blank if you do not need it.',
|
||||
'Paragraph3': 'The text that you enter below will be line wrapped for a nicer appearance in your web page. Leave a blank line whenever you want to start a new paragraph. If you need to force a line break without starting a new paragraph (for example after each line of a mailing address), then type the four-character sequence',
|
||||
'Paragraph4': 'Do not use this optionif you have already customized your web site, since it will overwrite the \\\'index.htm\\\' file in your web site directory.',
|
||||
'Input1': {
|
||||
'Type': 'Text',
|
||||
'Value': '',
|
||||
'Name': 'companyName',
|
||||
'Label': null
|
||||
},
|
||||
'Paragraph5': 'First header, typically used for short phrases such as \\\'Leader in the field of textile manufacturing\\\'',
|
||||
'Input2': {
|
||||
'Type': 'Text',
|
||||
'Value': '',
|
||||
'Name': 'header1',
|
||||
'Label': null
|
||||
},
|
||||
'Paragraph6': 'Text following first header, typically used for a paragraph of marketing information.',
|
||||
'Input3': {
|
||||
'Type': 'Textarea',
|
||||
'Value': '',
|
||||
'Name': 'text1',
|
||||
'Label': null
|
||||
},
|
||||
'Paragraph7': 'Second header, typically used for short phrases such as \\\'For more information\\\' or \\\'To order our products\\\':',
|
||||
'Input4': {
|
||||
'Type': 'Text',
|
||||
'Value': '',
|
||||
'Name': 'header2',
|
||||
'Label': null
|
||||
},
|
||||
'Paragraph8': 'Text following second header, typically used for contact or ordering information:',
|
||||
'Input5': {
|
||||
'Type': 'Textarea',
|
||||
'Value': '',
|
||||
'Name': 'text2',
|
||||
'Label': null
|
||||
},
|
||||
'Paragraph9': 'When you create this web page, the file \\\'index.htm\\\' will be overwritten in your web site directory.',
|
||||
'Paragraph10': 'Do you wish to proceed?',
|
||||
'Input6': {
|
||||
'Type': 'Submit',
|
||||
'Value': 'Create',
|
||||
'Name': 'Next',
|
||||
'Label': null
|
||||
}
|
||||
}
|
||||
}
|
93
html/DiskUsage.html
Normal file
93
html/DiskUsage.html
Normal file
@ -0,0 +1,93 @@
|
||||
<!DOCTYPE html
|
||||
PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<title>SME Server sme10.thereadclan.me.uk</title>
|
||||
<link rev="made" href="mailto:bugs%40koozali.org">
|
||||
<meta name="copyright" content="(head.tmpl)Copyright 2003-2004 Mitel Corporation">
|
||||
<link rel="stylesheet" type="text/css" href="/server-common/css/sme_core.css">
|
||||
<style type="text/css">
|
||||
@import url("/server-common/css/sme_main.css");
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>Disk usage</h1>
|
||||
<form method="POST" action="diskusage" enctype="application/x-www-form-urlencoded">
|
||||
<input type="hidden" name="page" value="0">
|
||||
<input type="hidden" name="page_stack" value="">
|
||||
<input type=hidden name=".id" value="65306129a4e734ea46f31f7f8630a65d">
|
||||
<input type="hidden" name="csrf_token" value="QbCmcx81coESLmdiNA5k9GiTKg2k7sJQLiY00BxtwXS">
|
||||
<table class="sme-noborders">
|
||||
<p> 
|
||||
</p>
|
||||
<p>Wed Sep 11 19:01:00 BST 2024
|
||||
</p>
|
||||
<p><pre>Filesystem Size Used Avail Use% Mounted on
|
||||
/dev/mapper/main-root 29G 4.8G 24G 17% /
|
||||
devtmpfs 2.0G 0 2.0G 0% /dev
|
||||
tmpfs 2.0G 12K 2.0G 1% /dev/shm
|
||||
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
|
||||
tmpfs 2.0G 648K 2.0G 1% /run
|
||||
/dev/sda1 497M 111M 386M 23% /boot
|
||||
</pre></p>
|
||||
<table class="sme-border">
|
||||
<tr>
|
||||
<th colspan="1" class="sme-border">I-bays</th>
|
||||
<th colspan="1" class="sme-border">Usage</th>
|
||||
<th colspan="1" class="sme-border">Path</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" class="sme-border">Primary</td>
|
||||
<td colspan="1" class="sme-border">4.0K</td>
|
||||
<td colspan="1" class="sme-border">/home/e-smith/files/ibays/Primary</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" class="sme-border">anibay</td>
|
||||
<td colspan="1" class="sme-border">4.0K</td>
|
||||
<td colspan="1" class="sme-border">/home/e-smith/files/ibays/anibay</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" class="sme-border">opt</td>
|
||||
<td colspan="1" class="sme-border">410M</td>
|
||||
<td colspan="1" class="sme-border">/opt</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p> 
|
||||
</p>
|
||||
<table class="sme-border">
|
||||
<tr>
|
||||
<th colspan="1" class="sme-border">Users</th>
|
||||
<th colspan="1" class="sme-border">Usage</th>
|
||||
<th colspan="1" class="sme-border">Path</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" class="sme-border">root</td>
|
||||
<td colspan="1" class="sme-border">2.1M</td>
|
||||
<td colspan="1" class="sme-border">/root</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" class="sme-border">brianr</td>
|
||||
<td colspan="1" class="sme-border">16K</td>
|
||||
<td colspan="1" class="sme-border">/home/e-smith/files/users/brianr</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<HR class="sme-copyrightbar">
|
||||
<FONT class="sme-copyright">
|
||||
SME Server 10.1
|
||||
<BR>Copyright 1999-2006 Mitel Corporation
|
||||
<BR>All rights reserved.
|
||||
|
||||
<BR>Copyright (c) 2013 - 2021 Koozali Foundation Inc.
|
||||
<BR>
|
||||
</FONT>
|
||||
</BODY>
|
||||
|
||||
</HTML>
|
@ -6,51 +6,50 @@
|
||||
'MenuNavigation': '2000 400',
|
||||
'firstPanel': 'PARAMS',
|
||||
'signalEvent': 'smeserver-createstarterwebsite-update',
|
||||
'html':[
|
||||
{
|
||||
'html':[ {
|
||||
'Name': 'params',
|
||||
'route': 'PARAMS',
|
||||
'Header': 'Create a starter website',
|
||||
'SubHeader': 'Manage CreateStarterWebsite settings:',
|
||||
'Paragraph1': 'To create a simple web page for your company, fill \n\t in the fields below and click onCreate.',
|
||||
'Paragraph1': 'To create a simple web page for your company, fill in the fields below and click onCreate.',
|
||||
'Paragraph2': 'You can leave any field blank if you do not need it.',
|
||||
'Paragraph3': 'The text that you enter below will be line wrapped \n\t for a nicer appearance in your web page. Leave a blank line \n\t whenever you want to start a new paragraph. If you need \n\t to force a line break without starting a new paragraph (for \n\t example after each line of a mailing address), then type \n\t the four-character sequence',
|
||||
'Paragraph4': 'Do not use this option if you have already customized your web site, since it will \n\t overwrite the \'index.htm\' file in your web site directory.',
|
||||
'Paragraph3': 'The text that you enter below will be line wrapped for a nicer appearance in your web page. Leave a blank line whenever you want to start a new paragraph. If you need to force a line break without starting a new paragraph (for example after each line of a mailing address), then type the four-character sequence',
|
||||
'Paragraph4': 'Do not use this optionif you have already customized your web site, since it will overwrite the index.htm file in your web site directory.',
|
||||
'Input1': {
|
||||
'Type': 'Text',
|
||||
'Value': '',
|
||||
'Name': 'companyName',
|
||||
'Label': null
|
||||
},
|
||||
'Paragraph5': 'First header, typically used for short phrases such \n\t as \'Leader in the field of textile manufacturing\'',
|
||||
'Paragraph5': 'First header, typically used for short phrases such as Leader in the field of textile manufacturing',
|
||||
'Input2': {
|
||||
'Type': 'Text',
|
||||
'Value': '',
|
||||
'Name': 'header1',
|
||||
'Label': null
|
||||
},
|
||||
'Paragraph6': 'Text following first header, typically used for a \n\t paragraph of marketing information.',
|
||||
'Paragraph6': 'Text following first header, typically used for a paragraph of marketing information.',
|
||||
'Input3': {
|
||||
'Type': 'Textarea',
|
||||
'Value': '',
|
||||
'Name': 'text1',
|
||||
'Label': null
|
||||
},
|
||||
'Paragraph7': 'Second header, typically used for short phrases such \n\t as \'For more information\' or \'To order our products\':',
|
||||
'Paragraph7': 'Second header, typically used for short phrases such as For more information or To order our products:',
|
||||
'Input4': {
|
||||
'Type': 'Text',
|
||||
'Value': '',
|
||||
'Name': 'header2',
|
||||
'Label': null
|
||||
},
|
||||
'Paragraph8': 'Text following second header, typically used for contact \n\t or ordering information:',
|
||||
'Paragraph8': 'Text following second header, typically used for contact or ordering information:',
|
||||
'Input5': {
|
||||
'Type': 'Textarea',
|
||||
'Value': '',
|
||||
'Name': 'text2',
|
||||
'Label': null
|
||||
},
|
||||
'Paragraph9': 'When you create this web page, the file\n\t \'index.htm\' will be overwritten\n\t in your web site directory.',
|
||||
'Paragraph9': 'When you create this web page, the file index.htm will be overwritten in your web site directory.',
|
||||
'Paragraph10': 'Do you wish to proceed?',
|
||||
'Input6': {
|
||||
'Type': 'Submit',
|
||||
|
@ -17,6 +17,18 @@ def validate_html(html):
|
||||
except Exception as e:
|
||||
raise ValueError("Invalid HTML document") from e
|
||||
|
||||
def sanitize_text(text):
|
||||
# Replace newlines with spaces
|
||||
sanitized_text = text.replace('\n', ' ').replace('\r', ' ') # Handle both Unix and Windows line endings
|
||||
# Replace tabs with spaces
|
||||
sanitized_text = sanitized_text.replace('\t', ' ')
|
||||
# Escape quote characters
|
||||
sanitized_text = sanitized_text.replace('"', '\\"').replace("'", "\\'")
|
||||
# Strip leading and trailing whitespace
|
||||
sanitized_text = sanitized_text.strip()
|
||||
return sanitized_text
|
||||
|
||||
|
||||
def extract_data(html):
|
||||
"""Extract paragraphs, inputs, tables, and pre blocks from HTML and organize them in order."""
|
||||
soup = BeautifulSoup(html, 'lxml')
|
||||
@ -54,9 +66,10 @@ def extract_data(html):
|
||||
elif element.name == 'p':
|
||||
text = element.get_text(strip=True)
|
||||
if text: # Ignore empty paragraphs
|
||||
#Sanitise text freom newlines,tabs and escape quotes.
|
||||
records.append({
|
||||
'Type': 'Paragraph',
|
||||
'Text': text
|
||||
'Text': sanitize_text(text)
|
||||
})
|
||||
|
||||
elif element.name == 'pre':
|
||||
@ -233,7 +246,7 @@ def save_to_json5(data, output_filename, package_name, header, sub_header):
|
||||
json_file.truncate() # Remove any old content beyond the new content length
|
||||
|
||||
def main():
|
||||
input_file = '/home/brianr/clients/SM2/SM1-JSONGen/DiskUsage.html' # Specify the input HTML file path
|
||||
input_file = '/home/brianr/clients/SM2/SM2Gen/venv/html/CreateStarterWebsite.html' # Specify the input HTML file path
|
||||
|
||||
# Read HTML content
|
||||
html_content = read_html_file(input_file)
|
||||
|
Loading…
Reference in New Issue
Block a user