Compare commits

..

No commits in common. "main" and "feature/register-form" have entirely different histories.

8 changed files with 73 additions and 290 deletions

View File

@ -1,7 +1,6 @@
<html lang="pl">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="/static/css/main.css">
<link rel="stylesheet" type="text/css" href="static/css/main.css">
<meta charset="utf-8">
<title>~tylda.org~ polskie tildeverse</title>
</head>
@ -13,5 +12,4 @@
<a href="/wiki/">wiki</a>
<a href="/git/">git</a>
<a href="/register.php">dołącz</a>
<a href="/users.php">użytkownicy</a>
</header>

View File

@ -35,9 +35,8 @@ $slogan = $slogans[rand(0, count($slogans) - 1)];
</div>
<article id="content">
<p>Wzorując się na <a href="https://tildeverse.org">tildeverse.org</a> tworzymy polskojęzyczną przestrzeń tilde.</p>
<p><b>tylda.org</b> to wspólny serwer linuksowy dla ludzi, którzy lubią prostotę, wolność i internet z czasów, gdy wszystko było bardziej tekstowe.</p>
<p>Możesz tu prowadzić bloga w Markdownie, tworzyć własne strony WWW, kapsuły gemini, korzystać z maila, czatu IRC i terminala albo po prostu eksplorować i uczyć się Linuksa.</p>
<p>Możesz tu prowadzić bloga w Markdownie, tworzyć własne strony WWW, korzystać z maila, czatu IRC i terminala albo po prostu eksplorować i uczyć się Linuksa.</p>
<p>Nie ma reklam, lajków, followersów jest społeczność, współdzielenie wiedzy i dobre oldschoolowe wibracje.</p>
<p>To miejsce powstało z potrzeby stworzenia własnego „kąta” w internecie minimalistycznego, bezpośredniego, z klimatem dawnych shell accountów.</p>
<p>Jeśli szukasz alternatywy dla współczesnej sieci dobrze trafiłeś.</p>
@ -51,13 +50,11 @@ $slogan = $slogans[rand(0, count($slogans) - 1)];
foreach($recent as $user => $date) {
echo "<a class=\"link\" href=\"/~".$user."/\"><p class=\"user_home\"><span>drwxr-xr-x</span><span>".rand(1,9)."</span><span>".$user."</span><span>".$user."</span><span>".rand(1,19)."</span><span>".date("M d H:i", $date)."</span><span>".$user."</span></p></a>";
}
?>
</article>
<?php
include 'news.php';
include 'footer.php';
?>

View File

@ -1,60 +0,0 @@
<h1>> Niusy </h1>
<article id="content">
<h2> 2025/10/09 </h2>
<p>
<ul>
<li>Założyliśmy instancję <a href="https://cloud.tylda.org">nextcloud</a>. Powoli odzywamy się do środowiska linuxowego i fediverse promując inicjatywę.</li>
<li>Niusy dodane na główną</li>
</ul>
</p>
<h2> 2025/10/08 </h2>
<p>
Nowa strona listująca wszystkich <a href="/users.php">użytkowników</a>.
</p>
<h2> 2025/10/03 </h2>
<p>
Poprawiony interaktywny layout strony. Głównie css @media.
</p>
<h2> 2025/09/30 </h2>
<p>
Formularz rejestracji wymusza podanie klucza SSH.
</p>
<h2> 2025/09/25 </h2>
<p>
<ul>
<li>Podstawowe wsparcie gemini protocol. Używamy serwera satellite</li>
<li>Strona wiki</li>
</ul>
</p>
<h2> 2025/09/20 </h2>
<p>
<ul>
<li>Smoorg dołącza do tyldy jako wolontariusz, developer i admin</li>
<li>Dodany podstawowy formularz rejestracji</li>
</ul>
</p>
<h2> 2025/09/18 </h2>
<p>
v0id1st stworzył podwaliny serwera
<ul>
<li>skrypt dodający użytkowników</li>
<li>konfiguracja irc</li>
<li>podstawowa strona html+php</li>
</ul>
</p>
<h2> 2025/07/22 </h2>
<p>
Początek prac.
</p>
</article>

View File

@ -1,76 +1,37 @@
<?php
include 'header.php';
if($_POST['email'] && $_POST['nick'] && $_POST['pubkey']) {
?>
<article>
Hej
<strong>
<?= htmlspecialchars($_POST['nick']); ?>
</strong>!
<br><br>
Otrzymaliśmy twój formularz rejestracji. Oczekuj na dalsze informacje na swojej skrzynce mailowej. :) Odpowiedź może potrwać kilka dni, w zależności od oczekującej liczby użytkowników.
</article>
<?php
$nick=htmlspecialchars($_POST["nick"]);
$email=htmlspecialchars($_POST["email"]);
$url=htmlspecialchars($_POST["url"]);
$who=htmlspecialchars($_POST["who"]);
$interests=htmlspecialchars($_POST["interests"]);
$pubkey=htmlspecialchars($_POST["pubkey"]);
$to = 'smoorg@tylda.org';
$subject = 'Rejestracja usera ' . "$nick";
$message = "Nick:\t\t$nick\n" .
"Email:\t\t$email\n" .
"Url:\t\t$url\n" .
"SSH:\t\t$pubkey\n" .
"Opowiedz coś na swój temat:\t\t$who\n" .
"Zainteresowania:\t\t$interests\n"
;
$headers = array(
'From' => 'noreply@tylda.org',
'Reply-To' => 'noreply@tylda.org',
'X-Mailer' => 'PHP/' . phpversion()
);
mail($to, $subject, $message, $headers);
} else {
?>
<article>
Poniższy formularz trafi do naszych administratorów, którzy go ocenią. Potraktuj go częściowo jako antyspam. Chcemy sensownych odpowiedzi na poniższe pytania. Posiadanie własnej strony też jest na duży plus.
<form action="register.php" method="POST">
<form action="register_post.php" method="POST">
<div class="form-row">
<label>
Email
<span color=red>*</span>
</label>
<label>Email*</label>
<input name="email" type="email" required>
</div>
<div class="form-row">
<label>
Nick
<span color=red>*</span>
</label>
<label>Nick*</label>
<input name="nick" type="string" min=3 max=20 pattern="[a-zA-Z0-9]+" required>
</div>
<div class="form-row">
<label>
Klucz publiczny (posłuży ci do logowania)
<span color=red>*</span>
</br>
NIE podawaj tu klucza prywatnego!
</label>
<textarea name="pubkey" rows 3 maxlength=200 required></textarea>
</div>
<div class="form-row">
<label>Strona WWW</label>
<input name="url" type="url">
</div>
<div class="form-row">
<label>Jak do nas trafiłeś?</label>
<select name="how" required>
<option selected></option>
<option>komunikator (np. matrix, irc, xmpp)</option>
<option>wyszukiwarka</option>
<option>tildeeverse.org</option>
<option>promocja w internecie</option>
<option>polecenie</option>
<option>inne</option>
</select>
</div>
<div class="form-row">
<label>Zainteresowania</label>
<textarea name="interests" maxlength=1000></textarea>
</div>
<div class="form-row">
<label>Opowiedz coś na swój temat</label>
<textarea name="who" rows=8 maxlength=1000"></textarea>
@ -79,10 +40,3 @@ Poniższy formularz trafi do naszych administratorów, którzy go ocenią. Potra
<button type="submit">Submit</button>
</div>
</form>
</article>
<?php
}
?>

38
register_post.php Normal file
View File

@ -0,0 +1,38 @@
<?php
include 'header.php';
?>
<article>
Hej
<strong>
<?= htmlspecialchars($_POST['nick']); ?>
</strong>!
<br><br>
Otrzymaliśmy twój formularz rejestracji. Oczekuj na dalsze informacje na swojej skrzynce mailowej. :) Odpowiedź może potrwać kilka dni, w zależności od oczekującej liczby użytkowników.
</article>
<?php
$nick=htmlspecialchars($_POST["nick"]);
$email=htmlspecialchars($_POST["email"]);
$url=htmlspecialchars($_POST["url"]);
$who=htmlspecialchars($_POST["who"]);
$how=htmlspecialchars($_POST["how"]);
$interests=htmlspecialchars($_POST["interests"]);
$to = 'smoorg@tylda.org';
$subject = 'Rejestracja usera' . "$nick";
$message = "Nick: $nick\n" .
"Email: $email\n" .
"Url: $url\n" .
"Opowiedz coś na swój temat: $who\n" .
"Jak do nas trafiłeś?: $how\n" .
"Zainteresowania: $interests\n"
;
$headers = array(
'From' => 'noreply@tylda.org',
'Reply-To' => 'noreply@tylda.org',
'X-Mailer' => 'PHP/' . phpversion()
);
mail($to, $subject, $message, $headers);
?>

View File

@ -1,3 +1,9 @@
@media only screen and (max-width: 850px) {
header#menu {
flex-direction: column !important;
}
}
:root {
--main: #dd9a1a;
--bg: #111;
@ -17,24 +23,18 @@ body {
font-family: "Helvetica", "Arial", sans-serif;
}
h1 {
margin-bottom: 1rem;
}
h2, h3, h4, h5, h6 {
margin: 0.5rem 0;
}
div.main-content {
display: flex;
flex-direction: column;
width: 60%;
margin: 0 auto;
padding: 1rem;
}
header#menu {
display: flex;
flex-direction: row;
height: 3rem;
border-width: 5px;
border-color: var(--main);
border-style: double;
@ -72,9 +72,9 @@ article#content {
border-color: var(--main);
border-style: double;
border-radius: 5px;
margin: 2rem 0;
margin-top: 2rem;
padding: 1rem;
gap: .5rem;
gap: 8px;
padding-block: 2rem;
}
@ -104,8 +104,7 @@ footer#footer > *:not(:last-child)::after {
pre.ascii {
margin-bottom: 2rem;
font-size: 1rem;
overflow: auto;
font-size: 15px;
}
.user_home {
@ -117,7 +116,6 @@ pre.ascii {
.form-row {
display: flex;
flex-direction: column;
justify-content: flex-end;
padding: .5em;
}
@ -133,87 +131,12 @@ pre.ascii {
}
.form-row > button:hover {
background: var(--link);
background: var(--main);
}
.form-row > button {
padding: .5em;
background: var(--main);
background: var(--link);
color: white;
border: 0;
padding: 1rem;
}
input, textarea, select {
background: #000;
color: #fff;
border: 1px solid var(--main);
}
ul li {
padding: 0.5rem;
margin-left: 2rem;
}
@media only screen and (min-width: 1200px) {
div.main-content {
width: 60%;
}
}
@media only screen
and (min-width: 576px)
and (max-width: 768px) {
header#menu {
flex-direction: column;
}
.form-row {
flex-direction: row;
}
pre.ascii {
font-size: 0.8rem;
}
}
@media only screen
and (min-width: 768px)
and (max-width: 992px) {
header#menu {
flex-direction: column;
}
.form-row {
flex-direction: row;
}
}
@media only screen
and (min-width: 992px)
and (max-width: 1200px) {
}
@media only screen
and (min-width: 1200px)
and (max-width: 1400px) {
header#menu {
flex-direction: column;
}
.form-row {
flex-direction: row;
}
}
@media only screen and (max-width: 576px) {
header#menu {
flex-direction: column;
margin-bottom: 2rem;
}
article#content {
font-size: 1em;
border: none;
border-color: none;
border-style: none;
border-radius: 0;
padding: 0rem;
}
pre.ascii {
font-size: 0.5rem;
}
}

View File

@ -1,20 +0,0 @@
<?php
include 'header.php';
?>
<h1>> Users </h1>
<article id="content">
Lista użytkowników i linki do ich blogów
<ul>
<?php
$host=htmlspecialchars($_SERVER['SERVER_NAME']);
//$host="";
foreach (scandir("/home/") as $file) {
if (in_array($file, array('.', '..'))) continue;
echo "<li><a href=\"/~$file\">~$file</a></li>";
}
?>
</ul>
</article>

View File

@ -1,47 +0,0 @@
<?php
include '../header.php';
?>
<pre class="ascii">
/$$$$$$$$ /$$ /$$ /$$ /$$ /$$ /$$ /$$
|__ $$__/ | $$ | $$ | $$ /$ | $$|__/| $$ |__/
| $$ /$$ /$$| $$ /$$$$$$$ /$$$$$$ | $$ /$$$| $$ /$$| $$ /$$ /$$
| $$| $$ | $$| $$ /$$__ $$ |____ $$ | $$/$$ $$ $$| $$| $$ /$$/| $$
| $$| $$ | $$| $$| $$ | $$ /$$$$$$$ | $$$$_ $$$$| $$| $$$$$$/ | $$
| $$| $$ | $$| $$| $$ | $$ /$$__ $$ | $$$/ \ $$$| $$| $$_ $$ | $$
| $$| $$$$$$$| $$| $$$$$$$| $$$$$$$ | $$/ \ $$| $$| $$ \ $$| $$
|__/ \____ $$|__/ \_______/ \_______/ |__/ \__/|__/|__/ \__/|__/
/$$ | $$
| $$$$$$/
\______/
</pre>
<i style="margin-bottom: 2rem;"><?php echo $slogan; ?></i>
<div id="top-bar">
<h1>> Wiki</h1>
</div>
<article id="content">
<i>Wiki jest aktualnie w trakcie tworzenia, poniżej znajdziesz najważniejsze informacje, które przydadzą Ci się na starcie ;)</i><br />
<h2>Poruszanie się po systemie</h2>
<p>Po zalogowaniu domyślnie będziesz mieć otwartą sesję TMUX z trzema zakładkami: <b>Mail (neomutt)</b>, <b>IRC (weechat)</b> oraz <b>shell</b> i kilkoma keybindami.</p>
<p>Keybindy, które mogą Ci się tu przydać to:</p>
<ul>
<li><b>F1</b> - przejście do karty pierwszej (mail)</li>
<li><b>F2</b> - przejście do karty drugiej (IRC)</li>
<li><b>F3</b> - przejście do karty trzeciej (shell)</li>
<li><b>F12</b> - zamknięcie sesji TMUX i wylogowanie (domyślnie)</li>
</ul>
<p>Możesz oczywiście dostosować całość do siebie, konfiguracja keybinów jest dostępna w twoim katalogu domowym w pliku <b>.tmux.conf</b></p>
<p>Jeśli chodzi o Weechat (IRC), najważniejsze, co musisz znać to <b>Alt + 1-9</b>, żeby poruszać się po kanałach :)</p><br /><br />
<h2>Usługi publiczne</h2>
<p>Domyślnie dla twojego konta uruchomiona jest strona internetowa na protokole HTTPS pod linkiem: <b>tylda.org/~username</b>. Pliki tejże strony możesz śmiało edytować, usuwać i robić z nimi co chcesz. Strona jest w twoim katalogu domowym pod <i>public_html</i>.</p>
<p>Dodatkowo dla każdego jest również uruchomiona kapsuła gemini dostępna pod linkiem: <b>gemini://tylda.org/~username</b>. Pliki kapsuły dla ciebie dostępne w katalogu domowym pod <i>public_gemini</i>.</p><br /><br />
<h2>Git</h2>
<p>Na ten moment publiczna rejestracja na gitea jest wyłączona, boty się rejestrowały. Natomiast każdemu, kto chce założyć swoje repo lub wspomóc nas przy tworzeniu projektu zachęcam do kontaktu na mail/IRC z <b>v0id1st</b> lub <b>smoorg</b>, założymy bez problemu.</p>
</article>
<?php
include '../footer.php';
?>