source: Dev/trunk/classes/pipelineSequencer_1.php @ 188

Last change on this file since 188 was 177, checked in by fpvanagthoven, 13 years ago
  • Boel dingen gesloopt, maar wel allemaal terug te draaien.
  • Nieuwe stylesheet begonnen (visualeditors.css), die de meuk uit de andere stylesheets een beetje uitdunt. Bedoeling is dat deze stylesheet generiek genoeg is om voor alle verdere en huidige pagina's te werken.
  • Layout van surveyEditor gemaakt, is nog lang niet klaar, maar het format van de editor en de questions daarin is duidelijk. Vrijdag bevestigen tijdens geprek Julia of dit inderdaad een handig format is.
  • resetstyle.css toegevoegd aan de StyleSheet?.php class, deze zorgt voor meer browser cross-compatibility door de styling van elementen 'op nul te zetten'.
  • Toolbox.php en pipelineSequencer_1.php zijn nu aangepast aan de nieuwe stylesheet. Deze worden later weer hernoemd naar de goede naam.
File size: 8.5 KB
Line 
1<?php
2/*
3 * To change this template, choose Tools | Templates
4 * and open the template in the editor.
5 */
6
7/**
8 * A visual interface object for editing and viewing a session's pipeline.
9 *
10 * @author Tschipper
11 */
12class PipelineSequencer_1 {
13
14    // properties
15    private $loadedSession;
16    private $selectedStep;
17    private $dbi;
18
19    public function __construct() {
20        $this->dbi = new DatabaseInterface();
21    }
22
23    public function init() {
24        $stringPipeline = "";
25        $stringPipelineType = "";
26        $stringPipelineUpdated = "";
27        $numberOfSteps = 0;
28
29        if (is_array($this->loadedSession->pipeline)) {
30            foreach ($this->loadedSession->pipeline as $object) {
31                $stringPipeline .= "$object->uid,";
32                $stringPipelineType .= get_class($object) . ",";
33                $stringPipelineUpdated .= "0,";
34                $numberOfSteps++;
35            }
36        } else {
37            $stringPipeline = $this->loadedSession->pipeline;
38            $stringPipelineType = $_POST['pipelineTypes'];
39            $stringPipelineUpdated = $_POST['pipelineUpdatedField'];
40        }
41        ?>
42        <br />
43
44        <div id="sequencer" class="largeFrame">
45            <div class="largeTitle">Name <?php echo $this->loadedSession->title; ?></div>
46           
47            <div id="seqContent" class="innerLargeFrame">
48                <div id="seqContentWrapper"></div>
49            </div>
50
51            <div class="controls">
52                <input type="button" id="moveSelectedL" value="< Move" class="smallButton"  onClick="moveStep(-1);" />
53                <input type="button" id="moveSelectedR" value="Move >" class="smallButton"  onClick="moveStep(1);" />
54                <input type="button" id="editSelected" value="Edit step" class="smallButton" onClick="editStep();" />
55                <input type="button" id="deleteSelected" value="Delete step" class="smallButton" onClick="deleteStep();" />
56                <input type="submit" id ="clearPipeline" name="clearPipeline" value="Clear pipeline" class="smallButton dis" disabled="true"/>
57                <input type="checkbox" id="confirmClear" name="confirmClear" onChange="IsCheckEnabled(this, document.getElementById('clearPipeline'));" />Really clear?
58                <input type="button" value="debug_save" onClick="savePipeline(true);" />
59            </div>
60           
61            <div id="hiddenInputs">
62                <input type="hidden" name="selectedStep" id="selectedStepField" value="" />
63                <input type="hidden" name="pipelineString" id="pipelineStringField" value="<?php echo $stringPipeline; ?>" />
64                <input type="hidden" name="pipelineTypes" id="pipelineTypeField" value="<?php echo $stringPipelineType; ?>" />
65                <input type="hidden" name="pipelineUpDated" id="pipelineUpdatedField" value="<?php echo $stringPipelineUpdated; ?>" />
66                <input type="hidden" name="numSteps" id="numSteps" value="<?php echo $numberOfSteps; ?>" />
67                <input type="hidden" name="session" id="sessionField" value="<?php echo $this->loadedSession->uid; ?>" />
68            </div>
69        </div>
70
71        <!--
72        <form name="sequencerForm" action="pipelineEditor.php" method="post">
73            <fieldset id="sequencer">
74                <div class="fieldsetTitle">Name: <?php echo $this->loadedSession->title; ?> </div>
75
76                <div id="seqContent">
77                    <div id="seqContentWrapper"></div>
78                </div>
79
80                <div id="controls">
81                    <input type="button" id="moveSelectedL" value="< Move" class="surveyButton"  onClick="moveStep(-1);" />
82                    <input type="button" id="moveSelectedR" value="Move >" class="surveyButton"  onClick="moveStep(1);" />
83                    <input type="button" id="editSelected" value="Edit step" class="surveyButton" onClick="editStep();" />
84                    <input type="button" id="deleteSelected" value="Delete step" class="surveyButton" onClick="deleteStep();" />
85                    <input type="submit" id ="clearPipeline" name="clearPipeline" value="Clear pipeline" class="surveyButton dis" disabled="true"/>
86                    <input type="checkbox" id="confirmClear" name="confirmClear" onChange="IsCheckEnabled(this, document.getElementById('clearPipeline'));" />Really clear?
87                    <input type="button" value="debug_save" onClick="savePipeline(true);" />
88                </div>
89                <div id="hiddenInputs">
90                    <input type="hidden" name="selectedStep" id="selectedStepField" value="" />
91                    <input type="hidden" name="pipelineString" id="pipelineStringField" value="<?php echo $stringPipeline; ?>" />
92                    <input type="hidden" name="pipelineTypes" id="pipelineTypeField" value="<?php echo $stringPipelineType; ?>" />
93                    <input type="hidden" name="pipelineUpDated" id="pipelineUpdatedField" value="<?php echo $stringPipelineUpdated; ?>" />
94                    <input type="hidden" name="numSteps" id="numSteps" value="<?php echo $numberOfSteps; ?>" />
95                    <input type="hidden" name="session" id="sessionField" value="<?php echo $this->loadedSession->uid; ?>" />
96                </div>
97            </fieldset>
98        </form>
99        -->
100        <?php
101    }
102
103    public function Javascript() {
104        ?>
105        <script type="text/javascript" src="js/sequencerScripts.js"></script>
106        <script type="text/javascript" src="js/jquery.js"></script>
107        <script type="text/javascript">
108            $(document).ready(function() {
109                updateSequencer(true);      // true means it is the first refresh of the page.
110            });
111        </script>
112        <?php
113    }
114
115    public function LoadSession($currentSession) {   // Initialize variables on page load.
116        if (!isset($currentSession)) {
117            redirect("selectSession.php");
118        }
119        if (isset($_SESSION['updateNeeded'])) {    // user has performed an operation that flags session to be reloaded from DB, or is first load of page for that session
120            $sessionResults = $this->dbi->get("Session", array("uid" => $currentSession));
121
122            if (count($sessionResults) > 0) {
123                $_SESSION['localSessionCopy'] = $sessionResults[0];
124                unset($_SESSION['updateNeeded']);
125            } else {
126                die("No session with that UID found!");
127            }
128        }
129
130        if (isset($_SESSION['localSessionCopy']) && !empty($_SESSION['localSessionCopy'])) {
131
132            $this->loadedSession = $_SESSION['localSessionCopy'];
133            unset($_SESSION['updateNeeded']);
134        }
135    }
136
137    public function HandlePostData() {
138        if (isset($_POST['editSelected'])) {
139            if (isset($_POST['selectedStep']) && !empty($_POST['selectedStep'])) {
140                redirect("editredirect.php");
141            }
142        }
143
144        if (isset($_POST['moveSelectedLeft'])) {
145            if (isset($_POST['selectedStep']) && !empty($_POST['selectedStep'])) {
146                $this->MoveStep($_POST['selectedStep'], -1);
147            }
148        }
149
150        if (isset($_POST['moveSelectedRight'])) {
151            if (isset($_POST['selectedStep']) && !empty($_POST['selectedStep'])) {
152                $this->MoveStep($_POST['selectedStep'], 1);
153            }
154        }
155
156        if (isset($_POST['objectToCreate']) && !empty($_POST['objectToCreate'])) {
157            switch (strtolower($_POST['objectToCreate'])) {
158                case "survey":
159                    redirect("createsurvey.php");
160                    break;
161                case "application":
162                    redirect("createapplication.php");
163                    break;
164                case "dashboard":
165                    redirect("createdashboard.php");
166                    break;
167                default:
168                    // Er is iets fout gegaan, want er is geen valid type meegegeven!
169                    break;
170            }
171        }
172    }
173
174    // Dit is een pure php versie. Deze slaat nog niet op in de Database, en reageert nog niet op
175    public function MoveStep($uid, $direction) {
176        $newSession = $this->loadedSession;
177
178        for ($i = 0; $i < count($newSession->pipeline); $i++) {
179            if ($newSession->pipeline[$i]->uid == $uid) {
180                $temp = $newSession->pipeline[$i];
181                $newSession->pipeline[$i] = $newSession->pipeline[$i + $direction];
182                $newSession->pipeline[$i + $direction] = $temp;
183                break;
184            }
185        }
186
187        $this->loadedSession = $newSession;
188        redirect("pipelineEditor.php");
189    }
190
191}
192?>
Note: See TracBrowser for help on using the repository browser.