Subversion Repositories LCARS

Compare Revisions

Last modification

Regard whitespace Rev 171 → Rev 172

/trunk/media/video/series/series.tpl
File deleted
\ No newline at end of file
/trunk/media/video/series/data.inc
12,6 → 12,7
include_once 'includes/efc.php';
include_once 'includes/frasier.php';
include_once 'includes/futurama.php';
include_once 'includes/glee.php';
include_once 'includes/heroes.php';
include_once 'includes/house.php';
include_once 'includes/macgyver.php';
27,6 → 28,7
include_once 'includes/star-trek-tng.php';
include_once 'includes/superman.php';
include_once 'includes/time-trax.php';
include_once 'includes/true-blood.php';
 
$serien = array_merge($serien, array(
'<span class="buffy"><span class="title">Buffy</span><span class="hidden">'
41,18 → 43,19
 
'<span class="countdown-x"><span class="title">Countdown X</span>'
. '&nbsp;&ndash;<span class="subtitle">Alarm im All</span></span>' => array(
'channel' => 'Tele 5',
'showtimes' => 'Di–Sa 04:20',
'ignore' => true,
// 'channel' => 'Tele 5',
// 'showtimes' => 'Di–Sa 04:20',
'seen' => array(4, 6),
'last_seen' => mktime(3, 45, 0, 12, 21, 2010),
// 'last_seen' => mktime(3, 45, 0, 12, 21, 2010),
'seasons' => array(21),
'episode_list' => 'http://www.imdb.de/title/tt0115126/episodes',
'episodes' => array(
// 1 => 'Pilot',
// 2 => 'In Friends We Trust',
// 3 => 'No Fear',
1 => 'Pilot',
2 => 'In Friends We Trust',
3 => 'No Fear',
4 => 'Gerüchte (Just a Rumor)',
// 5 => 'Play Astronaut for Me',
5 => 'Play Astronaut for Me',
6 => 'Countdown mit Hindernissen (Lost in Space)',
7 => 'Affären (Family Values)',
8 => 'Ruhet in Frieden (Buried in Peace)',
60,7 → 63,7
10 => "Giftige Gase (Reggie's Wild Ride)",
11 => 'Die Bombendrohung (Burning Fuse)',
12 => 'Ahnungslos im Einsatz (Judgment Call)',
// 13 => 'The Accusation',
13 => 'The Accusation',
14 => 'Erscheinungen (Interpretations)',
15 => 'Der Hurrikan (Hurricane)',
16 => 'Eine schwierige Entscheidung (The Last to Know)',
73,15 → 76,14
),
 
'<span class="dead-zone"><span class="text"><span class="dead">Dead</span>
<span class="zone">Zone</span></span></span>
(de)' => &$dead_zone,
<span class="zone">Zone</span></span></span>' => &$dead_zone,
 
'<span class="doctor-who"><span class="gradient"><span class="gradient2">'
. '<span class="gradient3">Doctor Who</span></span></span></span> (9–11)' => array(
// 'ignore' => true,
'ignore' => true,
'channel' => 'BBC 3',
'showtimes' => 'Fr 20:00',
'seen' => array(array(1, 3), 42, 56, array(60, 62)),
'seen' => array(array(1, 5), 42, 56, array(60, 62)),
'last_seen' => mktime(20, 0, 0, 12, 19, 2011),
'seasons' => array(
13, 'Special 2005' => 1,
97,29 → 99,28
2 => "The End of the World",
3 => "The Unquiet Dead",
4 => "Aliens of London",
// 5 => "World War Three",
// 6 => "Dalek",
// 7 => "The Long Game",
// 8 => "Father's Day",
// 9 => "The Empty Child",
// 10 => "The Doctor Dances",
// 11 => "Boom Town",
5 => "World War Three",
6 => "Dalek",
7 => "The Long Game",
8 => "Father's Day",
9 => "The Empty Child",
10 => "The Doctor Dances",
11 => "Boom Town",
12 => "Bad Wolf",
// 13 => "The Parting of the Ways",
13 => "The Parting of the Ways",
14 => "The Christmas Invasion",
 
// 15 => "New Earth",
// 28 => "The Runaway Bride",
15 => "New Earth",
28 => "The Runaway Bride",
 
// 29 => "Smith and Jones",
29 => "Smith and Jones",
42 => "Voyage of the Damned (17.12.2011)",
43 => "Partners in Crime",
 
// 43 => "Partners in Crime",
 
56 => "The Next Doctor (19.12.2011)",
// 57 => "Planet of the Dead",
// 58 => "The Waters of Mars",
57 => "Planet of the Dead",
58 => "The Waters of Mars",
59 => "The End of Time (20.12.2011)",
 
60 => 'The Eleventh Hour (18.06.2011 03:45)',
164,7 → 165,7
// 'ignore' => true,
'channel' => 'online',
// 'showtimes' => 'Mo 20:15',
'seen' => array(array(1, 6)),
'seen' => array(array(1, 7)),
'seasons' => array(12, 13, 18, 21),
'episode_list' => 'wiki:en:List_of_Eureka_episodes',
'episodes' => array(
296,7 → 297,7
// 'ignore' => true,
// 'channel' => 'ProSieben',
// 'showtimes' => 'Mo 21:15–23:50',
'seen' => array(array(1, 6)),
'seen' => array(array(1, 7)),
// 'last_seen' => mktime(0, 5, 0, 7, 5, 2011),
'seasons' => array(20, 23, 22),
'episode_list' => 'wiki:Liste_der_Fringe-Episoden',
306,9 → 307,9
3 => 'The Ghost Network (Roy)',
4 => 'The Arrival (Die Ankunft)',
5 => 'Unter Strom (Power Hungry)',
6 => 'Das Heilmittel (The Cure)',
7 => "Der geheimnisvolle Mr. Jones (In Which We Meet Mr. Jones)",
8 => "Die Gleichung (The Equation)",
6 => 'The Cure (Das Heilmittel)',
7 => "In Which We Meet Mr. Jones (Der geheimnisvolle Mr. Jones)",
8 => "The Equation (Die Gleichung)",
9 => "Schmetterlinge im Kopf (The Dreamscape)",
10 => "Durch die Wand (Safe)",
11 => "Das Schnupfenvirus (Bound)",
340,61 → 341,7
. '<span class="a">a</span><span class="m">m</span><span class="a2">a</span>'
. '</span>' => &$futurama,
 
'<span class="glee">G<span class="lee">lee</span></span>' => array(
// 'ignore' => true,
'channel' => 'E4',
'showtimes' => 'Di 16:35',
'seen' => array(array(1, 4)),
'last_seen' => mktime(16, 55, 0, 8, 25, 2011),
'seasons' => array(22, 22),
'episode_list' => 'wiki:en:List_of_Glee_episodes',
'episodes' => array(
1 => "Pilot",
2 => "Showmance",
3 => "Acafellas",
4 => "Preggers",
5 => "The Rhodes Not Taken",
6 => "Vitamin D",
7 => "Throwdown",
8 => "Mash-Up",
9 => "Wheels",
10 => "Ballad",
11 => "Hairography",
12 => "Mattress",
13 => "Sectionals",
14 => "Hell-o",
15 => "The Power of Madonna",
16 => "Home",
17 => "Bad Reputation",
18 => "Laryngitis",
19 => "Dream On",
20 => "Theatricality",
21 => "Funk",
22 => "Journey to Regionals",
23 => "Audition",
24 => "Britney/Brittany",
25 => "Grilled Cheesus",
26 => "Duets",
27 => "The Rocky Horror Glee Show",
28 => "Never Been Kissed",
29 => "The Substitute",
30 => "Furt",
31 => "Special Education",
32 => "A Very Glee Christmas",
33 => "The Sue Sylvester Shuffle",
34 => "Silly Love Songs",
35 => "Comeback",
36 => "Blame It on the Alcohol",
37 => "Sexy",
38 => "Original Song",
39 => "A Night of Neglect",
40 => "Born This Way",
41 => "Rumours",
42 => "Prom Queen",
43 => "Funeral",
44 => "New York",
)
),
'<span class="glee">G<span class="lee">lee</span></span>' => &$glee,
 
// '<span class="glee">G<span class="lee">lee</span></span> (de)' => array(
// // 'ignore' => true,
595,79 → 542,83
),
'episode_list' => 'wiki:Moonlight_(Fernsehserie)#Episodenliste'
),
 
'<span class="mutant-x"><span class="gradient">Mutant X</span></span>' => array(
'channel' => 'Tele 5',
'showtimes' => 'Mo-Fr 14:10',
'seen' => array(array(1, 6)),
// 'ignore' => true,
'channel' => 'online',
// 'showtimes' => 'Mo-Fr 14:10',
'seen' => array(array(1, 7)),
'seasons' => array(22, 22, 22),
'episode_list' => 'http://www.mystery-files.de/season.php?id=1&serie=mutantx',
'episodes' => array(
1 => "Genom X (1) (The Shock of the New)",
2 => "Unter Strom (2) (I Scream the Body Electric)",
3 => "Russisches Roulette (Russian Roulette)",
4 => "Verrückt vor Liebe (Fool For Love)",
5 => "Der elektrische Rebell Kilohertz",
6 => "Der Unsterbliche ((Meaning of Death)",
7 => "Geladene Stimmung (Lit Fuse)",
8 => "Schachmatt (In the Presence of Mine Enemies)",
9 => "Die Entführung (Crime of the New Century)",
10 => "Tödliches Serum (Dark Star Rising)",
11 => "Die perfekte Tarnung (Whiter Shade of Pale)",
12 => "Die dunkle Seite (Double Vision)",
13 => "Falsche Erwartungen (Blood Ties)",
14 => "Gut und böse (Altered Ego)",
15 => "Neun Leben (Lazarus Syndrome)",
16 => "Lebende Hardware (Interface)",
17 => "Verlorene Erinnerung (Presumed Guilty)",
18 => "Das russische Ei (Ex Marks the Spot)",
19 => "Traumfänger (Nothing to Fear)",
20 => "Die Skorpionfrau (Deadly Desire)",
21 => "Patient Null (A Breed Apart)",
22 => "Tanz am Abgrund (Dancing on the Razor)",
23 => "Die Alchemistin (Past as Prologue)",
24 => "An die Wand gespielt (Power Play)",
25 => "Zeitreise (Time Squared)",
26 => "Der Werwolf (Whose Woods These Are)",
27 => "Herrscher über Leben und Tod (The Future Revealed)",
28 => "Zwischen den Fronten (No Man Left Behind)",
29 => "Die Welt hinter der Welt (Crossroads of the Soul)",
30 => "Der Androide (Sign From Above)",
31 => "Der Körperwanderer (Body and Soul)",
32 => "Die Ersatzspielerin (Understudy)",
33 => "Schmutzige Geschäfte (The Grift)",
34 => "Der letzte Coup (At Destiny's End)",
35 => "Tödliche Geheimnisse (Within These Walls)",
// 36 => "Gladiatoren (Hard Time)",
37 => "Das Attentat (Under the Cloak of War)",
38 => "Der Kronzeuge (Once Around)",
// 39 => "Das Tribunal (Final Judgment)",
1 => "The Shock of the New (1) (Genom X)",
2 => "I Scream the Body Electric (2) (Unter Strom)",
3 => "Russian Roulette (Russisches Roulette)",
4 => "Fool For Love (Verrückt vor Liebe)",
5 => "Kilohertz (Der elektrische Rebell)",
6 => "Meaning of Death (Der Unsterbliche)",
7 => "Lit Fuse (Geladene Stimmung)",
8 => "In the Presence of Mine Enemies (Schachmatt)",
9 => "Crime of the New Century (Die Entführung)",
10 => "Dark Star Rising (Tödliches Serum)",
11 => "Whiter Shade of Pale (Die perfekte Tarnung)",
12 => "Double Vision (Die dunkle Seite)",
13 => "Blood Ties (Falsche Erwartungen)",
14 => "Altered Ego (Gut und böse)",
15 => "Lazarus Syndrome (Neun Leben)",
16 => "Interface (Lebende Hardware)",
17 => "Presumed Guilty (Verlorene Erinnerung)",
18 => "Ex Marks the Spot (Das russische Ei)",
19 => "Nothing to Fear (Traumfänger)",
20 => "Deadly Desire (Die Skorpionfrau)",
21 => "A Breed Apart (Patient Null)",
22 => "Dancing on the Razor (Tanz am Abgrund)",
 
23 => "Past as Prologue (Die Alchemistin)",
24 => "Power Play (An die Wand gespielt)",
25 => "Time Squared (Zeitreise)",
26 => "Whose Woods These Are (Der Werwolf)",
27 => "The Future Revealed (Herrscher über Leben und Tod)",
28 => "No Man Left Behind (Zwischen den Fronten)",
29 => "Crossroads of the Soul (Die Welt hinter der Welt)",
30 => "Sign From Above (Der Androide)",
31 => "Body and Soul (Der Körperwanderer)",
32 => "Understudy (Die Ersatzspielerin)",
33 => "The Grift (Schmutzige Geschäfte)",
34 => "At Destiny's End (Der letzte Coup)",
35 => "Within These Walls (Tödliche Geheimnisse)",
36 => "Hard Time (Gladiatoren)",
37 => "Under the Cloak of War (Das Attentat)",
38 => "Once Around (Der Kronzeuge)",
39 => "Final Judgment (Das Tribunal)",
40 => "Inferno",
41 => "Außer Kontrolle (One Step Closer)",
// 43 => "Begraben im ewigen Eis (Reawakening)",
42 => "Das Labyrinth (Reality Check)",
44 => "Der perfekte Mutant (Lest He Become)",
45 => "Der Mutant aus dem Nichts (Into the Moonless Night)",
46 => "Der Lohn der Sünde (Wages of Sin)",
// 47 => "Der Parasit (The Breed)",
// 48 => "Die Saat des Bösen (Where Evil Dwells)",
49 => "Kaltes Herz (The Taking of Crows)",
// 50 => "Schatten der Vergangenheit (Shadows of Darkness)",
51 => "Die Hand Gottes (The Hand of God)",
52 => "Die Heuschreckenplage (Wasteland)",
53 => "Der virtuelle Mörder (No Exit)",
// 54 => "Das gestohlene Herz (Brother's Keeper)",
55 => "Bombenterror (Possibilities)",
56 => "Die Verschwörung (Conspiracy Theory)",
57 => "Die drei Gemälde (Art of Attraction)",
58 => "Zurück im Leben (A Normal Life)",
59 => "Falsche Identität (Divided Loyalities)",
60 => "Der Fluch der Unsterblichkeit (Age of Innocence)",
61 => "Der Krieg beginnt (She's Come Undone)",
62 => "Im Inneren des Vulkans (In Between)",
63 => "Das trojanische Pferd (Dream Lover)",
// 64 => "Die Prophezeiung (The Prophecy)",
// 65 => "Kammer der Seeken (Cirque des Merveilles)",
66 => "Der Schöpfer (The Assault)"
41 => "One Step Closer (Außer Kontrolle)",
43 => "Reawakening (Begraben im ewigen Eis)",
42 => "Reality Check (Das Labyrinth)",
44 => "Lest He Become (Der perfekte Mutant)",
 
45 => "Into the Moonless Night (Der Mutant aus dem Nichts)",
46 => "Wages of Sin (Der Lohn der Sünde)",
47 => "The Breed (Der Parasit)",
48 => "Where Evil Dwells (Die Saat des Bösen)",
49 => "The Taking of Crows (Kaltes Herz)",
50 => "Shadows of Darkness (Schatten der Vergangenheit)",
51 => "The Hand of God (Die Hand Gottes)",
52 => "Wasteland (Die Heuschreckenplage)",
53 => "No Exit (Der virtuelle Mörder)",
54 => "Brother's Keeper (Das gestohlene Herz)",
55 => "Possibilities (Bombenterror)",
56 => "Conspiracy Theory (Die Verschwörung)",
57 => "Art of Attraction (Die drei Gemälde)",
58 => "A Normal Life (Zurück im Leben)",
59 => "Divided Loyalities (Falsche Identität)",
60 => "Age of Innocence (Der Fluch der Unsterblichkeit)",
61 => "She's Come Undone (Der Krieg beginnt)",
62 => "In Between (Im Inneren des Vulkans)",
63 => "Dream Lover (Das trojanische Pferd)",
64 => "The Prophecy (Die Prophezeiung)",
65 => "Cirque des Merveilles (Kammer der Seeken)",
66 => "The Assault (Der Schöpfer)"
)
),
 
708,9 → 659,10
'<span class="quantum-leap"><span class="gradient">Quantum Leap</span></span>' => &$quantum_leap,
 
'<span class="reaper">Reaper</span>' => array(
// 'ignore' => true,
'channel' => 'E4',
'showtimes' => 'Di–Sa 03:15',
'seen' => array(array(1, 3)),
'seen' => array(array(1, 4)),
'last_seen' => mktime(5, 0, 0, 6, 2, 2011),
'seasons' => array(18, 13),
'episodes' => array(
907,6 → 859,35
'<span class="smallville">S<span>m<span>al<span>lv</span>il</span>l</span>e</span>' => &$smallville,
// '<span class="smallville">S<span>m<span>al<span>lv</span>il</span>l</span>e</span> (de)' => &$smallville_de,
 
'<span class="space-above-beyond"><span class="space">Spac<span>e</span></span><span class="hidden">: </span><span class="above-beyond">Above and <span>Beyond</span></span></span>' => array(
'episode_list' => 'wiki:en:Space: Above and Beyond',
'episodes' => array(
23 => "…Tell Our Moms We Done Our Best",
22 => "And If They Lay Us Down to Rest…",
21 => "Sugar Dirt",
20 => "Stardust",
19 => "R & R",
18 => "Pearly",
17 => "Dear Earth",
16 => "Toy Soldiers",
15 => "The Angriest Angel",
14 => "Never No More",
13 => "Level of Necessity",
12 => "Who Monitors the Birds?",
11 => "The River of Stars",
10 => "Stay with the Dead",
9 => "Choice or Chance",
8 => "Hostile Visit",
7 => "The Enemy",
6 => "Eyes",
5 => "Ray Butts",
4 => "Mutiny",
3 => "The Dark Side of the Sun",
2 => "The Farthest Man from Home",
1 => "Pilot"
)
),
 
'<span class="stargate en"><span>St<span class="a">a</span>rgat<span>e</span></span> <span>SG&middot;<span>1</span></span></span>' => &$stargate,
'<span class="stargate de"><span>St<span class="a">a</span>rgate</span> <span>Komm<span class="a">a</span>ndo SG-1</span></span>' => &$stargate_de,
 
977,6 → 958,7
),
 
'<span class="torchwood">Torchwood</span> (de)' => array(
'ignore' => true,
'channel' => 'RTL Ⅱ',
'showtimes' => 'Di 22:20',
'seen' => array(array(1, 4)),
1031,98 → 1013,7
)
),
'<span class="true-blood"><span class="upper">True</span>'
. '<span class="hidden"> </span><span class="blood"><span class="lower">B</span>lood</span></span>' => array(
// 'ignore' => true,
'channel' => 'online',
// 'showtimes' => 'Mi 00:10',
'seen' => array(array(1, 5)),
'seasons' => array(12, 12, 12, 12),
'episode_list' => 'wiki:en:List_of_True_Blood_episodes',
'episodes' => array(
1 => "Strange Love",
2 => "The First Taste",
3 => "Mine",
4 => "Escape From Dragon House",
5 => "Sparks Fly Out",
6 => "Cold Ground",
7 => "Burning House of Love",
8 => "The Fourth Man in the Fire",
9 => "Plaisir d'Amour",
10 => "I Don't Wanna Know",
11 => "To Love is to Bury",
12 => "You'll Be the Death of Me",
13 => "Nothing But the Blood",
14 => "Keep This Party Going",
15 => "Scratches",
16 => "Shake and Fingerpop",
17 => "Never Let Me Go",
18 => "Hard-Hearted Hannah",
19 => "Release Me",
20 => "Time Bomb",
21 => "I Will Rise Up",
22 => "New World In My View",
23 => "Frenzy",
24 => "Beyond Here Lies Nothing",
25 => "Bad Blood",
26 => "Beautifully Broken",
27 => "It Hurts Me Too",
28 => "9 Crimes",
29 => "Trouble",
30 => "I Got a Right to Sing the Blues",
31 => "Hitting the Ground",
32 => "Night on the Sun",
33 => "Everything Is Broken",
34 => "I Smell a Rat",
35 => "Fresh Blood",
36 => "Evil is Going On",
)
),
// '<span class="true-blood"><span class="upper">True</span>'
// . '<span class="hidden"> </span><span class="lower">B</span>lood</span> (de)' => array(
// 'channel' => 'RTL Ⅱ',
// 'showtimes' => 'Mi 21:05',
// 'seen' => array(array(1, 6)),
// 'seasons' => array(12, 12, 12, 12),
// 'episode_list' => 'wiki:Liste_der_True-Blood-Episoden',
// 'episodes' => array(
// 1 => "Strange Love (Strange Love)",
// 2 => "Blut geleckt (The First Taste)",
// 3 => "Sie gehört zu mir (Mine)",
// 4 => "Flucht aus dem Drachenhaus (Escape From Dragon House)",
// 5 => "Funkenflug (Sparks Fly Out)",
// 6 => "Kalte Erde (Cold Ground)",
// 7 => "Brennende Leidenschaft (Burning House of Love)",
// 8 => "Der vierte Mann im Feuer (The Fourth Man in the Fire)",
// 9 => "Plaisir d'Amour (Plaisir d'Amour)",
// 10 => "Gefährliches Spiel (I Don't Wanna Know)",
// 11 => "Begräbnis aus Liebe (To Love is to Bury)",
// 12 => "Du wirst mein Tod sein (You'll Be the Death of Me)",
// 13 => "Nichts als Blut (Nothing But the Blood)",
// 14 => "Die Party geht weiter (Keep This Party Going)",
// 15 => "Kratzer (Scratches)",
// 16 => "Überraschung (Shake and Fingerpop)",
// 17 => "Verflucht (Never Let Me Go)",
// 18 => "Hartherzige Hannah (Hard-Hearted Hannah)",
// 19 => "Lass mich frei (Release Me)",
// 20 => "Zeitbombe (Time Bomb)",
// 21 => "Auferstehung (I Will Rise Up)",
// 22 => "Neue Welt (New World In My View)",
// 23 => "Ekstase (Frenzy)",
// 24 => "Das Ende des Horizonts (Beyond Here Lies Nothing)",
// 25 => "Böses Blut (Bad Blood)",
// 26 => "Schön kaputt (Beautifully Broken)",
// 27 => "Es tut so weh (It Hurts Me Too)",
// 28 => "Neun Verbrechen (9 Crimes)",
// 29 => "Ärger (Trouble)",
// 30 => "Ich habe ein Recht darauf, den Blues zu singen (I Got a Right to Sing the Blues)",
// 31 => "Am Boden der Tatsachen (Hitting the Ground)",
// 32 => "Nacht auf der Sonne (Night on the Sun)",
// 33 => "Alles ist zerbrochen (Everything Is Broken)",
// 34 => "Verdacht (I Smell a Rat)",
// 35 => "Frisches Blut (Fresh Blood)",
// 36 => "Das Böse geht weiter (Evil is Going On)",
// )
// ),
. '<span class="hidden"> </span><span class="blood"><span class="lower">B</span>lood</span></span>' => &$true_blood,
 
'<span class="tara"><span class="us-of">United States of</span>'
. ' <span class="tara">Tara</span></span>' => array(
1235,9 → 1126,9
// 'ignore' => true,
'channel' => 'online',
// 'showtimes' => 'Mi 18:15',
'seen' => array(array(1, 5)),
'seen' => array(array(1, 6)),
// 'last_seen' => mktime(18, 15, 0, 5, 4, 2011),
'seasons' => array(12, 13, 13, 13),
'seasons' => array(12, 13, 13, 15),
'episode_list' => 'wiki:en:List_of_Warehouse_13_episodes',
'episodes' => array(
1 => 'Pilot (Der Kamm der Borgia)',
1290,7 → 1181,12
45 => "Endless Wonder",
46 => "Second Chance",
47 => "The Ones You Love",
48 => "We All Fall Down"
48 => "We All Fall Down",
49 => "The Living and the Dead",
50 => "Parks and Rehabilitation",
51 => "The Big Snag",
52 => "The Sky’s the Limit",
53 => "Instinct"
)
),
));
/trunk/media/video/series/application/layouts/index/index.phtml
0,0 → 1,334
<?php header('Content-Type: text/html; charset=UTF-8'); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html lang="de">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Seri-o-meter</title>
<?php
// require_once 'css/lessphp/lessc.inc.php';
// lessc::ccompile('style.less', 'style-less.css');
// require_once 'css/least/LEAST.php';
// de\pointedears\css\least\LEAST::compile('style.css', 'style-least.css');
?>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript">
/*
function setStyle(obj, style)
{
var styleProperties = Object.getOwnPropertyNames(style);
for (var i = styleProperties.length; i--;)
{
var prop = styleProperties[i];
obj.style[prop] = style[prop];
}
}
 
function editor()
{
var div = document.createElement("div");
setStyle(div, {
position: "fixed",
right: "0",
top: "0",
width: "200px",
bottom: "0",
backgroundColor: "#ccc"
});
document.body.appendChild(div);
 
function findRules(selectorText)
{
var slice = Array.prototype.slice;
function toArray(obj)
{
return slice.call(obj);
}
 
var rx = new RegExp("(^|\\s)" + selectorText.replace(/[^$.(){}\[\]]/, "\\$&") + "\\s*$");
var hits = toArray(document.styleSheets).map(function (styleSheet) {
return toArray(styleSheet.cssRules || styleSheet.rules).filter(function (rule) {
return rx.test(rule.selectorText);
});
}).filter(function (hit) {
return hit.length > 0;
});
 
return Array.prototype.concat.apply([], hits);
}
 
var afterRule = findRules(".heroes .o::after");
var rxBgImage = new RegExp(
"{RADIALGRADIENT}\\(\\s*({POSITION}\\s*,\\s*)?({SHAPE}\\s*,\\s*)?{COLORSTOP}(\\s*,\\s*{COLORSTOP})+\\s*\\)"
.replace(/\{RADIALGRADIENT\}/g, "(-(webkit|moz|o|ms)-)?radial-gradient")
.replace(/\{POSITION\}/g, "{LENGTH}(\\s+{LENGTH})?")
.replace(/\{SHAPE\}/g, "\\s*((circle|ellipse)(\\s+({EDGE}))?|{LENGTH}(\\s+{LENGTH}))")
.replace(/\{EDGE\}/g, "cover|closest-corner|closest-side|farthest-corner|farthest-side")
.replace(/\{COLORSTOP\}/g, "{COLOR}(\\s*{PERCENTAGE})?")
.replace(/\{LENGTH\}/g, "{NUMBER}{UNIT}")
.replace(/\{COLOR\}/g, "({COLORNAME}|{RGB}|{RGBA})")
.replace(/\{RGB\}/g, "rgb\\s*\\(\\s*{COLORCOMP}(\\s*,\\s*{COLORCOMP}){2}\\s*\\)")
.replace(/\{RGBA\}/g, "rgba\\s*\\(\\s*{COLORCOMP}(\\s*,\\s*{COLORCOMP}){2}\\s*,\\s*{PERCENTAGE}\\s*\\)")
.replace(/\{COLORCOMP\}/g, "{NUMBER}%?")
.replace(/\{COLORNAME\}/g, "black|transparent")
.replace(/\{PERCENTAGE\}/g, "{NUMBER}%?")
.replace(/\{NUMBER\}/g, "\\d+")
.replace(/\{UNIT\}/g, "(px|%|em|ex|pt)")
, "g");
console.log(rxBgImage);
var value = afterRule[0].style.getPropertyValue("background-image");
console.log(value);
var backgroundImages = value.match(rxBgImage);
console.log(backgroundImages);
}
*/
function net()
{
var map = {
"gene-roddenberry's-andromeda": "andromeda",
"battlestar-galactica-2004": "battlestar-galactica",
"battlestar-galactica-2004-de": "battlestar-galactica",
"buffy-the-vampire-slayer": "buffy",
"lois-clark-the-new-adventures-of-superman": "lois-clark-the-new-adventures-of-superman-1993",
get: function (key) {
return this.hasOwnProperty(key) ? this[key] : key;
}
};
 
var f = function (e) {
if (e && e.shiftKey && e.ctrlKey)
{
var key = map.get(this.textContent.toLowerCase()
.replace(/[&:.,()–]/g, "").replace(/\s+/g, "-").replace("-de", ""));
window.open("http://serienjunkies.org/serie/" + encodeURIComponent(key));
e.preventDefault();
}
};
 
try
{
for (var a = document.links, i = a.length; i--;)
{
var e = a[i];
e.addEventListener("click", f, false);
}
}
catch (e) {}
}
</script>
</head>
 
<body onload="net() // editor()">
<h1 class="hidden">Seri-o-meter</h1>
<?php // var_dump($serien); ?>
<table>
<?php
if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN')
{
function strftime_portable ($format, $timestamp = null)
{
if ($timestamp === null)
{
$timestamp = time();
}
 
$format = preg_replace('#(?<!%)((?:%%)*)%e#', '\1%#d', $format);
return strftime($format, $timestamp);
}
}
else
{
function strftime_portable ($format, $timestamp = null)
{
if ($timestamp === null)
{
$timestamp = time();
}
 
return strftime($format, $timestamp);
}
}
 
setlocale(LC_ALL, 'de_CH.UTF-8');
 
$min_series = $this->min_series;
foreach ($this->serien as $name => $serie)
{
?>
<tr>
<td style="text-align: center"><?php
$recommended = ($name === $min_series);
if ($recommended) { ?>→<?php }
if (isset($serie['ignore']) && $serie['ignore'])
{
?>→<span style="color: red; font-weight: bold">&#8416;</span><?php
}
?></td>
<th<?php if ($recommended) { ?> class="recommended"<?php } ?>><?php
$ep_list = isset($serie['episode_list']);
if ($ep_list)
{
?><a href="<?php
echo htmlspecialchars($serie['episode_list']);
?>" title="Episodenliste"><?php
}
echo $name;
if ($ep_list) { ?></a><?php }
?><br>
<span style="font-weight: normal"><?php
if (array_key_exists('channel', $serie)) echo $serie['channel'];
 
if (array_key_exists('showtimes', $serie))
{
echo ', ' . $serie['showtimes'];
}
?></span></th>
<td<?php if ($recommended) { ?> class="recommended"<?php } ?>>
<div>Gesehen: <?php
echo implode(', ', $serie['coverage']) . ' ('. $serie['count'];
?> von <?php $total = $serie['total']; echo $total; ?> Episoden)<?php
if (isset($serie['last_seen']))
{
?>; zuletzt am <?php
echo utf8_encode(strftime_portable('%A, %e. %B %Y %H:%M %z', $serie['last_seen']));
}
?></div>
<div class="box">
<div class="meter"
style="width: <?php
$percentage = $serie['percentage'];
echo $percentage; ?>%"
></div>
<?php
if (array_key_exists('seasons', $serie))
{
$offset = 0;
foreach ($serie['seasons'] as $key => $season)
{
?>
<div class="season"
<?php
if (!is_numeric($key))
{
?> title="<?php echo htmlspecialchars($key); ?>"<?php
}
?>
style="<?php
if ($key === 0)
{
?>border-left: none; <?php
}
?>left: <?php echo $offset; ?>%;
width: <?php echo $season / $total * 100; ?>%"
><?php
if (is_numeric($key))
{
echo ($key + 1);
}
else
{
echo $key;
}
?></div>
<?php
$offset += round($season / $total * 100, 1);
}
}
 
if (isset($serie['episodes']))
{
$prevNumber = null;
foreach ($serie['episodes'] as $episode => $description)
{
$episode_str = $episode;
if (isset($serie['season_ranges']) && is_array($serie['season_ranges']))
{
foreach ($serie['season_ranges'] as $season_key => $season_range)
{
if ($episode >= $season_range[0] && $episode <= $season_range[1])
{
$episode_str = sprintf("%u (%ux%02u)", $episode, $season_key, $episode - $season_range[0] + 1);
}
}
}
?>
<div class="coverage"
style="<?php
if (is_null($prevNumber) || $prevNumber !== $episode - 1)
{
?>border-left: 1px solid rgba(0, 218, 0, 0.5); <?php
}
?>
border-right: 1px solid rgba(0, 218, 0, 0.5);
background-color: transparent;
left: <?php echo ($episode - 1) / $total * 100; ?>%;
width: <?php echo 1 / $total * 100; ?>%"
title="<?php
echo "{$episode_str}: " . htmlspecialchars($description);
?>"></div><?php
$prevNumber = $episode;
}
}
 
if (isset($serie['seen']))
{
foreach ($serie['seen'] as $range)
{
if (!is_array($range))
{
$range = array($range, $range);
}
/*
for ($i = $episode[0]; $i < $episode[1]; ++$i)
{
?>
<div class="coverage"
style="left: <?php echo ($episode[0] - 1) / $total * 100; ?>%;
width: <?php echo ($episode[1] - $episode[0] + 1) / $total * 100; ?>%"
></div>
<?php
}
}
else
*/
 
for ($episode = $range[0]; $episode <= $range[1]; ++$episode)
{
$episode_str = $episode;
if (isset($serie['season_ranges']) && is_array($serie['season_ranges']))
{
foreach ($serie['season_ranges'] as $season_key => $season_range)
{
if ($episode >= $season_range[0] && $episode <= $season_range[1])
{
$episode_str = sprintf("%u (%ux%02u)", $episode, $season_key, $episode - $season_range[0] + 1);
}
}
}
?>
<div class="coverage"
style="left: <?php echo ($episode - 1) / $total * 100; ?>%;
width: <?php echo 1 / $total * 100; ?>%"
<?php
if (isset($serie['episodes']) && array_key_exists($episode, $serie['episodes']))
{
?>title="<?php
echo "{$episode_str}: " . htmlspecialchars($serie['episodes'][$episode]);
?>"<?php
}
?>></div>
<?php
}
}
}
?>
<span class="percentage"><?php echo round($percentage, 1); ?>%</span>
</div>
</td>
</tr>
<?php
}
?>
</table>
</body>
</html>
/trunk/media/video/series/includes/numb3rs.php
2,9 → 2,9
 
$numb3rs = array(
// 'ignore' => true,
'channel' => 'online / ITV3',
'showtimes' => 'Mi 00:35',
'seen' => array(array(1, 11)),
'channel' => 'online',
// 'showtimes' => 'Mi 00:35',
'seen' => array(array(1, 13)),
// 'last_seen' => mktime(21, 15, 0, 6, 5, 2011),
'seasons' => array(13, 24, 24, 18, 23, 16),
'episode_list' => 'wiki:en:List_of_Numb3rs_episodes',
/trunk/media/video/series/includes/superman.php
4,7 → 4,7
// 'ignore' => true,
'channel' => 'online',
// 'showtimes' => 'Mo-Fr 14:10',
'seen' => array(array(1, 20)),
'seen' => array(array(1, 23)),
'seasons' => array(21, 23, 22, 22, 22, 22, 20, 22, 21, 22),
'episode_list' => 'wiki:en:List_of_Smallville_episodes',
'episodes' => array(
30,6 → 30,30
20 => "Obscura",
21 => "Tempest",
22 => "Vortex",
23 => "Heat",
24 => "Duplicity",
25 => "Red",
26 => "Nocturne",
27 => "Redux",
28 => "Lineage",
29 => "Ryan",
30 => "Dichotic",
31 => "Skinwalker",
32 => "Visage",
33 => "Insurgence",
34 => "Suspect",
35 => "Rush",
36 => "Prodigal",
37 => "Fever",
38 => "Rosetta",
39 => "Visitor",
40 => "Precipice",
41 => "Witness",
42 => "Accelerate",
43 => "Calling",
44 => "Exodus",
 
// 153 1 "Odyssey" Kevin G. Fair Kelly Souders, Brian Peterson, Todd Slavkin & Darren Swimmer September 18, 2008 3T7451 4.34[97]
// 154 2 "Plastique" Rick Rosenthal Don Whitehead & Holly Henderson September 25, 2008 3T7452 4.18[98]
// 155 3 "Toxic" Mairzee Almas Caroline Dries October 2, 2008 3T7453 4.05[99]
/trunk/media/video/series/includes/andromeda.php
5,7 → 5,7
// 'ignore' => true,
'channel' => 'online',
// 'showtimes' => 'Mo–Fr 16:10',
'seen' => array(array(1, 11)),
'seen' => array(array(1, 12)),
// 'last_seen' => mktime(16, 5, 0, 5, 16, 2011),
'seasons' => array(22, 22, 22, 22, 22),
'episode_list' => 'wiki:en:List_of_Andromeda_episodes',
/trunk/media/video/series/includes/frasier.php
1,10 → 1,11
<?php
 
$frasier = array(
'channel' => 'Channel 4',
'showtimes' => 'Mo–Fr 09:25',
'seen' => array(array(1, 24)),
'last_seen' => mktime(9, 30, 0, 9, 21, 2011),
// 'ignore' => true,
'channel' => 'online',
// 'showtimes' => 'Mo–Fr 09:25',
'seen' => array(array(1, 28)),
// 'last_seen' => mktime(9, 30, 0, 9, 21, 2011),
'seasons' => array(24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24),
'episode_list' => 'wiki:en:List_of_Frasier_episodes',
'episodes' => array(
/trunk/media/video/series/includes/efc.php
4,7 → 4,7
// 'ignore' => true,
'channel' => 'online',
// 'showtimes' => 'Mo–Fr 16:10',
'seen' => array(array(1, 9)),
'seen' => array(array(1, 10)),
// 'last_seen' => mktime(16, 15, 0, 7, 6, 2011),
'seasons' => array(22, 22, 22, 22),
'episode_list' => 'http://www.allnew-tv.de/sites/episodenguide/efc/season/01/episode/01',
/trunk/media/video/series/includes/scrubs.php
4,7 → 4,7
// 'ignore' => true,
'channel' => 'E4',
'showtimes' => 'Mo–Fr 18:00–18:30',
'seen' => array(array(1, 17)),
'seen' => array(array(1, 19)),
'last_seen' => mktime(18, 30, 0, 9, 6, 2011),
'seasons' => array(24, 22, 22, 25, 24, 22, 11, 19, 13),
'episodes' => array(
/trunk/media/video/series/includes/charmed.php
4,7 → 4,7
// 'ignore' => true,
'channel' => 'online',
// 'showtimes' => 'Do 21:50',
'seen' => array(array(1, 17)),
'seen' => array(array(1, 19)),
// 'last_seen' => mktime(8, 10, 0, 10, 20, 2011),
'seasons' => array(22, 22, 22, 22, 23, 23, 22, 22),
'episode_list' => 'http://www.tvsi.de/mysteryserien/charmed.php',
27,8 → 27,8
16 => "Which Prue Is It, Anyway? (Man stirbt nur dreimal)",
17 => "That '70s Episode (Zurück in die Vergangenheit)",
18 => "When Bad Warlocks Go Good (Wenn das Böse erwacht)",
19 => "Blind (Blind Sided)",
20 => "Ein Geist, zwei Schwestern (The Power of Two)",
19 => "Out of Sight (Blind)",
20 => "The Power of Two (Ein Geist, zwei Schwestern)",
21 => "Wächter der Dunkelheit (Love Hurts)",
22 => "Immer wieder Mittwoch (Deja Vu All Over Again)",
/trunk/media/video/series/includes/monk.php
4,7 → 4,7
// 'ignore' => true,
'channel' => 'online',
// 'showtimes' => 'diverse',
'seen' => array(array(1, 10), 110, 111),
'seen' => array(array(1, 14)),
// 'last_seen' => mktime(21, 15, 0, 6, 5, 2011),
'seasons' => array(13, 16, 16, 16, 16, 16, 16, 16),
'episode_list' => 'wiki:Liste_der_Monk-Episoden',
23,6 → 23,23
12 => 'Mr. Monk and the Red-Headed Stranger',
13 => 'Mr. Monk and the Airplane',
 
14 => "Mr. Monk Goes Back to School",
15 => "Mr. Monk Goes to Mexico",
16 => "Mr. Monk Goes to the Ballgame",
17 => "Mr. Monk Goes to the Circus",
18 => "Mr. Monk and the Very, Very Old Man",
19 => "Mr. Monk Goes to the Theater",
20 => "Mr. Monk and the Sleeping",
21 => "Mr. Monk Meets the Playboy",
22 => "Mr. Monk and the 12th Man",
23 => "Mr. Monk and the Paperboy",
24 => "Mr. Monk and the Three Pies",
25 => "Mr. Monk and the T.V. Star",
26 => "Mr. Monk and the Missing Granny",
27 => "Mr. Monk and the Captain's Wife",
28 => "Mr. Monk Gets Married",
29 => "Mr. Monk Goes to Jail",
 
94 => "Mr. Monk Buys a House (2011-09-19 17:05, ITV3)",
95 => "Mr. Monk and The Genius (2011-09-20 17:10, ITV3)",
96 => "Mr. Monk Gets Lotto Fever",
/trunk/media/video/series/includes/dead-zone.php
4,90 → 4,95
// 'ignore' => true,
'channel' => 'online',
// 'showtimes' => 'Mo–Fr 16:10',
'seen' => array(array(1, 6), array(22, 23)),
'seen' => array(array(1, 9)),
// 'last_seen' => mktime(16, 5, 0, 5, 16, 2011),
'seasons' => array(13, 19, 12, 12, 11, 13),
'episode_list' => 'http://episoden.wikia.com/wiki/Dead_Zone',
'episode_list' => 'wiki:en:List_of_The_Dead_Zone_episodes',
'episodes' => array(
1 => "Das zweite Gesicht (Wheel of Fortune)",
2 => "Kaltes Herz (What It Seems)",
3 => "Der Coach (Quality of Life)",
1 => "Wheel of Fortune (Das zweite Gesicht)",
2 => "What It Seems (Kaltes Herz)",
3 => "Quality of Life (Der Coach)",
4 => "Enigma (Enigma)",
5 => "Zwischen zwei Welten (Netherworld)",
6 => "Das Haus (The House)",
7 => "Der zwölfte Geschworene (Unreasonable Doubt)",
// 8 => "Kaleidoskop des Todes (The Siege)",
// 9 => "Höllentrip (Enemy Mind)",
// 10 => "Hexenjagd (Here There Be Monsters)",
// 11 => "Dinner mit Dana (Dinner with Dana)",
// 12 => "Der Schamane (Shaman)",
// 13 => "Des Teufels rechte Hand (Destiny)",
// 14 => "Das Wort Gottes (Valley of the Shadow)",
// 15 => "Abstieg in den Tod (Descent [1])",
// 16 => "Am Ende des Tunnels (Ascent [2])",
// 17 => "Der Aussenseiter (The Outsider)",
// 18 => "Blutsbande (Precipitate)",
// 19 => "Die Stimmen der Toten (Scars)",
// 20 => "Anita (Misbegotten)",
// 21 => "Flug TCA 2413 (Cabin Pressure)",
22 => "Der Mann, der nie existierte (The Man Who Never Was)",
23 => "Gute Absichten (Dead Men Tell Tales)",
24 => "Herrscher über Leben und Tod (Playing God)",
25 => "Der Prediger (Zion)",
26 => "Der Sturm (The Storm)",
27 => "Der unsichtbare Tod (Plague)",
28 => "DejaVodoo (Deja Voodoo)",
29 => "Angst und Schrecken (The Hunt)",
30 => "Die Schatzsuche (The Mountain)",
31 => "Die Zwölfte Runde (The Combination)",
32 => "Der Mann aus der Zukunft (Visions)",
33 => "Das Komplott (Teil 1) (Finding Rachel, Part 1)",
34 => "Das Komplott (Teil 2) (Finding Rachel, Part 2)",
35 => "Gefangen im Feuer (Collision)",
36 => "Gnadenlose Wahrheit (Cold Hard Truth)",
37 => "Totale Kontrolle (Total Awareness)",
38 => "Tod eines Freundes (No Questions Asked)",
39 => "Die Zwillinge (Looking Glass)",
40 => "Die unglückliche Braut (Speak Now)",
41 => "Spirale der Gewalt (Cycle of Violence)",
42 => "Zeichen und Wunder (Instinct)",
43 => "Schwarze Sekunden (Shadows)",
44 => "Apokalypse (Tipping Point (1))",
// 45 => "Mein ist die Rache… (Broken Circle (2))",
// 46 => "Die perfekte Frau (The Collector)",
// 47 => "Die Hellseherin (Double Vision)",
48 => "Die Muse des Malers (Still Life)",
49 => "Helden und Dämonen (Heroes & Demons)",
50 => "Der Rockstar (The Last Goodbye)",
51 => "Menschenhandel (Grains of Sand)",
52 => "Die Reiter der Apokalypse (Vanguard)",
53 => "Die Explosion (Babble On)",
54 => "Im Wald der Toten (Coming Home)",
55 => "Der dritte Herrscher (Saved)",
56 => "Übersinnliche Weihnachtszeit (A Very Dead Zone Christmas)",
57 => "Verbotene Früchte (Forbidden Fruit)",
58 => "Independance Day (Independence Day)",
59 => "Panik (Panic)",
60 => "Rassenhass (Articles of Faith)",
61 => "Die Reliquie (The Inside Man)",
62 => "Lottofieber (Lotto Fever)",
63 => "Von allen Seiten (Symmetry)",
64 => "Die letzte Schlacht (Vortex)",
65 => "Die Offenbarung (Revelations)",
66 => "Im Herzen der Dunkelheit (Into the Heart of Darkness)",
67 => "Jäger und Wölfe (The Hunting Party)",
68 => "Heldentod (Heritage)",
69 => "Innere Dämonen (Ego)",
70 => "Amerikas Hoffnung (Reentry)",
71 => "Der alte Jahrmarkt (Big Top)",
72 => "Lebendig begraben (Interred)",
73 => "Der Kanada Express (Switch)",
74 => "Der rettende Kuss (Numb)",
75 => "Die Explosion (Outcome)",
76 => "Fallstricke des Teufels (Transgressions)",
77 => "Das Pferderennen (Drift)",
78 => "Irgendwo in Indiana (Exile)",
79 => "Das Geheimnis (Ambush)",
80 => "Das Gift der Macht (Denouement)",
5 => "Unreasonable Doubt (Der zwölfte Geschworene)",
6 => "The House (Das Haus)",
7 => "Enemy Mind (Höllentrip)",
8 => "Netherworld (Zwischen zwei Welten)",
9 => "The Siege (Kaleidoskop des Todes)",
10 => "Here There Be Monsters (Hexenjagd)",
11 => "Dinner with Dana (Dinner mit Dana)",
12 => "Shaman (Der Schamane)",
13 => "Destiny (Des Teufels rechte Hand)",
 
14 => "Valley of the Shadow (Das Wort Gottes)",
15 => "Descent (1) (Abstieg in den Tod)",
16 => "Ascent (2) (Am Ende des Tunnels)",
17 => "The Outsider (Der Aussenseiter)",
18 => "Precipitate (Blutsbande)",
19 => "Scars (Die Stimmen der Toten)",
20 => "Misbegotten (Anita)",
21 => "Cabin Pressure (Flug TCA 2413)",
22 => "The Man Who Never Was (Der Mann, der nie existierte)",
23 => "Dead Men Tell Tales (Gute Absichten)",
24 => "Playing God (Herrscher über Leben und Tod)",
25 => "Zion (Der Prediger)",
26 => "The Storm (Der Sturm)",
27 => "Plague (Der unsichtbare Tod)",
28 => "Deja Voodoo (DejaVodoo)",
29 => "The Hunt (Angst und Schrecken)",
30 => "The Mountain (Die Schatzsuche)",
31 => "The Combination (Die Zwölfte Runde)",
32 => "Visions (Der Mann aus der Zukunft)",
 
33 => "Finding Rachel, Part 1 (Das Komplott (Teil 1))",
34 => "Finding Rachel, Part 2 (Das Komplott (Teil 2))",
35 => "Collision (Gefangen im Feuer)",
36 => "Cold Hard Truth (Gnadenlose Wahrheit)",
37 => "Total Awareness (Totale Kontrolle)",
38 => "No Questions Asked (Tod eines Freundes)",
39 => "Looking Glass (Die Zwillinge)",
40 => "Speak Now (Die unglückliche Braut)",
41 => "Cycle of Violence (Spirale der Gewalt)",
42 => "Instinct (Zeichen und Wunder)",
43 => "Shadows (Schwarze Sekunden)",
44 => "Tipping Point (1) (Apokalypse (1))",
 
45 => "Broken Circle (2) (Mein ist die Rache… (2))",
46 => "The Collector (Die perfekte Frau)",
47 => "Double Vision (Die Hellseherin)",
48 => "Still Life (Die Muse des Malers)",
49 => "Heroes & Demons (Helden und Dämonen)",
50 => "The Last Goodbye (Der Rockstar)",
51 => "Grains of Sand (Menschenhandel)",
52 => "Vanguard (Die Reiter der Apokalypse)",
53 => "Babble On (Die Explosion)",
54 => "Coming Home (Im Wald der Toten)",
55 => "Saved (Der dritte Herrscher)",
56 => "A Very Dead Zone Christmas (Übersinnliche Weihnachtszeit)",
 
57 => "Forbidden Fruit (Verbotene Früchte)",
58 => "Independence Day (Independance Day)",
59 => "Panic (Panik)",
60 => "Articles of Faith (Rassenhass)",
61 => "The Inside Man (Die Reliquie)",
62 => "Lotto Fever (Lottofieber)",
63 => "Symmetry (Von allen Seiten)",
64 => "Vortex (Die letzte Schlacht)",
65 => "Revelations (Die Offenbarung)",
66 => "Into the Heart of Darkness (Im Herzen der Dunkelheit)",
67 => "The Hunting Party (Jäger und Wölfe)",
 
68 => "Heritage (Heldentod)",
69 => "Ego (Innere Dämonen)",
70 => "Reentry (Amerikas Hoffnung)",
71 => "Big Top (Der alte Jahrmarkt)",
72 => "Interred (Lebendig begraben)",
73 => "Switch (Der Kanada Express)",
74 => "Numb (Der rettende Kuss)",
75 => "Outcome (Die Explosion)",
76 => "Transgressions (Fallstricke des Teufels)",
77 => "Drift (Das Pferderennen)",
78 => "Exile (Irgendwo in Indiana)",
79 => "Ambush (Das Geheimnis)",
80 => "Denouement (Das Gift der Macht)",
),
);
/trunk/media/video/series/includes/x-files.php
5,7 → 5,7
// 'ignore' => true,
'channel' => 'online',
// 'showtimes' => 'Do 20:15-22:15',
'seen' => array(array(1, 6)),
'seen' => array(array(1, 22)),
// 'last_seen' => mktime(20, 15, 0, 3, 24, 2011),
'seasons' => array(24, 25, 24, 24, 20, 22, 22, 21, 20),
'episode_list' => 'wiki:Liste_der_Episoden_von_Akte_X_–_Die_unheimlichen_Fälle_des_FBI',
/trunk/media/video/series/includes/quantum-leap.php
2,10 → 2,10
 
$quantum_leap = array(
// 'ignore' => true,
'channel' => 'ITV4',
'showtimes' => 'Mo–Fr 19:00',
'seen' => array(array(1, 8), 74),
'last_seen' => mktime(19, 0, 0, 1, 19, 2012),
'channel' => 'online',
// 'showtimes' => 'Mo–Fr 19:00',
'seen' => array(array(1, 10)),
// 'last_seen' => mktime(19, 0, 0, 1, 19, 2012),
'seasons' => array(8, 22, 22, 22, 21),
'episodes' => array(
1 => "Genesis",
/trunk/media/video/series/includes/castle.php
4,7 → 4,7
// 'ignore' => true,
'channel' => 'online',
// 'showtimes' => 'Fr 20:00',
'seen' => array(array(1, 8)),
'seen' => array(array(1, 9)),
// 'last_seen' => mktime(20, 0, 0, 7, 1, 2011),
'seasons' => array(10, 24, 24, 23),
'episode_list' => 'wiki:en:List_of_Castle_episodes',
/trunk/media/video/series/includes/buffy.php
5,7 → 5,7
'channel' => 'online',
// 'showtimes' => 'Mo 22:05–00:30',
'seasons' => array(12, 22, 22, 22, 22, 22, 22),
'seen' => array(array(1, 14)),
'seen' => array(array(1, 16)),
'episode_list' => 'http://www.serienjunkies.de/Buffy/season1.html',
'episodes' => array(
1 => "Welcome to the Hellmouth (Das Zentrum des Bösen)",
/trunk/media/video/series/includes/battlestar-galactica.php
4,7 → 4,7
// 'ignore' => true,
'channel' => 'online',
// 'showtimes' => 'Mi 02:00',
'seen' => array(array(1, 7)),
'seen' => array(array(1, 8)),
'seasons' => array(13, 20, 20, 'Razor' => 2, 20, 'The Plan' => 1),
'episode_list' => 'wiki:en:List_of_Battlestar_Galactica_(2004_TV_series)_episodes',
'episodes' => array(
/trunk/media/video/series/includes/simpsons.php
2,10 → 2,10
 
$simpsons = array(
// 'ignore' => true,
'channel' => 'Channel 4 / online',
'showtimes' => 'So 14:00–15:05',
'channel' => 'online',
// 'showtimes' => 'So 14:00–15:05',
'seen' => array(
array(1, 44),
array(1, 50),
array(63, 64), 95),
// 'last_seen' => mktime(21, 30, 0, 8, 3, 2010),
'seasons' => array(13, 22, 24, 22, 22 , 25, 25, 25, 25, 23, 22,
/trunk/media/video/series/includes/macgyver.php
3,7 → 3,7
$macgyver = array(
// 'ignore' => true,
'channel' => 'online',
'seen' => array(array(1, 13)),
'seen' => array(array(1, 15)),
'seasons' => array(22, 22, 20, 19, 21, 21, 14),
'episode_list' => 'wiki:en:List_of_MacGyver_episodes',
'episodes' => array(
/trunk/media/video/series/includes/big-bang-theory.php
6,7 → 6,7
// 'ignore' => true,
// 'channel' => 'E4',
// 'showtimes' => 'Sa 19:00-20:00',
'seen' => array(array(1, 11)),
'seen' => array(array(1, 12)),
'seasons' => array(17, 23, 23, 24, 24),
'episode_list' => 'wiki:Liste_der_The-Big-Bang-Theory-Episoden',
'episodes' => array(
/trunk/media/video/series/includes/star-trek-tos.php
4,7 → 4,7
// 'ignore' => true,
'channel' => 'DVD',
// 'showtimes' => 'Mo-Fr 21:50',
'seen' => array(array(1, 7), 11),
'seen' => array(array(1, 8), 11),
// 'last_seen' => mktime(15, 25, 0, 11, 1, 2011),
'seasons' => array(30, 26, 24),
'episode_list' => 'http://en.memory-alpha.org/wiki/Star_Trek:_The_Original_Series#Episode_List',
/trunk/media/video/series/includes/house.php
4,7 → 4,7
// 'ignore' => true,
'channel' => 'online',
// 'showtimes' => 'Mo-Fr 12:20',
'seen' => array(array(1, 4), array(12, 13), array(37, 46), 85),
'seen' => array(array(1, 6), array(12, 13), array(37, 46), 85),
// 'last_seen' => mktime(11, 20, 0, 3, 31, 2011),
'seasons' => array(22, 24, 24, 16, 24, 22, 23, 22),
'episodes' => array(
/trunk/media/video/series/includes/heroes.php
4,7 → 4,7
// 'ignore' => true,
// 'channel' => 'SF 2',
// 'showtimes' => 'Di 04:57',
'seen' => array(array(1, 8)),
'seen' => array(array(1, 9)),
// 'last_seen' => mktime(3, 52, 0, 7, 5, 2011),
'seasons' => array(23, 11, 25, 19),
'episode_list' => 'wiki:Liste_der_Heroes-Episoden',
/trunk/media/video/series/includes/psych.php
1,23 → 1,26
<?php
 
$psych = array(
'channel' => 'RTL',
'showtimes' => 'So 07:00',
'seen' => array(8, array(14, 20)),
'last_seen' => mktime(21, 10, 0, 9, 18, 2011),
'seasons' => array(15, 16, 16, 16, 16, 9),
// 'ignore' => true,
'channel' => 'online',
// 'showtimes' => 'So 07:00',
'seen' => array(array(1, 11)),
// 'last_seen' => mktime(21, 10, 0, 9, 18, 2011),
'seasons' => array(15, 16, 16, 16, 16, 16, 3),
'episodes' => array(
1 => "Mit einer Ausrede fängt es an (Pilot)",
2 => "So spannend kann ein Buchstabierwettbewerb sein! (Spellingg Bee)",
3 => "Hold Your Piece Man möge jetzt sprechen … oder für immer schweigen"
. " (Speak Now Or Forever Hold Your Piece)",
4 => "Attraktive Frau sucht toten Mann zwecks Geldanlage"
. " (Woman Seeking Dead Husband – Smokers Okay, No Pets)",
5 => "Katze krallt sich Killer? (9 Lives)",
6 => "Da möchte man in Frieden Bürgerkrieg spielen … (Weekend Warriors)",
7 => "Ein Geschlechterkampf der etwas anderen Art (Who Ya Gonna Call?)",
8 => "Shawn gegen „Das Rote Phantom (Shawn Vs. The Red Phantom)",
9 => "Tiere, Menschen, Endstationen (Forget Me Not)",
1 => "Pilot (Mit einer Ausrede fängt es an)",
2 => "Spellingg Bee (So spannend kann ein Buchstabierwettbewerb sein!)",
3 => "Speak Now Or Forever Hold Your Piece (Man möge jetzt sprechen … oder für immer schweigen)",
4 => "Woman Seeking Dead Husband – Smokers Okay, No Pets (Attraktive Frau sucht toten Mann zwecks Geldanlage)",
5 => "9 Lives (Katze krallt sich Killer?)",
6 => "Weekend Warriors (Da möchte man in Frieden Bürgerkrieg spielen …)",
7 => "Who Ya Gonna Call? (Ein Geschlechterkampf der etwas anderen Art)",
8 => "Shawn Vs. The Red Phantom (Shawn gegen „Das Rote Phantom“)",
9 => "Forget Me Not (Tiere, Menschen, Endstationen)",
10 => "From the Earth to Starbucks",
11 => "He Loves Me, He Loves Me Not, He Loves Me, Oops He's Dead",
12 => "Cloudy... With a Chance of Murder",
13 => "Game, Set... Muuurder?",
14 => 'Pokerface gegen Pokerface (Poker? I Barely Know Her)',
15 => 'Zimmer 413: Studentinnen des Todes (Scary Sherry: Bianca’s Toast)',
/trunk/media/video/series/style.css
1635,9 → 1635,13
* Decreasing probability of pixels near bottom through exponential distribution;
* TODO: If coord > 50%, decrease probability of appearance.
*/
$y = mt_rand(1, $lambda * exp(-$lambda * mt_rand(0, 5)) * 99);
$max = $lambda * exp(-$lambda * mt_rand(0, 5)) * 99;
if (1 <= $max)
{
$y = mt_rand(1, $max);
$coords[] = array('x' => $x, 'y' => $y);
}
}
$dots = array_map(function ($coord) {
return "-webkit-radial-gradient({$coord['x']}% {$coord['y']}%, 1px 1px, rgba(255, 255, 255, 0.75), rgba(0, 0, 30, 0))";
1857,6 → 1861,35
font-size: 90%;
}
.space-above-beyond {
display: inline-block;
background-color: black;
color: white;
padding: 0.25em 0.5em;
text-transform: uppercase;
}
 
.space-above-beyond .space {
display: block;
letter-spacing: 0.5em;
text-align: justify;
}
 
.space-above-beyond .space span {
letter-spacing: normal;
}
 
.space-above-beyond .above-beyond {
display: block;
font-size: 50%;
word-spacing: 0.5em;
text-align: justify;
}
 
.space-above-beyond .above-beyond span {
word-spacing: normal;
}
 
@font-face {
font-family: "Stargate";
src: local("Stargate"), url(/styles/fonts/STARGATE.TTF);
/trunk/media/video/series/index.php
1,91 → 1,10
<?php
 
require_once 'data.inc';
require_once 'Application.php';
 
$min_percentage = 100;
$min_series = null;
require_once 'application/models/databases/seriometer/SeriOMeterDb.php';
 
$data = array(
'urns' => array(
'wiki' => 'http://de.wikipedia.org/wiki/'
),
'list' => &$serien
);
 
foreach ($serien as $key => &$serie)
{
$count = 0;
$serie['coverage'] = array();
 
if (isset($serie['seen']))
{
$count = count($serie['seen']);
foreach ($serie['seen'] as $episode)
{
if (is_array($episode))
{
$count += $episode[1] - $episode[0];
$serie['coverage'][] = $episode[0] . '&ndash;' . $episode[1];
}
else
{
$serie['coverage'][] = $episode;
}
}
}
$serie['count'] = $count;
$serie['total'] = 0;
if (isset($serie['seasons']) && is_array($serie['seasons']))
{
$serie['total'] = array_sum($serie['seasons']);
$episode_count = 1;
$serie['season_ranges'] = array();
foreach ($serie['seasons'] as $season_key => $season_length)
{
if (is_int($season_key))
{
$serie['season_ranges'][$season_key + 1] = array($episode_count, $episode_count + $season_length - 1);
}
$episode_count += $season_length;
}
}
else
{
$serie['total'] = max(array_keys($serie['episodes']));
}
$serie['percentage'] = 0;
if ($serie['total'] > 0)
{
$serie['percentage'] = $count / $serie['total'] * 100;
if ((!isset($serie['ignore']) || !$serie['ignore'])
&& $serie['percentage'] < $min_percentage)
{
$min_percentage = $serie['percentage'];
$min_series = $key;
}
}
 
if (isset($serie['episode_list']))
{
$episode_list =& $serie['episode_list'];
foreach ($data['urns'] as $prefix => $urn)
{
if (preg_match("/^{$prefix}:/", $episode_list))
{
$episode_list = preg_replace("/^{$prefix}:/", $urn,
str_replace(' ', '_', $episode_list));
}
}
}
}
 
// var_dump($serien['<span class="alf">ALF</span>']);
 
require_once 'series.tpl';
$application = Application::getInstance();
$application->setDefaultDatabase(
$application->registerDatabase('seriometer', new SeriOMeterDb()));
$application->run();