www
/
wwwroot
/
events.scriptexpert.net
/
includes
/
functions
➕ New
📤 Upload
✎ Editing:
sys.functions.php
← Back
<?php function settings($data){ global $database; $set = $database->execute("SELECT value FROM settings WHERE label = ?", [$data]); if($set['rows'] > 0){ return $set['data'][0]['value']; }else{ return true; } } function gateway($value, $data){ global $database; $set = $database->execute("SELECT pp_config FROM payment_processors WHERE pp_key = ?", [$data]); if($set['rows'] > 0){ $arrays = json_decode($set['data'][0]['pp_config'], true); return $arrays[$value]; }else{ return true; } } function functionData($table, $label, $val, $data){ global $database; $set = $database->execute("SELECT `{$data}` FROM {$table} WHERE {$label} = ?", [$val]); return $set['data'][0][$data]; } function registerUser(string $phone, string $fullname, string $email, string $password): int { global $database; // Criptăm parola cu algoritmul standard (bcrypt / Argon2) $hashedPassword = password_hash($password, PASSWORD_DEFAULT); // Salvăm în DB $userId = $database->execute( "INSERT INTO users (u_phone, u_fullname, u_email, u_password) VALUES (?, ?, ?, ?)", [$phone, $fullname, $email, $hashedPassword] ); return $userId['insert_id']; // returnăm ID-ul noului user } function loginUser( string $email, string $password ): bool|array { global $database; // Căutăm utilizatorul după email $user = $database->execute( "SELECT u_id, u_email, u_password FROM users WHERE u_email=? LIMIT 1", [$email] ); if (empty($user['data'])) { return false; // utilizator inexistent } $user = $user['data'][0]; // primul rând // Verificăm parola if (password_verify($password, $user['u_password'])) { // Dacă vrei, setezi sesiunea aici $_SESSION['user_id'] = $user['u_id']; return $user; // returnăm datele user-ului } return false; // parola greșită } function userData($user_id,$label){ global $database; // Căutăm utilizatorul după email $user = $database->execute( "SELECT * FROM users WHERE u_id=? LIMIT 1", [$user_id] ); if($user['data'][0]){ return $user['data'][0][$label]; }else{ return array(); } } function url_origin( $s, $use_forwarded_host = false ) { $ssl = ( ! empty( $s['HTTPS'] ) && $s['HTTPS'] == 'on' ); $sp = strtolower( $s['SERVER_PROTOCOL'] ); $protocol = substr( $sp, 0, strpos( $sp, '/' ) ) . ( ( $ssl ) ? 's' : '' ); $port = $s['SERVER_PORT']; $port = ( ( ! $ssl && $port=='80' ) || ( $ssl && $port=='443' ) ) ? '' : ':'.$port; $host = ( $use_forwarded_host && isset( $s['HTTP_X_FORWARDED_HOST'] ) ) ? $s['HTTP_X_FORWARDED_HOST'] : ( isset( $s['HTTP_HOST'] ) ? $s['HTTP_HOST'] : null ); $host = isset( $host ) ? $host : $s['SERVER_NAME'] . $port; return $protocol . '://' . $host; } function full_url( $s, $use_forwarded_host = false ) { return url_origin( $s, $use_forwarded_host ) . $s['REQUEST_URI']; } function pagination($total_items, $per_page, $current_page, $base_url, array $query = [], $page_param = 'page', $max_numbers = 10) { $total_items = max(0, (int)$total_items); $per_page = max(1, (int)$per_page); $total_pages = (int)ceil($total_items / $per_page); if ($total_pages <= 1) return ''; $current_page = max(1, min((int)$current_page, $total_pages)); $buildUrl = function ($page) use ($base_url, $query, $page_param) { $q = $query; $q[$page_param] = (int)$page; $sep = (strpos($base_url, '?') === false) ? '?' : '&'; return htmlspecialchars($base_url . $sep . http_build_query($q), ENT_QUOTES, 'UTF-8'); }; // listează numerele de pagină cu "..." dacă depășește $max_numbers $numbers = []; if ($total_pages <= $max_numbers) { for ($i = 1; $i <= $total_pages; $i++) $numbers[] = $i; } else { $numbers[] = 1; $inner = $max_numbers - 2; $half = (int)floor(($inner - 1) / 2); $start = max(2, $current_page - $half); $end = min($total_pages - 1, $start + $inner - 1); $start = max(2, $end - $inner + 1); if ($start > 2) $numbers[] = '...'; for ($i = $start; $i <= $end; $i++) $numbers[] = $i; if ($end < $total_pages - 1) $numbers[] = '...'; $numbers[] = $total_pages; } $html = '<ul class="pagination">'; // Prev $prev_disabled = ($current_page <= 1) ? ' disabled' : ''; $prev_href = ($current_page <= 1) ? '#' : $buildUrl($current_page - 1); $prev_extra = ($current_page <= 1) ? ' tabindex="-1" aria-disabled="true"' : ' rel="prev"'; $html .= '<li class="page-item' . $prev_disabled . '"><a class="page-link page-text" href="' . $prev_href . '"' . $prev_extra . '> Previous </a></li>'; // Numbers foreach ($numbers as $n) { if ($n === '...') { $html .= '<li class="page-item disabled"><a class="page-link" href="#" tabindex="-1" aria-disabled="true"> … </a></li>'; } else { $active = ($n == $current_page) ? ' active' : ''; $href = ($n == $current_page) ? '#' : $buildUrl($n); $html .= '<li class="page-item' . $active . '"><a class="page-link" href="' . $href . '">' . (int)$n . '</a></li>'; } } // Next $next_disabled = ($current_page >= $total_pages) ? ' disabled' : ''; $next_href = ($current_page >= $total_pages) ? '#' : $buildUrl($current_page + 1); $next_extra = ($current_page >= $total_pages) ? ' tabindex="-1" aria-disabled="true"' : ' rel="next"'; $html .= '<li class="page-item' . $next_disabled . '"><a class="page-link page-text" href="' . $next_href . '"' . $next_extra . '> Next </a></li>'; $html .= '</ul>'; return $html; } function amPmFromTime(string $time, string $tz = 'UTC'): ?string { $time = substr($time, 0, -3) . ':00'; $dt = DateTime::createFromFormat('H:i', $time, new DateTimeZone($tz)); if (!$dt) return null; // input invalid return $dt->format('A'); // "AM" sau "PM" } function random_string(int $length = 10): string { $pool = str_split('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'); $n = count($pool); // 62 if ($length > $n) { throw new InvalidArgumentException('Lungimea depășește numărul de caractere disponibile (62).'); } // Fisher–Yates cu random_int (secure) for ($i = $n - 1; $i > 0; $i--) { $j = random_int(0, $i); [$pool[$i], $pool[$j]] = [$pool[$j], $pool[$i]]; } return implode('', array_slice($pool, 0, $length)); }
💾 Save Changes
Cancel
📤 Upload File
×
Select File
Upload
Cancel
➕ Create New
×
Type
📄 File
📁 Folder
Name
Create
Cancel
✎ Rename Item
×
Current Name
New Name
Rename
Cancel
🔐 Change Permissions
×
Target File
Permission (e.g., 0755, 0644)
0755
0644
0777
Apply
Cancel