Compare commits

...

43 commits
tmp ... main

Author SHA1 Message Date
97d1e43731 Enes eklendi 2024-01-10 20:52:05 +03:00
ef213e6ff9
tmptest 2024-01-09 19:31:35 +03:00
9453b690ad
add Arda İlden 2024-01-09 18:44:10 +03:00
e37da8efb9
add donations webpages and mini fixes 2024-01-08 17:38:03 +03:00
074ab9336f
float number mini fix 2024-01-08 17:18:09 +03:00
1e13a52eee
Merge remote-tracking branch 'refs/remotes/origin/main' 2024-01-08 17:09:44 +03:00
3d8c6e9d0a
fix: donations sort 2024-01-08 17:09:06 +03:00
0aeb650445 Ceminay eklendi 2024-01-08 01:00:02 +03:00
1c83cf68b1 fix: papara number 2024-01-08 00:58:08 +03:00
7240020905 Hübü eklendi 2024-01-07 23:35:07 +03:00
2500b05720
fix mini error 2024-01-05 21:43:18 +03:00
27cc31ef7a
remove next todo 2024-01-05 21:35:37 +03:00
161f3447a3
yks` 2024-01-03 23:28:42 +03:00
692dbcb302
tmp 2024-01-03 22:36:43 +03:00
4d0c967f51
fix css in path 2024-01-01 11:20:16 +03:00
b812ca26c5
fix css problem and update information/year 2024-01-01 11:13:38 +03:00
d12692d246
separate tahta and ssavpn from main page 2023-12-30 17:41:21 +03:00
b118403675 update public todo 2023-12-25 23:15:49 +03:00
5636088690
feat: UI enhancements, exam mode
- fullscreen toggle

- Largen Clock toggle

- Hide Tools toggle

- Exam Mode
2023-12-25 19:08:30 +03:00
d1ed8ef9fa
remove matomo statistics
- for user privacy
2023-12-25 17:12:21 +03:00
ef78c9b139
organize donation color 2023-12-22 12:08:21 +03:00
fde1672354
add donation 2023-12-22 12:06:15 +03:00
5932dd1850
add new donor 2023-12-21 12:57:41 +03:00
64e0b07725 chore: add public todo 2023-12-14 21:17:04 +03:00
e9d09ee846 fix: json parse error 2023-12-13 17:55:02 +03:00
c4aad3f704 add public todo 2023-12-13 17:52:10 +03:00
da45d2da5e
feat: hide extra itemsalso add new todo 2023-12-13 17:25:28 +03:00
7cadfd5000
chore: add anonim donation 2023-12-13 17:08:06 +03:00
178ca6791c
feat: make donations fancy 2023-12-13 17:05:37 +03:00
67cd3eff70
refactor: UX updates for donations page 2023-12-13 17:01:41 +03:00
e2d2d30482
small changes 2023-12-13 16:50:50 +03:00
eb48f7a509
feat(WIP): add secure timer mode 2023-12-04 19:30:04 +03:00
2c1722c40d
change public data 2023-12-04 16:59:35 +03:00
6be9e19ed6 Edit 2023-12-03 23:57:38 +03:00
f8c355effe
refactor: edit public todo 2023-12-02 18:11:17 +03:00
a4cbb6bfa9
test: pop sound 2023-11-29 16:16:06 +03:00
ef39a4966d
test: localStorage test 2023-11-28 16:16:23 +03:00
242a76511c
chore 2023-11-28 16:06:33 +03:00
2030527ae7
fix: add troubleshooting information and tl symbol 2023-11-27 16:17:09 +03:00
661167bdee
chore 2023-11-26 20:53:44 +03:00
0fc120e3f5
donation & roadmap page, automation 2023-11-26 20:52:04 +03:00
8e7b7b470a personal note 2023-11-25 20:39:39 +03:00
999b314c26 Add personal note 2023-11-25 11:09:54 +03:00
62 changed files with 478 additions and 2688 deletions

View file

@ -16,7 +16,7 @@ if (!$_SERVER['DOCUMENT_ROOT']) {
?>
<head>
<!--!Copyright © 2023 Aliberk Sandıı-->
<!--!Copyright © 2024 Aliberk Sandıı-->
<meta charset="UTF-8">
<!-- Meta Content -->
@ -34,21 +34,7 @@ if (!$_SERVER['DOCUMENT_ROOT']) {
}
} ?>
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//stats.aliberksandikci.com.tr/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '3']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<title>About Me | Aliberk Sandıı</title>
</head>
@ -81,7 +67,7 @@ if (!$_SERVER['DOCUMENT_ROOT']) {
</article>
<footer>
<div class="tmpinfo">2023 &#x1f12f; Aliberk Sandıı</div>
<div class="tmpinfo">2024 &#x1f12f; Aliberk Sandıı</div>
</footer>
<?php

View file

@ -16,7 +16,7 @@ if (!$_SERVER['DOCUMENT_ROOT']) {
?>
<head>
<!--!Copyright © 2023 Aliberk Sandıı-->
<!--!Copyright © 2024 Aliberk Sandıı-->
<meta charset="UTF-8">
<!-- Meta Content -->
@ -34,21 +34,7 @@ if (!$_SERVER['DOCUMENT_ROOT']) {
}
} ?>
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//stats.aliberksandikci.com.tr/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '3']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<title>After YKS | Aliberk Sandıı</title>
</head>
@ -71,7 +57,7 @@ if (!$_SERVER['DOCUMENT_ROOT']) {
</article>
<footer>
<div class="tmpinfo">2023 &#x1f12f; Aliberk Sandıı</div>
<div class="tmpinfo">2024 &#x1f12f; Aliberk Sandıı</div>
</footer>
<?php

View file

@ -26,28 +26,10 @@ if (!$_SERVER['DOCUMENT_ROOT']) {
<meta name="author" content="Aliberk Sandıı">
<!-- CSS Files -->
<link rel="stylesheet" type="text/css" href="/iflpanel/ssavpn/assets/css/main.css"> <!-- INNER CSS !!! -->
<link rel="stylesheet" type="text/css" href="./bagis.css"> <!-- INNER CSS !!! -->
<link rel="stylesheet" type="text/css" href="/assets/css/extra_without_scss.css">
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u = "//stats.aliberksandikci.com.tr/";
_paq.push(['setTrackerUrl', u + 'matomo.php']);
_paq.push(['setSiteId', '3']);
var d = document,
g = d.createElement('script'),
s = d.getElementsByTagName('script')[0];
g.async = true;
g.src = u + 'matomo.js';
s.parentNode.insertBefore(g, s);
})();
</script>
<!-- End Matomo Code -->
<title>
Bi' Kahve Ismarla | Aliberk Sandıı
@ -64,30 +46,36 @@ if (!$_SERVER['DOCUMENT_ROOT']) {
<article class="plain" style="text-align:center;align-items:center;">
<h1 style="font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; font-weight: 800;">Bana Bi' Kahve Ismarla </h1>
<div><span>IBAN: </span><span style="margin-top: 0px;text-decoration:none;"> <b class="copy_element" id="IBAN" onclick="copy2Clipboard('IBAN')">TR63 0082 9000 0949 1444 3182 51</b><span id="IBAN-tip"></span></span></div>
<div><span>Papara Numarası: </span><span style="margin-top: 0px;text-decoration:none;"> <b class="copy_element" id="Papara" onclick="copy2Clipboard('Papara')">14444318251</b><span id="Papara-tip"></span></span></div>
<div><span>Papara Numarası: </span><span style="margin-top: 0px;text-decoration:none;"> <b class="copy_element" id="Papara" onclick="copy2Clipboard('Papara')">1444318251</b><span id="Papara-tip"></span></span></div>
<div><sup>ıklama Kısmını <span style="font-weight:800;">Gözükmesini İstediğiniz İsim - Bağış</span> şeklinde doldurunuz. Anonim Kalmak için <span style="font-weight:800;">Anonim - Bağış</span> Yazabilirsiniz</sup></div>
<p></p>
<br>
<hr style="width: 100%;"><br>
<h1 style="font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; font-weight: 800; ">Bağışçılar</h1>
<div id="current-goal"><label id="label1" for="pprogress">Sıradaki Hedef: </label><progress id="pprogress"><span></span></progress> <label id="label2" for="pprogress">x/y</label><br>
<p id="next-todo" style="margin-top:0px;font-size:15px;">Sırada Yapılacaklar: Ders Programı Görüntüleme</p>
</div>
<div id="bagiscilar" style="text-align: left;"></div>
<div id="current-goal"><label id="label1" for="pprogress">Sıradaki Hedef: </label><progress id="pprogress"><span></span></progress> <label id="label2" for="pprogress">x/y</label><br></div>
<!-- <p id="next-todo" style="margin-top:0px; margin-bottom:0px;font-size:15px;">Sırada Yapılacaklar: <b><span id="sirada-yapilacaklar"></span></b><br></p> -->
<!-- <p><a href="../iflpanel/path.php" style="border:solid 1px orange; border-radius:10px; padding: 10px; background-color:royalblue; font-weight:800; color:orange">&#x1F449; Yol Haritası &#x1F448;</a></p> -->
<br>
<hr style="width: 100%;"><br>
<h1 style="font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; font-weight: 800; margin-top:1px; margin-bottom:1px;">Bağışçılar</h1>
<div id="bagiscilar" style="text-align: left;width: max-content;"></div>
<br>
<hr style="width: 100%;"><br><br>
<h1 style="font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; font-weight: 800; margin-bottom: 0px;">Sponsorlar</h1>
<div id="sponsorlar">
<!-- <h1 style="font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; font-weight: 800; margin-bottom: 0px;">Sponsorlar</h1> -->
<!-- <div id="sponsorlar">
<p>Henüz sponsorumuz bulunmamakta, sponsor olmak için <a href="mailto:contact@aliberksandikci.com.tr">mail</a> adresim üzerinden bana ulaşabilirsiniz.<br>
Kişisel sunucu masraflarını karşılamaktan yanı sıra, buradaki projelere de sponsor olabilirsiniz:
<ul style="text-align:left;">
<li>SSA VPN</li>
<li>Tahta Arkaplanı</li>
<li><del>İFL Kütüphane</del</li>
<li><del>İFL Kütüphane</del< /li>
<li><del>İFL Galeri</del></li>
</ul>
Sponsorluklar ve Bağışlar ile devam ettireceğim İFL/Eğitim Odaklı projelerime <a href="../iflpanel/path.php">buradan</a> ulaşabilirsiniz.<br>
Sponsor olabileceğiniz diğer projelerime <a href="https://github.com/asandikci">GitHub</a> veya <a href="https://git.aliberksandikci.com.tr">Forgejo</a> adresi üzerinden ulaşabilirsiniz.</p>
</div>
</div> -->
<br>
<hr style="width: 100%;"><br><br>
<h1 style="font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; font-weight: 800; margin-bottom: 0px;">Teşekkürler</h1>
@ -107,7 +95,7 @@ if (!$_SERVER['DOCUMENT_ROOT']) {
</article>
<footer>
<div class="tmpinfo">2023 &#x1f12f; Aliberk Sandıı</div>
<div class="tmpinfo">2024 &#x1f12f; Aliberk Sandıı</div>
</footer>
</div>
<?php
@ -119,6 +107,15 @@ if (!$_SERVER['DOCUMENT_ROOT']) {
} ?>
<script>
function b64DecodeUnicode(str) {
// Going backwards: from bytestream, to percent-encoding, to original string.
return decodeURIComponent(atob(str).split('').map(function(c) {
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
}).join(''));
}
var curAmount = 0
var goalAmount = 0;
let localtest = 0;
let url = 'https://git.aliberksandikci.com.tr/api/v1/repos/asandikci.com/www/contents/donations.json';
// let url = "http://127.0.0.1:PORT/donations.json";
@ -128,84 +125,136 @@ if (!$_SERVER['DOCUMENT_ROOT']) {
.then(res => res.json())
.then(out => {
var lastjson;
console.log(out);
if (localtest) {
lastjson = out;
} else {
var cnt = out.content;
console.log("base64: " + cnt);
lastjson = JSON.parse(atob(cnt));
console.log(lastjson);
// console.log("base64: " + cnt);
lastjson = JSON.parse(b64DecodeUnicode(cnt));
}
lastjson.sort(function(a, b) {
return a.amount < b.amount;
lastjson = lastjson.sort(function(a, b) {
return b.amount - a.amount;
});
var curAmount = 0;
for (let i = 0; i < lastjson.length; i++) {
const s = lastjson[i];
const curId = s.place + s.name;
document.getElementById("bagiscilar").innerHTML += "<p><span id='" + curId + "'>" + s.name + "</span> - <span id='" + curId + "amount'> " + s.amount + "₺<span></p>";
if (s.webpage != ""){
document.getElementById("bagiscilar").innerHTML += "<p><a target='_blank' style='text-decoration: underline;' href = '" + s.webpage + "'><span id='" + curId + "'>" + s.name + "</span></a> - <span id='" + curId + "amount'> " + s.amount + "₺<span></p>";
} else {
document.getElementById("bagiscilar").innerHTML += "<p><span id='" + curId + "'>" + s.name + "</span> - <span id='" + curId + "amount'> " + s.amount + "₺<span></p>";
}
curAmount += s.amount;
document.getElementById(curId).style.fontWeight = "500";
if (s.amount <= 10) {
document.getElementById(curId).style.color = "grey";
document.getElementById(curId).style.fontSize = "10px";
element = document.getElementById(curId);
element.style.fontWeight = "500";
if (s.amount <= 1) {
element.style.color = "grey";
element.style.fontSize = "12px";
} else if (s.amount <= 5) {
element.style.color = "white";
element.style.fontSize = "14px";
} else if (s.amount <= 10) {
element.style.color = "orange";
element.style.fontSize = "16px";
} else if (s.amount <= 15) {
element.style.color = "yellow";
element.style.fontSize = "18px";
} else if (s.amount <= 20) {
document.getElementById(curId).style.color = "white";
document.getElementById(curId).style.fontSize = "12px";
element.style.color = "purple";
element.style.fontSize = "20px";
} else if (s.amount <= 25) {
element.style.color = "red";
element.style.fontSize = "22px";
} else if (s.amount <= 30) {
document.getElementById(curId).style.color = "orange";
document.getElementById(curId).style.fontSize = "14px";
} else if (s.amount <= 40) {
document.getElementById(curId).style.color = "yellow";
document.getElementById(curId).style.fontSize = "16px";
element.style.color = "black";
element.style.fontSize = "24px";
} else if (s.amount <= 50) {
document.getElementById(curId).style.color = "purple";
document.getElementById(curId).style.fontSize = "18px";
} else if (s.amount <= 60) {
document.getElementById(curId).style.color = "red";
document.getElementById(curId).style.fontSize = "20px";
} else if (s.amount <= 70) {
document.getElementById(curId).style.color = "black";
document.getElementById(curId).style.fontSize = "22px";
} else if (s.amount <= 80) {
document.getElementById(curId).style.color = "#cc00ff";
document.getElementById(curId).style.fontSize = "24px";
} else if (s.amount <= 90) {
document.getElementById(curId).style.color = "#ff6e95";
document.getElementById(curId).style.fontSize = "26px";
element.style.color = "#cc00ff";
element.style.fontSize = "26px";
} else if (s.amount <= 75) {
element.style.color = "#ff6e95";
element.style.fontSize = "28px";
} else if (s.amount <= 100) {
document.getElementById(curId).style.color = "#cc3300";
document.getElementById(curId).style.fontSize = "28px";
document.getElementById(curId).style.fontWeight = "500";
element.style.color = "#cc3300";
element.style.fontSize = "30px";
element.style.fontWeight = "500";
} else if (s.amount <= 150) {
document.getElementById(curId).style.color = "#00cc00";
document.getElementById(curId).style.fontSize = "30px";
document.getElementById(curId).style.fontWeight = "600";
element.style.color = "#00cc00";
element.style.fontSize = "32px";
element.style.fontWeight = "600";
} else if (s.amount <= 200) {
document.getElementById(curId).style.color = "#0066ff";
document.getElementById(curId).style.fontSize = "32px";
document.getElementById(curId).style.fontWeight = "700";
element.style.color = "#0066ff";
element.style.fontSize = "34px";
element.style.fontWeight = "700";
} else if (s.amount <= 300) {
document.getElementById(curId).style.color = "#ffff00";
document.getElementById(curId).style.fontSize = "34px";
document.getElementById(curId).style.fontWeight = "800";
} else if (s.amount <= 500) {
document.getElementById(curId).style.color = "#ffff00";
document.getElementById(curId).style.fontSize = "36px";
document.getElementById(curId).style.fontWeight = "900";
document.getElementById(curId).style.textDecoration = "underline";
element.style.color = "#ffff00";
element.style.fontSize = "36px";
element.style.fontWeight = "800";
} else {
element.style.color = "#ffff00";
element.style.fontSize = "38px";
element.style.fontWeight = "900";
element.style.textDecoration = "underline";
}
if (lastjson.length < 5) {
element.style.color = "#ffff00";
element.style.fontSize = "38px";
element.style.fontWeight = "900";
element.style.textDecoration = "underline";
}
let progbar = document.getElementById("pprogress")
progbar.max = goalAmount;
// console.log(curAmount, curAmount.toFixed(2));
progbar.value = curAmount.toFixed(2);
progbar.labels[1].innerHTML = curAmount.toFixed(2) + "/" + goalAmount + "";
}
let goalAmount = 100;
let progbar = document.getElementById("pprogress");
})
.catch(err => {
throw err
});
//
// PUBLIC DATA
//
let url2 = 'https://git.aliberksandikci.com.tr/api/v1/repos/asandikci.com/www/contents/public-data.json';
// let url2 = "http://127.0.0.1:PORT/public-data.json";
// localtest = 1;
fetch(url2)
.then(res => res.json())
.then(out => {
var publicjson;
if (localtest) {
publicjson = out[0]["public-todo"];
} else {
var cnt = out.content;
// console.log("base64: " + cnt);
publicjson = JSON.parse(b64DecodeUnicode(cnt))[0]["public-todo"];
}
publicjson.sort(function(a, b) {
return Number(Object.keys(a)) > Number(Object.keys(b));
});
// console.log(publicjson);
var curi = 0;
for (let i = 0; i < publicjson.length; i++) {
const element = Number(Object.keys(publicjson[i]));
if (curAmount < element) {
goalAmount = element;
curi = i;
break;
}
}
// console.log(goalAmount);
// document.getElementById("sirada-yapilacaklar").innerHTML = publicjson[i][goalAmount][0];
let progbar = document.getElementById("pprogress")
progbar.max = goalAmount;
progbar.value = curAmount;
progbar.labels[1].innerHTML = curAmount + "/" + goalAmount + "";
progbar.labels[1].innerHTML = curAmount.toFixed(2) + "/" + goalAmount + "";
})
.catch(err => {
throw err

View file

@ -1,10 +1,10 @@
{
"year": "2023",
"year": "2024",
"version": "0.0.5-d",
"author": "Aliberk Sandıı",
"source": "https://git.aliberksandikci.com.tr/asandikci.com/www",
"dev-note": "Contribute on https://git.aliberksandikci.com.tr/asandikci/www and consider visiting /dev folder if you are a developer",
"copyright": "Copyright © 2023 Aliberk Sandıı",
"copyright": "Copyright © 2024 Aliberk Sandıı",
"thanks":{
"prism":["for syntax highlighting","https://github.com/PrismJS/prism/"]
}

View file

@ -23,7 +23,7 @@ body{
</style>
<head>
<!--!Copyright © 2023 Aliberk Sandıı-->
<!--!Copyright © 2024 Aliberk Sandıı-->
<meta charset="UTF-8">
<!-- CSS Files -->
@ -35,21 +35,7 @@ body{
}
} ?>
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//stats.aliberksandikci.com.tr/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '3']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<title>DEVELOPMENT PAGE</title>
</head>

View file

@ -17,7 +17,7 @@ if (!$_SERVER['DOCUMENT_ROOT']) {
?>
<head>
<!--!Copyright © 2023 Aliberk Sandıı-->
<!--!Copyright © 2024 Aliberk Sandıı-->
<meta charset="UTF-8">
<!-- CSS Files -->
@ -28,21 +28,7 @@ if (!$_SERVER['DOCUMENT_ROOT']) {
echo '<link rel="stylesheet" href="/assets/css/' . $file . '">' . PHP_EOL . ' ';
}
} ?>
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//stats.aliberksandikci.com.tr/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '3']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<title>DEV PLAYGROUND</title>

92
dev/tmptest/index.php Normal file
View file

@ -0,0 +1,92 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<?php
### ERROR HANDLING ###
function warnError($errno, $errstr, $errfile, $errline)
{
echo "<br><p style='padding:0px;margin:0px;background-color:white;color:black;'><b style='color:red;'>Error:</b> [$errno] $errstr <br> in file <b style='color:blue'>$errfile</b> line <b style='color:red'>$errline</b></p>";
}
set_error_handler("warnError");
if (!$_SERVER['DOCUMENT_ROOT']) {
$_SERVER['DOCUMENT_ROOT'] = '/weblink';
}
# TODO separate file
?>
<head>
<!-- Meta Content -->
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Geçici Test Sayfası">
<meta name="keywords" content="test,tmptest">
<meta name="author" content="Aliberk Sandıı">
<!-- CSS Files -->
<link rel="stylesheet" type="text/css" href="/assets/css/main.css">
<title>
TMP TEST | GEÇİCİ TEST SAYFASI
</title>
<link rel="shortcut icon" href="/assets/images/icons/favicon.ico" type="image/x-icon">
</head>
<body>
<header>
<a href="/" id="hlogo" style="margin:auto;"><img src="/assets/images/icons/favicon.png"></a>
</header>
<div class="main-scrollable">
<article class="plain" style="text-align:center;align-items:center;">
TEMPORARY TEST (see page source or consoles)
</article>
<footer>
<div class="tmpinfo">2024 &#x1f12f; Aliberk Sandıı</div>
</footer>
</div>
<?php
$dir = new DirectoryIterator($_SERVER['DOCUMENT_ROOT'] . "/assets/js");
foreach ($dir as $file) {
if ((!$file->isDot()) && str_ends_with($file, ".js") && $file != "jquery.js") {
echo '<script src="/assets/js/' . $file . '"></script>' . PHP_EOL . ' ';
}
} ?>
<script>
let url = 'https://next.forgejo.org/asandikci-tmp/tmp-cors-test/raw/branch/main/example.md';
fetch(url)
.then(res => {
console.log("SUCCESFULLY GET RAW CONTENT: " + out.content);
})
.catch(err => {
throw err
});
let url2 = 'https://next.forgejo.org/api/v1/repos/asandikci-tmp/tmp-cors-test/raw/example.md';
fetch(url2)
.then(res => {
console.log("SUCCESFULLY GET API CONTENT: " + res);
})
.catch(err => {
throw err
});
let url3 = "https://next.forgejo.org/asandikci-tmp/tmp-cors-test/src/branch/main/example.md"
fetch(url3)
.then(res => {
console.log("SUCCESFULLY GET WEBSITE CONTENT: " + out.content);
})
.catch(err => {
throw err
});
</script>
</body>
</html>

View file

@ -1,8 +1,65 @@
[
{
"name": "Deniz K***",
"amount": 25,
"amount": 10,
"place": 1,
"webpage": ""
"webpage": "",
"desc": ""
},
{
"name": "Aziz K***",
"amount": 10,
"place": 2,
"webpage": "",
"desc": ""
},
{
"name": "Anonim",
"amount": 0.31,
"place": 3,
"webpage": "",
"desc": ""
},
{
"name": "Eray A***",
"amount": 15,
"place": 4,
"webpage": "",
"desc": ""
},
{
"name": "İletken",
"amount": 0.69,
"place": 5,
"webpage": "",
"desc": ""
},
{
"name": "senin anonim",
"amount": 20.31,
"place": 6,
"webpage": "https://www.instagram.com/huseyinbatuhanoguz",
"desc": ""
},
{
"name": "Cem Deniz A***",
"amount": 0.67,
"place": 7,
"webpage": "",
"desc": ""
},
{
"name": "Sydney Sweeney",
"amount": 5,
"place": 8,
"webpage": "https://www.instagram.com/ardailden",
"desc": ""
},
{
"name": "Enes P*",
"amount": 10,
"place": 9,
"webpage": "",
"desc": ""
}
]

View file

@ -16,7 +16,7 @@ if (!$_SERVER['DOCUMENT_ROOT']) {
?>
<head>
<!--!Copyright © 2023 Aliberk Sandıı-->
<!--!Copyright © 2024 Aliberk Sandıı-->
<meta charset="UTF-8">
<!-- Meta Content -->
@ -34,21 +34,7 @@ if (!$_SERVER['DOCUMENT_ROOT']) {
}
} ?>
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//stats.aliberksandikci.com.tr/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '3']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<title>Aliberk Sandıı</title>
</head>
@ -65,7 +51,7 @@ if (!$_SERVER['DOCUMENT_ROOT']) {
<h3 style="align-self: center;">!!! DİĞER İFLPANEL SERVİSLERİ KAPANMIŞTIR !!!</h3>
</article>
<footer>
<div class="tmpinfo">2023 &#x1f12f; Aliberk Sandıı</div>
<div class="tmpinfo">2024 &#x1f12f; Aliberk Sandıı</div>
</footer>
<?php

131
iflpanel/path.php Normal file
View file

@ -0,0 +1,131 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<?php
### ERROR HANDLING ###
function warnError($errno, $errstr, $errfile, $errline)
{
echo "<br><p style='padding:0px;margin:0px;background-color:white;color:black;'><b style='color:red;'>Error:</b> [$errno] $errstr <br> in file <b style='color:blue'>$errfile</b> line <b style='color:red'>$errline</b></p>";
}
set_error_handler("warnError");
if (!$_SERVER['DOCUMENT_ROOT']) {
$_SERVER['DOCUMENT_ROOT'] = '/weblink';
}
# TODO separate file
?>
<head>
<!-- Meta Content -->
<meta charset="UTF-8">
<script>window.location.replace("https://asandikci.com");</script>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="İFL/Eğitim odaklı geliştirme yol haritası">
<meta name="keywords" content="roadmap,yol haritası">
<meta name="author" content="Aliberk Sandıı">
<!-- CSS Files -->
<link rel="stylesheet" type="text/css" href="../bagis/bagis.css"> <!-- INNER CSS !!! -->
<link rel="stylesheet" type="text/css" href="/assets/css/extra_without_scss.css">
<style>
.inner-xy{
list-style-position: inside;
}
</style>
<title>
Yol Haritası | Aliberk Sandıı
</title>
<link rel="shortcut icon" href="/assets/images/icons/favicon.ico" type="image/x-icon">
</head>
<body>
<header>
<a href="/" id="hlogo" style="margin:auto;"><img src="/assets/images/icons/favicon.png"></a>
</header>
<div class="main-scrollable">
<article class="plain" style="text-align:center;align-items:center;">
<h1 style="margin-bottom:0px;">Yol Haritası</h1>
<p>Yapacağım geliştirmelerde bana yardımcı olmak için <a href="../bagis/">bağışta</a> bulunabilirsiniz</p>
<sup>Değerlere ulaşıldıkça gerekli özellikler için çalışılmaya başlanacaktır. Bu, özelliklerin getirileceğini garanti etmez!</sup>
<div id="roadmap">
</div>
</article>
<footer>
<div class="tmpinfo">2024 &#x1f12f; Aliberk Sandıı</div>
</footer>
</div>
<?php
$dir = new DirectoryIterator($_SERVER['DOCUMENT_ROOT'] . "/assets/js");
foreach ($dir as $file) {
if ((!$file->isDot()) && str_ends_with($file, ".js") && $file != "jquery.js") {
echo '<script src="/assets/js/' . $file . '"></script>' . PHP_EOL . ' ';
}
} ?>
<script>
function b64DecodeUnicode(str) {
// Going backwards: from bytestream, to percent-encoding, to original string.
return decodeURIComponent(atob(str).split('').map(function(c) {
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
}).join(''));
}
//
// PUBLIC DATA
//
throw err;
var localtest = 0;
var activeUntil;
var untilAmount;
let url2 = 'https://git.aliberksandikci.com.tr/api/v1/repos/asandikci.com/www/contents/public-data.json';
// let url2 = "http://127.0.0.1:PORT/public-data.json";
// localtest = 1;
fetch(url2)
.then(res => res.json())
.then(out => {
var publicjson;
if (localtest) {
publicjson = out[0]["public-todo"];
activeUntil = out[0]["todo-active-until"];
} else {
var cnt = out.content;
console.log("base64: " + cnt);
publicjson = JSON.parse(b64DecodeUnicode(cnt))[0]["public-todo"];
activeUntil = JSON.parse(b64DecodeUnicode(cnt))[0]["todo-active-until"];
}
publicjson.sort(function(a, b) {
return Number(Object.keys(a)) > Number(Object.keys(b));
});
console.log(publicjson);
untilAmount = Number(activeUntil);
console.log(untilAmount);
var curi = 0;
for (let i = 0; i < publicjson.length; i++) {
const element = Number(Object.keys(publicjson[i]));
document.getElementById("roadmap").innerHTML += "<p style='text-align:left; font-size:25px; font-weight: 700px; color:orange;'>"+element+"₺</p><ul>";
for (let j = 0; j < publicjson[i][element].length; j++) {
const elin = publicjson[i][element][j];
document.getElementById("roadmap").innerHTML += "<li class='inner-xy'>" + elin + "</li>";
}
document.getElementById("roadmap").innerHTML += "</ul>";
if (element >= untilAmount) {
break;
}
}
})
.catch(err => {
throw err
});
</script>
</body>
</html>

View file

@ -1,19 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script>
function downloadURI(uri, name) {
var link = document.createElement("a");
link.download = name;
link.href = uri;
link.click();
}
downloadURI("https://asandikci.com/iflpanel/ssavpn/file/in/secured/apks/ssa-vpn-signed.apk","ssa-vpn-signed.apk")
window.location.replace("https://asandikci.com/iflpanel/ssavpn/")
</script>
</head>
</html>

View file

@ -1,19 +0,0 @@
async function copy2Clipboard(id) {
var copyText = document.getElementById(id);
// copyText.select();
// copyText.setSelectionRange(0, 99999); // For mobile devices
navigator.clipboard.writeText(copyText.innerHTML);
var tooltip = document.getElementById(id+'-tip');
tooltip.innerHTML = "Kopyalandı! ";
tooltip.style.display = 'inherit';
tooltip.style.color = 'green';
tooltip.style.fontSize = "smaller";
await new Promise(r => setTimeout(r, 2000));
tooltip.style.display= 'none';
}

View file

@ -1,12 +0,0 @@
.copy_element {
color: orange;
cursor: copy;
}
.copy_element:hover::before {
content: "Kopyala: ";
color: #00adb5;
font-weight: 400;
justify-self: center;
font-size: medium;
}

View file

@ -1 +0,0 @@
{"version":3,"sourceRoot":"","sources":["../scss/_images.scss","../scss/_animation.scss","../scss/main.scss","../scss/_fonts.scss","../scss/_colors.scss","../scss/_header.scss","../scss/_nav.scss","../scss/_article.scss","../scss/_utils.scss","../scss/_footer.scss","../scss/_copy.scss"],"names":[],"mappings":"AAGE;EACE;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;;;AAbF;EACE;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;;;AChBJ;EACE;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;;AClBJ;EACE;;;AAGF;AAAA;EAEE;EACA;EAEA;EACA;EAEA;EACA;EAEA,aC3BM;ED4BN,kBEjBS;EFkBT,OEXa;;AFeb;AAAA;EG9BA;EACA;EACA;EAEA;EACA;EAEA,kBDCS;ECAT;EAEA;;AAEA;AAAA;EACE;EACA;EACA;EACA;;AHmBF;AAAA;EIrCA;EACA;EACA;;AAEA;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;;AJ0BF;AAAA;EKtCA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;;AAEA;AAAA;EACE;EACA;EACA;;AAGF;AAAA;EACE;EACA;EACA;EACA;EACA;;AAGF;AAAA;EACE;;ALiBA;AAAA;EKZF,kBHfa;EGgBb;EACA;;ALcE;AAAA;EKVF;;AAEA;AAAA;EACE;EACA;EACA;EAEA;EACA;EAEA,kBH/BW;;AIVb;AAAA;EACE,wBDyCgC;ECxChC,yBDwCgC;ECvChC;EACA;;AAGF;AAAA;EACE;EACA;EACA,2BDgCgC;EC/BhC,4BD+BgC;;AC5BlC;AAAA;EACE,yBD2BgC;EC1BhC,wBD0BgC;ECzBhC,2BDyBgC;ECxBhC,4BDwBgC;;AAGhC;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;;AAEA;AAAA;EACE;EACA;EACA;EACA;EACA;EAEA;EAEA;EACA,kBH5DO;;AITb;AAAA;EACE,wBDqEoC;ECpEpC,yBDoEoC;ECnEpC;EACA;;AAGF;AAAA;EACE;EACA;EACA,2BD4DoC;EC3DpC,4BD2DoC;;ACxDtC;AAAA;EACE,yBDuDoC;ECtDpC,wBDsDoC;ECrDpC,2BDqDoC;ECpDpC,4BDoDoC;;AAEhC;AAAA;EACE;EACA;;AAEA;AAAA;EACE;;AAIJ;AAAA;EACE;EACA;;AAIJ;AAAA;EACE;;AAEA;AAAA;EACE;;AAMJ;EACE;AAAA;IACE;;EC3ER;AAAA;IACE;IACA,wBD0E+B;ICzE/B;IACA;;EAGF;AAAA;IACE,yBDoE+B;ICnE/B;IACA;IACA;;EAGF;AAAA;IACE;IACA;IACA,2BD2D+B;IC1D/B;;EAGF;AAAA;IACE;IACA;IACA;IACA,4BDmD+B;;EAIzB;AAAA;IACE;;;AAQN;AAAA;EACE;EACA;EACA;EACA;;AAEA;AAAA;EACE;EACA;;AAEA;AAAA;EACE;EACA;EACA;;AAIJ;AAAA;EACE;EACA;;AAOJ;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAKJ;AAAA;EAOE;EACA;EACA;;AARA;AAAA;EACE;EACA;EACA;;AL5GN;AAAA;EOtDA;EACA;EACA;EACA;EAEA;EACA,kBLCS;EKAT;EAEA;EACA;EAEA;;AAEA;AAAA;EACE;;AP4CF;AAAA;EACE;EACA;;AAEA;AAAA;EACE,OE9CS;;AFiDX;AAAA;EACE;;AAGF;AAAA;EACE;EACA;;AAGF;AAAA;EACE;;AAIJ;AAAA;EACE;EACA;EMjFF;EACA;;AALA;AAAA;EACE;;AEDF;AAAA;EACE;EACA;;AAGF;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;AAAA;EACE;EACA","file":"main.css"}

View file

@ -1,94 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="200mm"
height="200mm"
viewBox="0 0 200 200"
version="1.1"
id="svg1"
inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"
sodipodi:docname="ssavpn.svg"
inkscape:export-filename="ssavpn48x48.png"
inkscape:export-xdpi="6.0959997"
inkscape:export-ydpi="6.0959997"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="true"
inkscape:zoom="0.35355339"
inkscape:cx="96.166522"
inkscape:cy="386.0803"
inkscape:window-width="1366"
inkscape:window-height="739"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1"
inkscape:export-bgcolor="#ffffff00" />
<defs
id="defs1">
<inkscape:path-effect
effect="fillet_chamfer"
id="path-effect4"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" />
</defs>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
style="display:inline">
<g
id="g4"
transform="translate(-86.163789,-27.213761)"
style="fill:#d40000" />
<path
style="fill:#b3b3b3;stroke:#000000;stroke-width:1.865;stroke-opacity:0.97813344"
d="M 6.1040265,195 61.040265,105 12.208053,75.000001 54.936238,5 70.196305,5 27.468119,75.000001 76.300331,105 21.364093,195 Z"
id="path37"
sodipodi:nodetypes="ccccccccc" />
<path
style="fill:#666666;stroke:#000000;stroke-width:1.865;stroke-opacity:0.98773342;fill-opacity:1"
d="M 30.520132,195 85.456371,105 36.624159,75.000002 79.352344,5.0000008 H 94.612411 L 51.884225,75.000002 100.71644,105 45.780199,195 Z"
id="path64"
sodipodi:nodetypes="ccccccccc" />
<path
style="fill:#d40000;stroke:#000000;stroke-width:1.865;stroke-opacity:0.98453319"
d="M 74.469123,83.000001 122.08053,5 l 0,25 -36.624159,60.000001 z"
id="path65"
sodipodi:nodetypes="ccccc" />
<path
style="fill:#d40000;stroke:#000000;stroke-width:1.865;stroke-opacity:0.97493327"
d="M 189.22482,195 122.08053,5.0000001 V 30 l 57.98825,85 z"
id="path66"
sodipodi:nodetypes="ccccc" />
<path
style="fill:#800000;stroke:#000000;stroke-width:1.45751;stroke-opacity:0.98933333"
d="m 109.72093,107.88517 h 43.08179 L 158.95725,120 H 97.41186 Z"
id="path67" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

View file

@ -1,94 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="200mm"
height="200mm"
viewBox="0 0 200 200"
version="1.1"
id="svg1"
inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"
sodipodi:docname="ssavpn.svg"
inkscape:export-filename="ssavpn48x48.png"
inkscape:export-xdpi="6.0959997"
inkscape:export-ydpi="6.0959997"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="true"
inkscape:zoom="0.35355339"
inkscape:cx="96.166522"
inkscape:cy="386.0803"
inkscape:window-width="1366"
inkscape:window-height="739"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1"
inkscape:export-bgcolor="#ffffff00" />
<defs
id="defs1">
<inkscape:path-effect
effect="fillet_chamfer"
id="path-effect4"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" />
</defs>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
style="display:inline">
<g
id="g4"
transform="translate(-86.163789,-27.213761)"
style="fill:#d40000" />
<path
style="fill:#b3b3b3;stroke:#000000;stroke-width:1.865;stroke-opacity:0.97813344"
d="M 6.1040265,195 61.040265,105 12.208053,75.000001 54.936238,5 70.196305,5 27.468119,75.000001 76.300331,105 21.364093,195 Z"
id="path37"
sodipodi:nodetypes="ccccccccc" />
<path
style="fill:#666666;stroke:#000000;stroke-width:1.865;stroke-opacity:0.98773342;fill-opacity:1"
d="M 30.520132,195 85.456371,105 36.624159,75.000002 79.352344,5.0000008 H 94.612411 L 51.884225,75.000002 100.71644,105 45.780199,195 Z"
id="path64"
sodipodi:nodetypes="ccccccccc" />
<path
style="fill:#d40000;stroke:#000000;stroke-width:1.865;stroke-opacity:0.98453319"
d="M 74.469123,83.000001 122.08053,5 l 0,25 -36.624159,60.000001 z"
id="path65"
sodipodi:nodetypes="ccccc" />
<path
style="fill:#d40000;stroke:#000000;stroke-width:1.865;stroke-opacity:0.97493327"
d="M 189.22482,195 122.08053,5.0000001 V 30 l 57.98825,85 z"
id="path66"
sodipodi:nodetypes="ccccc" />
<path
style="fill:#800000;stroke:#000000;stroke-width:1.45751;stroke-opacity:0.98933333"
d="m 109.72093,107.88517 h 43.08179 L 158.95725,120 H 97.41186 Z"
id="path67" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 206 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 522 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 MiB

View file

@ -0,0 +1,9 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf8" />
</head>
<body>
<script>window.location.replace("https://vpn.asandikci.com");</script>
</body>
</html>

View file

@ -1,108 +0,0 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<?php
### ERROR HANDLING ###
function warnError($errno, $errstr, $errfile, $errline)
{
echo "<br><p style='padding:0px;margin:0px;background-color:white;color:black;'><b style='color:red;'>Error:</b> [$errno] $errstr <br> in file <b style='color:blue'>$errfile</b> line <b style='color:red'>$errline</b></p>";
}
set_error_handler("warnError");
if (!$_SERVER['DOCUMENT_ROOT']) {
$_SERVER['DOCUMENT_ROOT'] = '/weblink';
}
# TODO separate file
?>
<head>
<!-- Meta Content -->
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="SSA VPN, fatih meb interneti için VPN çözümü">
<meta name="keywords" content="SSA,SSA VPN,vpn,f@tih,fatih">
<meta name="author" content="Aliberk Sandıı">
<!-- CSS Files -->
<link rel="stylesheet" type="text/css" href="./assets/css/main.css">
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//stats.aliberksandikci.com.tr/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '3']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<title>
SSA VPN
</title>
<link rel="shortcut icon" href="assets/iflpanel/ssavpn.svg" type="image/x-icon">
</head>
<style>
.inner_button_lay {
border: 1px white solid;
border-radius: 5px;
padding: 0.7rem;
background-color: #10161d;
}
.p_inb {
margin-bottom: 2rem;
}
</style>
<body>
<header>
<a href="/iflpanel/ssavpn/" id="hlogo" class="tmpinfo" style="margin: auto;"><img src="assets/iflpanel/ssavpn.svg"></a>
<!-- <div class="tmpinfo">SSA VPN</div> -->
</header>
<div class="main-scrollable">
<article class="plain" style="text-align:center;align-items:center;">
<h1 class="glow">SSA VPN </h1>
<p style="font-size:14px;">Şifreleme sayesinde Gelişmiş Güvenlik ve Gizlilik
<br>Yüksek Hız ve Düşük Gecikme (50Mbit/s 50ms)
<br><b>Fatih/MEB interneti ile uyumlu!</b>
</p><br>
<hr style="width: 100%;margin-bottom:1rem;">
<div class="links">
<p class="p_inb"><a class="button inner_button_lay" href="./apk/"><span>Android Uygulamasını (apk) İndir</span></a></p>
<p class="p_inb"><a class="button inner_button_lay" href="./ssa-sertifika.pem"><span>SSA Sertifika</span></a></p>
<p class="p_inb"><a class="button inner_button_lay" href="./kurulum/"><span>NASIL KURULUR</span></a></p>
<p class="p_inb"><a class="button inner_button_lay" href="./odeme/"><span>ÖDEME BİLGİLERİ</span></a></p>
<p class="p_inb"><a class="button inner_button_lay" href="./tos.html"><span>Kullanıcı Sözleşmesi</span></a></p>
<p class="p_inb"><a class="button inner_button_lay" href="./privacy.html"><span>Gizlilik Politikası</span></a></p>
</div>
</article>
<footer>
<div class="tmpinfo">2023 &#x1f12f; Aliberk Sandıı</div>
</footer>
</div>
<?php
$dir = new DirectoryIterator($_SERVER['DOCUMENT_ROOT'] . "/assets/js");
foreach ($dir as $file) {
if ((!$file->isDot()) && str_ends_with($file, ".js") && $file != "jquery.js") {
echo '<script src="/assets/js/' . $file . '"></script>' . PHP_EOL . ' ';
}
} ?>
</body>
</html>

View file

@ -1,108 +0,0 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<?php
### ERROR HANDLING ###
function warnError($errno, $errstr, $errfile, $errline)
{
echo "<br><p style='padding:0px;margin:0px;background-color:white;color:black;'><b style='color:red;'>Error:</b> [$errno] $errstr <br> in file <b style='color:blue'>$errfile</b> line <b style='color:red'>$errline</b></p>";
}
set_error_handler("warnError");
if (!$_SERVER['DOCUMENT_ROOT']) {
$_SERVER['DOCUMENT_ROOT'] = '/weblink';
}
# TODO separate file
?>
<head>
<!-- Meta Content -->
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="SSA VPN, fatih meb interneti için VPN çözümü">
<meta name="keywords" content="SSA,SSA VPN,vpn,f@tih,fatih">
<meta name="author" content="Aliberk Sandıı">
<!-- CSS Files -->
<link rel="stylesheet" type="text/css" href="../assets/css/main.css">
<link rel="stylesheet" type="text/css" href="../assets/css/extra_without_scss.css">
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//stats.aliberksandikci.com.tr/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '3']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<title>
Kurulum | SSA VPN
</title>
<link rel="shortcut icon" href="../assets/iflpanel/ssavpn.svg" type="image/x-icon">
</head>
<body>
<header>
<a href="/iflpanel/ssavpn/" id="hlogo" class="tmpinfo" style="margin: auto;"><img src="../assets/iflpanel/ssavpn.svg"></a>
</header>
<div class="main-scrollable">
<article class="plain" style="text-align:center;align-items:center;">
<h1>Kurulum</h1>
<hr style="width: 100%;">
<h2 id="android">Android</h2>
<ol style="text-align: left; align-self:baseline;">
<li><a href="../apk/" target="_blank">apk dosyası</a>nı indirin ve kurun</li>
<li><a href="../ssa-sertifika.pem">SSA Sertifika dosyası</a>nı indirin ve SSA VPN uygulaması ile ın</li>
<li>SSA VPN uygulamasını ın ve <b>VPN Profili Oluştur</b> butonuna tıklayın</li>
<li>Sunucu yerine <b class="copy_element" id="server_address" onclick="copy2Clipboard('server_address')">141.95.52.145</b> adresini ve kullanıcı adı/şifrenizi giriniz</li>
<li>Profil Adı kısmına <b class="copy_element" id="server_name" onclick="copy2Clipboard('server_name')">SSA VPN</b> yazınız (opsiyonel)</li>
<li>Kaydet tuşuna tıklayınız ve menüye eklenen vpn profilene bağlanmak için üstüne tıklayınız</li>
<li>Eğer karşınıza çıkarsa pil optimizasyon ve vpn bağlantısı seçeneklerine izin veriniz</li>
<li><b>Artık Kullanmaya başlayabilirsiniz !!!</b></li>
</ol>
<sup style="text-align: left; align-self:baseline;">Kolaylık olması ısından üst menüye hızlı bağlantı ikonunu ekleyebilirsiniz</sup>
<hr style="width: 100%;">
<h2 id="windows">Windows</h2>
<ol style="text-align: left; align-self:baseline;">
<li><a href="../ssa-sertifika.pem">SSA Sertifika dosyası</a>nı indirin</li>
<li><b>Bilgisayar Sertifikaları</b> uygulamasını ın</li>
<li>Soldaki Dosya Menüsünden <b>Güvenilen Kök Sertifikalar</b> seçeneğini seçin</li>
<li>Eylem Menüsünden <b>Al</b> (veya içeri aktar) seçeneğini seçin.</li>
<li>ılan pencerede ilk önce sağdan <b>tüm dosyalar</b> seçeneğini seçin, sonra ilk adımda indirdiğiniz sertifika dosyasını bulup seçin</li>
<li><b>Kontrol Paneli</b> Uygulamasını ın ve <b>İnternet ve Bağlantı Ayarları</b> kısmına gelin</li>
<li><b>Yeni bir veya bağlantı oluşturun</b> seçeneğini seçin</li>
<li><b>Bir çalışma alanına bağlanın</b> seçeneğini seçin ardından <b>Kendi internet bağlantımı kullan (VPN)</b> seçeneğini seçin</li>
<li><b>İnternet adresi</b> kısmına <b class="copy_element" onclick="copy2Clipboard('server_address')">141.95.52.145</b> adresini ve sonraki kutucuğa <b class="copy_element" onclick="copy2Clipboard('server_name')">SSA VPN</b> girin</li>
<li>Tamam tuşuna tıklayın, <b>Artık Kullanmaya başlayabilirsiniz !!!</b></li>
<li>Alt paneldeki internet kısmından kullanıcı adı ve şifrenizi girerek SSA VPN'i aktileştirebilirsiniz.</li>
</ol>
<sup style="text-align: left; align-self:baseline;">İlk iki sefer kullanıcı adı/şifre girmeniz gerekmektedir.</sup>
</article>
<footer>
<div class="tmpinfo">2023 &#x1f12f; Aliberk Sandıı</div>
</footer>
</div>
<?php
$dir = new DirectoryIterator($_SERVER['DOCUMENT_ROOT'] . "/assets/js");
foreach ($dir as $file) {
if ((!$file->isDot()) && str_ends_with($file, ".js") && $file != "jquery.js") {
echo '<script src="/assets/js/' . $file . '"></script>' . PHP_EOL . ' ';
}
} ?>
<script src="../assets/copy.js"></script>
</body>
</html>

View file

@ -1,92 +0,0 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<?php
### ERROR HANDLING ###
function warnError($errno, $errstr, $errfile, $errline)
{
echo "<br><p style='padding:0px;margin:0px;background-color:white;color:black;'><b style='color:red;'>Error:</b> [$errno] $errstr <br> in file <b style='color:blue'>$errfile</b> line <b style='color:red'>$errline</b></p>";
}
set_error_handler("warnError");
if (!$_SERVER['DOCUMENT_ROOT']) {
$_SERVER['DOCUMENT_ROOT'] = '/weblink';
}
# TODO separate file
?>
<head>
<!-- Meta Content -->
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="SSA VPN, fatih meb interneti için VPN çözümü">
<meta name="keywords" content="SSA,SSA VPN,vpn,f@tih,fatih,ödeme,pricing">
<meta name="author" content="Aliberk Sandıı">
<!-- CSS Files -->
<link rel="stylesheet" type="text/css" href="../assets/css/main.css">
<link rel="stylesheet" type="text/css" href="../assets/css/extra_without_scss.css">
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//stats.aliberksandikci.com.tr/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '3']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<title>
Ödeme Bilgileri | SSA VPN
</title>
<link rel="shortcut icon" href="../assets/iflpanel/ssavpn.svg" type="image/x-icon">
</head>
<body>
<header>
<a href="/iflpanel/ssavpn/" id="hlogo" class="tmpinfo" style="margin: auto;"><img src="../assets/iflpanel/ssavpn.svg"></a>
</header>
<div class="main-scrollable">
<article class="plain" style="text-align:center;align-items:center;">
<h1>Ödeme Bilgileri</h1>
<hr style="width: 100%;">
<h2>IBAN:</h2>
<h2 style="margin-top: 0px;text-decoration:none;"><b class="copy_element" id="IBAN" onclick="copy2Clipboard('IBAN')">TR63 0082 9000 0949 1444 3182 51</b><span id="IBAN-tip"></span></h2>
<hr style="width: 100%;">
<h2>Papara Numarası:</h2>
<h2 style="margin-top: 0px;text-decoration:none;"><b class="copy_element" id="Papara" onclick="copy2Clipboard('Papara')">14444318251</b><span id="Papara-tip"></span></h2>
<hr style="width: 100%;">
<p><b>"isim-soyisim, SSA VPN" şeklinde ıklama giriniz.</b></p>
<p>Mobil Cihazlar için <b>tek seferlik</b> 25<br>
Masaüstü/Laptop Cihazlar için <b>tek seferlik</b> 30<br>
Hem Mobil Hem Masaüstü/Laptop Cihazlar için (toplam 2 hesap) <b>tek seferlik</b> 40
</p>
</article>
<footer>
<div class="tmpinfo">2023 &#x1f12f; Aliberk Sandıı</div>
</footer>
</div>
<?php
$dir = new DirectoryIterator($_SERVER['DOCUMENT_ROOT'] . "/assets/js");
foreach ($dir as $file) {
if ((!$file->isDot()) && str_ends_with($file, ".js") && $file != "jquery.js") {
echo '<script src="/assets/js/' . $file . '"></script>' . PHP_EOL . ' ';
}
} ?>
<script src="../assets/copy.js"></script>
</body>
</html>

View file

@ -1,85 +0,0 @@
<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//stats.aliberksandikci.com.tr/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '3']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<title>Gizlilik Sözleşmesi | SSA VPN</title>
</head>
<body style="background-color: rgba(15, 15, 15, 0.812); color:aliceblue;">
<h1>Gizlilik Politikası</h1>
<p>Son Güncelleme: 11/11/2023</p>
<hr>
<p> Güvenliğiniz bizim için önemli. Bu sebeple zorunlu olarak topladığımız verilerinizi şifrelemekte ve hassasiyetle
korumaktayız
</p>
<p>Biz, SSA VPN, veri sorumlusu olarak, bu gizlilik ve kişisel verilerin korunması politikası ile, hangi kişisel
verilerinizin hangi amaçla işleneceği, işlenen verilerin kimlerle ve neden paylaşılabileceği, veri işleme yöntemimiz
ve hukuki sebeplerimiz ile; işlenen verilerinize ilişkin haklarınızın neler olduğu hususunda sizleri aydınlatmayı
amaçlıyoruz.
</p>
<h2>Toplanan Kişisel Verileriniz, Toplanma Yöntemi ve Hukuki Sebebi</h2>
<p>IP adresiniz sadece sistemin gerekli bağlantıları gerçekleştirmesini sağlamak için toplanmaktadır. Otomatik veya
otomatik olmayan herhangi bir yöntem ile analitik sağlayıcılar, reklam ağları, arama bilgi sağlayıcıları, teknoloji
sağlayıcıları gibi üçüncü taraflar ile <b>paylaşılmamaktadır, işlenmemektedir</b>. Legal sebeplerden ötürü 1ay
boyunca ip adresiniz sunucumuzda şifrelenmiş bir şekilde saklanır.
</p>
<h2>Kişisel Verilerinizin İşlenme Amacı</h2>
<p>
Kişisel verileriniz <b>kullanıcıların kendi istekleri doğrultusunda</b> sistem hatalarının giderilmesi esnasında
kullanılması haricinde otomatik olarak işlenmemektedir.
</p>
<h2>Toplanan Kişisel Verilerin Kimlere ve Hangi Amaçlarla Aktarılabileceği</h2>
<p>
Bizimle paylaştığınız kişisel verileriniz (ip adresiniz); talep halinde <b>adli</b> makamlara, gerekli teknik ve
idari önlemler alınması koşulu ile aktarılabilecektir.
</p>
<h2>Kişisel Verileri İşlenen Kişi Olarak Haklarınız</h2>
<p>KVKK madde 11 uyarınca herkes, veri sorumlusuna başvurarak aşağıdaki haklarını kullanabilir:</p>
<ol style="list-style-type: lower-alpha;">
<li>Kişisel veri işlenip işlenmediğini öğrenme,</li>
<li>Kişisel verileri işlenmişse buna ilişkin bilgi talep etme,
</li>
<li>Kişisel verilerin işlenme amacını ve bunların amacına uygun kullanılıp kullanılmadığını öğrenme,</li>
<li>Yurt içinde veya yurt dışında kişisel verilerin aktarıldığı üçüncü kişileri bilme,</li>
<li>Kişisel verilerin eksik veya yanlış işlenmiş olması hâlinde bunların düzeltilmesini isteme,</li>
<li>Kişisel verilerin silinmesini veya yok edilmesini isteme,</li>
<li>(e) ve (f) bentleri uyarınca yapılan işlemlerin, kişisel verilerin aktarıldığı üçüncü kişilere bildirilmesini
isteme,</li>
<li>İşlenen verilerin münhasıran otomatik sistemler vasıtasıyla analiz edilmesi suretiyle kişinin kendisi aleyhine
bir sonucun ortaya çıkmasına itiraz etme,
</li>
<li>Kişisel verilerin kanuna aykırı olarak işlenmesi sebebiyle zarara uğraması hâlinde zararın giderilmesini talep
etme, haklarına sahiptir.</li>
</ol>
<p>Yukarıda sayılan haklarınızı kullanmak üzere <a href="mailto:contact@aliberksandikci.com.tr">contact@aliberksandikci.com.tr</a> üzerinden
bizimle iletişime geçebilirsiniz.</p>
<h2>İletişim</h2>
<p>Sizlere hizmet sunabilmek amaçlı sadece gerekli olan kişisel verilerinizin, işbu
gizlilik ve kişisel verilerin işlenmesi politikası uyarınca işlenmesini, kabul edip etmemek hususunda tamamen
özgürsünüz. vpn.iflpanel.com websitesini, SSA VPN android uygulamasını, ssa-sertifikayı veya SSA VPN hizmetlerinden
herhangi birini kullanmaya devam ettiğiniz takdirde kabul etmiş olduğunuz tarafımızca varsayılacak olup, daha
ayrıntılı bilgi için bizimle <a href="mailto:contact@aliberksandikci.com.tr">contact@aliberksandikci.com.tr</a> e-mail adresi üzerinden
iletişime geçmekten lütfen çekinmeyiniz. </p>
</body>

View file

@ -1,29 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIE8DCCAtigAwIBAgIIPlRW95un+dQwDQYJKoZIhvcNAQEMBQAwFjEUMBIGA1UE
AxMLVlBOIHJvb3QgQ0EwHhcNMjMwOTE2MDk1MjIxWhcNMzMwOTEzMDk1MjIxWjAW
MRQwEgYDVQQDEwtWUE4gcm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCC
AgoCggIBAJ5NqMhiiomHbWm+K/tdgBnhJ7vO0+HekE0aze2d8d4vGNEHCWca6iCV
l6yAByP/DpK4NpqhRSvyGab/LJVtqOXO3zgH1ZVKnAH0hWVj3UZcjCYe9UPObvYb
ndLBVok451M/QbTyWptxRioXJscOXJ9DJYmenIXFgaV8+UBYlVfyldIzCeHNuroo
WRjjDMilymtvV8DY8uEX0ZgNbwXVu6iP4l2ZC4WPmMB7nl2FhflLolalNFXtYaKI
OAWND+3e+mJI03ojzYjG/XYzg2AT0AolHTATUfHBfxckl96EPk5zUQBHgoLysdHe
xPjIey376rey/7fKvATpDTZkxoOGEA8UAgyvfM0zex58z/OjsaMaRQrFNJ073pPQ
UPcvHpDDxyohx/L9nQotxBAkHEHlU9gzK1liBN2S6q/vljK/mnbQmi/aTv2wkXfN
l1DDOlnv5yTP3MfximfHMQOOazK8C5FcU1HbVnzmB4L1WCbzc8ePFXsYN50JrX9O
I47XhC096TjU7QxBQkMjAHyPUQ4yJJGneJ5ovHGDB9Wa55pLQS0lU69SnhnpM8Lt
JkG3hUo4lrlumeEiRW1jC5NswKiqFW87sNBsUZN63s5Vpuwk1bFqCzujeXaughSe
IrrevWciEzXtOglRyzdTmfRXzgc4zH//zdYKr54hjWGG245r8FQjAgMBAAGjQjBA
MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS7qDly
4SuxV4eM+ZLw/D/mE28EvjANBgkqhkiG9w0BAQwFAAOCAgEAf1juSwI2kto3hn9X
uxVI40oVfzD6wOXVNWo4Brfmt/t9+1keZSrTS+fxKH9EfbDjhzZmXt1QgHgSPO1Y
g5KJiNCSfWmvaiI07+Kn4AtPSrTz6hcHM1ETC9E9IC0gFfmraAFG7gD8jQIJ+B53
7Hk3jNa1d0l+UEir+Gt2fzBRO5o307jQbsmP6scwpTzzsZLcW9ZSM/H7ZmAyB73u
aebKl/gcIm/DmgPVdhY6vZi656USR8/DOTq61GF5eA20lVE5kmCoVhdGkVUtD5Ji
5GVSBD+pGLf4WxrH7hvkfqb4G1RuhFrd+6oOESC6kdXHwB+2U2nyU1DJDpjrO64C
UKM6MzMxCEvLoSKgmumrRQfLKN7aSRbPz28t0qilzgz++mfzQEexmf9gYppsB9Qv
4j6AoSq5N0PX1FiqgmDMT7LQu/FuNKy+scgpfegjx39H5RjZpLdR5cvpVntbGvor
oYvPok+wo3kKXx6z16j9wuUV2fZoA9WAwS2rNveBss0sVyqxyK3D6pG4kvZTeF8L
xvohBPHlrIPErvtlHX6stLFjA9LE0lQzUBsDH/8CUTTHzP7q4ker09Sp5yFjctMD
ESb7TlbEXZ62CoXPJZhHXANuxr7AzObVzksUku45NwpI/Ehdh+SmZmN2wtFRdD/J
ElxksEwnDUL/QQMpQqE/fnaMeRM=
-----END CERTIFICATE-----

View file

@ -1,81 +0,0 @@
<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//stats.aliberksandikci.com.tr/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '3']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<title>Kullanım Koşulları | SSA VPN</title>
</head>
<body style="background-color: rgba(15, 15, 15, 0.812); color:aliceblue;">
<h1>Servis Kullanım Koşulları</h1>
<p>Son Güncelleme: 11/11/2023</p>
<hr>
<p>https://asandikci.com/iflpanel/ssavpn/ adresinde yer alan bu internet sitesini ziyaret ederek, SSA VPN Android uygulamasını
kullanarak, kullanıcı adı/parola talep ederek, ssa-sertifikayı kullanarak veya SSA VPN hizmetlerinden herhangi
birini kullanarak bu sözleşmede yazan koşulları kabul edersiniz. Bu sayfadaki herhangi bir koşulu kabul
etmiyorsanız, lütfen bu siteye ve ilgili diğer servislere olan erişiminizi sonlandırınız.
</p>
<h2>1. Gizlilik</h2>
<p>Gizlilik Politikası <a href="privacy.html">bir başka sayfada</a> mevcuttur. Sitemizi kullandığınız takdirde,
verilerinizin işlenmesinin Gizlilik Politikası'na uygun olarak gerçekleştiğini kabul edersiniz.
</p>
<h2>2. Telif Hakları</h2>
<p>Bu internet sitesindeki yer alan metinler ve kullanılan yazılım dahil, tüm içeriğin sahibi Aliberk Sandıı olup
ık lisanslıdır. Site içeriğini, <b>aslını taklit etme amacı gütmemek, ticari amaçlarla kullanmamak ve atıfta
bulunmak koşulu ile</b> herhangi bir izin olmaksızın kaynak kod içerisinden doğrudan çoğaltabilir, kopyalayabilir
veya yayabilirsiniz.
</p>
<h2>GENEL HÜKÜMLER</h2>
<ul>
<li class="element">Bir kullanıcı adı + parola ikilisi ile sadece tek bir cihazda oturum açılabilmektedir.
Tarafınıza ulaştırılan aynı doğrulama bilgileri ile farklı cihazlarda hesap açmanız bağlantı problemleri
ve kısıtlamalara yol açabilir. Bunun yerine yeni bir hesap adı isteyiniz.
</li>
<li class="element">Mobil cihazlarınız için size tahsis edilmiş hesaplar mobil cihazlarda, bilgisayar/laptop
cihazlarınız
için size tahsis ediliş hesaplar bilgisayar/laptop cihazlarınızda en optimize ve doğru şekilde çalışmaktadır.
Aksi taktirde geçici sunucu banı veya internet problemleri yaşayabilirsinizz. Hesapların açılma amacı
dışındaki bir cihazda kullanımından doğacak yükümlülüklerden SSA VPN sorumlu değildir.
</li>
<li class="element">
SSA VPN hiçbir şekilde altyapı/wifi/modem/ethernet hızı ve stabilitesinden ve çekim gücünden sorumlu
değildir. SSA VPN sadece mevcut bağlantının şifrelenerek iletilmesini sağlar.
</li>
<li class="element">
SSA VPN sunucuları Fransa ve Almanya sınırları içinde bulunmaktadır. Eğer sunucu seçiminin sizin için bir
önemi varsa hesabınızı almadan önce iletişime geçiniz!
</li>
<li class="element">
Her kullanıcı kendi kullanımından ve tükettiği/ürettiği içerikten kendisi sorumludur. Kullanıcının servisi
legal olmayan sebepler ile kullanımı SSA VPN, iflpanel, Aliberk Sandıı kuruluş ve kişileri ile
ilişkilendirilemez!
</li>
<li class="element">
Kullanıcılar Servis Kullanım koşullarının güncelliğini denetlemekle yükümlüdürler.
</li>
</ul>
</body>

View file

@ -1,14 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script>
window.location.replace("https:/asandikci.com/iflpanel/ssavpn/kurulum/")
</script>
</head>
<body>
</body>
</html>

View file

@ -1,23 +0,0 @@
@charset "UTF-8";
/* 2023 Aliberk Sandıı*/
#ders-programi {
display: none;
flex-direction: column;
padding: 0px 100px;
padding-top: 10px;
}
#ders-programi img {
max-width: 1309px;
max-height: 601px;
aspect-ratio: 1309/601;
}
.min,
.sec,
.msec {
display: flex;
width: 7vw;
justify-content: center;
}
/*# sourceMappingURL=dev.css.map */

View file

@ -1 +0,0 @@
{"version":3,"sourceRoot":"","sources":["../scss/dev.scss"],"names":[],"mappings":";AAAA;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAIJ;AAAA;AAAA;EAGE;EACA;EACA","file":"dev.css"}

View file

@ -1,278 +0,0 @@
@charset "UTF-8";
/* 2023 Aliberk Sandıı*/
/* 2023 Aliberk Sandıı*/
@keyframes rain {
0% {
background-color: white;
}
25% {
background-color: red;
}
50% {
background-color: green;
}
100% {
background-color: yellow;
}
}
* {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
cursor: default;
}
body,
html {
display: flex;
flex-direction: column;
margin: 0px;
height: 100%;
width: 100%;
background-color: black;
color: aliceblue;
font-family: "Montserrat", Arial, Helvetica, sans-serif;
}
section#top {
display: flex;
justify-content: space-around;
user-select: none;
width: 100%;
height: 100px;
}
section#top .class {
margin: 5px;
min-width: 20vw;
margin-right: auto;
font-weight: 800;
font-style: oblique;
}
section#top .clock {
display: flex;
}
section#top .clock #time {
display: flex;
align-items: center;
align-self: center;
align-content: center;
justify-items: center;
justify-self: center;
justify-content: center;
font-size: 80px;
}
section#top .settings-box {
min-width: 20vw;
margin-left: auto;
text-align: right;
}
section#top .settings-box button {
height: 30px;
width: 30px;
line-height: 20px;
}
section#top .settings-box #settings {
display: none;
flex-direction: column;
align-items: end;
font-size: small;
margin-top: 5px;
}
section#top .settings-box #settings form {
display: flex;
flex-direction: column;
position: relative;
background-color: grey;
}
section#top .settings-box #settings form .cell {
float: left;
display: flex;
flex-direction: row;
margin-bottom: 1vh;
}
section#top .settings-box #settings form .cell input[type=checkbox] {
appearance: none;
background-color: #fff;
margin: 0;
width: 1.15em;
height: 1.15em;
border: 0.15em solid darkslateblue;
border-radius: 0.15em;
transform: translateY(-0.075em);
display: grid;
place-content: center;
outline: 0px solid white;
outline-offset: 0px;
}
section#top .settings-box #settings form .cell input[type=checkbox]::before {
content: "";
width: 0.65em;
height: 0.65em;
transform: scale(0);
transition: 120ms transform ease-in-out;
box-shadow: inset 1em 1em green;
transform-origin: bottom left;
clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}
section#top .settings-box #settings form .cell input[type=checkbox]:checked::before {
transform: scale(1);
}
section#top .settings-box #settings form .cell input[type=checkbox]:focus {
outline: max(2px, 0.15em) solid white;
outline-offset: max(2px, 0.15em);
}
section#top .settings-box #settings form .cell label {
padding-left: 5px;
display: block;
text-align: left;
align-self: center;
}
section#mid {
display: flex;
flex-direction: column;
text-align: center;
user-select: none;
}
section#mid #timers {
display: none;
flex-direction: column;
}
section#mid #timers #timers-menu ul {
display: flex;
justify-content: center;
padding: 0;
}
section#mid #timers #timers-menu ul li {
list-style-type: none;
box-sizing: border-box;
}
section#mid #timers #timers-menu ul li .pushable {
position: relative;
border: none;
background: transparent;
padding: 0;
cursor: pointer;
outline-offset: 4px;
transition: filter 250ms;
}
section#mid #timers #timers-menu ul li .shadow {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: hsla(0, 0%, 0%, 0.25);
will-change: transform;
transform: translateY(2px);
transition: transform 600ms cubic-bezier(0.3, 0.7, 0.4, 1);
}
section#mid #timers #timers-menu ul li .edge {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(to left, hsl(235, 84%, 26%) 0%, hsl(235, 84%, 26%) 8%, hsl(235, 84%, 26%) 92%, hsl(235, 84%, 26%) 100%);
}
section#mid #timers #timers-menu ul li .front {
display: block;
position: relative;
padding: 12px 42px;
color: white;
background: hsl(188, 88%, 29%);
will-change: transform;
transform: translateY(-4px);
transition: transform 600ms cubic-bezier(0.3, 0.7, 0.4, 1);
}
section#mid #timers #timers-menu ul li .pushable:hover {
filter: brightness(110%);
}
section#mid #timers #timers-menu ul li .pushable:hover .front {
transform: translateY(-6px);
transition: transform 250ms cubic-bezier(0.3, 0.7, 0.4, 1.5);
}
section#mid #timers #timers-menu ul li .pushable:active .front {
transform: translateY(-2px);
transition: transform 34ms;
}
section#mid #timers #timers-menu ul li .pushable:hover .shadow {
transform: translateY(4px);
transition: transform 250ms cubic-bezier(0.3, 0.7, 0.4, 1.5);
}
section#mid #timers #timers-menu ul li .pushable:active .shadow {
transform: translateY(1px);
transition: transform 34ms;
}
section#mid #timers #timers-menu ul li .pushable:focus:not(:focus-visible) {
outline: none;
}
section#mid #timers #timers-menu ul li .pushable-f .front,
section#mid #timers #timers-menu ul li .pushable-f .edge,
section#mid #timers #timers-menu ul li .pushable-f .shadow {
border-top-left-radius: 13px;
border-bottom-left-radius: 13px;
}
section#mid #timers #timers-menu ul li .pushable-f .edge {
background: linear-gradient(to left, hsl(235, 84%, 26%) 0%, hsl(235, 84%, 26%) 8%, hsl(235, 84%, 26%) 92%, hsl(193, 100%, 30%) 100%);
}
section#mid #timers #timers-menu ul li .pushable-l .front,
section#mid #timers #timers-menu ul li .pushable-l .edge,
section#mid #timers #timers-menu ul li .pushable-l .shadow {
border-top-right-radius: 13px;
border-bottom-right-radius: 13px;
}
section#mid #timers #timers-menu ul li .pushable-l .edge {
background: linear-gradient(to left, hsl(193, 100%, 30%) 0%, hsl(235, 84%, 26%) 8%, hsl(235, 84%, 26%) 92%, hsl(235, 84%, 26%) 100%);
}
section#mid #timers #timers-menu ul li .front {
font-size: medium;
font-weight: 500;
}
section#mid #timers #stopwatch {
display: none;
flex-direction: column;
}
section#mid #timers #stopwatch .timer {
font-size: 150px;
display: flex;
align-self: center;
}
section#mid #timers #stopwatch .timer .min,
section#mid #timers #stopwatch .timer .sec,
section#mid #timers #stopwatch .timer .msec {
width: 12vw;
}
section#mid #timers #timer {
display: none;
flex-direction: column;
}
section#mid #timers #timer .timer {
font-size: xx-large;
}
section#mid #yemek-listesi {
display: none;
flex-direction: column;
}
section#mid #animations {
display: none;
flex-direction: column;
}
section#bottom {
margin-top: auto;
}
section#bottom #rainbow {
width: 100%;
height: 20px;
animation: rain 4.72s ease infinite;
}
.kronometre {
text-align: center;
margin: auto;
font-size: 50px;
}
/*# sourceMappingURL=main.css.map */

View file

@ -1 +0,0 @@
{"version":3,"sourceRoot":"","sources":["../scss/main.scss","../scss/_animation.scss","../scss/_button.scss"],"names":[],"mappings":";AAAA;ACAA;AAEA;EACE;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;;ADZJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;;;AAMA;EACE;EACA;EACA;EAEA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAEA;EACE;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;;AAWZ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGE;EACE;EACA;EACA;;AAEA;EAEE;EACA;;AEnKV;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA,YACE;;AAGJ;EACE;EACA;EACA;EACA;EACA;EAEA;;AAOF;EACE;EACA;EACA;EAGA;EACA;EACA;EACA;EACA,YACE;;AAGJ;EACE;;AAGF;EACE;EACA,YACE;;AAGJ;EACE;EACA;;AAGF;EACE;EACA,YACE;;AAGJ;EACE;EACA;;AAGF;EACE;;AAKA;AAAA;AAAA;EAGE;EACA;;AAGF;EACE;;AAUF;AAAA;AAAA;EAIE;EACA;;AAGF;EACE;;AFwDM;EACE;EACA;;AAOR;EACE;EACA;;AAEA;EACE;EACA;EACA;;AAEA;AAAA;AAAA;EAGE;;AAKN;EACE;EACA;;AAEA;EACE;;AAMN;EACE;EACA;;AAGF;EACE;EACA;;AAMJ;EACE;;AAEA;EACE;EACA;EACA;;;AAKN;EACE;EACA;EACA","file":"main.css"}

View file

@ -1,10 +0,0 @@
.timer-action-button {
color: white;
background-color: #097a8b;
border-radius: 10px;
padding: 10px;
margin: 10px;
border-bottom-color: #0b147a;
border-right-color: #0b147a;
border-style: ridge;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 553 B

View file

@ -1,2 +0,0 @@
// 2023 © Aliberk Sandıı
// Temporary Development File

View file

@ -1,120 +0,0 @@
// 2023 © Aliberk Sandıı
// Initialize Variables / Arrays / Maps and first functions
// Import after utils, updates, and mid js files!
// CONSTANT VARIABLES
const allButtons = [
"timers-button",
"yemekhane-button",
"ders-programi",
"animation-button",
"settings-button",
"stopwatch-button",
"timer-button"
];
const allCheckboxes = [
"chx-clockSecond",
"chx-timerMsec",
"chx-devVersion",
"chx-yksTimer",
"chx-fullscreenClock",
"chx-hideHeader",
];
const midItems = ["timers", "yemek-listesi", "animations", "ders-programi"];
const timersItems = ["stopwatch", "timer"];
const schoolPeriods = {
["lessonStarts"]: ["08-40", "09-30", "10-20", "11-10", "12-00", "13-30", "14-20", "15-10"],
["lessonEnds"]: ["09-20", "10-10", "11-00", "11-50", "12-40", "14-10", "15-00", "15-50"],
};
// VARIABLES
var specialPeriods = {
["launchStart"]: "12-40",
["schoolEnds"]: "15-50",
};
var localSettings = {
["local-grade"]: "Sınıf",
["local-class"]: "Şube",
}
var curVals = [
"clockSecond",
"timerMsec",
"devVersion",
"yksTimer",
"fullscreenClock",
"hideHeader",
]
var curSeconds;
var curMin;
var curHour;
const confs = new Map();
FirstInitialization();
var t = setInterval(DEVupdateSettings, 100);
var t2 = setInterval(updateComponents, 100);
function FirstInitialization() {
getVariablesToConfig();
getFormInputs();
getURLSettings();
updateFormInputs();
// Update Beginning Components
console.log(confs.get("local-grade"));
setToID("grade", confs.get("local-grade"), "Sınıf");
setToID("class", confs.get("local-class"), "Şube");
updateComponents();
}
function getVariablesToConfig() {
addObjectToConfig(localSettings, 1);
}
function getFormInputs() {
allCheckboxes.forEach(element => {
let chx = document.getElementById(element);
if (chx.checked) {
confs.set(element.slice(4), "1");
} else {
confs.set(element.slice(4), "0");
}
});
}
function getURLSettings() {
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
addArrayToConfig(allCheckboxes, urlParams);
addArrayToConfig(curVals, urlParams);
addObjectToConfig(localSettings, urlParams);
addObjectToConfig(specialPeriods, urlParams);
}
/**
* Update form inputs with local variables and user changed options
*/
function updateFormInputs() {
confs.forEach((val, key) => {
if (allCheckboxes.includes("chx-" + key)) {
if (val == "0") {
document.getElementById("chx-" + key).checked = false;
} else {
document.getElementById("chx-" + key).checked = true;
}
}
});
}

View file

@ -1,139 +0,0 @@
// 2023 Aliberk Sandıı
// VARIABLES
var FlagSecond = 0;
var FlagSettings = 0;
var FlagTimers = 1;
var MidItems = ["timers", "stopwatch", "timer", "yemek-listesi", "animations"]
// RUN FUNCTIONS ON START
updateTime();
if (FlagSettings) { toggleSettings() }
if (FlagTimers) { toggleTimers() }
// RUN FUNCTIONS PERIODICALLY
var t = setInterval(updateTime, 1000);
//
// MAIN FUNCTIONS
//
function updateTime() {
var d = new Date();
var curHour = getDigits(d.getHours(), 2);
var curMin = getDigits(d.getMinutes(), 2);
var curSeconds = getDigits(d.getSeconds(), 2);
if (FlagSecond) {
document.getElementById("time").innerHTML = curHour + "." + curMin + "." + curSeconds;
} else {
document.getElementById("time").innerHTML = curHour + "." + curMin;
}
if (curHour == 12 && (curMin >= 24 && curMin <= 30)) {
document.getElementById("time").style.color = "red";
document.getElementById("rainbow").style.display = "inherit";
} else {
document.getElementById("time").style.color = "inherit";
document.getElementById("rainbow").style.display = "none";
}
}
function toggleClockSeconds() {
let chx = document.getElementById("chx-clockSecond");
if (chx.checked) {
FlagSecond = 1;
} else {
FlagSecond = 0;
}
updateTime();
}
function toggleDevVersion() {
let chx = document.getElementById("chx-devVersion");
if (chx.checked) {
window.location.replace("dev.html" + window.location.search);
} else {
window.location.replace("index.html" + window.location.search);
}
}
function toggleSettings() {
let settings = document.getElementById("settings");
console.log(settings.style.display);
if (settings.style.display == "flex") {
settings.style.display = "none";
} else {
settings.style.display = "flex";
}
}
function toggleTimers(typ = "display") {
switch (typ) {
case "stopwatch":
hideMidAll("stopwatch", "timers");
toggleItem("id", "stopwatch");
break;
case "timer":
hideMidAll("timer", "timers");
toggleItem("id", "timer");
break;
default: // "display"
hideMidAll("timers");
toggleItem("id", "timers");
break;
}
}
function toggleYemekListesi() {
hideMidAll("yemek-listesi");
toggleItem("id", "yemek-listesi");
}
function toggleAnimations() {
hideMidAll("animations");
toggleItem("id", "animations");
}
// -----------------------------------------
// UTILITIES
//
function getDigits(str, num) {
return ("0" + str).slice(-num);
}
/**
*
* @param {...any} except
*/
function hideMidAll(...except) {
MidItems.forEach(element => {
if (!except.includes(element)) {
document.getElementById(element).style.display = "none";
}
});
}
/** type: id, class
*
* name: id or class name
*/
function toggleItem(type, name) {
switch (type) {
case "id":
let item = document.getElementById(name);
if (item.style.display == "flex") {
item.style.display = "none";
} else {
item.style.display = "flex";
}
break;
default:
console.error("no toggle item except ids!");
break;
}
}

View file

@ -1,108 +0,0 @@
var curAction = "wait";
var previousAction = "wait"
var startTime = new Date();
var curTime = new Date();
var timeMS = 0;
var FlagMilisecond = 1;
var timer = document.getElementById("stopwatch").getElementsByClassName("timer")[0];
tick();
// NOT OPTIMIZED, place in start switch
var t = setInterval(tick, 10);
const sleep = ms => new Promise(r => setTimeout(r, ms));
async function Stopwatch(action) {
switch (action) {
case "start":
console.log("start function started");
if (previousAction == "start") { break; }
startTime = new Date();
curAction = "increase";
tick();
previousAction = "start";
document.getElementById("start-cro").style.color = "greenyellow";
document.getElementById("start-cro").style.borderTopColor = "greenyellow";
document.getElementById("start-cro").style.borderLeftColor = "greenyellow";
await sleep(200);
document.getElementById("start-cro").style.color = "grey";
document.getElementById("start-cro").style.borderTopColor = "grey";
document.getElementById("start-cro").style.borderLeftColor = "grey";
break;
case "stop":
curAction = "stop";
tick();
previousAction = "stop";
document.getElementById("stop-cro").style.color = "red";
document.getElementById("stop-cro").style.borderTopColor = "red";
document.getElementById("stop-cro").style.borderLeftColor = "red";
await sleep(200);
document.getElementById("stop-cro").style.color = "white";
document.getElementById("stop-cro").style.borderTopColor = "white";
document.getElementById("stop-cro").style.borderLeftColor = "white";
document.getElementById("start-cro").style.color = "white";
document.getElementById("start-cro").style.borderTopColor = "white";
document.getElementById("start-cro").style.borderLeftColor = "white";
break;
default:
// console.error("no action (old script)");
break;
}
}
function updateMsec() {
timer.getElementsByClassName("msec")[0].innerHTML = getDigits(Math.floor((timeMS / 10) % 100), 2);
}
function updateSec() {
timer.getElementsByClassName("sec")[0].innerHTML = getDigits(Math.floor((timeMS / 1000) % 60), 2);
}
function updateMin() {
timer.getElementsByClassName("min")[0].innerHTML = getDigits(Math.floor((timeMS / 1000 / 60) << 0), 2);
}
function getDigits(str, num) {
return ("0" + str).slice(-num);
}
function tick() {
switch (curAction) {
case "increase":
curTime = new Date();
timeMS = (curTime.getTime() - startTime.getTime());
if (FlagMilisecond) {
updateMsec();
}
updateSec();
updateMin();
break;
case "stop":
timer.getElementsByClassName("min")[0].innerHTML = "00";
timer.getElementsByClassName("sec")[0].innerHTML = "00";
timer.getElementsByClassName("msec")[0].innerHTML = "00";
curAction = "wait";
previousAction = "stop"
break;
default:
// console.error("no action (old script)");
break;
}
}
function toggleTimerMsec() {
let chx = document.getElementById("chx-timerMsec");
if (chx.checked) {
FlagMilisecond = 1;
timer.getElementsByClassName("msec")[0].style.display = "flex";
document.getElementById("stopwatch-msec-dot").style.display = "flex";
} else {
FlagMilisecond = 0;
timer.getElementsByClassName("msec")[0].style.display = "none";
document.getElementById("stopwatch-msec-dot").style.display = "none";
}
tick();
}

View file

@ -1,81 +0,0 @@
// OLD TIMER SCRIPT !!!
var curAction = "wait";
var previousAction = "wait"
var startTime = new Date();
var curTime = new Date();
var timeMS = 0;
var FlagMilisecond = 1;
var timer = document.getElementById("stopwatch").getElementsByClassName("timer")[0];
tick();
// NOT OPTIMIZED, place in start switch
var t = setInterval(tick, 10);
function Stopwatch(action) {
switch (action) {
case "start":
console.log("start function started");
if (previousAction == "start") { break; }
startTime = new Date();
curAction = "increase";
tick();
previousAction = "start";
break;
case "stop":
curAction = "stop";
tick();
previousAction = "stop";
break;
default:
console.warn("Stopwatch() is working, possible unoptimized, WIP!");
break;
}
}
function updateMsec() {
timer.getElementsByClassName("msec")[0].innerHTML = getDigits(Math.floor((timeMS / 10) % 100), 2);
}
function updateSec() {
timer.getElementsByClassName("sec")[0].innerHTML = getDigits(Math.floor((timeMS / 1000) % 60), 2);
}
function updateMin() {
timer.getElementsByClassName("min")[0].innerHTML = getDigits(Math.floor((timeMS / 1000 / 60) << 0), 2);
}
// no need, already in utils.js
// function getDigits(str, num) {
// return ("0" + str).slice(-num);
// }
function tick() {
switch (curAction) {
case "increase":
curTime = new Date();
timeMS = (curTime.getTime() - startTime.getTime());
if (confs.get('timerMsec') == "1") {
updateMsec();
}
updateSec();
updateMin();
break;
case "stop":
timer.getElementsByClassName("min")[0].innerHTML = "00";
timer.getElementsByClassName("sec")[0].innerHTML = "00";
timer.getElementsByClassName("msec")[0].innerHTML = "00";
curAction = "wait";
previousAction = "stop"
break;
default:
console.warn("tick() is working, possible unoptimized, WIP!");
break;
}
}

View file

@ -1,47 +0,0 @@
/**
* Update components with conf variables each second
*/
function updateComponents() {
setToID("time", updateTime());
if (curHour == 12 && (curMin >= 24 && curMin <= 30)) {
document.getElementById("time").style.color = "red";
document.getElementById("rainbow").style.display = "inherit";
} else {
document.getElementById("time").style.color = "inherit";
document.getElementById("rainbow").style.display = "none";
}
let timer = document.getElementById("stopwatch").getElementsByClassName("timer")[0];
if (confs.get("timerMsec") == 1) {
timer.getElementsByClassName("msec")[0].style.display = "flex";
document.getElementById("stopwatch-msec-dot").style.display = "flex";
} else {
timer.getElementsByClassName("msec")[0].style.display = "none";
document.getElementById("stopwatch-msec-dot").style.display = "none";
}
}
function updateTime() {
var d = new Date();
curHour = getDigits(d.getHours(), 2);
curMin = getDigits(d.getMinutes(), 2);
curSeconds = getDigits(d.getSeconds(), 2);
if (confs.get("clockSecond") == "1") {
return curHour + "." + curMin + "." + curSeconds;
} else {
return curHour + "." + curMin;
}
}
function DEVupdateSettings() {
let devData =
"<b>confs:</b> " + JSON.stringify(confs, (key, value) => (value instanceof Map ? [...value] : value)) + "<br>" +
"<b>schoolPeriods:</b> " + JSON.stringify(schoolPeriods, (key, value) => (value instanceof Map ? [...value] : value)) + "<br>" +
"<b>specialPeriods:</b> " + JSON.stringify(specialPeriods, (key, value) => (value instanceof Map ? [...value] : value)) + "<br>" +
"<b>info:</b> " + navigator.userAgent + "<br>" +
"<b>local-settings:</b>" + (urlParams = new URLSearchParams(window.location.search)) + "<br>";
document.getElementById("DEV").innerHTML = devData;
}

View file

@ -1,130 +0,0 @@
function getDigits(str, num) {
return ("0" + str).slice(-num);
}
/**
*
* @param {Object} obj
* @param {URLSearchParams} params
*/
function addObjectToConfig(obj, params) {
Object.entries(obj).forEach(element => {
const [key, value] = element;
if (params == 1) {
confs.set(key, value);
}
else if (params.has(key)) {
confs.set(key, params.get(key));
}
});
}
/**
*
* @param {Array} arr
* @param {URLSearchParams} params
*/
function addArrayToConfig(arr, params) {
arr.forEach(element => {
if (params.has(element)) {
confs.set(element, params.get(element));
}
});
}
/**
*
* @param {string} id id to be updated
* @param {string} config config to update with
* @param {any} type type
*/
function setToID(id, config, type = 0) {
let obj = document.getElementById(id)
if (obj.innerHTML != config && type == 0) {
document.getElementById(id).innerHTML = config;
} else if (typeof type === 'string') {
if (config == type) {
document.getElementById(id).innerHTML = "<span style='color:red;'>" + config + "</span>";
} else if (config != type) {
document.getElementById(id).innerHTML = config;
}
}
}
/**
* Hides all elements with matching id in a list
* @param {Array} elements element ids to hide
* @param {...any} except hide elements except these
*/
function hideAllExcept(elements, ...except) {
elements.forEach(element => {
if (!except.includes(element)) {
document.getElementById(element).style.display = "none";
}
});
}
/**
* @param {String} type id or class for getting elements to toggle
* @param {String} name id or class name
* @param {String} display display type, defaults to flex
*/
function toggleItemDisplay(type, name = "no", display = "flex") {
switch (type) {
case "auto":
if (name == "no") {
// console.log(1, event.srcElement.id); // DEPRECATED !
console.alert('dont use type auto for item display! WIP')
// get id with button/checkbox name! and auto detect
}
break;
case "id":
let item = document.getElementById(name);
if (item.style.display == display) {
item.style.display = "none";
} else {
item.style.display = display;
}
if (midItems.includes(name)) {
hideAllExcept(midItems, name);
} else if (timersItems.includes(name)) {
hideAllExcept(timersItems, name);
}
break;
default:
console.error("no toggle item except ids!");
break;
}
}
function toggleConf(type, name = "no") {
switch (type) {
case "auto":
// AUTO DETECT type, id etc.
alert("dont use auto for toggleConf");
break;
case "id-chx":
if (name != "no") {
let chx = document.getElementById("chx-" + name);
if (chx.checked) {
confs.set(name, 1);
} else {
confs.set(name, 0);
}
}
break;
default:
console.error("unvalid type");
break;
}
}
function toggleDevVersion() {
let chx = document.getElementById("chx-devVersion");
if (chx.checked) {
window.location.replace("dev.html" + window.location.search);
} else {
window.location.replace("index.html" + window.location.search);
}
}

View file

@ -1,19 +0,0 @@
/* 2023 Aliberk Sandıı*/
@keyframes rain {
0% {
background-color: white;
}
25% {
background-color: red;
}
50% {
background-color: green;
}
100% {
background-color: yellow;
}
}

View file

@ -1,122 +0,0 @@
// CREDIT: https://www.joshwcomeau.com/animation/3d-button/
@mixin button-effect {
.pushable {
position: relative;
border: none;
background: transparent;
padding: 0;
cursor: pointer;
outline-offset: 4px;
transition: filter 250ms;
}
.shadow {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
// border-radius: 12px;
background: hsl(0deg 0% 0% / 0.25);
will-change: transform;
transform: translateY(2px);
transition:
transform 600ms cubic-bezier(.3, .7, .4, 1);
}
.edge {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
// border-radius: 12px;
background: linear-gradient(to left,
hsl(235, 84%, 26%) 0%,
hsl(235, 84%, 26%) 8%,
hsl(235, 84%, 26%) 92%,
hsl(235, 84%, 26%) 100%);
}
.front {
display: block;
position: relative;
padding: 12px 42px;
// border-radius: 12px;
// font-size: 1.25rem;
color: white;
background: hsl(188, 88%, 29%);
will-change: transform;
transform: translateY(-4px);
transition:
transform 600ms cubic-bezier(.3, .7, .4, 1);
}
.pushable:hover {
filter: brightness(110%);
}
.pushable:hover .front {
transform: translateY(-6px);
transition:
transform 250ms cubic-bezier(.3, .7, .4, 1.5);
}
.pushable:active .front {
transform: translateY(-2px);
transition: transform 34ms;
}
.pushable:hover .shadow {
transform: translateY(4px);
transition:
transform 250ms cubic-bezier(.3, .7, .4, 1.5);
}
.pushable:active .shadow {
transform: translateY(1px);
transition: transform 34ms;
}
.pushable:focus:not(:focus-visible) {
outline: none;
}
.pushable-f {
.front,
.edge,
.shadow {
border-top-left-radius: 13px;
border-bottom-left-radius: 13px;
}
.edge {
background: linear-gradient(to left,
hsl(235, 84%, 26%) 0%,
hsl(235, 84%, 26%) 8%,
hsl(235, 84%, 26%) 92%,
hsl(193, 100%, 30%) 100%);
}
}
.pushable-l {
.front,
.edge,
.shadow {
border-top-right-radius: 13px;
border-bottom-right-radius: 13px;
}
.edge {
background: linear-gradient(to left,
hsl(193, 100%, 30%) 0%,
hsl(235, 84%, 26%) 8%,
hsl(235, 84%, 26%) 92%,
hsl(235, 84%, 26%) 100%);
}
}
}

View file

@ -1,22 +0,0 @@
/* 2023 Aliberk Sandıı*/
#ders-programi {
display: none;
flex-direction: column;
padding: 0px 100px;
padding-top: 10px;
img {
max-width: 1309px;
max-height: 601px;
aspect-ratio: 1309/601;
}
}
.min,
.sec,
.msec {
display:flex;
width: 7vw;
justify-content: center;
}

View file

@ -1,236 +0,0 @@
/* 2023 Aliberk Sandıı*/
@use "button" as b;
@use "animation" as a;
* {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
cursor: default;
}
body,
html {
display: flex;
flex-direction: column;
margin: 0px;
height: 100%;
width: 100%;
background-color: black;
color: aliceblue;
font-family: "Montserrat", Arial, Helvetica, sans-serif;
}
section {
// SECTION TOP
&#top {
display: flex;
justify-content: space-around;
user-select: none;
width: 100%;
height: 100px;
.class {
margin: 5px;
min-width: 20vw;
margin-right: auto;
font-weight: 800;
font-style: oblique;
}
.clock {
display: flex;
#time {
display: flex;
//UNNECESSARY LINES?
align-items: center;
align-self: center;
align-content: center;
justify-items: center;
justify-self: center;
justify-content: center;
font-size: 80px;
}
}
.settings-box {
min-width: 20vw;
margin-left: auto;
text-align: right;
button {
height: 30px;
width: 30px;
line-height: 20px;
}
#settings {
display: none;
flex-direction: column;
align-items: end;
font-size: small;
margin-top: 5px;
form {
display: flex;
flex-direction: column;
position: relative;
background-color: grey;
.cell {
float: left;
display: flex;
flex-direction: row;
margin-bottom: 1vh;
input[type="checkbox"] {
//UNNECESSARY LINES?
appearance: none;
background-color: #fff;
margin: 0;
width: 1.15em;
height: 1.15em;
border: 0.15em solid darkslateblue;
border-radius: 0.15em;
transform: translateY(-0.075em);
display: grid;
place-content: center;
outline: 0px solid white;
outline-offset: 0px;
&::before {
//UNNECESSARY LINES?
content: "";
width: 0.65em;
height: 0.65em;
transform: scale(0);
transition: 120ms transform ease-in-out;
box-shadow: inset 1em 1em green;
transform-origin: bottom left;
clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}
&:checked::before {
transform: scale(1);
}
&:focus {
outline: max(2px, 0.15em) solid white;
outline-offset: max(2px, 0.15em);
}
}
label {
padding-left: 5px;
display: block;
text-align: left;
align-self: center;
}
}
}
}
}
}
// SECTION MID
&#mid {
display: flex;
flex-direction: column;
text-align: center;
user-select: none;
#timers {
display: none;
flex-direction: column;
#timers-menu {
ul {
display: flex;
justify-content: center;
padding: 0;
li {
// padding: 1px;
list-style-type: none;
box-sizing: border-box;
@include b.button-effect;
.front {
font-size: medium;
font-weight: 500;
}
}
}
}
#stopwatch {
display: none;
flex-direction: column;
.timer {
font-size: 150px;
display: flex;
align-self: center;
.min,
.sec,
.msec {
width: 12vw;
}
}
}
#timer {
display: none;
flex-direction: column;
.timer {
font-size: xx-large;
}
}
}
#yemek-listesi {
display: none;
flex-direction: column;
}
#animations {
display: none;
flex-direction: column;
}
}
// SECTION BOTTOM
&#bottom {
margin-top: auto;
#rainbow {
width: 100%;
height: 20px;
animation: rain 4.72s ease infinite;
}
}
}
.kronometre {
text-align: center;
margin: auto;
font-size: 50px;
}

View file

@ -1,208 +0,0 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="tr">
<head>
<!--!Copyright © 2023 Aliberk Sandıı -->
<!--!Copyright © 2023 iflpanel Developers -->
<meta charset="UTF-8">
<!-- Meta Content -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="iflpanel Akıllı Tahta Arkaplan Sayfası">
<meta name="keywords" content="iflpanel,akıllı tahta,arkaplan,tahta,board">
<meta name="author" content="Aliberk Sandıı">
<!-- CSS Files -->
<link rel="stylesheet" type="text/css" href="./assets/css/main.css">
<link rel="stylesheet" type="text/css" href="./assets/css/dev.css">
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//stats.aliberksandikci.com.tr/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '3']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<title>DEV VERSION | iflpanel Tahta</title>
</head>
<body>
<!-- MAIN AREA -->
<section id="top">
<div class="class">
<span id="grade">Sınıf</span>
<span id="class">Şube</span>
<!-- DEV -->
<!-- DEV --> <span style="font-size: xx-small; line-height: 1px; color:red">(DEV VERSION)</span>
<!-- DEV -->
</div>
<div class="clock">
<h1 id="time">12.00</h1>
</div>
<div class="settings-box">
<form>
<button id="timers-button" type="button" onmouseover="toggleItemDisplay('id', 'timers')"
onclick="toggleItemDisplay('id', 'timers')">⏱</button>
<button id="yemekhane-button" type="button" onmouseover="toggleItemDisplay('id', 'yemek-listesi')"
onclick="toggleItemDisplay('id', 'yemek-listesi')">🍔</button>
<button id="ders-programi-buton" type="button" onmouseover="toggleItemDisplay('id', 'ders-programi')"
onclick="toggleItemDisplay('id', 'ders-programi')">📑</button>
<button id="animation-button" type="button" onmouseover="toggleItemDisplay('id', 'animations')"
onclick="toggleItemDisplay('id', 'animations')">🕹️</button>
<button id="settings-button" type="button" onmouseover="toggleItemDisplay('id', 'settings')"
onclick="toggleItemDisplay('id', 'settings')">⚙</button>
</form>
<div id="settings">
<form>
<div class="cell">
<input type="checkbox" id="chx-clockSecond" onchange="toggleConf('id-chx','clockSecond')" checked>
<label for="chx-clockSecond">Saniye</label>
</div>
<div class="cell">
<input type="checkbox" id="chx-timerMsec" onchange="toggleConf('id-chx','timerMsec')" checked>
<label for="chx-timerMsec">Sayaçlarda Milisaniye</label>
</div>
<div class="cell">
<!-- onchange="toggleOther('devVersion')" -->
<input type="checkbox" id="chx-devVersion" onchange="toggleDevVersion()" checked>
<label for="chx-devVersion" style="font-size: x-small;">Geliştirici Sürümü, <br>local-settings move!</label>
</div>
<div class="cell">
<input type="checkbox" id="chx-yksTimer" onchange="toggleConf('id-chx','yksTimer')">
<label for="chx-yksTimer">YKS Sayacı</label>
</div>
<div class="cell">
<input type="checkbox" id="chx-fullscreenClock" onchange="toggleConf('id-chx','fullscreenClock')">
<label for="chx-fullscreenClock">Tam Ekran Saat</label>
</div>
<div class="cell">
<input type="checkbox" id="chx-hideHeader" onchange="toggleConf('id-chx','hideHeader')">
<label for="chx-hideHeader">Üst Barı Gizle</label>
</div>
<div class="cell">
<input type="checkbox" id="chx-oneventSecond" onchange="toggleConf('id-chx','oneventSecond')">
<label for="chx-oneventSecond" style="font-size: x-small;">Ders Sonu/Başı Saniye Göster, <br>saniye
checkboxını otomatik update et!</label>
</div>
<div class="cell">
<input type="checkbox" id="chx-settingsMaker" onchange="toggleItemDisplay('id-chx','settingsMaker')">
<label for="chx-settingsMaker">Ayar Oluşturucuyu Göster</label>
</div>
<div class="cell">
<input type="checkbox" id="chx-mouse" onchange="toggleConf('id-chx','mouse')">
<label for="chx-mouse">Mouse Integrasyonu</label>
</div>
</form>
</div>
</div>
</section>
<hr style="width: 30%; box-sizing: border-box;">
<!-- INTERACTIVE / FUNCTIONAL AREA -->
<section id="mid">
<div id="timers">
<div id="timers-menu">
<ul>
<li onmouseover="toggleItemDisplay('id', 'stopwatch')" onclick="toggleItemDisplay('id', 'stopwatch')">
<button id="stopwatch-button" class="pushable pushable-f">
<span class="shadow"></span>
<span class="edge"></span>
<span class="front">
Kronometre
</span>
</button>
</li>
<li id="timer-button" onmouseover="toggleItemDisplay('id', 'timer')"
onclick="toggleItemDisplay('id', 'timer')">
<button class="pushable pushable-l">
<span class="shadow"></span>
<span class="edge"></span>
<span class="front">
Zamanlayıcı
</span>
</button>
</li>
</ul>
</div>
<div id="stopwatch">
<div class="timer">
<div class="min">
00
</div>
.
<div class="sec">
00
</div>
<span id="stopwatch-msec-dot">.</span>
<div class="msec">
00
</div>
</div>
<form>
<input type="button" id="start-cro" name="start-cro" value="Başlat" onmouseover="Stopwatch('start')"
onclick="Stopwatch('start')" checked>
<input type="button" id="stop-cro" name="stop-cro" value="Durdur ve Sıfırla" onmouseover="Stopwatch('stop')"
onclick="Stopwatch('stop')" checked>
</form>
</div>
<div id="timer">
<div class="timer">
00.00.00
</div>
<p>yapım aşamasında: geriye doğru sayma özelliği</p>
</div>
</div>
<div id="yemek-listesi">
<iframe src="https://ifl.meb.k12.tr/meb_iys_dosyalar/35/06/164785/dosyalar/2023_09/26212122_EKIM_YemekListesi.pdf"
width="90%" height="800px" style="align-self:center;"></iframe>
yapım aşamasında: yemekhane listesi eklenecek
</div>
<div id="ders-programi">
<img src="image.png">
</div>
<div id="animations">
yapım aşamasında: animasyonlar / oyunlar eklenecek
</div>
</section>
<!-- NON-INTERACTIVE DECORATION AREA -->
<section id="bottom">
<hr>
<div id="DEV" style="font-size: x-small;"></div>
<div id="rainbow"></div>
</section>
<script src="./assets/js/utils.js"></script>
<script src="./assets/js/updates.js"></script>
<script src="./assets/js/mid.js"></script>
<script src="./assets/js/initialize.js"></script>
<script src="./assets/js/timers.js"></script>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 KiB

View file

@ -1,141 +1,9 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="tr">
<head>
<!--!Copyright © 2023 Aliberk Sandıı -->
<!--!Copyright © 2023 iflpanel Developers -->
<meta charset="UTF-8" />
<!-- Meta Content -->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="iflpanel Akıllı Tahta Arkaplan Sayfası" />
<meta name="keywords" content="iflpanel,akıllı tahta,arkaplan,tahta,board" />
<meta name="author" content="Aliberk Sandıı" />
<!-- CSS Files -->
<link rel="stylesheet" type="text/css" href="./assets/css/main.css" />
<link rel="stylesheet" type="text/css" href="./assets/css/not_scss.css" />
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//stats.aliberksandikci.com.tr/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '3']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<title>iflpanel Tahta</title>
</head>
<body>
<!-- MAIN AREA -->
<section id="top">
<div class="class">
<span class="grade">12</span>
<span class="branch">C</span>
<br>
<img src="assets/images/bagis-qr.png" width="50" style="margin-top: 20px;">
</div>
<div class="clock">
<h1 id="time">12.00</h1>
</div>
<div class="settings-box">
<form>
<button id="timers-button" type="button" onmouseover="toggleTimers()" onclick="toggleTimers()"></button>
<button id="settings-button" type="button" onmouseover="toggleSettings()" onclick="toggleSettings()"></button>
</form>
<div id="settings">
<form>
<div class="cell">
<input type="checkbox" id="chx-clockSecond" onchange="toggleClockSeconds()" />
<label for="chx-clockSecond">Saniye</label>
</div>
<div class="cell">
<input type="checkbox" id="chx-timerMsec" onchange="toggleTimerMsec()" checked />
<label for="chx-timerMsec">Sayaçlarda Milisaniye</label>
</div>
<div class="cell">
<input type="checkbox" id="chx-devVersion" onchange="toggleDevVersion()">
<label for="chx-devVersion">Geliştirici Sürümü</label>
</div>
</form>
</div>
</div>
</section>
<hr style="width: 100%; box-sizing: border-box;">
<!-- INTERACTIVE / FUNCTIONAL AREA -->
<section id="mid">
<div id="timers">
<div id="timers-menu">
<ul>
<li onmouseover="toggleTimers('stopwatch')" onclick="toggleTimers('stopwatch')">
<button class="pushable pushable-f pushable-l">
<span class="shadow"></span>
<span class="edge"></span>
<span class="front">
Kronometre
</span>
</button>
</li>
</ul>
</div>
<div id="stopwatch">
<div class="timer">
<div class="min">
00
</div>
.
<div class="sec">
00
</div>
<span id="stopwatch-msec-dot">.</span>
<div class="msec">
00
</div>
</div>
<form>
<input class="timer-action-button" type="button" id="start-cro" name="start-cro" value="▶️ Başlat" onmouseover="Stopwatch('start')"
onclick="Stopwatch('start')" checked>
<input class="timer-action-button" type="button" id="stop-cro" name="stop-cro" value="⏸️ Durdur ve Sıfırla" onmouseover="Stopwatch('stop')"
onclick="Stopwatch('stop')" checked>
</form>
</div>
<div id="timer">
<div class="timer">
00.00.00
</div>
<p>yapım aşamasında: geriye doğru sayma özelliği</p>
</div>
</div>
<div id="yemek-listesi">
yapım aşamasında: yemekhane listesi eklenecek
</div>
<div id="animations">
yapım aşamasında: animasyonlar / oyunlar eklenecek
</div>
</section>
<!-- NON-INTERACTIVE DECORATION AREA -->
<section id="bottom">
<div id="rainbow"></div>
</section>
<script src="./assets/js/old_main.js"></script>
<script src="./assets/js/old_stopwatch.js"></script>
</body>
</html>
<html>
<head>
<meta charset="utf8" />
</head>
<body>
<script>window.location.replace("https://tahta.iflpanel.com");</script>
</body>
</html>

View file

@ -16,7 +16,7 @@ if (!$_SERVER['DOCUMENT_ROOT']) {
?>
<head>
<!--!Copyright © 2023 Aliberk Sandıı-->
<!--!Copyright © 2024 Aliberk Sandıı-->
<meta charset="UTF-8">
<!-- Meta Content -->
@ -34,22 +34,6 @@ if (!$_SERVER['DOCUMENT_ROOT']) {
}
} ?>
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//stats.aliberksandikci.com.tr/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '3']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<title>Aliberk Sandıı</title>
</head>
@ -66,11 +50,11 @@ if (!$_SERVER['DOCUMENT_ROOT']) {
<p>You can learn more about me in <a href="about/">about me</a> page</p>
<p>You can find my all links in the internet with this <a href="link/">link</a></p>
<p>You can see my current works in <a href="now/">now</a> page</p>
<p>Also you can support my works/projects or help me cover my server costs in <a href="bagis/">donation</a> page</p>
<p>Also you can support my works/projects or help me cover my server costs in <a href="bagis/">donations</a> page</p>
</article>
<sup style="text-align:center; color:grey;">WIP for website UI/content</sup>
<footer>
<div class="tmpinfo">2023 &#x1f12f; Aliberk Sandıı</div>
<div class="tmpinfo">2024 &#x1f12f; Aliberk Sandıı</div>
</footer>
<?php

View file

@ -16,7 +16,7 @@ if (!$_SERVER['DOCUMENT_ROOT']) {
?>
<head>
<!--!Copyright © 2023 Aliberk Sandıı-->
<!--!Copyright © 2024 Aliberk Sandıı-->
<meta charset="UTF-8">
<!-- Meta Content -->
@ -34,21 +34,7 @@ if (!$_SERVER['DOCUMENT_ROOT']) {
}
} ?>
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//stats.aliberksandikci.com.tr/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '3']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<title>My Links | Aliberk Sandıı</title>
</head>
@ -98,7 +84,7 @@ if (!$_SERVER['DOCUMENT_ROOT']) {
</div>
<footer>
<div class="tmpinfo">2023 &#x1f12f; Aliberk Sandıı</div>
<div class="tmpinfo">2024 &#x1f12f; Aliberk Sandıı</div>
</footer>
<?php
$dir = new DirectoryIterator($_SERVER['DOCUMENT_ROOT'] . "/assets/js");

View file

@ -16,7 +16,7 @@ if (!$_SERVER['DOCUMENT_ROOT']) {
?>
<head>
<!--!Copyright © 2023 Aliberk Sandıı-->
<!--!Copyright © 2024 Aliberk Sandıı-->
<meta charset="UTF-8">
<!-- Meta Content -->
@ -34,23 +34,9 @@ if (!$_SERVER['DOCUMENT_ROOT']) {
}
} ?>
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//stats.aliberksandikci.com.tr/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '3']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<title>Now | Aliberk Sandıı</title>
<title>Now | Aliberk Sandıı</title>
</head>
<body>
@ -63,15 +49,15 @@ if (!$_SERVER['DOCUMENT_ROOT']) {
<article>
<h1 class="title">What I'm Doing Now</h1>
<ul>
<li>📚 Focusing YKS 🤓</li>
<li>🧬 Working on a BioInformatic Project with my teammate</li>
<li style="font-size:xx-large;">📚 Focusing YKS 🤓</li>
</ul>
</ul>
<p>Last Update: 11 November 2023</p>
<p>Last Update: 1 January 2024</p>
<p style="font-size:small;">Inspired by: <br><a href="https://johanv.net/now/">https://johanv.net/now/</a><br><a href="https://nownownow.com/">https://nownownow.com/</a></p>
</article>
<footer>
<div class="tmpinfo">2023 &#x1f12f; Aliberk Sandıı</div>
<div class="tmpinfo">2024 &#x1f12f; Aliberk Sandıı</div>
</footer>
<?php
$dir = new DirectoryIterator($_SERVER['DOCUMENT_ROOT'] . "/assets/js");

View file

@ -1,28 +1,27 @@
[
{
"todo-active-until": "500",
"todo-active-until": "2000",
"public-todo": [
{
"100": [
"Tahta Arkaplanı - Yeni Tuş Düzeni",
"Tahta Arkaplanı - Ders Programı Menüsü"
"Tahta Arkaplanı - Güvenli Saat ve Kronometre",
"Tahta Arkaplanı - Ders Programı Menüsü (her sınıf için ayrı!)",
"Tahta Arkaplanı - Kronometre ve arayüz için Yeni Tuş Düzeni",
"Tahta Arkaplanı - Kronometre için Dakika/Saat ayrımı"
]
},
{
"200": [
"Tahta Arkaplanı - YKS Sayacı (kapatılıp açılabilir)",
"Tahta Arkaplanı - Tam Ekran Saat",
"Tahta Arkaplanı - Zamanlayıcı"
"Tahta Arkaplanı - Zamanlayıcı (kronometreye ek olarak)",
"Tahta Arkaplanı - YarıOtomatik Güncellenebilir Yemek Listesi",
"Tahta Arkaplanı - Ekstra Kronometre Özellikleri (alarm, tur sayacı, hedef girme, renklendirme) ve Ekstra ayarlar/seçenekler"
]
},
{
"300": [
"Tahta Arkaplanı - Erişilebilirlik Ayarları (Mouse Integrasyonu)",
"Tahta Arkaplanı - Yarı-Otomatik Güncellenebilir Yemek Listesi"
]
},
{
"400": [
"İnternet Erişimi - Erkek Yurdu etütleri için Modem Kurulumu",
"Tahta Arkaplanı - Değiştirilebilir Canvas, Arkaplan/renk değiştirme. Ekstra Özelleştirmeler"
]
},
@ -40,7 +39,9 @@
{
"2000": [
"İFL Kütüphane - Kütüphane'nin geri açılması",
"İFL Galeri - Galeri'nin geri açılması"
"İFL Galeri - Galeri'nin geri açılması",
"İFL'm - Mobil uygulama yapımına başlanması ve fonksiyonel ilk taslak",
"İFL QR - Branş ve TYT/AYT Denemeleri için QR okuyucu"
]
},
{
@ -98,10 +99,10 @@
"İFL HUB (Sistem, Tahta/Bilgisayar/Telefon Uygulaması) - Diğer İFL uygulamalarının birleştirilmiş hâli. Üstün forum özellikleri, soru sorma, kaynak paylaşma, soru yazabilme/çözebilme/paylaşabilme, öğretmenlerin öğrencileri değerlendirebilmeleri/test gönderebilmeleri... (EBA + Sınavza + Pakodemy + Soru Çözüm Uygulamaları + Wikipedia + EÖdev) - (IFL TAHTA, IFLSOR, IFL'm ... uyumlu)"
]
}
],
"personal-todo": [ "BURADA YAZILANLAR KİŞİSEL NOTLARDIR, DİKKATE ALMAYINIZ",
"VPN Troubleshooting açıklamaları", "Auto todos fetch", "Ödeme için QR Code", "Bağışlar için otomatik API?"
"personal-todo": [
"BURADA YAZILANLAR KİŞİSEL NOTLARDIR, DİKKATE ALMAYINIZ",
"Kopyala, Kopyalandı bilgi kutucukları için özelleştirmeler(mobil/mouse)"
]
}
]