feat: add videodb media index with Docker stack
- 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>
This commit is contained in:
69
videodb/core/session.php
Normal file
69
videodb/core/session.php
Normal file
@@ -0,0 +1,69 @@
|
||||
<?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');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user