# HG changeset patch # User Matti Hamalainen # Date 1386772695 -7200 # Node ID 9f976ae7a3e250b7646f0a56d29289a498dff022 # Parent e7bd58dec4f328aea352556bfbafbf2dea2f3049 Reformat, modularize, cleanup. diff -r e7bd58dec4f3 -r 9f976ae7a3e2 index.php --- a/index.php Wed Dec 11 02:03:32 2013 +0200 +++ b/index.php Wed Dec 11 16:38:15 2013 +0200 @@ -4,9 +4,11 @@ // (C) Copyright 2010 - 2012 Matti 'ccr' Hämäläinen // Yes, this code is rather horrible. :| // +// Include framework +require "mcommon.inc.php"; + $pageLang = "fi"; $pageCharset = "utf-8"; -$internalCharset = "utf-8"; $classDefault = "TTE1SNO"; $classIDFile = "classes.txt"; $courseCacheFile = "coursecache.txt"; @@ -79,10 +81,6 @@ ); -// Include framework -require "mcommon.inc.php"; - - function lukGetDayName($day) { global $lukDayNames, $pageLang; @@ -94,13 +92,6 @@ } -function lukChEntities($str) -{ - global $internalCharset; - return htmlentities($str, ENT_NOQUOTES, $internalCharset); -} - - function lukCheckClassID(&$id) { global $classDefault; @@ -148,7 +139,7 @@ function lukMatchCourse($id) { - global $cache, $cacheDirty, $internalCharset, $pageLang; + global $cache, $cacheDirty, $pageCharset, $pageLang; $uri = "http://www.oamk.fi/opiskelijalle/rakenne/opinto-opas/koulutusohjelmat/?sivu=oj&kieli=".strtoupper($pageLang)."&koodi1=".$id; @@ -164,7 +155,7 @@ $data = @file_get_contents($uri); if ($data !== FALSE) { - $data = iconv("iso-8859-1", $internalCharset, $data); + $data = iconv("iso-8859-1", $pageCharset, $data); if (preg_match("#(.+?)\s+(\d+)\s*(op|ECTS\s+cr)\s*#", $data, $m)) { // Add data to cache @@ -175,11 +166,11 @@ if (isset($cache[$id]) && isset($cache[$id][$pageLang])) { - return "".lukChEntities($cache[$id][$pageLang]["desc"]).""; + return "".chentities($cache[$id][$pageLang]["desc"]).""; } else - return lukChEntities($id); + return chentities($id); } @@ -205,7 +196,7 @@ { $out .= ""; if (isset($col[$i])) - $out .= lukChEntities($col[$i]); + $out .= chentities($col[$i]); $out .= ""; } $out .= ""; @@ -219,7 +210,7 @@ for ($i = 1; $i < count($data[0]); $i++) { - $out .= lukChEntities($data[0][$i])."
"; + $out .= chentities($data[0][$i])."
"; } return $out; @@ -243,6 +234,35 @@ } +function lukReadClassFile($filename) +{ + // Attempt to open file for reading + if (($fp = @fopen($filename, "rb")) === false) + return false; + + $classes = FALSE; + + // Lock file so that we do not get clashes + if (flock($fp, LOCK_SH)) + { + $classes = array(); + // Read and parse data + while (!feof($fp)) + { + $str = trim(fgets($fp, 128)); + if (strlen($str) > 2 && $str[0] != "#") + $classes[] = $str; + } + + // Release lock + flock($fp, LOCK_UN); + } + + fclose($fp); + return $classes; +} + + // Check given parameters // Language must be the first setting to be validated, // so that the translation support works properly. @@ -341,41 +361,6 @@ } -// Read classfile -$classes = array(); -if (($fp = @fopen($classIDFile, "rb")) !== false) -{ - if (flock($fp, LOCK_SH)) - { - while (!feof($fp)) - { - $str = trim(fgets($fp, 128)); - if (strlen($str) > 2 && $str[0] != "#") - $classes[] = $str; - } - flock($fp, LOCK_UN); - } - fclose($fp); -} -else -{ - stError(stQM("classListNotFound")); -} - - -$dataFile = $cachePath.$luokka.".data"; -if (!file_exists($dataFile)) -{ - stError(cmQM("classDataNotFound", lukChEntities($luokka))); - $haveData = FALSE; -} -else -{ - require($dataFile); - $haveData = isset($classInfo); -} - - function lukPrintTimeTable($mini) { global $classInfo, $classHourDefs, $classHourTimes; @@ -462,37 +447,104 @@ } -// + +// Main code starts // // + +// Read classfile +if (($classes = lukReadClassFile($classIDFile)) === false) + stError(stQM("classListNotFound")); + +// Read class data +$dataFile = $cachePath.$luokka.".data"; +if (!file_exists($dataFile)) +{ + stError(cmQM("classDataNotFound", chentities($luokka))); + $haveData = FALSE; +} +else +{ + require($dataFile); + $haveData = isset($classInfo); +} + +// Set some variables $pageTitle = $haveData ? $luokka." / ".join("; ", $classInfo["info"]) : $luokka; -cmPrintPageHeader($pageTitle); + +$extra = ""; +foreach (array(57 => FALSE, 76 => TRUE, 114 => TRUE, 120 => TRUE, 152 => TRUE) as $iconSize => $addSize) +{ + $extra .= " \n"; +} -echo "
- - -
- \n". + " \n". + " - -"; + " \n". + " \n". + " \n"; if (!$mobileMode) { echo - " \n". - " \n". - " \n". - " \n"; + " \n". + " \n". + " \n". + " \n"; } echo @@ -517,25 +569,29 @@ } echo -"
". -cmQM("contact", "ccr @ IRCNet", "ccr (at) tnsp (dot) org"). -//"
".cmQM("beta")."
\n". -"
\n"; + "
". + cmQM("contact", "ccr @ IRCNet", "ccr (at) tnsp (dot) org"). + //"
".cmQM("beta")."
\n". + "
\n"; if (!$mobileMode) { -echo "
\n". -"
Lukkari v2.0
\n". -"
".cmQM("Style").": "; + echo + "
\n". + "
Lukkari v2.0
\n". + "
".cmQM("Style").": "; + + foreach ($pageCSSAlts as $name => $id) + echo "".$name.""; -foreach ($pageCSSAlts as $name => $id) - echo "".$name.""; + echo + "
\n". + "
"; -echo "
\n". -"
"; -foreach ($pageLanguages as $id) - echo "".$id.""; -echo "
\n"; + foreach ($pageLanguages as $id) + echo "".$id.""; + + echo "
\n"; } echo "
\n";
\n". + " - ". - cmQM("Shown").": ".($nextPeriod ? cmQM("Next period") : cmQM("Current period")). - "".cmQM("Original")."XMLMobile". + cmQM("Shown").": ".($nextPeriod ? cmQM("Next period") : cmQM("Current period")). + "".cmQM("Original")."XMLMobile