File manager - Edit - /home/linknsbh/public_html/functions.php
Back
<?php require_once 'config.php'; // الحصول على رسائل الغرفة function getMessages($room, $lastId = 0) { $db = getDB(); $stmt = $db->prepare(" SELECT m.*, u.username, u.fullname FROM messages m JOIN users u ON m.user_id = u.id WHERE m.room = ? AND m.id > ? ORDER BY m.created_at ASC LIMIT 50 "); $stmt->execute([$room, $lastId]); return $stmt->fetchAll(); } // إرسال رسالة function sendMessage($userId, $room, $message) { $db = getDB(); $message = sanitize($message); if (empty($message)) { return false; } $stmt = $db->prepare(" INSERT INTO messages (user_id, room, message, created_at) VALUES (?, ?, ?, NOW()) "); $stmt->execute([$userId, $room, $message]); $messageId = $db->lastInsertId(); // تحديث وقت آخر نشاط $db->prepare("UPDATE users SET last_activity = NOW() WHERE id = ?") ->execute([$userId]); return $messageId; } // الحصول على المستخدمين المتصلين function getOnlineUsers() { $db = getDB(); $stmt = $db->prepare(" SELECT id, username, fullname FROM users WHERE last_activity > DATE_SUB(NOW(), INTERVAL 5 MINUTE) ORDER BY username ASC "); $stmt->execute(); return $stmt->fetchAll(); } // تسجيل مستخدم جديد function registerUser($fullname, $username, $email, $password) { $db = getDB(); // التحقق من عدم وجود المستخدم $stmt = $db->prepare("SELECT id FROM users WHERE username = ? OR email = ?"); $stmt->execute([$username, $email]); if ($stmt->fetch()) { return ['success' => false, 'error' => 'اسم المستخدم أو البريد مستخدم بالفعل']; } $hash = password_hash($password, PASSWORD_BCRYPT); $stmt = $db->prepare(" INSERT INTO users (fullname, username, email, password, created_at, last_activity) VALUES (?, ?, ?, ?, NOW(), NOW()) "); $stmt->execute([$fullname, $username, $email, $hash]); return ['success' => true, 'user_id' => $db->lastInsertId()]; } // تسجيل الدخول function loginUser($username, $password) { $db = getDB(); $stmt = $db->prepare("SELECT * FROM users WHERE username = ?"); $stmt->execute([$username]); $user = $stmt->fetch(); if ($user && password_verify($password, $user['password'])) { // تحديث وقت النشاط $db->prepare("UPDATE users SET last_activity = NOW() WHERE id = ?") ->execute([$user['id']]); return ['success' => true, 'user' => $user]; } return ['success' => false, 'error' => 'اسم المستخدم أو كلمة المرور غير صحيحة']; } // الحصول على معلومات المستخدم function getUserById($id) { $db = getDB(); $stmt = $db->prepare("SELECT id, username, fullname, email, created_at FROM users WHERE id = ?"); $stmt->execute([$id]); return $stmt->fetch(); }
| ver. 1.4 |
Github
|
.
| PHP 8.2.31 | Generation time: 0.12 |
proxy
|
phpinfo
|
Settings