changeset 457:3b5184c6b36f

Add slide copying function.
author Matti Hamalainen <ccr@tnsp.org>
date Fri, 06 Dec 2013 18:07:17 +0200
parents 23f40b985f5b
children cf591bb4c93c
files admajax.php admin.php
diffstat 2 files changed, 43 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/admajax.php	Fri Dec 06 17:54:50 2013 +0200
+++ b/admajax.php	Fri Dec 06 18:07:17 2013 +0200
@@ -666,9 +666,29 @@
         }
         break;
 
+      case "copyDisplaySlide":
+        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)
+          {
+            $sql = stPrepareSQL("INSERT INTO displaySlides (title,text) VALUES (%s,%s)",
+              $slide["title"]." (copy)", $slide["text"]);
+
+            if (stExecSQLCond($sql, "Display slide copied.") !== false)
+            {
+              $new_id = $db->lastInsertId();
+              echo stGetInfoDisplaySlideEdit("", TRUE, $new_id);
+            }
+          }
+          else
+            stError("No such slide ID #".$slide_id);
+        }
+        break;
+
       case "newDisplaySlide":
         $sql = stPrepareSQL("INSERT INTO displaySlides (title) VALUES (%s)", "New slide");
-        if (stExecSQLCond($sql, "Rotation list created.") !== false)
+        if (stExecSQLCond($sql, "Display slide created.") !== false)
         {
           $slide_id = $db->lastInsertId();
           echo stGetInfoDisplaySlideEdit("", TRUE, $slide_id);
@@ -875,11 +895,14 @@
           "Can be collected into slide rotations or set to display as 'temp slide' at any given time.</div>\n".
           stGetInfoDisplaySlides("  ", TRUE).
           "  <div class=\"ctrlButtons\">\n".
+          "    ".stGetFormButtonInput("editslide", "", "", "Edit", "editDisplaySlide()")."\n".
+          "    ".stGetFormButtonInput("copyslide", "", "", "Copy", "copyDisplaySlide()")."\n".
+          "    ".stGetFormButtonInput("newslide", "", "", "New", "newDisplaySlide()")."\n".
+          "    ".stGetFormButtonInput("delslide", "", "", "Delete", "deleteDisplaySlide()")."\n".
+          "  </div>\n".
+          "  <div class=\"ctrlButtons\">\n".
           "    ".stGetFormTextInput(3, 5, "", "ctrlTempSlideDuration", "", 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".
           "</div>\n".
           "<div class=\"ctrlBox\" id=\"ctrlCompoControl\">\n".
--- a/admin.php	Fri Dec 06 17:54:50 2013 +0200
+++ b/admin.php	Fri Dec 06 18:07:17 2013 +0200
@@ -708,6 +708,22 @@
 }
 
 
+function copyDisplaySlide()
+{
+  var msuccess = function(txt)
+  {
+    refreshDisplaySlideListSel();
+    jsOpenAdminPopup(txt);
+  }
+
+  var id = jsGetValue("ctrlDisplaySlidesSel", 4);
+  if (id > 0)
+    jsSendPOSTRequest("action=ctrl&type=copyDisplaySlide&id="+id, msuccess);
+  else
+    jsMessageBox("No display slide selected?");
+}
+
+
 function newDisplaySlide()
 {
   var msuccess = function(txt)