diff admajax.php @ 421:606a8ab61d0f

Moar work.
author Matti Hamalainen <ccr@tnsp.org>
date Thu, 05 Dec 2013 19:33:05 +0200
parents 206a18bc603a
children b7c395958728
line wrap: on
line diff
--- a/admajax.php	Thu Dec 05 19:10:52 2013 +0200
+++ b/admajax.php	Thu Dec 05 19:33:05 2013 +0200
@@ -474,9 +474,6 @@
     //
     switch ($type)
     {
-      case "setTempSlide":
-        break;
-    
       case "setShowMode":
         if (stChkRequestItem("mode", $mode,
           array(CHK_TYPE, VT_INT, "Invalid data."),
@@ -545,6 +542,75 @@
         else
           stError("No valid competition set.");
         break;
+
+      case "setTempSlide":
+        break;
+
+      case "newSlide":
+        break;
+
+      case "updateSlide":
+        break;
+
+      case "deleteSlide":
+        if (stChkRequestItem("id", $slide_id, array(CHK_TYPE, VT_INT, "Invalid data.")))
+        {
+          $sql = stPrepareSQL("DELETE FROM displaySlides WHERE id=%d", $slide_id);
+          stExecSQLCond($sql, "Slide deleted.");
+
+          $sql = stPrepareSQL("DELETE FROM rotationListSlides WHERE slide_id=%d", $slide_id);
+          stExecSQLCond($sql, "Slide list refs deleted.");
+        }
+        break;
+
+      case "newList":
+        break;
+
+      case "updateList":
+        break;
+
+      case "moveListSlide":
+        if (stChkRequestItem("list_id", $list_id, array(CHK_TYPE, VT_INT, "Invalid data.")) &&
+            stChkRequestItem("slide_id", $slide_id, array(CHK_TYPE, VT_INT, "Invalid data.")) &&
+            stChkRequestItem("dir", $dir, array(CHK_TYPE, VT_INT, "Invalid data.")))
+        {
+        }
+        break;
+
+      case "addListSlide":
+        if (stChkRequestItem("list_id", $list_id, array(CHK_TYPE, VT_INT, "Invalid data.")) &&
+            stChkRequestItem("slide_id", $slide_id, array(CHK_TYPE, VT_INT, "Invalid data.")))
+        {
+          $nslides = stFetchSQLColumn(stPrepareSQL("SELECT COUNT(*) FROM rotationListSlides WHERE list_id=%d", $list_id));
+          $sql = stPrepareSQL("INSERT INTO rotationListSlides () VALUES ()",
+            $list_id, $slide_id, $nslides+1);
+
+          stExecSQLCond($sql, "Slide added to list.");
+          stNormalizeListSlideOrder($list_id);
+        }
+        break;
+
+      case "deleteListSlide":
+        if (stChkRequestItem("list_id", $list_id, array(CHK_TYPE, VT_INT, "Invalid data.")) &&
+            stChkRequestItem("slide_id", $slide_id, array(CHK_TYPE, VT_INT, "Invalid data.")))
+        {
+          $sql = stPrepareSQL("DELETE FROM rotationListSlides WHERE list_id=%d AND slide_id=%d",
+            $list_id, $slide_id);
+          stExecSQLCond($sql, "List slide refs deleted.");
+          stNormalizeListSlideOrder($list_id);
+        }
+        break;
+
+      case "deleteList":
+        if (stChkRequestItem("id", $list_id, array(CHK_TYPE, VT_INT, "Invalid data.")))
+        {
+          $sql = stPrepareSQL("DELETE FROM rotationListData WHERE id=%d", $list_id);
+          stExecSQLCond($sql, "List data deleted.");
+
+          $sql = stPrepareSQL("DELETE FROM rotationListSlides WHERE list_id=%d", $list_id);
+          stExecSQLCond($sql, "List slide refs deleted.");
+        }
+        break;
     }
     break;
 
@@ -609,19 +675,28 @@
         break;
 
       case "infoEditSlide":
-        echo
-          "<div class=\"ctrlBox\" id=\"ctrlEditDisplaySlide\">\n".
-          "  <form method=\"post\" action=\"\" onsubmit=\"return updateDisplaySlide()\">\n".
-          "  <div class=\"ctrlTitle\">Create a new display slide</div>\n".
-          "  ".stGetFormTextInput(40, 128, "fdsaf", "", "", "")."<br />\n".
-          "  ".stGetFormTextArea(5, 40, "asdf", "", "", "")."<br />\n".
-          "  <div class=\"ctrlButtons\">\n".
-          "    ".stGetFormButtonInput("clearslide", "", "", "Clear", "this.form.reset()")."\n".
-          "    ".stGetFormButtonInput("cancelslide", "", "", "Cancel", "cancelDisplaySlide()")."\n".
-          "    ".stGetFormSubmitInput("createslide", "Create slide")."\n".
-          "  </div>\n".
-          "  </form>\n".
-          "</div>\n";
+        if (stChkRequestItem("id", $slide_id, array(CHK_TYPE, VT_INT, "Invalid data.")))
+        {
+          $sql = stPrepareSQL("SELECT * FROM displaySlides WHERE id=%d", $slide_id);
+          if (($slide = stFetchSQL($sql)) !== false)
+          {
+            echo
+              "<div class=\"ctrlBox\" id=\"ctrlEditDisplaySlide\">\n".
+              "  <form method=\"post\" action=\"\" onsubmit=\"return updateDisplaySlide(this)\">\n".
+              "  <div class=\"ctrlTitle\">Edit display slide</div>\n".
+              "  ".stGetFormTextInput(40, SET_LEN_DISP_SLIDE_TITLE, "fdsaf", "", "", "")."<br />\n".
+              "  ".stGetFormTextArea(5, 40, "asdf", "", "", "")."<br />\n".
+              "  <div class=\"ctrlButtons\">\n".
+              "    ".stGetFormButtonInput("clearslide", "", "", "Clear", "this.form.reset()")."\n".
+              "    ".stGetFormButtonInput("cancelslide", "", "", "Cancel", "cancelEditDisplaySlide()")."\n".
+              "    ".stGetFormSubmitInput("createslide", "Save slide")."\n".
+              "  </div>\n".
+              "  </form>\n".
+              "</div>\n";
+          }
+          else
+            stError("No such slide!");
+        }
         break;
 
       case "infoMain":