source: Dev/branches/jos-branch/selectSession.php @ 241

Last change on this file since 241 was 238, checked in by fpvanagthoven, 13 years ago

-selectObject is een algemene object selector. Kan gebruikt worden vanuit het mainmenu om in de verschillende editors te komen, en kan eventueel ook onder de "add existing" knop kopen te staan binnen die editors.

File size: 7.9 KB
RevLine 
[208]1<?php
2require 'classes/master.php'; //should be at top of every page
3
4if (!isset($_SESSION['userUid'])) {
5    redirect("index.php");
6}
7
8if (isset($_SESSION['message'])) {
9    echo $_SESSION['message'];
10    unset($_SESSION['message']);
11}
12
13if (isset($_POST['createSession'])) {
14    //check if name is set
15    if (isset($_POST['newSessionName'])) {
16        // check if name is available
17        if (!empty($_POST['newSessionName'])) {
[230]18            $session_results = Session::get(array("title" => $_POST['newSessionName']));
[208]19            if (count($session_results) == 0) {
20                // make new session!
21                unset($session_results);
[230]22                $creators = User::get(array("uid" => $_SESSION['userUid']));
[208]23                $creator = $creators[0];
24                $session = new Session(null, $_POST['newSessionName'], $creator, new DateTime(), null, null);
[238]25                $session->save();
[208]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'])) {
[238]42    var_dump($_POST);
[208]43    if (isset($_POST['sessionUid'])) {
[230]44        $session_results = Session::get((array("uid" => $_POST['sessionUid'])));
[238]45        var_dump($session_results);
[208]46        if (count($session_results) == 1 && $session_results[0] != null) {
47            // DEZE SESSION MOET UITEINDELIJK EEN POST WORDEN, WANNEER DEZE HELE PAGINA IS OVERGEZET IN JAVASCRIPT!
48            $_SESSION['currentSession'] = $_POST['sessionUid'];
49            $_SESSION['updateNeeded'] = "true";
50            redirect("sessionEditor.php");
51        }
52    }
53}
54
55//Get available sessions for current user
56//$sessions = $dbi->get("Session", array("creator"=>$_SESSION['username']));  //This does not work, session.php does not yet have a property 'creator'
[230]57$sessions = Session::get(array());  // Let's just load everything then...
[208]58?>
59
60<!DOCTYPE html>
61<html>
62    <head>
63        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
64        <title>Select a session</title>
[235]65        <?php new StyleSheet("visualeditors"); ?>
[208]66        <script type="text/javascript" src="js/sequencerScripts.js"></script>
67        <script type="text/javascript" src="js/generalScripts.js"></script>
[238]68        <script type="text/javascript">
69            function sendToEditor() {
70                debugger;
71                var uid = ge('objectUid').value;
72                if (uid.length == 32) {
73                    // A valid uid has actually been passed
74                    var form = ce("form");
75                    form.method = "POST";
76                    form.action = "sessionEditor.php";
77                    var input = ce("input");
78                    input.name = "objectUid";
79                    input.value = uid;
80                    form.appendChild(input);
81                    form.submit();
82                }
83            }
84           
85            function createNewSession() {
86                //debugger;
87                var desiredName = ge('newSessionName').value;
88                if (desiredName.length < 1) return;
89                var request = Array({
90                    type: "Session",
91                    title: desiredName
92                });
93                var requestString = "args="+JSON.stringify(request);
94                newAjaxRequest(requestString, "getObject.php", function(result){
95                    debugger;
96                    console.log(result.responseText);
97                    var session = JSON.parse(result.responseText)[0];
98                    if (session != false) {
99                        alert("Session with that name already exists. Please choose a different name.");
100                    }
101                    else {
102                        var requestString = "objectToCreate=Session&newSessionName="+desiredName;
103                       
104                        newAjaxRequest(requestString, "createObject.php", function(result){
105                            var objectUid = result.responseText;
106                            if (objectUid.length != 32) return;
107                            var form = ce("form");
108                            form.method = "POST";
109                            form.action = "sessionEditor.php";
110                            var input = ce("input");
111                            input.value = objectUid;
112                            input.name = "objectUid";
113                            form.appendChild(input);
114                            form.submit();
115                        },false);
116                    }
117                }, false);
118            }
119        </script>
[208]120    </head>
121    <body>
122        <div id="header">
123            <?php new Logo(); ?>
124        </div>
125
126        <div id="wrapper">
127            <div id="content">
[235]128                <div class="largeFrame" id="sessionSelector" style="width: 400px;">
129                    <div class="largeTitle">Select session</div>
130                    <div class="content">
131                        <form action="selectSession.php" method="POST">
132                            <div style="float: left; clear: left;">
[238]133                                <select id ="objectUid" name="objectUid" style="float: left;" onChange="ajaxInfoRequest(this.value, document.getElementById('infoPanelContent'), 'Session');">
[235]134                                    <option value="" disabled="true" selected>Please select a session</option>
135                                    <?php
136                                    foreach ($sessions as $session) {
137                                        $selected = "";
138                                        if ($session->title == $_POST['newSessionName']) {
139                                            $selected = ' selected="true"';
140                                        }
[208]141
[235]142                                        echo '<option value="' . $session->uid . '"' . $selected . '>' . $session->title . '</option>' . "\n";
143                                    }
144                                    ?>                   
145                                </select>
146                                <input type="hidden" name="updateNeeded" value="true" />
[238]147                                <input type="text" id="newSessionName" name="newSessionName" value="Name..." style="float: left; clear: left;" /><br />
[235]148                            </div>
149                            <div style="float: left; clear: none;">
[238]150                                <input type="button" onclick="createNewSession();" name="createSession" value="Create new session" class="smallButton vertical" style="float: left;" />
151                                <input type="button" name="editSession" value="Edit session" class="smallButton vertical" style="float: left;" onclick="sendToEditor();" />
[235]152                                <input type="submit" name="deleteSession" value="Delete session" class="smallButton vertical" style="float: left;" />
153                            </div>
154                            <div id="errorDisplay"><?php
155                                    if (isset($errorMessage)) {
156                                        foreach ($errorMessage as $message) {
157                                            echo $message;
158                                        }
159                                    }
160                                    ?>
161                            </div>
162                    </div>
163                </div>
164
165                <div id="sessionInfoPanel" class="largeFrame" style="margin-top: 10px; width: 400px; height: 100px;">
166                    <div class="largeTitle">Info</div>
167                    <div id="infoPanelContent" class="content" style="float: left; clear: left;">
168                    </div>
169                </div>
[208]170                </form>
171            </div>
172        </div>
[235]173    </div>
174</div>
175</body>
[208]176</html>
Note: See TracBrowser for help on using the repository browser.