Exemple #1
0
function print_result_detail_table($answers, $data)
{
    $theses_count = sizeof($data['theses']);
    for ($i = 0; $i < sizeof($data['lists']); $i = $i + 1) {
        $classname = string_to_css_classname($data['lists'][$i]['name']);
        echo "<th class='hidden-xs hidden-sm list-{$classname}'>{$data['lists'][$i]['name_x']} (" . calculate_points($data['answers'][$i], $answers) . ")</th>";
    }
    echo "</tr>\n";
    for ($i = 0; $i < $theses_count; $i = $i + 1) {
        char_to_multiply($answers[$i]) == 2 ? $star = '<span class="glyphicon glyphicon-star" title="Doppelte Gewichtung"></span>' : ($star = '');
        char_to_multiply($answers[$i]) == 2 ? $tdcl = ' class="warning"' : ($tdcl = '');
        $labelclass = code_to_labelclass(char_to_value($answers[$i]));
        echo "<tr{$tdcl}>\n";
        echo '<td><p class="text-center">' . $star . '</p></td>';
        echo '<td><a id="thesis' . $i . '" class="btn ' . code_to_btnclass(char_to_value($answers[$i])) . ' btn-block" onclick="toggleNext(this)">' . $data['theses'][$i]['s'] . '</a></td>';
        for ($listid = 0; $listid < sizeof($data['lists']); $listid = $listid + 1) {
            echo get_list_result_td($data, $listid, $i);
        }
        echo "</tr>\n";
        // Statements
        echo "<tr class='multheseslong'><td class='mtl'></td><td class='mtl' colspan='" . (sizeof($data['lists']) + 1) . "'><!--<span class='label {$labelclass}'>Thesis " . ($i + 1) . ": " . $data['theses'][$i]['s'] . "</span><br>--> <p class='well'>" . $data['theses'][$i]['l'] . "</p>";
        for ($listid = 0; $listid < sizeof($data['lists']); $listid = $listid + 1) {
            echo get_list_statement($data, $listid, $i);
        }
        echo "</td></tr>\n";
    }
}
Exemple #2
0
function calculate_points($list, $answers)
{
    $max = max(sizeof($answers), sizeof($list));
    $pointvector = array();
    /*  my = skip:                skip / skip
     *  my != skip && list = skip: +0 / +0
     * |my - list| = 0:            +2 / +4
     * |my - list| = 1:            +1 / +2
     * |my - list| = 2:            +0 / +0
     */
    for ($i = 0; $i < $max; $i = $i + 1) {
        $pointvector[$i] = 0;
        $value = char_to_value($list[$i]['selection']);
        if (char_to_value($answers[$i]) === 'skip') {
            continue;
        } elseif (!('skip' === char_to_value($answers[$i])) and $value === 'skip') {
            $pointvector[$i] = 0;
        } else {
            $pointvector[$i] = 2 - abs(char_to_value($answers[$i]) - $value);
        }
    }
    $multiply = array();
    for ($i = 0; $i < sizeof($answers); $i++) {
        $multiply[$i] = char_to_multiply($answers[$i]);
    }
    $pointvector = vec_mul($pointvector, $multiply);
    return vectorsum($pointvector);
}