PHP Classes
elePHPant
Icontem

File: historic_demo.php

Recommend this page to a friend!
  Classes of Ihor Khomyn  >  PHP Historic Timeline Generator  >  historic_demo.php  >  Download  
File: historic_demo.php
Role: Example script
Content type: text/plain
Description: Demo usage of the class
Class: PHP Historic Timeline Generator
Render image with a timeline of historic dates
Author: By
Last change:
Date: 4 years ago
Size: 10,622 bytes
 

 

Contents

Class file image Download
<?php

require('historicline.php');

$data = array(
 0 => array(
    'name' => 'Geology Epochs',
    'dates' => array(0 => array('d' => '-14500000000000', 'name' => 'Early Cretaceous'),
                     1 => array('d' => '-10050000000000', 'name' => 'Late Cretaceous'),
                     2 => array('d' => '-2303000000000', 'name' => 'Miocene'),
                     3 => array('d' => '-533300000000', 'name' => 'Pliocene'),
                     4 => array('d' => '-258000000000', 'name' => 'Pleistocene'),
                     5 => array('d' => '-1100000000', 'name' => 'Holocene'))),
 1 => array(
    'name' => 'Vedic Time Travel',
    'dates' => array(0 => array('d' => '-15500000000000000000', 'name' => 'Brahma'),
                     1 => array('d' => '-230000000000000', 'name' => 'Shvetavaraha Kalpa'),
                     2 => array('d' => '-12096000000000', 'name' => 'Vaivasvata 7 Manu'),
                     3 => array('d' => '-389110200000', 'name' => 'Satya-Yuga'),
                     4 => array('d' => '-310211140', 'name' => 'Kali-Yuga'))),
 2 => array(
    'name' => 'Human evolution',
    'dates' => array(0 => array('d' => '-700000000000', 'name' => 'Sahelanthropus Tchadensis'),
                     1 => array('d' => '-360000000000', 'name' => 'Australopithecus'),
                     2 => array('d' => '-100000000000', 'name' => 'Pithecanthropus'),
                     3 => array('d' => '-20000000000', 'name' => 'Neanderthal'))),
 3 => array(
    'name' => 'Historic science',
    'dates' => array(0 => array('d' => '-340000000000', 'name' => 'Stone Age'),
                     1 => array('d' => '-150000000000', 'name' => 'Fire Use'),
                     2 => array('d' => '-600000000', 'name' => 'Wheel'),
                     3 => array('d' => '-400000000', 'name' => 'Horse Domestication'))),
 4 => array(
    'name' => 'Phisics',
    'dates' => array(0 => array('d' => '-1470000000000000', 'name' => 'Big Bang'),
                     1 => array('d' => '-460000000000000', 'name' => 'Solar System'),
                     2 => array('d' => '-20000000000', 'name' => 'Homo Sapiens'))),
 5 => array(
    'name' => 'Scale',
    'dates' => array(0 => array('d' => '-100000000000000000000', 'name' => '1000 trln yrs ago'),
                     1 => array('d' => '-10000000000000000000', 'name' => '100 trln yrs ago'),
                     2 => array('d' => '-1000000000000000000', 'name' => '10 trln yrs ago'),
                     3 => array('d' => '-100000000000000000', 'name' => '1 trln yrs ago'),
                     4 => array('d' => '-10000000000000000', 'name' => '100 bln yrs ago'),
                     5 => array('d' => '-1000000000000000', 'name' => '10 bln yrs ago'),
                     6 => array('d' => '-100000000000000', 'name' => '1 bln yrs ago'),
                     7 => array('d' => '-10000000000000', 'name' => '100 mln yrs ago'),
                     8 => array('d' => '-1000000000000', 'name' => '10 mln yrs ago'),
                     9 => array('d' => '-100000000000', 'name' => '1 mln yrs ago'),
                     10 => array('d' => '-10000000000', 'name' => '100 milennia yrs ago'),
                     11 => array('d' => '-1000000000', 'name' => '10 milennia yrs ago'),
                     12 => array('d' => '-100000000', 'name' => '1 milennia ago')))
                     
 );

    if (isset($_GET['action']) && ($_GET['action'] == 'setup')) {
      if (!isset($_GET['axisboth'])) { $_SESSION['axisboth'] = 0; }
      if (!isset($_GET['rangeboth'])) { $_SESSION['rangeboth'] = 0; }
      if (!isset($_GET['userangeb'])) { $_SESSION['userangeb'] = 0; }
      if (!isset($_GET['userangee'])) { $_SESSION['userangee'] = 0; }
    }
    if (isset($_GET['axistop'])) { $_SESSION['axistop'] = $_GET['axistop']; }
    if (isset($_GET['axisbot'])) { $_SESSION['axisbot'] = $_GET['axisbot']; }
    if (isset($_GET['axisboth'])) { $_SESSION['axisboth'] = $_GET['axisboth']; }
    if (isset($_GET['rangeboth'])) { $_SESSION['rangeboth'] = $_GET['rangeboth']; }
    if (isset($_GET['rangeb'])) { $_SESSION['rangeb'] = $_GET['rangeb']; }
    if (isset($_GET['rangee'])) { $_SESSION['rangee'] = $_GET['rangee']; }
    if (isset($_GET['userangeb'])) { $_SESSION['userangeb'] = $_GET['userangeb']; }
    if (isset($_GET['userangee'])) { $_SESSION['userangee'] = $_GET['userangee']; }
      
    $_SESSION['idtop'] = (isset($_GET['idtop']) ? $_GET['idtop'] : 0);
    $_SESSION['idbot'] = (isset($_GET['idbot']) ? $_GET['idbot'] : 1);
    if (!isset($_SESSION['rangeboth'])) { $_SESSION['rangeboth'] = 1; }
    if (!isset($_SESSION['axistop'])) { $_SESSION['axistop'] = 8; }
    if (!isset($_SESSION['axisboth'])) { $_SESSION['axisboth'] = 1; }
    if (!isset($_SESSION['axisbot'])) { $_SESSION['axisbot'] = 1; }
    if ($_SESSION['axisboth']) { $_SESSION['axisbot'] = $_SESSION['axistop']; }
    if (!isset($_SESSION['rangeb'])) { $_SESSION['rangeb'] = '-100000000000000'; }
    if (!isset($_SESSION['rangee'])) { $_SESSION['rangee'] = '201400000'; }
    if (!isset($_SESSION['userangeb'])) { $_SESSION['userangeb'] = 1; }
    if (!isset($_SESSION['userangee'])) { $_SESSION['userangee'] = 0; }

    $idtop = $_SESSION['idtop'];
    $idbot = $_SESSION['idbot'];

  if ($_SESSION['userangeb']) {
    while (list($key, $val) = each($data[$idtop]['dates'])) {
      if ($data[$idtop]['dates'][$key]['d'] < $_SESSION['rangeb']) {
        array_splice($data[$idtop]['dates'], $key, 1);
      }
    }	
    $data[$idtop]['dates'] = array_values($data[$idtop]['dates']);
    while (list($key, $val) = each($data[$idbot]['dates'])) {
      if ($data[$idbot]['dates'][$key]['d'] < $_SESSION['rangeb']) {
        array_splice($data[$idbot]['dates'], $key, 1);
      }
    }	
    $data[$idbot]['dates'] = array_values($data[$idbot]['dates']);
  } 
  if ($_SESSION['userangee']) {
    while (list($key, $val) = each($data[$idtop]['dates'])) {
      if ($data[$idtop]['dates'][$key]['d'] > $_SESSION['rangee']) {
        array_splice($data[$idtop]['dates'], $key, 1);
      }
    }	
    while (list($key, $val) = each($data[$idbot]['dates'])) {
      if ($data[$idbot]['dates'][$key]['d'] > $_SESSION['rangee']) {
        array_splice($data[$idbot]['dates'], $key, 1);
      }
    }	
    $data[$idbot]['dates'] = array_values($data[$idbot]['dates']);
  } 

  $mpnames = array(); reset($data);
  while (list($key, $val) = each($data)) {
    $mpnames[$key] = $val['name'];
  }

  if (isset($_GET['action']) && ($_GET['action'] == 'graph')) {
    header ('Content-Type: image/png');
    $t = new HistoricLine();
    print $t->Graph($data[$idtop], $data[$idbot]);
    exit;
  }

?>

<html>
<head>
<title>Historic Line v.0.1</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta http-equiv="expires" content="0">
<meta name="description" content="Historic Line component by Ihor Khomyn (c) 2014">
<meta name="keywords" content="historic, date">
<script src="//ajax.googleapis.com/ajax/libs/mootools/1.5.1/mootools-yui-compressed.js"></script>
<script type="text/javascript" src="historicdate.js"></script>
</head>
<body>

<table align=center width=800>
<tr><td>
<?php

print '<img src="?action=graph&idtop='.$_SESSION['idtop'].'&axistop='.$_SESSION['axistop'].'&axisboth='.$_SESSION['axisboth'].
      '&idbot='.$_SESSION['idbot'].'&axisbot='.$_SESSION['axisbot'].'&rangeboth='.$_SESSION['rangeboth'].
      '&userangeb='.$_SESSION['userangeb'].'&rangeb='.$_SESSION['rangeb'].'&userangee='.$_SESSION['userangee'].'&rangee='.$_SESSION['rangee'].'">';

?>

<table width=100% border=0>
<tr><td valign=top width=50%>

<table width=100% border=0>
<?php
print '<tr bgcolor="#ffffdd"><td colspan=2><strong>'.$data[$idtop]['name'].'</strong></td></tr>';
$h = new HistoricDate();
$n = 0;
foreach ($data[$idtop]['dates'] as $key => $value) {
  print '<tr bgcolor="'.(($n % 2 > 0) ? '#ffffdd':'#eeffff').'">
  <td valign=top width=205>'.$h->Transform($value['d']).'</td>
  <td>'.$value['name'].'</td>
</tr>';
  $n++;
}
?>
</table>
</td><td valign=top>
<table width=100% border=0>
<?php
print '<tr bgcolor="#ffffdd"><td colspan=2><strong>'.$data[$idbot]['name'].'</strong></td></tr>';
$n = 0;
foreach ($data[$idbot]['dates'] as $key => $value) {
  print '<tr bgcolor="'.(($n % 2 > 0) ? '#ffffdd':'#eeffff').'">
  <td valign=top width=205>'.$h->Transform($value['d']).'</td>
  <td>'.$value['name'].'</td>
</tr>';
  $n++;
}
?>
</table>
</td></tr></table>

<br>

<table width=100% border=0>
<form>
<input type=hidden name=action value=setup>
<tr><td>
Top Axis:</td><td> 
<select name=idtop>
<?php
foreach ($mpnames as $key => $value) { 
  print '<option value="'.$key.'"'.(($idtop == $key) ? ' selected=selected':'').'>'.$value.'</option>';
}
?>
</select></td><td>
Bottom Axis:
</td><td>
<select name=idbot>
<?php
foreach ($mpnames as $key => $value) { 
  print '<option value="'.$key.'"'.(($idbot == $key) ? ' selected=selected':'').'>'.$value.'</option>';
}
?>
</select></td>
</tr>
<tr><td valign=top>Top Axis Scale: </td><td valign=top>
<select name=axistop>
<?php
foreach ($HDoperations as $key => $value) { 
  print '<option value="'.$key.'"'.(($_SESSION['axistop'] == $key) ? ' selected=selected':'').'>'.$value.'</option>';
}
?>
</select>
</td><td valign=top>Bottom Axis Scale: </td><td>
<input type=radio name=axisboth value=1<?php if ($_SESSION['axisboth']) { print ' checked'; } ?>> Same As Top<br>
<input type=radio name=axisboth value=0<?php if (!$_SESSION['axisboth']) { print ' checked'; } ?>><select name=axisbot>
<?php
foreach ($HDoperations as $key => $value) { 
  print '<option value="'.$key.'"'.(($_SESSION['axisbot'] == $key) ? ' selected=selected':'').'>'.$value.'</option>';
}
?>
</select>
</td></tr>
<tr><td>&nbsp;</td></tr>
<tr><td valign=top>Range: </td><td>
<input type=radio name=rangeboth value=1<?php if ($_SESSION['rangeboth']) { print ' checked'; } ?>>Min/Max of both lines<br>
<input type=radio name=rangeboth value=0<?php if (!$_SESSION['rangeboth']) { print ' checked'; } ?>>Each line have it's own
</td>
<?php
print '<td><input type=checkbox name=userangeb value=1'.(($_SESSION['userangeb']) ? ' checked' : '').'>
       Minimum Bound:<br>
       <input type=checkbox name=userangee value=1'.(($_SESSION['userangee']) ? ' checked' : '').'>
       Maximum Bound:</td><td>
       <input type=text name="rangeb" value="'.$_SESSION['rangeb'].'" rel=historicpopup><br>
       <input type=text name="rangee" value="'.$_SESSION['rangee'].'" rel=historicpopup></td></tr>';
?>
<tr><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&nbsp;</td><td><input type=submit value="Update"></td></tr>
</form>
</table>
</td></tr></table>

</body>
</html>