changeset 398:e6223ab525fc

Moar.
author Matti Hamalainen <ccr@tnsp.org>
date Thu, 05 Dec 2013 15:36:12 +0200
parents d8fd57e7b90e
children 23f22fb6f2d8
files admajax.php
diffstat 1 files changed, 165 insertions(+), 55 deletions(-) [+]
line wrap: on
line diff
--- a/admajax.php	Thu Dec 05 13:56:00 2013 +0200
+++ b/admajax.php	Thu Dec 05 15:36:12 2013 +0200
@@ -192,29 +192,71 @@
 }
 
 
+function stGetInfoOneEntryData($show_id, $compo_id)
+{
+  $sql = stPrepareSQL("SELECT * FROM entries WHERE show_id=%d AND compo_id=%d",
+    $show_id, $compo_id);
+
+  if (($entry = stFetchSQL($sql)) !== false)
+    return "#".$entry["show_id"]." - ".chentities($entry["name"])." by ".chentities($entry["author"]);
+  else
+    return "-";
+}
+
+
+function stGetInfoCurrEntryData()
+{
+  $compoID = stGetDisplayVar("compoID");
+  if ($compoID > 0)
+  {
+    $sql = stPrepareSQL("SELECT * FROM compos WHERE id=%d", $compoID);
+    if (($entry = stFetchSQL($sql)) !== false)
+      $strCompo = $entry["id"]." - ".chentities($entry["name"]);
+
+    $strCurrEntry = stGetInfoOneEntryData(stGetDisplayVar("compoCurrEntry"), $compoID);
+    $strPrevEntry = stGetInfoOneEntryData(stGetDisplayVar("compoPrevEntry"), $compoID);
+  }
+  else
+    $strCompo = $strCurrEntry = $strPrevEntry = "-";
+
+  return
+    "  <p>Current compo:<br /><b>".$strCompo."</b></p>\n".
+    "  <p>Current entry:<br /><b>".$strCurrEntry."</b></p>\n".
+    "  <p>Previous entry:<br /><b>".$strPrevEntry."</b></p>\n";
+}
+
+
+function stGet()
+{
+}
+
+
 function stGetSaveButton()
 {
   return "<input type=\"submit\" value=\" Save \" />\n";
 }
 
 
-function stGetOptionList($id, $sql, $iname, $active, $onChange = "")
+function stGetOptionListStart($id, $onChange = "")
 {
-  $str =
+  return
     "<select class=\"selectBox\" id=\"".$id."\" size=\"10\"".
     ($onChange != "" ? " onChange=\"".$onChange."\"" : "").">\n";
+}
 
-  if (($res = stExecSQL($sql)) !== false)
-  {
-    foreach ($res as $item)
-    {
-      $str .= "<option value=\"".$item["id"]."\"".
-        ($active == $item["id"] ? " selected=\"selected\"" : "").
-        ">".chentities($item[$iname])."</option>\n";
-    }
-  }
 
-  return $str."</select>\n";
+function stGetOptionListItem($value, $active, $name)
+{
+  return
+    "<option value=\"".$value."\"".
+    ($active ? " selected=\"selected\"" : "").
+    ">".chentities($name)."</option>\n";
+}
+
+
+function stGetOptionListEnd()
+{
+  return "</select>\n";
 }
 
 
@@ -455,25 +497,46 @@
     //
     switch ($type)
     {
-      case "infoEditList":
+      case "infoCurrEntryData":
+        echo stGetInfoCurrEntryData();
+        break;
+    
+      case "infoEditRotationList":
         echo
           "<div class=\"ctrlBox\" id=\"ctrlEditRotationList\">\n".
           "  <div class=\"ctrlTitle\">Edit rotation list</div>\n".
-          "  ".stGetFormTextInput(30, 128, "fdsaf", "", "", "")."<br />\n".
-          stGetOptionList("ctrlEDRotationLists",
-            "SELECT * FROM displaySlides WHERE id=1",
-            "title",
-            0,
-            "selectedListSlide(this)").
-          stGetOptionList("ctrlEDDisplaySlides",
-            "SELECT displaySlides.* FROM displaySlides ".
-            "LEFT JOIN displayListSlides ON displaySlides.id=displayListSlides.slide_id ".
-            "WHERE displayListSlides.list_id=1 ".
-            "ORDER BY displayListSlides.order_num DESC",
-            "title",
-            0,
-            "selectedDisplaySlide(this)").
+          "  ".stGetFormTextInput(30, 128, "ctrlEDRotationListName", "", "", "")."<br />\n".
+          "  ".stGetOptionListSTart("ctrlEDRotationList");
+
+        $sql = "SELECT * FROM displaySlides";
+        if (($res = stExecSQL($sql)) !== false)
+        {
+          foreach ($res as $item)
+            echo "    ".stGetOptionListItem($item["id"], FALSE, $item["title"]);
+        }
+
+        $sql = stPrepareSQL(
+          "SELECT displaySlides.* FROM displaySlides ".
+          "LEFT JOIN displayListSlides ON displaySlides.id=displayListSlides.slide_id ".
+          "WHERE displayListSlides.list_id=%d ".
+          "ORDER BY displayListSlides.order_num DESC",
+          $list_id);
+
+        echo
+          "  ".stGetOptionListEnd().
+          "  ".stGetOptionListStart("ctrlEDDisplaySlides");
+
+        if (($res = stExecSQL($sql)) !== false)
+        {
+          foreach ($res as $item)
+            echo "    ".stGetOptionListItem($item["id"], FALSE, $item["title"]);
+        }
+
+        echo
+          "  ".stGetOptionListEnd().
           "  <div class=\"ctrlButtons\">\n".
+          "    ".stGetFormButtonInput("moveslideup", "", "", "Move Up", "moveListSlide(-1)")."\n".
+          "    ".stGetFormButtonInput("moveslidedn", "", "", "Move Down", "moveListSlide(1)")."\n".
           "    ".stGetFormButtonInput("addslide", "", "", "Add slide", "addListSlide()")."\n".
           "    ".stGetFormButtonInput("delslide", "", "", "Remove slide", "removeListSlide()")."\n".
           "  </div>\n".
@@ -488,7 +551,7 @@
           "  ".stGetFormTextInput(40, 128, "fdsaf", "", "", "")."<br />\n".
           "  ".stGetFormTextArea(5, 40, "asdf", "", "", "")."<br />\n".
           "  <div class=\"ctrlButtons\">\n".
-          "    ".stGetFormButtonInput("cancelslide", "", "", "Clear", "this.form.reset()")."\n".
+          "    ".stGetFormButtonInput("clearslide", "", "", "Clear", "this.form.reset()")."\n".
           "    ".stGetFormButtonInput("cancelslide", "", "", "Cancel", "cancelDisplaySlide()")."\n".
           "    ".stGetFormSubmitInput("createslide", "Create slide")."\n".
           "  </div>\n".
@@ -514,11 +577,21 @@
         echo
           "<div class=\"ctrlBox\" id=\"ctrlListRotationLists\">\n".
           "  <div class=\"ctrlTitle\">Rotation lists:</div>\n".
-          stGetOptionList("ctrlRotationLists",
-            "SELECT * FROM displayListData ORDER BY id DESC",
-            "name",
-            0,
-            "selectedRotationList(this)").
+          "  ".stGetOptionListStart("ctrlRotationLists");
+
+        $sql =
+          "SELECT displayListData.* FROM displayListData ".
+          "LEFT JOIN displayListSlides ".
+          "ORDER BY id DESC";
+
+        if (($res = stExecSQL($sql)) !== false)
+        {
+          foreach ($res as $item)
+            echo "    ".stGetOptionListItem($item["id"], FALSE, $item["name"]);
+        }
+
+        echo
+          "  ".stGetOptionListEnd().
           "  <div class=\"ctrlButtons\">\n".
           "    ".stGetFormButtonInput("sellist", "", "", "Set Active", "activateRotationList()")."\n".
           "    ".stGetFormButtonInput("newlist", "", "", "Edit", "newRotationList()")."\n".
@@ -530,14 +603,21 @@
         echo
           "<div class=\"ctrlBox\" id=\"ctrlListDisplaySlides\">\n".
           "<div class=\"ctrlTitle\">Display slides:</div>\n".
-          stGetOptionList("ctrlDisplaySlides",
-            "SELECT * FROM displaySlides ORDER BY id DESC",
-            "title",
-            0,
-            "selectedDisplaySlide(this)").
+          "  ".stGetOptionListStart("ctrlDisplaySlides");
+
+        $sql = "SELECT * FROM displaySlides ORDER BY id DESC";
+        if (($res = stExecSQL($sql)) !== false)
+        {
+          foreach ($res as $item)
+            echo "    ".stGetOptionListItem($item["id"], FALSE, $item["title"]);
+        }
+
+        echo
+          "  ".stGetOptionListEnd().
           "  <div class=\"ctrlButtons\">\n".
           "    ".stGetFormTextInput(3, 5, "tempDuration", "", "", stGetDisplayVar("tempDuration"))." min\n".
           "    ".stGetFormButtonInput("setslide", "", "", "Set Temp", "activateTempSlide()")."\n".
+          "    ".stGetFormButtonInput("editslide", "", "", "Edit", "editDisplaySlide()")."\n".
           "    ".stGetFormButtonInput("newslide", "", "", "New", "newDisplaySlide()")."\n".
           "    ".stGetFormButtonInput("delslide", "", "", "Delete", "deleteDisplaySlide()")."\n".
           "  </div>\n".
@@ -545,33 +625,63 @@
 
         echo
           "<div class=\"ctrlBox\" id=\"ctrlCompoControl\">\n".
-          "<div class=\"ctrlTitle\">Competition control:</div>\n".
-          "<div class=\"ctrlDBox1\">\n".
-          stGetOptionList("ctrlCompoList",
-            "SELECT * FROM compos ORDER BY id DESC",
-            "name",
-            0,
-            "selectedCompo(this)").
+          "  <div class=\"ctrlTitle\">Competition control:</div>\n".
+          "  <div class=\"ctrlDBox1\">\n".
+          "    ".stGetOptionListStart("ctrlCompoList");
+
+        $sql =
+          "SELECT compos.*, ".
+          "(SELECT COUNT(*) FROM entries WHERE compo_id=compos.id) AS nentries ".
+          "FROM compos ".
+          "ORDER BY id DESC";
+
+        $currCompoID = stGetDisplayVar("compoID");
+        if (($res = stExecSQL($sql)) !== false)
+        {
+          foreach ($res as $item)
+          {
+            echo "    ".stGetOptionListItem($item["id"],
+              ($item["id"] == $currCompoID),
+              sprintf("%s (%d entries)", $item["name"], $item["nentries"]));
+          }
+        }
+
+        echo
+          "  ".stGetOptionListEnd().
           "  <div class=\"ctrlButtons\">\n".
           "    ".stGetFormButtonInput("setcompo", "", "", "Change compo", "activateCompo()")."\n".
           "  </div>\n".
-          "</div>\n".
+          "</div>\n";
+        
+        echo
           "<div class=\"ctrlDBox1\">\n".
-          stGetOptionList("ctrlEntryList",
-            "SELECT * FROM entries WHERE compo_id=3 ORDER BY show_id ASC",
-            "name",
-            0,
-            "selectedCompo(this)").
+          "  ".stGetOptionListStart("ctrlEntryList");
+
+        $sql = stPrepareSQL(
+          "SELECT * FROM entries WHERE compo_id=%d ORDER BY show_id ASC",
+          $currCompoID);
+
+        $currShowID = stGetDisplayVar("compoCurrEntry");
+        if (($res = stExecSQL($sql)) !== false)
+        {
+          foreach ($res as $item)
+          {
+            echo "    ".stGetOptionListItem($item["id"],
+              ($item["show_id"] == $currShowID),
+              sprintf("%3d. %s by %s", $item["show_id"], $item["name"], $item["author"]));
+          }
+        }
+
+        echo
+          "  ".stGetOptionListEnd().
           "  <div class=\"ctrlButtons\">\n".
           "    ".stGetFormButtonInput("setentry", "", "", "Set selected entry", "setSelectedEntry()")."\n".
           "    ".stGetFormButtonInput("nextentry", "", "", "Prev entry", "gotoPrevEntry()")."\n".
           "    ".stGetFormButtonInput("preventry", "", "", "Next entry", "gotoNextEntry()")."\n".
           "  </div>\n".
           "</div>\n".
-          "<div class=\"ctrlDBox2\">\n".
-          "  <p>Current compo: <b>"."</b></p>\n".
-          "  <p>Current entry: <b>"."</b></p>\n".
-          "  <p>Previous entry: <b>"."</b></p>\n".
+          "<div class=\"ctrlDBox2\" id=\"ctrlCurrEntryData\">\n".
+          stGetInfoCurrEntryData().
           "</div>\n".
           "</div>\n";
         break;