Skip to content

Instantly share code, notes, and snippets.

@alexanderankin
Created May 29, 2015 13:08
Show Gist options
  • Save alexanderankin/33b81f8f03534903e04e to your computer and use it in GitHub Desktop.
Save alexanderankin/33b81f8f03534903e04e to your computer and use it in GitHub Desktop.
prototyping wusb.fm website
<?php
include 'schedulevariable.php';
function timemu($i) { // 'time markup', takes int i.
$meridian = $i < 12 ? " am" : " pm";
return ($i % 12) == 0 ? "12".$meridian : ($i % 12).$meridian;
}
function makemu($sch) { // 'make markup' out of a schedule variable.
// keep track of which blocks overlap.
$previousrowlengths = array ("tsindex", 1, 1, 1, 1, 1, 1, 1); // time slot index
$result = ""; // instantiate variables
foreach ($sch as $ts => $dayts) {
// column one
$result .= '\t\t\t\t\t\t<tr><td>'.timemu($ts).'</td>'; // 6 tabs because existing html.
// rest of columns
foreach ($dayts as $field => $arr) {
if ($previousrowlengths[$field + 1] != 1) { $previousrowlengths[$field + 1] -= 1; continue; }
$previousrowlengths[$field + 1] = $arr['length'];
$result .= "<td rowspan=\"".$arr['length']."\">".$arr['name']."</td>";
}
$result .= '</tr>';
$result .= "\n";
}
$result .= "\n";
return $result;
}
// testing/development.
echo makemu($sch);
<?php
$sch = array ( // sch
array( // ts
array("name" => "myshow0", "length" => 3),
array("name" => "myshow1", "length" => 3),
array("name" => "myshow2", "length" => 3),
array("name" => "myshow3", "length" => 3),
array("name" => "myshow4", "length" => 3),
array("name" => "myshow5", "length" => 3),
array("name" => "myshow6", "length" => 3),
),
array( // ts
array("name" => "myshow0", "length" => 3),
array("name" => "myshow1", "length" => 3),
array("name" => "myshow2", "length" => 3),
array("name" => "myshow3", "length" => 3),
array("name" => "myshow4", "length" => 3),
array("name" => "myshow5", "length" => 3),
array("name" => "myshow6", "length" => 3),
),
array( // ts
array("name" => "myshow0", "length" => 3),
array("name" => "myshow1", "length" => 3),
array("name" => "myshow2", "length" => 3),
array("name" => "myshow3", "length" => 3),
array("name" => "myshow4", "length" => 3),
array("name" => "myshow5", "length" => 3),
array("name" => "myshow6", "length" => 3),
),
array( // ts
array("name" => "myshow0", "length" => 3),
array("name" => "myshow1", "length" => 3),
array("name" => "myshow2", "length" => 3),
array("name" => "myshow3", "length" => 3),
array("name" => "myshow4", "length" => 3),
array("name" => "myshow5", "length" => 3),
array("name" => "myshow6", "length" => 3),
),
array( // ts
array("name" => "myshow0", "length" => 3),
array("name" => "myshow1", "length" => 3),
array("name" => "myshow2", "length" => 3),
array("name" => "myshow3", "length" => 3),
array("name" => "myshow4", "length" => 3),
array("name" => "myshow5", "length" => 3),
array("name" => "myshow6", "length" => 3),
),
array( // ts
array("name" => "myshow0", "length" => 3),
array("name" => "myshow1", "length" => 3),
array("name" => "myshow2", "length" => 3),
array("name" => "myshow3", "length" => 3),
array("name" => "myshow4", "length" => 3),
array("name" => "myshow5", "length" => 3),
array("name" => "myshow6", "length" => 3),
),
array( // ts
array("name" => "myshow0", "length" => 3),
array("name" => "myshow1", "length" => 3),
array("name" => "myshow2", "length" => 3),
array("name" => "myshow3", "length" => 3),
array("name" => "myshow4", "length" => 3),
array("name" => "myshow5", "length" => 3),
array("name" => "myshow6", "length" => 3),
),
array( // ts
array("name" => "myshow0", "length" => 3),
array("name" => "myshow1", "length" => 3),
array("name" => "myshow2", "length" => 3),
array("name" => "myshow3", "length" => 3),
array("name" => "myshow4", "length" => 3),
array("name" => "myshow5", "length" => 3),
array("name" => "myshow6", "length" => 3),
),
array( // ts
array("name" => "myshow0", "length" => 3),
array("name" => "myshow1", "length" => 3),
array("name" => "myshow2", "length" => 3),
array("name" => "myshow3", "length" => 3),
array("name" => "myshow4", "length" => 3),
array("name" => "myshow5", "length" => 3),
array("name" => "myshow6", "length" => 3),
),
array( // ts
array("name" => "myshow0", "length" => 3),
array("name" => "myshow1", "length" => 3),
array("name" => "myshow2", "length" => 3),
array("name" => "myshow3", "length" => 3),
array("name" => "myshow4", "length" => 3),
array("name" => "myshow5", "length" => 3),
array("name" => "myshow6", "length" => 3),
),
array( // ts
array("name" => "myshow0", "length" => 3),
array("name" => "myshow1", "length" => 3),
array("name" => "myshow2", "length" => 3),
array("name" => "myshow3", "length" => 3),
array("name" => "myshow4", "length" => 3),
array("name" => "myshow5", "length" => 3),
array("name" => "myshow6", "length" => 3),
),
array( // ts
array("name" => "myshow0", "length" => 3),
array("name" => "myshow1", "length" => 3),
array("name" => "myshow2", "length" => 3),
array("name" => "myshow3", "length" => 3),
array("name" => "myshow4", "length" => 3),
array("name" => "myshow5", "length" => 3),
array("name" => "myshow6", "length" => 3),
),
array( // ts
array("name" => "myshow0", "length" => 3),
array("name" => "myshow1", "length" => 3),
array("name" => "myshow2", "length" => 3),
array("name" => "myshow3", "length" => 3),
array("name" => "myshow4", "length" => 3),
array("name" => "myshow5", "length" => 3),
array("name" => "myshow6", "length" => 3),
),
array( // ts
array("name" => "myshow0", "length" => 3),
array("name" => "myshow1", "length" => 3),
array("name" => "myshow2", "length" => 3),
array("name" => "myshow3", "length" => 3),
array("name" => "myshow4", "length" => 3),
array("name" => "myshow5", "length" => 3),
array("name" => "myshow6", "length" => 3),
),
array( // ts
array("name" => "myshow0", "length" => 3),
array("name" => "myshow1", "length" => 3),
array("name" => "myshow2", "length" => 3),
array("name" => "myshow3", "length" => 3),
array("name" => "myshow4", "length" => 3),
array("name" => "myshow5", "length" => 3),
array("name" => "myshow6", "length" => 3),
),
array( // ts
array("name" => "myshow0", "length" => 3),
array("name" => "myshow1", "length" => 3),
array("name" => "myshow2", "length" => 3),
array("name" => "myshow3", "length" => 3),
array("name" => "myshow4", "length" => 3),
array("name" => "myshow5", "length" => 3),
array("name" => "myshow6", "length" => 3),
),
array( // ts
array("name" => "myshow0", "length" => 3),
array("name" => "myshow1", "length" => 3),
array("name" => "myshow2", "length" => 3),
array("name" => "myshow3", "length" => 3),
array("name" => "myshow4", "length" => 3),
array("name" => "myshow5", "length" => 3),
array("name" => "myshow6", "length" => 3),
),
array( // ts
array("name" => "myshow0", "length" => 3),
array("name" => "myshow1", "length" => 3),
array("name" => "myshow2", "length" => 3),
array("name" => "myshow3", "length" => 3),
array("name" => "myshow4", "length" => 3),
array("name" => "myshow5", "length" => 3),
array("name" => "myshow6", "length" => 3),
),
array( // ts
array("name" => "myshow0", "length" => 3),
array("name" => "myshow1", "length" => 3),
array("name" => "myshow2", "length" => 3),
array("name" => "myshow3", "length" => 3),
array("name" => "myshow4", "length" => 3),
array("name" => "myshow5", "length" => 3),
array("name" => "myshow6", "length" => 3),
),
array( // ts
array("name" => "myshow0", "length" => 3),
array("name" => "myshow1", "length" => 3),
array("name" => "myshow2", "length" => 3),
array("name" => "myshow3", "length" => 3),
array("name" => "myshow4", "length" => 3),
array("name" => "myshow5", "length" => 3),
array("name" => "myshow6", "length" => 3),
),
array( // ts
array("name" => "myshow0", "length" => 3),
array("name" => "myshow1", "length" => 3),
array("name" => "myshow2", "length" => 3),
array("name" => "myshow3", "length" => 3),
array("name" => "myshow4", "length" => 3),
array("name" => "myshow5", "length" => 3),
array("name" => "myshow6", "length" => 3),
),
array( // ts
array("name" => "myshow0", "length" => 3),
array("name" => "myshow1", "length" => 3),
array("name" => "myshow2", "length" => 3),
array("name" => "myshow3", "length" => 3),
array("name" => "myshow4", "length" => 3),
array("name" => "myshow5", "length" => 3),
array("name" => "myshow6", "length" => 3),
),
array( // ts
array("name" => "myshow0", "length" => 3),
array("name" => "myshow1", "length" => 3),
array("name" => "myshow2", "length" => 3),
array("name" => "myshow3", "length" => 3),
array("name" => "myshow4", "length" => 3),
array("name" => "myshow5", "length" => 3),
array("name" => "myshow6", "length" => 3),
),
array( // ts
array("name" => "myshow0", "length" => 3),
array("name" => "myshow1", "length" => 3),
array("name" => "myshow2", "length" => 3),
array("name" => "myshow3", "length" => 3),
array("name" => "myshow4", "length" => 3),
array("name" => "myshow5", "length" => 3),
array("name" => "myshow6", "length" => 3),
),
);
/** schema for dummy data:
* $sch = array( // tl array is sch, elems are time slots
* // 0 => $dayts = array( // 2l array is time, elems are days
* // $field => array( // 3l array is day/time, elem is information
* "name" => "name", // other info here
* "length" => 3
* ),
* ) // </2l>
* ) // </tl>
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment