3 Commits

Author SHA1 Message Date
Vojtěch Sajdl b49fa2e85b Add translations from POEditor 2019-03-15 12:11:14 +01:00
Vojtěch Sajdl ceb786ca4a Update server-status.po (POEditor.com) 2019-03-15 11:59:17 +01:00
Vojtěch Sajdl fb617e1aa7 Update server-status.mo (POEditor.com) 2019-03-15 11:59:17 +01:00
26 changed files with 353 additions and 611 deletions
-38
View File
@@ -1,38 +0,0 @@
---
name: Bug report
about: Create a report to help us improve
title: "[BUG]"
labels: bug
assignees: yigitkeremoktay
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
**Additional context**
Add any other context about the problem here.
-22
View File
@@ -1,22 +0,0 @@
---
name: Feature request
about: Suggest an idea for this project
title: "[FEATURE-REQUEST]"
labels: ''
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Was this considered before?**
**Additional context**
Add any other context or screenshots about the feature request here.
-41
View File
@@ -1,41 +0,0 @@
---
name: Help Needed
about: If this is not a bug but you need help
title: "[HELP-NEEDED]"
labels: help wanted
assignees: yigitkeremoktay
---
**Describe the problem**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
**What you tried?**
**Was this mentioned before?**
**Additional context**
Add any other context about the problem here.
-18
View File
@@ -1,18 +0,0 @@
---
name: PR Template
about: If you have submitted a PR,fill this for to help us!
title: "[PR-INFO]"
labels: PR
assignees: ''
---
## Link to your PR:
## Is this from a feature request? Please link it
## Are there any known bugs or security issues
## Precisely describe what this does
## Give us an example use case
+11
View File
@@ -1,10 +1,12 @@
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
@@ -12,16 +14,21 @@ 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" \
@@ -56,13 +63,17 @@ 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"
+10 -38
View File
@@ -1,50 +1,28 @@
# 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) [![Discord](https://img.shields.io/discord/742703112590065745?logo=discord)](https://discord.gg/Wgxnxz4)
![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)
![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** 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!
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!
## 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.
### Creating server config:
* **IIS**: Rename IISWebConfig to web.config
* **Apache**: Rename ApacheHtaccess to .htaccess
* **Nginx**: You can run with php-fpm no additional modifications required.
You can find more info on [our wiki page](https://github.com/server-status-project/server-status/wiki)
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 may create a pull request anytime or you can join our discord here(https://discord.gg/Wgxnxz4)
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).
### 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/server-status-project/server-status/graphs/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!
[List of contributors](https://github.com/Pryx/server-status/wiki/contributors)
## FAQ
### 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!
### Does it actually run somewhere?
Yes it does! This is basically debranded version of https://status.trucksbook.eu/.
### 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:
@@ -55,13 +33,7 @@ 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. 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.
#### Updating server config
Follow the instructions for installation without giving the app write access. Keep in mind that you will need to re-apply any modifications you made.
### Is there any way to do this automatically?
We are working on it but it is not yet included. Stay tuned!
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.
### 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.
@@ -69,7 +41,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!
### Feature Request
### I want feature XY!
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!
___
+3 -3
View File
@@ -83,8 +83,8 @@ class Incident implements JsonSerializable
global $mysqli, $message;
$user_id = $_SESSION['user'];
$type = $_POST['type'];
$title = strip_tags($_POST['title']);
$text = strip_tags($_POST['text'], '<br>');
$title = $_POST['title'];
$text = $_POST['text'];
if (strlen($title)==0)
{
@@ -217,4 +217,4 @@ class Incident implements JsonSerializable
"username" => $this->username
];
}
}
}
+1 -1
View File
@@ -163,7 +163,7 @@ class Service implements JsonSerializable
?>
<div class="item clearfix">
<div class="service"><?php echo $this->name; ?></div>
<?php if ($this->status!=-1){?><div class="status <?php echo $classes[$this->status];?>"><?php echo _($statuses[$this->status]);?></div><?php }?>
<?php if ($this->status!=-1){?><div class="status <?php echo $classes[$this->status];?>"><?php echo $statuses[$this->status];?></div><?php }?>
</div>
<?php
}
+5 -31
View File
@@ -1,27 +1,8 @@
<?php
/**************************************************************************************/
// 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
/**************************************************************************************/
//This is config file, please be careful
session_start();
//Start editing here
define("NAME", "##name##"); //Website name
//You can change these:
define("NAME", '##name##'); //Website name
define("TITLE", "##title##");
define("WEB_URL", "##url##"); //Used for links
define("MAILER_NAME", "##mailer##"); //Mailer name
@@ -34,13 +15,7 @@ define("WHO_WE_ARE","##who_we_are##");
define("POLICY_URL","##policy_url##");
define("INSTALL_OVERRIDE", false);
define("DEFAULT_LANGUAGE", "en_GB");
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);
@@ -52,7 +27,6 @@ if (!isset($_SESSION['locale'])||isset($_GET['lang']))
$_SESSION['locale'] = $best_match;
}
putenv('LANGUAGE='.$_SESSION['locale'].'.UTF-8');
setlocale(LC_ALL, $_SESSION['locale'].".UTF-8");
setlocale(LC_MESSAGES, $_SESSION['locale'].".UTF-8");
bindtextdomain("server-status", __DIR__ . "/locale/");
@@ -67,4 +41,4 @@ if ($mysqli->connect_errno) {
exit();
}
$mysqli->set_charset("utf8");
$mysqli->set_charset("utf8");
-23
View File
@@ -1,23 +0,0 @@
<?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);
}
?>
+3 -3
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,6 +1,6 @@
/* jQuery Growl
* Copyright 2015 Kevin Sylvestre
* 1.3.5
* 1.3.3
*/
.ontop, #growls-default, #growls-tl, #growls-tr, #growls-bl, #growls-br, #growls-tc, #growls-bc, #growls-cc, #growls-cl, #growls-cr {
z-index: 50000;
+33 -42
View File
@@ -1,40 +1,39 @@
@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;
margin-top: 80px;
height: 100%;
line-height: 24px;
font-family: 'Open Sans', sans-serif;
body {
background: #ffffff;
margin: 0;
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:#f5f4f4;
color:#3566a8;
}
.centered {
text-align: center
text-align: center
}
.navbar {
padding-top: 5px;
margin-bottom: 0px;
padding-top: 5px;
margin-bottom: 0px;
}
.navbar-brand {
@@ -43,32 +42,28 @@ 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: #f5f4f4;
background-color: transparent;
color: #ffffff;
background-color: transparent;
}
.navbar-collapse
{
background: #2f60a3;
background: #2f60a3;
}
.navbar-default {
z-index: 200;
background-color: gray;
background-color: #2f60a3;
border-color: transparent;
border-radius: 0px 0px 30px 30px;
border-radius: 0px;
height: 77px;
overflow: hidden;
position: fixed;
top: 0;
width: 100%;
}
@@ -165,7 +160,7 @@ body a h1{
.navbar-header .btn
{
margin-top: 15px;
margin-top: 15px;
margin-right: 10px
}
@@ -248,11 +243,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;
@@ -301,11 +296,10 @@ body a h1{
/* Footer */
#footerwrap {
border-radius: 30px 30px 0px 0px;
min-height: 60px;
padding-top: 15px;
padding-bottom: 10px;
background: gray;
background: #2f60a3;
}
#footerwrap a{
@@ -570,7 +564,7 @@ i.danger{
}
#footerwrap .dropdown-menu{
background: gray;
background: #337ab7
}
#footerwrap .dropdown-menu a{
@@ -579,7 +573,7 @@ i.danger{
padding: 2px 5px;
display: block;
transition: 125ms ease-in-out background-color;
background-color: gray;
background-color: #337ab7
}
#footerwrap .dropdown-menu a:hover{
@@ -621,7 +615,4 @@ 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;
}
}
-2
View File
@@ -1,2 +0,0 @@
<?php
// Add any PHP Code Before after <head> tag
+1 -2
View File
@@ -1,14 +1,13 @@
<?php
require_once("template.php");
if (!file_exists("config.php"))
{
require_once("template.php");
require_once("install.php");
}
else{
require_once("config.php");
require_once("template.php");
require_once("classes/constellation.php");
$offset = 0;
+17 -18
View File
@@ -113,27 +113,26 @@ if(isset($_POST['server']) && empty($message))
{
//Create config
$config = file_get_contents("config.php.template");
$config = str_replace("##name##", htmlspecialchars($_POST['servername'], ENT_QUOTES), $config);
$config = str_replace("##title##", htmlspecialchars($_POST['title'], ENT_QUOTES), $config);
$config = str_replace("##name##", $_POST['servername'], $config);
$config = str_replace("##title##", $_POST['title'], $config);
$config = str_replace("##url##", $_POST['url'], $config);
$config = str_replace("##mailer##", htmlspecialchars($_POST['mailer'], ENT_QUOTES), $config);
$config = str_replace("##mailer_email##", htmlspecialchars($_POST['mailer_email'], ENT_QUOTES), $config);
$config = str_replace("##server##", htmlspecialchars($_POST['server'], ENT_QUOTES), $config);
$config = str_replace("##database##", htmlspecialchars($_POST['database'], ENT_QUOTES), $config);
$config = str_replace("##user##", htmlspecialchars($_POST['dbuser'], ENT_QUOTES), $config);
$config = str_replace("##password##", htmlspecialchars($_POST['dbpassword'], ENT_QUOTES), $config);
$config = str_replace("##name##", htmlspecialchars($_POST['servername'], ENT_QUOTES), $config);
$config = str_replace("##policy_name##", htmlspecialchars($_POST['policy_name'], ENT_QUOTES), $config);
$config = str_replace("##address##", htmlspecialchars($_POST['address'], ENT_QUOTES), $config);
$config = str_replace("##policy_mail##", htmlspecialchars($_POST['policy_mail'], ENT_QUOTES), $config);
$config = str_replace("##policy_phone##", htmlspecialchars($_POST['policy_phone'], ENT_QUOTES),$config);
$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("##mailer##", $_POST['mailer'], $config);
$config = str_replace("##mailer_email##", $_POST['mailer_email'], $config);
$config = str_replace("##server##", $_POST['server'], $config);
$config = str_replace("##database##", $_POST['database'], $config);
$config = str_replace("##user##", $_POST['dbuser'], $config);
$config = str_replace("##password##", $_POST['dbpassword'], $config);
$config = str_replace("##name##", $_POST['servername'], $config);
$config = str_replace("##policy_name##", $_POST['policy_name'], $config);
$config = str_replace("##address##", $_POST['address'], $config);
$config = str_replace("##policy_mail##", $_POST['policy_mail'], $config);
$config = str_replace("##policy_phone##", $_POST['policy_phone'],$config);
$config = str_replace("##who_we_are##", $_POST['who_we_are'], $config);
$policy_url_conf = ( ! empty($_POST['policy_url']) ) ? $_POST['policy_url'] : POLICY_URL;
$config = str_replace("##policy_url##", $policy_url_conf, $config);
file_put_contents("config.php", $config);
include_once "create-server-config.php";
unlink("create-server-config.php");
unlink("config.php.template");
unlink("install.sql");
unlink(__FILE__);
@@ -274,4 +273,4 @@ if (!empty($message))
</section>
</form>
<?php
Template::render_footer();
Template::render_footer();
+1 -3
View File
@@ -8,8 +8,6 @@ function timeago()
}
(function(){
jQuery.timeago.settings.allowFuture = true;
timeago();
$("body").on("click", ".navbar-toggle", function(){
@@ -29,4 +27,4 @@ function timeago()
});
});
})();
+4 -3
View File
File diff suppressed because one or more lines are too long
+4
View File
File diff suppressed because one or more lines are too long
-2
View File
File diff suppressed because one or more lines are too long
+151 -211
View File
@@ -1,45 +1,30 @@
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
// Generated by CoffeeScript 2.1.0
(function () {
(function() {
/*
jQuery Growl
Copyright 2015 Kevin Sylvestre
1.3.5
1.3.3
*/
"use strict";
var $, Animation, Growl;
$ = jQuery;
Animation = function () {
var Animation = function () {
function Animation() {
_classCallCheck(this, Animation);
}
_createClass(Animation, null, [{
key: "transition",
value: function transition($el) {
var el, ref, result, type;
el = $el[0];
ref = this.transitions;
for (type in ref) {
result = ref[type];
if (el.style[type] != null) {
return result;
}
Animation = (function() {
class Animation {
static transition($el) {
var el, ref, result, type;
el = $el[0];
ref = this.transitions;
for (type in ref) {
result = ref[type];
if (el.style[type] != null) {
return result;
}
}
}]);
}
return Animation;
}();
;
};
Animation.transitions = {
"webkitTransition": "webkitTransitionEnd",
@@ -49,24 +34,16 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
};
return Animation;
}();
Growl = function () {
var Growl = function () {
_createClass(Growl, null, [{
key: "growl",
value: function growl() {
var settings = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
})();
return new Growl(settings);
}
}]);
function Growl() {
var settings = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
_classCallCheck(this, Growl);
Growl = (function() {
class Growl {
static growl(settings = {}) {
return new Growl(settings);
}
constructor(settings = {}) {
this.render = this.render.bind(this);
this.bind = this.bind.bind(this);
this.unbind = this.unbind.bind(this);
@@ -90,170 +67,139 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
this.render();
}
_createClass(Growl, [{
key: "initialize",
value: function initialize(location) {
var id;
id = 'growls-' + location;
return $('body:not(:has(#' + id + '))').append('<div id="' + id + '" />');
}
}, {
key: "render",
value: function render() {
var $growl;
$growl = this.$growl();
this.$growls(this.settings.location).append($growl);
if (this.settings.fixed) {
this.present();
} else {
this.cycle();
}
}
}, {
key: "bind",
value: function bind() {
var $growl = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.$growl();
initialize(location) {
var id;
id = 'growls-' + location;
return $('body:not(:has(#' + id + '))').append('<div id="' + id + '" />');
}
$growl.on("click", this.click);
if (this.settings.delayOnHover) {
$growl.on("mouseenter", this.mouseEnter);
$growl.on("mouseleave", this.mouseLeave);
}
return $growl.on("contextmenu", this.close).find("." + this.settings.namespace + "-close").on("click", this.close);
render() {
var $growl;
$growl = this.$growl();
this.$growls(this.settings.location).append($growl);
if (this.settings.fixed) {
this.present();
} else {
this.cycle();
}
}, {
key: "unbind",
value: function unbind() {
var $growl = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.$growl();
}
$growl.off("click", this.click);
if (this.settings.delayOnHover) {
$growl.off("mouseenter", this.mouseEnter);
$growl.off("mouseleave", this.mouseLeave);
}
return $growl.off("contextmenu", this.close).find("." + this.settings.namespace + "-close").off("click", this.close);
bind($growl = this.$growl()) {
$growl.on("click", this.click);
if (this.settings.delayOnHover) {
$growl.on("mouseenter", this.mouseEnter);
$growl.on("mouseleave", this.mouseLeave);
}
}, {
key: "mouseEnter",
value: function mouseEnter(event) {
var $growl;
$growl = this.$growl();
return $growl.stop(true, true);
return $growl.on("contextmenu", this.close).find(`.${this.settings.namespace}-close`).on("click", this.close);
}
unbind($growl = this.$growl()) {
$growl.off("click", this.click);
if (this.settings.delayOnHover) {
$growl.off("mouseenter", this.mouseEnter);
$growl.off("mouseleave", this.mouseLeave);
}
}, {
key: "mouseLeave",
value: function mouseLeave(event) {
return this.waitAndDismiss();
}
}, {
key: "click",
value: function click(event) {
if (this.settings.url != null) {
event.preventDefault();
event.stopPropagation();
return window.open(this.settings.url);
}
}
}, {
key: "close",
value: function close(event) {
var $growl;
return $growl.off("contextmenu", this.close).find(`.${this.settings.namespace}-close`).off("click", this.close);
}
mouseEnter(event) {
var $growl;
$growl = this.$growl();
return $growl.stop(true, true);
}
mouseLeave(event) {
return this.waitAndDismiss();
}
click(event) {
if (this.settings.url != null) {
event.preventDefault();
event.stopPropagation();
$growl = this.$growl();
return $growl.stop().queue(this.dismiss).queue(this.remove);
return window.open(this.settings.url);
}
}, {
key: "cycle",
value: function cycle() {
var $growl;
$growl = this.$growl();
return $growl.queue(this.present).queue(this.waitAndDismiss());
}
}, {
key: "waitAndDismiss",
value: function waitAndDismiss() {
var $growl;
$growl = this.$growl();
return $growl.delay(this.settings.duration).queue(this.dismiss).queue(this.remove);
}
}, {
key: "present",
value: function present(callback) {
var $growl;
$growl = this.$growl();
this.bind($growl);
return this.animate($growl, this.settings.namespace + "-incoming", 'out', callback);
}
}, {
key: "dismiss",
value: function dismiss(callback) {
var $growl;
$growl = this.$growl();
this.unbind($growl);
return this.animate($growl, this.settings.namespace + "-outgoing", 'in', callback);
}
}, {
key: "remove",
value: function remove(callback) {
this.$growl().remove();
return typeof callback === "function" ? callback() : void 0;
}
}, {
key: "animate",
value: function animate($element, name) {
var direction = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'in';
var callback = arguments[3];
}
var transition;
transition = Animation.transition($element);
$element[direction === 'in' ? 'removeClass' : 'addClass'](name);
$element.offset().position;
$element[direction === 'in' ? 'addClass' : 'removeClass'](name);
if (callback == null) {
return;
}
if (transition != null) {
$element.one(transition, callback);
} else {
callback();
}
}
}, {
key: "$growls",
value: function $growls(location) {
var base;
if (this.$_growls == null) {
this.$_growls = [];
}
return (base = this.$_growls)[location] != null ? base[location] : base[location] = $('#growls-' + location);
}
}, {
key: "$growl",
value: function $growl() {
return this.$_growl != null ? this.$_growl : this.$_growl = $(this.html());
}
}, {
key: "html",
value: function html() {
return this.container(this.content());
}
}, {
key: "content",
value: function content() {
return "<div class='" + this.settings.namespace + "-close'>" + this.settings.close + "</div>\n<div class='" + this.settings.namespace + "-title'>" + this.settings.title + "</div>\n<div class='" + this.settings.namespace + "-message'>" + this.settings.message + "</div>";
}
}, {
key: "container",
value: function container(content) {
return "<div class='" + this.settings.namespace + " " + this.settings.namespace + "-" + this.settings.style + " " + this.settings.namespace + "-" + this.settings.size + "'>\n " + content + "\n</div>";
}
}]);
close(event) {
var $growl;
event.preventDefault();
event.stopPropagation();
$growl = this.$growl();
return $growl.stop().queue(this.dismiss).queue(this.remove);
}
return Growl;
}();
cycle() {
var $growl;
$growl = this.$growl();
return $growl.queue(this.present).queue(this.waitAndDismiss());
}
;
waitAndDismiss() {
var $growl;
$growl = this.$growl();
return $growl.delay(this.settings.duration).queue(this.dismiss).queue(this.remove);
}
present(callback) {
var $growl;
$growl = this.$growl();
this.bind($growl);
return this.animate($growl, `${this.settings.namespace}-incoming`, 'out', callback);
}
dismiss(callback) {
var $growl;
$growl = this.$growl();
this.unbind($growl);
return this.animate($growl, `${this.settings.namespace}-outgoing`, 'in', callback);
}
remove(callback) {
this.$growl().remove();
return typeof callback === "function" ? callback() : void 0;
}
animate($element, name, direction = 'in', callback) {
var transition;
transition = Animation.transition($element);
$element[direction === 'in' ? 'removeClass' : 'addClass'](name);
$element.offset().position;
$element[direction === 'in' ? 'addClass' : 'removeClass'](name);
if (callback == null) {
return;
}
if (transition != null) {
$element.one(transition, callback);
} else {
callback();
}
}
$growls(location) {
var base;
if (this.$_growls == null) {
this.$_growls = [];
}
return (base = this.$_growls)[location] != null ? base[location] : base[location] = $('#growls-' + location);
}
$growl() {
return this.$_growl != null ? this.$_growl : this.$_growl = $(this.html());
}
html() {
return this.container(this.content());
}
content() {
return `<div class='${this.settings.namespace}-close'>${this.settings.close}</div>\n<div class='${this.settings.namespace}-title'>${this.settings.title}</div>\n<div class='${this.settings.namespace}-message'>${this.settings.message}</div>`;
}
container(content) {
return `<div class='${this.settings.namespace} ${this.settings.namespace}-${this.settings.style} ${this.settings.namespace}-${this.settings.size}'>\n ${content}\n</div>`;
}
};
Growl.settings = {
namespace: 'growl',
@@ -266,19 +212,16 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
};
return Growl;
}();
})();
this.Growl = Growl;
$.growl = function () {
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
$.growl = function(options = {}) {
return Growl.growl(options);
};
$.growl.error = function () {
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
$.growl.error = function(options = {}) {
var settings;
settings = {
title: "Error!",
@@ -287,9 +230,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
return $.growl($.extend(settings, options));
};
$.growl.notice = function () {
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
$.growl.notice = function(options = {}) {
var settings;
settings = {
title: "Notice!",
@@ -298,9 +239,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
return $.growl($.extend(settings, options));
};
$.growl.warning = function () {
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
$.growl.warning = function(options = {}) {
var settings;
settings = {
title: "Warning!",
@@ -308,4 +247,5 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
};
return $.growl($.extend(settings, options));
};
}).call(this);
}).call(this);
+5 -5
View File
@@ -3,15 +3,15 @@
* updating fuzzy timestamps (e.g. "4 minutes ago" or "about 1 day ago").
*
* @name timeago
* @version 1.6.7
* @requires jQuery >=1.5.0 <4.0
* @version 1.6.1
* @requires jQuery v1.2.3+
* @author Ryan McGeary
* @license MIT License - http://www.opensource.org/licenses/mit-license.php
*
* For usage and examples, visit:
* http://timeago.yarp.com/
*
* Copyright (c) 2008-2019, Ryan McGeary (ryan -[at]- mcgeary [*dot*] org)
* Copyright (c) 2008-2017, Ryan McGeary (ryan -[at]- mcgeary [*dot*] org)
*/
(function (factory) {
@@ -42,7 +42,7 @@
settings: {
refreshMillis: 60000,
allowPast: true,
allowFuture: false,
allowFuture: true,
localeTitle: false,
cutoff: 0,
autoDispose: true,
@@ -51,7 +51,7 @@
prefixFromNow: null,
suffixAgo: "ago",
suffixFromNow: "from now",
inPast: "any moment now",
inPast: 'any moment now',
seconds: "less than a minute",
minute: "about a minute",
minutes: "%d minutes",
Binary file not shown.
+75 -74
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 "Başlangıç"
msgstr "Panel"
#: admin/dashboard.php:27
msgid "Welcome"
@@ -25,7 +25,7 @@ msgstr "Hoşgeldiniz"
#: admin/dashboard.php:39
msgid "New incident"
msgstr "Yeni durum güncellemesi"
msgstr "Yeni durum"
#: 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 "Yazdığınız yazı burada görünecek"
msgstr "Buraya yazınız gelecek..."
#: admin/dashboard.php:80 classes/incident.php:183
msgid "Posted by"
msgstr "Tarafından Paylaşıldı"
msgstr "Tarafından"
#: admin/dashboard.php:80 classes/incident.php:185
msgid "Ending"
msgstr "Bitiş"
msgstr "Sonlanma"
#: admin/dashboard.php:80
msgid "End time"
msgstr "Bitiş Saati"
msgstr "Sonlanma zamanı"
#: 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 "Elektronik Posta"
msgstr "E-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 "Şifre"
msgstr "Parola"
#: admin/login-form.php:22
msgid "Forgotten password?"
msgstr "Unutulan Şifreyi Geri Getirme"
msgstr "Parolanızı mı unuttunuz?"
#: admin/login-form.php:23
msgid "Remember me"
msgstr "Giriş Bilgilerini Hatırla"
msgstr "Beni hatırla"
#: admin/lost-password.php:2 admin/lost-password.php:5
msgid "Lost password"
msgstr "Unutulan Şifre"
msgstr "Kayıp Parola"
#: 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 "Şifre sıfırlama linkini içeren e-posta gönderildi!"
msgstr "Parola 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 şifre"
msgstr "Yeni parola"
#: admin/lost-password.php:62 admin/lost-password.php:63 classes/user.php:423
#: classes/user.php:424
msgid "Repeat password"
msgstr "Şifreyi tekrarla"
msgstr "Parolayı tekrarla"
#: admin/lost-password.php:64 classes/user.php:425
msgid "Change password"
msgstr "Şifreyi değiştir"
msgstr "Parolayı 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 "Kimlik Tanımlayıcı"
msgstr "ID"
#: 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 "Önceden Planlanmış Bakım Çalışması"
msgstr "Planlı bakım"
#: classes/constellation.php:42
msgid "Back"
@@ -204,15 +204,15 @@ msgstr "Geri"
#: classes/constellation.php:44
msgid "Past incidents"
msgstr "Geçmiş durum güncellemeleri"
msgstr "Geçmiş durumlar"
#: classes/constellation.php:48
msgid "No incidents"
msgstr "Ufukta herhangi bir olay yok."
msgstr "Durum yok"
#: classes/constellation.php:61
msgid "Load more"
msgstr "Daha fazla Yükle"
msgstr "Daha fazla"
#: 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! Lütfen karakter limiti olan 50'yi geçmeyin"
msgstr "Başlık çok uzun! Limit 50 karakterdir"
#: 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şlangıç ve bitiş zamanı girin! ISO 8601 formatı kullanın."
msgstr "Lütfen başlama ve sonlanma 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şlangıç tarihi formatı ISO 8601 standartına uygun değil. Lütfen ISO 8601 formatı kullanın."
msgstr "Başlama tarihi formatı uyumsuz. Lütfen ISO 8601 formatı kullanın."
#: classes/incident.php:133
msgid "End date format is not recognized. Please use ISO 8601 format."
msgstr "Bitiş tarihi formatı ISO 8601 standartına uygun değil. Lütfen ISO 8601 formatı kullanın."
msgstr "Sonlanma tarihi formatı uyumsuz. Lütfen ISO 8601 formatı kullanın."
#: classes/incident.php:185
msgid "Ended"
msgstr "Bitti."
msgstr "Sonlandı"
#: classes/service.php:63
msgid "Service name is too long! Character limit is 50"
msgstr "Servis adı çok uzun! Lütfen karakter limiti olan 50'yi geçmeyin."
msgstr "Servis adı çok uzun! Limit 50 karakterdir."
#: classes/service.php:66
msgid "Please enter name!"
msgstr "Lütfen bir isim girin!"
msgstr "Lütfen 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 "Kalan karakter limiti: "
msgstr "Lütfen dikkat, 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 şifrenizle giriş yapabilirsiniz - lütfen en yakın zamanda şifrenizi değiştirin."
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."
#: 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 "Şifre veya elektronik posta adresi hatalı."
msgstr "Hatalı e-posta veya parola"
#: classes/user.php:299
msgid "Invalid token detected, please login again!"
msgstr "Oturum anahtarı geçersiz, lütfen tekrar giriş yapın!"
msgstr "Geçersiz anahtar tespit edildi, lütfen tekrar giriş yapın!"
#: classes/user.php:314
msgid "Profile picture"
@@ -301,34 +301,35 @@ msgstr "Rol değiştir"
#: classes/user.php:394
msgid "Change email"
msgstr "E-Posta adresini güncelle"
msgstr "Parola değiştir"
#: classes/user.php:419 classes/user.php:420
msgid "Old password"
msgstr "Eski Şifre"
msgstr "Eski parola"
#: classes/user.php:526
msgid "Passwords do not match!"
msgstr "Şifreler eşleşmiyor!"
msgstr "Parolalar eşleşmiyor!"
#: classes/user.php:534
msgid "Cannot change password of other users!"
msgstr "Sadece kendi şifrenizi değiştirebilirsiniz."
msgstr "Diğer kullanıcıların parolası değiştirilemez!"
#: classes/user.php:567
msgid "Wrong password!"
msgstr "Yanlış şifre!"
msgstr "Parola yanlış!"
#: classes/user.php:595 classes/user.php:695
msgid "Invalid token detected, please retry your request from start!"
msgstr "Oturum anahtarı geçersiz, lütfen isteğinizi tekrar deneyin"
msgstr "Geçersiz anahtar tespit edildi, lütfen isteğinizi baştan deneyin!"
#: classes/user.php:623
msgid "Reset password"
msgstr "Şifre Sıfırlama"
msgstr "Parola Sıfırla"
#: classes/user.php:659
msgid "Email change"
msgstr "E-Posta adresini değiştir"
msgstr "E-posta değiştir"
#: classes/incident.php:54 classes/user.php:736
msgid "You don't have permission to do that!"
@@ -336,47 +337,47 @@ msgstr "Bunu yapmaya yetkiniz yok!"
#: template.php:4
msgid "Major outage"
msgstr "Kapsamlı Arıza"
msgstr "Önemli aksaklık"
#: template.php:4
msgid "Minor outage"
msgstr "Ufak Arıza"
msgstr "Küçük aksaklık"
#: template.php:4
msgid "Operational"
msgstr "Çalışır Durumda"
msgstr "Çalışıyor"
#: template.php:7
msgid "Some systems are experiencing major outages"
msgstr "Bazı sistemlerde ciddi arızalar var."
msgstr "Bazı sistemler ciddi aksaklıklar yaşıyor"
#: template.php:7
msgid "Some systems are experiencing minor outages"
msgstr "Bazı sistemlerde ufak arızalar var."
msgstr "Bazı sistemler küçük aksaklıklar yaşıyor"
#: template.php:7
msgid "Some systems are under maintenance"
msgstr "Bazı sistemlerde bakım çalışması yürütülüyor."
msgstr "Bazı sistemler bakımda"
#: template.php:8
msgid "Our systems are experiencing major outages."
msgstr "Sistemlerimizde ciddi arızalar yaşanıyor."
msgstr "Sistemlerimiz ciddi aksaklıklar yaşıyor"
#: template.php:8
msgid "Our systems are experiencing minor outages"
msgstr "Sistemlerimizde küçük arızalar var."
msgstr "Sistemlerimiz küçük aksaklıklar yaşıyor"
#: template.php:8
msgid "Our systems are under maintenance"
msgstr "Sistemlerimizde bakım çalışması yürütülüyor."
msgstr "Sistemlerimiz bakımda"
#: template.php:8
msgid "All systems operational"
msgstr "Tüm sistemler çalışır halde."
msgstr "Tüm sistemler çalışıyor"
#: template.php:9
msgid "Super admin"
msgstr "Sistem Yöneticisi"
msgstr "Süper Yönetici"
#: template.php:9
msgid "Admin"
@@ -384,11 +385,11 @@ msgstr "Yönetici"
#: template.php:53
msgid "Service Status"
msgstr "Sistem Durumu"
msgstr "Servis Durumu"
#: template.php:106
msgid "Toggle navigation"
msgstr "Menüyi Görüntüle / Gizle"
msgstr "Menü Aç / Kapat"
#: template.php:116
msgid "User (%s)"
@@ -400,7 +401,7 @@ msgstr "Çıkış"
#: index.php:27
msgid "Current status"
msgstr "Güncel Durum"
msgstr "Şu anki durum"
#: install.php:4
msgid "Status page"
@@ -421,11 +422,11 @@ msgstr "Bağlantı başarısız oldu: %s"
#: install.php:31
msgid "Please set valid url!"
msgstr "Lütfen geçerli bir URL girin!"
msgstr "Lütfen geçerli 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 hesabınızın veritabanı yetkilerini ve MYSQL sürümünüzü kontrol edin.<br>Hata: %s"
msgstr "Veritabanı oluştururken hata oluştu. Lütfen yetkinizi veya MYSQL sürümünüzü kontrol edin.<br>Hata: %s"
#: install.php:154
msgid "Website details"
@@ -437,7 +438,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 olabilir :)"
msgstr "Ayrıca e-postalar için bir e-posta adresi güzel olur :)"
#: install.php:173
msgid "Database connection"
@@ -445,7 +446,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 ihtiyacımız var. Lütfen hesabınızın bunu yapmaya yetkili olup olmadığını kontrol edin."
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."
#: install.php:177
msgid "Server"
@@ -457,7 +458,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 bazı bilgilere 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 bilgiye 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!"
@@ -469,15 +470,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>Ş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"
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"
#: 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 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"
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"
#: template.php:9
msgid "Editor"
msgstr "Düzenleyici"
msgstr "Editör"
#: install.php:36
msgid "Server name"
@@ -485,11 +486,11 @@ msgstr "Sunucu adı"
#: install.php:44
msgid "Mailer name"
msgstr "E-Posta Sistemi için Gönderici Adı"
msgstr "E-posta gönderici adı"
#: install.php:52
msgid "Mailer email"
msgstr "E-Posta Sistemi için Gönderici Adresi"
msgstr "Gönderici e-posta adresi"
#: install.php:56
msgid "Database server"
@@ -505,15 +506,15 @@ msgstr "Veritabanı kullanıcı adı"
#: install.php:69
msgid "Database password"
msgstr "Veritabanı şifresi"
msgstr "Veritabanı parolası"
#: template.php:147
msgid "Toggle Dropdown"
msgstr "Açılır Kapanır Menü"
msgstr "Açılır menü arasında geçiş yap"
#: template.php:156
msgid "Help with translation!"
msgstr "Çeviren Yiğit Kerem Oktay"
msgstr "Çeviriye yardım et!"
#: classes/user.php:439
msgid "Deactivate user"
@@ -529,11 +530,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 kurulumdan sonra da config.php dosyasından düzenlenebilir."
msgstr "Siteniz hakkında siz birkaç basit soru soracağız. Ayarların çoğu daha sonra 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 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)"
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."
#: install.php:161
msgid "A title that you want to be shown on the top of the page."
@@ -545,7 +546,7 @@ msgstr "Servis mevcut değil!"
#: classes/user.php:220
msgid "Please fill in your email and password!"
msgstr "Lütfen E-Posta ve şifrenizi girin!"
msgstr "Lütfen eposta ve parola giriniz!"
#: classes/user.php:336
msgid "Change name"
@@ -561,11 +562,11 @@ msgstr "Bu kullanıcı adı alınmış"
#: classes/user.php:470
msgid "Cannot change username of other users!"
msgstr "Sadece kendi kullanıcı adınızı değiştirebilirsiniz."
msgstr "Diğer kullanıcıların kullanıcı adı değiştirilemez"
#: classes/user.php:504
msgid "Cannot change names of other users!"
msgstr "Sadece kendi adınızı güncelleyebilirsiniz."
msgstr "Diğer kullanıcıların adları değiştirilemez"
#: classes/user.php:667
msgid "Confirmation email sent!"
@@ -573,7 +574,7 @@ msgstr "Doğrulama e-postası gönderildi!"
#: install.php:186 policy.php:6
msgid "Privacy Policy"
msgstr "Gizlilik Politikasını Görüntüleyin"
msgstr "Gizlilik sözleşmesi"
#: install.php:190
msgid "Company name"
@@ -646,7 +647,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 sunulmasına yardımcı olmak için bilgisayarınıza yerleştirilen küçük metin dosyalarına benzetebileceğimiz çerezlerikullanır.\n"
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"
"\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"
@@ -656,7 +657,7 @@ msgstr "Bu site, daha iyi bir kullanıcı deneyimi sunulmasına yardımcı olmak
#: 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, KVKK'ya uygun bir gizlilik politikasına sahip olmanız gerekir. Aşağıdaki bilgileri girin."
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."
#: install.php:198
msgid "Some info about yourself"
+9 -11
View File
@@ -1,4 +1,4 @@
<?php
<?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") );
@@ -24,8 +24,6 @@ class Template{
<!doctype html>
<html lang="en">
<head>
<?php
include_once "head.php"; ?>
<meta charset="utf-8">
<title><?php echo $page_name." - ".NAME ?></title>
<meta name="viewport" content="width=device-width, initial-scale=1">
@@ -57,7 +55,7 @@ class Template{
<div class="navbar navbar-default" role="navigation">
<div class="container">
<div class="navbar-header">
<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>
<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">
@@ -68,7 +66,7 @@ class Template{
</div>
</div>
<div id="wrapper" class="center">
<?php
<?php
}else{
global $user;
?>
@@ -110,7 +108,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 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>
<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-collapse collapse navbar-right navbar-admin">
<ul class="nav navbar-nav">
@@ -123,7 +121,7 @@ class Template{
</div>
</div>
<div id="wrapper" class="center admin">
<?php
<?php
}
}
@@ -140,7 +138,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/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-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-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>
@@ -149,7 +147,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>';
}
@@ -163,7 +161,7 @@ class Template{
</div><!--/row -->
</div><!--/container -->
</div>
<script src="<?php echo WEB_URL;?>/js/vendor/jquery-3.5.1.min.js"></script>
<script src="<?php echo WEB_URL;?>/js/vendor/jquery-3.2.1.min.js"></script>
<script src="<?php echo WEB_URL;?>/js/vendor/jquery.timeago.js"></script>
<script src="<?php echo WEB_URL;?>/locale/<?php echo $_SESSION['locale'];?>/jquery.timeago.js"></script>
<?php if ($admin){?>
@@ -177,4 +175,4 @@ class Template{
</html>
<?php
}
}
}
+19 -19
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>