Skip to content

Instantly share code, notes, and snippets.

@krokodilerian
Last active September 6, 2015 18:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save krokodilerian/f44e6905bbd94112b22a to your computer and use it in GitHub Desktop.
Save krokodilerian/f44e6905bbd94112b22a to your computer and use it in GitHub Desktop.
simple json scroller
<?php
$betweenletters=0;
$firstline=2000000;
$betweentalks=10000000;
function spline($line) {
global $betweenletters;
for ($i=0;$i<strlen($line);$i++) {
echo $line[$i];
usleep($betweenletters);
}
echo "\n";
}
function scrolltext($line) {
$len=79;
$pad=str_repeat(" ",$len);
$out=$pad.$line.$pad;
for ($i=0;$i<mb_strlen($line)+$len;$i++) {
echo chr(27) . "[0G".mb_substr($out, $i, $len);
usleep(100000);
}
}
$json=file_get_contents("http://varnaconf.com/schedules/2015.json");
$decoded = json_decode ($json);
$t=1;
$s=2;
$track=$decoded->$t;
for($tn=2;$tn<8;$tn++) {
$talk=$track[$tn];
$dt=date_create($talk->startTime);
$pdt=$dt->format("H:i");
system("clear");
spline(" VarnaConf 2015\n");
spline("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
if (empty($talk->speakers)) {
$tname="Всички";
$tdesc="Мяу. Някой да нахрани терминала.";
} else {
$tname=$talk->speakers[0]->name;
$tdesc=$talk->speakers[0]->description;
}
spline($pdt." ".$tname." - ".$talk->title."\n");
usleep($firstline);
spline($tdesc);
spline("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
echo "\n\n";
scrolltext("Пийте повече вода, за да не се дехидрирате");
scrolltext("Друг generic текст за посетителите");
usleep($betweentalks);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment