File: /var/www/html/obaasimaghana/app/helpers/functions.php
<?php
// Flash message helper
function flash($name = '', $message = '', $class = 'alert alert-success') {
if (!empty($name)) {
if (!empty($message) && empty($_SESSION[$name])) {
if (!empty($_SESSION[$name])) {
unset($_SESSION[$name]);
}
if (!empty($_SESSION[$name . '_class'])) {
unset($_SESSION[$name . '_class']);
}
$_SESSION[$name] = $message;
$_SESSION[$name . '_class'] = $class;
} elseif (empty($message) && !empty($_SESSION[$name])) {
$class = !empty($_SESSION[$name . '_class']) ? $_SESSION[$name . '_class'] : '';
echo '<div class="' . $class . '" id="msg-flash">' . $_SESSION[$name] . '</div>';
unset($_SESSION[$name]);
unset($_SESSION[$name . '_class']);
}
}
}
// Check if user is logged in
function isLoggedIn() {
return isset($_SESSION['user_id']);
}
// Get current user role
function getUserRole() {
return isset($_SESSION['user_role']) ? $_SESSION['user_role'] : null;
}
// Check if user has specific role
function hasRole($role) {
return getUserRole() === $role;
}
// Sanitize input
function sanitize($input) {
return htmlspecialchars(strip_tags(trim($input)));
}
// Format date
function formatDate($date) {
return date('F j, Y', strtotime($date));
}
// Format time
function formatTime($time) {
return date('g:i A', strtotime($time));
}
// Get file extension
function getFileExtension($filename) {
return strtolower(pathinfo($filename, PATHINFO_EXTENSION));
}
// Check if file is allowed
function isAllowedFileType($filename) {
$allowed = ['jpg', 'jpeg', 'png', 'gif', 'pdf', 'doc', 'docx', 'mp4', 'mp3', 'wav'];
return in_array(getFileExtension($filename), $allowed);
}
// Generate random string
function generateRandomString($length = 10) {
return substr(str_shuffle(str_repeat($x='0123456789abcdefghijklmnopqrstuvwxyz', ceil($length/strlen($x)))), 1, $length);
}
// Redirect helper
function redirect($page) {
header('location: ' . APP_URL . '/' . $page);
exit();
}