Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
                        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;