source: Dev/trunk/selectSession.php @ 164

Last change on this file since 164 was 163, checked in by fpvanagthoven, 13 years ago
  • Basically alles gefixt om te werken met een local copy van de session, opgeslagen in $_SESSIONlocalSessionCopy?.
  • Flag $_SESSIONupdateNeeded? toegevoegd om aan te geven wanneer er een update uit de database nodig is in plaats van gewoon verder werken met de local copy.
  • '123'/'456' placeholder routine weggehaald uit returnStep.php
  • CreateObject? doet nog niets, maar dat komt volgende week! (AJAX-aangestuurd object creation, met als doel: pipeline editing zonder constante page refreshes).
File size: 4.4 KB
Line 
1<?php
2require 'classes/master.php'; //should be at top of every page
3
4if (!isset($_SESSION['username'])) {
5    redirect("index.php");
6}
7
8if (isset($_SESSION['message'])) {
9    echo $_SESSION['message'];
10    unset($_SESSION['message']);
11}
12
13$dbi = new DatabaseInterface();
14
15if (isset($_POST['createSession'])) {
16    //check if name is set
17    if (isset($_POST['newSessionName'])) {
18        // check if name is available
19        if (!empty($_POST['newSessionName'])) {
20            $matching = $dbi->get("Session", array("title" => $_POST['newSessionName']));
21            if (count($matching) == 0) {
22                // make new session!
23                unset($matching);
24                $session = new Session(null, $_POST['newSessionName'], $_SESSION['username'], new DateTime(), null, null);
25                $dbi->set($session);
26            } else {
27                $errorMessage[] = "A session with the name " . $_POST['newSessionName'] . " already exists!";
28            }
29        }
30    } else {
31        $errorMessage[] = "Please enter a name for the new session!";
32    }
33}
34
35if (isset($_POST['deleteSession'])) {
36    if (isset($_POST['sessionUID'])) {
37        //Kan de database al objecten verwijderen?
38    }
39}
40
41if (isset($_POST['editSession'])) {
42    if (isset($_POST['sessionUID'])) {
43        $matching = $dbi->get("SESSION", array("uid" => $_POST['sessionUID']));
44        if (count($matching) == 1 && $matching[0] != null) {
45            $_SESSION['currentSession'] = $_POST['sessionUID'];
46            $_SESSION['updateNeeded'] = "true";
47            redirect("pipelineEditor.php");
48        }
49    }
50}
51
52//Get available sessions for current user
53//$sessions = $dbi->get("Session", array("creator"=>$_SESSION['username']));  //This does not work, session.php does not yet have a property 'creator'
54$sessions = $dbi->get("Session", array());  // Let's just load everything then...
55//var_dump($sessions);
56?>
57
58<!DOCTYPE html>
59<html>
60    <head>
61        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
62        <title>Select a session</title>
63        <?php new StyleSheet("awesome"); ?>
64        <script type="text/javascript" src="js/sequencerScripts.js"></script>
65    </head>
66    <body>
67        <div id="header">
68            <?php new Logo(); ?>
69        </div>
70
71        <div id="wrapper">
72            <div id="content">
73            <form action="selectSession.php" method="POST">
74                <fieldset name="selectionMenu">
75                    <!-- onchange van volgende select linkt deze aan de ajax-based info panel, script staat in sequencerScripts.js -->
76                    <select name="sessionUID" style="float: left;" onChange="ajaxInfoRequest(this.value, document.getElementById('sessionDescription'));">
77                        <option value="" disabled="true" selected>Please select a session</option>
78            <?php
79                        foreach ($sessions as $session) {
80                            $selected = "";
81                            if ($session->title == $_POST['newSessionName']) {
82                                $selected = ' selected="true"';
83                            }
84                           
85                            echo '<option value="' . $session->uid . '"' . $selected . '>' . $session->title . '</option>' . "\n";
86                        }
87                        ?>                   
88                    </select>
89                    <br /><br />
90                    <input type="hidden" name="updateNeeded" value="true" />
91                    <input type="text" name="newSessionName" value="Name..." style="float: left;" /><br />
92                    <input type="submit" name="createSession" value="Create new session" class="surveybutton" style="float: left;" />
93                    <input type="submit" name="editSession" value="Edit session" class="surveybutton" style="float: left;" />
94                    <input type="submit" name="deleteSession" value="Delete session" class="surveybutton" style="float: left;" />
95                    <br /><br /><br />
96                    <div id="errorDisplay"><?php
97                        if (isset($errorMessage)) {
98                            foreach ($errorMessage as $message) {
99                                echo $message;
100                            }
101                        }
102                        ?></div>
103                </fieldset>
104                <fieldset id="sessionDescription">
105                    Info goes here:
106                </fieldset>
107            </form>
108        </div>
109        </div>
110    </body>
111</html>
Note: See TracBrowser for help on using the repository browser.