v20200420 master
authorkilian <ksaffran@dks.lu>
Mon, 20 Apr 2020 10:59:18 +0000 (12:59 +0200)
committerkilian <ksaffran@dks.lu>
Mon, 20 Apr 2020 10:59:18 +0000 (12:59 +0200)
113 files changed:
.vscode/settings.json
backoffice/api/lib/dksconfig.pm
backoffice/api/lib/session.pm
backoffice/api/page.cgi
backoffice/css/w3pro.css
backoffice/data/pages/aboutus.json [moved from tmpl/block/sidebar.tt with 100% similarity]
backoffice/data/pages/contact.json [new file with mode: 0644]
backoffice/data/pages/impressum.json [new file with mode: 0644]
backoffice/data/pages/index.json [new file with mode: 0644]
backoffice/data/pages/privacy.json [new file with mode: 0644]
backoffice/data/pages/terms.json [new file with mode: 0644]
backoffice/data/sessions/4ElaRzXdpBOqceJmWzPcttz6lSvgKAEnJOzdUWZaF.txt [moved from backoffice/data/sessions/0erUIUQ0dhEe3zMcK6rFyIcc1nV6VWkdlq4n861Rl.txt with 100% similarity]
backoffice/data/sessions/A31mjcYdIAdSRSYTgvO1vRdO0cD6DZeZE5zRWNbFu.txt [moved from backoffice/data/sessions/0gFvARYjV05XPA5yyuvES1vA7MOWvnJdwy5FQewTF.txt with 100% similarity]
backoffice/data/sessions/BJOgO896Ee2Pt7m3J08s9q35kRbLJnWVfGzho8STt.txt [deleted file]
backoffice/data/sessions/BeNbq84lOUNqzmw7zuSd2ams2PjJb9rnizOAnt1gP.txt [deleted file]
backoffice/data/sessions/D839DAU2ZcKJr6YKdxxLJcku0byvx8trIZYTr8iwp.txt [deleted file]
backoffice/data/sessions/H711zD8GbuIcxx3MIwDLY0c4fhg7Id3RwSUNz5YyH.txt [moved from backoffice/data/sessions/1RmSxZL3sMvrs1wlCVsve2K4lXr6lZCsCnMyrvqhh.txt with 100% similarity]
backoffice/data/sessions/I0jJe268UaxEqvRLIBbxXkLmhcWMKGqY09GtMl6lY.txt [deleted file]
backoffice/data/sessions/IZnjVBrcMvWZ9zWAKY4SYbS9nBldNSo0ptgoV0f3R.txt [deleted file]
backoffice/data/sessions/Jcukvyutromxwc5HnniB2a7W9gGiAAPjrTA0vAV7L.txt [deleted file]
backoffice/data/sessions/JdBUkuIQDniseouOSrQH7goBEN6gQsZuPuQHPSwOt.txt [deleted file]
backoffice/data/sessions/JeDv978stuRxyG7UJJAJkxX8QaBbLGGZCo1OyC67l.txt [deleted file]
backoffice/data/sessions/K6kpQQTxR3UMWRmUhugf2tqbHQPzwQeMpVu0XN26l.txt [moved from backoffice/data/sessions/1kHDTidWOldykPKOvZtTU2yvkGkQ51oRpIhB4zTw0.txt with 100% similarity]
backoffice/data/sessions/KIxtRb9S3F1iY4aEwNef4BuePGKMaflWlIPWhoHfQ.txt [deleted file]
backoffice/data/sessions/KtrMjHihIMOCJ2RXFBM7z9uuGnBE2WfgcFdPKR0kt.txt [deleted file]
backoffice/data/sessions/NZWe56AhYfcrr16Atd4kdZgHzZEphFzxVaRsyg0Jx.txt [deleted file]
backoffice/data/sessions/NckjZEBEc0vhcqAL9p1OiNnudNDhwMOvAbTGzB85L.txt [moved from backoffice/data/sessions/3JEoxzyin3vQMAN6bB9BMPt7MdwugUD24gSXLbLju.txt with 100% similarity]
backoffice/data/sessions/NnR1ANGN9yry21nx6ul4CR9KZOCzhmEcjd22G6kRJ.txt [deleted file]
backoffice/data/sessions/NuwFpH0u4oHlwvbuCIvDpoyPApJBItoivMZYVrElV.txt [moved from backoffice/data/sessions/4BehUCYKj2HY9VzlmG8CRSjvXYmXrccQQDUCHVmbk.txt with 100% similarity]
backoffice/data/sessions/OVADP8awmCkkGNXJ2xYuJYBlZS7PgfYC4QETvpHkB.txt [moved from backoffice/data/sessions/5TTLSQoljqtU5SYk5UdYFdl1W30ybN9a5vBZtBMWm.txt with 100% similarity]
backoffice/data/sessions/Ous9JbFILAQ6Ztn0JVWHwXhPUyn9TvW959y7Vzoli.txt [deleted file]
backoffice/data/sessions/PtkZqep1XtaYhLRSTArou6bN6kNARDXG97xGwMXLq.txt [deleted file]
backoffice/data/sessions/QL7EqNq5AenMtRKDb76u43UEUrK02Oc4bv7CwGxQ7.txt [deleted file]
backoffice/data/sessions/QpPnCcHsSlRbCJGRAmmDCwk5Gz62Qx5rXuYrUdqso.txt [deleted file]
backoffice/data/sessions/UX1UoyBwDMGKRJH6zPVW35tU5DRki1qulQd7DvnmW.txt [deleted file]
backoffice/data/sessions/UlHXNAU61YMomqPTRL0Zehbp9j1XfftaYM7ymnZud.txt [deleted file]
backoffice/data/sessions/VdYOIzlhtrD2lXmMEoHJIZnpixfR0kYKqePOgAmyv.txt [deleted file]
backoffice/data/sessions/X9bkiu5m05nCXDRGzXseKmLtadbQL1NSp5Vi1Ufl4.txt [deleted file]
backoffice/data/sessions/ZZPtMiFujJSFMCMfk0wBawhQvVTQavtyaUMhhjFzg.txt [deleted file]
backoffice/data/sessions/Zq6Zn4k0OiuVBNxvT7jNi4TpNYJQiD4Cvfxi5njtQ.txt [moved from backoffice/data/sessions/6Nab2xLCsjx6IbOajGJjc0mWDgrsGUXiGK8q7HF9w.txt with 100% similarity]
backoffice/data/sessions/ZynbUXsSlaptLqKOGmAMWP8GP3d2AXoJXxJjPlC5O.txt [moved from backoffice/data/sessions/6Vyc0ggMdqK27PYqkScIQ2yWzW33TcpTWHPoI6e12.txt with 100% similarity]
backoffice/data/sessions/aOwQSc0oes5rJl2Q1J9TUT5GLBCUfad1NmXFwFFrU.txt [deleted file]
backoffice/data/sessions/bDnYoOUUGgq1M4R4pF4jnsl3EcqClObSUXQMiaXkQ.txt [deleted file]
backoffice/data/sessions/bVe860oFto5OmAz8MoIO0O69WYfTgfmw3NWn7Tp2G.txt [deleted file]
backoffice/data/sessions/cvyqIkSuHZaxCWoYgh12DXLiaIw5SNSsSKnRmbzsQ.txt [deleted file]
backoffice/data/sessions/eWBVZEY6YGF4RCrcHhADxWggfYltEm1Q93G1NY1zr.txt [deleted file]
backoffice/data/sessions/epaoNZTRI0zR1RdCNsahoGSbjNKDGljln4u5SipNw.txt [deleted file]
backoffice/data/sessions/f68zG2yIJ5Cc2OhfK5FQVbaDFfkpZ2GruKQV9YGBA.txt [deleted file]
backoffice/data/sessions/fNVRKLCezOygBQBfNx8S9wlQeL3mHGKEbJfGdanP2.txt [deleted file]
backoffice/data/sessions/fa1sQsOOYzzVd4zcMahREdZMCn4sV6OvAdVqmjv1V.txt [deleted file]
backoffice/data/sessions/ffAVZfn1GqkZeM6okith0gvwDJuLw0rlX3ZlQZqks.txt [deleted file]
backoffice/data/sessions/g77ZrrvcaNUdM8CZoZKlzpOaP2HC8ym5lqcmqntb8.txt [deleted file]
backoffice/data/sessions/gQQOfWbF3fmMhUAEldzmxY215bY2JRc4kcVRj8Mny.txt [deleted file]
backoffice/data/sessions/hA0mlPhHtYiofH4RbWzfS7j4noO7wI3wjb4cqKjza.txt [moved from backoffice/data/sessions/9NGSXxXcd6pqySpExaB66AOV5Ldb16BKQ03b8cGlV.txt with 100% similarity]
backoffice/data/sessions/jFFniDmG86IasEJl6avgyaG1easR3ZfB1CxPQz5WP.txt [deleted file]
backoffice/data/sessions/m8WhIyRtmJkIkNC3DsUuiP5O9Dbrtym3kyhycbRmU.txt [deleted file]
backoffice/data/sessions/oXfsiuQ5HtdwRaUEZgPGSdiMQhj7kkXEwb2HLqHP3.txt [deleted file]
backoffice/data/sessions/ps7fGtG6qHiemYwzbUEz7zBlze5hFpcWSMACOTtKY.txt [deleted file]
backoffice/data/sessions/rNncutKNMgPhyQZbVK85yBXDWXEqDRgJhMRGvj2Rh.txt [moved from backoffice/data/sessions/9jdjY5rHsqU2pRynPgSMRzSpCVbGm16WtC1JyVq7J.txt with 100% similarity]
backoffice/data/sessions/sHJs0s43FRC1AO8sQBqS8cHdm1wHHRMGVwAqDQTWx.txt [deleted file]
backoffice/data/sessions/t1AZJItsjmq8IRACIyXHn5vMfiztCwxcXC6tP92sI.txt [deleted file]
backoffice/data/sessions/tGdHeVdD8ItQ6UmVN8RFLENeKoGuuj4QuWK2Dnrge.txt [deleted file]
backoffice/data/sessions/uBw3beGl5xFaRZQRRCyddzyFeyYuL0S0qP1eBbXHa.txt [deleted file]
backoffice/data/sessions/uFhMxSJGQt2FdiCSZfTjrKxds9nWY9vyJZswedAlA.txt [moved from backoffice/data/sessions/Am7lKMRhWPyaO7mgq857LJy7hdNzbjiPrb76zA2uL.txt with 100% similarity]
backoffice/data/sessions/ubpbTZ1F5OdK7fUW6lnqbwH5yBX2RCNltmYgk461W.txt [deleted file]
backoffice/data/sessions/v11Xg9WWkjy2cfS5LGAgeCuDDpMRv1mp5Y5G4Hamd.txt [deleted file]
backoffice/data/sessions/wCvrpTVhDfzNL6c5znja1pnkY34pYN9g8mFaxMahv.txt [deleted file]
backoffice/data/sessions/xvJj1JJizpv5VJ6tnLiDXCNxwJq9EctMg62t0Jheu.txt [deleted file]
backoffice/data/sessions/z412hsIVzDUlixNw4lU8WIyfCAkmMOzU4YzEYcV4c.txt [deleted file]
backoffice/data/sessions/zzzBwddNL9aYQQTNXWf4tP6DN8NQjjjfyWRp2NcaM.txt [deleted file]
backoffice/index.cgi
backoffice/js/app.js
backoffice/sessionlog.txt
backoffice/tmpl/block/dlgpassword.tt
backoffice/tmpl/block/head.tt [deleted file]
backoffice/tmpl/block/headcommon.tt [new file with mode: 0644]
backoffice/tmpl/lang/de.tt [new file with mode: 0644]
backoffice/tmpl/lang/en.tt [new file with mode: 0644]
backoffice/tmpl/lang/fr.tt [new file with mode: 0644]
backoffice/tmpl/lang/lb.tt [new file with mode: 0644]
backoffice/tmpl/module/webpages.tt
backoffice/tmpl/skeleton/index.tt
backoffice/tmpl/skeleton/login.tt
backoffice/tmpl/skeleton/login/forgotpassword.tt
backoffice/tmpl/skeleton/login/login.tt
backoffice/tmpl/skeleton/login/message.tt
backoffice/tmpl/skeleton/login/register.tt
css/theme.css
css/w3pro.css
img/icons/Aboutus.svg [new file with mode: 0644]
img/icons/Consulting.svg [new file with mode: 0644]
img/icons/Contact.svg [new file with mode: 0644]
img/icons/Home.svg [new file with mode: 0644]
img/icons/Infrastructure.svg [new file with mode: 0644]
img/icons/Login.svg [new file with mode: 0644]
img/icons/Network.svg [new file with mode: 0644]
img/icons/Service.svg [new file with mode: 0644]
img/icons/Software.svg [new file with mode: 0644]
img/icons/Support.svg [new file with mode: 0644]
img/pictures/network.jpg [new file with mode: 0644]
img/pictures/workstation-336369_1920.jpg [new file with mode: 0644]
index.cgi
tmpl/block/topnav.tt
tmpl/page/apps.tt [deleted file]
tmpl/page/backup.tt [deleted file]
tmpl/page/development.tt [deleted file]
tmpl/page/hosting.tt [deleted file]
tmpl/page/index.tt
tmpl/page/index2.tt [deleted file]
tmpl/page/privatecloud.tt [deleted file]
tmpl/page/shop.tt [deleted file]
tmpl/page/support.tt [deleted file]
tmpl/skeleton/index.tt

index 0b8e3b3..13c56c9 100644 (file)
@@ -1,7 +1,7 @@
 {
   "perlSyntax.includePaths": [
-    "${workspaceFolder}/backoffice/api/lib/perl5",
-    "${workspaceFolder}/backoffice/api/lib",
+    "${workspaceFolder}\\backoffice\\api\\lib\\perl5",
+    "${workspaceFolder}\\backoffice\\api\\lib"
 ],
 "tidyHtml.optionsTidy": {
   "indent-attributes": false,
index ca2455f..edf61ae 100644 (file)
@@ -7,75 +7,26 @@ use lib ('./');
 use File::Basename;
 use Exporter 'import';
 our @EXPORT_OK = qw($sitecfg $messages);
-my $staticpath ="saffran_lu";
+our $staticpath ="saffran_lu";
 our $sitecfg ={
   cookiename => 'saffranlu',
   gdpr => 'saffranlu_gdpr',
-  # dbtype => 'PgPP',
-  # dsn => 'DBI:PgPP:dbname=potlu_db;host=DKS-LAPTOP.fritz.box',
+  sessiontype => 'file',
+  #dbtype => 'PgPP',
+  #dsn => 'DBI:PgPP:dbname=potlu_db;host=DKS-LAPTOP.fritz.box',
   # #dsn => 'DBI:PgPP:dbname=solarch_db;host=sql629.your-server.de',
-  # dbuser => 'potlu_user',
-  # dbpassword => 'r2btTTRfuJz4whez',
+  #dbuser => 'potlu_user',
+  #dbpassword => 'r2btTTRfuJz4whez',
   page => 'index.tt',
   pagename => 'index',
   staticpath => $staticpath,
-  basepath => $ENV{"DOCUMENT_ROOT"}.'/'.$staticpath,
+  basepath => substr(dirname($ENV{"SCRIPT_FILENAME"}),length($ENV{DOCUMENT_ROOT}))."/",
   datapath => $ENV{"DOCUMENT_ROOT"}.'/'.$staticpath.'/backoffice/data/',
   docroot => $ENV{"DOCUMENT_ROOT"},
-  registration_enabled => '0',
-  default_group => 'users',
-  sitename => 'Accès - Client'
+  registration_enabled => '1',
+  default_group => 'users'
 };
 
-our $messages ={
-  de => {
-    gdpr_notice => "Diese Seite verwendet Cookies zur Optimierung der Browserfunktion.",
-    unknown_login => "Passwort oder Login unbekannt!",
-    service_error =>"Dieser Dienst ist leider zur Zeit nicht verfügbar!",
-    sent_newpassword =>"Wir haben dir eine E-Mail mit neuem Passwort geschickt!",
-    common_error => "Es ist ein Fehler aufgetreten, bitte später probieren!",
-    fill_all_fields => "Bitte alle Felder ausfüllen!",
-    user_exists_already => "Es existiert bereits ein Benutzer mit derselben E-Mail-Addresse!",
-    verification_mail_sent =>"Danke,<br/>wir haben dir eine E-Mail mit Verifizierungs-Code geschickt!<br/>Diesen Code bitte hier unten eintragen, um dein Konto zu validieren!",
-    sending_mail_failed => "Wir konnten dir leider keine E-Mail schicken!",
-    code_unknown => "Unbekannter Code!"    
-  },
-  lb => {
-    gdpr_notice => "Dësen Site benotzt Cookies fir är Navigatioun ze optiméieren.",
-    unknown_login => "Passwuert oder Login onbekannt!",
-    service_error =>"Dësen Service fonktionnéiert zur Zait leider net!",
-    sent_newpassword =>"Mir hun dir eng E-Mail matt engem neien PAsswuert gescheckt!",
-    common_error => "Et ass een Fehler opgetratt, probéier et spéider w.e.g.!",
-    fill_all_fields => "we.g. all Felder ausfëllen!",
-    user_exists_already => "Et existéirt schon een Benotzer mit dëser E-Mail-Address!",
-    verification_mail_sent =>"Merci,<br/>mir hun dir eng E-Mail matt Vérifiziéierungs-Code geschëckt!<br/>Dësen Code w.e.g hei drënner androën, fir dain Kont ze validéieren!",
-    sending_mail_failed => "Mir konnten dir leider keng E-Mail schëcken!",
-    code_unknown => "Unbekannten Code!"  
-  },
-  fr => {
-    gdpr_notice => "Ce site utilise des cookies pour améliorer votre navigation.",
-    unknown_login => "Passwort oder Login unbekannt!",
-    service_error =>"Dieser Dienst ist leider zur Zeit nicht verfügbar!",
-    sent_newpassword =>"Wir haben dir eine E-Mail mit neuem Passwort geschickt!",
-    common_error => "Es ist ein Fehler aufgetreten, bitte später probieren!",
-    fill_all_fields => "Bitte alle Felder ausfüllen!",
-    user_exists_already => "Es existiert bereits ein Benutzer mit derselben E-Mail-Addresse!",
-    verification_mail_sent =>"Danke,<br/>wir haben dir eine E-Mail mit Verifizierungs-Code geschickt!<br/>Diesen Code bitte hier unten eintragen, um dein Konto zu validieren!",
-    sending_mail_failed => "Wir konnten dir leider keine E-Mail schicken!",
-    code_unknown => "Unbekannter Code!"  
-  },
-  en => {
-    gdpr_notice => "This site uses cookies to offer you a better browsing experience.",
-    unknown_login => "Passwort oder Login unbekannt!",
-    service_error =>"Dieser Dienst ist leider zur Zeit nicht verfügbar!",
-    sent_newpassword =>"Wir haben dir eine E-Mail mit neuem Passwort geschickt!",
-    common_error => "Es ist ein Fehler aufgetreten, bitte später probieren!",
-    fill_all_fields => "Bitte alle Felder ausfüllen!",
-    user_exists_already => "Es existiert bereits ein Benutzer mit derselben E-Mail-Addresse!",
-    verification_mail_sent =>"Danke,<br/>wir haben dir eine E-Mail mit Verifizierungs-Code geschickt!<br/>Diesen Code bitte hier unten eintragen, um dein Konto zu validieren!",
-    sending_mail_failed => "Wir konnten dir leider keine E-Mail schicken!",
-    code_unknown => "Unbekannter Code!"  
-  }
-};
+
 
 1;
\ No newline at end of file
index f679a09..711f215 100644 (file)
@@ -7,14 +7,18 @@ use lib ('./lib');
 use lib ('./');
 use File::Basename;
 use Data::Dumper;
-use dksconfig qw($sitecfg $messages);
+use Digest::SHA qw(sha256_hex);
+use dksconfig qw($sitecfg); 
 use sendemail;
+use dksdb;
 # use Data::Dumper;
 
 sub new {
     my $class = shift;
     my $self = bless {}, $class;
-    #$self->{db} = dksdb->new();
+    if ($sitecfg->{sessiontype} eq "database"){
+      $self->{db} = dksdb->new();
+    }
     return $self;
 }
 
@@ -27,24 +31,42 @@ sub checklogin(){
   $login =~ s/^\s+//;
   $login =~ s/\s+$//;
 
-  $ret->{message} = "Mot de passe ou Login pas inconnue!";
+  $ret->{message} = "unknown_login";
   $ret->{messagetype} = "w3-red";
   $ret->{sid} = undef;
-  my $cmd = 'htpasswd -v -b -B '.$sitecfg->{datapath}.'/auth/.passwd '.$login.' '.$password.' 2>&1';
-  my $pwcheck=`$cmd`;
-  chomp($pwcheck);
-  open(LOG,'>>sessionlog.txt');
-    print LOG $cmd."\n";
-    print LOG $pwcheck."\n";
-  close(LOG);
+  if ($sitecfg->{sessiontype} eq "file"){
+    my $cmd = 'htpasswd -v -b -B '.$sitecfg->{datapath}.'/auth/.passwd '.$login.' '.$password.' 2>&1';
+    my $pwcheck=`$cmd`;
+    chomp($pwcheck);
+    open(LOG,'>>sessionlog.txt');
+      print LOG $cmd."\n";
+      print LOG $pwcheck."\n";
+    close(LOG);
+  
+    if ($pwcheck =~ /$login\s+correct/){
+      my $rstr = $self->randomstring(40);   
+      open(SESS,">".$sitecfg->{datapath}.'/sessions/'.$rstr.'.txt');
+      print SESS "$login";
+      close(SESS);
+      $ret->{sid} = $rstr;
+    }
+  } elsif ($sitecfg->{sessiontype} eq "database"){
+    my $pwd = sha256_hex($password);
+    if ($sitecfg->{dbtype} eq 'PgPP'){
+      my $siddata = $self->{db}->dbquerysorted("select * from public.checklogin('".$self->{db}->securetext($login)."','".$pwd."','".$ENV{REMOTE_ADDR}."','".$ENV{HTTP_USER_AGENT}."');");
+      if (keys(%{$siddata}) > 0){
+        $ret->{sid} = $siddata->{0}->{checklogin};
+      }
+    } else{
+      my $iduser = $self->{db}->dbquerysorted("select id into iduser from public.users where lower(username)=lower('".$self->{db}->securetext($login)."') and userpassword = '".$pwd."' and \"blocked\" is null;");
+      if (keys(%{$iduser}) > 0){
+        my $rstr = $self->randomstring(40);
+        $self->{db}->dbexec("insert into sessions (id_users,idsession,remote_addr,user_agent) VALUES( '".$iduser->{0}->{id}."','".$rstr."', '".$ENV{REMOTE_ADDR}."','".$ENV{HTTP_USER_AGENT}."');");
+        $ret->{sid} = $rstr;
+      }
+    }
+  } 
   
-  if ($pwcheck =~ /$login\s+correct/){
-    my $rstr = $self->randomstring(40);   
-    open(SESS,">".$sitecfg->{datapath}.'/sessions/'.$rstr.'.txt');
-    print SESS "$login";
-    close(SESS);
-    $ret->{sid} = $rstr;
-  }
   return $ret;
 }
 
@@ -52,10 +74,15 @@ sub savepassword(){
   my $self = shift;
   my $username = shift;
   my $newpwd = shift;
-  #my $pwd = sha256_hex($newpwd);
-  my $cmd = 'htpasswd -b -B '.$sitecfg->{datapath}.'/auth/.passwd $username $newpwd';
-  my $pwupd=`$cmd`;
-  chomp($pwupd);
+  if ($sitecfg->{sessiontype} eq "file"){
+    #my $pwd = sha256_hex($newpwd);
+    my $cmd = 'htpasswd -b -B '.$sitecfg->{datapath}.'/auth/.passwd $username $newpwd';
+    my $pwupd=`$cmd`;
+    chomp($pwupd);
+  } else {
+    my $pwd = sha256_hex($newpwd);
+    $self->{db}->dbexec("UPDATE users SET userpassword = '".$pwd."' WHERE id=".$username.";");
+  }
   return 1;
 }
 
@@ -63,22 +90,36 @@ sub passwordforgotten(){
   my $self = shift;
   my $login = shift;
   my $ret->{messagetype} ='w3-red';
-  $ret->{message} = "Onbekannt E-mail!";
-  my $cmd = 'grep -e "^'.$login.':" '.$sitecfg->{datapath}.'/auth/.passwd';
-  my $userexists = `$cmd`;
-  chomp($userexists);
-  if ($userexists ne ""){
+  $ret->{message} = "unknown_email";
+  my $userexists = 0;
+  if ($sitecfg->{sessiontype} eq "file"){
+    my $cmd = 'grep -e "^'.$login.':" '.$sitecfg->{datapath}.'/auth/.passwd';
+    my $userret = `$cmd`;
+    chomp($userret);
+    if ($userret ne ""){
+      $userexists = 1;
+    }
+
+  } else {
+    my $sql = "select id,userpassword,username from users where username='".$self->{db}->securetext($login)."';";
+    my $ex = $self->{db}->dbquerysorted($sql);
+    if (keys(%{$ex}) > 0){
+      $userexists = 1;
+    }
+  }
+  if ($userexists == 1){
     my $newpwd = $self->randomstring(12);
-    $self->savepassword($login,$newpwd);
+    
     my $data->{newpassword} = $newpwd; 
     my $eml = sendemail->new();
     my $mret = $eml->sendemail('user_forgotpasswd',$login,$data);
     if ($mret != 0){
+      $self->savepassword($login,$newpwd);
       $ret->{messagetype} ='w3-red';
-      $ret->{message} = "Den Moment ass et leider nët méglech d'Passwuert autmatesch zreckzesetzen, <br/> wend dech w.e.g. via E-Mail un <a href=\"mailto:webmaster\@fld.lu\">webmaster\@fld.lu</a>!";
+      $ret->{message} = "syspwdresetfail";
       return $ret;
     }
-    $ret->{message} = "Mir hun dir eng E-Mail, matt engem neien Passwuert gescheckt!";
+    $ret->{message} = "sent_newpassword";
     $ret->{messagetype} = "w3-green";
   }
   return $ret;
@@ -88,7 +129,7 @@ sub registeruser(){
   my $self = shift;
   my $data = shift;
   my $ret->{messagetype} ='w3-red';
-  $ret->{message} = "Une erreur c'est produite, essayer plus tard!";
+  $ret->{message} = "common_error";
   $ret->{page} = "message.tt";
   my @reqfields = ("companies_company","terms","users_email","members_phone","members_surname","members_prename","members_job");
   my $reqf = 1;
@@ -176,35 +217,54 @@ sub getsession($){
   my $self = shift;
   my $sid = shift;
   my $res = undef;
-  
-  if (-e $sitecfg->{datapath}.'/sessions/'.$sid.'.txt'){
-    open(SESS,$sitecfg->{datapath}.'/sessions/'.$sid.'.txt');
-    my $uname = "";
-    while (my $l = <SESS>){
-      chomp($l);
-      $uname .= $l; 
-    }
-    close(SESS);
-    if (-e $sitecfg->{datapath}.'/auth/'.$uname.'.conf'){
-      my $struprefs = "";
-      open (UPREF,$sitecfg->{datapath}.'/auth/'.$uname.'.conf');
-      while (my $l = <UPREF>){
+  if ($sitecfg->{sessiontype} eq "file"){
+    if (-e $sitecfg->{datapath}.'/sessions/'.$sid.'.txt'){
+      open(SESS,$sitecfg->{datapath}.'/sessions/'.$sid.'.txt');
+      my $uname = "";
+      while (my $l = <SESS>){
         chomp($l);
-        $struprefs .= $l;
+        $uname .= $l; 
+      }
+      close(SESS);
+      if (-e $sitecfg->{datapath}.'/auth/'.$uname.'.conf'){
+        my $struprefs = "";
+        open (UPREF,$sitecfg->{datapath}.'/auth/'.$uname.'.conf');
+        while (my $l = <UPREF>){
+          chomp($l);
+          $struprefs .= $l;
+        }
+        close(UPREF);
+        $res = JSON::PP::decode_json($struprefs);
+      }
+      $res->{sid} = $sid;
+       
+    }
+  } else {
+    if ($sitecfg->{dbtype} eq 'PgPP'){
+      my $sql ="select * from public.getsession('".$self->{db}->securetext($sid)."','".$ENV{REMOTE_ADDR}."','".$ENV{HTTP_USER_AGENT}."');";
+      my $ret= $self->{db}->dbquerysorted($sql);
+      if (keys(%{$ret}) > 0){
+        $res = $ret->{0};
+      }
+    } elsif ($sitecfg->{dbtype} eq 'SQLite'){
+      my $sql = "select se.idsession,us.username,us.usergroup,us.prename,us.surname,us.username from sessions se join users us on (se.id_users=us.id) where se.idsession='".$sid."';";
+      my $ret= $self->{db}->dbquerysorted($sql);
+      if (keys(%{$ret}) > 0){
+        $res = $ret->{0};
       }
-      close(UPREF);
-      $res = JSON::PP::decode_json($struprefs);
     }
-    $res->{sid} = $sid;
-    return $res; 
   }
-  return undef;
+  return $res;
 }
 
 sub deletesession(){
        my $self = shift;
        my $sid = shift;
-       $self->{db}->dbexec("DELETE FROM sessions where idsession='".$self->{db}->securetext($sid)."';");
+  if ($sitecfg->{sessiontype} eq "file"){
+    unlink($sitecfg->{datapath}.'/sessions/'.$sid.'.txt');
+  } else {
+    $self->{db}->dbexec("DELETE FROM sessions where idsession='".$self->{db}->securetext($sid)."';");
+  }
 }
 
 sub randomstring(){
@@ -215,41 +275,4 @@ sub randomstring(){
        return $randstring;
 }
 
-
-# sub deleteprofile(){
-#   my $self = shift;
-#   my $data = shift;
-#   my $ret->{message} = "mot de passe ou profile inconnue!";
-#   $ret->{messagetype} = "danger";
-#   if ($data->{id_user} eq ''){
-#     $ret->{sid} = undef;
-#     return $ret;
-#   }
-#   my $pwd = sha256_hex($data->{password});
-#   my $user = $self->{db}->dbquerysorted("select id from users where id= '".$data->{id_user}."' and userpassword = '".$pwd."';");
-#   if (keys(%{$user}) > 0){
-#     $self->admindeleteuser($data->{id_user});
-#     my $ret->{'message'} = "Votre profile a été supprimé!";
-#     $ret->{'messagetype'} = "info"; 
-#     $ret->{sid} = undef;
-#   }
-#   return $ret;
-  
-# }
-
-# sub admindeleteuser(){
-#   my $self = shift;
-#   my $id_user = shift;
-#   my @dl = ("DELETE FROM public.useringroups WHERE id_uset=".$id_user.";",
-# "DELETE FROM public.userclients WHERE id_user=".$id_user.";",
-# "DELETE FROM public.appaccess WHERE id_user=".$id_user.";",
-# "DELETE FROM public.modulepreferences WHERE id_user=".$id_user.";",,
-# "DELETE FROM public.sessions WHERE id_user=".$id_user.";",
-# "delete from users where id=".$id_user.";");
-# foreach my $s (@dl){
-#   $self->{db}->dbexec($s);
-# }
-#   return 1;
-# }
-
 1;
\ No newline at end of file
index 10a045d..5cbb9a0 100755 (executable)
@@ -36,6 +36,7 @@ my $vars = $sitecfg;
 $vars->{session} = $sess;
 $vars->{params} = $p;
 $vars->{filepath} = 'module/'.$p->{page}.'.tt'; 
+$vars->{basepath} = dirname($vars->{basepath});
 $vars->{baseurl} = $cgi->url({-base=>1});
 $vars->{siteurl} = $cgi->url({-base=>1}).'/'.$sitecfg->{staticpath}.'/';
   
@@ -45,6 +46,6 @@ if ($vars->{filepath} ne ""){
   $vars->{page} =~ s/html$/tt/;
 }
 #print '<pre>'.Dumper($vars).'</pre>';
-my $template = Template->new({INCLUDE_PATH => [$sitecfg->{basepath}.'/backoffice/tmpl']});
+my $template = Template->new({INCLUDE_PATH => [$sitecfg->{docroot}.'/'.$sitecfg->{basepath}.'/tmpl']});
 
 $template->process($vars->{filepath},$vars) || die "Template process failed: ", $template->error(), "\n";
index 98d2442..218fa72 100644 (file)
@@ -143,7 +143,7 @@ hr{border:0;border-top:1px solid #eee;margin:20px 0}
 .w3-padding-32{padding-top:32px!important;padding-bottom:32px!important}.w3-padding-48{padding-top:48px!important;padding-bottom:48px!important}
 .w3-padding-64{padding-top:64px!important;padding-bottom:64px!important}
 .w3-left{float:left!important}.w3-right{float:right!important}
-.w3-button:hover{color:#000!important;background-color:#ccc!important}
+.w3-button:hover{color:#fff!important;background-color: rgba(20.3922%,20.3922%,20.3922%,1)!important}
 .w3-transparent,.w3-hover-none:hover{background-color:transparent!important}
 .w3-hover-none:hover{box-shadow:none!important}
 /* DEFAULT COLORS */
diff --git a/backoffice/data/pages/contact.json b/backoffice/data/pages/contact.json
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/backoffice/data/pages/impressum.json b/backoffice/data/pages/impressum.json
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/backoffice/data/pages/index.json b/backoffice/data/pages/index.json
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/backoffice/data/pages/privacy.json b/backoffice/data/pages/privacy.json
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/backoffice/data/pages/terms.json b/backoffice/data/pages/terms.json
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/backoffice/data/sessions/BJOgO896Ee2Pt7m3J08s9q35kRbLJnWVfGzho8STt.txt b/backoffice/data/sessions/BJOgO896Ee2Pt7m3J08s9q35kRbLJnWVfGzho8STt.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/BeNbq84lOUNqzmw7zuSd2ams2PjJb9rnizOAnt1gP.txt b/backoffice/data/sessions/BeNbq84lOUNqzmw7zuSd2ams2PjJb9rnizOAnt1gP.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/D839DAU2ZcKJr6YKdxxLJcku0byvx8trIZYTr8iwp.txt b/backoffice/data/sessions/D839DAU2ZcKJr6YKdxxLJcku0byvx8trIZYTr8iwp.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/I0jJe268UaxEqvRLIBbxXkLmhcWMKGqY09GtMl6lY.txt b/backoffice/data/sessions/I0jJe268UaxEqvRLIBbxXkLmhcWMKGqY09GtMl6lY.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/IZnjVBrcMvWZ9zWAKY4SYbS9nBldNSo0ptgoV0f3R.txt b/backoffice/data/sessions/IZnjVBrcMvWZ9zWAKY4SYbS9nBldNSo0ptgoV0f3R.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/Jcukvyutromxwc5HnniB2a7W9gGiAAPjrTA0vAV7L.txt b/backoffice/data/sessions/Jcukvyutromxwc5HnniB2a7W9gGiAAPjrTA0vAV7L.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/JdBUkuIQDniseouOSrQH7goBEN6gQsZuPuQHPSwOt.txt b/backoffice/data/sessions/JdBUkuIQDniseouOSrQH7goBEN6gQsZuPuQHPSwOt.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/JeDv978stuRxyG7UJJAJkxX8QaBbLGGZCo1OyC67l.txt b/backoffice/data/sessions/JeDv978stuRxyG7UJJAJkxX8QaBbLGGZCo1OyC67l.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/KIxtRb9S3F1iY4aEwNef4BuePGKMaflWlIPWhoHfQ.txt b/backoffice/data/sessions/KIxtRb9S3F1iY4aEwNef4BuePGKMaflWlIPWhoHfQ.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/KtrMjHihIMOCJ2RXFBM7z9uuGnBE2WfgcFdPKR0kt.txt b/backoffice/data/sessions/KtrMjHihIMOCJ2RXFBM7z9uuGnBE2WfgcFdPKR0kt.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/NZWe56AhYfcrr16Atd4kdZgHzZEphFzxVaRsyg0Jx.txt b/backoffice/data/sessions/NZWe56AhYfcrr16Atd4kdZgHzZEphFzxVaRsyg0Jx.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/NnR1ANGN9yry21nx6ul4CR9KZOCzhmEcjd22G6kRJ.txt b/backoffice/data/sessions/NnR1ANGN9yry21nx6ul4CR9KZOCzhmEcjd22G6kRJ.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/Ous9JbFILAQ6Ztn0JVWHwXhPUyn9TvW959y7Vzoli.txt b/backoffice/data/sessions/Ous9JbFILAQ6Ztn0JVWHwXhPUyn9TvW959y7Vzoli.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/PtkZqep1XtaYhLRSTArou6bN6kNARDXG97xGwMXLq.txt b/backoffice/data/sessions/PtkZqep1XtaYhLRSTArou6bN6kNARDXG97xGwMXLq.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/QL7EqNq5AenMtRKDb76u43UEUrK02Oc4bv7CwGxQ7.txt b/backoffice/data/sessions/QL7EqNq5AenMtRKDb76u43UEUrK02Oc4bv7CwGxQ7.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/QpPnCcHsSlRbCJGRAmmDCwk5Gz62Qx5rXuYrUdqso.txt b/backoffice/data/sessions/QpPnCcHsSlRbCJGRAmmDCwk5Gz62Qx5rXuYrUdqso.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/UX1UoyBwDMGKRJH6zPVW35tU5DRki1qulQd7DvnmW.txt b/backoffice/data/sessions/UX1UoyBwDMGKRJH6zPVW35tU5DRki1qulQd7DvnmW.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/UlHXNAU61YMomqPTRL0Zehbp9j1XfftaYM7ymnZud.txt b/backoffice/data/sessions/UlHXNAU61YMomqPTRL0Zehbp9j1XfftaYM7ymnZud.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/VdYOIzlhtrD2lXmMEoHJIZnpixfR0kYKqePOgAmyv.txt b/backoffice/data/sessions/VdYOIzlhtrD2lXmMEoHJIZnpixfR0kYKqePOgAmyv.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/X9bkiu5m05nCXDRGzXseKmLtadbQL1NSp5Vi1Ufl4.txt b/backoffice/data/sessions/X9bkiu5m05nCXDRGzXseKmLtadbQL1NSp5Vi1Ufl4.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/ZZPtMiFujJSFMCMfk0wBawhQvVTQavtyaUMhhjFzg.txt b/backoffice/data/sessions/ZZPtMiFujJSFMCMfk0wBawhQvVTQavtyaUMhhjFzg.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/aOwQSc0oes5rJl2Q1J9TUT5GLBCUfad1NmXFwFFrU.txt b/backoffice/data/sessions/aOwQSc0oes5rJl2Q1J9TUT5GLBCUfad1NmXFwFFrU.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/bDnYoOUUGgq1M4R4pF4jnsl3EcqClObSUXQMiaXkQ.txt b/backoffice/data/sessions/bDnYoOUUGgq1M4R4pF4jnsl3EcqClObSUXQMiaXkQ.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/bVe860oFto5OmAz8MoIO0O69WYfTgfmw3NWn7Tp2G.txt b/backoffice/data/sessions/bVe860oFto5OmAz8MoIO0O69WYfTgfmw3NWn7Tp2G.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/cvyqIkSuHZaxCWoYgh12DXLiaIw5SNSsSKnRmbzsQ.txt b/backoffice/data/sessions/cvyqIkSuHZaxCWoYgh12DXLiaIw5SNSsSKnRmbzsQ.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/eWBVZEY6YGF4RCrcHhADxWggfYltEm1Q93G1NY1zr.txt b/backoffice/data/sessions/eWBVZEY6YGF4RCrcHhADxWggfYltEm1Q93G1NY1zr.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/epaoNZTRI0zR1RdCNsahoGSbjNKDGljln4u5SipNw.txt b/backoffice/data/sessions/epaoNZTRI0zR1RdCNsahoGSbjNKDGljln4u5SipNw.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/f68zG2yIJ5Cc2OhfK5FQVbaDFfkpZ2GruKQV9YGBA.txt b/backoffice/data/sessions/f68zG2yIJ5Cc2OhfK5FQVbaDFfkpZ2GruKQV9YGBA.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/fNVRKLCezOygBQBfNx8S9wlQeL3mHGKEbJfGdanP2.txt b/backoffice/data/sessions/fNVRKLCezOygBQBfNx8S9wlQeL3mHGKEbJfGdanP2.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/fa1sQsOOYzzVd4zcMahREdZMCn4sV6OvAdVqmjv1V.txt b/backoffice/data/sessions/fa1sQsOOYzzVd4zcMahREdZMCn4sV6OvAdVqmjv1V.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/ffAVZfn1GqkZeM6okith0gvwDJuLw0rlX3ZlQZqks.txt b/backoffice/data/sessions/ffAVZfn1GqkZeM6okith0gvwDJuLw0rlX3ZlQZqks.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/g77ZrrvcaNUdM8CZoZKlzpOaP2HC8ym5lqcmqntb8.txt b/backoffice/data/sessions/g77ZrrvcaNUdM8CZoZKlzpOaP2HC8ym5lqcmqntb8.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/gQQOfWbF3fmMhUAEldzmxY215bY2JRc4kcVRj8Mny.txt b/backoffice/data/sessions/gQQOfWbF3fmMhUAEldzmxY215bY2JRc4kcVRj8Mny.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/jFFniDmG86IasEJl6avgyaG1easR3ZfB1CxPQz5WP.txt b/backoffice/data/sessions/jFFniDmG86IasEJl6avgyaG1easR3ZfB1CxPQz5WP.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/m8WhIyRtmJkIkNC3DsUuiP5O9Dbrtym3kyhycbRmU.txt b/backoffice/data/sessions/m8WhIyRtmJkIkNC3DsUuiP5O9Dbrtym3kyhycbRmU.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/oXfsiuQ5HtdwRaUEZgPGSdiMQhj7kkXEwb2HLqHP3.txt b/backoffice/data/sessions/oXfsiuQ5HtdwRaUEZgPGSdiMQhj7kkXEwb2HLqHP3.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/ps7fGtG6qHiemYwzbUEz7zBlze5hFpcWSMACOTtKY.txt b/backoffice/data/sessions/ps7fGtG6qHiemYwzbUEz7zBlze5hFpcWSMACOTtKY.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/sHJs0s43FRC1AO8sQBqS8cHdm1wHHRMGVwAqDQTWx.txt b/backoffice/data/sessions/sHJs0s43FRC1AO8sQBqS8cHdm1wHHRMGVwAqDQTWx.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/t1AZJItsjmq8IRACIyXHn5vMfiztCwxcXC6tP92sI.txt b/backoffice/data/sessions/t1AZJItsjmq8IRACIyXHn5vMfiztCwxcXC6tP92sI.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/tGdHeVdD8ItQ6UmVN8RFLENeKoGuuj4QuWK2Dnrge.txt b/backoffice/data/sessions/tGdHeVdD8ItQ6UmVN8RFLENeKoGuuj4QuWK2Dnrge.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/uBw3beGl5xFaRZQRRCyddzyFeyYuL0S0qP1eBbXHa.txt b/backoffice/data/sessions/uBw3beGl5xFaRZQRRCyddzyFeyYuL0S0qP1eBbXHa.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/ubpbTZ1F5OdK7fUW6lnqbwH5yBX2RCNltmYgk461W.txt b/backoffice/data/sessions/ubpbTZ1F5OdK7fUW6lnqbwH5yBX2RCNltmYgk461W.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/v11Xg9WWkjy2cfS5LGAgeCuDDpMRv1mp5Y5G4Hamd.txt b/backoffice/data/sessions/v11Xg9WWkjy2cfS5LGAgeCuDDpMRv1mp5Y5G4Hamd.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/wCvrpTVhDfzNL6c5znja1pnkY34pYN9g8mFaxMahv.txt b/backoffice/data/sessions/wCvrpTVhDfzNL6c5znja1pnkY34pYN9g8mFaxMahv.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/xvJj1JJizpv5VJ6tnLiDXCNxwJq9EctMg62t0Jheu.txt b/backoffice/data/sessions/xvJj1JJizpv5VJ6tnLiDXCNxwJq9EctMg62t0Jheu.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/z412hsIVzDUlixNw4lU8WIyfCAkmMOzU4YzEYcV4c.txt b/backoffice/data/sessions/z412hsIVzDUlixNw4lU8WIyfCAkmMOzU4YzEYcV4c.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/zzzBwddNL9aYQQTNXWf4tP6DN8NQjjjfyWRp2NcaM.txt b/backoffice/data/sessions/zzzBwddNL9aYQQTNXWf4tP6DN8NQjjjfyWRp2NcaM.txt
deleted file mode 100644 (file)
index 7f374f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kilian
\ No newline at end of file
index 6d8ae2e..4b0f687 100755 (executable)
@@ -1,11 +1,10 @@
 #!/usr/local/bin/perl
 
 use strict;
-use lib ('./backoffice/api/lib');
-use lib ('./api/lib/perl5');
-use lib ('./api/lib/perl5');
-use lib ('./api/lib');
-use File::Basename qw/dirname basename/;
+use lib ('api/lib');
+use lib ('api/lib/perl5');
+
+use File::Basename qw/dirname basename/; 
 use Template;
 # use Template::Constants qw( :debug );
 use CGI;
@@ -20,11 +19,12 @@ use session;
 my $skl = "skeleton/index.tt";
 my $cgi = new CGI();
 my $p=();
-my $cookie;
+my $cookie = undef;
 my $vars = $sitecfg;
 
-$vars->{filepath} = substr($cgi->url({-absolute=>1}),length($vars->{basepath})+1); 
-$vars->{baseurl} = $cgi->url({-base=>1}).$vars->{basepath};
+$vars->{realfilepath} = $cgi->url({-absolute=>1});
+$vars->{filepath} = substr($cgi->url({-absolute=>1}),length($vars->{basepath})); 
+$vars->{baseurl} = $cgi->url({-base=>1}).'/'.$vars->{staticpath};
 
 if ($vars->{basepath} eq "/"){
   $vars->{siteurl} = $cgi->url({-base=>1}); 
@@ -33,33 +33,34 @@ if ($vars->{basepath} eq "/"){
   #$vars->{docroot} = $vars->{docroot}.dirname($vars->{basepath});
   #$vars->{sitepath} = dirname($vars->{basepath});
 }
-  
-
 if ($vars->{filepath} ne ""){
   $vars->{suffix} = substr($vars->{filepath},rindex($vars->{filepath},'.')); 
   $vars->{page} = $vars->{filepath};
   $vars->{page} =~ s/html$/tt/;
 }
 $vars->{abspath} = "";
-
 my $sess = ();
-my $se = session->new();
-$p->{sid} = $cgi->cookie($vars->{cookiename});
-if ($cgi->request_method() eq "GET"){
-  my @params = $cgi->param();
-  foreach my $pp (@params){
-         $p->{$pp} = $cgi->param($pp);
-  }
-
+my $se = undef;
+if ($sitecfg->{cookiename}){
+  $se = session->new();
+  $p->{sid} = $cgi->cookie($vars->{cookiename});
 }
+# if ($cgi->request_method() eq "GET"){
+#   my @params = $cgi->param();
+#   foreach my $pp (@params){
+#        $p->{$pp} = $cgi->param($pp);
+#   }
 
-if ($cgi->request_method() eq "POST"){
+# }
+
+if (($cgi->request_method() eq "POST") || ($cgi->request_method() eq "GET")){
   
   my @params = $cgi->param();
   foreach my $pp (@params){
          $p->{$pp} = $cgi->param($pp);
   }
   $vars->{hasposts} = $p;
+  if ($sitecfg->{cookiename}){
   if (exists($p->{'btnlogin'})){
     my $ret = $se->checklogin($p->{login},$p->{password});
     
@@ -104,8 +105,10 @@ if ($cgi->request_method() eq "POST"){
   if (exists($p->{logout})){ 
     $se->deletesession($p->{sid});
     $p->{sid} = "";
+    delete($p->{sid});
     $cookie = CGI::Cookie->new(-name=>$vars->{cookiename},-value=>"",-httponly => 1);
   }
+  }
   # if (exists($p->{btndeleteprofile})){ 
   #   my $ret = $se->deleteprofile($p->{deleteprofile});
   #   $vars->{message} = $ret->{message};
@@ -149,14 +152,13 @@ if ($vars->{suffix} eq ".js"){
 } elsif ($vars->{suffix} eq ".css"){
   $ctype = "text/css";
 }
+$vars->{skl} = $skl;
 print $cgi->header(-type=>$ctype, -charset=>"utf-8",-cookie => $cookie);
 # print dirname($ENV{"SCRIPT_FILENAME"});
-
-my $template = Template->new({INCLUDE_PATH => [dirname($ENV{"SCRIPT_FILENAME"}).'/tmpl']});
+my $tmplincpath = dirname($ENV{"SCRIPT_FILENAME"}).'/tmpl';
+my $template = Template->new({INCLUDE_PATH => [$tmplincpath]});
 #}
 
-
-
 if ($skl ne "skeleton/login.tt"){
   #$skl = "skeleton/index.tt";
   if ($vars->{page} !~ /\.tt$/) {
@@ -181,15 +183,16 @@ $vars->{pagename} =~ s/\.tt$//;
 # my ($appname) = $ENV{REQUEST_URI} =~ /.*\/apps\/(\w+)\/.*/;
 #$vars->{requri} = $ENV{REQUEST_URI};
 
-#BEGIN -  iFrame - Modules
-
-
-#END - iFrame - Modules
+my ($browserlang) = $ENV{HTTP_ACCEPT_LANGUAGE} =~ /^(\w+)[,|;|-]/;
+$vars->{lang} = 'de';
+if (-e $tmplincpath.'/lang/'.$browserlang.'.tt'){
+  $vars->{lang} = $browserlang;
+}
 
 $template->process($skl,$vars) || die "Template process failed: ", $template->error(), "\n";
 
-if ($vars->{page} =~ /\.tt/){
-    print '<pre  >'.Dumper($vars)."<pre>";
-} 
+if ($vars->{page} =~ /\.tt/){
+#      print '<pre  >'.Dumper($vars)."<pre>";
+
 
 
index c4e34e1..5472c70 100644 (file)
@@ -28,10 +28,10 @@ var app = {
     //   return x.getValue(true);\r
     // },\r
     logout: function() {\r
-        req.reqdata("POST", location.href, { "logout": "1" }, admin.reloadpage);\r
+        req.reqdata("POST", '../index.html', { "logout": "1" }, app.reloadpage);\r
 \r
     },\r
-    reloadpage(page) {\r
+    reloadpage() {\r
         location.href = location.href;\r
 \r
     }\r
index ef490ec..f414a72 100644 (file)
@@ -110,3 +110,91 @@ htpasswd -v -b -B /Users/kilian/Workspace/Websites/saffran_lu/backoffice/data//a
 Password for user kilian correct.
 htpasswd -v -b -B /Users/kilian/Workspace/Websites/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
 Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1 2>&1
+password verification failed
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian test 2>&1
+password verification failed
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian tert 2>&1
+password verification failed
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian sds 2>&1
+password verification failed
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd sadas  2>&1
+Usage:
+       htpasswd [-cimBdpsDv] [-C cost] passwordfile username
+       htpasswd -b[cmBdpsDv] [-C cost] passwordfile username password
+
+       htpasswd -n[imBdps] [-C cost] username
+       htpasswd -nb[mBdps] [-C cost] username password
+ -c  Create a new file.
+ -n  Don't update file; display results on stdout.
+ -b  Use the password from the command line rather than prompting for it.
+ -i  Read password from stdin without verification (for script usage).
+ -m  Force MD5 encryption of the password (default).
+ -B  Force bcrypt encryption of the password (very secure).
+ -C  Set the computing time used for the bcrypt algorithm
+     (higher is more secure but slower, default: 5, valid: 4 to 31).
+ -d  Force CRYPT encryption of the password (8 chars max, insecure).
+ -s  Force SHA encryption of the password (insecure).
+ -p  Do not encrypt the password (plaintext, insecure).
+ -D  Delete the specified user.
+ -v  Verify password for the specified user.
+On other systems than Windows and NetWare the '-p' flag will probably not work.
+The SHA algorithm does not use a salt and is less secure than the MD5 algorithm.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd sadas  2>&1
+Usage:
+       htpasswd [-cimBdpsDv] [-C cost] passwordfile username
+       htpasswd -b[cmBdpsDv] [-C cost] passwordfile username password
+
+       htpasswd -n[imBdps] [-C cost] username
+       htpasswd -nb[mBdps] [-C cost] username password
+ -c  Create a new file.
+ -n  Don't update file; display results on stdout.
+ -b  Use the password from the command line rather than prompting for it.
+ -i  Read password from stdin without verification (for script usage).
+ -m  Force MD5 encryption of the password (default).
+ -B  Force bcrypt encryption of the password (very secure).
+ -C  Set the computing time used for the bcrypt algorithm
+     (higher is more secure but slower, default: 5, valid: 4 to 31).
+ -d  Force CRYPT encryption of the password (8 chars max, insecure).
+ -s  Force SHA encryption of the password (insecure).
+ -p  Do not encrypt the password (plaintext, insecure).
+ -D  Delete the specified user.
+ -v  Verify password for the specified user.
+On other systems than Windows and NetWare the '-p' flag will probably not work.
+The SHA algorithm does not use a salt and is less secure than the MD5 algorithm.
index ae0d2ef..efae4b9 100644 (file)
@@ -17,7 +17,7 @@
       </ul>
       </div>
       </div>
-     [% inputbox('htpasswd','auth',params.username,'Neues Passwort','password','','','','','') %]
+     
       <div class="w3-container">
           <label for="userpassword" class="w3-label">retaper le nouveau mot de passe</label>
           <input class="w3-input w3-border" type="password" id="userpasswordcheck" name="userpasswordcheck" value="" />
diff --git a/backoffice/tmpl/block/head.tt b/backoffice/tmpl/block/head.tt
deleted file mode 100644 (file)
index 3e910a8..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-
-  <!-- Required meta tags -->
-  
-  
diff --git a/backoffice/tmpl/block/headcommon.tt b/backoffice/tmpl/block/headcommon.tt
new file mode 100644 (file)
index 0000000..8049321
--- /dev/null
@@ -0,0 +1,29 @@
+
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="language" content="fr">
+      <meta name="author" content="DKS sarl">
+      <meta name="publisher" content="DKS sarl">
+      <meta name="copyright" content="DKS sarl">
+      <meta name="robots" content="noindex,nofollow">
+      <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
+    <meta http-equiv="Pragma" content="no-cache" />
+    <meta http-equiv="Expires" content="0" />
+  
+      <link rel="apple-touch-icon" sizes="57x57" href="[% abspath %]img/favicon/apple-icon-57x57.png">
+  <link rel="apple-touch-icon" sizes="60x60" href="[% abspath %]img/favicon/apple-icon-60x60.png">
+  <link rel="apple-touch-icon" sizes="72x72" href="[% abspath %]img/favicon/apple-icon-72x72.png">
+  <link rel="apple-touch-icon" sizes="76x76" href="[% abspath %]img/favicon/apple-icon-76x76.png">
+  <link rel="apple-touch-icon" sizes="114x114" href="[% abspath %]img/favicon/apple-icon-114x114.png">
+  <link rel="apple-touch-icon" sizes="120x120" href="[% abspath %]img/favicon/apple-icon-120x120.png">
+  <link rel="apple-touch-icon" sizes="144x144" href="[% abspath %]img/favicon/apple-icon-144x144.png">
+  <link rel="apple-touch-icon" sizes="152x152" href="[% abspath %]img/favicon/apple-icon-152x152.png">
+  <link rel="apple-touch-icon" sizes="180x180" href="[% abspath %]img/favicon/apple-icon-180x180.png">
+  <link rel="icon" type="image/png" sizes="192x192"  href="[% abspath %]img/favicon/android-icon-192x192.png">
+  <link rel="icon" type="image/png" sizes="32x32" href="[% abspath %]img/favicon/favicon-32x32.png">
+  <link rel="icon" type="image/png" sizes="96x96" href="[% abspath %]img/favicon/favicon-96x96.png">
+  <link rel="icon" type="image/png" sizes="16x16" href="[% abspath %]img/favicon/favicon-16x16.png">
+  <link rel="stylesheet" href="[% abspath %]css/w3pro.css">
+  <link rel="stylesheet" href="[% abspath %]css/dkstheme.css">
+  
+  
diff --git a/backoffice/tmpl/lang/de.tt b/backoffice/tmpl/lang/de.tt
new file mode 100644 (file)
index 0000000..996329e
--- /dev/null
@@ -0,0 +1,34 @@
+[% lbl = {
+  gdpr_notice => "Diese Seite verwendet Cookies zur Optimierung der Browserfunktion.",
+    unknown_login => "Passwort oder Login unbekannt!",
+    unknown_email => "E-Mail unbekannt!",
+    service_error =>"Dieser Dienst ist leider zur Zeit nicht verfügbar!",
+    sent_newpassword =>"Wir haben dir eine E-Mail mit neuem Passwort geschickt!",
+    common_error => "Es ist ein Fehler aufgetreten, bitte später probieren!",
+    fill_all_fields => "Bitte alle Felder ausfüllen!",
+    user_exists_already => "Es existiert bereits ein Benutzer mit derselben E-Mail-Addresse!",
+    verification_mail_sent =>"Danke,<br/>wir haben dir eine E-Mail mit Verifizierungs-Code geschickt!<br/>Diesen Code bitte hier unten eintragen, um dein Konto zu validieren!",
+    sending_mail_failed => "Wir konnten dir leider keine E-Mail schicken!",
+    code_unknown => "Unbekannter Code!",
+    login_heading => "Benutzer Login",
+    login => "Login",
+    password => "Passwort",
+    sendlogin => "Einloggen",
+    pwdforgotten => "Passwort vergessen?",
+    sendnewpassword => "Neues Passwort anfragen",
+    send => "Abschicken",
+    registrationlink => "Sie haben noch kein Konto?",
+    connectionlink => "Sie haben bereits ein Konto?",
+    registrationmessage => "Registrieren Sie sich jetzt!",
+    register => "Konto erstellen",
+    link_login => "Sich anmelden",
+    company => "Unternehmen",
+    surname => "Name", 
+    prename => "Vorname",
+    job => "Position",
+    email => "E-Mail",
+    phone => "Telefon",
+    accept_terms => "Ich akzepiere die Allgemeinen Geschäfts Bedingungen",
+    terms => "Allgemeinen Geschäfts Bedingungen",
+    syspwdresetfail => "Zur Zeit ist es leider nicht möglich automatisiert das Passwort zurückzusetzen, in dringenden fällen bitte an den Support wenden!"
+} %]
\ No newline at end of file
diff --git a/backoffice/tmpl/lang/en.tt b/backoffice/tmpl/lang/en.tt
new file mode 100644 (file)
index 0000000..54e85c9
--- /dev/null
@@ -0,0 +1,12 @@
+[% lbl = {
+  gdpr_notice => "Diese Seite verwendet Cookies zur Optimierung der Browserfunktion.",
+    unknown_login => "Passwort oder Login unbekannt!",
+    service_error =>"Dieser Dienst ist leider zur Zeit nicht verfügbar!",
+    sent_newpassword =>"Wir haben dir eine E-Mail mit neuem Passwort geschickt!",
+    common_error => "Es ist ein Fehler aufgetreten, bitte später probieren!",
+    fill_all_fields => "Bitte alle Felder ausfüllen!",
+    user_exists_already => "Es existiert bereits ein Benutzer mit derselben E-Mail-Addresse!",
+    verification_mail_sent =>"Danke,<br/>wir haben dir eine E-Mail mit Verifizierungs-Code geschickt!<br/>Diesen Code bitte hier unten eintragen, um dein Konto zu validieren!",
+    sending_mail_failed => "Wir konnten dir leider keine E-Mail schicken!",
+    code_unknown => "Unbekannter Code!"
+} %]
\ No newline at end of file
diff --git a/backoffice/tmpl/lang/fr.tt b/backoffice/tmpl/lang/fr.tt
new file mode 100644 (file)
index 0000000..47c7a4f
--- /dev/null
@@ -0,0 +1,12 @@
+[% lbl = {
+    gdpr_notice => "Ce site utilise des cookies pour améliorer votre navigation.",
+    unknown_login => "Passwort oder Login unbekannt!",
+    service_error =>"Dieser Dienst ist leider zur Zeit nicht verfügbar!",
+    sent_newpassword =>"Wir haben dir eine E-Mail mit neuem Passwort geschickt!",
+    common_error => "Es ist ein Fehler aufgetreten, bitte später probieren!",
+    fill_all_fields => "Bitte alle Felder ausfüllen!",
+    user_exists_already => "Es existiert bereits ein Benutzer mit derselben E-Mail-Addresse!",
+    verification_mail_sent =>"Danke,<br/>wir haben dir eine E-Mail mit Verifizierungs-Code geschickt!<br/>Diesen Code bitte hier unten eintragen, um dein Konto zu validieren!",
+    sending_mail_failed => "Wir konnten dir leider keine E-Mail schicken!",
+    code_unknown => "Unbekannter Code!"  
+} %]
\ No newline at end of file
diff --git a/backoffice/tmpl/lang/lb.tt b/backoffice/tmpl/lang/lb.tt
new file mode 100644 (file)
index 0000000..c8b1dd9
--- /dev/null
@@ -0,0 +1,12 @@
+[% lbl = {
+    gdpr_notice => "Dësen Site benotzt Cookies fir är Navigatioun ze optiméieren.",
+    unknown_login => "Passwuert oder Login onbekannt!",
+    service_error =>"Dësen Service fonktionnéiert zur Zait leider net!",
+    sent_newpassword =>"Mir hun dir eng E-Mail matt engem neien Passwuert gescheckt!",
+    common_error => "Et ass een Fehler opgetratt, probéier et spéider w.e.g.!",
+    fill_all_fields => "we.g. all Felder ausfëllen!",
+    user_exists_already => "Et existéirt schon een Benotzer mit dëser E-Mail-Address!",
+    verification_mail_sent =>"Merci,<br/>mir hun dir eng E-Mail matt Vérifiziéierungs-Code geschëckt!<br/>Dësen Code w.e.g hei drënner androën, fir dain Kont ze validéieren!",
+    sending_mail_failed => "Mir konnten dir leider keng E-Mail schëcken!",
+    code_unknown => "Unbekannten Code!"  
+} %]
\ No newline at end of file
index e9e4710..14cd99e 100644 (file)
@@ -1,12 +1,72 @@
+[% USE date %]
 <div class="w3-display-container">
   <div class="w3-display-container">
   <div class="w3-display-container w3-display-top">
     <div class="w3-bar TopNavigation" id="tbl_settings">
     <div class="w3-bar-item PageHeadTitle">Webseiten</div>
-    <button class="w3-bar-item Button_Navigation w3-right" onclick="form.deleteRecord();"><img src="[% abspath %]img/icons/remove_white.svg" style="width: 28px;"><br/>löschen</button>
-    <button class="w3-bar-item Button_Navigation w3-right" onclick="form.edit('webpages/webpage');"><img src="[% abspath %]img/icons/edit_white.svg" style="width: 28px;"><br/>bearbeiten</button>
-    <button class="w3-bar-item Button_Navigation w3-right" onclick="form.edit('webpages/webpage');"><img src="[% abspath %]img/icons/plus_white.svg" style="width: 28px;"><br/>neu</button>  
+    <button class="w3-bar-item Button_Navigation w3-right" onclick="form.deleteRecord();"><img src="[% abspath %]img/icons/remove_white.svg" style="width: 16px;"><br/>löschen</button>
+    <button class="w3-bar-item Button_Navigation w3-right" onclick="form.edit('webpages/webpage');"><img src="[% abspath %]img/icons/edit_white.svg" style="width: 16px;"><br/>bearbeiten</button>
+    <button class="w3-bar-item Button_Navigation w3-right" onclick="form.edit('webpages/webpage');"><img src="[% abspath %]img/icons/plus_white.svg" style="width: 16px;"><br/>neu</button>  
     </div>
   </div>
 </div>
-</div>
\ No newline at end of file
+<div class="portalpanel">
+          [% cols = [ {name => "Type" , width => 80 },
+            {name => "Name/Link" , width => 150 }
+            {name => "Titel" , width => 300 }
+            {name => "Beschreibung" , width => 300 }
+            {name => "Datum" , width => 80 }
+          ]
+          %]
+        <table class="portal">
+          <thead>
+            <tr>
+              [% FOREACH c=cols %]
+              <th style="min-width: [% c.width %]px;width: [% c.width %]px;max-width: [% c.width %]px;">[% c.name %]</th>
+              [% END %]
+              <th></th>
+            </tr>
+          </thead>
+          
+          <tbody style="height: calc(100vh - 300px);" >
+           [% USE dir = Directory("$docroot/$staticpath/tmpl") %]
+
+[% INCLUDE showdir %]
+
+[% BLOCK showdir -%]
+  [% FOREACH file = dir.list -%]
+    [% IF file.isdir -%]
+      [% file.scan -%]
+      [% INCLUDE showdir dir=file  -%]
+    [% ELSE -%]
+            <tr class="dataset" id="ds_[% bk.id %]" data-id="[% bk.id %]" onclick="//table.setselection('[% bk.id %]');">
+              [% FOREACH c=cols %]
+              <td style="min-width: [% c.width %]px;width: [% c.width %]px;max-width: [% c.width %]px;">
+                [% IF c.name == "Type" %]
+                  [% dir.path.replace("$docroot/$staticpath/tmpl/",'') %]
+                [% ELSIF c.name == "Name/Link" %]
+                  [% file.name.replace('.tt','.html') %]
+                [% ELSIF c.name == "Titel" %]
+                  Titel
+                [% ELSIF c.name == "Beschreibung" %]
+                  Beschreibung
+                [% ELSIF c.name == "Datum" %]
+                  [% date.format(file.mtime, '%d.%m.%Y') %]
+                [% ELSE %]&nbsp;
+                [% END %]
+              </td>
+              [% END %]
+              <td></td>
+            </tr>
+            [% END -%]
+  [% END -%]
+ [% END %]
+            
+          </tbody>
+          
+        </table>
+        </div>
+</div>
+
+</div>
+[% #USE dir = Directory(, recurse=1) %]
index b6d7df0..17f43b5 100644 (file)
@@ -2,33 +2,9 @@
 <!DOCTYPE html>
 <html lang="en">
 <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    
     <title>[% sitename %] - [% pagename %]</title>
-    <meta name="language" content="fr">
-      <meta name="author" content="DKS sarl">
-      <meta name="publisher" content="DKS sarl">
-      <meta name="copyright" content="DKS sarl">
-      <meta name="robots" content="noindex,nofollow">
-      <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
-    <meta http-equiv="Pragma" content="no-cache" />
-    <meta http-equiv="Expires" content="0" />
-  
-      <link rel="apple-touch-icon" sizes="57x57" href="[% abspath %]img/favicon/apple-icon-57x57.png">
-  <link rel="apple-touch-icon" sizes="60x60" href="[% abspath %]img/favicon/apple-icon-60x60.png">
-  <link rel="apple-touch-icon" sizes="72x72" href="[% abspath %]img/favicon/apple-icon-72x72.png">
-  <link rel="apple-touch-icon" sizes="76x76" href="[% abspath %]img/favicon/apple-icon-76x76.png">
-  <link rel="apple-touch-icon" sizes="114x114" href="[% abspath %]img/favicon/apple-icon-114x114.png">
-  <link rel="apple-touch-icon" sizes="120x120" href="[% abspath %]img/favicon/apple-icon-120x120.png">
-  <link rel="apple-touch-icon" sizes="144x144" href="[% abspath %]img/favicon/apple-icon-144x144.png">
-  <link rel="apple-touch-icon" sizes="152x152" href="[% abspath %]img/favicon/apple-icon-152x152.png">
-  <link rel="apple-touch-icon" sizes="180x180" href="[% abspath %]img/favicon/apple-icon-180x180.png">
-  <link rel="icon" type="image/png" sizes="192x192"  href="[% abspath %]img/favicon/android-icon-192x192.png">
-  <link rel="icon" type="image/png" sizes="32x32" href="[% abspath %]img/favicon/favicon-32x32.png">
-  <link rel="icon" type="image/png" sizes="96x96" href="[% abspath %]img/favicon/favicon-96x96.png">
-  <link rel="icon" type="image/png" sizes="16x16" href="[% abspath %]img/favicon/favicon-16x16.png">
-  <link rel="stylesheet" href="[% abspath %]css/w3pro.css">
-  <link rel="stylesheet" href="[% abspath %]css/dkstheme.css">
+    [% INCLUDE block/headcommon.tt %]
 </head>
 <body>
     <div class="w3-display-container">
index e18ee82..6d5e8c2 100644 (file)
@@ -1,45 +1,21 @@
+[% PROCESS "lang/${lang}.tt" %]
 <!DOCTYPE html>
-<html lang="en">
+<html lang="[% lang %]">
 <head>
-<meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>[% sitename %] - [% pagename %]</title>
-    <meta name="language" content="fr">
-      <meta name="author" content="DKS sarl">
-      <meta name="publisher" content="DKS sarl">
-      <meta name="copyright" content="DKS sarl">
-      <meta name="robots" content="noindex,nofollow">
-      <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
-    <meta http-equiv="Pragma" content="no-cache" />
-    <meta http-equiv="Expires" content="0" />
-  
-      <link rel="apple-touch-icon" sizes="57x57" href="[% abspath %]img/favicon/apple-icon-57x57.png">
-  <link rel="apple-touch-icon" sizes="60x60" href="[% abspath %]img/favicon/apple-icon-60x60.png">
-  <link rel="apple-touch-icon" sizes="72x72" href="[% abspath %]img/favicon/apple-icon-72x72.png">
-  <link rel="apple-touch-icon" sizes="76x76" href="[% abspath %]img/favicon/apple-icon-76x76.png">
-  <link rel="apple-touch-icon" sizes="114x114" href="[% abspath %]img/favicon/apple-icon-114x114.png">
-  <link rel="apple-touch-icon" sizes="120x120" href="[% abspath %]img/favicon/apple-icon-120x120.png">
-  <link rel="apple-touch-icon" sizes="144x144" href="[% abspath %]img/favicon/apple-icon-144x144.png">
-  <link rel="apple-touch-icon" sizes="152x152" href="[% abspath %]img/favicon/apple-icon-152x152.png">
-  <link rel="apple-touch-icon" sizes="180x180" href="[% abspath %]img/favicon/apple-icon-180x180.png">
-  <link rel="icon" type="image/png" sizes="192x192"  href="[% abspath %]img/favicon/android-icon-192x192.png">
-  <link rel="icon" type="image/png" sizes="32x32" href="[% abspath %]img/favicon/favicon-32x32.png">
-  <link rel="icon" type="image/png" sizes="96x96" href="[% abspath %]img/favicon/favicon-96x96.png">
-  <link rel="icon" type="image/png" sizes="16x16" href="[% abspath %]img/favicon/favicon-16x16.png">
-  <link rel="stylesheet" href="[% abspath %]css/w3pro.css">
-  <link rel="stylesheet" href="[% abspath %]css/dkstheme.css">
+    [% INCLUDE block/headcommon.tt %]
 </head>
 <body>
   
-  <div class="w3-display-container">
-    <div class="w3-row" style="margin-top: 100px;">
+  <div class="w3-display-container DKS">
+    <div class="w3-row" style="margin-top: 100px; ">
     <div class="w3-col l4 m3">&nbsp;
     </div>
-    <div class="w3-col l4 m6">  
-    <div class="w3-container w3-center">
+    <div class="w3-col l4 m6 w3-border w3-round">  
+    <div class="w3-container w3-center w3-white w3-padding">
         <img src="[% abspath %]img/toplogo.png" style="height: 60px;" alt="logo">
     </div>
-    <div class="w3-container">
+    <div class="w3-container w3-white" >
         [% IF pagename == 'register' && registration_enabled == '1' %]
           [% INCLUDE skeleton/login/register.tt %]
         [% ELSIF pagename == 'forgotpassword' %]
index bf4feb5..f4e53b8 100644 (file)
@@ -1,20 +1,20 @@
 <div class="w3-container">
-        <h4>Mot de passe oublié?</h4>
-              <h6 >Demander un nouveau mot de passe</h6>
+        <h4>[% lbl.pwdforgotten %]</h4>
+              <h6 >[% lbl.sendnewpassword %]</h6>
         </div>     
               <form  method="POST">
                 <div class="w3-container">
-                    <label for="email" class="w3-label">E-mail</label>
+                    <label for="email" class="w3-label">[% lbl.email %]</label>
                   
                     <input type="text" class="w3-input w3-border" id="email" name="email"  required>
                     
                 </div>
                 
                 <div class="w3-container w3-padding-16">
-                  <button type="submit" name="btnforgotpassword" class="w3-button w3-theme" >Envoyer</button>
+                  <button type="submit" name="btnforgotpassword" class="w3-button w3-theme" >[% lbl.send %]</button>
                 </div>
                 <div class="w3-container w3-padding-24">
-                  <a href="[% basepath %]/login.html" class="text-primary">se Connecter</a>
+                  <a href="[% basepath %]/login.html" class="text-primary">[% lbl.link_login %]</a>
                 </div>
                 
               </form>
\ No newline at end of file
index 7262df2..a0b1b27 100644 (file)
@@ -1,25 +1,24 @@
-<div class="w3-container">
-            <h4>Accès Client</h4>
-            <h6 class="w3-text-blue">Bienvenue de retour</h6>
+<div class="w3-container" >
+            <h4>[% lbl.login_heading %]</h4>
         </div>
         <form name="frmlogin"  method="POST" id="frmlogin">
           <div class="w3-container">
-              <label for="username" class="w3-label">Login</label>
+              <label for="username" class="w3-label">[% lbl.login %]</label>
               <input class="w3-input w3-border" type="text" id="login" name="login">
           </div>
           <div class="w3-container">
-            <label for="password" class="w3-label">Mot de passe</label>
+            <label for="password" class="w3-label">[% lbl.password %]</label>
               <input class="w3-input w3-border" type="password" id="password" name="password">
           </div>
           <div class="w3-container w3-padding-16">
-              <button type="submit" name="btnlogin" class="w3-theme-dark w3-button" >Connecter</button>
+              <button type="submit" name="btnlogin" class="w3-theme-dark w3-button" >[% lbl.sendlogin %]</button>
           </div>
           <div class="w3-container w3-padding-16">
-              <a href="[% abspath %]forgotpassword.html">mot de passe oublié?</a>
+              <a href="[% abspath %]forgotpassword.html">[% lbl.pwdforgotten %]</a>
           </div>
           [% IF registration_enabled == '1' %]
           <div class="w3-container w3-padding-16">
-              Vous n'avez pas encore de compte?<br/><a href="[% basepath %]/register.html" class="text-primary">se régistrer</a>
+              [% lbl.registrationlink %]<br/><a href="[% basepath %]/register.html" class="text-primary">[% lbl.register %]</a>
             </div>
           [% END %]
         </form>
\ No newline at end of file
index ba1006f..e947d17 100644 (file)
@@ -1,12 +1,12 @@
-<div class="w3-panel [% messagetype %]">[% message %]</div>  
+<div class="w3-panel [% messagetype %]">[% lbl.item(message) %]</div>  
                 <div class="w3-container">
-                  <a href="[% basepath %]/login.html" class="text-primary">Se connecter</a>
+                  <a href="[% basepath %]/login.html" class="text-primary">[% lbl.link_login %]</a>
                 </div>
                 [% IF registration_enabled == '1' %]
                 <div class="w3-container">
-                  <a href="[% basepath %]/register.html" class="text-primary">Registrez vous!</a>
+                  <a href="[% basepath %]/register.html" class="text-primary">[% lbl.register %]!</a>
                 </div>
                 [% END %]
                 <div class="w3-container">
-                  <a href="[% basepath %]/forgotpassword.html" class="text-primary">Mot de passe oublié?</a>
+                  <a href="[% basepath %]/forgotpassword.html" class="text-primary">[% lbl.pwdforgotten %]</a>
                 </div>
\ No newline at end of file
index 7c42fb0..8f71160 100644 (file)
@@ -1,32 +1,32 @@
 [% PROCESS macro/fields.tt %]
 <div class="w3-container">
-        <h4>Vous n'avez pas un compte?</h4>
-              <h6 class="font-weight-light">régistrez-vous maintenant! </h6>
+        <h4>[% lbl.registrationlink %]</h4>
+              <h6 class="font-weight-light">[% lbl.registrationmessage %] </h6>
             </div>
            
               <form  method="POST" >
                 <div class="w3-container">
-                [% fieldeditbox('company','companies','Entreprise','w3-half','','','') %]
+                [% fieldeditbox('company','companies',lbl.company,'w3-half','','','') %]
                 </div>
                 <div class="w3-container">
-                [% fieldeditbox('surname','members','Nom','w3-third','','','') %]
-                [% fieldeditbox('prename','members','Prénom','w3-third','','','') %]
-                [% fieldeditbox('job','members','Position','w3-quarter','','','gérant') %]
+                [% fieldeditbox('surname','members',lbl.surname,'w3-third','','','') %]
+                [% fieldeditbox('prename','members',lbl.prename,'w3-third','','','') %]
+                [% fieldeditbox('job','members',lbl.job,'w3-quarter','','','') %]
                 </div>
                 <div class="w3-container">
-                [% fieldeditbox('email','users','E-Mail','w3-half','','','') %]
-                [% fieldeditbox('phone','members','Téléphone','w3-half','','','') %]
+                [% fieldeditbox('email','users',lbl.email,'w3-half','','','') %]
+                [% fieldeditbox('phone','members',lbl.phone,'w3-half','','','') %]
                 </div>
                 
                 <div class="w3-container">
                   <input class="w3-check" id="terms" name="terms" value="1" type="checkbox" required>
-                  <label>j'accepte les <button class="w3-button w3-text-blue-grey" style="padding: 0px;" onclick="document.getElementById('dlgcgu').style.display='block';">Conditions générales d'utilisation</button></label>
+                  <label>[% lbl.accept_terms %]<br><a target="_blank" href="[% abspath %]/terms.pdf">[% lbl.terms %]</a></button></label>
                 </div>
                 <div class="w3-container w3-padding-16">
-                  <button type="submit" name="btnregister" class="w3-button w3-theme">Envoyer</button>
+                  <button type="submit" name="btnregister" class="w3-button w3-theme">[% lbl.register %]</button>
                 </div>
                 <div class="w3-container w3-padding-24">
-                  vous avez déjà un compte? <a href="[% abspath %]login.html" class="text-primary">Se Connecter</a>
+                  [% lbl.connection_link %]<a href="[% abspath %]login.html" class="text-primary">[% lbl.link_login %]</a>
                 </div>
                 </form>
             
index 30c60d7..aecbf6d 100644 (file)
@@ -28,10 +28,11 @@ h1 {
 }
 .w3-branding {
   color: #b60000;
+  
 }
 .w3-branding2 {
   color: #c8beb7;
-}
 
 .w3-nav-button {
   padding-top: 25px!important;
index 3e4d28c..d11e026 100644 (file)
@@ -142,7 +142,7 @@ hr{border:0;border-top:1px solid #eee;margin:20px 0}
 .w3-padding-32{padding-top:32px!important;padding-bottom:32px!important}.w3-padding-48{padding-top:48px!important;padding-bottom:48px!important}
 .w3-padding-64{padding-top:64px!important;padding-bottom:64px!important}
 .w3-left{float:left!important}.w3-right{float:right!important}
-.w3-button:hover{color:#000!important;background-color:#ccc!important}
+.w3-button:hover{color:#fff!important;background-color: rgba(20.3922%,20.3922%,20.3922%,1)!important}
 .w3-transparent,.w3-hover-none:hover{background-color:transparent!important}
 .w3-hover-none:hover{box-shadow:none!important}
 /* DEFAULT COLORS */
diff --git a/img/icons/Aboutus.svg b/img/icons/Aboutus.svg
new file mode 100644 (file)
index 0000000..fbe5e55
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?> 
+<svg version="1.2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" 
+        x="0px" y="0px" width="50px" height="50px" viewBox="0 0 768 768"> 
+<path fill="#fff" d="M402.198,281.152C385.279,281.152 365.874,287.45 342.941,300.374 321.161,312.758 296.933,333.386 270.976,361.86L261.651,372.265 298.083,400.487 306.113,392.569C334.158,365.281 343.626,357.83 346.795,355.815 310.47,482.709 291.785,559.388 291.785,592.398 291.785,605.536 295.566,616.158 302.944,624.184 310.541,632.32 321.052,636.567 333.329,636.567 345.786,636.567 360.582,631.564 378.583,621.305 395.466,611.622 420.955,590.672 456.452,557.229L466.244,548.048 433.086,515.759 424.123,524.144C392.622,553.772 378.834,563.131 375.702,566.3 376.242,553.088 383.802,514.821 414.943,410.1 439.963,326.546 439.963,317.799 439.963,313.625 439.963,303.758 436.148,295.371 428.874,289.359 422.251,283.925 413.288,281.152 402.198,281.152z M401.478,133.629C372.787,133.629 349.601,156.885 349.601,185.43 349.601,214.159 372.787,237.341 401.478,237.341 430.17,237.341 453.392,214.159 453.392,185.43 453.392,156.885 430.17,133.629 401.478,133.629z M383.983,0C595.665,7E-06 768,172.256 768,384 768,595.711 595.665,768 383.983,768 172.192,768 -4E-06,595.711 0,384 -4E-06,172.256 172.192,7E-06 383.983,0z"/> 
+</svg>
\ No newline at end of file
diff --git a/img/icons/Consulting.svg b/img/icons/Consulting.svg
new file mode 100644 (file)
index 0000000..e090029
--- /dev/null
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="utf-8"?> \r<svg version="1.2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" \r      x="0px" y="0px" width="50px" height="50px" viewBox="0 0 769.77 768"> \r<path d="M601.763,136.862L340.807,325.781 259.223,208.794 128.6,231.628 247.099,361.54 246.702,361.774 319.266,444.608 625.218,218.753z M0,0L769.768,0 769.768,581.61 266.405,581.61 124.667,768 124.667,581.61 0,581.61z"/> \r</svg>
\ No newline at end of file
diff --git a/img/icons/Contact.svg b/img/icons/Contact.svg
new file mode 100644 (file)
index 0000000..119528a
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?> 
+<svg version="1.2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" 
+        x="0px" y="0px" width="50px" height="50px" viewBox="0 0 64 52.46"> 
+<path  fill="#fff" d="M13.926,19.595L13.95847,19.595 25.767147,31.167762 38.9234,44.072662 52.083055,31.167762 63.893003,19.595 64.001,19.595 64.001,52.455999 13.926,52.455999z M16.901999,15.760999L38.962289,15.760999 61.023,15.760999 49.991693,26.8263 38.962289,37.894001 27.936185,26.8263z M24.80665,3.8146973E-06C26.370444,0.0012493134 27.280375,0.24934387 27.280375,0.24934387 32.44428,2.7409382 30.915578,7.5175114 30.915578,7.5175114L22.97807,11.94263C21.226869,11.646335 19.044567,8.5793915 19.044566,8.5793915 10.131759,9.6938715 6.3218555,23.592216 6.3218551,23.592215 7.3544564,26.337565 10.661659,27.948736 10.661659,27.948736L8.4612575,36.761173C6.3675056,37.54496 4.7906036,37.440161 3.6382532,37.013769 1.7880316,36.320482 1.056221,34.79301 1.056221,34.79301 -3.0387526,21.693151 6.0940652,10.720752 6.0940657,10.720752 13.731409,1.3787842 21.102927,-0.0029468536 24.80665,3.8146973E-06z"/> 
+</svg>
\ No newline at end of file
diff --git a/img/icons/Home.svg b/img/icons/Home.svg
new file mode 100644 (file)
index 0000000..858a213
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?> 
+<svg version="1.2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" 
+        x="0px" y="0px" width="50px" height="50px" viewBox="0 0 18.67 18.25"> 
+<path fill="#fff" d="M9.4554864,4.9209997L16.265,10.254179 16.265,18.253999 10.729395,18.253999 10.729395,12.642825 7.8406011,12.642825 7.8406011,18.253999 2.3599916,18.253999 2.3599916,10.254179z M9.4579974,0L18.667001,7.3770468 18.667001,9.8047945 9.4670001,2.419949 0,10.019 0,7.591252z"/> 
+</svg>
\ No newline at end of file
diff --git a/img/icons/Infrastructure.svg b/img/icons/Infrastructure.svg
new file mode 100644 (file)
index 0000000..e01981f
--- /dev/null
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="utf-8"?> \r<svg version="1.2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" \r      x="0px" y="0px" width="50px" height="50px" viewBox="0 0 56.59 64"> \r<path d="M38.115,59.131001L55.070417,59.131001C55.903708,59.131001 56.586,59.814644 56.586,60.6521 56.586,61.490654 55.903708,62.173 55.070417,62.173L38.115,62.173z M1.5207167,59.131001L18.471001,59.131001 18.471001,62.173 1.5207167,62.173C0.68229723,62.173 0,61.490654 0,60.6521 0,59.814644 0.68229723,59.131001 1.5207167,59.131001z M26.775982,51.698002L29.81772,51.698002 29.81772,57.30481 34.531227,57.30481C35.236813,57.30611,35.825502,57.895901,35.828001,58.596489L35.828001,62.708321C35.825502,63.412811,35.236813,64,34.531227,64L22.052276,64C21.351789,64,20.760601,63.412811,20.758001,62.708321L20.758001,58.596489C20.760601,57.895901,21.351789,57.30611,22.052276,57.30481L26.775982,57.30481z M28.28882,12.381C28.704498,12.381,29.158926,12.528476,29.502729,12.823426L46.565287,27.452355C47.252893,28.044758,47.817999,29.271259,47.817999,30.178862L47.817999,47.556496C47.817999,48.465298,47.081091,49.209,46.169584,49.209L37.344002,49.209C36.435093,49.209,35.695488,48.465298,35.695488,47.556496L35.695488,32.476965C35.695488,31.566864,34.945482,30.824762,34.039272,30.824762L22.747568,30.824762C21.83336,30.824762,21.091154,31.566864,21.091154,32.476965L21.091154,47.556496C21.091154,48.465298,20.346446,49.209,19.437439,49.209L10.328055,49.209C9.4191958,49.209,8.6769996,48.465298,8.6769991,47.556496L8.6769991,30.18136C8.6769996,29.275358,9.2474451,28.051157,10.239553,27.456256L27.307411,12.823426C27.496214,12.528476,27.87314,12.381,28.28882,12.381z M28.249416,0C29.052479,0,29.855204,0.28875732,30.491903,0.86627102L54.619604,21.673483C55.989305,22.91568 56.096106,25.023674 54.851305,26.388269 53.606504,27.759266 51.491903,27.858366 50.132505,26.616169L28.247204,7.8544102 6.3643923,26.622669C4.8122029,28.173465 2.3017631,27.118768 1.6455126,26.388269 0.40863895,25.023674 0.51270294,22.91568 1.8695736,21.673483L26.004904,0.86627102C26.642954,0.28875732,27.446354,0,28.249416,0z"/> \r</svg>
\ No newline at end of file
diff --git a/img/icons/Login.svg b/img/icons/Login.svg
new file mode 100644 (file)
index 0000000..2400aa1
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?> 
+<svg version="1.2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" 
+        x="0px" y="0px" width="50px" height="50px" viewBox="0 0 59.41 64"> 
+<path fill="#fff" d="M15.930851,36.710608C22.14356,36.647291 30.005098,41.570198 30.005098,41.570198 38.080673,46.45562 45.657448,38.281082 45.657448,38.281082 48.847534,35.288968 53.432121,42.865801 53.432121,42.865801 59.214702,51.040343 59.414001,64.000004 59.414001,64.000004L0,64.000004C2.092523,41.669198 12.360659,37.482978 12.360659,37.482978 13.423015,36.951675 14.64142,36.723749 15.930851,36.710608z M33.0965,0C42.015587,0 49.245998,7.8997269 49.245998,17.644449 49.245998,27.390621 42.015587,35.288998 33.0965,35.288999 24.177311,35.288998 16.947,27.390621 16.947,17.644449 16.947,7.8997269 24.177311,0 33.0965,0z"/> 
+</svg>
\ No newline at end of file
diff --git a/img/icons/Network.svg b/img/icons/Network.svg
new file mode 100644 (file)
index 0000000..51cd305
--- /dev/null
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="utf-8"?> \r<svg version="1.2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" \r      x="0px" y="0px" width="50px" height="50px" viewBox="0 0 63.9 64"> \r<path d="M24.25275,48.59C25.504066,48.59 26.517,49.606243 26.517,50.8563 26.517,52.112953 25.504066,53.125999 24.25275,53.125999 22.997633,53.125999 21.986,52.112953 21.986,50.8563 21.986,49.606243 22.997633,48.59 24.25275,48.59z M15.950351,48.59C17.201633,48.59 18.218,49.606243 18.218,50.8563 18.218,52.112953 17.201633,53.125999 15.950351,53.125999 14.695667,53.125999 13.68,52.112953 13.68,50.8563 13.68,49.606243 14.695667,48.59 15.950351,48.59z M15.950549,40.571999C17.201887,40.571999 18.216999,41.586086 18.216999,42.83725 18.216999,44.089012 17.201887,45.104 15.950549,45.104 14.699012,45.104 13.684,44.089012 13.684,42.83725 13.684,41.586086 14.699012,40.571999 15.950549,40.571999z M36.999172,38.633335C36.625374,38.633835,36.311577,38.943928,36.311577,39.313023L36.311577,54.02047C36.311577,54.390865,36.625374,54.699959,36.999172,54.699959L59.043331,54.699959C59.41573,54.699959,59.730728,54.390865,59.732128,54.02047L59.732128,39.313023C59.730728,38.943928,59.41573,38.633835,59.043331,38.633335z M34.486687,34.885998L61.555614,34.885998C62.849808,34.889198,63.896702,35.924381,63.900002,37.206158L63.900002,57.08482C63.896702,58.366096,62.849808,59.40448,61.555614,59.405678L51.306881,59.405678C51.022484,59.405678 50.798584,59.649773 50.827084,59.93047 50.860283,60.269665 50.906582,60.720158 50.954582,61.119949 51.011982,61.61924 51.45528,61.960434 51.951477,62.067734L55.511955,62.837318C55.814751,62.903118 56.030251,63.168713 56.030251,63.475307 56.030251,63.765003 55.792652,64 55.499554,64L55.141556,64 40.899345,64 40.635147,64C40.342152,64 40.10585,63.765003 40.10585,63.475307 40.10585,63.169315 40.321251,62.903717 40.623348,62.839218L44.232224,62.065933C44.712624,61.963634 45.14352,61.630241 45.192421,61.147247 45.234718,60.726757 45.271217,60.261765 45.295219,59.920071 45.316017,59.638775 45.083721,59.408978 44.799122,59.408978L34.486687,59.405678C33.192493,59.40448,32.145603,58.366096,32.141003,57.08482L32.141003,37.206158C32.145603,35.924381,33.192493,34.889198,34.486687,34.885998z M15.95055,32.267002C17.203989,32.267002 18.219,33.282757 18.219,34.5359 18.219,35.788544 17.203989,36.804001 15.95055,36.804001 14.697812,36.804001 13.682,35.788544 13.682,34.5359 13.682,33.282757 14.697812,32.267002 15.95055,32.267002z M48.054401,27.522999C49.308567,27.522999 50.323002,28.539232 50.323002,29.79175 50.323002,31.044867 49.308567,32.059998 48.054401,32.059998 46.802334,32.059998 45.785999,31.044867 45.785999,29.79175 45.785999,28.539232 46.802334,27.522999 48.054401,27.522999z M48.054501,19.223C49.306011,19.223 50.320999,20.238111 50.320999,21.48945 50.320999,22.740988 49.306011,23.756001 48.054501,23.756001 46.803291,23.756001 45.788002,22.740988 45.788002,21.48945 45.788002,20.238111 46.803291,19.223 48.054501,19.223z M48.054401,11.201C49.307266,11.201 50.323002,12.21669 50.323002,13.4701 50.323002,14.722111 49.307266,15.738 48.054401,15.738 46.802334,15.738 45.785999,14.722111 45.785999,13.4701 45.785999,12.21669 46.802334,11.201 48.054401,11.201z M39.752651,11.201C41.005978,11.201 42.021,12.21669 42.021,13.4701 42.021,14.722111 41.005978,15.738 39.752651,15.738 38.500023,15.738 37.485001,14.722111 37.485001,13.4701 37.485001,12.21669 38.500023,11.201 39.752651,11.201z M4.85812,3.7474909C4.4844079,3.7481616,4.1706762,4.0580359,4.1693363,4.4273109L4.1693363,19.135063C4.1706762,19.505466,4.4844079,19.814772,4.85812,19.814772L26.90127,19.814772C27.274971,19.814772,27.589373,19.505466,27.589373,19.135063L27.589373,4.4273109C27.589373,4.0580359,27.274971,3.7481616,26.90127,3.7474909z M2.3457155,0L29.414286,0C30.708595,0.0032959452,31.7547,1.0385842,31.757999,2.3204021L31.757999,22.199606C31.7547,23.480822,30.708595,24.519236,29.414286,24.520636L19.166121,24.520636C18.88032,24.520636 18.657719,24.76474 18.684418,25.045244 18.718918,25.384546 18.765219,25.835054 18.812017,26.23476 18.870621,26.734066 19.314722,27.075373 19.809425,27.182772L23.369947,27.952284C23.671949,28.017982 23.888851,28.283587 23.888851,28.59029 23.888851,28.879997 23.651249,29.114998 23.358248,29.114998L22.999445,29.114998 8.7572555,29.114998 8.4934635,29.114998C8.2006111,29.114998 7.9629407,28.879997 7.9629402,28.59029 7.9629407,28.284187 8.1797419,28.018682 8.4824133,27.954283L12.090576,27.180773C12.570979,27.078472 13.001382,26.745167 13.050282,26.26206 13.091883,25.841555 13.128983,25.376846 13.153083,25.034843 13.173883,24.754339 12.941482,24.524536 12.657681,24.524536L2.3457155,24.520636C1.0501766,24.519236,0.0040283406,23.480822,0,22.199606L0,2.3204021C0.0040283406,1.0385842,1.0501766,0.0032959452,2.3457155,0z"/> \r</svg>
\ No newline at end of file
diff --git a/img/icons/Service.svg b/img/icons/Service.svg
new file mode 100644 (file)
index 0000000..df7c67d
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?> 
+<svg version="1.2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" 
+        x="0px" y="0px" width="50px" height="50px" viewBox="0 0 42.44 42.81"> 
+<path  fill="#fff" d="M40.778009,0L41.614,0.82398382 42.44499,1.6509672 39.643022,6.7968663 37.000055,9.4568137 33.692098,11.455774 24.343626,20.862509 27.249868,23.752003C28.725835,22.883993 30.418842,22.351005 32.254819,22.344993 37.767763,22.326988 42.249711,26.785993 42.267717,32.300968 42.275712,33.178987 42.126695,34.019991 41.913717,34.83798L36.657758,29.607981 30.845838,30.868994 29.616848,36.689966 34.887788,41.925951C34.064798,42.152971 33.212789,42.313951 32.316801,42.316973 26.803859,42.329973 22.322919,37.874964 22.306928,32.360964 22.299909,30.714973 22.728919,29.182993 23.431915,27.811992L20.416265,24.814346 15.101326,30.162407C15.101326,30.162407 16.591308,31.646377 17.177301,32.228367 17.757293,32.805353 17.2653,33.305345 17.2653,33.305345 17.2653,33.305345 16.932304,33.633337 16.43431,34.135328 15.940317,34.633318 13.786343,34.143328 13.786343,34.143328L12.463359,35.476301C12.463359,35.476301 6.2394366,41.735178 5.7084431,42.273168 5.16645,42.814157 3.55247,42.777159 3.0544762,42.280168 2.5524824,41.788179 1.7214928,40.959192 1.7214929,40.959192 1.7214928,40.959192 0.89050303,40.13521 0.39050944,39.639219 -0.10448463,39.141229 -0.15348403,37.525263 0.38550909,36.986273 0.9245026,36.446283 7.1454253,30.189405 7.1454253,30.189405L8.4664092,28.857431C8.4664092,28.857431 7.9584155,26.702474 8.4554095,26.206484 8.9504027,25.706493 9.2833991,25.3745 9.2833991,25.3745 9.2833991,25.3745 9.7783933,24.87351 10.361386,25.450498 10.942379,26.032488 12.44036,27.519459 12.44036,27.519459L17.755792,22.169756 14.734009,19.166014C13.365005,19.87701 11.835022,20.313991 10.187029,20.32101 4.6731109,20.339016 0.19213996,15.882023 0.17514204,10.368026 0.17013702,9.4860075 0.31915277,8.6460131 0.53115638,7.8300355L5.7870817,13.058022 11.599033,11.797008 12.828023,5.976035 7.5570831,0.74005225C8.3780579,0.51504661 9.2340674,0.35302909 10.12804,0.349031 15.642996,0.33603083 20.124944,4.7880186 20.139928,10.302016 20.144933,12.137004 19.62095,13.832008 18.762958,15.314L21.683006,18.21722 31.031129,8.8088263 33.007104,5.4908918 35.653074,2.835944z"/> 
+</svg>
\ No newline at end of file
diff --git a/img/icons/Software.svg b/img/icons/Software.svg
new file mode 100644 (file)
index 0000000..01e34ac
--- /dev/null
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="utf-8"?> \r<svg version="1.2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" \r      x="0px" y="0px" width="50px" height="50px" viewBox="0 0 59.52 64.89"> \r<path d="M42.5273,41.723001C43.526165,41.723001 44.334997,42.532689 44.334997,43.52985 44.334997,44.527212 43.526165,45.337 42.5273,45.337 41.529735,45.337 40.721001,44.527212 40.721001,43.52985 40.721001,42.532689 41.529735,41.723001 42.5273,41.723001z M42.526852,38.675563C39.845855,38.675563 37.672762,40.848755 37.672762,43.529648 37.672762,46.21204 39.845855,48.383831 42.526852,48.383831 45.209139,48.383831 47.382336,46.21204 47.382336,43.529648 47.382336,40.848755 45.209139,38.675563 42.526852,38.675563z M42.526852,26.538999C51.91102,26.538999 59.519001,34.145677 59.519001,43.529648 59.519001,52.91382 51.91102,60.521997 42.526852,60.521997 33.142777,60.521997 25.535999,52.91382 25.536,43.529648 25.535999,34.145677 33.142777,26.538999 42.526852,26.538999z M42.526997,2.0219994L41.908512,25.210945C32.078032,25.541048 24.17721,33.62052 24.17721,43.530008 24.17721,48.569153 26.220764,53.138992 29.52009,56.459223L12.752867,64.890997 11.296,5.1781483z M31.717268,0L40.941,1.1314697 9.709528,4.2877789 11.166617,63.999998 1.9426556,59.144499 0,2.9126587z"/> \r</svg>
\ No newline at end of file
diff --git a/img/icons/Support.svg b/img/icons/Support.svg
new file mode 100644 (file)
index 0000000..386c5ff
--- /dev/null
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="utf-8"?> \r<svg version="1.2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" \r      x="0px" y="0px" width="50px" height="50px" viewBox="0 0 63.74 64"> \r<path d="M58.032372,41.278841L57.787982,41.31436 57.671483,41.32462 57.668288,41.330806 57.657405,41.473896 57.649283,41.538601z M32.28784,0C47.513736,0,59.946774,11.957158,60.70897,26.992884L60.718294,27.23826 60.816114,27.310891C62.579082,28.690337 63.737997,31.026572 63.737997,33.677101 63.737997,36.657959 62.271245,39.242327 60.12777,40.514078L59.992873,40.589661 59.965136,40.682077C58.941595,44.027657,54.211355,55.95764,38.217833,58.684189L38.010577,58.717239 37.980807,58.88393C37.383265,61.803883 34.799587,64 31.7034,64 28.164999,64 25.295998,61.131599 25.295998,57.592499 25.295998,54.053499 28.164999,51.184999 31.7034,51.184999 34.246696,51.184999 36.44418,52.66687 37.479087,54.81448L37.60183,55.085962 37.64929,55.07559C39.558073,54.652721,47.49747,52.563431,52.365729,46.198399L52.573915,45.919174 52.470167,45.91655C49.851553,45.783823,47.767998,43.618753,47.767999,40.967178L47.767999,26.22122C47.767998,23.482908 49.988144,21.263999 52.7252,21.264 53.580935,21.263999 54.385997,21.48069 55.088487,21.862206L55.10564,21.872066 55.063722,21.774858C50.813787,12.404572 41.98867,5.964983 31.791031,5.964983 21.033081,5.964983 11.802586,13.13166 7.8597107,23.34537L7.7989922,23.508202 8.0170059,23.268421C8.9141121,22.371659 10.153439,21.816999 11.522289,21.816999 14.260605,21.816999 16.48,24.035636 16.48,26.772459L16.48,41.518141C16.48,44.256363 14.260605,46.475 11.522289,46.475 8.8701363,46.475 6.7042274,44.39286 6.5714493,41.773274L6.5664177,41.57421 6.2864227,41.566012C2.7842293,41.360437 0,38.007039 0,33.898701 0,30.850434 1.5326309,28.217222 3.7540054,26.977163L3.8729706,26.914852 3.9139786,26.267789C5.0320091,11.574553,17.308762,0,32.28784,0z"/> \r</svg>
\ No newline at end of file
diff --git a/img/pictures/network.jpg b/img/pictures/network.jpg
new file mode 100644 (file)
index 0000000..7848ecf
Binary files /dev/null and b/img/pictures/network.jpg differ
diff --git a/img/pictures/workstation-336369_1920.jpg b/img/pictures/workstation-336369_1920.jpg
new file mode 100644 (file)
index 0000000..3ef5d2c
Binary files /dev/null and b/img/pictures/workstation-336369_1920.jpg differ
index 23bd1e9..ccb9111 100755 (executable)
--- a/index.cgi
+++ b/index.cgi
@@ -97,9 +97,9 @@ if ($sitecfg->{gdpr}){
 my $skl = dirname($vars->{page});
 # print Dumper($template);
 $template->process("skeleton/index.tt",$vars) || die "Template process failed: ", $template->error(), "\n";
-if ($vars->{page} =~ /\.tt$/){
-  print '<pre>'.Dumper($browserlang)."->".Dumper($vars->{lang})."->".Dumper($ENV{HTTP_ACCEPT_LANGUAGE})."</pre>";
-}
+if ($vars->{page} =~ /\.tt$/){
+  print '<pre>'.Dumper($browserlang)."->".Dumper($vars->{lang})."->".Dumper($ENV{HTTP_ACCEPT_LANGUAGE})."</pre>";
+}
 
 
 
index f84e066..ab80462 100644 (file)
@@ -1,15 +1,15 @@
 <div class="w3-top w3-border-bottom">
   <div class="w3-bar w3-theme">
-    <a class="w3-bar-item" href="[% apspath %]index.html"><img  src="[% abspath %]img/sitc2.png" alt="Saffran IT Consulting Logo" style="width: 60px;"/></a>
+    <a class="w3-bar-item" href="[% abspath %]index.html"><img  src="[% abspath %]img/sitc2.png" alt="Saffran IT Consulting Logo" style="width: 45px;"/></a>
     <div class="w3-bar-item">
-        <div class="w3-xlarge w3-branding"><strong>SAFFRAN</strong></div>
+        <div class="w3-branding"><strong>SAFFRAN</strong></div>
         <div class="w3-branding2">IT Consulting</div>
     </div>
-    <a class="w3-bar-item w3-button w3-nav-button" href="[% abspath %]index.html">Home</a>
-    <a class="w3-bar-item w3-button w3-nav-button" href="[% abspath %]services.html">Services</a>
-    <a class="w3-bar-item w3-button w3-nav-button" href="[% abspath %]contact.html">Kontakt</a>
-    <a class="w3-bar-item w3-button w3-nav-button" href="[% abspath %]aboutus.html">Über uns</a>
-    <a class="w3-bar-item w3-button w3-right w3-nav-button" target="_blank" href="[% abspath %]backoffice/login.html">Login</a>
+    <a class="w3-bar-item w3-button" href="[% abspath %]index.html"><img src="[% abspath %]img/icons/Home.svg" style="width: 24px;"><br/>Home</a>
+    <a class="w3-bar-item w3-button" href="[% abspath %]services.html"><img src="[% abspath %]img/icons/Service.svg" style="width: 24px;"><br/>Services</a>
+    <a class="w3-bar-item w3-button" href="[% abspath %]contact.html"><img src="[% abspath %]img/icons/Contact.svg" style="width: 24px;"><br/>Kontakt</a>
+    <a class="w3-bar-item w3-button" href="[% abspath %]aboutus.html"><img src="[% abspath %]img/icons/Aboutus.svg" style="width: 24px;"><br/>Über uns</a>
+    <a class="w3-bar-item w3-button w3-right" target="_blank" href="[% abspath %]backoffice/login.html"><img src="[% abspath %]img/icons/Login.svg" style="width: 24px;"><br/>Login</a>
   </div>
 </div>
 
diff --git a/tmpl/page/apps.tt b/tmpl/page/apps.tt
deleted file mode 100644 (file)
index 59d6eaf..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<div class="w3-container w3-center">
-  <h1>Apps</h1>
-</div>
\ No newline at end of file
diff --git a/tmpl/page/backup.tt b/tmpl/page/backup.tt
deleted file mode 100644 (file)
index 8540be4..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<div class="w3-container w3-center">
-  <h1>BAckup</h1>
-</div>
\ No newline at end of file
diff --git a/tmpl/page/development.tt b/tmpl/page/development.tt
deleted file mode 100644 (file)
index 870f611..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<div class="w3-container w3-center">
-  <h1>Entwicklung</h1>
-</div>
\ No newline at end of file
diff --git a/tmpl/page/hosting.tt b/tmpl/page/hosting.tt
deleted file mode 100644 (file)
index 67bec22..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<div class="w3-container w3-center">
-  <h1>Hosting</h1>
-</div>
\ No newline at end of file
index 2edbb46..dd9917e 100644 (file)
@@ -1,79 +1,57 @@
  <div class="w3-display-container">
-      <div class="w3-display-container mySlides w3-animate-top" style="height: 300px; overflow: hidden;">
-        <div class="w3-row">
-          <div class="w3-container w3-cell">
-            <img src="[% abspath %]img/slides/slide4.jpg" style="width:100%">
-          </div>
-          <div class="w3-container w3-cell w3-theme-l3">
-            <p class="w3-text-black w3-xlarge w3-padding-64"><span class="w3-large">Bevor Sie ihren PC zum Fenster rausschmeißen,</span><br/>Fragen Sie uns!<br/>Das wird billiger!</p>
-          </div>
-        </div>
-        
-        <div class="w3-display-middle w3-container w3-padding w3-center">
-          
-        </div>
-      </div>
-      <div class="w3-display-container mySlides w3-animate-right" style="height: 300px; overflow: hidden;">
-        <img src="[% abspath %]img/slides/slide2.jpg" style="width:100%">
+      <div class="w3-display-container" style="height: 300px; overflow: hidden;">
+        <img src="[% abspath %]img/pictures/network.jpg" style="width:100%">
         <div class="w3-display-middle w3-container w3-center w3-padding">
-          <p class="w3-text-white w3-xlarge">behalten Sie Ihre Daten Hause/im Büro<br/>Und greifen Sie von überall drauf zu!</h1>
+          <p class="w3-text-white w3-xlarge">IT-Service Dienstleistungen<br/>für kleine und mittelständige Unternehmen!</h1>
         </div>
       </div>
-      <div class="w3-display-container mySlides w3-animate-left" style="height: 300px; overflow: hidden;">
-        <img src="[% abspath %]img/slides/slide3.jpg" style="width:100%">
-         <div class="w3-display-middle w3-container w3-center w3-padding">
-        <p class="w3-xlarge w3-text-red">Verschwenden Sie keine Zeit,<br/>Mit aufwendiger Einarbeitung<br/>wir wissen wie es geht!</p>
-       </div>
-      </div>
+      
     </div>
-     
-     
-    
-  <div class="w3-container">
-      <div class="w3-row w3-border-bottom ">
-        <div class="w3-container w3-half w3-center w3-light-grey">
-          <img class="w3-margin" src="[% abspath %]img/cloud.jpg" alt="Private Cloud"  style="width: 50%;"/>
-        </div>
-        <div class="w3-container w3-half w3-padding-24">
-          <h2>IT-Infrastruktur</h2>
-          <p>Behalten Sie Ihre Daten bei sich zu Hause oder im Büro. Somit haben Sie jederzeit Zugriff auf Ihre Daten.</p>
-        </div>
+  <div class="w3-container" style="width: 100%;text-align: center;">
+    <div class="w3-row w3-centered" style="align-content: center; width: 100%;">
+      <div class="w3-cell w3-third">
+        <div class="w3-border w3-center w3-margin w3-border-black w3-round-medium" style="padding: 10px;"><img src="[% abspath %]img/icons/Infrastructure.svg" style="width: 36px;"><br>Infrastuktur</div>
       </div>
-      <div class="w3-row w3-border-bottom">
-        <div class="w3-container w3-half w3-padding-24">
-          <h2>Software / Anwendungen</h2>
-          <p>Neben der Verwaltung Ihrer Dateien, können Sie mit Hilfe unserer Apps verschiedenste Daten in Ihrer "Private Cloud" verwalten. </p>
-        </div>
-        <div class="w3-container w3-half w3-center w3-padding w3-light-grey">
-          <img class="w3-margin" src="[% abspath %]img/Apps.svg" alt="Apps"  style="width: 50%;"/>
-        </div>
+      <div class="w3-cell w3-third" >
+        <div class="w3-border w3-center w3-margin w3-border-black w3-round-medium" style="padding: 10px;"><img src="[% abspath %]img/icons/Network.svg" style="width: 36px;"><br>Netwerk</div>
       </div>
-      <!-- <div class="w3-row w3-border-bottom w3-light-grey">
-        <div class="w3-container w3-half w3-center">
-          <img src="[% abspath %]img/Network.svg" alt="Private Cloud"  style="width: 50%;"/>
-        </div>
-        <div class="w3-container w3-half w3-padding-24">
-          <h2>Webseiten / E-Mail / Hosting</h2>
-          <p>Um das Paket zu vervollständigen, bieten wir Ihnen auch nach die Möglichkeit z.B. Ihre Webseite und/oder E-Mails Ihrer Domaine auf unseren Servern zu hosten.</p>
-        </div>
+      <div class="w3-cell w3-third">
+        <div class="w3-border w3-center w3-margin w3-border-black w3-round-medium" style="padding: 10px;"><img src="[% abspath %]img/icons/Software.svg" style="width: 36px;"><br>Software</div>
       </div>
-      <div class="w3-row w3-border-bottom">
-        <div class="w3-container w3-half w3-padding-24">
-          <h2>Entwicklung / Datenbanken</h2>
-          <p>Jedes Unternehmen funktionniert anders, respektive hat andere Vorgaben, Voraussetzungen und/oder Abhängigkeiten. Wir können unsere Anwendungen an Ihre Geschäftsprozesse anpassen respektive eine ganz neue Anwendung für Sie erstellen.</p>
-        </div>
-        <div class="w3-container w3-half w3-center w3-light-grey">
-          <img src="[% abspath %]img/Code.svg" alt="Apps"  style="width: 50%;"/>
-        </div>
-      </div> -->
-      <div class="w3-row w3-border-bottom w3-light-grey">
-        <div class="w3-container w3-half w3-center">
-          <img src="[% abspath %]img/Support.svg" alt="Support"  style="width: 50%;"/>
-        </div>
-        <div class="w3-container w3-half w3-padding-24">
-          <h2>Support / IT-HelpDesk</h2>
-          <p>Wir Supporten nicht nur unsere Anwendungen, sondern beraten SIe auch noch in der Konzeption Ihrer IT-Infrastruktur, und können diese falls nötig auch noch pflegen.</p>
-        </div>
+      <div class="w3-cell  w3-half" >
+        <div class="w3-border w3-center w3-margin w3-border-black w3-round-medium" style="padding: 10px;"><img src="[% abspath %]img/icons/Consulting.svg" style="width: 36px;"><br>Beratung</div>
       </div>
+      <div class="w3-cell w3-half">
+        <div class="w3-border w3-center w3-margin w3-border-black w3-round-medium" style="padding: 10px;"><img src="[% abspath %]img/icons/Support.svg" style="width: 36px;"><br>Helpdesk</div>
+      </div>
+    </div>
+  </div>
+  <hr/>
+  <div class="w3-container w3-margin">
+      <h2>Unsere Vorteile</h2>
+      <ul class="w3-ul">
+        <li>über 20 Jahre Erfahrung im Bereich Informatik.</li>
+        <li>Wir sprechen deutsch, französisch, englisch und luxemburgisch.</li>
+        <li>Wir ünterstützen, warten und vernetzen Systeme auf Basis von Windows, MacOS, Linux, Android und iOS</li>
+        <li>Unser Ziel ist es, so wenig wie möglich gebraucht zu werden!</li>
+        <li>Falls nötig entwickeln wir auf unsere Kosten, Software zur Verwaltung Ihrer Infrastruktur, und stellen Ihnen dieses gratis zur Verfügung!</li>
+        <li>Wir rechnen NICHT auf Stunden-Basis ab, sondern auf Art der auszuführenden Dienstleistung<br>unser Dienstleistungs-Katatlog</li>
+        <li>Wir lieben Open-Source, daher supporten wir auch Open-Source-Software</li>
+        <li>Als unabhängige Einheit, durchsuchen wir den Markt, um auf Sie zugeschnittene und kostengünstigste Software zu finden, testen, kaufen, installieren, konfigurieren, warten und zu supporten.</li>
+      </ul>
+  </div>
+  <hr/>
+  <div class="w3-container w3-margin">
+    <h2>Wann sind Sie bei uns richtig aufgehoben?</h2>
+    <ul class="w3-ul">
+      <li>Ihr Unternehmen ist zu klein um eine Vollzeit-Arbeitkraft für ihre Informatik einzustellen</li>
+      <li>Sie möchten Ausfall-Sicherheit</li>
+      <li>regelmässige Wartung Ihrer Infrastruktur</li>
+      <li>kostengünstige und schnelle Lösungen</li>
+      <li>Sie wollen Sicherheit, dass der Zugriff unbefugter auf Ihre Daten gewährt ist</li>
+      <li>Sie benötigen eine "Private Cloud", um von überall auf Ihre Daten zugreifen zu können</li>
+      <li>Sie sind sich nicht sicher, haben keine Zeit oder keine Ahnung wie eine Software installiert , konfiguriert oder bedient wird</li>
+      <li>Sie wollen oder müssen Ihre IT-Infrastruktur erneuern und möchten eine unabhängige Beratung</li>
+    </ul>
   </div>
 
diff --git a/tmpl/page/index2.tt b/tmpl/page/index2.tt
deleted file mode 100644 (file)
index f68ca26..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-[% qwp = dksdb.query("select htmldata from webpages where link='$link';") %]
-[% webpage = qwp.get_all() %]
-[% IF webpage.size() > 0 %]
-  [% webpage.0.htmldata %]
-[% ELSE %]
-  [% INCLUDE block/404.tt %]
-[% END %]
diff --git a/tmpl/page/privatecloud.tt b/tmpl/page/privatecloud.tt
deleted file mode 100644 (file)
index bb4f7f8..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<div class="w3-container w3-center">
-  <h1>Private Cloud</h1>
-</div>
\ No newline at end of file
diff --git a/tmpl/page/shop.tt b/tmpl/page/shop.tt
deleted file mode 100644 (file)
index cdcc2e0..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<div class="w3-container w3-center">
-  <h1>Shop</h1>
-</div>
\ No newline at end of file
diff --git a/tmpl/page/support.tt b/tmpl/page/support.tt
deleted file mode 100644 (file)
index 474c96c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<div class="w3-container w3-center">
-  <h1>Support</h1>
-</div>
\ No newline at end of file
index 984df21..df81337 100644 (file)
@@ -14,7 +14,7 @@
 </div>
   [% INCLUDE block/footer.tt %]
   [% INCLUDE block/gdpr.tt %]
-  <script src="[% abspath %]js/slides.js"></script>
+  <!--<script src="[% abspath %]js/slides.js"></script>-->
 </body>
 </html>