Files
MeDBia/videodb/javascript/search.js
Malin f55c91276e 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>
2026-05-11 09:49:52 +02:00

93 lines
1.8 KiB
JavaScript

/**
* 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();
}