free and open source poker website
read only | git://badboy.institute/~skye/poker |
read/write | ssh://skye@badboy.institute:3333/~skye/poker |
POKER A free and open source poker website. DEPENDS * php8.3 * {php8.3-,}sqlite RUNNING In debug mode, % etc/run.sh Otherwise, with fcgi. FS / | com.php common functions/types/etc. | cfg.php server config stuff. | index.php you know. | act/ forms/pages/actions. | auth.php POST login & register accounts. | mkroom.php POST create rooms. | room.php GET view a room. play the game. | etc/ misc scripts. | chown.sh fix file ownership. | run.sh run the php debug server. | src/ misc php/js src files. | db.php connect to and manage the main database. | room.php Room class and room database management. | css/ css shit. | style.css main stylesheet. | style.php load and manage stylesheets. | run/ database files. | poker.db main database. | rooms/ room datatbases, named after their hashes. ARCHITECTURE Every file requires com.php, which provides utilities and starts the session. You connect to the database: require 'src/db.php'; $db = new Database('run/poker.db'); You can find a user by name: $db->get_user($name); ...or by id: $db->get_user_by_id($id); New methods added to Database should sanitize their inputs automatically and use collect_rows() to collect their outputs into arrays. You can get the currently logged in user: $me = whoami($db); if (!!$me) { /* user is logged in */ } else { /* couldn't get logged in user */ } You can connect to a room by its hash: require 'src/room.php'; $r = Room::from_hash($hash);
master