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:
92
videodb/javascript/search.js
Normal file
92
videodb/javascript/search.js
Normal file
@@ -0,0 +1,92 @@
|
||||
/**
|
||||
* Search page helper functions
|
||||
* Multi-engine radio button logic
|
||||
*
|
||||
* @package JavaScript
|
||||
* @author Andreas Goetz <cpuidle@gmx.de>
|
||||
* @version $Id: search.js,v 1.8 2006/11/28 23:34:04 acidity Exp $
|
||||
*/
|
||||
|
||||
/**
|
||||
* Select all search fields
|
||||
*/
|
||||
function selectAllFields()
|
||||
{
|
||||
for (var i = 0; i < document.search['fields[]'].length; i++)
|
||||
{
|
||||
document.search['fields[]'].options[i].selected = true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove enclosing quotes when doing external searches
|
||||
*/
|
||||
function unQuote(s)
|
||||
{
|
||||
var result = s;
|
||||
|
||||
if ((result.length > 2) && (result.substr(0,1) == "\"") && (result.substr(result.length-1,1) == "\""))
|
||||
{
|
||||
result = result.substr(1,result.length-2);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Submit search form depending on selected engine
|
||||
*/
|
||||
function submitSearch()
|
||||
{
|
||||
if (!document.search.q.value) return false;
|
||||
|
||||
with (document.search)
|
||||
{
|
||||
var radio;
|
||||
for (var i=0; i<length; i++)
|
||||
{
|
||||
if ((elements[i].type == "radio") && (elements[i].checked)) {
|
||||
radio = elements[i].value;
|
||||
}
|
||||
if (radio) break;
|
||||
}
|
||||
|
||||
switch (radio)
|
||||
{
|
||||
case "videodb":
|
||||
document.search.submit();
|
||||
break;
|
||||
|
||||
case "imdb":
|
||||
document.searchIMDB.forIMDB.value = unQuote(document.search.q.value);
|
||||
document.searchIMDB.submit();
|
||||
break;
|
||||
|
||||
case "filmweb":
|
||||
document.searchFilmweb.forFilmweb.value = unQuote(document.search.q.value);
|
||||
document.searchFilmweb.submit();
|
||||
break;
|
||||
|
||||
case "tvcom":
|
||||
document.searchTvcom.forTvcom.value = unQuote(document.search.q.value);
|
||||
document.searchTvcom.submit();
|
||||
break;
|
||||
|
||||
case "amazon":
|
||||
case "amazoncom":
|
||||
case "amazonxml":
|
||||
document.searchAmazon.forAmazon.value = unQuote(document.search.q.value);
|
||||
document.searchAmazon.submit();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Focus field and select contents
|
||||
*/
|
||||
function selectField(formfield)
|
||||
{
|
||||
formfield.focus();
|
||||
formfield.select();
|
||||
}
|
||||
Reference in New Issue
Block a user