- Add videodb PHP/MySQL media collection manager (Blu-ray, DVD, CD) - Dockerfile: PHP 8.1 + Apache with GD/mysqli/exif extensions - docker-compose.yml: app on port 6761 + MySQL 8.0 with health checks - docker-entrypoint.sh: auto-generates config.inc.php from env vars, waits for MySQL, initializes DB schema idempotently - init-db.php: CLI schema installer using app's own prefix_query() logic - Persistent volumes for DB, cache, and cover images Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
70 lines
1.9 KiB
PHP
70 lines
1.9 KiB
PHP
<?php
|
|
/**
|
|
* Session functions
|
|
*
|
|
* Moved all session functions into one file,
|
|
* include this where session starting might be required
|
|
*
|
|
* @package Core
|
|
* @author Andreas Goetz <cpuidle@gmx.de>
|
|
* @version $Id: session.php,v 1.13 2008/02/28 20:01:17 andig2 Exp $
|
|
*/
|
|
|
|
// start session
|
|
session_start();
|
|
|
|
/**
|
|
* Get session value or specified default
|
|
*/
|
|
function session_get($varname, $default=null)
|
|
{
|
|
if (isset($_SESSION['vdb'][$varname]))
|
|
{
|
|
return $_SESSION['vdb'][$varname];
|
|
}
|
|
return $default;
|
|
}
|
|
|
|
/**
|
|
* Set session value or specified default
|
|
*/
|
|
function session_set($varname, $value)
|
|
{
|
|
$_SESSION['vdb'][$varname] = $value;
|
|
}
|
|
|
|
/**
|
|
* Upsert session value with current value of global variable or specified default
|
|
*/
|
|
function session_default($varname, $default=null)
|
|
{
|
|
global $$varname;
|
|
|
|
if (!isset($$varname))
|
|
{
|
|
$$varname = (isset($_SESSION['vdb'][$varname])) ? $_SESSION['vdb'][$varname] : $default;
|
|
}
|
|
$_SESSION['vdb'][$varname] = $$varname;
|
|
}
|
|
|
|
/**
|
|
* get session_default for owner
|
|
*
|
|
* basically this only executes the extra query when the global $owner is not set and also
|
|
* not available in session data. only then we need the hasAny check. if the global is set
|
|
* or the global is not set but the session is then session_default() will fix both those
|
|
* cases. put into a single function because it gets called from multiple files.
|
|
*/
|
|
function session_default_owner()
|
|
{
|
|
global $owner, $lang;
|
|
if (!isset($owner) && !isset($_SESSION['vdb']['owner'])) {
|
|
$hasAny = runSQL('SELECT COUNT(*) AS num FROM '.TBL_DATA.' WHERE '.TBL_DATA.'.owner_id = ' . get_current_user_id());
|
|
$hasAny = ($hasAny && isset($hasAny[0]['num']) && $hasAny[0]['num'] > 0);
|
|
$default = ($hasAny ? get_username(get_current_user_id()) : $lang['filter_any']);
|
|
return session_default('owner', $default);
|
|
}
|
|
return session_default('owner');
|
|
}
|
|
|