19 Commits

Author SHA1 Message Date
6c2df772f9 - Add docker support,
- Add cache support for zip file size,
- Remove obsolete JPlayer.
2026-07-13 00:44:09 +02:00
c764dcaba1 - Add docker support,
- Remove obsolete JPlayer.
2026-07-12 13:14:47 +02:00
d270f2e2b4 - Force .hide handling in play and track page. 2026-06-20 11:15:10 +02:00
1d03dc1df3 - Now open a modal window over the curent window to display cover, extra, icons... 2026-06-20 11:15:10 +02:00
b722d620e4 - Remove tweeter widget,
- Fix security,
- Cleanup code.
2025-12-15 17:34:03 +01:00
a4ae21b60f - Update RSS code. 2023-07-19 14:11:06 +02:00
6c119a448f - Update Twiter code. 2022-06-21 11:48:00 +02:00
6516ba3a7a - Update Google Analytics code. 2021-12-01 14:55:10 +01:00
8ebd42e83e - Now use 400px cover size instead of 256px. 2021-06-07 11:53:44 +02:00
bec60e3bf0 - Remove FaceBook +1 button. 2020-12-28 12:42:44 +01:00
d5f7cf5bc8 - Remove Google+ support,
- Code cleanup.
2020-09-15 11:53:17 +02:00
2d8ad0c05b - Add '"' to special text format,
- Minor JSON fix.
2019-10-07 18:04:53 +02:00
286ff7a80e - Add Gb to unit,
- Add lmb_news_json_ld() function,
- Now track video codec in video,
- Add multiple resulution support to video.
2018-10-04 17:55:10 +02:00
agibert
dd233b73c0 - Add full video support:
- Add video player in track page,
  - Add video download in track page,
  - Now support mp4 and webm video format,
  - Fix video support in play page,
- Minor bug fixes.
2016-05-05 16:17:29 +00:00
agibert
852d9f37da - Add skins directory structure,
- Add skin black example (default.css and sprites css).
2015-12-16 23:27:14 +00:00
agibert
8e5a746fc2 - Add skins directory structure,
- Add skin black example (default.css and sprites css),
- Fix a bug for .hide system for track listing.
2015-12-16 23:24:12 +00:00
agibert
a58dfaa33b - fix missing utf-8 setup... 2015-12-04 16:07:30 +00:00
agibert
25b1aad8ab - Fix minor undifined variable bugs,
- Add utf-8 support.
2015-12-04 10:40:41 +00:00
agibert
632df6012d - Add sprite support,
- Add hover link effect,
- Fix many display position bugs.
2015-09-07 19:23:56 +00:00
48 changed files with 5500 additions and 4319 deletions

81
Dockerfile Normal file
View File

@@ -0,0 +1,81 @@
# Rx3/LMBrowse Dockerfile
#-------------------------------------------------------------------------------
ARG IMG_FROM_URL="rx3-docker/pphp-apache:latest"
FROM ${IMG_FROM_URL}
ARG IMG_NAME
ARG IMG_NAME_FULL
ARG IMG_VERSION
ARG IMG_MAINTAINER
ARG IMG_URL
LABEL org.rx3.${IMG_NAME}.name=${IMG_NAME_FULL}
LABEL org.rx3.${IMG_NAME}.version=${IMG_VERSION}
LABEL org.rx3.${IMG_NAME}.maintainer=${IMG_MAINTAINER}
LABEL maintainer=${IMG_MAINTAINER}
ARG MODULE_NAME
ARG MODULE_PATH
ARG MODULE_VERSION
ARG HTTPD_VHOST_CONFIG_DIR=/etc/httpd/conf/sites.d/default_vhost.d
ARG LMBROWSE_HTTPD_CONFIG_NAME=70-lmbrowse.conf
ARG LMBROWSE_HTTPD_CONFIG_FILE=${HTTPD_VHOST_CONFIG_DIR}/${LMBROWSE_HTTPD_CONFIG_NAME}
ARG LMBROWSE_CONFIG_NAME=lmbrowse_config.inc
ARG LMBROWSE_CONFIG_FILE=/etc/lmbrowse/lmbrowse_config.inc
ARG LMBROWSE_SHARE_DIR=/usr/share/lmbrowse
ARG LMBROWSE_WWW_DIR=/var/www/lmbrowse
ARG LMBROWSE_LINKS="about.txt history.txt news.txt welcome.txt discography .links fonts skin skins tracks"
#-------------------------------------------------------------------------------------------------------
ARG LMBROWSE='#!/bin/bash \n\
\n\
cp -f '${LMBROWSE_HTTPD_CONFIG_FILE}.ref' '${LMBROWSE_HTTPD_CONFIG_FILE}' \n\
\n\
sed -i -e "s%LMBROWSE_URL%${LMBROWSE_URL}%g" '${LMBROWSE_HTTPD_CONFIG_FILE}' \n\
\n\
\n\
if [[ ! -f '${LMBROWSE_CONFIG_FILE}' ]] \n\
then \n\
cp '${LMBROWSE_SHARE_DIR}/${LMBROWSE_CONFIG_NAME}.ref' '${LMBROWSE_CONFIG_FILE}' \n\
fi \n\
\n\
\n\
if [[ ! -d '${LMBROWSE_WWW_DIR}'/discography ]] \n\
then \n\
cp -Rf '${LMBROWSE_WWW_DIR}.ref/*' '${LMBROWSE_WWW_DIR}' \n\
fi \n\
\n\
chown -R apache:apache '${LMBROWSE_WWW_DIR}' \n\
chmod -R a-x,a+X '${LMBROWSE_WWW_DIR}' \n\
chmod o-rwx '${LMBROWSE_WWW_DIR}' \n\
chmod -R ug+rwX '${LMBROWSE_WWW_DIR}
#-------------------------------------------------------------------------------------------------------
COPY ${MODULE_PATH}/conf.d/${LMBROWSE_HTTPD_CONFIG_NAME}.ref ${LMBROWSE_HTTPD_CONFIG_FILE}.ref
COPY ${MODULE_PATH}/html ${LMBROWSE_SHARE_DIR}
RUN . /etc/profile.d/rx3.sh && isl --add ${IMG_URL} \
&& urpmi.update -a \
&& urpmi --force flac zip \
&& sed -i -e "s%Alias /lmbrowse/%Alias LMBROWSE_URL%" ${LMBROWSE_HTTPD_CONFIG_FILE}.ref \
&& mv ${LMBROWSE_SHARE_DIR}/${LMBROWSE_CONFIG_NAME} ${LMBROWSE_SHARE_DIR}/${LMBROWSE_CONFIG_NAME}.ref \
&& ln -s ${LMBROWSE_CONFIG_FILE} ${LMBROWSE_SHARE_DIR}/${LMBROWSE_CONFIG_NAME} \
&& mkdir ${LMBROWSE_WWW_DIR}.ref \
&& for file in ${LMBROWSE_LINKS}; \
do \
mv ${LMBROWSE_SHARE_DIR}/${file} ${LMBROWSE_WWW_DIR}.ref \
&& ln -s ${LMBROWSE_WWW_DIR}/${file} ${LMBROWSE_SHARE_DIR}; \
done \
&& echo -e "${LMBROWSE}" | sed -e "s/\`/'/g" -e 's/ *$//' > /etc/init.d/lmbrowse \
&& chmod a+x /etc/init.d/lmbrowse \
&& ln -s /etc/init.d/lmbrowse /etc/rcD.d/S40lmbrowse

View File

@@ -1,12 +1,22 @@
# $RCSfile: ReleaseNotes.txt,v $
# $Revision: 1.1 $
# $Name: $
# $Date: 2012/12/01 16:27:04 $
# $Author: agibert $
------------------------------------------------------------------------------------------------------------------------------------
LMBrowse V 1.9.1 - A. GIBERT - 2026/07/13
------------------------------------------------------------------------------------------------------------------------------------
- Add docker support,
- Add cache support for zip file size,
- Remove obsolete JPlayer.
------------------------------------------------------------------------------------------------------------------------------------
LMBrowse V 1.9.0 - A. GIBERT - 2026/06/20
------------------------------------------------------------------------------------------------------------------------------------
- Now open a modal window over the curent window to display cover, extra, icons...
- Force .hide handling in play and track page.
[...]
--------------------------------------------------------------------------------
LMBrowse V 1.0.0-1 - A. Gibert - 2012/12/01

58
compose.yaml Normal file
View File

@@ -0,0 +1,58 @@
# Rx3/LMBrowse Docker Image
#-------------------------------------------------------------------------------
name: ${HOST_NAME_PREFIX}
services:
#-------------------------------------------------------------------------------
webapp:
container_name: ${WA_HOST_NAME}
hostname: ${WA_HOST_NAME}
image: ${WA_IMG_URL}
restart: unless-stopped
build:
dockerfile: Dockerfile
args:
IMG_NAME: ${WA_IMG_URL}
IMG_NAME_FULL: ${WA_IMG_NAME_FULL}
IMG_VERSION: ${WA_IMG_VERSION}
IMG_MAINTAINER: ${APPL_MAINTAINER}
IMG_URL: ${WA_IMG_URL}
IMG_FROM_URL: ${WA_IMG_FROM_URL}
MODULE_NAME: ${WA_MODULE_NAME}
MODULE_PATH: ${WA_MODULE_PATH}
MODULE_VERSION: ${WA_MODULE_VERSION}
environment:
APACHE_UID: ${WA_USER_ID}
APACHE_GID: ${WA_GROUP_ID}
APACHE_DOC_ROOT: ${WA_DOC_ROOT}
APACHE_HTTPD_ENABLED: ${WA_APACHE_HTTPD_ENABLED}
PHP_MEMORY_LIMIT: ${WA_PHP_MEMORY_LIMIT}
PHP_UPLOAD_LIMIT: ${WA_PHP_UPLOAD_LIMIT}
LMBROWSE_URL: ${WA_LMBROWSE_URL}
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:${WA_PORT_MAIN_INT}"]
interval: 10s
timeout: 3s
retries: 3
volumes:
- ./${WA_LOG_INIT_EXT}:${WA_LOG_INIT_INT}
- ./${WA_LOG_SV_EXT}:${WA_LOG_SV_INT}
- ./${WA_LOG_HTTPD_EXT}:${WA_LOG_HTTPD_INT}
- ./${WA_CONF_EXT}:${WA_CONF_INT}
- ./${WA_WWW_EXT}:${WA_WWW_INT}
ports:
- "127.0.0.1:${WA_PORT_SV_EXT}:${WA_PORT_SV_INT}"
- "127.0.0.1:${WA_PORT_MAIN_EXT}:${WA_PORT_MAIN_INT}"

121
env.dist Normal file
View File

@@ -0,0 +1,121 @@
# Rx3/LMBrowse Docker Image
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
# Global Settings
#-------------------------------------------------------------------------------
ORG_NAME="rx3-docker"
ORG_REGISTRY="docker.xor.rx3:5000"
ORG_MAINTAINER='"Arnaud G. GIBERT" <arnaud@rx3.net>'
ORG_URL_PREFIX="${ORG_REGISTRY}/${ORG_NAME}"
#-------------------------------------------------------------------------------
# Image Settings
#-------------------------------------------------------------------------------
APPL_NAME="lmbrowse"
APPL_NAME_FULL="LMBrowse Docker Image"
APPL_NAME_SHORT="lmb"
APPL_ORG="rx3"
APPL_VERSION="1.0.0"
APPL_MAINTAINER='"Arnaud G. GIBERT" <arnaud@rx3.net>'
#-------------------------------------------------------------------------------
# User Settings
#-------------------------------------------------------------------------------
#APPL_ENV="prd"
#APPL_ENV="tst"
#APPL_ENV="int"
APPL_ENV="dvp"
#-------------------------------------------------------------------------------
# Common
#-------------------------------------------------------------------------------
if [[ "${APPL_ENV}" != "prd" ]]
then
APPL_SUFFIX="-${APPL_ENV}"
PORT_ENV_OFFSET=100
if [[ "${APPL_ENV}" == "tst" ]]
then
DOCKER_TOOLS_USER_GROUP_FORCE=FALSE
else
DOCKER_TOOLS_USER_GROUP_FORCE=TRUE
fi
else
APPL_SUFFIX=""
PORT_ENV_OFFSET=0
DOCKER_TOOLS_USER_GROUP_FORCE=FALSE
fi
if [[ "${APPL_ENV}" != "dvp" ]]
then
APPL_USER="apache"
APPL_GROUP="lm"
else
APPL_USER="apache"
APPL_GROUP="apache"
fi
#APPL_URL_PREFIX="${ORG_REGISTRY}/${APPL_ORG}/${APPL_NAME_SHORT}"
APPL_URL_PREFIX="${ORG_REGISTRY}/${APPL_ORG}"
HOST_NAME_PREFIX=${APPL_NAME_SHORT}${APPL_SUFFIX}
PORT_SV_INT=9001
PORT_SV_OFFSET=1000
NETWORK_NAME=${HOST_NAME_PREFIX}
NETWORK_IF_NAME=br-${APPL_NAME_SHORT}-${APPL_ENV}
DOCKER_TOOLS_DEBUG=FALSE
DOCKER_TOOLS_VOLUME=SINGLE
#DOCKER_TOOLS_VOLUME=MIXED
#DOCKER_TOOLS_VOLUME=MERGED
#DOCKER_TOOLS_VOLUME=SPLITED
#DOCKER_TOOLS_EXEPTION_LIBS="webapp:/var/www/data"
#------------------+----------+--------------------------+--------------------+------------------+-------------------------------+----------------------+--------------------+---------------+------------+--------------+------------+-------+-------+-------+-------+--------------+--------------+
# | Variable | Service | Target Image | From Image | Module | Main Port | Admin Port | User | Group |
# | Prefix | Name | URL Prefix | Name | Name Full | Version | URL Prefix | Name | Version | Name | Version | Ext | Int | Ext | Int | Name / Id | Name / Id |
#------------------+----------+--------------------------+--------------------+------------------+-------------------------------+----------------------+--------------------+---------------+------------+--------------+------------+-------+-------+-------+-------+--------------+--------------+
docker_service_add WA webapp ${APPL_URL_PREFIX} ${APPL_NAME} "${APPL_NAME_FULL}" ${APPL_VERSION}-mga9 ${ORG_URL_PREFIX} php-apache 1.7.0-mga9 - - 8069 80 - - ${APPL_USER} ${APPL_GROUP}
#-------------------------------------------------------------------------------
# Web App
#-------------------------------------------------------------------------------
SERVER_CROND_ENABLED="TRUE"
WA_MODULE_PATH=src
WA_DOC_ROOT="/var/www/html"
WA_APACHE_HTTPD_ENABLED="TRUE"
WA_PHP_MEMORY_LIMIT="512M"
WA_PHP_UPLOAD_LIMIT="32M"
WA_LOG_HTTPD_INT=/var/log/httpd
WA_LOG_HTTPD_EXT=./${WA_LOG_HTTPD_INT}
WA_CONF_INT=/etc/${APPL_NAME}
WA_CONF_EXT=./${WA_CONF_INT}
WA_WWW_INT=/var/www/${APPL_NAME}
WA_WWW_EXT=./${WA_WWW_INT}
WA_LMBROWSE_URL="/"

4
etc/lmbrowse/.gitignore vendored Normal file
View File

@@ -0,0 +1,4 @@
# Ignore everything in this directory
*
# Except this file
!.gitignore

View File

@@ -1,3 +0,0 @@
This is the About text !
Bye Bye...

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,8 @@
# LMBrowse configuration
Alias /lmbrowse/ /usr/share/lmbrowse/
<Directory /usr/share/lmbrowse>
Require all granted
Options +FollowSymLinks
</Directory>

32
src/html/.htaccess Normal file
View File

@@ -0,0 +1,32 @@
# AddType TYPE/SUBTYPE EXTENSION
AddType audio/mpeg mp3
AddType audio/mp4 m4a
AddType audio/ogg ogg
AddType audio/ogg oga
AddType audio/webm webma
AddType audio/wav wav
# compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
# Or, compress certain file types by extension:
<files *.ttf>
SetOutputFilter DEFLATE
</files>
<files *.eot>
SetOutputFilter DEFLATE
</files>
<Files lmbrowse_config.inc>
order allow,deny
deny from all
</Files>

3
src/html/about.txt Normal file
View File

@@ -0,0 +1,3 @@
This is the About text!
Bye Bye...

View File

1
src/html/history.txt Normal file
View File

@@ -0,0 +1 @@
This is the History text!

1
src/html/index.php Symbolic link
View File

@@ -0,0 +1 @@
lmbrowse.php

4212
src/html/lmbrowse.php Normal file

File diff suppressed because it is too large Load Diff

1
src/html/skin Symbolic link
View File

@@ -0,0 +1 @@
skins/black

View File

@@ -1,3 +1,6 @@
@import url("/skins/black/sprites.css");
@import url("/skins/black/sprites-rep.css");
html, body
{
height: 99%;
@@ -144,6 +147,31 @@ tr.news2
tr.twitter0,
tr.twitter1,
tr.twitter2
{
font-family: verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;
}
tr.twitter0
{
height: 10px;
background-color: #222222;
color: #FFFFFF;
font-family: verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;
font-size: 24px;
font-weight: bold;
}
tr.twitter1
{
height: 10px;
background-color: #333333;
}
tr.about0,
tr.about1,
tr.about2
@@ -460,21 +488,36 @@ td.border
}
td.menu-bg
td.menu-item,
td.menu-left,
td.menu-right
{
vertical-align: top;
text-align: center;
height: 20px;
}
td.menu-bg
{
text-align: center;
background-color: transparent;
background-image: url(/images/menu-bg.png);
background-image: url(/skins/black/images/menu-bg.png);
background-repeat: repeat-x;
background-attachment: scroll;
}
td.menu-item
{
vertical-align: top;
text-align: center;
height: 20px;
}
td.menu-left
{
text-align: right;
}
td.menu-right
{
text-align: left;
}
td.body
@@ -489,7 +532,7 @@ td.line-bg
text-align: center;
height: 20px;
background-color: transparent;
background-image: url(/images/line-m.png);
background-image: url(/skins/black/images/line-m.png);
background-repeat: repeat-x;
background-attachment: scroll;
}
@@ -607,7 +650,7 @@ td.news00
td.news01
{
width: 20px;
width: 10px;
}
td.news1
@@ -637,6 +680,42 @@ td.news4
td.twitter0,
td.twitter00,
td.twitter01,
td.twitter1
{
vertical-align: middle;
text-align: center;
font-family: verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;
font-size: 14px;
}
td.twitter0
{
width: 96px;
background-color: #222222;
}
td.twitter00
{
width: 10px;
background-color: #000000;
}
td.twitter01
{
width: 20px;
background-color: #222222;
}
td.twitter1
{
text-align: center;
font-size: 16px;
}
td.about0,
td.about00,
td.about01,
@@ -768,7 +847,7 @@ td.play2
td.play3
{
text-align: left;
text-align: center;
height: 30px;
}
@@ -778,6 +857,8 @@ td.play4
text-align: right;
height: 30px;
font-size: 12px;
padding-right: 10px;
padding-left: 10px;
}
@@ -808,6 +889,15 @@ td.text_r
font-size: 16px;
}
td.title
{
}
td.subtitle
{
}
td.title_l
{
vertical-align: middle;
@@ -1237,6 +1327,7 @@ td.links2
text-align: left;
font-family: verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;
font-size: 14px;
height: 24px;
}
td.links0
@@ -1480,77 +1571,74 @@ img.menu-item
a:link
{
color:#6644FF;
color: #6644FF;
}
a:visited
{
color:#FF00FF;
color: #FF00FF;
}
a:hover
{
color:#FF2222;
color: #FF2222;
color: #101010;
}
a:active
{
color:#0066FF;
color: #0066FF;
}
a.jp-on,
a.jp-off
a.button-item
{
-webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
display: inline-block;
}
a.jp-on:hover,
a.jp-off:hover
.link-item,
.link-item-disabled,
.normal-item,
.link-item-disabled
{
/*Glow*/
-webkit-box-shadow: 0px 0px 20px rgba(255,255,255,0.3);
-moz-box-shadow: 0px 0px 20px rgba(255,255,255,0.3);
box-shadow: 0px 0px 20px rgba(255,255,255,0.3);
display: inline-block;
background-color: transparent;
border: 0px;
border-radius: 5px;
padding: 1px 5px 3px 5px;
color: white;
font-family: verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;
}
a.jp-on
.link-item:hover
{
background-color: #4a3a55;
background-color: #777777;
background-color: white;
border: 0px;
border-radius: 5px;
padding: 1px 5px 3px 5px;
color: black;
}
a.jp-off
{
}
a.menu-home_page,
a.menu-about,
a.menu-discography,
a.button-w3c-html,
a.button-w3c-css,
a.button-rx3,
a.button-safe_creative,
a.button-stats
a.button-item,
div.button-item,
.link-item,
img.button-item,
img.button-item-big,
input.login,
input.logout
{
border: 0px solid;
background-repeat: no-repeat;
display: block;
/*Transition*/
-webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
transition: all 0.5s ease;
/* o-transition: all 0.5s ease; */
/*Reflection*/
@@ -1559,14 +1647,12 @@ a.button-stats
*/
}
a.menu-home_page:hover,
a.menu-about:hover,
a.menu-discography:hover,
a.button-w3c-html:hover,
a.button-w3c-css:hover,
a.button-rx3:hover,
a.button-safe_creative:hover,
a.button-stats:hover
a.button-item:hover,
div.button-item:hover,
.link-item:hover,
img.button-item:hover,
input.login:hover,
input.logout:hover
{
/*Glow*/
@@ -1582,116 +1668,34 @@ a.button-stats:hover
a.menu-home_page,
a.menu-about,
a.menu-discography,
a.menu-home_page:hover,
a.menu-about:hover,
a.menu-discography:hover
{
height: 20px;
img.button-item-big:hover
{
/*Glow*/
-webkit-box-shadow: 0px 0px 50px rgba(255,255,255,0.8);
-moz-box-shadow: 0px 0px 50px rgba(255,255,255,0.8);
box-shadow: 0px 0px 50px rgba(255,255,255,0.8);
/*Reflection*/
/*
-webkit-box-reflect: below 0px -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(.7, transparent), to(rgba(0,0,0,0.4)));
*/
}
a.menu-home_page
a.link-item-disabled
{
background-image: url("/images/menu-home_page-on.png");
}
a.menu-home_page:hover
{
background-image: url("/images/menu-home_page-hi.png");
}
a.menu-about
{
background-image: url("/images/menu-about-on.png");
}
a.menu-about:hover
{
background-image: url("/images/menu-about-hi.png");
}
a.menu-discography
{
background-image: url("/images/menu-discography-on.png");
}
a.menu-discography:hover
{
background-image: url("/images/menu-discography-hi.png");
display: inline-block;
border: 0px;
border-radius: 5px;
padding: 1px 5px 3px 5px;
background-color: #707070;
color: white;
pointer-events: none;
cursor: default;
}
a.button-w3c-html,
a.button-w3c-css,
a.button-rx3,
a.button-safe_creative,
a.button-stats,
a.button-w3c-html:hover,
a.button-w3c-css:hover,
a.button-rx3:hover,
a.button-safe_creative:hover,
a.button-stats:hover
{
height: 26px;
}
a.button-w3c-html
{
background-image: url("/images/button-w3c-html-on.png");
}
a.button-w3c-html:hover
{
background-image: url("/images/button-w3c-html-hi.png");
}
a.button-w3c-css
{
background-image: url("/images/button-w3c-css-on.png");
}
a.button-w3c-css:hover
{
background-image: url("/images/button-w3c-css-hi.png");
}
a.button-rx3
{
background-image: url("/images/button-rx3-on.png");
}
a.button-rx3:hover
{
background-image: url("/images/button-rx3-hi.png");
}
a.button-safe_creative
{
background-image: url("/images/button-safe_creative-on.png");
}
a.button-safe_creative:hover
{
background-image: url("/images/button-safe_creative-hi.png");
}
a.button-stats
{
background-image: url("/images/button-stats-on.png");
}
a.button-stats:hover
{
background-image: url("/images/button-stats-hi.png");
}
/*--------------------------------------------*/
@@ -1703,62 +1707,20 @@ input.password
border: 0px solid;;
background-color: #222222;
color: #FFFFFF;
vertical-align: top;
}
input.login,
input.logout
{
border: 0px solid;;
border: 0px solid;
width: 32px;
height: 26px;
/*Transition*/
-webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
}
input.login:hover,
input.logout:hover
{
/*Glow*/
-webkit-box-shadow: 0px 0px 20px rgba(255,255,255,0.3);
-moz-box-shadow: 0px 0px 20px rgba(255,255,255,0.3);
box-shadow: 0px 0px 20px rgba(255,255,255,0.3);
}
input.login
{
background-image: url("/images/button-login-on.png");
}
input.login:hover
{
background-image: url("/images/button-login-hi.png");
}
input.logout
{
background-image: url("/images/button-logout-on.png");
}
input.logout:hover
{
background-image: url("/images/button-logout-hi.png");
background-color: transparent;
}
td.title
{
background-image: url(/images/title-4.png);
}
td.subtitle
{
}
/*
@font-face
@@ -1803,3 +1765,17 @@ td.subtitle
{
font-size: 30px;
}
/*--------------------------------------------*/
/* Audio */
/*--------------------------------------------*/
audio
{
border: 0px solid;;
background-color: #888888;
color: #FFFFFF;
}

View File

@@ -0,0 +1,29 @@
/* glue: 0.11.1 hash: 9c5b34e88f */
/* LMBrowser Template 1.0 */
.sprite-title_line-m,
.sprite-menu-bg,
.sprite-bottom_line-m {
background-image: url('/skins/black/images/sprites-rep.png');
background-repeat: repeat-x;
background-attachment: scroll;
margin: auto;
}
.sprite-title_line-m {
background-position: 0 0;
width: 10px;
height: 70px;
}
.sprite-menu-bg {
background-position: 0 -70px;
width: 10px;
height: 20px;
}
.sprite-bottom_line-m {
background-position: 0 -90px;
width: 10px;
height: 20px;
}

View File

@@ -0,0 +1,742 @@
/* glue: 0.11.1 hash: ea118dad0e */
/* LMBrowser Template 1.0 */
.sprite-lm-logo2-border-220,
.sprite-lm-logo1-border-220,
.sprite-tab-history-r,
.sprite-tab-history-l,
.sprite-tab-twitter-r,
.sprite-tab-twitter-l,
.sprite-tab-covers-r,
.sprite-tab-covers-l,
.sprite-tab-tracks-r,
.sprite-tab-tracks-l,
.sprite-tab-extras-r,
.sprite-tab-extras-l,
.sprite-tab-oldies-r,
.sprite-tab-oldies-l,
.sprite-tab-videos-r,
.sprite-tab-videos-l,
.sprite-tab-lyrics-r,
.sprite-tab-lyrics-l,
.sprite-tab-welcome-r,
.sprite-tab-welcome-l,
.sprite-tab-about-r,
.sprite-tab-about-l,
.sprite-border-right,
.sprite-tab-news-r,
.sprite-tab-news-l,
.sprite-tab-info-r,
.sprite-tab-info-l,
.sprite-menu-home_page-on:hover,
.sprite-menu-home_page-on,
.sprite-menu-home_page-off,
.sprite-menu-discography-on:hover,
.sprite-menu-discography-on,
.sprite-menu-discography-off,
.sprite-menu-about-on:hover,
.sprite-menu-about-on,
.sprite-menu-about-off,
.sprite-border-top,
.sprite-border-left,
.sprite-border-bottom,
.sprite-unknown-cover-96,
.sprite-lm-logo2-96,
.sprite-lm-logo1-96,
.sprite-button-rx3-on:hover,
.sprite-button-rx3-on,
.sprite-button-donate,
.sprite-title_line-r,
.sprite-title_line-l,
.sprite-bottom_line-r,
.sprite-bottom_line-l,
.sprite-border-top-right,
.sprite-border-top-left,
.sprite-border-bottom-right,
.sprite-border-bottom-left,
.sprite-tab-lp-r,
.sprite-tab-lp-l,
.sprite-tab-ep-r,
.sprite-tab-ep-l,
.sprite-button-w3c-rss-on:hover,
.sprite-button-w3c-rss-on,
.sprite-button-w3c-html-on:hover,
.sprite-button-w3c-html-on,
.sprite-button-w3c-css-on:hover,
.sprite-button-w3c-css-on,
.sprite-button-stats-on:hover,
.sprite-button-stats-on,
.sprite-button-safe_creative-on:hover,
.sprite-button-safe_creative-on,
.sprite-button-rss-on:hover,
.sprite-button-rss-on,
.sprite-button-logout-on:hover,
.sprite-button-logout-on,
.sprite-button-login-on:hover,
.sprite-button-login-on,
.sprite-menu-end,
.sprite-menu-begin,
.sprite-icon-zynaddsubfx-16x16,
.sprite-icon-xsynth-16x16,
.sprite-icon-wsynth-16x16,
.sprite-icon-whysynth-16x16,
.sprite-icon-vintagesynth-16x16,
.sprite-icon-twitter-16x16,
.sprite-icon-safecreative-16x16,
.sprite-icon-rosegarden-16x16,
.sprite-icon-povray-16x16,
.sprite-icon-phasex-16x16,
.sprite-icon-obligement-16x16,
.sprite-icon-myspace_old-16x16,
.sprite-icon-myspace-16x16,
.sprite-icon-med-16x16,
.sprite-icon-linuxsampler-16x16,
.sprite-icon-lastfm-16x16,
.sprite-icon-jannepikkarainen-16x16,
.sprite-icon-hexter-16x16,
.sprite-icon-gplus-16x16,
.sprite-icon-gimp-16x16,
.sprite-icon-facebook-16x16,
.sprite-icon-dssi-16x16,
.sprite-icon-dpaint-16x16,
.sprite-icon-distrho-16x16,
.sprite-icon-digikam-16x16,
.sprite-icon-calf-16x16,
.sprite-icon-audacity-16x16,
.sprite-icon-ardour-16x16,
.sprite-icon-ams-16x16,
.sprite-icon-amigafuture-16x16 {
background-image: url('/skins/black/images/sprites.png');
background-repeat: no-repeat;
margin: auto;
}
.sprite-lm-logo2-border-220 {
background-position: 0 0;
width: 220px;
height: 220px;
}
.sprite-lm-logo1-border-220 {
background-position: -220px 0;
width: 220px;
height: 220px;
}
.sprite-tab-history-r {
background-position: 0 -220px;
width: 56px;
height: 219px;
}
.sprite-tab-history-l {
background-position: -56px -220px;
width: 56px;
height: 219px;
}
.sprite-tab-twitter-r {
background-position: -112px -220px;
width: 57px;
height: 212px;
}
.sprite-tab-twitter-l {
background-position: -169px -220px;
width: 57px;
height: 212px;
}
.sprite-tab-covers-r {
background-position: -226px -220px;
width: 56px;
height: 207px;
}
.sprite-tab-covers-l {
background-position: -282px -220px;
width: 56px;
height: 207px;
}
.sprite-tab-tracks-r {
background-position: -338px -220px;
width: 56px;
height: 202px;
}
.sprite-tab-tracks-l {
background-position: -440px 0;
width: 56px;
height: 202px;
}
.sprite-tab-extras-r {
background-position: -440px -202px;
width: 56px;
height: 202px;
}
.sprite-tab-extras-l {
background-position: -496px 0;
width: 56px;
height: 202px;
}
.sprite-tab-oldies-r {
background-position: -496px -202px;
width: 56px;
height: 191px;
}
.sprite-tab-oldies-l {
background-position: -552px 0;
width: 56px;
height: 191px;
}
.sprite-tab-videos-r {
background-position: -552px -191px;
width: 56px;
height: 189px;
}
.sprite-tab-videos-l {
background-position: -608px 0;
width: 56px;
height: 189px;
}
.sprite-tab-lyrics-r {
background-position: -608px -189px;
width: 56px;
height: 188px;
}
.sprite-tab-lyrics-l {
background-position: 0 -439px;
width: 56px;
height: 188px;
}
.sprite-tab-welcome-r {
background-position: -394px -220px;
width: 43px;
height: 184px;
}
.sprite-tab-welcome-l {
background-position: -56px -439px;
width: 43px;
height: 184px;
}
.sprite-tab-about-r {
background-position: -99px -439px;
width: 56px;
height: 169px;
}
.sprite-tab-about-l {
background-position: -155px -439px;
width: 56px;
height: 169px;
}
.sprite-border-right {
background-position: -211px -439px;
width: 35px;
height: 140px;
}
.sprite-tab-news-r {
background-position: -246px -439px;
width: 56px;
height: 138px;
}
.sprite-tab-news-l {
background-position: -302px -439px;
width: 56px;
height: 138px;
}
.sprite-tab-info-r {
background-position: -358px -439px;
width: 56px;
height: 138px;
}
.sprite-tab-info-l {
background-position: -414px -439px;
width: 56px;
height: 138px;
}
.sprite-menu-home_page-on:hover {
background-position: -470px -439px;
width: 128px;
height: 20px;
}
.sprite-menu-home_page-on {
background-position: -470px -459px;
width: 128px;
height: 20px;
}
.sprite-menu-home_page-off {
background-position: -470px -479px;
width: 128px;
height: 20px;
}
.sprite-menu-discography-on:hover {
background-position: -470px -499px;
width: 128px;
height: 20px;
}
.sprite-menu-discography-on {
background-position: -470px -519px;
width: 128px;
height: 20px;
}
.sprite-menu-discography-off {
background-position: -470px -539px;
width: 128px;
height: 20px;
}
.sprite-menu-about-on:hover {
background-position: -211px -579px;
width: 128px;
height: 20px;
}
.sprite-menu-about-on {
background-position: -339px -579px;
width: 128px;
height: 20px;
}
.sprite-menu-about-off {
background-position: -467px -579px;
width: 128px;
height: 20px;
}
.sprite-border-top {
background-position: 0 -627px;
width: 128px;
height: 35px;
}
.sprite-border-left {
background-position: -664px 0;
width: 35px;
height: 128px;
}
.sprite-border-bottom {
background-position: -128px -627px;
width: 128px;
height: 35px;
}
.sprite-unknown-cover-96 {
background-position: -699px 0;
width: 96px;
height: 96px;
}
.sprite-lm-logo2-96 {
background-position: -699px -96px;
width: 96px;
height: 96px;
}
.sprite-lm-logo1-96 {
background-position: -699px -192px;
width: 96px;
height: 96px;
}
.sprite-button-rx3-on:hover {
background-position: -699px -288px;
width: 96px;
height: 26px;
}
.sprite-button-rx3-on {
background-position: -699px -314px;
width: 96px;
height: 26px;
}
.sprite-button-donate {
background-position: -699px -340px;
width: 74px;
height: 21px;
}
.sprite-title_line-r {
background-position: -699px -361px;
width: 70px;
height: 70px;
}
.sprite-title_line-l {
background-position: -699px -431px;
width: 70px;
height: 70px;
}
.sprite-bottom_line-r {
background-position: -699px -501px;
width: 70px;
height: 20px;
}
.sprite-bottom_line-l {
background-position: -699px -521px;
width: 70px;
height: 20px;
}
.sprite-border-top-right {
background-position: -699px -541px;
width: 70px;
height: 70px;
}
.sprite-border-top-left {
background-position: 0 -662px;
width: 70px;
height: 70px;
}
.sprite-border-bottom-right {
background-position: -70px -662px;
width: 70px;
height: 70px;
}
.sprite-border-bottom-left {
background-position: -140px -662px;
width: 70px;
height: 70px;
}
.sprite-tab-lp-r {
background-position: -210px -662px;
width: 56px;
height: 69px;
}
.sprite-tab-lp-l {
background-position: -266px -662px;
width: 56px;
height: 69px;
}
.sprite-tab-ep-r {
background-position: -322px -662px;
width: 56px;
height: 69px;
}
.sprite-tab-ep-l {
background-position: -378px -662px;
width: 56px;
height: 69px;
}
.sprite-button-w3c-rss-on:hover {
background-position: -699px -611px;
width: 32px;
height: 26px;
}
.sprite-button-w3c-rss-on {
background-position: -731px -611px;
width: 32px;
height: 26px;
}
.sprite-button-w3c-html-on:hover {
background-position: -763px -611px;
width: 32px;
height: 26px;
}
.sprite-button-w3c-html-on {
background-position: -664px -128px;
width: 32px;
height: 26px;
}
.sprite-button-w3c-css-on:hover {
background-position: -664px -154px;
width: 32px;
height: 26px;
}
.sprite-button-w3c-css-on {
background-position: -664px -180px;
width: 32px;
height: 26px;
}
.sprite-button-stats-on:hover {
background-position: -664px -206px;
width: 32px;
height: 26px;
}
.sprite-button-stats-on {
background-position: -664px -232px;
width: 32px;
height: 26px;
}
.sprite-button-safe_creative-on:hover {
background-position: -664px -258px;
width: 32px;
height: 26px;
}
.sprite-button-safe_creative-on {
background-position: -664px -284px;
width: 32px;
height: 26px;
}
.sprite-button-rss-on:hover {
background-position: -664px -310px;
width: 32px;
height: 26px;
}
.sprite-button-rss-on {
background-position: -664px -336px;
width: 32px;
height: 26px;
}
.sprite-button-logout-on:hover {
background-position: -664px -362px;
width: 32px;
height: 26px;
}
.sprite-button-logout-on {
background-position: -664px -388px;
width: 32px;
height: 26px;
}
.sprite-button-login-on:hover {
background-position: -664px -414px;
width: 32px;
height: 26px;
}
.sprite-button-login-on {
background-position: -664px -440px;
width: 32px;
height: 26px;
}
.sprite-menu-end {
background-position: -773px -340px;
width: 16px;
height: 20px;
}
.sprite-menu-begin {
background-position: -769px -361px;
width: 16px;
height: 20px;
}
.sprite-icon-zynaddsubfx-16x16 {
background-position: -769px -381px;
width: 16px;
height: 16px;
}
.sprite-icon-xsynth-16x16 {
background-position: -769px -397px;
width: 16px;
height: 16px;
}
.sprite-icon-wsynth-16x16 {
background-position: -769px -413px;
width: 16px;
height: 16px;
}
.sprite-icon-whysynth-16x16 {
background-position: -769px -431px;
width: 16px;
height: 16px;
}
.sprite-icon-vintagesynth-16x16 {
background-position: -769px -447px;
width: 16px;
height: 16px;
}
.sprite-icon-twitter-16x16 {
background-position: -769px -463px;
width: 16px;
height: 16px;
}
.sprite-icon-safecreative-16x16 {
background-position: -769px -479px;
width: 16px;
height: 16px;
}
.sprite-icon-rosegarden-16x16 {
background-position: -769px -501px;
width: 16px;
height: 16px;
}
.sprite-icon-povray-16x16 {
background-position: -769px -521px;
width: 16px;
height: 16px;
}
.sprite-icon-phasex-16x16 {
background-position: -769px -541px;
width: 16px;
height: 16px;
}
.sprite-icon-obligement-16x16 {
background-position: -769px -557px;
width: 16px;
height: 16px;
}
.sprite-icon-myspace_old-16x16 {
background-position: -769px -573px;
width: 16px;
height: 16px;
}
.sprite-icon-myspace-16x16 {
background-position: -769px -589px;
width: 16px;
height: 16px;
}
.sprite-icon-med-16x16 {
background-position: -699px -637px;
width: 16px;
height: 16px;
}
.sprite-icon-linuxsampler-16x16 {
background-position: -715px -637px;
width: 16px;
height: 16px;
}
.sprite-icon-lastfm-16x16 {
background-position: -731px -637px;
width: 16px;
height: 16px;
}
.sprite-icon-jannepikkarainen-16x16 {
background-position: -747px -637px;
width: 16px;
height: 16px;
}
.sprite-icon-hexter-16x16 {
background-position: -763px -637px;
width: 16px;
height: 16px;
}
.sprite-icon-gplus-16x16 {
background-position: -779px -637px;
width: 16px;
height: 16px;
}
.sprite-icon-gimp-16x16 {
background-position: -664px -466px;
width: 16px;
height: 16px;
}
.sprite-icon-facebook-16x16 {
background-position: -680px -466px;
width: 16px;
height: 16px;
}
.sprite-icon-dssi-16x16 {
background-position: -664px -482px;
width: 16px;
height: 16px;
}
.sprite-icon-dpaint-16x16 {
background-position: -680px -482px;
width: 16px;
height: 16px;
}
.sprite-icon-distrho-16x16 {
background-position: -664px -498px;
width: 16px;
height: 16px;
}
.sprite-icon-digikam-16x16 {
background-position: -680px -498px;
width: 16px;
height: 16px;
}
.sprite-icon-calf-16x16 {
background-position: -664px -514px;
width: 16px;
height: 16px;
}
.sprite-icon-audacity-16x16 {
background-position: -680px -514px;
width: 16px;
height: 16px;
}
.sprite-icon-ardour-16x16 {
background-position: -664px -530px;
width: 16px;
height: 16px;
}
.sprite-icon-ams-16x16 {
background-position: -680px -530px;
width: 16px;
height: 16px;
}
.sprite-icon-amigafuture-16x16 {
background-position: -664px -546px;
width: 16px;
height: 16px;
}

1
src/html/welcome.txt Normal file
View File

@@ -0,0 +1 @@
This is the Welcome text!

4
var/log/httpd/.gitignore vendored Normal file
View File

@@ -0,0 +1,4 @@
# Ignore everything in this directory
*
# Except this file
!.gitignore

4
var/log/init/.gitignore vendored Normal file
View File

@@ -0,0 +1,4 @@
# Ignore everything in this directory
*
# Except this file
!.gitignore

4
var/log/supervisor/.gitignore vendored Normal file
View File

@@ -0,0 +1,4 @@
# Ignore everything in this directory
*
# Except this file
!.gitignore

4
var/www/lmbrowse/.gitignore vendored Normal file
View File

@@ -0,0 +1,4 @@
# Ignore everything in this directory
*
# Except this file
!.gitignore