Changeset 164
- Timestamp:
- 11/22/11 16:42:37 (13 years ago)
- Location:
- Dev/trunk
- Files:
-
- 1 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
Dev/trunk/classes/Logo.php
r151 r164 17 17 echo '<div id="logo"><a href="index.php">Research Tool</a>'; 18 18 if (isset($_SESSION['username'])) { 19 echo '<a href=" logout.php" style="font-size: 12pt;">Log out</a>';19 echo '<a href="index.php" onClick="savePipeline();" style="font-size: 12pt;">Log out</a>'; 20 20 } 21 21 echo '</div>'; -
Dev/trunk/classes/SessionConnector.php
r159 r164 115 115 $datetime = new DateTime(); 116 116 $datetime->setTimestamp(intval($result['?datetime']->label)); 117 $sessions[] = new Session($result['?uid']->label, $result['?title']->label, $creator [0], $datetime, $pipeline, $answersets);117 $sessions[] = new Session($result['?uid']->label, $result['?title']->label, $creator, $datetime, $pipeline, $answersets); 118 118 } 119 119 } -
Dev/trunk/classes/pipelineSequencer.php
r163 r164 1 1 <?php 2 2 3 /* 3 4 * To change this template, choose Tools | Templates … … 23 24 public function init() { 24 25 $stringPipeline = ""; 26 $stringPipelineType = ""; 27 $stringPipelineUpdated = ""; 28 $numberOfSteps = 0; 29 25 30 if (is_array($this->loadedSession->pipeline)) { 26 31 foreach ($this->loadedSession->pipeline as $object) { 27 32 $stringPipeline .= "$object->uid,"; 33 $stringPipelineType .= get_class($object).","; 34 $stringPipelineUpdated .= "1,"; 35 $numberOfSteps++; 36 28 37 } 29 38 $stringPipeline = rtrim($stringPipeline, ","); 39 $stringPipelineType = rtrim($stringPipelineType, ","); 40 $stringPipelineUpdated = rtrim($stringPipelineUpdated, ","); 41 30 42 } else { 31 43 $stringPipeline = $this->loadedSession->pipeline; 44 $stringPipelineType = $_POST['pipelineTypes']; 45 $stringPipelineUpdated = $_POST['pipelineUpdatedField']; 32 46 } 33 47 ?> … … 45 59 <input type="submit" id ="clearPipeline" name="clearPipeline" value="Clear pipeline" class="surveyButton dis" disabled="true"/> 46 60 <input type="checkbox" id="confirmClear" name="confirmClear" onChange="IsCheckEnabled(this, document.getElementById('clearPipeline'));" />Really clear? 61 <input type="button" id="t_saveSession" name="t_saveSession" onClick="savePipeline();" value="t_Save_session!" /> 62 <input type="button" id="t_setOOD" name="t_setOOD" onClick="t_setOutOfDate();" value="t_Set_OOD" /> 63 <input type="button" id="t_updateSeq" name="t_updateSeq" onClick="updateSequencer();" value="t_Update_Seq" /> 47 64 </div> 48 65 <div id="hiddenInputs"> 49 66 <input type="hidden" name="selectedStep" id="selectedStepField" value="" /> 50 <!-- <input type="hidden" name="pipelineString" id="pipelineStringField" value="123,456" /> -->51 67 <input type="hidden" name="pipelineString" id="pipelineStringField" value="<?php echo $stringPipeline; ?>" /> 68 <input type="hidden" name="pipelineTypes" id="pipelineTypeField" value="<?php echo $stringPipelineType; ?>" /> 69 <input type="hidden" name="pipelineUpDated" id="pipelineUpdatedField" value="<?php echo $stringPipelineUpdated; ?>" /> 70 <input type="hidden" name="numSteps" id="numSteps" value="<?php echo $numberOfSteps; ?>" /> 52 71 </div> 53 72 </fieldset> … … 92 111 if (count($sessionResults) > 0) { 93 112 $_SESSION['localSessionCopy'] = $sessionResults[0]; 113 unset($_SESSION['updateNeeded']); 94 114 } else { 95 115 die("No session with that UID found!"); 96 116 } 97 117 } 98 var_dump($_SESSION['localSessionCopy']);118 //var_dump($_SESSION['localSessionCopy']); 99 119 100 120 if (isset($_SESSION['localSessionCopy']) && !empty($_SESSION['localSessionCopy'])) { … … 115 135 if (isset($_POST['moveSelectedLeft'])) { 116 136 if (isset($_POST['selectedStep']) && !empty($_POST['selectedStep'])) { 117 MoveStep($_POST['selectedStep'], -1);137 $this->MoveStep($_POST['selectedStep'], -1); 118 138 } 119 139 } … … 121 141 if (isset($_POST['moveSelectedRight'])) { 122 142 if (isset($_POST['selectedStep']) && !empty($_POST['selectedStep'])) { 123 MoveStep($_POST['selectedStep'], 1);143 $this->MoveStep($_POST['selectedStep'], 1); 124 144 } 125 145 } … … 148 168 149 169 for ($i = 0; $i < count($newSession->pipeline); $i++) { 150 if ($newSession->pipeline[ i]->uid == $uid) {151 $temp = $newSession->pipeline[ i];152 $newSession->pipeline[ i] = $newSession->pipeline[i + $direction];153 $newSession->pipeline[ i + $direction] = $newSession->pipeline[i];170 if ($newSession->pipeline[$i]->uid == $uid) { 171 $temp = $newSession->pipeline[$i]; 172 $newSession->pipeline[$i] = $newSession->pipeline[$i + $direction]; 173 $newSession->pipeline[$i + $direction] = $temp; 154 174 break; 155 175 } … … 157 177 158 178 $this->loadedSession = $newSession; 179 redirect("pipelineEditor.php"); 159 180 } 160 181 161 public function StoreToDb() {162 if (isset($_SESSION['localSessionCopy']) && !empty($_SESSION['localSessionCopy'])) {163 $this->dbi->set($_SESSION['localSessionCopy']);164 unset($_SESSION['updateNeeded']);165 }166 }167 182 168 183 } -
Dev/trunk/js/sequencerScripts.js
r154 r164 56 56 if (hasClass(nodes[i], "displayStep")) { //check if current childNode is a displayStep, not divider or text. 57 57 if (nodes[i].id == uid) { 58 addClass(nodes[i], "selected"); 58 if (hasClass(nodes[i], "selected")) { 59 removeClass(nodes[i], "selected"); 60 } 61 else { 62 addClass(nodes[i], "selected"); 63 } 59 64 } 60 65 else { … … 88 93 */ 89 94 90 function newAjaxRequest(c, u, cb ) {95 function newAjaxRequest(c, u, cb, async) { 91 96 92 97 var xml; … … 101 106 // subscribe the callback function to a response event 102 107 xml.onreadystatechange = function() { 108 xml.responseText = "Processing..."; 103 109 if (xml.readyState == 4 && xml.status == 200) { 104 //alert("Received!");105 110 cb(xml); 106 111 } 107 112 }; 108 113 // initialize XMLRequest 109 xml.open("POST", u, true);114 xml.open("POST", u, async); 110 115 xml.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 111 116 var contentString = ""; … … 138 143 newAjaxRequest(c, u, function(result) { 139 144 document.getElementById("seqContent").innerHTML = result.responseText; 140 } );145 }, true); 141 146 } 142 147 … … 147 152 newAjaxRequest(c, u, function(result) { 148 153 el.innerHTML = result.responseText; 149 }); 150 } 151 152 153 154 155 156 154 }, true); 155 } 157 156 158 157 function drawSteps() { … … 163 162 } 164 163 165 function updatePipelineHidden (pipelineString) { 166 167 } 164 function updateSequencer() { 165 var plString = document.getElementById("pipelineStringField").value; 166 var plTypeString = document.getElementById("pipelineTypeField").value; 167 var plUpdatedString = document.getElementById("pipelineUpdatedField").value; 168 169 var pl = plString.split(","); 170 var plType = plTypeString.split(","); 171 var plUpdated = plUpdatedString.split(","); 172 //console.log(plUpdated); 173 174 175 for (var i = 0; i < pl.length; i++) { // loop through pipeline contents 176 if (plUpdated[i] == "0") { // if the element is not up to date 177 // first remove the step representation from the sequencer 178 var seqContent = document.getElementById("seqContent"); 179 var element = document.getElementById(pl[i]); 180 var nextElement = element.nextSibling; 181 182 // now request a new step representation and insert it after previousElement 183 var holderDiv = document.createElement("div"); 184 var requestString = "uids="+pl[i]; 185 var resultText; 186 newAjaxRequest(requestString, "returnStep.php", function(result) { 187 holderDiv.innerHTML = result.responseText; 188 }, false); 189 190 //debugger; 191 while (holderDiv.childNodes.length == 1) { 192 // wait for response 193 } 194 var newDiv = holderDiv.childNodes[1]; 195 seqContent.replaceChild(newDiv, element); 196 plUpdated[i] = "1"; 197 // ALTERNATIVE METHOD TO REPLACECHILD!!! 198 //seqContent.removeChild(element); 199 //seqContent.insertBefore(newDiv, nextElement); 200 201 202 } 203 else { 204 205 } 206 } 207 208 // afterwards, convert the arrays back to strings 209 var newUpdatedString = ""; 210 211 for (var i = 0; i < plUpdated.length; i++) { 212 newUpdatedString += plUpdated[i]+","; 213 } 214 215 if (newUpdatedString.substring(newUpdatedString.length - 1) == ",") { // remove comma at the end of string! 216 newUpdatedString = newUpdatedString.substring(0, newUpdatedString.length-1); 217 218 } 219 document.getElementById("pipelineUpdatedField").value = newUpdatedString; 220 221 } 222 223 function savePipeline() { 224 var answer = confirm("Save changes to pipeline?"); 225 if (answer) { 226 newAjaxRequest("", "savesession.php", function(){}, false); 227 alert("Saved!"); 228 } 229 } 230 231 function t_setOutOfDate() { 232 // if a step is currently selected 233 var uid = document.getElementById("selectedStepField").value; 234 if (uid == "") { 235 alert("No step selected!"); 236 return; 237 } 238 239 // convert to arrays for looping 240 var plString = document.getElementById("pipelineStringField").value; 241 var plTypeString = document.getElementById("pipelineTypeField").value; 242 var plUpdatedString = document.getElementById("pipelineUpdatedField").value; 243 244 var pl = plString.split(","); 245 var plType = plTypeString.split(","); 246 var plUpdated = plUpdatedString.split(","); 247 248 249 250 // set the targeted element's tag for "Needs updating" 251 for (var i = 0; i < pl.length; i++) { 252 if (pl[i] == uid) { 253 plUpdated[i] = 0; 254 } 255 } 256 257 // then rewrite the content strings and set them to the appropriate fields 258 259 var newUpdatedString = ""; 260 for (var i = 0; i < pl.length; i++) { 261 newUpdatedString += plUpdated[i]+","; 262 } 263 alert(newUpdatedString+": OLD"); 264 if (newUpdatedString.substring(newUpdatedString.length-1) == ",") { 265 newUpdatedString = newUpdatedString.substring(0, newUpdatedString.length-1); 266 } 267 alert(newUpdatedString+": NEW!"); 268 269 document.getElementById("pipelineUpdatedField").value = newUpdatedString; 270 //alert("OOD set"); 271 }
Note: See TracChangeset
for help on using the changeset viewer.