<?php
/////////////////////////////////////////////////
// Author: Toni Soler
// Version: 1.02
// Date: 01/07/2010
// Last update: 16/12/2020
// License: Public
/////////////////////////////////////////////////

// Show source code
if ($_GET['action'] == 'showSource')
{
  
highlight_file($_SERVER['SCRIPT_FILENAME']);
  die();
}

// Data definition
$title 'Calendario 13 Lunas';
$year_name[2009] = 'Semilla Autoexistente Amarilla';    // 2009-2010
$year_name[2010] = 'Luna Entonada Roja';                // 2010-2011
$year_name[2011] = 'Mago Rítmico Blanco';               // 2011-2012
$year_name[2012] = 'Tormenta Resonante Azul';           // 2012-2013
$year_name[2013] = 'Semilla Galáctica Amarilla';        // 2013-2014
$year_name[2014] = 'Luna Solar Roja';                   // 2014-2015
$year_name[2015] = 'Mago Planetario Blanco';            // 2015-2016
$year_name[2016] = 'Tormenta Espectral Azul';           // 2016-2017
$year_name[2017] = 'Semilla Entonada Amarilla';         // 2017-2018
$year_name[2018] = 'Luna Rítmica Roja';                 // 2018-2019
$year_name[2019] = 'Mago Resonante Blanco';             // 2019-2020
$year_name[2020] = 'Tormenta Galáctica Azul';           // 2020-2021
$year_name[2021] = 'Semilla Solar Amarilla';            // 2021-2022
$year_name[2022] = 'Luna Planetaria Amarilla';          // 2022-2023
$year_name[2023] = 'Mago Espectral Blanco';             // 2023-2024
$year_name[2024] = 'Tormenta Cristal Azul';             // 2024-2025
$year_name[2025] = 'Semilla Cósmica Amarilla';          // 2025-2026
$year_name[2026] = 'Luna Magnética Roja';               // 2026-2027
$year_name[2027] = 'Mago Lunar Blanco';                 // 2027-2028
$year_name[2028] = 'Tormenta Eléctrica Azul';           // 2028-2029
$year_name[2029] = 'Semilla Autoexistente Amarilla';    // 2029-2030
$year_name[2030] = 'Luna Entonada Roja';                // 2030-2031
$year_name[2031] = 'Mago Rítmico Blanco';               // 2031-2032
$year_name[2032] = 'Tormenta Resonante Azul';           // 2032-2033

$cur_year intval(date("Y"));
$x_years_from_2004 $cur_year 2004;

$init_date mktime(0007262004);                  // July 26, 2004
$init_date += 60 60 3;                                  // Add 3 hours to avoid problems with daylight savings and other time adjustments
$init_date += 60 60 24 365.25 $x_years_from_2004;   // Add x years to reach the current year

if (strtotime("now") < strtotime("July 26"))
    
$cur_year--;

$langs = array( 'es' => array('es' => 'Castellano''ca' => 'Castell�',  'pt' => 'Espanhol',  'en' => 'Spanish'),
                
'ca' => array('es' => 'Catal�n',    'ca' => 'Catal�',    'pt' => 'Catal�o',   'en' => 'Catalan'),
                
'pt' => array('es' => 'Portugu�s',  'ca' => 'Portugu�s''pt' => 'Portugu�s''en' => 'Portuguese'),
                
'en' => array('es' => 'Ingl�s',     'ca' => 'Angl�s',    'pt' => 'Ingl�s',    'en' => 'English') );

$days['es'] = array(  => array('name' => 'Dali',  'action' => 'Focaliza'),
                      
=> array('name' => 'Seli',  'action' => 'Fluye'),
                      
=> array('name' => 'Gamma''action' => 'Pacifica'),
                      
=> array('name' => 'Kali',  'action' => 'Establece'),
                      
=> array('name' => 'Alfa',  'action' => 'Libera'),
                      
=> array('name' => 'Limi',  'action' => 'Purifica'),
                      
=> array('name' => 'Silio''action' => 'Descarga') );

$moons['es'] = array( 1  => array('name' => 'Luna Magn�tica del Murci�lago',  'quality' => 'del Prop�sito',       'gregorian' => '26 de Julio - 22 de Agosto'),
                      
2  => array('name' => 'Luna Lunar del Escorpi�n',       'quality' => 'del Desaf�o',         'gregorian' => '23 de Agosto - 19 de Septiembre'),
                      
3  => array('name' => 'Luna El�ctrica del Venado',      'quality' => 'del Servicio',        'gregorian' => '20 de Septiembre - 17 de Octubre'),
                      
4  => array('name' => 'Luna Auto-existente del B�ho',   'quality' => 'de la Forma',         'gregorian' => '18 de Octubre - 14 de Noviembre'),
                      
5  => array('name' => 'Luna Entonada del Pavo Real',    'quality' => 'del Esplendor',       'gregorian' => '15 de Noviembre - 12 de Diciembre'),
                      
6  => array('name' => 'Luna R�tmica del Cocodrilo',     'quality' => 'de la Igualdad',      'gregorian' => '13 de Diciembre - 9 de Enero'),
                      
7  => array('name' => 'Luna Resonante del Mono',        'quality' => 'de la Sintonizaci�n''gregorian' => '10 de Enero - 6 de Febrero'),
                      
8  => array('name' => 'Luna Gal�ctica del Halc�n',      'quality' => 'de la Integridad',    'gregorian' => '7 de Febrero - 6 de Marzo'),
                      
9  => array('name' => 'Luna Solar del Jaguar',          'quality' => 'de la Intenci�n',     'gregorian' => '7 de Marzo - 3 de Abril'),
                      
10 => array('name' => 'Luna Planetaria del Perro',      'quality' => 'de la Manifestaci�n''gregorian' => '4 de Abril - 1 de Mayo'),
                      
11 => array('name' => 'Luna Espectral de la Serpiente''quality' => 'de la Liberaci�n',    'gregorian' => '2 de Mayo - 29 de mayo'),
                      
12 => array('name' => 'Luna Cristal del Conejo',        'quality' => 'de la Cooperaci�n',   'gregorian' => '30 de Mayo - 26 de Junio'),
                      
13 => array('name' => 'Luna C�smica de la Tortuga',     'quality' => 'de la Presencia',     'gregorian' => '27 de Junio - 24 de Julio') );

$dayOutOfTime['es'] = array('name' => 'D�a Fuera del Tiempo''desc' => 'Este d�a no es ning�n d�a de la semana o del mes. Un verdadero d�a de libertad para el perd�n de las deudas y para: la celebraci�n del Tiempo es Arte');

$days['ca'] = array(  => array('name' => 'Dali',  'action' => 'Focalitza'),
                      
=> array('name' => 'Seli',  'action' => 'Fluye'),
                      
=> array('name' => 'Gamma''action' => 'Pacifica'),
                      
=> array('name' => 'Kali',  'action' => 'Establece'),
                      
=> array('name' => 'Alfa',  'action' => 'Libera'),
                      
=> array('name' => 'Limi',  'action' => 'Purifica'),
                      
=> array('name' => 'Silio''action' => 'Descarga') );

$moons['ca'] = array( 1  => array('name' => 'Luna Magn�tica del Murci�lago',  'quality' => 'del Prop�sito',       'gregorian' => '26 de Julio - 22 de Agosto'),
                      
2  => array('name' => 'Luna Lunar del Escorpi�n',       'quality' => 'del Desaf�o',         'gregorian' => '23 de Agosto - 19 de Septiembre'),
                      
3  => array('name' => 'Luna El�ctrica del Venado',      'quality' => 'del Servicio',        'gregorian' => '20 de Septiembre - 17 de Octubre'),
                      
4  => array('name' => 'Luna Auto-existente del B�ho',   'quality' => 'de la Forma',         'gregorian' => '18 de Octubre - 14 de Noviembre'),
                      
5  => array('name' => 'Luna Entonada del Pavo Real',    'quality' => 'del Esplendor',       'gregorian' => '15 de Noviembre - 12 de Diciembre'),
                      
6  => array('name' => 'Luna R�tmica del Cocodrilo',     'quality' => 'de la Igualdad',      'gregorian' => '13 de Diciembre - 9 de Enero'),
                      
7  => array('name' => 'Luna Resonante del Mono',        'quality' => 'de la Sintonizaci�n''gregorian' => '9 de Enero - 5 de Febrero'),
                      
8  => array('name' => 'Luna Gal�ctica del Halc�n',      'quality' => 'de la Integridad',    'gregorian' => '6 de Febrero - 5 de Marzo'),
                      
9  => array('name' => 'Luna Solar del Jaguar',          'quality' => 'de la Intenci�n',     'gregorian' => '6 de Marzo - 3 de Abril'),
                      
10 => array('name' => 'Luna Planetaria del Perro',      'quality' => 'de la Manifestaci�n''gregorian' => '4 de Abril - 1 de Mayo'),
                      
11 => array('name' => 'Luna Espectral de la Serpiente''quality' => 'de la Liberaci�n',    'gregorian' => '2 de Mayo - 29 de mayo'),
                      
12 => array('name' => 'Luna Cristal del Conejo',        'quality' => 'de la Cooperaci�n',   'gregorian' => '30 de Mayo - 26 de Junio'),
                      
13 => array('name' => 'Luna C�smica de la Tortuga',     'quality' => 'de la Presencia',     'gregorian' => '27 de Junio - 24 de Julio') );

$dayOutOfTime['ca'] = array('name' => 'D�a Fuera del Tiempo''desc' => 'Este d�a no es ning�n d�a de la semana o del mes. Un verdadero d�a de libertad para el perd�n de las deudas y para: la celebraci�n del Tiempo es Arte');

$days['pt'] = array(  => array('name' => 'Dali',  'action' => 'Focaliza'),
                      
=> array('name' => 'Seli',  'action' => 'Fluye'),
                      
=> array('name' => 'Gamma''action' => 'Pacifica'),
                      
=> array('name' => 'Kali',  'action' => 'Establece'),
                      
=> array('name' => 'Alfa',  'action' => 'Libera'),
                      
=> array('name' => 'Limi',  'action' => 'Purifica'),
                      
=> array('name' => 'Silio''action' => 'Descarga') );

$moons['pt'] = array( 1  => array('name' => 'Luna Magn�tica del Murci�lago',  'quality' => 'del Prop�sito',       'gregorian' => '26 de Julio - 22 de Agosto'),
                      
2  => array('name' => 'Luna Lunar del Escorpi�n',       'quality' => 'del Desaf�o',         'gregorian' => '23 de Agosto - 19 de Septiembre'),
                      
3  => array('name' => 'Luna El�ctrica del Venado',      'quality' => 'del Servicio',        'gregorian' => '20 de Septiembre - 17 de Octubre'),
                      
4  => array('name' => 'Luna Auto-existente del B�ho',   'quality' => 'de la Forma',         'gregorian' => '18 de Octubre - 14 de Noviembre'),
                      
5  => array('name' => 'Luna Entonada del Pavo Real',    'quality' => 'del Esplendor',       'gregorian' => '15 de Noviembre - 12 de Diciembre'),
                      
6  => array('name' => 'Luna R�tmica del Cocodrilo',     'quality' => 'de la Igualdad',      'gregorian' => '13 de Diciembre - 9 de Enero'),
                      
7  => array('name' => 'Luna Resonante del Mono',        'quality' => 'de la Sintonizaci�n''gregorian' => '9 de Enero - 5 de Febrero'),
                      
8  => array('name' => 'Luna Gal�ctica del Halc�n',      'quality' => 'de la Integridad',    'gregorian' => '6 de Febrero - 5 de Marzo'),
                      
9  => array('name' => 'Luna Solar del Jaguar',          'quality' => 'de la Intenci�n',     'gregorian' => '6 de Marzo - 3 de Abril'),
                      
10 => array('name' => 'Luna Planetaria del Perro',      'quality' => 'de la Manifestaci�n''gregorian' => '4 de Abril - 1 de Mayo'),
                      
11 => array('name' => 'Luna Espectral de la Serpiente''quality' => 'de la Liberaci�n',    'gregorian' => '2 de Mayo - 29 de mayo'),
                      
12 => array('name' => 'Luna Cristal del Conejo',        'quality' => 'de la Cooperaci�n',   'gregorian' => '30 de Mayo - 26 de Junio'),
                      
13 => array('name' => 'Luna C�smica de la Tortuga',     'quality' => 'de la Presencia',     'gregorian' => '27 de Junio - 24 de Julio') );

$dayOutOfTime['pt'] = array('name' => 'D�a Fuera del Tiempo''desc' => 'Este d�a no es ning�n d�a de la semana o del mes. Un verdadero d�a de libertad para el perd�n de las deudas y para: la celebraci�n del Tiempo es Arte');

$days['en'] = array(  => array('name' => 'Dali',  'action' => 'thermic force (target)'),
                      
=> array('name' => 'Seli',  'action' => 'luminic force (flow)'),
                      
=> array('name' => 'Gamma''action' => 'luminic-thermic force (pacify)'),
                      
=> array('name' => 'Kali',  'action' => 'catalytic agent (establish)'),
                      
=> array('name' => 'Alfa',  'action' => 'double-extended electron (release)'),
                      
=> array('name' => 'Limi',  'action' => 'mental electron (purify)'),
                      
=> array('name' => 'Silio''action' => 'mental electron neutron (discharge)') );

$moons['en'] = array( 1  => array('name' => 'Magnetic Bat Moon',      'essence' => 'Purpose',       'power' => 'Unify',     'action' => 'Attract'),
                      
2  => array('name' => 'Lunar Scorpion Moon',    'essence' => 'Challenge',     'power' => 'Polarize',  'action' => 'Stabilize'),
                      
3  => array('name' => 'Electric Deer Moon',     'essence' => 'Service',       'power' => 'Activate',  'action' => 'Bond'),
                      
4  => array('name' => 'Self-existing Owl Moon''essence' => 'Form',          'power' => 'Define',    'action' => 'Measure'),
                      
5  => array('name' => 'Overtone Peacock Moon',  'essence' => 'Radiance',      'power' => 'Empower',   'action' => 'Command'),
                      
6  => array('name' => 'Rhythmic Lizard Moon',   'essence' => 'Equality',      'power' => 'Organize',  'action' => 'Balance'),
                      
7  => array('name' => 'Resonant Monkey Moon',   'essence' => 'Attunement',    'power' => 'Channel',   'action' => 'Inspire'),
                      
8  => array('name' => 'Galactic Hawk Moon',     'essence' => 'Integrity',     'power' => 'Harmonize''action' => 'Model'),
                      
9  => array('name' => 'Solar Jaguar Moon',      'essence' => 'Intention',     'power' => 'Pulse',     'action' => 'Realize'),
                      
10 => array('name' => 'Planetary Dog Moon',     'essence' => 'Manifestation''power' => 'Perfect',   'action' => 'Produce'),
                      
11 => array('name' => 'Spectral Serpent Moon',  'essence' => 'Liberation',    'power' => 'Dissolve',  'action' => 'Release'),
                      
12 => array('name' => 'Crystal Rabbit Moon',    'essence' => 'Cooperation',   'power' => 'Dedicate',  'action' => 'Universalize'),
                      
13 => array('name' => 'Cosmic Turtle Moon',     'essence' => 'Presence',      'power' => 'Endure',    'action' => 'Transcend') );

$dayOutOfTime['en'] = array('name' => 'Day Out of Time''desc' => 'Este d�a no es ning�n d�a de la semana o del mes. Un verdadero d�a de libertad para el perd�n de las deudas y para: la celebraci�n del Tiempo es Arte');

$birthdays = array( '28/06' => array('name' => 'D',         'gender' => 'female'),
                    
'17/05' => array('name' => 'T',         'gender' => 'male'),
                    
'19/09' => array('name' => 'L',         'gender' => 'female'),
                    
'31/12' => array('name' => 'A',         'gender' => 'male'),
                    
'14/09' => array('name' => 'N',         'gender' => 'female'),
                    
'23/01' => array('name' => 'J',         'gender' => 'female'),
                    
'01/10' => array('name' => 'A',         'gender' => 'male'),
                    
'09/10' => array('name' => 'M',         'gender' => 'female'),
                    
'04/02' => array('name' => 'P',         'gender' => 'male'),
                    
'18/07' => array('name' => 'A',         'gender' => 'male'),
                    
'31/12' => array('name' => 'A',         'gender' => 'male'),
                    
'01/09' => array('name' => 'S',         'gender' => 'female'),
                    
'02/08' => array('name' => 'P',         'gender' => 'male'),
                    
'11/05' => array('name' => 'C',         'gender' => 'male'),
                    
'28/03' => array('name' => 'F',         'gender' => 'male') );

// Main program
if (isset($_GET['lang']))
{
  
$lang $_GET['lang'];
}
else
{
  
$lang 'es';
}
?>
<html>
  <head>
    <meta charset="UTF-8"/>
    <title><?php echo $title?></title>
  </head>
  <body>
    <table width="100%">
    <tr>
      <td align="center">
        <font face="Arial">
        <h1><?php echo $title?></h1>
        <h2><?php echo $cur_year."/".substr($cur_year+122)." - ".$year_name[$cur_year]; ?></h2>
<?php
$gregorian_date 
$init_date;
foreach (
$moons[$lang] as $key => $moon)
{
  echo 
"        <table border=\"1\" width=\"800\">\n";
  echo 
"        <tr><td align=\"center\" colspan=\"7\" style=\"background-color: #00AA00;\"><b>Luna ".$key.": ".$moon['name']." - ".$moon['quality']." - (".$moon['gregorian'].")</b></td></tr>\n";
  echo 
"        <tr>\n";
  foreach (
$days[$lang] as $key => $day)
  {
    echo 
"          <td align=\"center\" style=\"background-color: #FFEE00;\"><b>".$day['name']."</b><br/>".$day['action']."</td>\n";
  }
  echo 
"        </tr>\n";
  for (
$i 0$i <= 3$i++)
  {
    
$offset $i 7;
    echo 
"        <tr>\n";
    foreach (
$days[$lang] as $key => $day)
    {
      
$is_lap_year false;
      
$day_mth date('d/m'$gregorian_date);
      if (
$day_mth == '29/02')
      {
        
$is_lap_year true;
        
$gregorian_date += 60 60 24;
        
$day_mth date('d/m'$gregorian_date);
      }
      
$birth false;
      
$name '<br/>';
      if (isset(
$birthdays[$day_mth]))
      {
        
$birth true;
        
$name $birthdays[$day_mth]['name'].'<br/>';
        if (
$birthdays[$day_mth]['gender'] == 'male')
        {
          
$color ' style="color: #0000FF;"';
        }
        else
        {
          
$color ' style="color: #FF00FF;"';
        }
      }
      echo 
"          <td align=\"center\"".($birth $color '').">".($birth '<b>' '').($key $offset)."<br/>".$name."<font size=\"-1\">(".date('d/m/Y'$gregorian_date).($is_lap_year " *" "").")</font>".($birth '</b>' '')."</td>\n";
      
$gregorian_date += 60 60 24;
    }
    echo 
"        </tr>\n";
  }
  echo 
"        </table>\n";
  echo 
"        <br/>\n";
}
echo 
"        <table border=\"1\" width=\"500\">\n";
echo 
"        <tr><td align=\"center\" colspan=\"7\" style=\"background-color: #00AA00;\"><b>".$dayOutOfTime[$lang]['name']."</b></td></tr>\n";
echo 
"        <tr>\n";
echo 
"          <td align=\"center\" style=\"background-color: #FFEE00;\">".$dayOutOfTime[$lang]['desc']."</td>\n";
echo 
"        </tr>\n";
echo 
"        <tr>\n";
echo 
"          <td align=\"center\">(".date('d/m/Y'$gregorian_date).")</td>\n";
$gregorian_date += 60 60 24;
echo 
"        </tr>\n";
echo 
"        </table>\n";
echo 
"        <br/>\n";
echo 
"        <a href=\"".$_SERVER['REQUEST_URI']."?action=showSource\">C�digo fuente (Libre)</a>\n";
echo 
"        <br/>\n";
?>
      </font>
      </td>
    </tr>
    </table>
  </body>
</html>
<?php
// End main
?>