lmbrowse/html/lmbrowse.php
agibert e883a64bd7 - Add Sitemap support,
- Add Sitemap button.
2013-08-27 16:36:46 +00:00

3807 lines
129 KiB
PHP

<?
// $RCSfile: lmbrowse.php,v $
// $Revision: 1.8 $
// $Name: $
// $Date: 2013/08/27 16:36:46 $
// $Author: agibert $
/*
* LMBrowse - Langueur Monotone Browser
* Copyright (C) 2012-2013 Arnaud G. GIBERT
* mailto:arnaud@rx3.net
* http://www.rx3.org/dvp/lmbrowse
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
function microtime_float()
{
list($usec, $sec) = explode(" ", microtime());
return( (float)$usec + (float)$sec);
}
$time_start = microtime_float();
include "/var/httpd/www.langueur-monotone.com/html/lmbrowse_config.inc";
$lmb_myname="LMBrowse";
$lmb_tag_tab=explode( " ", "\$Name: $");
$lmb_tag_tab=explode( "-", $lmb_tag_tab[1]);
$lmb_myver=strtr( "$lmb_tag_tab[1]-$lmb_tag_tab[2]", "_", ".");
/*--------------------------------------------------------------------------------------------------------------------*/
/* Cookies Set */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_cookie_set( $cookie_id, $cookie_value, $cookie_time)
{
global $lmb_cookie_tab;
setcookie( $cookie_id, $cookie_value, time() + $cookie_time);
$lmb_cookie_tab["$cookie_id"] = $cookie_value;
// echo "set ($cookie_value) into ($cookie_id)";
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Cookie Load */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_cookie_load( $cookie_id, $cookie_defvalue)
{
global $lmb_cookie_tab;
if( array_key_exists ( $cookie_id, $_COOKIE))
{
$cookie_value = $_COOKIE[ $cookie_id];
// echo "load val ($cookie_value) for ($cookie_id)";
}
if( ! isset( $cookie_value))
{
$cookie_value = $cookie_defvalue;
// echo "set def val ($cookie_defvalue) for ($cookie_id)";
}
$lmb_cookie_tab[ $cookie_id] = $cookie_value;
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Cookies Load */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_cookies_load()
{
global $lmb_cookie_tab;
lmb_cookie_load( "jpsolution", "html, flash");
lmb_cookie_load( "admin", "");
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Cookie Update */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_cookie_update( $get_array)
{
if( array_key_exists ( "cookie_id", $get_array))
{
$cookie_id = $get_array["cookie_id"];
}
else
{
$cookie_id = "";
}
if( $cookie_id != "")
{
$cookie_value = $get_array["cookie_value"];
lmb_cookie_set( $cookie_id, $cookie_value, 31536000);
}
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Admin Is */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_admin_is()
{
global $lmb_password;
global $lmb_cookie_tab;
$admin = $lmb_cookie_tab["admin"];
if( $admin == $lmb_password)
{
return( true);
}
else
{
return( false);
}
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Admin Update */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_admin_update()
{
global $lmb_password;
global $lmb_cookie_tab;
if( array_key_exists ( "password", $_POST))
{
$passwd = $_POST["password"];
}
else
{
$passwd = "";
}
if( $passwd != "")
{
if( $passwd == $lmb_password)
{
lmb_cookie_set( "admin", $lmb_password, 360000);
}
else
{
lmb_cookie_set( "admin", "", 360000);
}
}
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Size Convert */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_size_convert( $size)
{
$unit_tab = array( "b", "Kb", "Mb");
for( $i = 0; $size > 1024; $i++)
{
$size = intval( $size / 1024);
}
$size_tab["size"] = $size;
$size_tab["unit"] = $unit_tab[$i];
return( $size_tab);
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* HTML Text Format */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_html_text_format( $input_text)
{
$search_tab = array(
"&",
"\n",
"< >",
"<B>",
"</B>",
"<I>",
"</I>",
"<U>",
"</U>",
"<H>",
"</H>",
"<LM>",
"</LM>",
"<G+1/>",
"<G+B/>",
"<F+1/>",
"<MSF/>"
);
$replace_tab = array(
"&amp;",
"<br/>\n ",
"&nbsp;",
"<span style=\"font-weight:bold;\">",
"</span>",
"<span style=\"font-style:italic;\">",
"</span>",
"<span style=\"text-decoration:underline;\">",
"</span>",
"<span style=\"font-weight:bold; font-style:italic;\">",
"</span>",
"<span style=\"font-family:CustomFont; font-weight:normal;\">",
"</span>",
"
<script type=\"text/javascript\" src=\"https://apis.google.com/js/plusone.js\"></script>
<div class=\"g-plusone\" style=\"font-size: 0px;\" data-href=\"http://plus.google.com/117621568322370019205\" data-size=\"medium\" data-annotation=\"inline\" data-align=\"right\"></div>",
"
<div style=\"text-align: right;\">&nbsp;<div id=\"gplus-div\"></div></div>
<script type=\"text/javascript\">
function getElementByIdUniversal( id )
{
return ( document.getElementById ) ? document.getElementById( id ) : document.all[ id ];
}
function plusoneready()
{
gapi.plus.render( 'gplus-div', { 'href': 'http://plus.google.com/117621568322370019205', 'theme': 'dark', 'height': '69', 'width': '400'} );
}
(function()
{
var gp = document.createElement( 'script' );
gp.type = 'text/javascript';
gp.async = true;
gp.src = 'https://apis.google.com/js/plusone.js';
gp.onload = plusoneready;
// Only for IE 6 and 7
gp.onreadystatechange = function()
{
if( this.readyState == 'complete' )
{
plusoneready();
}
}
var div = getElementByIdUniversal( 'gplus-div' );
div.parentNode.insertBefore( gp, div );
}
)();
</script>",
"
<div class=\"fb-like\" style=\"font-size: 0px;\" data-href=\"http://www.facebook.com/langueur.monotone\" data-send=\"false\" data-layout=\"button_count\" data-width=\"90\" data-show-faces=\"true\" data-colorscheme=\"dark\"></div>
<div id=\"fb-root\"></div>
<script type=\"text/javascript\">
(function(d, s, id)
{
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = \"//connect.facebook.net/fr_FR/all.js#xfbml=1\";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>",
"
<form method=\"post\" action=\"http://www.myspace.com/my/friends/addtofriends/langueur-monotone\">
<input type=\"submit\" value=\"myspace Friend\">
<style type=\"text/css\">input {background-color: 000000; border-width:1px; border-style:groove; border-color: 444444; color: FFFFFF; font-family:;}
</style>
</form>
"
);
return( str_replace( $search_tab, $replace_tab, $input_text));
}
/*
G+1 Synchronius
<script type=\"text/javascript\" src=\"https://apis.google.com/js/plusone.js\">
{ parsetags: 'explicit' }
</script>
<div id=\"plusone-div\"></div>
<script type=\"text/javascript\">
gapi.plusone.render( 'plusone-div', { 'href': 'http://plus.google.com/117621568322370019205', 'size': 'medium', 'annotation': 'inline', 'align': 'right'} );
</script>
G+1 Asynchronius
<div style=\"text-align: right;\">&nbsp;<div id=\"plusone-div\"></div></div>
<script type=\"text/javascript\">
function getElementByIdUniversal( id )
{
return ( document.getElementById ) ? document.getElementById( id ) : document.all[ id ];
}
function plusoneready()
{
gapi.plusone.render( 'plusone-div', { 'href': 'http://plus.google.com/117621568322370019205', 'size': 'medium', 'annotation': 'inline', 'align': 'right'} );
}
(function()
{
var gp = document.createElement( 'script' );
gp.type = 'text/javascript';
gp.async = true;
gp.src = 'https://apis.google.com/js/plusone.js';
gp.onload = plusoneready;
// Only for IE 6 and 7
gp.onreadystatechange = function()
{
if( this.readyState == 'complete' )
{
plusoneready();
}
}
var div = getElementByIdUniversal( 'plusone-div' );
div.parentNode.insertBefore( gp, div );
}
)();
</script>
<div style=\"text-align: right;\">&nbsp;<div class=\"g-plus\" data-theme=\"dark\" ></div></div>
<script type=\"text/javascript\">
(function() {
var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
po.src = 'https://apis.google.com/js/plusone.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
})();
</script>
<script type=\"text/javascript\" src=\"https://apis.google.com/js/plusone.js\">
{ parsetags: 'explicit' }
</script>
<script type=\"text/javascript\">
window.___gcfg = {
lang: 'en-US'
};
(function() {
var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
po.src = 'https://apis.google.com/js/plusone.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
})();
</script>
<script type=\"text/javascript\">
gapi.plusone.render
(
'plusone-div',
{
\"size\": \"medium\",
\"count\": \"true\",
\"annotation\": \"inline\",
\"width\": \"300\"
}
);
</script>
*/
/*--------------------------------------------------------------------------------------------------------------------*/
/* XML Text Format */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_xml_text_format( $input_text)
{
$search_tab = array(
"&",
"\n",
"< >",
"<br/>",
"<B>",
"</B>",
"<I>",
"</I>",
"<U>",
"</U>",
"<H>",
"</H>",
"<LM>",
"</LM>",
"<G+1/>",
"<G+B/>",
"<F+1/>",
"<MSF/>"
);
$replace_tab = array(
"&amp;",
"\n ",
"",
"\n",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
);
return( str_replace( $search_tab, $replace_tab, $input_text));
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Make Tab */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_make_tab( $tab_id, $css_id, $tab_side, $logo_path, $data)
{
$tab_file = "tab-{$tab_id}-{$tab_side}.png";
$image_path = "/images";
$tab_path = "{$image_path}/{$tab_file}";
if( "$tab_side" == "l")
{
$logo_side="r";
}
else
{
$logo_side="l";
}
$tab_tag = "<td class=\"{$css_id}0\"><img src=\"{$tab_path}\" alt=\"\"/></td>";
$logo_tag = "<td class=\"logo-{$logo_side}\" style=\"width: 20%;\"><img src=\"{$logo_path}\" alt=\"\"/></td>";
if( "$tab_side" == "l")
{
$l_tag = "{$tab_tag}";
$r_tag = "{$logo_tag}";
}
else
{
$l_tag = "$logo_tag";
$r_tag = "$tab_tag";
}
echo " <tr>
<td colspan=\"3\" rowspan=\"1\" style=\"vertical-align: middle;\">
<table class=\"list\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"\">
<tbody>
<tr>
{$l_tag}
<td class=\"{$css_id}00\">&nbsp;</td>
<td>
<table class=\"list\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"\">
<tbody>
";
echo $data;
echo " </tbody>
</table>
</td>
<td class=\"{$css_id}00\">&nbsp;</td>
{$r_tag}
</tr>
</tbody>
</table>
</td>
</tr>
";
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Spacer */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_spacer( $size)
{
echo " <tr><td>";
for( $i = 0; $i < $size; $i++)
{
echo "<br/>";
}
echo "</td></tr>
";
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Menu */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_menu( $menu_id)
{
global $lmb_url;
for( $i = 0; $i < 3; $i++)
{
if( $i == $menu_id)
{
$mode="off";
}
else
{
$mode="on";
}
switch($i)
{
case 0:
{
if( $i == $menu_id)
{
echo " <td class=\"menu-item\" style=\"width: 128px;\"><img class=\"menu-item\" src=\"/images/menu-home_page-off.png\" alt=\"Home Page\"/></td>
";
}
else
{
echo " <td class=\"menu-item\" style=\"width: 128px;\"><a class=\"menu-home_page\" href=\"{$lmb_url}\"></a></td>
";
}
break;
}
case 1:
{
if( $i == $menu_id)
{
echo " <td class=\"menu-item\" style=\"width: 128px;\"><img class=\"menu-item\" src=\"/images/menu-about-off.png\" alt=\"About\"/></td>
";
}
else
{
echo " <td class=\"menu-item\" style=\"width: 128px;\"><a class=\"menu-about\" href=\"{$lmb_url}?page=about\"></a></td>
";
}
break;
}
case 2:
{
if( $i == $menu_id)
{
echo " <td class=\"menu-item\" style=\"width: 128px;\"><img class=\"menu-item\" src=\"/images/menu-discography-off.png\" alt=\"Discography\"/></td>
";
}
else
{
echo " <td class=\"menu-item\" style=\"width: 128px;\"><a class=\"menu-discography\" href=\"{$lmb_url}?page=discography\"></a></td>
";
}
break;
}
default:
{
break;
}
}
if( $i < 2)
{
echo " <td class=\"menu-item\" style=\"width: 20px;\"><img class=\"menu-item\" src=\"/images/menu-bg.png\" alt=\"\"/></td>
";
}
}
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Header */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_header( $page_id, $page_name, $img_path, $img_alt, $description, $keywords, $min_width)
{
global $lmb_keywords;
header('Content-type: text/html; charset=iso-8859-1');
$page_title = "$page_name";
$keywords = "$lmb_keywords,$keywords";
if( $min_width != 0)
{
$mw_tag = "min-width: {$min_width}px;";
}
else
{
$mw_tag = "";
}
// echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">";
// echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">";
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">";
// echo "<html lang=\"en-US\">";
echo "<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">
";
echo " <head>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\"/>
<meta name=\"Description\" content=\"$description\"/>
<meta name=\"keywords\" content=\"$keywords\"/>
<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/favicon.ico\"/>
<link rel=\"stylesheet\" type=\"text/css\" href=\"/default.css\"/>
<link rel=\"stylesheet\" type=\"text/css\" href=\"/jplayer/pink.flag/jplayer.pink.flag.css\"/>
<title>$page_name</title>
</head>
";
echo " <body style=\"background-image:url(''); background-repeat:repeat;\">
";
echo "<script type=\"text/javascript\">
var _gaq = _gaq || [];
var pluginUrl = '//www.google-analytics.com/plugins/ga/inpage_linkid.js';
_gaq.push(['_require', 'inpage_linkid', pluginUrl]);
_gaq.push(['_setAccount', 'UA-37642754-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
";
echo " <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"{$mw_tag}\">
<tbody>
<tr>
<td class=\"border\" colspan=\"2\"><img src=\"/images/border-top-left.png\" alt=\"\"/></td>
<td></td>
<td class=\"border\"><img src=\"/images/title-1.png\" alt=\"\"/></td>
";
/*
echo " <td class=\"border\" style=\"width: 540px;\"><img src=\"/images/title-3.png\" alt=\"Langueur Monotone\"/></td>
";
*/
echo " <td class=\"title\" style=\"width: 580px;\"><h1 class=\"lm\">Langueur Monotone</h1></td>
";
echo " <td class=\"border\"><img src=\"/images/title-5.png\" alt=\"\"/></td>
<td></td>
<td class=\"border\" colspan=\"2\"><img src=\"/images/border-top-right.png\" alt=\"\"/></td>
</tr>
<tr>
<td colspan=\"2\"></td>
";
/*
echo " <td style=\"height: 70px;\"><img src=\"$img_path\" alt=\"$img_alt\"/></td>
";
*/
echo " <td colspan=\"5\" class=\"subtitle\" style=\"height: 70px;\"><h2 class=\"lm\">$img_alt</h2></td>
";
echo " <td colspan=\"2\"></td>
</tr>
<tr>
<td colspan=\"1\" rowspan=\"3\" style=\"vertical-align: middle; height: 16px;\"><img src=\"/images/border-left.png\" alt=\"\"/></td>
<td colspan=\"2\"></td>
<td></td>
<td style=\"height: 16px;\"></td>
<td></td>
<td colspan=\"2\"></td>
<td colspan=\"1\" rowspan=\"3\" style=\"vertical-align: middle; height: 16px;\"><img src=\"/images/border-right.png\" alt=\"\"/></td>
</tr>
<tr>
<td style=\"vertical-align: top; height: 30px; text-align: center; \" rowspan=\"1\" colspan=\"7\">
<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"\">
<tbody>
<tr>
<td style=\"width: 16px; vertical-align: top;\"><img class=\"menu-item\" src=\"/images/menu-begin.png\" alt=\"\"/></td>
<td class=\"menu-bg\"></td>
";
lmb_menu($page_id);
echo " <td class=\"menu-bg\"></td>
<td style=\"width: 16px; vertical-align: top;\"><img class=\"menu-item\" src=\"/images/menu-end.png\" alt=\"\"/></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=\"7\" rowspan=\"1\" style=\"vertical-align: top;\">
<table style=\"text-align: left; width: 100%; height: 100%;\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
<tbody>
<tr>
<td style=\"vertical-align: top; width: 16px;\"></td>
<td style=\"vertical-align: top;\">
<table style=\"text-align: left; width: 100%; height: 100%; table-layout: fixed;\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
<tbody>
";
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Footer */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_footer()
{
global $lmb_url;
global $lmb_myname;
global $lmb_myver;
global $lmb_body_footer;
global $lmb_page_footer;
global $time_start;
echo " </tbody>
</table>
</td>
<td style=\"vertical-align: top; width: 16px;\"></td>
</tr>
";
echo " </tbody>
</table>
</td>
</tr>
<tr>
<td style=\"vertical-align: top; height: 20px; text-align: right;\" colspan=\"2\"><img src=\"/images/line-l.png\" alt=\"\"/> </td>
<td class=\"line-bg\" colspan=\"5\"></td>
<td style=\"vertical-align: top; height: 20px; text-align: left;\" colspan=\"2\"><img src=\"/images/line-r.png\" alt=\"\"/> </td>
</tr>
<tr class=\"border\" style=\"height: 35px;\">
<td colspan=\"2\" rowspan=\"2\"><img src=\"/images/border-bottom-left.png\" alt=\"\"/></td>
<td colspan=\"5\">
<table style=\"text-align: left; width: 100%; height: auto;\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
<tbody>
<tr>
<td class=\"body\">
<table style=\"width: 100%; height: auto; text-align: left; \" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
<tbody>
<tr>
<td style=\"width: 16px;\"></td>
<td class=\"button-item\" style=\"width: 32px;\"><a rel=\"nofollow\" class=\"button-rss\" href=\"http://www.langueur-monotone.com/?page=rss\" title=\"Langueur Monotone RSS feed\"></a></td>
<td style=\"width: 8px;\">&nbsp;&nbsp;&nbsp;</td>
<td class=\"button-item\" style=\"width: 96px;\"><a rel=\"\" class=\"button-rx3\" href=\"http://www.rx3.net/\" title=\"Rx3.Net\"></a></td>
<td style=\"width: 8px;\">&nbsp;&nbsp;&nbsp;</td>
<td class=\"button-item\" style=\"width: 32px;\"><a rel=\"nofollow\" class=\"button-safe_creative\" href=\"http://www.safecreative.org/\" title=\"SafeCreative\"></a></td>
<td></td>
</tr>
</tbody>
</table>
</td>
<td style=\"width: 30%;\">
<table style=\"width: 100%; height: auto; text-align: left; \" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
<tbody>
<tr>
";
if( lmb_admin_is())
{
echo " <td></td>
<td class=\"button-item\" style=\"width: 32px;\"><a rel=\"nofollow\" class=\"button-w3c-html\" href=\"http://validator.w3.org/check?uri=referer\" title=\"W3C HTML Validator\"></a></td>
<td style=\"width: 8px;\">&nbsp;&nbsp;&nbsp;</td>
<td class=\"button-item\" style=\"width: 32px;\"><a rel=\"nofollow\" class=\"button-w3c-css\" href=\"http://jigsaw.w3.org/css-validator/check/referer\" title=\"W3C CSS Validator\"></a></td>
<td style=\"width: 8px;\">&nbsp;&nbsp;&nbsp;</td>
<td class=\"button-item\" style=\"width: 32px;\"><a rel=\"nofollow\" class=\"button-w3c-rss\" href=\"http://feed1.w3.org/check.cgi?url=http%3A//www.langueur-monotone.com/%3Fpage%3Drss\" title=\"W3C RSS Validator\"></a></td>
<td style=\"width: 8px;\">&nbsp;&nbsp;&nbsp;</td>
<td class=\"button-item\" style=\"width: 32px;\"><a class=\"button-stats\" href=\"/www-stats/\" title=\"Rx3 Statistics\"></a></td>
<td style=\"width: 8px;\">&nbsp;&nbsp;&nbsp;</td>
<td class=\"button-item\" style=\"width: 32px;\"><a class=\"button-stats\" href=\"https://www.google.com/analytics/web/?hl=en&amp;pli=1#dashboard//a37642754w66067134p67926512\" title=\"Google Analytics\"></a></td>
<td style=\"width: 8px;\">&nbsp;&nbsp;&nbsp;</td>
<td class=\"button-item\" style=\"width: 32px;\"><a class=\"button-stats\" href=\"https://www.google.com/webmasters/tools/dashboard?hl=fr&amp;siteUrl=http%3A%2F%2Fwww.langueur-monotone.com%2F\" title=\"Google Webmaster Tools\"></a></td>
<td style=\"width: 8px;\">&nbsp;&nbsp;&nbsp;</td>
<td class=\"button-item\" style=\"width: 32px;\"><a rel=\"nofollow\" class=\"button-rss\" href=\"http://www.langueur-monotone.com/?page=sitemap\" title=\"SiteMap\"></a></td>
<td style=\"width: 8px;\">&nbsp;&nbsp;&nbsp;</td>
<td class=\"button-item\" style=\"width: 32px;\">
<form action=\"{$lmb_url}\" method=\"post\">
<div>
<input type=\"hidden\" name=\"password\" value=\"XXX\"/>
<input class=\"logout\" type=\"submit\" value=\"\" title=\"Logout\"/>
</div>
</form>
</td>
<td></td>
";
}
else
{
echo " <td class=\"button-item\" style=\"\">
<form action=\"{$lmb_url}\" method=\"post\">
<div>
<input class=\"password\" type=\"password\" name=\"password\" size=\"8\" title=\"Password\"/>
<input class=\"login\" type=\"submit\" value=\"\" title=\"Login\"/>
</div>
</form>
</td>
";
}
$time_stop = microtime_float();
$time_elaps = intval( ( $time_stop - $time_start) * 1000) / 1000;
echo " </tr>
</tbody>
</table>
</td>
<td class=\"bottext\">Page generated in $time_elaps seconds by <a href=\"http://www.rx3.org/dvp/?dvp=".strtolower($lmb_myname)."\">{$lmb_myname}</a> V {$lmb_myver}</td>
";
echo " </tr>
</tbody>
</table>
</td>
<td class=\"border\" colspan=\"2\" rowspan=\"2\"><img src=\"/images/border-bottom-right.png\" alt=\"\"/></td>
</tr>
<tr>
<td style=\"vertical-align: top;\"></td>
<td colspan=\"3\" rowspan=\"1\" style=\"height: 15px; vertical-align: top; text-align: center;\"><img src=\"/images/border-bottom.png\" alt=\"\"/></td>
<td style=\"vertical-align: top;\"></td>
</tr>
</tbody>
</table>
</body>
</html>
";
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Welcome Tab */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_welcome_tab( )
{
$welcome_file = "welcome.txt";
$welcome_string = file_get_contents( "{$welcome_file}");
ob_start();
echo "
<tr class=\"welcome1\">
<td class=\"welcome01\"></td>
<td class=\"welcome1\">
".lmb_html_text_format( "{$welcome_string}")."
</td>
<td class=\"welcome01\"></td>
</tr>
";
$data = ob_get_contents();
ob_end_clean();
lmb_make_tab( "welcome", "welcome", "l", "/images/lm-logo5-n-220.png", $data);
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* News Tab Get */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_news_tab_get( )
{
global $lmb_url;
$news_file = "news.txt";
$line = array();
$cmd = "sed -e 's/\t*\t/\t/g' ${news_file}";
exec( $cmd, $line);
for( $i = 0; $i < count($line); $i++)
{
$tab = explode( "\t", $line[$i]);
$css_row = ( $i + 1) % 2 + 1;
if( count($tab) > 3)
{
$play_name = $tab[3];
$play_type = $tab[4];
$play_id = $tab[5];
$play_priority = $tab[6];
$news_tab[$i]["name"] = "{$play_name}";
$news_tab[$i]["rlink"] = "{$lmb_url}?page=play&amp;type={$play_type}&amp;id={$play_id}&amp;priority={$play_priority}";
$news_tab[$i]["alink"] = "http://www.langueur-monotone.com{$news_tab[$i]["rlink"]}";
$news_tab[$i]["rimg"] = "/discography/{$play_type}/{$play_priority}-{$play_id}/covers/{$play_id}-cover-1-icon.png";
$news_tab[$i]["aimg"] = "http://www.langueur-monotone.com{$news_tab[$i]["rimg"]}";
}
else
{
$news_tab[$i]["name"] = "";
}
$news_tab[$i]["date"] = $tab[0];
$news_tab[$i]["title"] = $tab[1];
if( $tab[2] != ".")
{
$news_tab[$i]["news"] = $tab[2];
}
else
{
$news_tab[$i]["news"] = "";
}
}
return($news_tab);
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* News Tab */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_news_tab( )
{
global $lmb_url;
$news_tab = lmb_news_tab_get();
ob_start();
for( $i=0; $i < count($news_tab); $i++)
{
$css_row = ( $i + 1) % 2 + 1;
if( "{$news_tab[$i]["name"]}" != "")
{
$height = 110;
$link_tag = "<a href=\"{$news_tab[$i]["rlink"]}\">";
$img_tag = "<img src=\"{$news_tab[$i]["rimg"]}\" alt=\"\"/>";
$play_tag=" <td class=\"news3\">{$link_tag}{$news_tab[$i]["name"]}</a></td>
<td class=\"news4\" style=\"height: {$height}px\">{$link_tag}{$img_tag}</a></td>";
$colspan_tag = "";
}
else
{
$play_tag = "";
$cover_tag = "";
$colspan_tag = "colspan=\"3\"";
}
if( $news_tab[$i]["news"] != "")
{
$news = "<br/>{$news_tab[$i]["title"]}<br/><br/>{$news_tab[$i]["news"]}<br/><br/>";
}
else
{
$news = "<br/>{$news_tab[$i]["title"]}<br/><br/>";
}
echo " <tr class=\"news{$css_row}\">
<td class=\"news01\"></td>
<td class=\"news1\">{$news_tab[$i]["date"]}</td>
<td class=\"news2\" {$colspan_tag}>".lmb_html_text_format( "{$news}")."</td>
{$play_tag} <td class=\"news01\"></td>
</tr>
";
}
$data = ob_get_contents();
ob_end_clean();
lmb_make_tab( "news", "news", "r", "/images/lm-logo5-n-220.png", $data);
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Main Body */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_main_body()
{
lmb_welcome_tab();
lmb_spacer(4);
lmb_news_tab();
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Main Page */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_main_page()
{
global $lmb_tab;
lmb_header( 0, "Langueur Monotone - Home Page", "/images/title-home_page.png", "Home Page", "Langueur Monotone home page, entry point to information, news and links", "home page", 0);
lmb_main_body();
lmb_footer();
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* SiteMap Item */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_sitemap_item( $item_type, $page_url, $img_tab)
{
global $lmb_url;
echo " <url>
";
echo " <loc>http://www.langueur-monotone.com{$lmb_url}${page_url}</loc>
<lastmod>2013-08-20</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
";
if( isset( $img_tab))
{
foreach( $img_tab as $img)
{
echo " <image:image>
<image:loc>http://www.langueur-monotone.com/{$img["url"]}</image:loc>
<image:title>{$img["title"]}</image:title>
</image:image>
";
}
}
echo " </url>
";
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* SiteMap Track */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_sitemap_track( $play_type, $play_id, $play_priority, $track_id)
{
$play_path = "discography/{$play_type}/{$play_priority}-{$play_id}";
$url = "?page=track&amp;type={$play_type}&amp;id={$play_id}&amp;priority={$play_priority}&amp;tid={$track_id}";
$img_tab = array();
$size = 1024;
lmb_sitemap_item( "track", "{$url}", $img_tab);
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* SiteMap Play */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_sitemap_play( $play_type, $play_id, $play_priority)
{
$play_path = "discography/{$play_type}/{$play_priority}-{$play_id}";
$cover_path = "{$play_path}/covers";
$extra_path = "{$play_path}/extras";
$play_info = lmb_play_info_get( $play_type, $play_id, $play_priority);
$url = "?page=play&amp;type={$play_type}&amp;id={$play_id}&amp;priority={$play_priority}";
$img_tab = array();
$img_idx = 0;
$play_title = lmb_play_title_get( $play_type, $play_id, $play_priority);
$img_tab[$img_idx ]["url"] = "{$play_path}/logos/{$play_id}-logo-1-128.png";
$img_tab[$img_idx++]["title"] = "Langueur Monotone - {$play_title} - Logo 1";
$img_tab[$img_idx ]["url"] = "{$play_path}/logos/{$play_id}-logo-2-128.png";
$img_tab[$img_idx++]["title"] = "Langueur Monotone - {$play_title} - Logo 2";
/* Cover Dump */
$cmd = "ls {$cover_path}/{$play_id}-cover-*.png | sed -e 's/.*{$play_id}-//' | grep -v icon.png | sort ";
exec( $cmd, $cover_tab);
for( $i = 0, $j = 1; $i < count($cover_tab); $i++, $j++)
{
$cover_info_tab = explode( "-", $cover_tab[$i]);
$nb = $cover_info_tab[1];
$size = str_replace( ".png", "", $cover_info_tab[2]);
$img_tab[$img_idx ]["url"] = "{$cover_path}/{$play_id}-cover-{$cover_tab[$i]}";
$img_tab[$img_idx++]["title"] = "Langueur Monotone - {$play_title} - Cover {$nb} ({$size})";
}
/* Extra Dump */
if( ! file_exists( "{$extra_path}/.hide" ))
{
$cmd = "ls {$extra_path}/{$play_id}-*.png | sed -e 's/.*{$play_id}-//' | grep -v icon.png | sort ";
exec($cmd, $extra_tab);
for( $i = 0, $j = 1; $i < count($extra_tab); $i++, $j++)
{
$extra_info_tab = explode( "-", $extra_tab[$i]);
$type = ucfirst( $extra_info_tab[0]);
$nb = $extra_info_tab[1];
$format = str_replace( "_", "/", $extra_info_tab[2]);
$size = str_replace( ".png", "", $extra_info_tab[3]);
$img_tab[$img_idx ]["url"] = "{$extra_path}/{$play_id}-{$extra_tab[$i]}";
$img_tab[$img_idx++]["title"] = "Langueur Monotone - {$play_title} - Extra - {$type} {$nb} ({$format}-{$size})";
}
}
lmb_sitemap_item( "play", "{$url}", $img_tab);
$track_list_info = lmb_tracklist_info_get( $play_type, $play_id, $play_priority);
foreach( $track_list_info as $track_info)
{
lmb_sitemap_track( $play_type, $play_id, $play_priority, str_pad( "{$track_info["id"]}", 2, '0', STR_PAD_LEFT));
}
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* SiteMap Play Type */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_sitemap_play_type( $play_type)
{
$path = "discography/{$play_type}";
$line = array();
$cmd = "ls -d {$path}/??-* | sed -e 's/.*\///'";
exec($cmd, $line);
for( $i = 0; $i < count($line); $i++)
{
$play_tab = explode( "-", $line[$i]);
$play_priority = $play_tab[0];
$play_id = $play_tab[1];
if( ! file_exists( "{$path}/{$play_priority}-{$play_id}/.hide" ))
{
lmb_sitemap_play( $play_type, $play_id, $play_priority);
}
}
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* SiteMap Page */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_sitemap_page()
{
global $lmb_myname;
global $lmb_myver;
global $time_start;
header( 'Content-Type: application/xml');
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd\" xmlns:image=\"http://www.google.com/schemas/sitemap-image/1.1\">
";
$img_tab = array();
$size = 220;
$img_tab[0]["url"] = "{$play_path}/images/lm-logo5-n-{$size}.png";
$img_tab[0]["title"] = "Langueur Monotone - Logo 5 ({$size})";
lmb_sitemap_item( "top", "", $img_tab);
// $img_tab = array();
// lmb_sitemap_item( "page", "?page=rss", $img_tab);
$img_tab = array();
$size = 220;
$img_tab[0]["url"] = "{$play_path}/images/lm-logo6-n-{$size}.png";
$img_tab[0]["title"] = "Langueur Monotone - Logo 6 ({$size})";
lmb_sitemap_item( "page", "?page=about", $img_tab);
$img_tab = array();
lmb_sitemap_item( "page", "?page=discography", $img_tab);
lmb_sitemap_play_type( "ep", $img_tab);
lmb_sitemap_play_type( "lp", $img_tab);
lmb_sitemap_play_type( "oldies", $img_tab);
$time_stop = microtime_float();
$time_elaps = intval( ( $time_stop - $time_start) * 1000) / 1000;
echo "</urlset>
<!-- Page generated in $time_elaps seconds by {$lmb_myname} (http://www.rx3.org/dvp/?dvp=".strtolower($lmb_myname).") V {$lmb_myver} -->
";
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* RSS Page */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_rss_page()
{
global $lmb_myname;
global $lmb_myver;
global $time_start;
header( 'Content-Type: application/rss+xml');
echo "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>
<rss version=\"2.0\"
xmlns:atom=\"http://www.w3.org/2005/Atom\"
xmlns:dc=\"http://purl.org/dc/elements/1.1/\"
>
<channel>
<title>Langueur Monotone News Page</title>
<link>http://www.langueur-monotone.com/?page=rss</link>
<atom:link href=\"http://www.langueur-monotone.com/?page=rss\" rel=\"self\" type=\"application/rss+xml\" />
<description>Langueur Monotone project news RSS feed</description>
<image>
<url>http://www.langueur-monotone.com/images/lm-logo6-n-220.png</url>
<title>Langueur Monotone News Page</title>
<link>http://www.langueur-monotone.com/?page=rss</link>
</image>
";
$news_tab = lmb_news_tab_get();
for( $i=0; $i < count($news_tab); $i++)
{
$news = lmb_xml_text_format( $news_tab[$i]["news"]);
$pubdate = date("r", strtotime($news_tab[$i]["date"]));
echo " <item>
";
if( "{$news_tab[$i]["name"]}" != "")
{
echo " <title>{$news_tab[$i]["title"]}: {$news_tab[$i]["name"]}</title>
";
}
else
{
echo " <title>{$news_tab[$i]["title"]}</title>
";
}
echo " <pubDate>{$pubdate}</pubDate>
<dc:creator>Langueur Monotone</dc:creator>
<guid>http://www.langueur-monotone.com/#$i</guid>
";
if( "{$news_tab[$i]["name"]}" != "")
{
echo " <enclosure url=\"{$news_tab[$i]["aimg"]}\" length=\"".filesize(".{$news_tab[$i]["rimg"]}")."\" type=\"picture/png\" />
<link>{$news_tab[$i]["alink"]}</link>
<description>{$news_tab[$i]["alink"]}</description>
";
}
else
{
echo " <description>{$news}</description>
";
}
echo " </item>
";
}
echo "</channel>
</rss>
";
$time_stop = microtime_float();
$time_elaps = intval( ( $time_stop - $time_start) * 1000) / 1000;
echo "<!-- Page generated in $time_elaps seconds by {$lmb_myname} (http://www.rx3.org/dvp/?dvp=".strtolower($lmb_myname).") V {$lmb_myver} -->
";
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* About Tab */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_about_tab( )
{
$about_file = "about.txt";
$about_string = file_get_contents( "{$about_file}");
ob_start();
echo " <tr class=\"about1\">
<td class=\"about01\"></td>
<td class=\"about1\">";
// echo str_replace( "\n", "<br/>\n ", "{$about_string}");
echo " ".lmb_html_text_format( "{$about_string}")."
</td>
<td class=\"about01\"></td>
</tr>
";
$data = ob_get_contents();
ob_end_clean();
lmb_make_tab( "about", "about", "l", "/images/lm-logo6-n-220.png", $data);
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* History Tab */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_history_tab()
{
$history_file = "history.txt";
$history_string = file_get_contents( "{$history_file}");
$history_tab = explode( "\n\n", "{$history_string}");
ob_start();
for( $i = 0; $i < count($history_tab); $i++)
{
$history_line = explode( "\n", "{$history_tab[$i]}");
$css_row = ( $i + 1) % 2 + 1;
echo " <tr class=\"history{$css_row}\">
<td class=\"history01\"></td>
<td class=\"history1\">{$history_line[0]}</td>
<td class=\"history2\">{$history_line[1]}</td>
<td class=\"history3\">
<br/>
";
for( $j = 2; $j < count($history_line); $j++)
{
echo " ".lmb_html_text_format( "{$history_line[$j]}")."<br/>
";
}
echo " <br/>
</td>
<td class=\"history01\"></td>
</tr>
";
}
$data = ob_get_contents();
ob_end_clean();
lmb_make_tab( "history", "history", "r", "/images/lm-logo6-n-220.png", $data);
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* About Body */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_about_body( $lmb_tab)
{
lmb_about_tab();
lmb_spacer(4);
lmb_history_tab();
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* About Page */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_about_page()
{
global $lmb_tab;
lmb_header( 1, "Langueur Monotone - About Page", "/images/title-about.png", "About", "Langueur Monotone about page, describing the project, the members and its history", "about", 0);
lmb_about_body( $lmb_tab);
lmb_footer();
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Play Info Get */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_play_info_get( $play_type, $play_id, $play_priority)
{
$play_path = "discography/{$play_type}/{$play_priority}-{$play_id}";
$cmd = "sed -e 's/\t*\t/\t/g' {$play_path}/.list";
$line = array();
$play_info = array();
exec( $cmd, $line);
$tab = explode( "\t", $line[0]);
$play_info["name"] = $tab[0];
$play_info["month"] = $tab[1];
$play_info["year"] = $tab[2];
$play_info["comment"] = $tab[3];
return($play_info);
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Play List Cur */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_playlist_cur( $play_type, $path, $row)
{
global $lmb_url;
$line=array();
$cmd="ls -d {$path}/??-* | sed -e 's/.*\///'";
exec($cmd, $line);
for( $i = 0; $i < count($line); $i++, $row++)
{
$play_tab = explode( "-", $line[$i]);
$play_priority = $play_tab[0];
$play_id = $play_tab[1];
if( ! file_exists( "{$path}/{$play_priority}-{$play_id}/.hide" ) || lmb_admin_is())
{
$play_info = lmb_play_info_get( $play_type, $play_id, $play_priority);
$css_row = ($row+1)%2+1;
$url = "{$lmb_url}?page=play&amp;type={$play_type}&amp;id={$play_tab[1]}&amp;priority={$play_tab[0]}";
echo " <tr class=\"play{$css_row}\"><td class=\"play1\"><a href=\"{$url}\"><img src=\"/{$path}/{$play_tab[0]}-{$play_tab[1]}/covers/{$play_tab[1]}-cover-1-icon.png\" alt=\"\"/></a></td><td class=\"play2\"><a href=\"{$url}\">{$play_info["name"]}</a></td><td class=\"play3\">&nbsp;{$play_info["month"]}</td><td class=\"play3\">&nbsp;{$play_info["year"]}&nbsp;</td><td class=\"play4\">{$play_info["comment"]}</td><td>&nbsp;</td></tr>
";
}
}
return( $row);
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Play List Next */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_playlist_next( $play_type, $path, $row)
{
$line=array();
$cmd="sed -e 's/\t*\t/\t/g' ${path}/.list";
exec($cmd, $line);
for( $i = 0; $i < count($line); $i++, $row++)
{
$tab=explode( "\t", $line[$i]);
if( ( count($tab) >4 ) && ( "{$tab[4]}" != ""))
{
$icon = "/images/{$tab[4]}";
}
else
{
$icon = "/images/unknown-cover-96.png";
}
$css_row=($row+1)%2+1;
if( count($tab) > 3)
{
$comment = $tab[3];
}
else
{
$comment = "";
}
echo " <tr class=\"play{$css_row}\"><td class=\"play1\"><img src=\"{$icon}\" alt=\"\"/></td><td class=\"play2\">{$tab[0]}</td><td class=\"play3\">&nbsp;{$tab[1]}</td><td class=\"play3\">&nbsp;{$tab[2]}&nbsp;</td><td class=\"play4\">{$comment}</td><td>&nbsp;</td></tr>
";
}
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Play List */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_playlist( $play_type, $side)
{
$row = 1;
ob_start();
$row = lmb_playlist_cur( $play_type, "discography/{$play_type}", $row);
$row = lmb_playlist_next( $play_type, "discography/{$play_type}", $row);
$data = ob_get_contents();
ob_end_clean();
lmb_make_tab( "{$play_type}", "play", $side, "/images/lm-logo3-n-96.png", $data);
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Discography Body */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_discography_body()
{
/* --- EP --- */
lmb_playlist( "ep", "l");
lmb_spacer( 5);
/* --- LP --- */
lmb_playlist( "lp", "r");
lmb_spacer( 5);
/* --- Oldies --- */
lmb_playlist( "oldies", "l");
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Discography Page */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_discography_page()
{
global $lmb_tab;
lmb_header( 2, "Langueur Monotone - Discography Page", "/images/title-discography.png", "Discography", "Langueur Monotone discography page, listing the released and the futures ep, lp and oldies", "discography", 0);
lmb_discography_body();
lmb_footer();
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Play Introduction */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_play_intro( $play_type, $play_id, $play_priority)
{
$play_path="discography/{$play_type}/{$play_priority}-{$play_id}";
$cover_path="{$play_path}/covers/{$play_id}-cover";
$logo_path="{$play_path}/logos/{$play_id}-logo";
echo " <tr>
<td class=\"body\" colspan=\"3\" rowspan=\"1\">
<table class=\"list\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"\">
<tbody>
<tr>
<td rowspan=\"2\" style=\"width: 286px; height: 286px;\">
<table class=\"list\" border=\"0\" cellpadding=\"0\" cellspacing=\"10\" style=\"\">
<tbody>
<tr>
<td class=\"cover\" style=\"width: 266px; height: 266px;\"><a href=\"{$cover_path}-1-1024.png\"><img src=\"{$cover_path}-1-256.png\" alt=\"\"/></a></td>
</tr>
</tbody>
</table>
</td>
<td colspan=\"2\" style=\"height: 40px;\">
<table class=\"list\" border=\"0\" cellpadding=\"0\" cellspacing=\"10\" style=\"\">
<tbody>
<tr class=\"intro0\">
<td class=\"intro0\">Introduction</td>
</tr>
<tr class=\"intro1\">
<td class=\"intro1\">
<br/>
";
$intro_file = "{$play_path}/.intro";
$intro_string = file_get_contents( "{$intro_file}");
echo " ".lmb_html_text_format( "{$intro_string}")."<br/>
";
echo " <br/>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=\"vertical-align: middle;\">
<table class=\"list\" border=\"0\" cellpadding=\"0\" cellspacing=\"10\" style=\"\">
<tbody>
<tr>
<td class=\"logo\"><img src=\"{$logo_path}-1-128.png\" alt=\"\"/><br/></td>
</tr>
</tbody>
</table>
</td>
<td rowspan=\"2\" style=\"width: 286px; height: 286px; vertical-align:bottom\">
<table class=\"list\" border=\"0\" cellpadding=\"0\" cellspacing=\"10\" style=\"\">
<tbody>
<tr>
<td class=\"cover\" style=\"width: 266px; height: 266px;\"><a href=\"{$cover_path}-2-1024.png\"><img src=\"{$cover_path}-2-256.png\" alt=\"\"/></a></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=\"2\" style=\"height: 40px;\">
<table class=\"list\" border=\"0\" cellpadding=\"0\" cellspacing=\"10\" style=\"\">
<tbody>
<tr class=\"hardware1\">
<td class=\"hardware1\">
<br/>
";
$hardware_file = "{$play_path}/.hardware";
$hardware_string = file_get_contents( "{$hardware_file}");
echo " ".lmb_html_text_format( "{$hardware_string}")."<br/>
";
echo " <br/>
</td>
</tr>
<tr class=\"hardware0\">
<td class=\"hardware0\">Hardware &amp; Software</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
";
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Track Info Get */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_track_info_get( $play_type, $play_id, $play_priority, $track_id)
{
$play_path = "discography/{$play_type}/{$play_priority}-{$play_id}";
$track_path = "{$play_path}/tracks";
$track_array = glob("{$track_path}/flac/{$track_id}-*.flac");
$track_file = $track_array[0];
$line = array();
$track_info = array();
if( count($track_array) == 0)
{
$track_info["status"] = 0;
}
else
{
$track_info["status"] = 1;
$cmd="eval \$( metaflac --export-tags-to=- \"${track_file}\" | grep -v -e \".* .*=\" -e \".*-.*=\" | sed -e 's/=/=\\\"/' -e 's/$/\"/')
echo -e \"\${TRACKNUMBER}\t\$(basename ${track_file} .flac)\t\${ARTIST}\t\${ALBUM}\t\$(echo \${TITLE} | sed 's/ (.*//')\t\$(echo \${TITLE} | sed -e 's/.* (//' -e 's/)$//')\t\${COMPOSER}\t\${COMMENT}\t\$(metaflac --show-sample-rate \"${track_file}\")\t\$(metaflac --show-total-samples \"${track_file}\")\t\${SAFECREATIVE}\"";
exec($cmd, $line);
$tab = explode( "\t", $line[0]);
$track_info["id"] = $tab[0];
$track_info["file"] = $tab[1];
$track_info["artist"] = $tab[2];
$track_info["album"] = $tab[3];
$track_info["title"] = $tab[4];
$track_info["mix"] = $tab[5];
$track_info["composer"] = $tab[6];
$track_info["comment"] = $tab[7];
$track_info["sample_rate"] = $tab[8];
$track_info["sample_nb"] = $tab[9];
if( "{$track_info["title"]}" == "{$track_info["mix"]}")
{
$track_info["mix"]="";
}
$total = intval( $track_info["sample_nb"] / $track_info["sample_rate"]);
$min = intval( $total / 60);
$sec = $total - $min * 60;
$track_info["length"] = "{$min}' {$sec}\"";
$track_info["duration"] = "PT{$min}M{$sec}S";
$track_info["safe_creative"] = $tab[10];
$search_tab = array( "/flac/", ".flac");
$replace_tab = array( "/mp3-192/", ".mp3");
$track_info["url"] = "/".str_replace( $search_tab, $replace_tab, "${track_file}");
}
return( $track_info);
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Track File Tag Get */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_track_file_tag_get( $play_type, $play_id, $play_priority, $track_id)
{
global $lmb_url;
$play_path = "discography/{$play_type}/{$play_priority}-{$play_id}";
$track_path = "{$play_path}/tracks";
$file_type_pat = "{$track_path}/{flac,ogg,mp3,med}*";
$file_dir_tab = glob( "{$file_type_pat}", GLOB_BRACE);
$file_tag = "";
foreach( $file_dir_tab as $file_dir)
{
$dir = basename( $file_dir);
$tab = explode( "-", $dir);
$file_type = $tab[0];
if( count( $tab) > 1)
{
$file_subtype = $tab[1];
}
else
{
$file_subtype = "";
}
if( "{$track_id}" == "00")
{
$file_pat = "{$track_path}/{$dir}/01-*.{$file_type}";
}
else
{
$file_pat = "{$track_path}/{$dir}/{$track_id}-*.{$file_type}";
}
$file_tab = glob( "{$file_pat}");
if( count( $file_tab) > 0)
{
$file_url = $file_tab[0];
}
else
{
$file_url = "";
}
$file_tag = "{$file_tag}<td class=\"tracks7\">";
if( count( glob( "{$file_url}")))
{
if( "{$track_id}" == "00")
{
$download_url = "{$lmb_url}?page=download&amp;type={$play_type}&amp;id={$play_id}&amp;priority={$play_priority}&amp;dtype=track&amp;ftype={$dir}";
$file_size = lmb_download_tracks( $play_type, $play_id, $play_priority, $dir, "SIZE");
$size_tab = lmb_size_convert( $file_size);
}
else
{
$download_url = "{$file_url}";
$size_tab = lmb_size_convert( filesize( "{$file_url}"));
}
$file_tag = "{$file_tag}<table class=\"list\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tbody><tr><td class=\"tracks7\"><a href=\"{$download_url}\">{$file_type} {$file_subtype}</a></td></tr><tr><td class=\"tracks8\">(${size_tab["size"]} {$size_tab["unit"]})</td></tr></tbody></table>";
}
$file_tag = "{$file_tag}</td>
";
}
return( "{$file_tag}");
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Track List Info Get */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_tracklist_info_get( $play_type, $play_id, $play_priority)
{
$play_path = "discography/{$play_type}/{$play_priority}-{$play_id}";
$track_path = "{$play_path}/tracks";
$track_list = glob( "{$track_path}/flac/*.flac");
$track_list_info = array();
for( $i = 0; $i < count($track_list); $i++)
{
$track_id = preg_replace( "/-.*/", "", basename( "{$track_list[$i]}", ".flac"));
$track_list_info[$i] = lmb_track_info_get( $play_type, $play_id, $play_priority, $track_id);
}
return( $track_list_info);
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Track List Microdata */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_tracklist_microdata( $play_type, $play_id, $play_priority)
{
$play_path = "discography/{$play_type}/{$play_priority}-{$play_id}";
$cover_path = "{$play_path}/covers/{$play_id}-cover";
$track_list_info = lmb_tracklist_info_get( $play_type, $play_id, $play_priority);
$tracks_nb = count($track_list_info);
echo " <div itemscope=\"itemscope\" itemtype=\"http://schema.org/MusicAlbum\">
<meta itemprop=\"name\" content=\"{$track_list_info[0]["album"]}\"/>
<meta itemprop=\"numtracks\" content=\"{$tracks_nb}\"/>
<meta itemprop=\"image\" content=\"{$cover_path}-1-128.png\"/>
<div itemscope=\"itemscope\" itemtype=\"http://schema.org/MusicGroup\">
<meta itemprop=\"name\" content=\"{$track_list_info[0]["artist"]}\"/>
</div>
";
for( $i = 0; $i < $tracks_nb; $i++)
{
echo " <div itemprop=\"tracks\" itemscope=\"itemscope\" itemtype=\"http://schema.org/MusicRecording\">
<meta itemprop=\"name\" content=\"{$track_list_info[$i]["title"]} ({$track_list_info[$i]["mix"]})\"/>
<meta itemprop=\"byArtist\" content=\"{$track_list_info[$i]["artist"]}\"/>
<meta itemprop=\"inAlbum\" content=\"{$track_list_info[$i]["album"]}\"/>
<meta itemprop=\"author\" content=\"{$track_list_info[$i]["composer"]}\"/>
<meta itemprop=\"duration\" content=\"{$track_list_info[$i]["duration"]}\"/>
<meta itemprop=\"version\" content=\"{$track_list_info[$i]["comment"]}\"/>
<meta itemprop=\"url\" content=\"{$track_list_info[$i]["url"]}\"/>
</div>
";
}
echo " </div>
";
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Track List */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_tracklist( $play_type, $play_id, $play_priority)
{
global $lmb_url;
$play_path = "discography/{$play_type}/{$play_priority}-{$play_id}";
$cover_path = "{$play_path}/covers/{$play_id}-cover";
$logo_path = "{$play_path}/logos/{$play_id}-logo";
$track_path = "{$play_path}/tracks";
$track_list_info = lmb_tracklist_info_get( $play_type, $play_id, $play_priority);
$track_nb = count($track_list_info);
ob_start();
$size = $track_nb + 1;
$height = 220/$size;
$file_tag = lmb_track_file_tag_get( "{$play_type}", "{$play_id}", "{$play_priority}", "00");
$title_tag = "<td class=\"tracks00\" rowspan=\"$size\">&nbsp;</td><td class=\"tracks0\" rowspan=\"$size\"><img src=\"/images/tab-tracks-r.png\" alt=\"\"/></td>";
echo " <tr class=\"tracks0\" style=\"height: {$height}px;\">
<td colspan=\"6\" class=\"tracks2\" style=\"text-align: left;\">
";
lmb_tracklist_microdata( $play_type, $play_id, $play_priority);
echo " &nbsp;&nbsp;&nbsp;Full Album including covers&nbsp;</td>
{$file_tag}
</tr>
";
for( $i = 0, $row = 1; $i < $track_nb; $i++, $row++)
{
$track_info = $track_list_info[$i];
$css_row = ($row+1)%2+1;
$track_id = str_pad( "{$track_info["id"]}", 2, '0', STR_PAD_LEFT);
$track_url = "{$lmb_url}?page=track&amp;type={$play_type}&amp;id={$play_id}&amp;priority={$play_priority}&amp;tid={$track_id}";
$file_tag = lmb_track_file_tag_get( $play_type, $play_id, $play_priority, $track_id);
echo " <tr class=\"tracks{$css_row}\" style=\"height: {$height}px;\">";
echo "<td class=\"tracks1\">&nbsp;{$track_info["id"]}&nbsp;</td><td class=\"tracks2\">&nbsp;<a href=\"{$track_url}\">{$track_info["title"]}</a>&nbsp;</td><td class=\"tracks3\">&nbsp;<a href=\"{$track_url}\">{$track_info["mix"]}</a>&nbsp;</td><td class=\"tracks4\">&nbsp;{$track_info["length"]}&nbsp;</td><td class=\"tracks5\">&nbsp;{$track_info["composer"]}&nbsp;</td><td class=\"tracks6\">&nbsp;{$track_info["comment"]}&nbsp;</td>{$file_tag}</tr>
";
}
$data = ob_get_contents();
ob_end_clean();
lmb_make_tab( "tracks", "tracks", "r", "/images/lm-logo3-n-96.png", $data);
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* File Entry Print */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_file_entry_print( $file_tab, $format_css_id, $size_css_id, $entry_tag, $max_nb)
{
echo "{$entry_tag}";
foreach( $file_tab as $file)
{
echo " <td class=\"{$format_css_id}\">
<table class=\"list\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
<tbody>
<tr><td class=\"{$format_css_id}\"><a href=\"{$file["url"]}\">{$file["format"]}</a></td></tr>
<tr><td class=\"{$size_css_id}\">(${file["size"]} {$file["unit"]})</td></tr>
</tbody>
</table>
</td>
";
}
for( $i = count( $file_tab); $i < $max_nb; $i++)
{
echo " <td class=\"{$format_css_id}\">
<table class=\"list\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
<tbody>
<tr><td class=\"{$format_css_id}\"></td></tr>
<tr><td class=\"{$size_css_id}\"></td></tr>
</tbody>
</table>
</td>
";
}
echo " </tr>
";
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Cover File Tab Get */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_cover_file_tab_get( $play_type, $play_id, $play_priority, $cover_id, $mode)
{
global $lmb_url;
$play_path="discography/{$play_type}/{$play_priority}-{$play_id}";
$cover_path="{$play_path}/covers";
$cmd = "ls {$cover_path}/{$play_id}-cover-1-*.png | sed -e 's/.*-//' -e 's/.png$//' | sort -rn";
exec( $cmd, $cover_format_tab);
$file_tab = array();
$file_tag = "";
for( $i = 0; $i < count($cover_format_tab); $i++)
{
$cover_format = "{$cover_format_tab[$i]}";
if( "{$cover_format}" != "icon")
{
$file_url = "{$cover_path}/{$play_id}-cover-{$cover_id}-{$cover_format}.png";
$file_tag = "{$file_tag}<td class=\"covers3\">";
if( count( glob( "{$file_url}")))
{
if( $mode == "MULTI")
{
$file_tab[$i]["url"] = "{$lmb_url}?page=download&amp;type={$play_type}&amp;id={$play_id}&amp;priority={$play_priority}&amp;dtype=cover&amp;cformat={$cover_format}";
$file_size = lmb_download_covers( $play_type, $play_id, $play_priority, $cover_format, "SIZE");
$size_tab = lmb_size_convert( $file_size);
}
else
{
$file_tab[$i]["url"] = "{$file_url}";
$size_tab = lmb_size_convert( filesize( "{$file_url}"));
}
$file_tab[$i]["format"] = "{$cover_format}";
$file_tab[$i]["size"] = "{$size_tab["size"]}";
$file_tab[$i]["unit"] = "{$size_tab["unit"]}";
}
}
}
return( $file_tab);
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Cover List */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_coverlist( $play_type, $play_id, $play_priority)
{
$play_path="discography/{$play_type}/{$play_priority}-{$play_id}";
$cover_path="{$play_path}/covers/{$play_id}-cover";
$logo_path="{$play_path}/logos/{$play_id}-logo";
ob_start();
$cmd="ls {$cover_path}-*-icon.png | sed -e 's/-icon.png$//' -e 's/.*-//'";
exec($cmd, $sheet_tab);
$size=count($sheet_tab) + 1;
// $height=220/$size;
// $height=110;
$height = max( 110, ( ( 220 - 30) / count($sheet_tab)));
$file_tab = lmb_cover_file_tab_get( $play_type, $play_id, $play_priority, "*", "MULTI");
$entry_tag = " <tr class=\"covers0\" style=\"height: 30px\">
<td class=\"covers2\" colspan=\"2\" style=\"text-align: left;\">&nbsp;&nbsp;All the Covers&nbsp;</td>
";
lmb_file_entry_print( $file_tab, "covers3", "covers4", "{$entry_tag}", count( $file_tab));
for( $i = 0; $i < count($sheet_tab); $i++)
{
if( $i == 0)
{
$sheet_name="Front";
}
else
{
if( $i == 1)
{
$sheet_name="Back";
}
else
{
$sheet_name=$i-1;
}
}
/* Cover Entry */
$file_tab = lmb_cover_file_tab_get( $play_type, $play_id, $play_priority, $i+1, "MONO");
$css_row = $i % 2 + 1;
$entry_tag = " <tr class=\"covers{$css_row}\" style=\"height: {$height}px\">
<td class=\"covers1\"><a href=\"{$file_tab[0]["url"]}\"><img src=\"{$cover_path}-{$sheet_tab[$i]}-icon.png\" alt=\"\"/></a></td>
<td class=\"covers2\">&nbsp;{$sheet_name}&nbsp;</td>";
lmb_file_entry_print( $file_tab, "covers3", "covers4", "{$entry_tag}", count( $file_tab));
}
$data = ob_get_contents();
ob_end_clean();
lmb_make_tab( "covers", "covers", "l", "{$logo_path}-2-128.png", $data);
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Video File Tab Get */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_video_file_tab_get( $play_type, $play_id, $play_priority, $video_id, $mode)
{
global $lmb_url;
$play_path="discography/{$play_type}/{$play_priority}-{$play_id}";
$video_path="{$play_path}/videos";
$cmd = "ls {$video_path}/{$video_id}-*-*-*.avi | sed -e 's/.*{$play_id}-.*-//' -e 's/.avi$//' | sort -rn";
exec( $cmd, $video_format_tab);
$file_tab = array();
for( $i = 0; $i < count($video_format_tab); $i++)
{
$video_format = "{$video_format_tab[$i]}";
$file_url = "{$video_path}/{$video_id}-*-{$video_format}.avi";
if( count( glob( "{$file_url}")))
{
if( $mode == "MULTI")
{
$file_tab[$i]["url"] = "{$lmb_url}?page=download&amp;type={$play_type}&amp;id={$play_id}&amp;priority={$play_priority}&amp;dtype=video&amp;vformat={$video_format}";
$file_size = lmb_download_videos( $play_type, $play_id, $play_priority, $video_format, "SIZE");
$size_tab = lmb_size_convert( $file_size);
}
else
{
$tab = glob( "{$file_url}");
$file_tab[$i]["url"] = "{$tab[0]}";
$size_tab = lmb_size_convert( filesize( "{$file_tab[$i]["url"]}"));
}
$file_tab[$i]["format"] = "{$video_format}";
$file_tab[$i]["size"] = "{$size_tab["size"]}";
$file_tab[$i]["unit"] = "{$size_tab["unit"]}";
}
}
return( $file_tab);
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Video List */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_videolist( $play_type, $play_id, $play_priority)
{
$play_path = "discography/{$play_type}/{$play_priority}-{$play_id}";
$video_path = "{$play_path}/videos";
$logo_path = "{$play_path}/logos/{$play_id}-logo";
ob_start();
$cmd="ls {$video_path}/*-icon.png | sed -e 's/-icon.png$//' -e 's/.*\///'";
exec($cmd, $video_tab);
if( count($video_tab) == 0 || ( file_exists( "{$video_path}/.hide" ) && ! lmb_admin_is()))
{
echo " <tr class=\"videos2\" style=\"height: 60px\"><td class=\"videos1\"></td><td class=\"videos2\">&nbsp;&nbsp;</td></tr>
<tr class=\"videos1\" style=\"height: 110px\"><td class=\"videos1\"><img src=\"/images/unknown-cover-96.png\" alt=\"\"/></td><td class=\"videos2\">&nbsp;No video found...&nbsp;</td></tr>
<tr class=\"videos2\" style=\"height: 60px\"><td class=\"videos1\"></td><td class=\"videos2\">&nbsp;&nbsp;</td></tr>
";
}
else
{
$height = max( 110, ( ( 220 - 30) / count($video_tab)));
$file_tab = lmb_video_file_tab_get( $play_type, $play_id, $play_priority, "*", "MULTI");
$entry_tag = "
<tr class=\"videos0\" style=\"height: 30px\">
<td class=\"videos2\" colspan=\"4\" style=\"text-align: left;\">&nbsp;&nbsp;All the Videos&nbsp;</td>
";
lmb_file_entry_print( $file_tab, "videos5", "videos6", $entry_tag, count( $file_tab));
for( $i = 0; $i < count($video_tab); $i++)
{
$tab = explode( "-", $video_tab[$i]);
$video_id = "{$tab[0]}";
$video_track = "{$tab[1]}";
$video_mix = "{$tab[2]}";
$video_track_name = ucwords( str_replace( "_", " ", "{$video_track}"));
$video_mix_name = ucwords( str_replace( "_", " ", "{$video_mix}"));
$video_file = "{$video_id}-{$video_track}-{$video_mix}";
/* Video Entry */
$file_tab = lmb_video_file_tab_get( $play_type, $play_id, $play_priority, $i+1, "MONO");
$css_row = $i % 2 + 1;
$entry_tag = " <tr class=\"videos{$css_row}\" style=\"height: {$height}px\">
<td class=\"videos1\"><a href=\"{$file_tab[0]["url"]}\"><img src=\"{$video_path}/{$video_file}-icon.png\" alt=\"\"/></a></td>
<td class=\"videos2\">&nbsp;{$video_id}&nbsp;</td>
<td class=\"videos3\">&nbsp;{$video_track_name}&nbsp;</td>
<td class=\"videos4\">&nbsp;{$video_mix_name}&nbsp;</td>
";
lmb_file_entry_print( $file_tab, "videos5", "videos6", "{$entry_tag}", count( $file_tab));
}
}
$data = ob_get_contents();
ob_end_clean();
lmb_make_tab( "videos", "videos", "r", "{$logo_path}-1-128.png", $data);
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Extra File Tab Get */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_extra_file_tab_get( $play_type, $play_id, $play_priority, $extra_id, $mode)
{
global $lmb_url;
$play_path="discography/{$play_type}/{$play_priority}-{$play_id}";
$extra_path="{$play_path}/extras";
$cmd = "ls {$extra_path}/{$play_id}-{$extra_id}-*.png | sed -e 's/.*-//' -e 's/.png$//' | sort -nu";
exec( $cmd, $extra_format_tab);
$file_tab = array();
$file_tag = "";
for( $i = 0; $i < count($extra_format_tab); $i++)
{
$extra_format = "{$extra_format_tab[$i]}";
if( "{$extra_format}" != "icon")
{
$file_url = "{$extra_path}/{$play_id}-{$extra_id}-{$extra_format}.png";
$file_tag = "{$file_tag}<td class=\"extras5\">";
if( count( glob( "{$file_url}")))
{
if( $mode == "MULTI")
{
$file_tab[$i]["url"] = "{$lmb_url}?page=download&amp;type={$play_type}&amp;id={$play_id}&amp;priority={$play_priority}&amp;dtype=extra&amp;eformat={$extra_id}-{$extra_format}";
$file_size = lmb_download_extras( $play_type, $play_id, $play_priority, $extra_format, "SIZE");
$size_tab = lmb_size_convert( $file_size);
}
else
{
$file_tab[$i]["url"] = "{$file_url}";
$size_tab = lmb_size_convert( filesize( "{$file_url}"));
}
$file_tab[$i]["format"] = "{$extra_format}";
$file_tab[$i]["size"] = "{$size_tab["size"]}";
$file_tab[$i]["unit"] = "{$size_tab["unit"]}";
}
}
}
return( $file_tab);
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Extra List */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_extralist( $play_type, $play_id, $play_priority)
{
$play_path = "discography/{$play_type}/{$play_priority}-{$play_id}";
$extra_path = "{$play_path}/extras";
ob_start();
$cmd="ls {$extra_path}/{$play_id}-*-*-icon.png | sed -e 's/-icon.png$//' -e 's/.*{$play_id}-.*-//' | sort -u";
exec($cmd, $format_tab);
if( count($format_tab) == 0 || ( file_exists( "{$extra_path}/.hide" ) && ! lmb_admin_is()))
{
echo " <tr class=\"extras2\" style=\"height: 60px\"><td class=\"extras1\"></td><td class=\"extras2\">&nbsp;&nbsp;</td></tr>
<tr class=\"extras1\" style=\"height: 110px\"><td class=\"extras1\"><img src=\"/images/unknown-cover-96.png\" alt=\"\"/></td><td class=\"extras2\">&nbsp;No extra found...&nbsp;</td></tr>
<tr class=\"extras2\" style=\"height: 60px\"><td class=\"extras1\"></td><td class=\"extras2\">&nbsp;&nbsp;</td></tr>
";
}
else
{
$format_nb = count($format_tab);
$title_tag = " <td class=\"extras2\" rowspan=\"{$format_nb}\" colspan=\"3\" style=\"text-align: left;\">&nbsp;&nbsp;All the Extras&nbsp;</td>
";
$file_tab = array();
$max_file_nb = 0;
foreach( $format_tab as $format)
{
$file_tab[ $format] = lmb_extra_file_tab_get( $play_type, $play_id, $play_priority, "*-{$format}", "MULTI");
$max_file_nb = max( $max_file_nb, count( $file_tab[ $format]));
}
foreach( $format_tab as $format)
{
$extra_format = str_replace( "_", "/", "{$format}");
$entry_tag = " <tr class=\"extras0\" style=\"height: 30px\">
${title_tag} <td class=\"extras4\">&nbsp;{$extra_format}&nbsp;</td>
";
lmb_file_entry_print( $file_tab[ $format], "extras5", "extras6", "{$entry_tag}", $max_file_nb);
$title_tag = "";
}
$cmd="ls {$extra_path}/{$play_id}-*-*-icon.png | sed -e 's/-icon.png$//' -e 's/.*{$play_id}-//' | sort ";
exec($cmd, $extra_tab);
$height = max( 86, ( ( 220 - 30 * $format_nb) / count($extra_tab)));
for( $i = 0; $i < count($extra_tab); $i++)
{
$tab = explode( "-", $extra_tab[$i]);
$extra_type = ucwords( $tab[0]);
$extra_subid = $tab[1];
$extra_format = str_replace( "_", "/", $tab[2]);
$extra_id = "{$tab[0]}-{$tab[1]}-{$tab[2]}";
$extra_prefix = "{$extra_path}/{$play_id}-{$extra_id}";
/* Extra Entry */
$file_tab = lmb_extra_file_tab_get( "{$play_type}", "{$play_id}", "{$play_priority}", "{$extra_id}", "MONO");
$css_row = $i % 2 + 1;
$entry_tag = " <tr class=\"extras{$css_row}\" style=\"height: {$height}px\">
<td class=\"extras1\"><a href=\"{$file_tab[1]["url"]}\"><img src=\"{$extra_prefix}-icon.png\" alt=\"\"/></a></td>
<td class=\"extras2\">&nbsp;{$extra_type}&nbsp;</td>
<td class=\"extras3\">&nbsp;{$extra_subid}&nbsp;</td>
<td class=\"extras4\">&nbsp;{$extra_format}&nbsp;</td>
";
lmb_file_entry_print( $file_tab, "extras5", "extras6", "{$entry_tag}", $max_file_nb);
}
}
$data = ob_get_contents();
ob_end_clean();
lmb_make_tab( "extras", "extras", "l", "/images/lm-logo3-n-96.png", $data);
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Links Tab */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_links_tab( $play_type, $play_id, $play_priority)
{
$play_path = "discography/{$play_type}/{$play_priority}-{$play_id}";
$global_links_file = ".links";
$local_links_file = "{$play_path}/.links";
$line = array();
$cmd = "cat ${local_links_file} ${global_links_file} | sed -e 's/\t*\t/\t/g'";
exec( $cmd, $line);
echo " <table class=\"tab\" border=\"0\" cellpadding=\"0\" cellspacing=\"5\" style=\"\">
<tbody>
";
for( $i = 0; $i < count($line); $i++)
{
$tab = explode( "\t", $line[$i]);
$css_row = ( $i + 1) % 2 + 1;
$text = lmb_html_text_format( "{$tab[0]}");
$link = htmlentities( "{$tab[1]}");
$image = "{$tab[2]}";
if( count( $tab) > 3)
{
$flag = "{$tab[3]}";
}
else
{
$flag = "";
}
if( $flag == "nf")
{
$attr = "rel=\"nofollow\" ";
}
else
{
$attr = "";
}
echo " <tr class=\"links1\">
<td class=\"links1\">
<a {$attr}href=\"{$link}\">{$text}</a>
</td>
<td class=\"links2\">
<a {$attr}href=\"{$link}\"><img src=\"{$image}\" width=\"16\" height=\"16\" alt=\"\"/></a>
</td>
</tr>
";
}
echo " <tr class=\"links0\">
<td class=\"links0\" colspan=\"2\">Links</td>
</tr>
</tbody>
</table>
";
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Play Last */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_play_last( $play_type, $play_id, $play_priority)
{
$play_path = "discography/{$play_type}/{$play_priority}-{$play_id}";
echo " <tr>
<td class=\"body\" colspan=\"3\" rowspan=\"1\">
<table class=\"tab\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"\">
<tbody>
<tr>
<td style=\"width: 66%;\">
<table class=\"tab\" border=\"0\" cellpadding=\"0\" cellspacing=\"10\" style=\"\">
<tbody>
<tr class=\"thanks0\">
<td class=\"thanks0\">Thanks</td>
</tr>
<tr class=\"thanks1\">
<td class=\"thanks1\">
";
$thanks_file = "{$play_path}/.thanks";
$thanks_string = file_get_contents( "{$thanks_file}");
echo " ".lmb_html_text_format( "{$thanks_string}")."<br/>
";
echo " </td>
</tr>
</tbody>
</table>
</td>
<td style=\"width: 33%;\">
";
lmb_links_tab( $play_type, $play_id, $play_priority);
echo " </td>
</tr>
</tbody>
</table>
</td>
</tr>
";
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Play Body */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_play_body( $play_type, $play_id, $play_priority)
{
/* --- Introduction --- */
lmb_play_intro( $play_type, $play_id, $play_priority);
lmb_spacer(4);
/* --- Tracks --- */
lmb_tracklist( $play_type, $play_id, $play_priority);
// lmb_tracklist_microdata( $play_type, $play_id, $play_priority);
lmb_spacer(5);
/* --- Covers --- */
lmb_coverlist( $play_type, $play_id, $play_priority);
lmb_spacer(5);
/* --- Videos --- */
lmb_videolist( $play_type, $play_id, $play_priority);
lmb_spacer(5);
/* --- Etras --- */
lmb_extralist( $play_type, $play_id, $play_priority);
lmb_spacer(4);
/* --- Last --- */
lmb_play_last( $play_type, $play_id, $play_priority);
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Play Type Name Get */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_play_type_name_get( $play_type_id)
{
switch( "{$play_type_id}")
{
case "ep":
{
return( "EP");
}
case "lp":
{
return( "LP");
}
case "oldies":
{
return( "Oldies");
}
}
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Play Name Get */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_play_name_get( $play_type, $play_id, $play_priority)
{
$play_info = lmb_play_info_get( $play_type, $play_id, $play_priority);
return( "{$play_info["name"]}");
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Play Title Get */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_play_title_get( $play_type, $play_id, $play_priority)
{
$play_name = lmb_play_name_get( $play_type, $play_id, $play_priority);
$play_type_name = lmb_play_type_name_get( $play_type);
return( "{$play_name} - {$play_type_name}");
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Play Page */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_play_page( $play_type, $play_id, $play_priority)
{
global $lmb_tab;
$play_info = lmb_play_info_get( $play_type, $play_id, $play_priority);
/*
$play_name = lmb_play_type_name_get( $play_type);
$play_title = "{$play_info["name"]} - {$play_name}";
*/
$play_title = lmb_play_title_get( $play_type, $play_id, $play_priority);
$play_image = "{$play_type}";
// lmb_header( 3, "Langueur Monotone - {$play_title} Page", "/images/title-{$play_image}.png", "{$play_name}", "Langueur Monotone play page, giving all the information about {$play_info["name"]} {$play_name}", "{$play_type},{$play_info["name"]}", 0);
lmb_header( 3, "Langueur Monotone - {$play_title} Page", "/images/title-{$play_image}.png", "{$play_title}", "Langueur Monotone play page, giving all the information about {$play_info["name"]} {$play_name}", "{$play_type},{$play_info["name"]}", 0);
lmb_play_body( $play_type, $play_id, $play_priority);
lmb_footer();
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Track Info */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_track_info( $play_type, $play_id, $play_priority, $track_id)
{
global $lmb_url;
$track_info = lmb_track_info_get( $play_type, $play_id, $play_priority, $track_id);
$height=220/8;
if ($track_info["safe_creative"] != "")
{
$rowspan = 9;
}
else
{
$rowspan = 8;
}
/*
echo " <div itemscope itemtype=\"http://schema.org/MusicGroup\">
<meta itemprop=\"name\" content=\"{$track_info["artist"]}\">
<div itemprop=\"tracks\" itemscope itemtype=\"http://schema.org/MusicRecording\">
<meta itemprop=\"inAlbum\" content=\"{$track_info["album"]}\">
<meta itemprop=\"name\" content=\"{$track_info["title"]} ({$track_info["mix"]})\">
<meta itemprop=\"url\" content=\"http://ddddddddd\">
<meta itemprop=\"author\" content=\"{$track_info["composer"]}\">
<meta itemprop=\"duration\" content=\"PT10M33S\">
</div>
</div>
";
*/
echo " <table class=\"list\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
<tbody>
<tr>
<td>
<table class=\"list\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
<tbody>
<tr class=\"info1\" style=\"height: {$height}px;\">
<td class=\"info1\">Group Name</td>
<td class=\"info2\"><a href=\"{$lmb_url}?page=discography\">{$track_info["artist"]}</a></td>
</tr>
<tr class=\"info2\" style=\"height: {$height}px;\">
<td class=\"info1\">Album</td>
<td class=\"info2\"><a href=\"{$lmb_url}?page=play&amp;type={$play_type}&amp;id={$play_id}&amp;priority={$play_priority}\">{$track_info["album"]}</a></td>
</tr>
<tr class=\"info1\" style=\"height: {$height}px;\">
<td class=\"info1\">Track Number</td>
<td class=\"info2\">{$track_info["id"]}</td>
</tr>
<tr class=\"info2\" style=\"height: {$height}px;\">
<td class=\"info1\">Track Name</td>
<td class=\"info2\">{$track_info["title"]}</td>
</tr>
<tr class=\"info1\" style=\"height: {$height}px;\">
<td class=\"info1\">Mix Name</td>
<td class=\"info2\">{$track_info["mix"]}</td>
</tr>
<tr class=\"info2\" style=\"height: {$height}px;\">
<td class=\"info1\">Composer</td>
<td class=\"info2\">{$track_info["composer"]}</td>
</tr>
<tr class=\"info1\" style=\"height: {$height}px;\">
<td class=\"info1\">Comment</td>
<td class=\"info2\">{$track_info["comment"]}</td>
</tr>
<tr class=\"info2\" style=\"height: {$height}px;\">
<td class=\"info1\">Length</td>
<td class=\"info2\">{$track_info["length"]}</td>
</tr>
";
if ($track_info["safe_creative"] != "")
{
echo " <tr class=\"info1\" style=\"height: {$height}px;\">
<td class=\"info1\">Safe Creative</td>
<td class=\"info2\"><a rel=\"nofollow\" href=\"{$track_info["safe_creative"]}\">Link</a></td>
</tr>
";
}
echo " </tbody>
</table>
</td>
</tr>
</tbody>
</table>
";
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Track Lyrics */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_track_lyrics( $play_type, $play_id, $play_priority, $track_id, $track_name, $track_mix)
{
$play_path = "discography/{$play_type}/{$play_priority}-{$play_id}";
$cover_path = "{$play_path}/covers/{$play_id}-cover";
$logo_path = "{$play_path}/logos/{$play_id}-logo";
$track_path = "{$play_path}/tracks";
$lyrics_file = "tracks/{$track_name}/{$track_mix}/lyrics.txt";
echo " <table class=\"tab\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
<tbody>
<tr class=\"lyrics1\">
<td class=\"lyrics1\">
<br/>
";
if( file_exists( "{$lyrics_file}"))
{
$lyrics_string = file_get_contents( "{$lyrics_file}");
}
else
{
$lyrics_string = "No lyrics found...\n";
}
echo str_replace( "\n", "<br/>\n ", "{$lyrics_string}");
echo "<br/>
</td>
</tr>
</tbody>
</table>
";
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* JPlayer Insert */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_jplayer_insert( $play_type, $play_id, $play_priority, $track_id, $track_name, $track_mix)
{
global $lmb_cookie_tab;
global $lmb_url;
$play_path = "discography/{$play_type}/{$play_priority}-{$play_id}";
$track_path = "{$play_path}/tracks";
if( "{$track_mix}" == "")
{
$track_file_base = "{$track_id}-{$track_name}";
}
else
{
$track_file_base = "{$track_id}-{$track_name}-{$track_mix}";
}
$track_file_ogg = "{$track_path}/ogg-256/{$track_file_base}.ogg";
$track_file_mp3 = "{$track_path}/mp3-192/{$track_file_base}.mp3";
$solution_cookie = "jpsolution";
$prefix_url = "{$lmb_url}?cookie_id={$solution_cookie}&cookie_value=";
$query_string = preg_replace( "/cookie_id={$solution_cookie}&cookie_value=[^&]*&/", "", "{$_SERVER['QUERY_STRING']}");
$solution_html_url = htmlentities( "{$prefix_url}html, flash&{$query_string}");
$solution_flash_url = htmlentities( "{$prefix_url}flash, html&{$query_string}");
$solution_value = $lmb_cookie_tab[$solution_cookie];
if( "{$solution_value}" == "html, flash")
{
$html_class = "jp-on";
$flash_class = "jp-off";
}
else
{
$html_class = "jp-off";
$flash_class = "jp-on";
}
echo "
<table class=\"list\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
<tbody>
<tr>
<td style=\"background-color:#3a2a45; border-top:1px solid #554461; border-bottom:1px solid #180a1f; border-left:1px solid #554461;\">&nbsp;</td>
<td style=\"width: 1%;\">
<script type=\"text/javascript\" src=\"/jplayer/jquery.min.js\"></script>
<script type=\"text/javascript\" src=\"/jplayer/jquery.jplayer.min.js\"></script>
<script type=\"text/javascript\" src=\"/jplayer/jquery.jplayer.min.js\"></script>
<script type=\"text/javascript\" src=\"/jplayer/jquery.jplayer.inspector.js\"></script>
<script type=\"text/javascript\">
//<![CDATA[
$(document).ready(function(){
$(\"#jquery_jplayer_1\").jPlayer({
ready: function () {
$(this).jPlayer(\"setMedia\", {
oga:\"http://www.langueur-monotone.com/{$track_file_ogg}\",
mp3:\"http://www.langueur-monotone.com/{$track_file_mp3}\"
}).jPlayer(\"play\");
},
swfPath: \"/jplayer\",
solution: \"{$solution_value}\",
supplied: \"oga, mp3\",
wmode: \"window\",
backgroundColor: \"#012345\"
});
$(\"#jplayer_inspector\").jPlayerInspector({jPlayer:$(\"#jquery_jplayer_1\")});
});
//]]>
</script>
<div id=\"jquery_jplayer_1\" class=\"jp-jplayer\"></div>
<div id=\"jp_container_1\" class=\"jp-audio\">
<div class=\"jp-type-single\">
<div class=\"jp-gui jp-interface\">
<ul class=\"jp-controls\">
<li><a href=\"javascript:;\" class=\"jp-play\" tabindex=\"1\">play</a></li>
<li><a href=\"javascript:;\" class=\"jp-pause\" tabindex=\"1\">pause</a></li>
<li><a href=\"javascript:;\" class=\"jp-stop\" tabindex=\"1\">stop</a></li>
<li><a href=\"javascript:;\" class=\"jp-mute\" tabindex=\"1\" title=\"mute\">mute</a></li>
<li><a href=\"javascript:;\" class=\"jp-unmute\" tabindex=\"1\" title=\"unmute\">unmute</a></li>
<li><a href=\"javascript:;\" class=\"jp-volume-max\" tabindex=\"1\" title=\"max volume\">max volume</a></li>
</ul>
<div class=\"jp-progress\">
<div class=\"jp-seek-bar\">
<div class=\"jp-play-bar\"></div>
</div>
</div>
<div class=\"jp-volume-bar\">
<div class=\"jp-volume-bar-value\"></div>
</div>
<div class=\"jp-current-time\"></div>
<div class=\"jp-duration\"></div>
<ul class=\"jp-toggles\">
<li><a href=\"javascript:;\" class=\"jp-repeat\" tabindex=\"1\" title=\"repeat\">repeat</a></li>
<li><a href=\"javascript:;\" class=\"jp-repeat-off\" tabindex=\"1\" title=\"repeat off\">repeat off</a></li>
</ul>
</div>
<div class=\"jp-no-solution\">
<span>Update Required</span>
To play the media you will need to either update your browser to a recent version or update your <a rel=\"nofollow\" href=\"http://get.adobe.com/flashplayer/\">Flash plugin</a>.
</div>
<div style=\"font-size: 12px;\"><a rel=\"nofollow\" class=\"{$html_class}\" href=\"{$solution_html_url}\">Force HTML</a>&nbsp;<a rel=\"nofollow\" class=\"{$flash_class}\" href=\"{$solution_flash_url}\">Force Flash</a></div>
</div>
</div>
";
/*
echo " <div id=\"jplayer_inspector\"></div>
";
*/
/*
echo " <div><a href=\"{$lmb_url}?cookie_id={$solution_cookie}&amp;cookie_value={$solution_html_url}&amp;{$query_string}\" style=\"color:#FFFFFF; background-color: black;\">ZZZForce HTML</a>&nbsp;<a href=\"{$lmb_url}?cookie_id={$solution_cookie}&amp;cookie_value={$solution_flash_url}&amp;{$query_string}\">Force Flash</a></div>
";
*/
echo " </td>
<td style=\"background-color:#3a2a45; border-top:1px solid #554461; border-bottom:1px solid #180a1f; border-right:1px solid #180a1f;\">&nbsp;</td>
</tr>
</tbody>
</table>
";
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Track Introduction */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_track_intro( $play_type, $play_id, $play_priority, $track_id, $track_name, $track_mix)
{
$play_path="discography/{$play_type}/{$play_priority}-{$play_id}";
$cover_path="{$play_path}/covers/{$play_id}-cover";
$logo_path="{$play_path}/logos/{$play_id}-logo";
$track_path="{$play_path}/tracks";
$cover_size = 400;
$border1_size= $cover_size + 30;
$border2_size= $cover_size + 10;
echo " <tr><td><br/></td></tr>
<tr>
<td class=\"body\" colspan=\"3\" rowspan=\"1\">
<table class=\"list\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"\">
<tbody>
<tr>
<td>
<table class=\"list\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"\">
<tbody>
<tr>
<td rowspan=\"2\" style=\"width: {$border1_size}px; height: {$border1_size}px;\">
<table class=\"list\" border=\"0\" cellpadding=\"0\" cellspacing=\"10\" style=\"\">
<tbody>
<tr>
<td class=\"cover\" style=\"width: {$border2_size}px; height: {$border2_size}px;\"><a href=\"{$cover_path}-1-1024.png\"><img src=\"{$cover_path}-1-{$cover_size}.png\" alt=\"\"/></a></td>
</tr>
</tbody>
</table>
</td>
<td style=\"height: 40px; width: auto;\">
<table class=\"list\" border=\"0\" cellpadding=\"0\" cellspacing=\"10\" style=\"\">
<tbody>
<tr class=\"info0\" style=\"height: 0px;\">
<td class=\"info0\">Informations</td>
</tr>
<tr>
<td>
";
lmb_track_info( $play_type, $play_id, $play_priority, $track_id);
// echo "<br/>";
echo " </td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
<table class=\"list\" border=\"0\" cellpadding=\"0\" cellspacing=\"10\" style=\"\">
<tbody>
<tr>
<td>
";
lmb_jplayer_insert( $play_type, $play_id, $play_priority, $track_id, $track_name, $track_mix);
echo " </td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
<table class=\"tab\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"\">
<tbody>
<tr>
<td style=\"height: 100%; vertical-align:bottom\">
<table class=\"tab\" border=\"0\" cellpadding=\"0\" cellspacing=\"10\" style=\"text-align: left; width: 100%; height: 100%;\">
<tbody>
<tr>
<td>
";
lmb_track_lyrics( $play_type, $play_id, $play_priority, $track_id, $track_name, $track_mix);
echo " </td>
</tr>
<tr class=\"lyrics0\">
<td class=\"lyrics0\">Lyrics</td>
</tr>
</tbody>
</table>
</td>
<td style=\"width: {$border1_size}px; height: {$border1_size}px; vertical-align:bottom\">
<table class=\"list\" border=\"0\" cellpadding=\"0\" cellspacing=\"10\" style=\"\">
<tbody>
<tr>
<td class=\"cover\" style=\"width: {$border2_size}px; height: {$border2_size}px;\"><a href=\"{$cover_path}-2-1024.png\"><img src=\"{$cover_path}-2-{$cover_size}.png\" alt=\"\"/></a></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr><td><br/><br/><br/><br/><br/></td></tr>
";
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Track Download */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_track_download( $play_type, $play_id, $play_priority, $track_id, $track_name, $track_mix)
{
global $lmb_url;
$play_path ="discography/{$play_type}/{$play_priority}-{$play_id}";
$logo_path ="{$play_path}/logos/{$play_id}-logo";
$track_path ="{$play_path}/tracks";
$file_tag = lmb_track_file_tag_get( $play_type, $play_id, $play_priority, $track_id);
echo " <tr><td><br/></td></tr>
<tr>
<td colspan=\"3\">
<table class=\"list\" border=\"0\" cellpadding=\"0\" cellspacing=\"10\">
<tbody>
<tr>
<td class=\"logo\" style=\"width: 128px;\"><img src=\"/images/lm-logo3-n-96.png\" alt=\"\"/></td>
<td class=\"body\">
<table class=\"list\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
<tbody>
<tr class=\"row0\">
<td class=\"title_r\" colspan=\"5\">Download&nbsp;</td>
</tr>
<tr class=\"row3\">{$file_tag}</tr>
</tbody>
</table>
<br/>
<table class=\"list\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
<tbody>
";
$mix_list = glob( "discography/*/*/tracks/flac/*-{$track_name}*.flac");
for( $i = 0, $k = 0; $i < count( $mix_list); $i++)
{
$path_tab = explode( "/", $mix_list[$i]);
$play_tab = explode( "-", $path_tab[2]);
$track_tab = explode( "-", $path_tab[5]);
$play_type = $path_tab[1];
$play_pri = $play_tab[0];
$play_id = $play_tab[1];
if( file_exists( "discography/{$play_type}/{$play_pri}-{$play_id}/.hide" ))
{
$hide = "y";
}
else
{
$hide = "n";
}
if( ( $hide == "n") || lmb_admin_is())
{
$mix_tab[$k]["hide"] = $hide;
$mix_tab[$k]["play_type"] = $play_type;
$mix_tab[$k]["play_type_name"] = lmb_play_type_name_get( $path_tab[1]);
$mix_tab[$k]["play_id"] = $play_id;
$mix_tab[$k]["play_pri"] = $play_pri;
$mix_tab[$k]["track_id"] = $track_tab[0];
$mix_tab[$k]["play_url"] = "{$lmb_url}?page=play&amp;type={$mix_tab[$k]["play_type"]}&amp;id={$mix_tab[$k]["play_id"]}&amp;priority={$mix_tab[$k]["play_pri"]}";
$mix_tab[$k]["mix_url"] = "{$lmb_url}?page=track&amp;type={$mix_tab[$k]["play_type"]}&amp;id={$mix_tab[$k]["play_id"]}&amp;priority={$mix_tab[$k]["play_pri"]}&amp;tid={$mix_tab[$k]["track_id"]}";
$track_info = lmb_track_info_get( $mix_tab[$k]["play_type"], $mix_tab[$k]["play_id"], $mix_tab[$k]["play_pri"], $mix_tab[$k]["track_id"]);
$mix_tab[$k]["track_name"] = $track_info["title"];
$mix_tab[$k]["mix_name"] = $track_info["mix"];
$mix_tab[$k]["play_name"] = $track_info["album"];
$k++;
}
}
for( $k = 0; $k < count( $mix_tab); $k++)
{
if( "{$mix_tab[$k]["hide"]}" == "y")
{
$hide_flag="*";
}
else
{
$hide_flag="";
}
$css_row = ( $k + 1 + count( $mix_tab)) % 2 + 3;
echo " <tr class=\"row${css_row}\">
<td class=\"tracks2\"><a href=\"{$mix_tab[$k]["mix_url"]}\">{$mix_tab[$k]["track_name"]}{$hide_flag}</a></td>
<td class=\"tracks3\"><a href=\"{$mix_tab[$k]["mix_url"]}\">{$mix_tab[$k]["mix_name"]}</a></td>
<td class=\"tracks2\">{$mix_tab[$k]["play_type_name"]}</td>
<td class=\"tracks3\"><a href=\"{$mix_tab[$k]["play_url"]}\">{$mix_tab[$k]["play_name"]}</a></td>
</tr>
";
}
echo " <tr class=\"row0\">
<td class=\"title_r\" colspan=\"4\">Mixes&nbsp;</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
";
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Track Body */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_track_body( $play_type, $play_id, $play_priority, $track_id)
{
$play_path = "discography/{$play_type}/{$play_priority}-{$play_id}";
$track_path = "{$play_path}/tracks";
$track_file_name = glob( "{$track_path}/flac/$track_id-*.flac");
$tab = explode( "-", basename( "{$track_file_name[0]}", ".flac"));
$track_name = $tab[1];
$track_mix = $tab[2];
/* --- Introduction --- */
lmb_track_intro( $play_type, $play_id, $play_priority, $track_id, $track_name, $track_mix);
/* --- Download --- */
lmb_track_download( $play_type, $play_id, $play_priority, $track_id, $track_name, $track_mix);
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Track Page */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_track_page( $play_type, $play_id, $play_priority, $track_id)
{
global $lmb_tab;
$track_info = lmb_track_info_get( $play_type, $play_id, $play_priority, $track_id);
// lmb_header( 4, "Langueur Monotone - Track Page", "/images/title-track.png", "Track", 962);
// lmb_header( 4, "Langueur Monotone - {$track_title} Page", "/images/title-track.png", "Track", "track,{$track_info["title"]},{$track_info["title"]} {$track_info["mix"]}", 1234);
if( "{$track_info["mix"]}" == "")
{
$track_title = "{$track_info["title"]} - Track";
lmb_header( 4, "Langueur Monotone - {$track_title} Page", "/images/title-track.png", "{$track_title}", "Langueur Monotone track page, giving all the information about {$track_info["title"]} track", "track,{$track_info["title"]},{$track_info["title"]}", 962);
}
else
{
$track_title = "{$track_info["title"]} ({$track_info["mix"]}) - Track";
lmb_header( 4, "Langueur Monotone - {$track_title} Page", "/images/title-track.png", "{$track_title}", "Langueur Monotone track page, giving all the information about {$track_info["title"]} ({$track_info["mix"]}) track", "track,{$track_info["title"]},{$track_info["title"]} {$track_info["mix"]}", 962);
}
lmb_track_body( $play_type, $play_id, $play_priority, $track_id);
lmb_footer();
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Download ZIP */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_download_zip( $directory, $file_list, $mode)
{
switch($mode)
{
case "SIZE":
{
return( exec( "cd {$directory}; du -cb ${file_list} | tail -1 | cut -f 1"));
}
case "RSIZE":
{
return( exec( "cd {$directory}; zip -0 -j -p - ${file_list} | wc -c"));
}
case "DUMP":
{
passthru( "cd {$directory}; zip -0 -j -p - ${file_list}");
break;
}
}
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Download File */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_download_file( $play_dir, $file_list, $mode, $download_name)
{
if( $mode == "SIZE")
{
return( lmb_download_zip( "{$play_dir}", $file_list, "SIZE"));
}
else
{
$zip_size = lmb_download_zip( "{$play_dir}", $file_list, "RSIZE");
header( "Content-Description: Langueur Monotone - {$download_name}");
header( 'Content-Type: application/zip');
header( 'Content-Disposition: attachment; filename="'."langueur_monotone-{$download_name}.zip".'"');
header( 'Content-Length: ' . $zip_size);
$zip_size = lmb_download_zip( "{$play_dir}", $file_list, "DUMP");
}
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Download Tracks */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_download_tracks( $play_type, $play_id, $play_priority, $file_type, $mode)
{
$play_dir = "discography/{$play_type}/{$play_priority}-{$play_id}";
$file_list = "tracks/{$file_type}/* covers/{$play_id}-*-800.png";
return( lmb_download_file( $play_dir, $file_list, $mode, "{$play_id}-{$file_type}"));
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Download Covers */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_download_covers( $play_type, $play_id, $play_priority, $cover_format, $mode)
{
$play_dir = "discography/{$play_type}/{$play_priority}-{$play_id}";
$file_list = "covers/{$play_id}-cover-*-{$cover_format}.png";
return( lmb_download_file( $play_dir, $file_list, $mode, "{$play_id}-{$cover_format}"));
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Download Videos */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_download_videos( $play_type, $play_id, $play_priority, $video_format, $mode)
{
$play_dir = "discography/{$play_type}/{$play_priority}-{$play_id}";
$file_list = "videos/*-{$video_format}.avi";
return( lmb_download_file( $play_dir, $file_list, $mode, "{$play_id}-{$video_format}"));
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Download Extras */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_download_extras( $play_type, $play_id, $play_priority, $extra_format, $mode)
{
$play_dir = "discography/{$play_type}/{$play_priority}-{$play_id}";
$file_list = "extras/{$play_id}-*-{$extra_format}.png";
return( lmb_download_file( $play_dir, $file_list, $mode, "{$play_id}-{$extra_format}"));
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_header_old( $id, $name, $summary, $curver, $currel)
{
$page_name="Rx3 $name Home Page";
$page_title="$page_name !";
global $lmb_url;
global $lmb_page_header;
global $lmb_keywords;
$keywords="$lmb_keywords,$id";
include "$lmb_page_header";
echo " <META NAME=\"keywords\" CONTENT=\"$keywords\">
<TITLE>$page_name</TITLE>
</HEAD>
<BODY>
<H1>$page_title</H1>
<H4>$summary</H4>
<H4>$curver-$currel</H4>
<H5><A HREF=\"..\">Rx3.Org Main Page</A>&nbsp;&nbsp;/&nbsp;&nbsp;<A HREF=\"$lmb_url\">Rx3 Free Software Packaging Main Page</A></H5>
<HR>
";
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_body( $id, $name, $curver, $currel)
{
global $lmb_download_http_url;
global $lmb_download_ftp_url;
$description = lmb_tag_get( $id, $curver, $currel, "", "%{DESCRIPTION}");
$change_log = lmb_tag_get( $id, $curver, $currel, "", "%{CHANGELOGTIME:date} %{CHANGELOGNAME}\n%{CHANGELOGTEXT}");
echo " <P>
<BR/>
<BR/>
</P>
<PRE>
";
lmb_tab_dump( $description, 0);
echo " </PRE>
<P>
<BR/>
<BR/>
</P>
";
echo " <P>
<BR/>
</P>
<HR>
<H5>Last Release Notes:</H5>
";
echo " <PRE>
";
lmb_tab_dump( $change_log, 0);
echo " </PRE>
";
$lmb_list = lmb_list_get( $id, $curver, $currel);
if( $lmb_list != "")
{
echo" <HR>
<H5>Sub-Package List:</H5><P>";
for( $i = 0; $i < count($lmb_list); $i++)
{
echo "&nbsp;&nbsp;&nbsp;$lmb_list[$i]";
}
echo "</P>
";
}
echo" <HR>
<H5>";
echo "<A HREF=\"?pkg=$id&amp;cl=yes\">$name changelog page</A>&nbsp;&nbsp;&nbsp;";
echo "<A HREF=\"?pkg=$id&amp;fl=yes\">$name file list page</A>&nbsp;&nbsp;&nbsp;";
echo "<A HREF=\"$lmb_download_http_url/$id\">$name HTTP download page</A>&nbsp;&nbsp;&nbsp;";
echo "<A HREF=\"$lmb_download_ftp_url/$id\">$name FTP download page</A>&nbsp;&nbsp;&nbsp;";
echo "</H5>";
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_page( $lmb_id, $lmb_name, $lmb_curver, $lmb_currel)
{
$summary = lmb_tag_get( $lmb_id, $lmb_curver, $lmb_currel, "", "%{SUMMARY}");
$lmb_summary = $summary[0];
lmb_header( $lmb_id, $lmb_name, $lmb_summary, $lmb_curver, $lmb_currel);
lmb_body( $lmb_id, $lmb_name, $pkg_curver, $pkg_currel);
pkg_footer();
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_cl_header( $id, $name, $curver, $currel)
{
$page_name="Rx3 $name ChangeLog Page";
$page_title="$page_name";
global $lmb_url;
global $lmb_header;
global $lmb_keywords;
$keywords="$lmb_keywords,$id, rx3 $id changelog";
include "$lmb_header";
echo " <META NAME=\"keywords\" CONTENT=\"$keywords\">
<TITLE>$page_name</TITLE>
</HEAD>
<BODY>
<H1>$page_title</H1>
<H4>$curver-$currel</H4>
<H5><A HREF=\"..\">Rx3.Org Main Page</A>&nbsp;&nbsp;/&nbsp;&nbsp;<A HREF=\"$lmb_url\">Rx3 Free Software Packaging Main Page</A>&nbsp;&nbsp;/&nbsp;&nbsp;<A HREF=\"$lmb_url?pkg=$id\">Rx3 $name Home Page</A></H5>
<HR>
";
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_cl_body( $id, $curver, $currel)
{
echo " <PRE>
";
$changelog_tab = lmb_tag_get( $id, $curver, $currel, "", "[\n%{CHANGELOGTIME:date} %{CHANGELOGNAME}\n%{CHANGELOGTEXT}\n]");
lmb_tab_dump( $changelog_tab, 0);
echo " </PRE>
";
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_cl_page( $lmb_id, $lmb_name, $lmb_curver, $lmb_currel)
{
lmb_cl_header( $lmb_id, $lmb_name, $lmb_curver, $lmb_currel);
lmb_cl_body( $lmb_id, $lmb_curver, $lmb_currel);
lmb_footer();
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_fl_header( $id, $name, $curver, $currel)
{
$page_name="Rx3 $name File List Page";
$page_title="$page_name";
global $lmb_url;
global $lmb_header;
global $lmb_keywords;
$keywords="$lmb_keywords,$id, rx3 $id file list";
include "$lmb_header";
echo " <META NAME=\"keywords\" CONTENT=\"$keywords\">
<TITLE>$page_name</TITLE>
</HEAD>
<BODY>
<H1>$page_title</H1>
<H4>$curver-$currel</H4>
<H5><A HREF=\"..\">Rx3.Org Main Page</A>&nbsp;&nbsp;/&nbsp;&nbsp;<A HREF=\"$lmb_url\">Rx3 Free Software Packaging Main Page</A>&nbsp;&nbsp;/&nbsp;&nbsp;<A HREF=\"$lmb_url?pkg=$id\">$name Home Page</A></H5>
<HR>
";
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_fl_body( $id, $curver, $currel)
{
$lmb_list = lmb_list_get( $id, $curver, $currel);
if( $lmb_list != "")
{
for( $i = 0; $i < count($lmb_list); $i++)
{
echo" <H5>Sub-Package $lmb_list[$i]:</H5>
<PRE>";
$filelist_tab = lmb_tag_get( $id, $curver, $currel, $lmb_list[$i], "[%{FILENAMES}\n]");
lmb_tab_dump( $filelist_tab, 0);
echo " </PRE>
";
if( $i < count($lmb_list) - 1)
{
echo" <HR>
";
}
}
}
else
{
echo " <PRE>
";
$filelist_tab = lmb_tag_get( $id, $curver, $currel, "", "[%{FILENAMES}\n]");
lmb_tab_dump( $filelist_tab, 0);
echo " </PRE>
";
}
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_fl_page( $lmb_id, $lmb_name, $lmb_curver, $lmb_currel)
{
lmb_fl_header( $lmb_id, $lmb_name, $lmb_curver, $lmb_currel);
lmb_fl_body( $lmb_id, $lmb_curver, $lmb_currel);
lmb_footer();
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Get Proceed */
/*--------------------------------------------------------------------------------------------------------------------*/
function lmb_get_proceed( $get_array)
{
global $lmb_tab;
lmb_admin_update();
lmb_cookie_update( $get_array);
if( array_key_exists ( "page", $get_array))
{
$page_id=$get_array["page"];
}
else
{
$page_id="";
}
switch ($page_id)
{
case "sitemap":
{
lmb_sitemap_page( );
break;
}
case "rss":
{
lmb_rss_page( );
break;
}
case "about":
{
lmb_about_page( $lmb_tab);
break;
}
case "discography":
{
lmb_discography_page( $lmb_tab);
break;
}
case "play":
{
$play_type=$get_array["type"];
$play_id=$get_array["id"];
$play_priority=$get_array["priority"];
lmb_play_page( $play_type, $play_id, $play_priority);
break;
}
case "track":
{
$play_type=$get_array["type"];
$play_id=$get_array["id"];
$play_priority=$get_array["priority"];
$track_id=$get_array["tid"];
lmb_track_page( $play_type, $play_id, $play_priority, $track_id);
break;
}
case "download":
{
$play_type=$get_array["type"];
$play_id=$get_array["id"];
$play_priority=$get_array["priority"];
$download_type=$get_array["dtype"];
switch( "{$download_type}")
{
case "track":
{
$file_type=$get_array["ftype"];
lmb_download_tracks( $play_type, $play_id, $play_priority, $file_type, "DUMP");
break;
}
case "cover":
{
$cover_format=$get_array["cformat"];
lmb_download_covers( $play_type, $play_id, $play_priority, $cover_format, "DUMP");
break;
}
case "video":
{
$video_format=$get_array["vformat"];
lmb_download_videos( $play_type, $play_id, $play_priority, $video_format, "DUMP");
break;
}
case "extra":
{
$extra_format=$get_array["eformat"];
lmb_download_extras( $play_type, $play_id, $play_priority, $extra_format, "DUMP");
break;
}
}
break;
}
case "login":
{
lmb_login_page( $lmb_tab);
break;
}
default:
{
lmb_main_page( );
break;
}
}
}
/*--------------------------------------------------------------------------------------------------------------------*/
/* Main */
/*--------------------------------------------------------------------------------------------------------------------*/
$lmb_cookie_tab = array();
lmb_cookies_load();
lmb_get_proceed( $_GET);
?>