function recordTrial($extraData = array(), $exitIfDone = true, $advancePosition = true) { global $_CONFIG, $_PATH; #### setting up aliases (for later use) $currentPos =& $_SESSION['Position']; $currentTrial =& $_SESSION['Trials'][$currentPos]; #### Calculating time difference from current to last trial $oldTime = $_SESSION['Timestamp']; $_SESSION['Timestamp'] = microtime(true); $timeDif = $_SESSION['Timestamp'] - $oldTime; #### Writing to data file $data = array('Username' => $_SESSION['Username'], 'ID' => $_SESSION['ID'], 'ExperimentName' => $_CONFIG->experiment_name, 'Session' => $_SESSION['Session'], 'Trial' => $_SESSION['Position'], 'Date' => date("c"), 'TimeDif' => $timeDif, 'Condition Number' => $_SESSION['Condition']['Number'], 'Stimuli File' => $_SESSION['Condition']['Stimuli'], 'Order File' => $_SESSION['Condition']['Procedure'], 'Condition Description' => $_SESSION['Condition']['Condition Description'], 'Condition Notes' => $_SESSION['Condition']['Condition Notes']); foreach ($currentTrial as $category => $array) { $data += AddPrefixToArray($category . '*', $array); } if (!is_array($extraData)) { $extraData = array($extraData); } foreach ($extraData as $header => $datum) { $data[$header] = $datum; } $writtenArray = arrayToLine($data, $_PATH->get('Experiment Output')); // write data line to the file ########################################### // progresses the trial counter if ($advancePosition) { $currentPos++; $_SESSION['PostNumber'] = 0; } // are we done with the experiment? if so, send to finalQuestions.php if ($exitIfDone) { $item = $_SESSION['Trials'][$currentPos]['Procedure']['Item']; if ($item == 'ExperimentFinished') { $_SESSION['finishedTrials'] = true; // stops people from skipping to the end header('Location: ' . $_PATH->get('Final Questions Page')); exit; } } return $writtenArray; }
foreach ($fileFilters as $column => $allowed) { if (!isset($allowed[$first[$column]])) { continue 2; } } $d = getFirstLine("{$path}/{$fileName}", $testHeader, true); $file = fopen("{$path}/{$fileName}", "r"); $keys = fgetcsv($file, 0, $d); while (($line = fgetcsv($file, 0, $d)) !== false) { $row = array_combine_safely($keys, $line); foreach ($rowFilters as $column => $allowed) { if (!isset($allowed[$row[$column]])) { continue; } } arrayToEcho(SortArrayLikeArray($output + AddPrefixToArray($expPrefix, $row), $allColumns), $ext); } fclose($file); } } } } } } if ($ext === 'browser') { ?> </tbody> </table> <script> var staticH = $("thead tr"); var columns = staticH.children().length;