changeset 145:c028506aa9cc

Separate the concepts of "every other week" classes and split group classes.
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 10 Sep 2014 12:44:10 +0300
parents f64a46fa7961
children 1a5994671dcf
files index.php parsedata.pl
diffstat 2 files changed, 29 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/index.php	Tue Sep 09 11:21:32 2014 +0300
+++ b/index.php	Wed Sep 10 12:44:10 2014 +0300
@@ -58,6 +58,11 @@
     "fi" => "Viikossa yhteensä <b>%1</b> tuntia.",
   ),
 
+  "vuoroviikoin" => array(
+    "en" => "Every other week",
+    "fi" => "Vuoroviikoin",
+  ),
+
   "classNotSet" => array(
     "en" => "Class not set, using default <b>%1</b>.",
     "fi" => "Luokkaa ei asetettu, käytetään vakioarvoa <b>%1</b>.",
@@ -207,9 +212,10 @@
 }
 
 
-function lukGetClassInfo($grouped, $data)
+function lukGetClassInfo($class)
 {
-  if ($grouped)
+  $data = $class["data"];
+  if ($class["grouped"])
   {
     $out = "<table><tr>";
 
@@ -235,7 +241,12 @@
       $out .= "</tr>";
     }
 
-    return $out."</table>";
+    $out .= "</table>";
+    
+    if ($class["turns"])
+      $out .= cmQM("vuoroviikoin");
+
+    return $out;
   }
   else
   {
@@ -245,6 +256,8 @@
     {
       $out .= chentities($data[0][$i])."<br />";
     }
+    if ($class["turns"])
+      $out .= cmQM("vuoroviikoin");
 
     return $out;
   }
@@ -371,8 +384,8 @@
           "title=\"".lukClassGetHourStr($hour, $hour + $class["hours"] - 1)."\" class=\"".
           ($isActive ? "clactive " : "").
           (!$isActive && $nextActive ? "clnext " : "").
-          ($class["grouped"] ? "clgrouped" : "clnormal")."\">".
-          lukGetClassInfo($class["grouped"], $class["data"]).
+          (($class["grouped"] || $class["turns"]) ? "clgrouped" : "clnormal")."\">".
+          lukGetClassInfo($class).
           "<div class=\"nhours\"><span>".$class["hours"]."h</span></div></td>\n";
         }
       }
--- a/parsedata.pl	Tue Sep 09 11:21:32 2014 +0300
+++ b/parsedata.pl	Wed Sep 10 12:44:10 2014 +0300
@@ -287,6 +287,7 @@
   my ($l, $rowspan) = @_;
   my $chours = $rowspan / 2; # The table is actually in half cells
   my $cdata = [];
+  my $cturns = 0;
   my $cgrouped = 0;
 
   # Pull in data for the class/hour cell
@@ -297,9 +298,14 @@
           my $text = $$b{"nodes"}[0]{"text"};
           $text =~ s/\.$//;
 
-          $cgrouped = 1 if ($text =~ /vuorov/);
-
-          push(@$cdata, $text);
+          if ($text =~ /vuorov/i)
+          {
+            $cturns = 1;
+          }
+          else
+          {
+            push(@$cdata, $text);
+          }
         }
       }
     }
@@ -341,11 +347,11 @@
         push(@$cdata1, $$cdata[$i]) if defined($$cdata[$i]);
         push(@$cdata2, $$cdata[$i+1]) if defined($$cdata[$i+1]);
       }
-      $$hourDefs{$cid} = { "grouped" => $cgrouped, "start" => $lastHour, "hours" => $chours, "data" => [ $cdata1, $cdata2 ] };
+      $$hourDefs{$cid} = { "turns" => $cturns, "split" => $cgrouped, "start" => $lastHour, "hours" => $chours, "data" => [ $cdata1, $cdata2 ] };
     }
     else
     {
-      $$hourDefs{$cid} = { "grouped" => $cgrouped, "start" => $lastHour, "hours" => $chours, "data" => [ $cdata ] };
+      $$hourDefs{$cid} = { "turns" => $cturns, "split" => $cgrouped, "start" => $lastHour, "hours" => $chours, "data" => [ $cdata ] };
     }
 
     push(@{$$hourTable{$cday}}, $tid);