Merge branch 'master' into subscription2_dev

Fix Subscriber CSS issue
This commit is contained in:
Thomas Nilsen 2020-08-15 18:48:41 +02:00
commit 8d31ec7f7c
10 changed files with 285 additions and 234 deletions

View File

@ -1,12 +1,10 @@
ErrorDocument 404 /404.php
<IfModule mod_headers.c>
Header set X-UA-Compatible "IE=edge"
<FilesMatch "\.(appcache|atom|bbaw|bmp|crx|css|cur|eot|f4[abpv]|flv|geojson|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|topojson|tt[cf]|txt|vcard|vcf|vtt|webapp|web[mp]|woff2?|xloc|xml|xpi)$">
Header unset X-UA-Compatible
</FilesMatch>
</IfModule>
<IfModule mod_rewrite.c>
#DELETE THIS IF YOU DON'T HAVE HTTPS!
RewriteEngine On
@ -14,21 +12,16 @@ ErrorDocument 404 /404.php
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
<IfModule mod_headers.c>
Header set X-Content-Type-Options "nosniff"
</IfModule>
<IfModule mod_deflate.c>
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
</IfModule>
</IfModule>
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE "application/atom+xml" \
"application/javascript" \
@ -63,17 +56,13 @@ ErrorDocument 404 /404.php
"text/x-cross-domain-policy" \
"text/xml"
</IfModule>
<IfModule mod_mime.c>
AddEncoding gzip svgz
</IfModule>
<IfModule mod_headers.c>
Header unset ETag
</IfModule>
FileETag None
<IfModule mod_expires.c>
ExpiresActive on
ExpiresDefault "access plus 1 month"

View File

@ -1,19 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Imported Rule 1" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="false" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="https://{HTTP_HOST}{URL}" />
</rule>
</rules>
</rewrite>
<staticContent>
<clientCache cacheControlCustom="public" cacheControlMode="UseMaxAge" cacheControlMaxAge="30.00:00:00" />
</staticContent>
</system.webServer>
</configuration>
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Imported Rule 1" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="false" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="https://{HTTP_HOST}{URL}" />
</rule>
</rules>
</rewrite>
<staticContent>
<clientCache cacheControlCustom="public" cacheControlMode="UseMaxAge" cacheControlMaxAge="30.00:00:00" />
</staticContent>
</system.webServer>
</configuration>

View File

@ -1,28 +1,51 @@
# Server status page
![License](https://img.shields.io/github/license/Pryx/server-status.svg) ![Current release](https://img.shields.io/github/release/Pryx/server-status.svg) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/b82d62fa6d8b41119f68fd9eca3c3a08)](https://www.codacy.com/app/sajdl.vojtech/server-status?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=Pryx/server-status&amp;utm_campaign=Badge_Grade)
![License](https://img.shields.io/github/license/Pryx/server-status.svg) ![Current release](https://img.shields.io/github/release/Pryx/server-status.svg) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/b82d62fa6d8b41119f68fd9eca3c3a08)](https://www.codacy.com/app/sajdl.vojtech/server-status?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=Pryx/server-status&amp;utm_campaign=Badge_Grade) [![Discord](https://img.shields.io/discord/742703112590065745?logo=discord)](https://discord.gg/Wgxnxz4)
![screenshot](https://status.trucksbook.eu/img/screenshot.png)
Very simple server status page written in PHP that can run on **PHP 5.4+** - even on **shared webhosting**. Because why waste your money on another server (or host on a server that you might want to do maintenance on), when you can use cheap webhosting? And as a cherry on top - it works even without javascript!
Very simple server status page written in PHP that can run on **PHP 5.4+** - even on **shared webhosting** even without shell access. Because why waste your money on another server (or host on a server that you might want to do maintenance on), when you can use cheap webhosting? And as a cherry on top - it works even without javascript!
## How do I install this thing?
Simply put the files on your server and access it from your browser. There will be a simple install dialog waiting for you.
If you prefer you can install manually by filling the info in config.php.template and renaming it to config.php.
As this **does not** run installation scripts you need to head to your install directory and run create-server-config.php and then delete it.
If you don't want to allow php to access your files or you have permission issues, use the following instructions.
### FOR IIS:
// Rename IISWebConfig to web.config
### FOR Apache and Nginx
// Rename ApacheHtaccess to .htaccess
You can find more info on [our wiki page](https://github.com/Pryx/server-status/wiki)
## Contributing
Anyone is welcome to make pull request with new features or security patches / bug fixes. You can find some ideas [here](https://github.com/Pryx/server-status/labels/help%20wanted).
Anyone is welcome to make pull request with new features or security patches / bug fixes.
You may create a pull request anytime or you can join our discord here(https://discord.gg/Wgxnxz4)
### Translations
Any help with translations is much welcome! You can join us at https://poeditor.com/join/project/37SpmJtyOm. You can even add your own language. Just let me know when you're done and I'm going to include the language in the next release.
[List of contributors](https://github.com/Pryx/server-status/wiki/contributors)
### Does it actually run somewhere?
Yes it does!
https://status.trucksbook.eu/ (Trucksbook)
https://status.theskyfallen.com (The Skyfallen Productions Company)
https://status.ecidsf.com/ (ECIDSF)
https://status.otuts.eu/ (OTUTS)
And many more!
## FAQ
### Does it actually run somewhere?
Yes it does! This is basically debranded version of https://status.trucksbook.eu/.
### My Translations are not working. What to do?
1. Open your shell
2. Type this command 'sudo nano /etc/locale.gen'
3. Uncomment all the languages you want.
4. Save with 'Ctrl+X'
5. Run 'sudo locale-gen'
6. Restart apache 'sudo service apache2 restart'
7. Enjoy!
### Do you have a demo page?
Yes we have! Head over to https://demo.status.sajdl.com/admin and try the admin interface for yourself.
Login details:
@ -33,7 +56,15 @@ password: Ss123456
Please note that changes are reverted every hour.
### I noticed there is a new release. How do I update?
Updating server status is fairly straightforward. Simply copy over the new files (with exception of `install.php`). Please double check that `config.php` didn't change - if it did, you will need to update it accordingly. This is also pretty straightforward - copy over the old `define()` statements and fill out any new ones (this should be fairly easy as the names are usually pretty self explanatory). This should not be required in future as it is planned to move most settings to database.
Updating server status is fairly straightforward. Download your config.php from the server. Delete all files. Upload the new release with config.php you downloaded earlier. You need to manually run install scripts. For that head to your domain and run create-server-config.php deleting it afterwards.
If you don't want to allow php to access your files or you have permission issues, use the following instructions.
#### FOR IIS:
// Rename IISWebConfig to web.config
#### FOR Apache and Nginx
// Rename ApacheHtaccess to .htaccess
### Is there any way to do this automatically?
We are working on it but it is not yet included. Stay tuned!
### Can I somehow pull status info from Server status programatically?
Yes you can! As of [9f7e15f](https://github.com/Pryx/server-status/commit/9f7e15fcd1d900108cbb0b3cad4bdc5ecf8b741b) we added API to pull status data... And more APIs are coming! Results are encoded in JSON format which should be pretty easy to use in any common programming language.
@ -41,7 +72,7 @@ Yes you can! As of [9f7e15f](https://github.com/Pryx/server-status/commit/9f7e15
### Why does this project exist?
It was written as a school project where we had to create a website. I went with this because I found the lack of good looking, easy to install and use status page rather weird. Therefore my goal (as stated above) was to create a simplistic status page that could run almost anywhere. The code is not the nicest or cleanest and it definitely doesn't have that many features, but hey, it works!
### I want feature XY!
### Feature Request
You can write an issue and I will try to take a look when I get some time *OR* you can actually make a fork as the code it GNU licensed. Pull requests are most welcome!
___

View File

@ -1,7 +1,26 @@
<?php
//This is config file, please be careful
/**************************************************************************************/
// SERVER STATUS CONFIG FILE TEMPLATE
// THIS FILE IS FOR CREATING YOUR CONFIG MANUALLY
// !!!!!!!IMPORTANT NOTE!!!!!!!!!
// You will need to create your htaccess or web.config file yourself if you use this template
// Please head to http(s)://yourdomain.com/create-server-config.php
// Wait until script finishes.
// Then delete it from your document root.
// If you don't want to allow php to access your root directory or if you have permission
// issues please follow the steps below.
// --------------------------
// FOR IIS:
// Rename IISWebConfig to web.config
// FOR Apache and Nginx
// Rename ApacheHtaccess to .htaccess
// --------------------------
// Contributors:
// Vojtěch Sajdl - Yigit Kerem Oktay - Thomas Nilsen - jhuesser
/**************************************************************************************/
session_start();
//You can change these:
//Start editing here
define("NAME", "##name##"); //Website name
define("TITLE", "##title##");
define("WEB_URL", "##url##"); //Used for links
@ -30,7 +49,13 @@ define("PHP_MAILER_PORT", "##phpmailer_port##"); // SMTP Port
define("PHP_MAILER_SECURE", ""); // Set to TLS or SSL or leave blank for plaintext
define("PHP_MAILER_USER", "##phpmailer_user##"); // SMTP Authentication user
define("PHP_MAILER_PASS", "##phpmailer_pass##"); // SMTP authenticatin password
define("CUSTOM_LOGO_URL",""); // This will use the default logo if left empty
define("COPYRIGHT_TEXT",""); // Leave this empty if you don't want your copyright displayed
// Without COPYRIGHT_TEXT Set
// 2020 Server Status Project Contributors
// With COPYRIGHT_TEXT Set
// 2020 Server Status Project Contributors and COPYRIGHT_TEXT
//Stop editing
require("classes/locale-negotiator.php");
$negotiator = new LocaleNegotiator(DEFAULT_LANGUAGE);
@ -57,4 +82,4 @@ if ($mysqli->connect_errno) {
exit();
}
$mysqli->set_charset("utf8");
$mysqli->set_charset("utf8");

23
create-server-config.php Normal file
View File

@ -0,0 +1,23 @@
<?php
/********************************************************************/
// create-server-config.php
// Created by Yigit Kerem Oktay
// This file generates a .htaccess file that contains all necessary
// code for it.
// This is needed because some hosts do not either unzip hidden files
// or neither GitHub puts that file inside the zips.
/********************************************************************/
if(stripos($_SERVER['SERVER_SOFTWARE'],'apache')!== false){
$f = fopen(".htaccess", "a+");
$f2 = fopen("ApacheHtaccess","r");
fwrite($f, fread($f2, filesize("ApacheHtaccess")));
fclose($f);
fclose($f2);
} else {
$f = fopen("web.config", "a+");
$f2 = fopen("IISWebConfig","r");
fwrite($f, fread($f2, filesize("IISWebConfig")));
fclose($f);
fclose($f2);
}
?>

View File

@ -1,39 +1,40 @@
@import url('https://fonts.googleapis.com/css?family=Open+Sans:400&subset=cyrillic,cyrillic-ext,greek,greek-ext,latin-ext,vietnamese');
@import url('https://fonts.googleapis.com/css?family=Fira+Sans:400,700&subset=cyrillic,cyrillic-ext,greek,greek-ext,latin-ext,vietnamese');
body {
background: #ffffff;
margin: 0;
height: 100%;
line-height: 24px;
font-family: 'Open Sans', sans-serif;
body {
background: #ffffff;
margin: 0;
margin-top: 80px;
height: 100%;
line-height: 24px;
font-family: 'Open Sans', sans-serif;
}
img {
height: auto;
max-width: 100%;
height: auto;
max-width: 100%;
}
a {
padding: 0;
margin: 0;
text-decoration: none;
a {
padding: 0;
margin: 0;
text-decoration: none;
}
a:hover,
a:focus {
text-decoration: none;
color:#3566a8;
color:#f5f4f4;
}
.centered {
text-align: center
text-align: center
}
.navbar {
padding-top: 5px;
margin-bottom: 0px;
padding-top: 5px;
margin-bottom: 0px;
}
.navbar-brand {
@ -42,28 +43,31 @@ a:focus {
.navbar-default .navbar-nav > li > a {
color: #f5f4f4;
font-size: 1em;
color: #f5f4f4;
font-size: 1em;
}
.navbar-default .navbar-nav > li > a:hover {
color: #a7a7a7;
color: #a7a7a7;
}
.navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus {
color: #ffffff;
background-color: transparent;
color: #f5f4f4;
background-color: transparent;
}
.navbar-collapse
{
background: #2f60a3;
background: #2f60a3;
}
.navbar-default {
z-index: 200;
background-color: #2f60a3;
background-color: gray;
border-color: transparent;
border-radius: 0px;
border-radius: 0px 0px 30px 30px;
height: 77px;
position: fixed;
top: 0;
width: 100%;
}
@ -160,7 +164,7 @@ body a h1{
.navbar-header .btn
{
margin-top: 15px;
margin-top: 15px;
margin-right: 10px
}
@ -243,11 +247,11 @@ body a h1{
border-left-color: transparent;
}
.timeline .panel .panel-heading.icon * {
.timeline .panel .panel-heading.icon * {
/*This shouldn't be relative in size...*/
font-size: 20px;
vertical-align: middle;
line-height: 40px;
font-size: 20px;
vertical-align: middle;
line-height: 40px;
}
.timeline .panel .panel-heading.icon {
position: absolute;
@ -296,10 +300,11 @@ body a h1{
/* Footer */
#footerwrap {
border-radius: 30px 30px 0px 0px;
min-height: 60px;
padding-top: 15px;
padding-bottom: 10px;
background: #2f60a3;
background: gray;
}
#footerwrap a{
@ -564,7 +569,7 @@ i.danger{
}
#footerwrap .dropdown-menu{
background: #337ab7
background: gray;
}
#footerwrap .dropdown-menu a{
@ -573,7 +578,7 @@ i.danger{
padding: 2px 5px;
display: block;
transition: 125ms ease-in-out background-color;
background-color: #337ab7
background-color: gray;
}
#footerwrap .dropdown-menu a:hover{
@ -615,4 +620,7 @@ body .h1,body .h2,body .h3,body h1,body h2,body h3 {
label.form-name
{
line-height: 20px
}
}
.panel .panel-footer .label{
display: inline-block;
}

View File

@ -130,12 +130,10 @@ if(isset($_POST['server']) && empty($message))
$config = str_replace("##who_we_are##", htmlspecialchars($_POST['who_we_are'], ENT_QUOTES), $config);
$policy_url_conf = ( ! empty($_POST['policy_url']) ) ? htmlspecialchars($_POST['policy_url'], ENT_QUOTES) : $_POST['url']."/policy.php";
$config = str_replace("##policy_url##", $policy_url_conf, $config);
$config = str_replace("##tg_bot_token##", $_POST['tgtoken'], $config);
$config = str_replace("##tg_bot_username##", $_POST['tgbot'], $config);
$policy = str_replace("##name##", $fullname, $policy);
file_put_contents("config.php", $config);
file_put_contents("policy.php", $policy);
include_once "create-server-config.php";
unlink("create-server-config.php");
unlink("config.php.template");
unlink("install.sql");
unlink(__FILE__);
@ -234,18 +232,8 @@ if (!empty($message))
</div>
</section>
<section class="install-section clearfix">
<h2><?php echo _("Telegram");?></h2>
<summary><?php echo _("You can provide a subscription feature through telegram.");?></summary>
<div class="form-group clearfix">
<div class="col-sm-6"><label for="tgtoken"><?php echo _("Telegram bot API Token");?>: </label><input type="text" name="tgtoken" value="<?php echo ((isset($_POST['tgtoken']))?htmlspecialchars($_POST['tgtoken'], ENT_QUOTES):'');?>" id="tgtoken" placeholder="<?php echo _("Telegram Bot API Token");?>" class="form-control" required></div>
<div class="col-sm-6"><label for="tgbot"><?php echo _("Telegram Bot Username");?>: </label><input type="text" name="tgbot" value="<?php echo ((isset($_POST['tgbot']))?htmlspecialchars($_POST['tgbot'], ENT_QUOTES):'');?>" id="tgbot" placeholder="<?php echo _("Telegram Bot Username");?>" class="form-control" required></div>
</div>
</section>
<section class="install-section clearfix">
<h2><?php echo _("Privacy Policy");?></h2>
<summary><?php echo _("Since you are collection personal information, the GDPR forces you to have a privacy policy. Enter the details below.");?></summary>
<summary><?php echo _("Since you are collecting personal information, the GDPR needs you to have a privacy policy. Enter the details below.");?></summary>
<div class="form-group clearfix">
<div class="col-sm-6"><label for="policy_name"><?php echo _("Name");?>: </label><input type="text" name="policy_name" value="<?php echo ((isset($_POST['policy_name']))?htmlspecialchars($_POST['policy_name'], ENT_QUOTES):'');?>" id="policy_name" placeholder="<?php echo _("Company name");?>" class="form-control" required></div>

View File

@ -17,7 +17,7 @@ msgstr "Üzgünüz, ama görmek istediğiniz sayfa mevcut değil."
#: admin/dashboard.php:22 admin/dashboard.php:26 template.php:115
msgid "Dashboard"
msgstr "Panel"
msgstr "Başlangıç"
#: admin/dashboard.php:27
msgid "Welcome"
@ -25,7 +25,7 @@ msgstr "Hoşgeldiniz"
#: admin/dashboard.php:39
msgid "New incident"
msgstr "Yeni durum"
msgstr "Yeni durum güncellemesi"
#: admin/dashboard.php:72 install.php:48 install.php:163
msgid "Title"
@ -37,19 +37,19 @@ msgstr "Zaman"
#: admin/dashboard.php:77
msgid "Here goes your text..."
msgstr "Buraya yazınız gelecek..."
msgstr "Yazdığınız yazı burada görünecek"
#: admin/dashboard.php:80 classes/incident.php:183
msgid "Posted by"
msgstr "Tarafından"
msgstr "Tarafından Paylaşıldı"
#: admin/dashboard.php:80 classes/incident.php:185
msgid "Ending"
msgstr "Sonlanma"
msgstr "Bitiş"
#: admin/dashboard.php:80
msgid "End time"
msgstr "Sonlanma zamanı"
msgstr "Bitiş Saati"
#: admin/dashboard.php:99 admin/new-user.php:53
msgid "Submit"
@ -67,24 +67,24 @@ msgstr "Lütfen devam etmek için giriş yapınız."
#: admin/lost-password.php:48 admin/new-user.php:24 admin/settings.php:72
#: classes/user.php:120 classes/user.php:404 install.php:169 install.php:210
msgid "Email"
msgstr "E-posta"
msgstr "Elektronik Posta"
#: admin/login-form.php:19 admin/login-form.php:20 admin/new-user.php:27
#: classes/user.php:123 classes/user.php:417 install.php:182 install.php:213
msgid "Password"
msgstr "Parola"
msgstr "Şifre"
#: admin/login-form.php:22
msgid "Forgotten password?"
msgstr "Parolanızı mı unuttunuz?"
msgstr "Unutulan Şifreyi Geri Getirme"
#: admin/login-form.php:23
msgid "Remember me"
msgstr "Beni hatırla"
msgstr "Giriş Bilgilerini Hatırla"
#: admin/lost-password.php:2 admin/lost-password.php:5
msgid "Lost password"
msgstr "Kayıp Parola"
msgstr "Unutulan Şifre"
#: admin/lost-password.php:16
msgid "Go back"
@ -104,7 +104,7 @@ msgstr "Başa dön"
#: admin/lost-password.php:34
msgid "Email with password reset link has been sent!"
msgstr "Parola sıfırlama linkini içeren e-posta gönderildi!"
msgstr "Şifre sıfırlama linkini içeren e-posta gönderildi!"
#: admin/lost-password.php:50
msgid "Submit request"
@ -117,16 +117,16 @@ msgstr "%s (%s) için parolayı sıfırla"
#: admin/lost-password.php:60 admin/lost-password.php:61 classes/user.php:421
#: classes/user.php:422
msgid "New password"
msgstr "Yeni parola"
msgstr "Yeni şifre"
#: admin/lost-password.php:62 admin/lost-password.php:63 classes/user.php:423
#: classes/user.php:424
msgid "Repeat password"
msgstr "Parolayı tekrarla"
msgstr "Şifreyi tekrarla"
#: admin/lost-password.php:64 classes/user.php:425
msgid "Change password"
msgstr "Parolayı değiştir"
msgstr "Şifreyi değiştir"
#: admin/new-user.php:7
msgid "New user"
@ -168,7 +168,7 @@ msgstr "Servis ekle"
#: admin/settings.php:38 admin/settings.php:72
msgid "ID"
msgstr "ID"
msgstr "Kimlik Tanımlayıcı"
#: admin/settings.php:42
msgid "Delete"
@ -196,7 +196,7 @@ msgstr "Kullanıcı ayarları"
#: classes/constellation.php:36 template.php:4
msgid "Planned maintenance"
msgstr "Planlı bakım"
msgstr "Önceden Planlanmış Bakım Çalışması"
#: classes/constellation.php:42
msgid "Back"
@ -204,15 +204,15 @@ msgstr "Geri"
#: classes/constellation.php:44
msgid "Past incidents"
msgstr "Geçmiş durumlar"
msgstr "Geçmiş durum güncellemeleri"
#: classes/constellation.php:48
msgid "No incidents"
msgstr "Durum yok"
msgstr "Ufukta herhangi bir olay yok."
#: classes/constellation.php:61
msgid "Load more"
msgstr "Daha fazla"
msgstr "Daha fazla Yükle"
#: classes/constellation.php:101
msgid "No services"
@ -224,7 +224,7 @@ msgstr "Lütfen başlık girin"
#: classes/incident.php:90
msgid "Title too long! Character limit is 50"
msgstr "Başlık çok uzun! Limit 50 karakterdir"
msgstr "Başlık çok uzun! Lütfen karakter limiti olan 50'yi geçmeyin"
#: classes/incident.php:96
msgid "Please enter text"
@ -232,7 +232,7 @@ msgstr "Lütfen metin girin"
#: classes/incident.php:102
msgid "Please set start and end time! Use ISO 8601 format."
msgstr "Lütfen başlama ve sonlanma zamanı girin! ISO 8601 formatı kullanın."
msgstr "Lütfen başlangıç ve bitiş zamanı girin! ISO 8601 formatı kullanın."
#: classes/incident.php:107
msgid "Please select at least one service"
@ -240,23 +240,23 @@ msgstr "Lütfen en az 1 servis seçin"
#: classes/incident.php:127
msgid "Start date format is not recognized. Please use ISO 8601 format."
msgstr "Başlama tarihi formatı uyumsuz. Lütfen ISO 8601 formatı kullanın."
msgstr "Başlangıç tarihi formatı ISO 8601 standartına uygun değil. Lütfen ISO 8601 formatı kullanın."
#: classes/incident.php:133
msgid "End date format is not recognized. Please use ISO 8601 format."
msgstr "Sonlanma tarihi formatı uyumsuz. Lütfen ISO 8601 formatı kullanın."
msgstr "Bitiş tarihi formatı ISO 8601 standartına uygun değil. Lütfen ISO 8601 formatı kullanın."
#: classes/incident.php:185
msgid "Ended"
msgstr "Sonlandı"
msgstr "Bitti."
#: classes/service.php:63
msgid "Service name is too long! Character limit is 50"
msgstr "Servis adı çok uzun! Limit 50 karakterdir."
msgstr "Servis adı çok uzun! Lütfen karakter limiti olan 50'yi geçmeyin."
#: classes/service.php:66
msgid "Please enter name!"
msgstr "Lütfen isim girin!"
msgstr "Lütfen bir isim girin!"
#: classes/service.php:81 classes/service.php:123 classes/user.php:97
#: classes/user.php:199
@ -265,7 +265,7 @@ msgstr "Bunu yapmaya yetkiniz yok!"
#: classes/user.php:164
msgid "Please mind the following character limits: "
msgstr "Lütfen dikkat, kalan karakter limiti: "
msgstr "Kalan karakter limiti: "
#: classes/user.php:185
msgid "User account created"
@ -273,7 +273,7 @@ msgstr "Kullanıcı hesabı oluşturuldu"
#: classes/user.php:186
msgid "Hi %s!<br>Your account has been created. You can login with your email address at <a href=\"%s\">%s</a> with password %s - please change it as soon as possible."
msgstr "Merhaba %s!<br>Hesabınız oluşturuldu. <a href=\"%s\">%s</a> adresinden e-posta adresiniz ve %s parolanızla giriş yapabilirsiniz - lütfen en yakın zamanda parolanızı değiştirin."
msgstr "Merhaba %s!<br>Hesabınız oluşturuldu. <a href=\"%s\">%s</a> adresinden e-posta adresiniz ve %s şifrenizle giriş yapabilirsiniz - lütfen en yakın zamanda şifrenizi değiştirin."
#: classes/user.php:180
msgid "Username or email already used"
@ -285,11 +285,11 @@ msgstr "Hesabınız etkin değil. Lütfen yöneticiyle iletişime geçin."
#: classes/user.php:233 classes/user.php:256
msgid "Wrong email or password"
msgstr "Hatalı e-posta veya parola"
msgstr "Şifre veya elektronik posta adresi hatalı."
#: classes/user.php:299
msgid "Invalid token detected, please login again!"
msgstr "Geçersiz anahtar tespit edildi, lütfen tekrar giriş yapın!"
msgstr "Oturum anahtarı geçersiz, lütfen tekrar giriş yapın!"
#: classes/user.php:314
msgid "Profile picture"
@ -301,35 +301,34 @@ msgstr "Rol değiştir"
#: classes/user.php:394
msgid "Change email"
msgstr "Parola değiştir"
msgstr "E-Posta adresini güncelle"
#: classes/user.php:419 classes/user.php:420
msgid "Old password"
msgstr "Eski parola"
msgstr "Eski Şifre"
#: classes/user.php:526
msgid "Passwords do not match!"
msgstr "Parolalar eşleşmiyor!"
msgstr "Şifreler eşleşmiyor!"
#: classes/user.php:534
msgid "Cannot change password of other users!"
msgstr "Diğer kullanıcıların parolası değiştirilemez!"
msgstr "Sadece kendi şifrenizi değiştirebilirsiniz."
#: classes/user.php:567
msgid "Wrong password!"
msgstr "Parola yanlış!"
msgstr "Yanlış şifre!"
#: classes/user.php:595 classes/user.php:695
msgid "Invalid token detected, please retry your request from start!"
msgstr "Geçersiz anahtar tespit edildi, lütfen isteğinizi baştan deneyin!"
msgstr "Oturum anahtarı geçersiz, lütfen isteğinizi tekrar deneyin"
#: classes/user.php:623
msgid "Reset password"
msgstr "Parola Sıfırla"
msgstr "Şifre Sıfırlama"
#: classes/user.php:659
msgid "Email change"
msgstr "E-posta değiştir"
msgstr "E-Posta adresini değiştir"
#: classes/incident.php:54 classes/user.php:736
msgid "You don't have permission to do that!"
@ -337,47 +336,47 @@ msgstr "Bunu yapmaya yetkiniz yok!"
#: template.php:4
msgid "Major outage"
msgstr "Önemli aksaklık"
msgstr "Kapsamlı Arıza"
#: template.php:4
msgid "Minor outage"
msgstr "Küçük aksaklık"
msgstr "Ufak Arıza"
#: template.php:4
msgid "Operational"
msgstr "Çalışıyor"
msgstr "Çalışır Durumda"
#: template.php:7
msgid "Some systems are experiencing major outages"
msgstr "Bazı sistemler ciddi aksaklıklar yaşıyor"
msgstr "Bazı sistemlerde ciddi arızalar var."
#: template.php:7
msgid "Some systems are experiencing minor outages"
msgstr "Bazı sistemler küçük aksaklıklar yaşıyor"
msgstr "Bazı sistemlerde ufak arızalar var."
#: template.php:7
msgid "Some systems are under maintenance"
msgstr "Bazı sistemler bakımda"
msgstr "Bazı sistemlerde bakım çalışması yürütülüyor."
#: template.php:8
msgid "Our systems are experiencing major outages."
msgstr "Sistemlerimiz ciddi aksaklıklar yaşıyor"
msgstr "Sistemlerimizde ciddi arızalar yaşanıyor."
#: template.php:8
msgid "Our systems are experiencing minor outages"
msgstr "Sistemlerimiz küçük aksaklıklar yaşıyor"
msgstr "Sistemlerimizde küçük arızalar var."
#: template.php:8
msgid "Our systems are under maintenance"
msgstr "Sistemlerimiz bakımda"
msgstr "Sistemlerimizde bakım çalışması yürütülüyor."
#: template.php:8
msgid "All systems operational"
msgstr "Tüm sistemler çalışıyor"
msgstr "Tüm sistemler çalışır halde."
#: template.php:9
msgid "Super admin"
msgstr "Süper Yönetici"
msgstr "Sistem Yöneticisi"
#: template.php:9
msgid "Admin"
@ -385,11 +384,11 @@ msgstr "Yönetici"
#: template.php:53
msgid "Service Status"
msgstr "Servis Durumu"
msgstr "Sistem Durumu"
#: template.php:106
msgid "Toggle navigation"
msgstr "Menü Aç / Kapat"
msgstr "Menüyi Görüntüle / Gizle"
#: template.php:116
msgid "User (%s)"
@ -401,7 +400,7 @@ msgstr "Çıkış"
#: index.php:27
msgid "Current status"
msgstr "Şu anki durum"
msgstr "Güncel Durum"
#: install.php:4
msgid "Status page"
@ -422,11 +421,11 @@ msgstr "Bağlantı başarısız oldu: %s"
#: install.php:31
msgid "Please set valid url!"
msgstr "Lütfen geçerli URL girin!"
msgstr "Lütfen geçerli bir URL girin!"
#: install.php:98
msgid "Error while creating database. Please check permission for your account or MYSQL version.<br>Error: %s"
msgstr "Veritabanı oluştururken hata oluştu. Lütfen yetkinizi veya MYSQL sürümünüzü kontrol edin.<br>Hata: %s"
msgstr "Veritabanı oluştururken hata oluştu. Lütfen hesabınızın veritabanı yetkilerini ve MYSQL sürümünüzü kontrol edin.<br>Hata: %s"
#: install.php:154
msgid "Website details"
@ -438,7 +437,7 @@ msgstr "URL"
#: install.php:166
msgid "Also an email address for mailer would be nice :)"
msgstr "Ayrıca e-postalar için bir e-posta adresi güzel olur :)"
msgstr "Ayrıca e-postalar için bir e-posta adresi güzel olabilir :)"
#: install.php:173
msgid "Database connection"
@ -446,7 +445,7 @@ msgstr "Veritabanı bağlantısı"
#: install.php:174
msgid "We need database connection to be able to create tables. Please check that your account has the permission needed to do that."
msgstr "Tabloları oluşturabilmek için veritabanı bağlantısına ihtiyaç var. Lütfen hesabınızın bunu yapmaya yetkili olduğunu kontrol edin."
msgstr "Tabloları oluşturabilmek için veritabanı bağlantısına ihtiyacımız var. Lütfen hesabınızın bunu yapmaya yetkili olup olmadığını kontrol edin."
#: install.php:177
msgid "Server"
@ -458,7 +457,7 @@ msgstr "Veritabanı"
#: install.php:203
msgid "And finally, we need info to create a new user. You don't have to provide it, but then... No status page admin..."
msgstr "Ve nihayet, yeni bir kullanıcı oluşturmak için bilgiye ihtiyacımız var. Bunu sağlamak zorunda değilsiniz, ancak yapmazsanız... Durum sayfasının yöneticisi olmaz..."
msgstr "Ve nihayet, yeni bir kullanıcı oluşturmak için bazı bilgilere ihtiyacımız var. Bunu sağlamak zorunda değilsiniz, ancak yapmazsanız... Durum sayfasının yöneticisi olmaz..."
#: install.php:216
msgid "Run install!"
@ -470,15 +469,15 @@ msgstr "Seviye"
#: classes/user.php:624
msgid "Hi %s!<br>Below you will find link to change your password. The link is valid for 24hrs. If you didn't request this, feel free to ignore it. <br><br><a href=\"%s\">RESET PASSWORD</a><br><br>If the link doesn't work, copy &amp; paste it into your browser: <br>%s"
msgstr "Merhaba %s!<br>Parolanızı sıfırlamanız için gereken link aşağıdadır. Link 24 saat boyunca geçerlidir. Eğer bunu siz istemediyseniz görmezden gelebilirsiniz. <br><br><a href=\"%s\">PAROLAYI SIFIRLA</a><br><br>Link çalışmazsa, linki kopyalayıp tarayıcınıza yapıştırabilirsiniz: <br>%s"
msgstr "Merhaba %s!<br>Şifrenizi sıfırlamanız için gereken link aşağıda. Link 24 saat boyunca geçerlidir. Eğer bunu siz talep etmediyseniz görmezden gelebilirsiniz. <br><br><a href=\"%s\">ŞİFRENİZİ SIFIRLAYIN</a><br><br>Link çalışmazsa, linki kopyalayıp tarayıcınıza yapıştırabilirsiniz: <br>%s"
#: classes/user.php:660
msgid "Hi %s!<br>Below you will find link to change your email. The link is valid for 24hrs. If you didn't request this, feel free to ignore it. <br><br><a href=\"%s\">CHANGE EMAIL</a><br><br>If the link doesn't work, copy &amp; paste it into your browser: <br>%s"
msgstr "Merhaba %s!<br>E-posta adresinizi değiştirmek için gereken link aşağıdadır. Link 24 saat boyunca geçerlidir. Eğer bunu siz istemediyseniz görmezden gelebilirsiniz. <br><br><a href=\"%s\">E-POSTA ADRESİNİ DEĞİŞTİR</a><br><br>Link çalışmazsa, linki kopyalayıp tarayıcınıza yapıştırabilirsiniz: <br>%s"
msgstr "Merhaba %s!<br>E-posta adresinizi güncellemek için link aşağıda. Link 24 saat boyunca geçerlidir. Eğer bunu siz talep etmediyseniz görmezden gelebilirsiniz. <br><br><a href=\"%s\">E-POSTA ADRESİNİ DEĞİŞTİRİN</a><br><br>Link çalışmazsa, linki kopyalayıp tarayıcınıza yapıştırabilirsiniz: <br>%s"
#: template.php:9
msgid "Editor"
msgstr "Editör"
msgstr "Düzenleyici"
#: install.php:36
msgid "Server name"
@ -486,11 +485,11 @@ msgstr "Sunucu adı"
#: install.php:44
msgid "Mailer name"
msgstr "E-posta gönderici adı"
msgstr "E-Posta Sistemi için Gönderici Adı"
#: install.php:52
msgid "Mailer email"
msgstr "Gönderici e-posta adresi"
msgstr "E-Posta Sistemi için Gönderici Adresi"
#: install.php:56
msgid "Database server"
@ -506,15 +505,15 @@ msgstr "Veritabanı kullanıcı adı"
#: install.php:69
msgid "Database password"
msgstr "Veritabanı parolası"
msgstr "Veritabanı şifresi"
#: template.php:147
msgid "Toggle Dropdown"
msgstr "Açılır menü arasında geçiş yap"
msgstr "Açılır Kapanır Menü"
#: template.php:156
msgid "Help with translation!"
msgstr "Çeviriye yardım et!"
msgstr "Çeviren Yiğit Kerem Oktay"
#: classes/user.php:439
msgid "Deactivate user"
@ -530,11 +529,11 @@ msgstr "Lütfen girin"
#: install.php:150
msgid "We will ask you some basic questions about your website. Most of the settings can be later edited in the config.php file."
msgstr "Siteniz hakkında siz birkaç basit soru soracağız. Ayarların çoğu daha sonra config.php dosyasından düzenlenebilir."
msgstr "Siteniz hakkında siz birkaç basit soru soracağız. Ayarların çoğu kurulumdan sonra da config.php dosyasından düzenlenebilir."
#: install.php:155
msgid "We need a name for your status page (shown behind page title after the dash) and a url of your server status installation (i.e. <a href='#'>https://example.com/status</a> - without the trailing slash), so we can mail users link for forgotten password etc..."
msgstr "Durum sayfası için bir isime (sayfa başlığının altında görünür) ve sunucu durumu kurulumunuzun web adresine ihtiyacımız var. (örn: <a href='#'>https://example.com/status</a> - adresin sonuna yatay çizgi koymayın), parolamı unuttum vb mailler için."
msgstr "Durum sayfası için bir başlığa ve kurulumunuzun web adresine ihtiyacımız var. (örn: <a href='theskyfallen.com'>https://status.theskyfallen.com</a> (adresin sonuna yatay çizgi koymayın)"
#: install.php:161
msgid "A title that you want to be shown on the top of the page."
@ -546,7 +545,7 @@ msgstr "Servis mevcut değil!"
#: classes/user.php:220
msgid "Please fill in your email and password!"
msgstr "Lütfen eposta ve parola giriniz!"
msgstr "Lütfen E-Posta ve şifrenizi girin!"
#: classes/user.php:336
msgid "Change name"
@ -562,11 +561,11 @@ msgstr "Bu kullanıcı adı alınmış"
#: classes/user.php:470
msgid "Cannot change username of other users!"
msgstr "Diğer kullanıcıların kullanıcı adı değiştirilemez"
msgstr "Sadece kendi kullanıcı adınızı değiştirebilirsiniz."
#: classes/user.php:504
msgid "Cannot change names of other users!"
msgstr "Diğer kullanıcıların adları değiştirilemez"
msgstr "Sadece kendi adınızı güncelleyebilirsiniz."
#: classes/user.php:667
msgid "Confirmation email sent!"
@ -574,7 +573,7 @@ msgstr "Doğrulama e-postası gönderildi!"
#: install.php:186 policy.php:6
msgid "Privacy Policy"
msgstr "Gizlilik sözleşmesi"
msgstr "Gizlilik Politikasını Görüntüleyin"
#: install.php:190
msgid "Company name"
@ -647,7 +646,7 @@ msgid "This site uses cookies small text files that are placed on your machi
"\tAs a rule, cookies will make your browsing experience better. However, you may prefer to disable cookies on this site and on others. \n"
"\tThe most effective way to do this is to disable cookies in your browser. We suggest consulting the Help section of your browser \n"
"\tor taking a look at the About Cookies website which offers guidance for all modern browsers"
msgstr "Bu site, daha iyi bir kullanıcı deneyimi sunmasına yardımcı olmak için bilgisayarınıza yerleştirilen küçük metin dosyaları olan tanımlama bilgilerini kullanır.\n"
msgstr "Bu site, daha iyi bir kullanıcı deneyimi sunulmasına yardımcı olmak için bilgisayarınıza yerleştirilen küçük metin dosyalarına benzetebileceğimiz çerezlerikullanır.\n"
"\n"
"Genel olarak, çerezler kullanıcı tercihlerini saklamak, alışveriş sepeti gibi şeyler için bilgi depolamak ve Google Analytics gibi üçüncü taraf uygulamalara anonimleştirilmiş izleme verileri sağlamak için kullanılır.\n"
"\n"
@ -657,7 +656,7 @@ msgstr "Bu site, daha iyi bir kullanıcı deneyimi sunmasına yardımcı olmak i
#: install.php:187
msgid "Since you are collecting personal information, the GDPR needs you to have a privacy policy. Enter the details below."
msgstr "Kişisel bilgileri topladığınızdan beri, GSYİH'nın bir gizlilik politikasına sahip olmanız gerekir. Aşağıdaki bilgileri girin."
msgstr "Kişisel bilgileri topladığınızdan beri, KVKK'ya uygun bir gizlilik politikasına sahip olmanız gerekir. Aşağıdaki bilgileri girin."
#: install.php:198
msgid "Some info about yourself"

View File

@ -1,7 +1,6 @@
<?php
//This should later be translatable, maybe find a better solution?
//This is here for better generation of POT files :)
$statuses = array(_("Major outage"), _("Minor outage"), _("Planned maintenance"), _("Operational") );
$classes = array("danger", "warning", "primary", "success" );
$icons = array("fa fa-times", "fa fa-exclamation", "fa fa-info", "fa fa-check" );
@ -21,39 +20,36 @@ class Template{
public static function render_header($page_name, $admin = false){
if (!$admin)
{
// Create subscriber menu sections for later inclusion
// Check if we are on admin menu, if so do not display
$arr_url = explode("/", $_SERVER['PHP_SELF']);
$str_url = strtolower($arr_url[count($arr_url)-2]);
if ( 'admin' == $str_url ) {
$strSubsMenu = '';
} else {
// Subscriber menu is to be shown...
$strSubsMenu = '<ul class="nav navbar-nav mr-auto">';
// If subscriber is not logged on, display subscriber menus
if ( (!isset($_SESSION['subscriber_valid'])) || false == $_SESSION['subscriber_valid'] ) {
$strSubsMenu .= '<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" role="button" href="#"><span class="glyphicon glyphicon-th"></span>&nbsp;'. _('Subscribe').'</a>
<ul class="dropdown-menu ">';
if ( SUBSCRIBE_EMAIL ) {
$strSubsMenu .= '<li><a href="?do=email_subscription&amp;new=1"><span class="glyphicon glyphicon-envelope"></span>&nbsp;'._('Subscribe via email').'</a></li>';
}
if ( SUBSCRIBE_TELEGRAM ) {
$strSubsMenu .= '<li><a href="#"><script async src="https://telegram.org/js/telegram-widget.js?4" data-telegram-login="'.TG_BOT_USERNAME.'" data-size="small" data-userpic="false" data-auth-url="'.WEB_URL.'/telegram_check.php" data-request-access="write"></script></a></li>';
}
$strSubsMenu .= '</ul>';
}
// If subscriber is logged on, display unsub and logoff menu points
if ( (isset($_SESSION['subscriber_valid'])) && $_SESSION['subscriber_valid'] ) {
$strSubsMenu .= '<li><a href="?do=subscriptions">'._('Subscriptions').'</a></li>';
$strSubsMenu .= '<li><a href="'.WEB_URL.'/index.php?subscriber_logout=1">'._('Logout').'</a></li>';
}
$strSubsMenu .= '</ul>';
}
// Create subscriber menu sections for later inclusion
// Check if we are on admin menu, if so do not display
$arr_url = explode("/", $_SERVER['PHP_SELF']);
$str_url = strtolower($arr_url[count($arr_url)-2]);
if ( 'admin' == $str_url ) {
$strSubsMenu = '';
} else {
// Subscriber menu is to be shown...
$strSubsMenu = '<ul class="nav navbar-nav mr-auto">';
// If subscriber is not logged on, display subscriber menus
if ( (!isset($_SESSION['subscriber_valid'])) || false == $_SESSION['subscriber_valid'] ) {
$strSubsMenu .= '<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" role="button" href="#"><span class="glyphicon glyphicon-th"></span>&nbsp;'. _('Subscribe').'</a>
<ul class="dropdown-menu ">';
if ( SUBSCRIBE_EMAIL ) {
$strSubsMenu .= '<li><a href="?do=email_subscription&amp;new=1"><span class="glyphicon glyphicon-envelope"></span>&nbsp;'._('Subscribe via email').'</a></li>';
}
if ( SUBSCRIBE_TELEGRAM ) {
$strSubsMenu .= '<li><a href="#"><script async src="https://telegram.org/js/telegram-widget.js?4" data-telegram-login="'.TG_BOT_USERNAME.'" data-size="small" data-userpic="false" data-auth-url="'.WEB_URL.'/telegram_check.php" data-request-access="write"></script></a></li>';
}
$strSubsMenu .= '</ul>';
}
// If subscriber is logged on, display unsub and logoff menu points
if ( (isset($_SESSION['subscriber_valid'])) && $_SESSION['subscriber_valid'] ) {
$strSubsMenu .= '<li><a href="?do=subscriptions">'._('Subscriptions').'</a></li>';
$strSubsMenu .= '<li><a href="'.WEB_URL.'/index.php?subscriber_logout=1">'._('Logout').'</a></li>';
}
$strSubsMenu .= '</ul>';
}
?>
<!doctype html>
<html lang="en">
@ -86,31 +82,30 @@ class Template{
<link href="https://use.fontawesome.com/releases/v5.0.4/css/all.css" rel="stylesheet">
</head>
<body>
<div class="navbar navbar-default" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only"><?php echo _("Toggle navigation");?></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="<?php echo WEB_URL;?>"><img src="<?php echo WEB_URL;?>/img/logo_white.png" alt="logo" class="menu-logo" width="50" height="50"></a>
</div>
<div class="navbar-left hidden-xs">
<ul class="nav navbar-nav">
<li><a href="<?php echo WEB_URL;?>/"><h1><?php echo _((defined('TITLE')?TITLE:"Service Status"));?></h1></a></li>
</ul>
</div>
<div class="navbar-collapse collapse navbar-right navbar-admin">
<?php echo $strSubsMenu; ?>
</div><!--/.nav-collapse -->
</div>
</div>
</div>
<div id="wrapper" class="center admin">
<div class="navbar navbar-default" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only"><?php echo _("Toggle navigation");?></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="<?php echo WEB_URL;?>"><a class="navbar-brand" href="<?php echo WEB_URL;?>/admin"><img src="<?php if(strlen(CUSTOM_LOGO_URL)>1){ echo CUSTOM_LOGO_URL; } else { echo WEB_URL."/img/logo_white.png"; } ?>" alt="logo" class="menu-logo" style="height:50px;"></a>
</div>
<div class="navbar-left hidden-xs">
<ul class="nav navbar-nav">
<li><a href="<?php echo WEB_URL;?>/"><h1><?php echo _((defined('TITLE')?TITLE:"Service Status"));?></h1></a></li>
</ul>
</div>
<div class="navbar-collapse collapse navbar-right navbar-admin">
<?php echo $strSubsMenu; ?>
</div><!--/.nav-collapse -->
<?php
</div>
</div>
<div id="wrapper" class="center">
<?php
}else{
global $user;
?>
@ -152,12 +147,7 @@ class Template{
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="<?php echo WEB_URL;?>/admin"><img src="<?php echo WEB_URL;?>/img/logo_white.png" alt="logo" class="menu-logo" width="50" height="50"></a>
</div>
<div class="navbar-left hidden-xs">
<ul class="nav navbar-nav">
<li><a href="<?php echo WEB_URL;?>/"><h1><?php echo _((defined('TITLE')?TITLE:"Service Status"));?></h1></a></li>
</ul>
<a class="navbar-brand" href="<?php echo WEB_URL;?>/admin"><img src="<?php if(strlen(CUSTOM_LOGO_URL)>1){ echo CUSTOM_LOGO_URL; } else { echo WEB_URL."/img/logo_white.png"; } ?>" alt="logo" class="menu-logo" width="50" height="50"></a>
</div>
<div class="navbar-collapse collapse navbar-right navbar-admin">
<ul class="nav navbar-nav">
@ -170,7 +160,7 @@ class Template{
</div>
</div>
<div id="wrapper" class="center admin">
<?php
<?php
}
}
@ -187,7 +177,7 @@ class Template{
<div id="footerwrap">
<div class="container">
<div class="row centered">
<div class="col-md-4 text-left"><a href="https://github.com/Pryx/server-status/" target="_blank"><i class="fab fa-github" aria-hidden="true"></i>&nbsp;</a>Copyright © <?php echo date("Y");?> Vojtěch Sajdl</div>
<div class="col-md-4 text-left"><a href="https://github.com/Pryx/server-status/graphs/contributors" target="_blank">Copyright © <?php echo date("Y");?> Server Status Project Contributors </a><?php if(strlen(COPYRIGHT_TEXT)>1){ echo " and ".COPYRIGHT_TEXT; } ?></div>
<div class="col-md-4 text-center">
<div class="btn-group dropup">
<button type="button" class="btn btn-primary"><?php echo '<img src="'.WEB_URL.'/locale/'.$_SESSION['locale'].'/flag.png" alt="'.$lang_names[$_SESSION['locale']].'">'.$lang_names[$_SESSION['locale']];?></button>
@ -196,7 +186,7 @@ class Template{
<span class="sr-only"><?php echo _("Toggle Dropdown");?></span>
</button>
<div class="dropdown-menu">
<?php
<?php
foreach ($lang_names as $key => $value) {
echo '<a href="?lang='.$key.'"><img src="'.WEB_URL.'/locale/'.$key.'/flag.png" alt="'.$value.'">'.$value.'</a>';
}
@ -220,9 +210,7 @@ class Template{
<?php }?>
<script src="<?php echo WEB_URL;?>/js/vendor/bootstrap.min.js"></script>
<script src="<?php echo WEB_URL;?>/js/main.js"></script>
<?php if ( GOOGLE_RECAPTCHA ) { ?>
<script src='https://www.google.com/recaptcha/api.js'></script>
<?php }?>
<?php if ( GOOGLE_RECAPTCHA ) { ?><script src='https://www.google.com/recaptcha/api.js'></script><?php }?>
</body>
</html>
<?php