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:
48
videodb/templates/elegant/fullsize.tpl
Normal file
48
videodb/templates/elegant/fullsize.tpl
Normal file
@@ -0,0 +1,48 @@
|
||||
{literal}
|
||||
<style>
|
||||
.fullsize-icon {
|
||||
position: absolute;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
background: transparent url(/videodb/javascript/fullsize/fullsize-icon.png) no-repeat left top;
|
||||
z-index: 950;
|
||||
cursor: hand, auto;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
Event.observe(document, 'dom:loaded', function() {
|
||||
$$('img.canzoom').each(function(el) {
|
||||
postop = el.positionedOffset().top + 5; //+ parseInt(el.getStyle('margin-top').slice(0,-2));
|
||||
posleft = el.positionedOffset().left + 5;
|
||||
|
||||
icon = new Element('div').addClassName('fullsize-icon').setStyle({display: 'none', top: postop+'px', left: posleft+'px'}); // , border: '1px solid red'
|
||||
icon.srcimage = el;
|
||||
document.body.appendChild(icon);
|
||||
|
||||
icon.observe('click', function(e) {
|
||||
zoomClick(this.srcimage, e);
|
||||
});
|
||||
|
||||
el.writeAttribute({href: el.readAttribute('targetimg')});
|
||||
el.icon = icon;
|
||||
|
||||
el.observe('mouseenter', function(e) {
|
||||
this.icon.appear({duration: 0.3});
|
||||
});
|
||||
|
||||
el.observe('mouseleave', function(e) {
|
||||
mouseX = Event.pointerX(e);
|
||||
mouseY = Event.pointerY(e);
|
||||
el = document.elementFromPoint(mouseX, mouseY);
|
||||
|
||||
if (el != this.icon) {
|
||||
this.icon.fade({duration: 0.3});
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{/literal}
|
||||
Reference in New Issue
Block a user