gitea init

This commit is contained in:
skryper
2025-10-08 21:28:30 +04:00
commit d4651a423d
2518 changed files with 522832 additions and 0 deletions
+153
View File
@@ -0,0 +1,153 @@
<?php
// Enable error reporting for debugging
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
try {
$config = include __DIR__ . '/../config.php';
if (!$config) {
throw new Exception("კონფიგურაციის ფაილი ვერ ჩაიტვირთა");
}
$conn = new mysqli($config['host'], $config['user'], $config['pass'], $config['dbname']);
if ($conn->connect_error) {
throw new Exception("ბაზასთან კავშირის შეცდომა: " . $conn->connect_error);
}
$conn->set_charset("utf8mb4");
} catch (Exception $e) {
$error = $e->getMessage();
$conn = null;
}
if (isset($conn) && $conn) {
$first_name = trim($_POST['first_name']);
$last_name = trim($_POST['last_name']);
$password = $_POST['password'];
$email = trim($_POST['email']);
// Validation
if (strlen($first_name) < 2) {
$error = "სახელი უნდა იყოს მინიმუმ 2 სიმბოლო";
} elseif (strlen($last_name) < 2) {
$error = "გვარი უნდა იყოს მინიმუმ 2 სიმბოლო";
} elseif (strlen($password) < 6) {
$error = "პაროლი უნდა იყოს მინიმუმ 6 სიმბოლო";
} elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$error = "გთხოვთ შეიყვანოთ სწორი ელ-ფოსტა";
} else {
$hashedPassword = password_hash($password, PASSWORD_DEFAULT);
// არსებული users ცხრილის სტრუქტურა: first_name, last_name, email, password, created_at
$stmt = $conn->prepare("INSERT INTO users (first_name, last_name, email, password, created_at) VALUES (?, ?, ?, ?, NOW())");
if (!$stmt) {
throw new Exception("Statement preparation failed: " . $conn->error);
}
$stmt->bind_param("ssss", $first_name, $last_name, $email, $hashedPassword);
if ($stmt->execute()) {
// განაახლოს config.php ფაილი installed სტატუსით
$currentConfig = include __DIR__ . '/../config.php';
$currentConfig['app']['installed'] = true;
$configContent = "<?php\nreturn " . var_export($currentConfig, true) . ";\n";
file_put_contents(__DIR__ . '/../config.php', $configContent);
file_put_contents(__DIR__ . '/install.lock', "installed on " . date('Y-m-d H:i:s'));
header("Location: finish.php");
exit;
} else {
throw new Exception("მომხმარებლის შექმნის შეცდომა: " . $stmt->error);
}
}
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>ინსტალაცია ნაბიჯი 4</title>
<meta charset="utf-8">
<style>
body { font-family: Arial, sans-serif; max-width: 600px; margin: 50px auto; padding: 20px; }
h2 { color: #333; }
label { display: block; margin-top: 10px; font-weight: bold; }
input { width: 100%; padding: 8px; margin-top: 5px; border: 1px solid #ddd; border-radius: 4px; }
button { background: #28a745; color: white; padding: 10px 20px; border: none; border-radius: 4px; margin-top: 15px; cursor: pointer; }
button:hover { background: #218838; }
.error { color: red; margin-top: 10px; padding: 10px; background: #ffeaea; border: 1px solid #ffcccc; border-radius: 4px; }
.info { background: #e7f3ff; border: 1px solid #b3d9ff; padding: 15px; border-radius: 4px; margin-bottom: 20px; }
</style>
</head>
<body>
<h2>ადმინისტრატორის ანგარიშის შექმნა</h2>
<div class="info">
<strong>ბოლო ნაბიჯი!</strong><br>
შექმენით ადმინისტრატორის ანგარიში სისტემაში შესასვლელად.
</div>
<?php if (isset($error)): ?>
<div class="error"><?= htmlspecialchars($error) ?></div>
<?php endif; ?>
<?php if (isset($_GET['debug'])): ?>
<div style="background: #f0f0f0; padding: 10px; border: 1px solid #ccc; margin: 10px 0;">
<strong>Debug Info:</strong><br>
Config file path: <?= __DIR__ . '/../config.php' ?><br>
Config exists: <?= file_exists(__DIR__ . '/../config.php') ? 'Yes' : 'No' ?><br>
<?php if (file_exists(__DIR__ . '/../config.php')): ?>
<?php $testConfig = include __DIR__ . '/../config.php'; ?>
Host: <?= isset($testConfig['host']) ? $testConfig['host'] : 'NOT SET' ?><br>
User: <?= isset($testConfig['user']) ? $testConfig['user'] : 'NOT SET' ?><br>
DBName: <?= isset($testConfig['dbname']) ? $testConfig['dbname'] : 'NOT SET' ?><br>
<?php endif; ?>
</div>
<?php endif; ?>
<form method="post">
<label for="first_name">სახელი:</label>
<input type="text" name="first_name" id="first_name" value="<?= isset($_POST['first_name']) ? htmlspecialchars($_POST['first_name']) : '' ?>" required minlength="2">
<label for="last_name">გვარი:</label>
<input type="text" name="last_name" id="last_name" value="<?= isset($_POST['last_name']) ? htmlspecialchars($_POST['last_name']) : '' ?>" required minlength="2">
<label for="email">ელ-ფოსტა:</label>
<input type="email" name="email" id="email" value="<?= isset($_POST['email']) ? htmlspecialchars($_POST['email']) : '' ?>" required>
<label for="password">პაროლი:</label>
<input type="password" name="password" id="password" required minlength="6">
<button type="submit">ანგარიშის შექმნა და ინსტალაციის დასრულება</button>
</form>
<script>
document.querySelector('form').addEventListener('submit', function(e) {
const password = document.getElementById('password').value;
const firstName = document.getElementById('first_name').value;
const lastName = document.getElementById('last_name').value;
if (firstName.length < 2) {
alert('სახელი უნდა იყოს მინიმუმ 2 სიმბოლო');
e.preventDefault();
return;
}
if (lastName.length < 2) {
alert('გვარი უნდა იყოს მინიმუმ 2 სიმბოლო');
e.preventDefault();
return;
}
if (password.length < 6) {
alert('პაროლი უნდა იყოს მინიმუმ 6 სიმბოლო');
e.preventDefault();
}
});
</script>
</body>
</html>