Changeset 238


Ignore:
Timestamp:
01/18/12 16:39:27 (13 years ago)
Author:
fpvanagthoven
Message:

-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.

Location:
Dev/branches/jos-branch
Files:
1 added
11 edited

Legend:

Unmodified
Added
Removed
  • Dev/branches/jos-branch/classes/styles/Logo.php

    r230 r238  
    1414    // hardcoded logo div, image is defined in stylesheet. (#logo background:"";)
    1515    public function __construct() {
     16        if (isset($_SESSION['userUid'])) {
     17            $users = User::get(array("uid" => $_SESSION['userUid']));
     18            $user = $users[0];
     19            $loggedIn = true;
     20            $message = "Welcome, " . $user->name . "!";
     21        } else {
     22            $message = "Please log in.";
     23            $loggedIn = false;
     24        }
    1625        ?>
    1726
     
    2130            </div>
    2231            <div id="logoControls">
    23                 Welcome, Igor! <a href="logout.php">Log out</a>
     32                <?php echo $message; ?>
     33
     34                <?php
     35                if ($loggedIn == true) {
     36                    echo "<a href='logout.php'>Log out</a>";
     37                }
     38                ?>
    2439            </div>
    2540        </div>
  • Dev/branches/jos-branch/classes/widgets/SessionEditorWidget.php

    r230 r238  
    5252                <input type="button" id="editSelected" value="Edit step" class="smallButton" onClick="editStep();" />
    5353                <input type="button" id="deleteSelected" value="Delete step" class="smallButton" onClick="deleteStep();" />
    54                 <input type="submit" id ="clearPipeline" name="clearPipeline" value="Clear pipeline" class="smallButton dis" disabled="true"/>
    55                 <input type="checkbox" id="confirmClear" name="confirmClear" onChange="IsCheckEnabled(this, document.getElementById('clearPipeline'));" />Really clear?
    5654                <input type="button" value="debug_save" onClick="savePipeline(true);" />
    5755            </div>
     
    9189    public function LoadSession() {   // Initialize variables on page load.
    9290                // Redirect if no session is set
    93         if (!isset($_SESSION['currentSession'])) {
     91        if (!isset($_POST['objectUid'])) {
    9492            redirect("selectSession.php");
    9593        }
    96         // Store the current session in internal variable
    97         $results = Session::get(array("uid"=> $_SESSION['currentSession']));
     94       
     95        $results = Session::get(array("uid"=> $_POST['objectUid']));
    9896                //print_r($results);
    9997        if (!empty($results)) {
  • Dev/branches/jos-branch/classes/widgets/SurveyEditorWidget.php

    r235 r238  
    1515
    1616    public function __construct() {
    17        
     17        // Nothing yet
    1818    }
    1919
    2020    public function handlePost() {
    2121        // Get POSTed data and store variables to class instance properties
    22        
     22
    2323        if (isset($_POST['objectUid']) && !empty($_POST['objectUid'])) {
    2424            $surveyResults = Survey::get(array("uid" => $_POST['objectUid']));
    2525            if (!empty($surveyResults)) {
    2626                $this->loadedSurvey = $surveyResults[0];
     27                $this->loadedSurvey->evaluate();
    2728            } else {
    2829                die("No surveys found!");
  • Dev/branches/jos-branch/createObject.php

    r233 r238  
    4343        $uid = $newQuestion->uid;
    4444        break;
     45    case "session":
     46        if (isset($_POST['newSessionName']) && !empty($_POST['newSessionName'])) {
     47            $newSession = new Session(null, $_POST['newSessionName'], $creator, new DateTime(), null, null);
     48            $newSession->save();
     49            $uid = $newSession->uid;
     50        } else {
     51            die("No session name specified!");
     52        }
     53
     54
     55        break;
    4556    default:
    4657        //die ("Variable \$otc: $otc does not match a compatible object type!");
  • Dev/branches/jos-branch/getObject.php

    r237 r238  
    1414foreach ($requestArray as $request) {
    1515    $type = $request->type;
    16     $results = $type::get(array("uid" => $request->uid));
     16
     17    if (isset($request->uid)) {
     18        $results = $type::get(array("uid" => $request->uid));
     19    } else if (isset($request->title)) {
     20        $results = $type::get(array("title" => $request->title));
     21    }
     22
    1723
    1824    if (isset($results) && !empty($results) && count($results) > 0) {
     
    2026        $results[0]->objectType = $type;
    2127        $resultArray[] = $results[0];
    22     }
    23     else {
    24         $resultArray[] = array("uid"=>"Not found!");
     28    } else {
     29        $resultArray[] = false; //Insert a false return so that the calling JS code knows when an object is not found
    2530    }
    2631}
  • Dev/branches/jos-branch/js/questionEditorScripts.js

    r237 r238  
    2424    // Properties   
    2525    this.uid = null;    // The uid of the question contained in this editor
     26    this.saved = false; // Whether or not the question displayed in the editor has been saved already.
    2627    var me = this;      // Retarded self-reference because: Javascript
    2728    this.element = null;    // The parent div element containing the questionEditor
     
    7374    this.init = function() {
    7475        // Outer div
     76        this.saved = false;
    7577        me.element = ce("div");
    7678        me.element.className = "smallFrame questionEditor";
     
    248250    }
    249251    this.discard = function() {
    250         me.element.parentNode.removeChild(me.element);
    251         me.init();
    252         sequencer.state.loaded = true;
    253         sequencer.state.editing = false;
     252            debugger;
     253            me.element.parentNode.removeChild(me.element);
     254            me.init();
     255            sequencer.state.loaded = true;
     256            sequencer.state.editing = false;
     257            sequencer.survey.questions.upToDate[sequencer.survey.questions.uids.indexOf(me.uid)] = false;
     258            updateSequencer();
     259       
    254260    }
    255261    this.reset = function() {
  • Dev/branches/jos-branch/js/sequencerScripts.js

    r237 r238  
    759759    //console.log(requestString);
    760760    newAjaxRequest(requestString, "savesession.php", function(result){
    761         //console.log(result.responseText);
     761        console.log(result.responseText);
    762762        }, true);
    763763}
  • Dev/branches/jos-branch/mainmenu.php

    r235 r238  
    1010        <?php new StyleSheet("visualeditors"); ?>
    1111        <script type="text/javascript" src="js/generalScripts.js"></script>
     12        <script type="text/javascript">
     13            function browseSessions() {
     14                // This one doesn't use the objectSelector yet. Just redirect to selectSession.php
     15                window.location = 'selectSession.php';
     16            }
     17           
     18            function browseSurveys() {
     19                var form = ce("form");
     20                form.method = "POST";
     21                form.action = "selectObject.php";
     22                var input1 = ce("input");
     23                input1.name = "objectType";
     24                input1.value = "Survey";
     25                var input2 = ce("input");
     26                input2.name = "function";
     27                input2.value = "redirEditor";
     28                form.appendChild(input1);
     29                form.appendChild(input2);
     30                form.submit();
     31            }
     32           
     33            function browseQuestions() {
     34                var form = ce("form");
     35                form.method = "POST";
     36                form.action = "selectObject.php";
     37                var input1 = ce("input");
     38                input1.name = "objectType";
     39                input1.value = "Question";
     40                var input2 = ce("input");
     41                input2.name = "function";
     42                input2.value = "redirEditor";
     43                form.appendChild(input1);
     44                form.appendChild(input2);
     45                form.submit();
     46            }
     47           
     48            function browseApplications() {
     49                var form = ce("form");
     50                form.method = "POST";
     51                form.action = "selectObject.php";
     52                var input1 = ce("input");
     53                input1.name = "objectType";
     54                input1.value = "Application";
     55                var input2 = ce("input");
     56                input2.name = "function";
     57                input2.value = "redirEditor";
     58                form.appendChild(input1);
     59                form.appendChild(input2);
     60                form.submit();
     61            }
     62        </script>
    1263    </head>
    1364    <body>
     
    2273                    <div class="innerLargeFrame">
    2374                        <p>Use the below buttons to access, edit and create new sessions and content.</p><br />
    24                         <input type="button" class="bigButton vertical" value="Browse Sessions" id="btnEditSessions" onClick="window.location='selectSession.php'" /><br />
    25                         <input type="button" class="bigButton vertical" value="Browse Surveys" id="btnEditSessions" onClick="window.location='selectSurvey.php'" /><br />
    26                         <input type="button" class="bigButton vertical" value="Browse Questions" id="btnEditSessions" onClick="window.location='selectQuestion.php'" /><br />
    27                         <input type="button" class="bigButton vertical" value="Browse Applications" id="btnEditSessions" onClick="window.location='selectApplication.php'" /><br />
     75                        <input type="button" class="bigButton vertical" value="Browse Sessions" id="btnBrowseSessions" onClick="browseSessions()" /><br />
     76                        <input type="button" class="bigButton vertical" value="Browse Surveys" id="btnBrowseSurveys" onClick="browseSurveys()" /><br />
     77                        <input type="button" class="bigButton vertical" value="Browse Questions" id="btnBrowseQuestions" onClick="browseQuestions()" /><br />
     78                        <input type="button" class="bigButton vertical" value="Browse Applications" id="btnBrowseApplications" onClick="browseApplications()" /><br />
    2879
    2980                    </div>
  • Dev/branches/jos-branch/saveSurvey.php

    r208 r238  
    1818// Query the survey object from the database.
    1919
    20 $dbi = new DatabaseInterface();
    21 $survey_results = $dbi->get("Survey", array("uid" => $args->uid));
     20$survey_results = Survey::get(array("uid" => $args->uid));
    2221if (!empty($survey_results)) {
    2322    $survey = $survey_results[0];
     
    2827$question->questions = array();
    2928foreach ($args->questions->uids as $questionUid) {
    30     $question_results = $dbi->get("Question", array("code"=>$questionUid));
     29    $question_results = Question::get(array("uid"=>$questionUid));
    3130    $question = $question_results[0];
    3231    $survey->questions[] = $question;
     
    4039  }
    4140 */
    42 var_dump($survey);
     41//var_dump($survey);
    4342// Do I need to check if this is done before proceeding?
    44 $dbi->set($survey);
     43$survey->save();
    4544?>
  • Dev/branches/jos-branch/savesession.php

    r208 r238  
    1111    if (!empty($_POST['uids']) && !empty($_POST['types']) && !empty($_POST['sessionUid'])) {
    1212        // user has passed a pipeline/type string from javascript in order to save the session.
    13         $pl = explode(",", $_POST['uids']);
    14         $t = explode(",", $_POST['types']);
     13        $uids = explode(",", $_POST['uids']);
     14        $types = explode(",", $_POST['types']);
    1515
    1616        $sessionUid = $_POST['sessionUid'];
    17         //var_dump($t);
    18         $dbi = new DatabaseInterface();
    19         $session_results = $dbi->get("Session", array("uid" => $sessionUid));
     17        $session_results = Session::get(array("uid" => $sessionUid));
    2018        if (count($session_results) > 0) {
    2119            $session = $session_results[0];
     
    2422            die();
    2523        }
    26         if (count($pl) == count($t)) {
    27             $count = count($pl);
     24        if (count($uids) == count($types)) {
     25            $count = count($uids);
    2826        } else {
    2927            echo "!!!!!!!!!!!!!!!!!NON MATCHING ARGUMENTS PASSED!!!!!!!!!!!!!!!";
    3028            die();
    3129        }
    32        
     30
    3331        $session->pipeline = array();
    3432        for ($i = 0; $i < $count; $i++) {
    35             $results = $dbi->get($t[$i], array("uid" => $pl[$i]));
     33            $type = $types[$i];
     34            $results = $type::get(array("uid" => $uids[$i]));
    3635            if (count($results) > 0) {
    3736                $result = $results[0];
     
    4039        }
    4140
    42         $dbi->set($session);
     41        $session->save();
    4342        //var_dump($session);
    4443    }
  • Dev/branches/jos-branch/selectSession.php

    r235 r238  
    2323                $creator = $creators[0];
    2424                $session = new Session(null, $_POST['newSessionName'], $creator, new DateTime(), null, null);
    25                                 $session->save();
     25                $session->save();
    2626            } else {
    2727                $errorMessage[] = "A session with the name " . $_POST['newSessionName'] . " already exists!";
     
    4040
    4141if (isset($_POST['editSession'])) {
    42         var_dump($_POST);
     42    var_dump($_POST);
    4343    if (isset($_POST['sessionUid'])) {
    4444        $session_results = Session::get((array("uid" => $_POST['sessionUid'])));
    45                 var_dump($session_results);
     45        var_dump($session_results);
    4646        if (count($session_results) == 1 && $session_results[0] != null) {
    4747            // DEZE SESSION MOET UITEINDELIJK EEN POST WORDEN, WANNEER DEZE HELE PAGINA IS OVERGEZET IN JAVASCRIPT!
     
    6666        <script type="text/javascript" src="js/sequencerScripts.js"></script>
    6767        <script type="text/javascript" src="js/generalScripts.js"></script>
     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>
    68120    </head>
    69121    <body>
     
    79131                        <form action="selectSession.php" method="POST">
    80132                            <div style="float: left; clear: left;">
    81                                 <select name="sessionUid" style="float: left;" onChange="ajaxInfoRequest(this.value, document.getElementById('infoPanelContent'), 'Session');">
     133                                <select id ="objectUid" name="objectUid" style="float: left;" onChange="ajaxInfoRequest(this.value, document.getElementById('infoPanelContent'), 'Session');">
    82134                                    <option value="" disabled="true" selected>Please select a session</option>
    83135                                    <?php
     
    93145                                </select>
    94146                                <input type="hidden" name="updateNeeded" value="true" />
    95                                 <input type="text" name="newSessionName" value="Name..." style="float: left; clear: left;" /><br />
     147                                <input type="text" id="newSessionName" name="newSessionName" value="Name..." style="float: left; clear: left;" /><br />
    96148                            </div>
    97149                            <div style="float: left; clear: none;">
    98                                 <input type="submit" name="createSession" value="Create new session" class="smallButton vertical" style="float: left;" />
    99                                 <input type="submit" name="editSession" value="Edit session" class="smallButton vertical" style="float: left;" />
     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();" />
    100152                                <input type="submit" name="deleteSession" value="Delete session" class="smallButton vertical" style="float: left;" />
    101153                            </div>
Note: See TracChangeset for help on using the changeset viewer.