<?
// $RCSfile: lmbrowse.php,v $
// $Revision: 1.15 $
// $Name:  $
// $Date: 2015/09/07 19:23:56 $
// $Author: agibert $

/*
 * LMBrowse - Langueur Monotone Browser
 * Copyright (C) 2012-2015 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.langueurmonotone.com/html/lmbrowse_config.inc";
include "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]", "_", ".");





/*--------------------------------------------------------------------------------------------------------------------*/
/* Sort Multy Array                                                                                                   */
/*--------------------------------------------------------------------------------------------------------------------*/
/* Thanks http://stackoverflow.com/users/50079/jon !                                                                  */
/*--------------------------------------------------------------------------------------------------------------------*/

function lmb_make_comparer() {
    // Normalize criteria up front so that the comparer finds everything tidy
    $criteria = func_get_args();
    foreach ($criteria as $index => $criterion) {
        $criteria[$index] = is_array($criterion)
            ? array_pad($criterion, 3, null)
            : array($criterion, SORT_ASC, null);
    }

    return function($first, $second) use (&$criteria) {
        foreach ($criteria as $criterion) {
            // How will we compare this round?
            list($column, $sortOrder, $projection) = $criterion;
            $sortOrder = $sortOrder === SORT_DESC ? -1 : 1;

            // If a projection was defined project the values now
            if ($projection) {
                $lhs = call_user_func($projection, $first[$column]);
                $rhs = call_user_func($projection, $second[$column]);
            }
            else {
                $lhs = $first[$column];
                $rhs = $second[$column];
            }

            // Do the actual comparison; do not return if equal
            if ($lhs < $rhs) {
                return -1 * $sortOrder;
            }
            else if ($lhs > $rhs) {
                return 1 * $sortOrder;
            }
        }

        return 0; // tiebreakers exhausted, so $first == $second
    };
}



function lmb_sort_multi_array( $array, $key)
{
    $keys = array();

    for ($i=1;$i<func_num_args();$i++) {
	$keys[$i-1] = func_get_arg($i);
    }

    // create a custom search function to pass to usort
    $func = function ($a, $b) use ($keys) {
	for ($i=0;$i<count($keys);$i++) {
	    if ($a[$keys[$i]] != $b[$keys[$i]]) {
		return ($a[$keys[$i]] < $b[$keys[$i]]) ? -1 : 1;
	    }
	}
	return 0;
    };

    usort($array, $func);

    return $array;
}



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



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



/*--------------------------------------------------------------------------------------------------------------------*/
/* PlayType Path Get                                                                                                  */
/*--------------------------------------------------------------------------------------------------------------------*/

function lmb_playtype_path_get( $play_type)
{
  return( "discography/{$play_type}");
}



/*--------------------------------------------------------------------------------------------------------------------*/
/* Play Path Get                                                                                                      */
/*--------------------------------------------------------------------------------------------------------------------*/

function lmb_play_path_get( $play_type, $play_id, $play_priority)
{
  return( lmb_playtype_path_get( $play_type) . "/{$play_priority}-{$play_id}");
}



/*--------------------------------------------------------------------------------------------------------------------*/
/* Make Tab                                                                                                           */
/*--------------------------------------------------------------------------------------------------------------------*/

function lmb_make_tab( $tab_id, $css_id, $tab_side, $logo_path, $data, $skin_path)
{
  $tab_class  = "sprite-tab-{$tab_id}-{$tab_side}";

  if( "$tab_side" == "l")
  {
      $logo_side="r";
  }
  else
  {
      $logo_side="l";
  }

  $tab_tag    = "<td class=\"{$css_id}0\"><div class=\"{$tab_class}\"></div></td>";

  if( $logo_path[0] == "/")
  {
      $logo_tag   = "<td class=\"logo-{$logo_side}\" style=\"width: 20%;\"><img src=\"{$logo_path}\" alt=\"\"/></td>";
  }
  else
  {
      $logo_tag   = "<td class=\"logo-{$logo_side}\" style=\"width: 20%;\"><div class=\"{$logo_path}\"></div></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, $skin_path)
{
  global  $lmb_url_post;


  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;\"><div class=\"sprite-menu-home_page-off\"></div></td>
";
	}
	else
	{
	  echo "		  <td class=\"menu-item\" style=\"width: 128px;\"><a class=\"button-item\" href=\"{$lmb_url_post}\"><div class=\"sprite-menu-home_page-on\"></div></a></td>
";
	}
	  break;
      }

      case 1:
      {
        if( $i == $menu_id)
	{
	  echo "		  <td class=\"menu-item\" style=\"width: 128px;\"><div class=\"sprite-menu-about-off\"></div></td>
";
	}
	else
	{
	  echo "		  <td class=\"menu-item\" style=\"width: 128px;\"><a class=\"button-item\" href=\"{$lmb_url_post}?page=about\"><div class=\"sprite-menu-about-on\"></div></a></td>
";
	}
	break;
      }

      case 2:
      {
        if( $i == $menu_id)
	{
	  echo "		  <td class=\"menu-item\" style=\"width: 128px;\"><div class=\"sprite-menu-discography-off\"></div></td>
";
	}
	else
	{
	  echo "		  <td class=\"menu-item\" style=\"width: 128px;\"><a class=\"button-item\" href=\"{$lmb_url_post}?page=discography\"><div class=\"sprite-menu-discography-on\"></div></a></td>
";
	}
	break;
      }

      default:
      {
	  break;
      }
    }

    if( $i < 2)
    {
      echo "		  <td class=\"sprite-menu-bg\" style=\"width:  20px;\"></td>
";
    }
  }
}



/*--------------------------------------------------------------------------------------------------------------------*/
/* Header                                                                                                             */
/*--------------------------------------------------------------------------------------------------------------------*/

function lmb_header( $page_id, $page_name, $page_title, $description, $keywords, $min_width, $skin_path)
{
  global  $lmb_keywords;
  global  $lmb_ga_enable;


  header('Content-type: text/html; charset=iso-8859-1');

  $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=\"{$skin_path}/images/favicon.ico\"/>
    <link rel=\"stylesheet\"          type=\"text/css\"     href=\"{$skin_path}/default.css\"/>
    <link rel=\"stylesheet\"          type=\"text/css\"     href=\"/jplayer/skin/pink.flag/css/jplayer.pink.flag.css\"/>
    <title>$page_name</title>
  </head>
";

  echo "  <body style=\"background-image:url(''); background-repeat:repeat;\">
";


  if( $lmb_ga_enable == true)
  {
      echo "<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-37642754-1', 'auto');
  ga('send', 'pageview');

</script>
";
  }

  echo "    <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"{$mw_tag}\">
      <tbody>
	<tr>
	  <td class=\"border\" colspan=\"2\"><div class=\"sprite-border-top-left\"></div></td>
	  <td></td>
	  <td class=\"border sprite-title_line-l\"></td>
";

  echo "	  <td class=\"sprite-title_line-m\" style=\"width: 580px;\"><h1 class=\"lm\">Langueur Monotone</h1></td>
";

  echo "	  <td class=\"border sprite-title_line-r\"></td>
	  <td></td>
	  <td class=\"border\" colspan=\"2\"><div class=\"sprite-border-top-right\"></div></td>
	</tr>
	<tr>
	  <td colspan=\"2\"></td>
";

  echo "	  <td colspan=\"5\" class=\"subtitle\" style=\"height: 70px;\"><h2 class=\"lm\">$page_title</h2></td>
";

  echo "	  <td colspan=\"2\"></td>
	</tr>
	<tr>
	  <td colspan=\"1\" rowspan=\"4\" style=\"vertical-align: middle; height: 16px;\"><div class=\"sprite-border-left\"></div></td>
	  <td colspan=\"7\" style=\"height: 16px;\"></td>
	  <td colspan=\"1\" rowspan=\"4\" style=\"vertical-align: middle; height: 16px;\"><div class=\"sprite-border-right\"></div></td>
	</tr>
	<tr>
	  <td style=\"vertical-align: top; height: 20px; text-align: center; \" rowspan=\"1\" colspan=\"7\">
	    <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"\">
	      <tbody>
		<tr>
		  <td class=\"menu-left\" style=\"width: 16px; vertical-align: top;\"><div class=\"sprite-menu-begin\"></div></td>

		  <td class=\"sprite-menu-bg\" style=\"width: 50%;\"></td>
";

  lmb_menu( $page_id, $skin_path);

  echo "		  <td class=\"sprite-menu-bg\"  style=\"width: 50%;\"></td>
		  <td class=\"menu-item\" style=\"width: 16px; vertical-align: top;\"><div class=\"sprite-menu-end\"></div></td>
		</tr>
	      </tbody>
	    </table>
	  </td>
	</tr>
	<tr>
	  <td colspan=\"7\" style=\"height: 10px;\"></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( $skin_path)
{
  global  $lmb_url_pre;
  global  $lmb_url_post;
  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 class=\"sprite-bottom_line-l\" style=\"vertical-align: top; height: 20px;\" colspan=\"2\"></td>

	  <td class=\"sprite-bottom_line-m\" colspan=\"5\"></td>

	  <td class=\"sprite-bottom_line-r\" style=\"vertical-align: top; height: 20px; text-align: left;\" colspan=\"2\"></td>
	</tr>
        <tr class=\"border\" style=\"height: 35px;\">
	  <td colspan=\"2\" rowspan=\"2\"><div class=\"sprite-border-bottom-left\"></div></td>
          <td colspan=\"5\">
	    <table style=\"text-align: left; width: 100%; height: auto;\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
	      <tbody>
		<tr>
	          <td>
                    <table style=\"width: 100%; height: auto; \" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
	              <tbody>
                        <tr>
	                  <td class=\"button-item\" style=\"width: 32px;\"><a rel=\"nofollow\" class=\"button-item\" href=\"http://{$lmb_url_pre}/?page=rss\" title=\"Langueur Monotone RSS feed\"><div class=\"sprite-button-rss-on\" style=\"\"></div></a></td>
		          <td style=\"width: 8px;\">&nbsp;&nbsp;&nbsp;</td>
	                  <td class=\"button-item\" style=\"width: 96px;\"><a rel=\"\"         class=\"button-item\" href=\"http://www.rx3.net/\"                       title=\"Rx3.Net\"><div class=\"sprite-button-rx3-on\"></div></a></td>
		          <td style=\"width: 8px;\">&nbsp;&nbsp;&nbsp;</td>
	                  <td class=\"button-item\" style=\"width: 32px;\"><a rel=\"nofollow\" class=\"button-item\" href=\"http://www.safecreative.org/\"              title=\"SafeCreative\"><div class=\"sprite-button-safe_creative-on\"></div></a></td>
		          <td></td>
		        </tr>
		      </tbody>
	            </table>
	          </td>
	          <td style=\"width: 338px;\">
                    <table style=\"width: 100%; height: auto; text-align: left; \" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
	              <tbody>
                        <tr>
";

  if( lmb_admin_is())
  {
    echo "		          <td style=\"width: 13px;\"></td>
	                  <td class=\"button-item\" style=\"width: 32px;\"><a rel=\"nofollow\" class=\"button-item\"      href=\"http://validator.w3.org/check?uri=referer\"        title=\"W3C HTML Validator\"><div class=\"sprite-button-w3c-html-on\"></div></a></td>
		          <td style=\"width: 8px;\">&nbsp;&nbsp;&nbsp;</td>
	                  <td class=\"button-item\" style=\"width: 32px;\"><a rel=\"nofollow\" class=\"button-item\"       href=\"http://jigsaw.w3.org/css-validator/check/referer\" title=\"W3C CSS Validator\"><div class=\"sprite-button-w3c-css-on\"></div></a></td>
		          <td style=\"width: 8px;\">&nbsp;&nbsp;&nbsp;</td>
	                  <td class=\"button-item\" style=\"width: 32px;\"><a rel=\"nofollow\" class=\"button-item\"       href=\"http://feed1.w3.org/check.cgi?url=http%3A//{$lmb_url_pre}/%3Fpage%3Drss\" title=\"W3C RSS Validator\"><div class=\"sprite-button-w3c-rss-on\"></div></a></td>
		          <td style=\"width: 8px;\">&nbsp;&nbsp;&nbsp;</td>
	                  <td class=\"button-item\" style=\"width: 32px;\"><a                  class=\"button-item\"       href=\"/www-stats/\"                                                               title=\"Rx3 Statistics\"><div class=\"sprite-button-stats-on\"></div></a></td>
		          <td style=\"width: 8px;\">&nbsp;&nbsp;&nbsp;</td>
	                  <td class=\"button-item\" style=\"width: 32px;\"><a                  class=\"button-item\"       href=\"https://www.google.com/analytics/web/?hl=en&amp;pli=1#dashboard//a37642754w66067134p67926512\" title=\"Google Analytics\"><div class=\"sprite-button-stats-on\"></div></a></td>
		          <td style=\"width: 8px;\">&nbsp;&nbsp;&nbsp;</td>
	                  <td class=\"button-item\" style=\"width: 32px;\"><a                  class=\"button-item\"       href=\"https://www.google.com/webmasters/tools/dashboard?hl=fr&amp;siteUrl=http%3A%2F%2F{$lmb_url_pre}%2F\" title=\"Google Webmaster Tools\"><div class=\"sprite-button-stats-on\"></div></a></td>
		          <td style=\"width: 8px;\">&nbsp;&nbsp;&nbsp;</td>
	                  <td class=\"button-item\" style=\"width: 32px;\"><a rel=\"nofollow\" class=\"button-item\"       href=\"http://{$lmb_url_pre}/?page=sitemap\"      title=\"SiteMap\"><div class=\"sprite-button-rss-on\"></div></a></td>
		          <td style=\"width: 8px;\">&nbsp;&nbsp;&nbsp;</td>
		          <td class=\"button-item\" style=\"width: 32px;\">
                            <form action=\"{$lmb_url_post}\" method=\"post\">
                              <div>
                                <input type=\"hidden\" name=\"password\" value=\"XXX\"/>
                                <div class=\"sprite-button-login-on\" style=\"display:inline-block; vertical-align: middle\"><input class=\"logout\" type=\"submit\" value=\"\" title=\"Logout\"/></div>
                              </div>
                            </form>
		          </td>
		          <td style=\"width: 13px;\"></td>
";
  }
  else
  {
    echo "		          <td class=\"button-item\" style=\"\">
                            <form action=\"{$lmb_url_post}\" method=\"post\">
                              <div>
                                <div style=\"display: inline-block; vertical-align: middle;\"><input class=\"password\" type=\"password\" name=\"password\" size=\"8\" title=\"Password\"/></div>
                                <div class=\"sprite-button-login-on\" style=\"display:inline-block; vertical-align: middle\"><input class=\"login\" type=\"submit\" value=\"\" title=\"Login\"/></div>
                              </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 <div class=\"link-item\"><a href=\"http://www.rx3.org/dvp/?dvp=".strtolower($lmb_myname)."\">{$lmb_myname}</a></div> V {$lmb_myver}</td>
";

  echo "                </tr>
              </tbody>
            </table>
          </td>
	  <td class=\"border\" colspan=\"2\" rowspan=\"2\"><div class=\"sprite-border-bottom-right\"></div></td>
	</tr>
	<tr>
	  <td style=\"vertical-align: top;\"></td>
	  <td class=\"border\" colspan=\"3\" rowspan=\"1\" style=\"height: 15px; vertical-align: top; text-align: center;\"><div class=\"sprite-border-bottom\" style=\"background-color: transparent;\"></div></td>
	  <td style=\"vertical-align: top;\"></td>
	</tr>
      </tbody>
    </table>
  </body>
</html>
";
}



/*--------------------------------------------------------------------------------------------------------------------*/
/* Welcome Tab                                                                                                        */
/*--------------------------------------------------------------------------------------------------------------------*/

function lmb_welcome_tab( $skin_path)
{
  $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", "{$skin_path}/images/lm-logo1-border-220.png", $data, $skin_path);
//  lmb_make_tab( "welcome", "welcome", "l", "sprite-lm-logo1-border-220", $data, $skin_path);
}



/*--------------------------------------------------------------------------------------------------------------------*/
/* News Tab Get                                                                                                       */
/*--------------------------------------------------------------------------------------------------------------------*/

function lmb_news_tab_get( )
{
  global  $lmb_url_pre;
  global  $lmb_url_post;


  $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_post}?page=play&amp;type={$play_type}&amp;id={$play_id}&amp;priority={$play_priority}";
      $news_tab[$i]["alink"] = "http://{$lmb_url_pre}{$news_tab[$i]["rlink"]}";
      $news_tab[$i]["rimg"]  = lmb_play_path_get( $play_type, $play_id, $play_priority) . "/covers/{$play_id}-cover-1-icon.png";
      $news_tab[$i]["aimg"]  = "http://{$lmb_url_pre}{$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( $skin_path)
{
  global  $lmb_url_post;


  $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;
      $link1_tag      = "<div class=\"link-item\"><a href=\"{$news_tab[$i]["rlink"]}\">";
      $link2_tag      = "<a href=\"{$news_tab[$i]["rlink"]}\">";
      $img_tag       = "<img class=\"button-item\" src=\"{$news_tab[$i]["rimg"]}\" alt=\"\"/>";
      $play_tag="			                  <td class=\"news3\">{$link1_tag}{$news_tab[$i]["name"]}</a></div></td>
			                  <td class=\"news4\" style=\"height: {$height}px;  width: 96px;\">{$link2_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", "{$skin_path}/images/lm_logo2-border-220.png", $data, $skin_path);
  lmb_make_tab( "news", "news", "r", "sprite-lm-logo2-border-220", $data, $skin_path);
}



/*--------------------------------------------------------------------------------------------------------------------*/
/* Twitter Tab                                                                                                        */
/*--------------------------------------------------------------------------------------------------------------------*/

function lmb_twitter_tab( $skin_path)
{
  global  $lmb_url_post;


  ob_start();


  echo "			                <tr class=\"twitter1\">
                                          <td class=\"twitter01\"></td>
                                          <td class=\"twitter0\"></td>
                                          <td class=\"twitter01\"></td>
                                        </tr>
			                <tr class=\"twitter1\">
			                  <td class=\"twitter01\">&nbsp;</td>
			                  <td class=\"twitter0\">
                                              <div class=\"button-item\" style=\"display: inline-block; border-radius: 5px;\"><a class=\"twitter-timeline\"  href=\"https://twitter.com/langueurmon\" data-widget-id=\"544258336741670912\">Tweets by @langueurmon</a></div>
                                              <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+\"://platform.twitter.com/widgets.js\";fjs.parentNode.insertBefore(js,fjs);}}(document,\"script\",\"twitter-wjs\");</script>
                                          </td>          
			                  <td class=\"twitter01\">&nbsp;</td>
			                </tr>
			                <tr class=\"twitter1\">
                                          <td class=\"twitter01\"></td>
                                          <td class=\"twitter0\"></td>
                                          <td class=\"twitter01\"></td>
                                        </tr>
";

/*
  echo "			                <tr class=\"twitter1\">
			                  <td class=\"twitter01\"></td>
			                  <td class=\"twitter1\">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</td>
			                  <td class=\"twitter01\"></td>
			                </tr>
";
 */

  $data = ob_get_contents();
  ob_end_clean();

//  lmb_make_tab( "twitter", "twitter", "l", "{$skin_path}/images/lm_logo1-border-220.png", $data, $skin_path);
  lmb_make_tab( "twitter", "twitter", "l", "sprite-lm-logo1-border-220", $data, $skin_path);
}



/*--------------------------------------------------------------------------------------------------------------------*/
/* Main Body                                                                                                          */
/*--------------------------------------------------------------------------------------------------------------------*/

function lmb_main_body( $skin_path)
{
  lmb_welcome_tab( $skin_path);

  lmb_spacer(4);

  lmb_news_tab( $skin_path);

  lmb_spacer(4);

  lmb_twitter_tab( $skin_path);
}



/*--------------------------------------------------------------------------------------------------------------------*/
/* Main Page                                                                                                          */
/*--------------------------------------------------------------------------------------------------------------------*/

function lmb_main_page()
{
  global $lmb_tab;

  $skin_path = "/skin";

  lmb_header( 0, "Langueur Monotone - Home Page", "Home Page", "Langueur Monotone home page, entry point to information, news and links", "home page", 0, "{$skin_path}");
  lmb_main_body( $skin_path);
  lmb_footer( $skin_path);
}



/*--------------------------------------------------------------------------------------------------------------------*/
/* SiteMap Item                                                                                                       */
/*--------------------------------------------------------------------------------------------------------------------*/

function lmb_sitemap_item( $item_type, $page_url, $img_tab)
{
  global  $lmb_url_pre;
  global  $lmb_url_post;


  echo "  <url>
";

  echo "    <loc>http://{$lmb_url_pre}{$lmb_url_post}${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://{$lmb_url_pre}/{$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 = lmb_play_path_get( $play_type, $play_id, $play_priority);
  $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  = lmb_play_path_get( $play_type, $play_id, $play_priority);
  $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_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 = lmb_playtype_path_get( $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_logo1-border-{$size}.png";
  $img_tab[0]["title"] = "Langueur Monotone - Logo 1 ({$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_logo2-border-{$size}.png";
  $img_tab[0]["title"] = "Langueur Monotone - Logo 2 ({$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_url_pre;
  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://{$lmb_url_pre}/?page=rss</link>
  <atom:link href=\"http://{$lmb_url_pre}/?page=rss\" rel=\"self\" type=\"application/rss+xml\" />
  <description>Langueur Monotone project news RSS feed</description>
  <image>
    <url>http://{$lmb_url_pre}/images/lm_logo2-border-220.png</url>
    <title>Langueur Monotone News Page</title>
    <link>http://{$lmb_url_pre}/?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://{$lmb_url_pre}/#$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( $skin_path)
{
  $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", "{$skin_path}/images/lm_logo2-border-220.png", $data, $skin_path);
  lmb_make_tab( "about", "about", "l", "sprite-lm-logo2-border-220", $data, $skin_path);
}



/*--------------------------------------------------------------------------------------------------------------------*/
/* History Tab                                                                                                        */
/*--------------------------------------------------------------------------------------------------------------------*/

function lmb_history_tab( $skin_path)
{
  $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", "{$skin_path}/images/lm_logo1-border-220.png", $data, $skin_path);
  lmb_make_tab( "history", "history", "r", "sprite-lm-logo1-border-220", $data, $skin_path);
}



/*--------------------------------------------------------------------------------------------------------------------*/
/* About Body                                                                                                         */
/*--------------------------------------------------------------------------------------------------------------------*/

function lmb_about_body( $lmb_tab, $skin_path)
{
  lmb_about_tab( $skin_path);

  lmb_spacer(4);

  lmb_history_tab( $skin_path);
}



/*--------------------------------------------------------------------------------------------------------------------*/
/* About Page                                                                                                         */
/*--------------------------------------------------------------------------------------------------------------------*/

function lmb_about_page()
{
  global $lmb_tab;


  $skin_path = "/skin";

  lmb_header( 1, "Langueur Monotone - About Page", "About", "Langueur Monotone about page, describing the project, the members and its history", "about", 0, "{$skin_path}");
  lmb_about_body( $lmb_tab, $skin_path);
  lmb_footer( $skin_path);
}



/*--------------------------------------------------------------------------------------------------------------------*/
/* Play Info Get                                                                                                      */
/*--------------------------------------------------------------------------------------------------------------------*/

function lmb_play_info_get( $play_type, $play_id, $play_priority)
{
  $play_path = lmb_play_path_get( $play_type, $play_id, $play_priority);

  $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, $skin_path)
{
  global  $lmb_url_post;


  $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_post}?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 class=\"button-item\" src=\"/{$path}/{$play_tab[0]}-{$play_tab[1]}/covers/{$play_tab[1]}-cover-1-icon.png\" alt=\"\"/></a></td><td class=\"play2\"><div class=\"link-item\"><a href=\"{$url}\">{$play_info["name"]}</a></div></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>
";
    }
    else
    {
	$row--;
    }
  }

  return( $row);
}



/*--------------------------------------------------------------------------------------------------------------------*/
/* Play List Next                                                                                                     */
/*--------------------------------------------------------------------------------------------------------------------*/

function lmb_playlist_next( $play_type, $path, $row, $skin_path)
{
  $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_tag = "<img src=\"{$skin_path}/images/{$tab[4]}\" alt=\"\"/>";
    }
    else
    {
	$icon_tag = "<div class=\"sprite-unknown-cover-96\"></div>";
    }

    $css_row = ($row + 1) % 2 + 1;

    if( count($tab) > 3)
    {
      $comment = $tab[3];
    }
    else
    {
      $comment = "";
    }

    echo "			                <tr class=\"play{$css_row}\"><td class=\"play1\">{$icon_tag}</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, $skin_path)
{
  $row = 1;

  ob_start();

  $row = lmb_playlist_cur(  $play_type, lmb_playtype_path_get( $play_type), $row, $skin_path);
  $row = lmb_playlist_next( $play_type, lmb_playtype_path_get( $play_type), $row, $skin_path);

  $data = ob_get_contents();
  ob_end_clean();

//  lmb_make_tab( "{$play_type}", "play", $side, "{$skin_path}/images/lm_logo1-96.png", $data, $skin_path);
  lmb_make_tab( "{$play_type}", "play", $side, "sprite-lm-logo1-96", $data, $skin_path);
}



/*--------------------------------------------------------------------------------------------------------------------*/
/* Discography Body                                                                                                   */
/*--------------------------------------------------------------------------------------------------------------------*/

function lmb_discography_body( $skin_path)
{

  /* --- EP --- */
    lmb_playlist( "ep", "l", $skin_path);

  lmb_spacer( 5);

  /* --- LP --- */
  lmb_playlist( "lp", "r", $skin_path);

  lmb_spacer( 5);

  /* --- Oldies --- */
  lmb_playlist( "oldies", "l", $skin_path);

  lmb_spacer( 5);

  /* --- TrackList --- */
  lmb_tracklist_body( $skin_path);
}



/*--------------------------------------------------------------------------------------------------------------------*/
/* Discography Page                                                                                                   */
/*--------------------------------------------------------------------------------------------------------------------*/

function lmb_discography_page()
{
  global $lmb_tab;

  $skin_path = "/skin";


  lmb_header( 2, "Langueur Monotone - Discography Page", "Discography", "Langueur Monotone discography page, listing the released and the futures ep, lp and oldies", "discography", 0, "{$skin_path}");
  lmb_discography_body( $skin_path);
  lmb_footer( $skin_path);
}



/*--------------------------------------------------------------------------------------------------------------------*/
/* Play Introduction                                                                                                  */
/*--------------------------------------------------------------------------------------------------------------------*/

function lmb_play_intro( $play_type, $play_id, $play_priority, $skin_path)
{
  $play_path  =  lmb_play_path_get( $play_type, $play_id, $play_priority);
  $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 class=\"button-item-big\" 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 class=\"button-item-big\" 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   = lmb_play_path_get( $play_type, $play_id, $play_priority);
  $track_path  = "{$play_path}/tracks";
  $track_array = glob("{$track_path}/flac/{$track_id}-*.flac");
  $track_file  = $track_array[0];

  $line        = array();
  $track_info  = array();

  $track_info["play_type"]       = $play_type;
  $track_info["play_priority"]   = $play_priority;
  $track_info["play_id"]         = $play_id;

  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_post;


  $play_path     = lmb_play_path_get( $play_type, $play_id, $play_priority);
  $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_post}?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\"><div class=\"link-item\"><a href=\"{$download_url}\">{$file_type} {$file_subtype}</a></div></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 Loc Get                                                                                                      */
/*--------------------------------------------------------------------------------------------------------------------*/

function lmb_track_loc_get( $track_url)
{

  $path_tab                   = explode( "/", $track_url);
  $play_tab                   = explode( "-", $path_tab[2]);
  $track_tab                  = explode( "-", basename( "{$path_tab[5]}", ".flac"));

  $track_loc["play_type"]     = $path_tab[1];
  $track_loc["play_priority"] = $play_tab[0];
  $track_loc["play_id"]       = $play_tab[1];
  $track_loc["track_id"]      = $track_tab[0];
  $track_loc["track_title"]   = $track_tab[1];

  if( isset($track_tab[2]))
  {
    $track_loc["track_mix"]   = $track_tab[2];
  }
  else
  {
    $track_loc["track_mix"]   = "";
  }

  return( $track_loc);
}



/*--------------------------------------------------------------------------------------------------------------------*/
/* Track List Info Get                                                                                                */
/*--------------------------------------------------------------------------------------------------------------------*/

function lmb_tracklist_info_get( $play_type, $play_id, $play_priority)
{
  $play_path       = lmb_play_path_get( $play_type, $play_id, $play_priority);
  $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_loc           = lmb_track_loc_get( "{$track_list[$i]}");
    $track_info_list[$i] = lmb_track_info_get( "{$track_loc["play_type"]}", $track_loc["play_id"], $track_loc["play_priority"], $track_loc["track_id"]);
  }

  return( $track_info_list);
}



/*--------------------------------------------------------------------------------------------------------------------*/
/* Track List Microdata                                                                                               */
/*--------------------------------------------------------------------------------------------------------------------*/

function lmb_tracklist_microdata( $play_type, $play_id, $play_priority)
{
  $play_path       = lmb_play_path_get( $play_type, $play_id, $play_priority);
  $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, $skin_path)
{
  global  $lmb_url_post;

  $play_path       = lmb_play_path_get( $play_type, $play_id, $play_priority);
  $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=\"{$skin_path}/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_post}?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;<div class=\"link-item\"><a href=\"{$track_url}\">{$track_info["title"]}</a></div>&nbsp;</td><td class=\"tracks3\">&nbsp;<div class=\"link-item\"><a href=\"{$track_url}\">{$track_info["mix"]}</a></div>&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", "{$skin_path}/images/lm_logo1-96.png", $data, $skin_path);
  lmb_make_tab( "tracks", "tracks", "r", "sprite-lm-logo1-96", $data, $skin_path);
}



/*--------------------------------------------------------------------------------------------------------------------*/
/* 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}\"><div class=\"link-item\"><a href=\"{$file["url"]}\">{$file["format"]}</a></div></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_post;


  $play_path  = lmb_play_path_get( $play_type, $play_id, $play_priority);
  $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_post}?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, $skin_path)
{
  $play_path  = lmb_play_path_get( $play_type, $play_id, $play_priority);
  $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 class=\"button-item\" 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, $skin_path);
}



/*--------------------------------------------------------------------------------------------------------------------*/
/* Video File Tab Get                                                                                                 */
/*--------------------------------------------------------------------------------------------------------------------*/

function lmb_video_file_tab_get( $play_type, $play_id, $play_priority, $video_id, $mode)
{
  global  $lmb_url_post;


  $play_path  = lmb_play_path_get( $play_type, $play_id, $play_priority);
  $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_post}?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, $skin_path)
{
  $play_path  = lmb_play_path_get( $play_type, $play_id, $play_priority);
  $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\"><div class=\"sprite-unknown-cover-96\"></div></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 class=\"button-item\" 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, $skin_path);
}



/*--------------------------------------------------------------------------------------------------------------------*/
/* Extra File Tab Get                                                                                                 */
/*--------------------------------------------------------------------------------------------------------------------*/

function lmb_extra_file_tab_get( $play_type, $play_id, $play_priority, $extra_id, $mode)
{
  global  $lmb_url_post;


  $play_path  = lmb_play_path_get( $play_type, $play_id, $play_priority);
  $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_post}?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, $skin_path)
{
  $play_path  = lmb_play_path_get( $play_type, $play_id, $play_priority);
  $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\"><div class=\"sprite-unknown-cover-96\"></div></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 class=\"button-item\" 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", "{$skin_path}/images/lm_logo1-96.png", $data, $skin_path);
  lmb_make_tab( "extras", "extras", "l", "sprite-lm-logo1-96", $data, $skin_path);
}



/*--------------------------------------------------------------------------------------------------------------------*/
/* Links Tab                                                                                                          */
/*--------------------------------------------------------------------------------------------------------------------*/

function lmb_links_tab( $play_type, $play_id, $play_priority)
{
  $play_path         = lmb_play_path_get( $play_type, $play_id, $play_priority);
  $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 = "";
    }

    if( $image[0] == "/")
    {
	$image_tag = "<img class=\"button-item\" src=\"{$image}\" width=\"16\" height=\"16\" alt=\"\"/>";
    }
    else
    {
	$image_tag = "<div class=\"{$image}\" style=\" width:16px; height:16px; \"></div>";
    }


    echo "			                <tr class=\"links1\">
			                  <td class=\"links1\">
			                    <div class=\"link-item\"><a {$attr}href=\"{$link}\">{$text}</a></div>
			                  </td>
			                  <td class=\"links2\">
			                    <a class=\"button-item\" {$attr}href=\"{$link}\"><div >{$image_tag}</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, $skin_path)
{
  $play_path = lmb_play_path_get( $play_type, $play_id, $play_priority);


  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, $skin_path)
{

  /* --- Introduction --- */
    lmb_play_intro( $play_type, $play_id, $play_priority, $skin_path);

  lmb_spacer(4);

  /* --- Tracks --- */
  lmb_tracklist( $play_type, $play_id, $play_priority, $skin_path);
//  lmb_tracklist_microdata( $play_type, $play_id, $play_priority);

  lmb_spacer(5);

  /* --- Covers --- */
  lmb_coverlist( $play_type, $play_id, $play_priority, $skin_path);

  lmb_spacer(5);

  /* --- Videos --- */
  lmb_videolist( $play_type, $play_id, $play_priority, $skin_path);

  lmb_spacer(5);

  /* --- Etras --- */
  lmb_extralist( $play_type, $play_id, $play_priority, $skin_path);

  lmb_spacer(4);

  /* --- Last --- */
  lmb_play_last( $play_type, $play_id, $play_priority, $skin_path);
}



/*--------------------------------------------------------------------------------------------------------------------*/
/* 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_path  = lmb_play_path_get( $play_type, $play_id, $play_priority);  
  $play_info  = lmb_play_info_get( $play_type, $play_id, $play_priority);
  $play_title = lmb_play_title_get( $play_type, $play_id, $play_priority);
  $play_image = "{$play_type}";
  $play_name  = lmb_play_type_name_get( $play_type);
  $skin_path  = "{$play_path}/skin";


  lmb_header( 3, "Langueur Monotone - {$play_title} Page", "{$play_title}", "Langueur Monotone play page, giving all the information about {$play_info["name"]} {$play_name}", "{$play_type},{$play_info["name"]}", 0, "{$skin_path}");
  lmb_play_body( $play_type, $play_id, $play_priority, $skin_path);
  lmb_footer( $skin_path);
}



/*--------------------------------------------------------------------------------------------------------------------*/
/* Track List Page                                                                                                    */
/*--------------------------------------------------------------------------------------------------------------------*/

function lmb_tracklist_body( $skin_path)
{
  global  $lmb_url_post;

  $play_type     = "*";
  $play_id       = "*";
  $play_priority = "*";


  $track_info_list = lmb_tracklist_info_get( $play_type, $play_id, $play_priority);

  usort( $track_info_list, lmb_make_comparer( 'title', 'mix'));

  $track_nb        = count($track_info_list);

  ob_start();

  $size   = $track_nb + 1;
  $height = 220/$size;

  for( $i = 0, $row = 1; $i < $track_nb; $i++, $row++)
  {
    $css_row    = ($row+1)%2+1;

    $play_type      = "{$track_info_list[$i]["play_type"]}";
    $play_type_name = lmb_play_type_name_get( $play_type);
    $play_id        = "{$track_info_list[$i]["play_id"]}";
    $play_priority  = "{$track_info_list[$i]["play_priority"]}";
    $track_id       = str_pad( "{$track_info_list[$i]["id"]}", 2, '0', STR_PAD_LEFT);
    $track_title    = "{$track_info_list[$i]["title"]}";
    $track_mix      = "{$track_info_list[$i]["mix"]}";
    $track_length   = "{$track_info_list[$i]["length"]}";
    $track_album    = "{$track_info_list[$i]["album"]}";

    $play_url       = "{$lmb_url_post}?page=play&amp;type={$play_type}&amp;id={$play_id}&amp;priority={$play_priority}";
    $track_url      = "{$lmb_url_post}?page=track&amp;type={$play_type}&amp;id={$play_id}&amp;priority={$play_priority}&amp;tid={$track_id}";


    echo "			                <tr class=\"tracks{$css_row}\" style=\"height: {$height}px;\">";

    echo "<td class=\"tracks1\">&nbsp;{$row}&nbsp;</td><td class=\"tracks2\">&nbsp;<div class=\"link-item\"><a href=\"{$track_url}\">{$track_title}</a></div>&nbsp;</td><td class=\"tracks3\">&nbsp;<div class=\"link-item\"><a href=\"{$track_url}\">{$track_mix}</a></div>&nbsp;</td><td class=\"tracks3\">&nbsp;{$track_length}&nbsp;</td><td class=\"tracks3\">&nbsp;{$play_type_name}&nbsp;</td><td class=\"tracks3\">&nbsp;<div class=\"link-item\"><a href=\"{$play_url}\">{$track_album}</a></div>&nbsp;</td></tr>
";
  }

  $data = ob_get_contents();
  ob_end_clean();

//  lmb_make_tab( "tracks", "tracks", "r", "{$skin_path}/images/lm_logo2-96.png", $data, $skin_path);
  lmb_make_tab( "tracks", "tracks", "r", "sprite-lm-logo2-96", $data, $skin_path);
}



/*--------------------------------------------------------------------------------------------------------------------*/
/* Track List Page                                                                                                    */
/*--------------------------------------------------------------------------------------------------------------------*/

function lmb_tracklist_page()
{
  $skin_path = "/skin";

  lmb_header( 3, "/", "Langueur Monotone - Track List Page", "Track List", "Langueur Monotone track list page, listing all the released tracks", "track list", 0, "{$skin_path}");
  lmb_tracklist_body( $skin_path);
  lmb_footer( $skin_path);
}



/*--------------------------------------------------------------------------------------------------------------------*/
/* Track Info                                                                                                         */
/*--------------------------------------------------------------------------------------------------------------------*/

function lmb_track_info( $play_type, $play_id, $play_priority, $track_id)
{
  global  $lmb_url_post;


  $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\"><div class=\"link-item\"><a href=\"{$lmb_url_post}?page=discography\">{$track_info["artist"]}</a></div></td>
			                                </tr>
			                                <tr class=\"info2\" style=\"height: {$height}px;\">
			                                  <td class=\"info1\">Album</td>
			                                  <td class=\"info2\"><div class=\"link-item\"><a href=\"{$lmb_url_post}?page=play&amp;type={$play_type}&amp;id={$play_id}&amp;priority={$play_priority}\">{$track_info["album"]}</a></div></td>
			                                </tr>
			                                <tr class=\"info1\" style=\"height: {$height}px;\">
			                                  <td class=\"info1\">Track Number</td>
			                                  <td class=\"info2\"><div class=\"normal-item\">{$track_info["id"]}</div></td>
			                                </tr>
			                                <tr class=\"info2\" style=\"height: {$height}px;\">
			                                  <td class=\"info1\">Track Name</td>
			                                  <td class=\"info2\"><div class=\"normal-item\">{$track_info["title"]}</div></td>
			                                </tr>
			                                <tr class=\"info1\" style=\"height: {$height}px;\">
			                                  <td class=\"info1\">Mix Name</td>
			                                  <td class=\"info2\"><div class=\"normal-item\">{$track_info["mix"]}</div></td>
			                                </tr>
			                                <tr class=\"info2\" style=\"height: {$height}px;\">
			                                  <td class=\"info1\">Composer</td>
			                                  <td class=\"info2\"><div class=\"normal-item\">{$track_info["composer"]}</div></td>
			                                </tr>
			                                <tr class=\"info1\" style=\"height: {$height}px;\">
			                                  <td class=\"info1\">Comment</td>
			                                  <td class=\"info2\"><div class=\"normal-item\">{$track_info["comment"]}</div></td>
			                                </tr>
			                                <tr class=\"info2\" style=\"height: {$height}px;\">
			                                  <td class=\"info1\">Length</td>
			                                  <td class=\"info2\"><div class=\"normal-item\">{$track_info["length"]}</div></td>
			                                </tr>
";

  if ($track_info["safe_creative"] != "")
  {
    echo "			                                <tr class=\"info1\" style=\"height: {$height}px;\">
			                                  <td class=\"info1\">Safe Creative</td>
			                                  <td class=\"info2\"><div class=\"link-item\"><a rel=\"nofollow\" href=\"{$track_info["safe_creative"]}\">Link</a></div></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  = lmb_play_path_get( $play_type, $play_id, $play_priority);
  $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\" style=\"height: 100%;\" 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>
";

}



/*--------------------------------------------------------------------------------------------------------------------*/
/* Title Get                                                                                                          */
/*--------------------------------------------------------------------------------------------------------------------*/

function lmb_title_get( $play_type, $play_id, $play_priority, $track_id)
{
  $track_info = lmb_track_info_get( $play_type, $play_id, $play_priority, $track_id);


  return( "{$track_info["title"]}");
}



/*--------------------------------------------------------------------------------------------------------------------*/
/* FullTitle Get                                                                                                          */
/*--------------------------------------------------------------------------------------------------------------------*/

function lmb_fulltitle_get( $play_type, $play_id, $play_priority, $track_id)
{
  $track_info = lmb_track_info_get( $play_type, $play_id, $play_priority, $track_id);

  if( "{$track_info["mix"]}" == "")
  {
      return( "{$track_info["title"]}");
  }
  else
  {
      return( "{$track_info["title"]} ({$track_info["mix"]})");
  }
}



/*--------------------------------------------------------------------------------------------------------------------*/
/* 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_pre;
  global  $lmb_url_post;
  global  $lmb_jpi_enable;


  $play_path  = lmb_play_path_get( $play_type, $play_id, $play_priority);
  $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";
  $track_fulltitle =  lmb_fulltitle_get( $play_type, $play_id, $play_priority, $track_id);

  $solution_cookie     = "jpsolution";
  $prefix_url          = "{$lmb_url_post}?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_native_url = htmlentities( "{$prefix_url}native&{$query_string}");

  $solution_value = $lmb_cookie_tab[$solution_cookie];

  if( "{$solution_value}" == "html, flash")
  {
      $html_class   = "link-item-disabled";
      $flash_class  = "link-item";
      $native_class = "link-item";
  }
  else
  {
      if( "{$solution_value}" == "flash, html")
      {
          $html_class  = "link-item";
          $flash_class = "link-item-disabled";
          $native_class = "link-item";
      }
      else
      {
          $html_class  = "link-item";
          $flash_class = "link-item";
          $native_class = "link-item-disabled";
      }
  }

  if( "{$solution_value}" == "native")
  {

      echo "
			                    <table class=\"list\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
			                      <tbody>
			                        <tr style=\"background-color:#222222; height: 75px;\">
                                                  <td style=\"vertical-align: middle; padding: 10px 0px 0px 0px;\">
                                                    <audio controls autoplay style=\"width: 90%; \">
                                                      <source src=\"http://{$lmb_url_pre}/{$track_file_ogg}\" type=\"audio/ogg\">
                                                      <source src=\"http://{$lmb_url_pre}/{$track_file_mp3}\" type=\"audio/mpeg\">
Your browser does not support the audio element.
                                                    </audio> 
                                                  </td>
			                        </tr>
			                        <tr style=\"background-color:#222222; height: 25px;\">
                                                  <td style=\"horizontal-align: left; vertical-align: middle;\">
	  <div style=\"font-size: 12px;\"><a rel=\"nofollow\" class=\"{$html_class}\" href=\"{$solution_html_url}\">JPlayer HTML</a>&nbsp;<a rel=\"nofollow\" class=\"{$flash_class}\" href=\"{$solution_flash_url}\">JPlayer Flash</a>&nbsp;<a rel=\"nofollow\" class=\"{$native_class}\" href=\"{$solution_native_url}\">Native</a></div> 
                                                  </td>
			                        </tr>
			                      </tbody>
			                    </table>
";
  }
  else
  {

      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/lib/jquery.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>
";


      echo "

                                                    <script type=\"text/javascript\">
                                                      //<![CDATA[
                                                      $(document).ready(function(){
                                                        $(\"#jquery_jplayer_1\").jPlayer({
                                                          ready: function (event) {
                                                            $(this).jPlayer(\"setMedia\", {
                                                              title: \"{$track_fulltitle}\",
                                                              oga:\"http://{$lmb_url_pre}/{$track_file_ogg}\",
                                                              mp3:\"http://{$lmb_url_pre}/{$track_file_mp3}\"
                                                            }).jPlayer(\"play\");
                                                          },
                                                          swfPath: \"/jplayer\",
                                                          supplied: \"oga, mp3\",
                                                          wmode: \"window\",
                                                          useStateClassSkin: true,
                                                          autoBlur: true,
                                                          smoothPlayBar: false,
                                                          keyEnabled: true,
                                                          remainingDuration: true,
                                                          toggleDuration: true,
                                                          backgroundColor: \"#012345\"
                                                        });

                                                        $(\"#jplayer_inspector\").jPlayerInspector({jPlayer:$(\"#jquery_jplayer_1\")});
                                                      });

                                                      //]]>
                                                    </script>
";

      echo "

       <div id=\"jquery_jplayer_1\" class=\"jp-jplayer\"></div>
<div id=\"jp_container_1\" class=\"jp-audio\" role=\"application\" aria-label=\"media player\">
<div class=\"jp-type-single\">
<div class=\"jp-gui jp-interface\">
<div class=\"jp-volume-controls\">
<button class=\"jp-mute\" role=\"button\" tabindex=\"0\">mute</button>
<button class=\"jp-volume-max\" role=\"button\" tabindex=\"0\">max volume</button>
<div class=\"jp-volume-bar\">
<div class=\"jp-volume-bar-value\"></div>
</div>
</div>
<div class=\"jp-controls-holder\">
<div class=\"jp-controls\">
<button class=\"jp-play\" role=\"button\" tabindex=\"0\">play</button>
<button class=\"jp-stop\" role=\"button\" tabindex=\"0\">stop</button>
</div>
<div class=\"jp-progress\">
<div class=\"jp-seek-bar\">
<div class=\"jp-play-bar\"></div>
</div>
</div>
<div class=\"jp-current-time\" role=\"timer\" aria-label=\"time\">&nbsp;</div>
<div class=\"jp-duration\" role=\"timer\" aria-label=\"duration\">&nbsp;</div>
<div class=\"jp-toggles\">
<button class=\"jp-repeat\" role=\"button\" tabindex=\"0\">repeat</button>
</div>
</div>
</div>
<div class=\"jp-details\">
<div class=\"jp-title\" aria-label=\"title\">&nbsp;</div>
</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 <div class=\"link-item\"><a href=\"http://get.adobe.com/flashplayer/\" target=\"_blank\">Flash plugin</a></div>.
</div>
<div>&nbsp;
</div>
	  <div style=\"font-size: 12px;\"><a rel=\"nofollow\" class=\"{$html_class}\" href=\"{$solution_html_url}\">JPlayer HTML</a>&nbsp;<a rel=\"nofollow\" class=\"{$flash_class}\" href=\"{$solution_flash_url}\">JPlayer Flash</a>&nbsp;<a rel=\"nofollow\" class=\"{$native_class}\" href=\"{$solution_native_url}\">Native</a></div> 

      </div>
</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>
";

      if( $lmb_jpi_enable == true)
      {
          echo "<div id=\"jplayer_inspector\"></div>";
      }
  }
}





/*--------------------------------------------------------------------------------------------------------------------*/
/* Track Introduction                                                                                                  */
/*--------------------------------------------------------------------------------------------------------------------*/

function lmb_track_intro( $play_type, $play_id, $play_priority, $track_id, $track_name, $track_mix, $skin_path)
{
  $play_path    = lmb_play_path_get( $play_type, $play_id, $play_priority);
  $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 class=\"button-item-big\" 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 class=\"button-item-big\" 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, $skin_path)
{
  global  $lmb_url_post;


  $play_path  = lmb_play_path_get( $play_type, $play_id, $play_priority);
  $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;\"><div class=\"sprite-lm-logo1-96\"></div></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_post}?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_post}?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\"><div class=\"link-item\"><a href=\"{$mix_tab[$k]["mix_url"]}\">{$mix_tab[$k]["track_name"]}{$hide_flag}</a></div></td>
			                  <td class=\"tracks3\"><div class=\"link-item\"><a href=\"{$mix_tab[$k]["mix_url"]}\">{$mix_tab[$k]["mix_name"]}</a></div></td>
			                  <td class=\"tracks2\">{$mix_tab[$k]["play_type_name"]}</td>
			                  <td class=\"tracks3\"><div class=\"link-item\"><a href=\"{$mix_tab[$k]["play_url"]}\">{$mix_tab[$k]["play_name"]}</a></div></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, $skin_path)
{
  $play_path       = lmb_play_path_get( $play_type, $play_id, $play_priority);
  $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, $skin_path);

  /* --- Download --- */
  lmb_track_download( $play_type, $play_id, $play_priority, $track_id, $track_name, $track_mix, $skin_path);
}



/*--------------------------------------------------------------------------------------------------------------------*/
/* Track Page                                                                                                         */
/*--------------------------------------------------------------------------------------------------------------------*/

function lmb_track_page( $play_type, $play_id, $play_priority, $track_id)
{
  global $lmb_tab;


  $play_path       = lmb_play_path_get( $play_type, $play_id, $play_priority);  
  $skin_path       = "{$play_path}/skin";
  $track_title     =  lmb_title_get( $play_type, $play_id, $play_priority, $track_id);
  $track_fulltitle =  lmb_fulltitle_get( $play_type, $play_id, $play_priority, $track_id);

  lmb_header( 4, "Langueur Monotone - {$track_fulltitle} - Track Page", "{$track_fulltitle} - Track", "Langueur Monotone track page, giving all the information about {$track_fulltitle} track", "track, {$track_title}, {$track_fulltitle}", 962, "{$skin_path}");
  lmb_track_body( $play_type, $play_id, $play_priority, $track_id, $skin_path);
  lmb_footer( $skin_path);
}



/*--------------------------------------------------------------------------------------------------------------------*/
/* 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  = lmb_play_path_get( $play_type, $play_id, $play_priority);
  $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  = lmb_play_path_get( $play_type, $play_id, $play_priority);
  $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  = lmb_play_path_get( $play_type, $play_id, $play_priority);
  $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  = lmb_play_path_get( $play_type, $play_id, $play_priority);
  $file_list = "extras/{$play_id}-*-{$extra_format}.png";

  return( lmb_download_file( $play_dir, $file_list, $mode, "{$play_id}-{$extra_format}"));
}



/*--------------------------------------------------------------------------------------------------------------------*/
/*                                                                                                                    */
/*--------------------------------------------------------------------------------------------------------------------*/

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_post;
  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_post\">Rx3 Free Software Packaging Main Page</A>&nbsp;&nbsp;/&nbsp;&nbsp;<A HREF=\"$lmb_url_post?pkg=$id\">Rx3 $name Home Page</A></H5>

    <HR>

";
}



/*--------------------------------------------------------------------------------------------------------------------*/
/* 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 "tracklist":
    {
      lmb_tracklist_page();
      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);

?>