Esempio n. 1
0
function show_assignments()
{
    global $m, $uid, $group_id, $langSubmit, $langDays, $langNoAssign, $tool_content, $langWorks, $course_id, $course_code, $themeimg;
    $res = Database::get()->queryArray("SELECT *, (TO_DAYS(deadline) - TO_DAYS(NOW())) AS days\n\t\t FROM assignment WHERE course_id = ?d", $course_id);
    if (count($res) == 0) {
        $tool_content .= $langNoAssign;
        return;
    }
    $tool_content .= "<form action='{$_SERVER['SCRIPT_NAME']}?course={$course_code}' method='post'>\n                <input type='hidden' name='file' value='" . q($_GET['submit']) . "'>\n                <input type='hidden' name='group_id' value='{$group_id}'>\n                <table class='tbl' width='99%'>\n                <tr>\n                <th class='left' width='170'>&nbsp;</th>\n                <td>&nbsp;</td>\n                </tr>\n                <tr>\n                <th class='left'>{$langWorks} ({$m['select']}):</th>\n                <td>\n                <table width='99%' align='left'>\n                <tr>\n\t\t<th class='left' colspan='2'>{$m['title']}</th>\n\t\t<th align='center' width='30%'>{$m['deadline']}</th>\n\t\t<th align='center' width='10%'>{$m['submitted']}</th>\n\t\t<th align='center' width='10%'>{$m['select']}</th>\n\t\t</tr>";
    foreach ($res as $row) {
        if (!$row->active) {
            continue;
        }
        $tool_content .= "<tr><td width=\"1%\">\n\t\t\t<img style='padding-top:2px;' src='{$themeimg}/arrow.png' alt=''></td>\n\t\t\t<td><div align='left'><a href='index.php?course={$course_code}&amp;id={$row->id}'>" . q($row->title) . "</a></td>\n\t\t\t<td align='center'>" . nice_format($row->deadline);
        if ($row->days > 1) {
            $tool_content .= " ({$m['in']}&nbsp;{$row->days}&nbsp;{$langDays}";
        } elseif ($row->days < 0) {
            $tool_content .= " ({$m['expired']})";
        } elseif ($row->days == 1) {
            $tool_content .= " ({$m['tomorrow']})";
        } else {
            $tool_content .= " ({$m['today']})";
        }
        $tool_content .= "</div></td>\n      <td align=\"center\">";
        $subm = was_submitted($uid, $group_id, $row->id);
        if ($subm == 'user') {
            $tool_content .= $m['yes'];
        } elseif ($subm == 'group') {
            $tool_content .= $m['by_groupmate'];
        } else {
            $tool_content .= $m['no'];
        }
        $tool_content .= "</td><td align=\"center\">";
        if ($row->days >= 0 and !was_graded($uid, $row->id) and is_group_assignment($row->id)) {
            $tool_content .= "<input type='radio' name='assign' value='{$row->id}'>";
        } else {
            $tool_content .= '-';
        }
        $tool_content .= "</td>\n    </tr>";
    }
    $tool_content .= "\n    </table>";
    $tool_content .= "</td></tr>\n\t<tr>\n\t  <th class='left'>" . $m['comments'] . ":</th>\n\t  <td><textarea name='comments' rows='4' cols='60'>" . "</textarea></td>\n\t</tr>\n\t<tr>\n\t  <th>&nbsp;</th>\n\t  <td><input class='btn btn-primary' type='submit' name='submit' value='{$langSubmit}'></td>\n\t</tr>\n\t</table>\n\t</form>";
}
Esempio n. 2
0
function show_assignments() {
    global $m, $uid, $group_id, $langSubmit, $langDays, $langNoAssign, $tool_content,
    $langWorks, $course_id, $course_code, $themeimg, $langCancel, $urlServer;
    
    $gids = user_group_info($uid, $course_id);
    if (!empty($gids)) {
        $gids_sql_ready = implode(',',array_keys($gids));
    } else {
        $gids_sql_ready = "''";
    }
    
    $res = Database::get()->queryArray("SELECT *, CAST(UNIX_TIMESTAMP(deadline)-UNIX_TIMESTAMP(NOW()) AS SIGNED) AS time
                                 FROM assignment WHERE course_id = ?d AND active = '1' AND
                                 (assign_to_specific = '0' OR assign_to_specific = '1' AND id IN
                                    (SELECT assignment_id FROM assignment_to_specific WHERE user_id = ?d UNION SELECT assignment_id FROM assignment_to_specific WHERE group_id IN ($gids_sql_ready))
                                 )
                                 ORDER BY CASE WHEN CAST(deadline AS UNSIGNED) = '0' THEN 1 ELSE 0 END, deadline", $course_id, $uid);

    if (count($res) == 0) {
        $tool_content .= $langNoAssign;
        return;
    }
    $table_content = '';
    foreach ($res as $row) {
        if (!$row->active) {
            continue;
        }

        $table_content .= "<tr><td width=\"1%\">
			<img style='padding-top:2px;' src='$themeimg/arrow.png' alt=''></td>
			<td><div align='left'><a href='index.php?course=$course_code&amp;id=$row->id'>" . q($row->title) . "</a></td>
			<td align='center'>" . nice_format($row->deadline);
                        if ($row->time > 0) {
                            $table_content .= "<br>(<small>$langDaysLeft" . format_time_duration($row->time) . "</small>)";
                        } else if($row->deadline){
                            $table_content .= "<br> (<small><span class='expired'>$m[expired]</span></small>)";
                        }

        $table_content .= "</div></td>\n      <td align=\"center\">";
        $subm = was_submitted($uid, $group_id, $row->id);
        if ($subm == 'user') {
            $table_content .= $m['yes'];
        } elseif ($subm == 'group') {
            $table_content .= $m['by_groupmate'];
        } else {
            $table_content .= $m['no'];
        }
        $table_content .= "</td><td align=\"center\">";
        if ($row->time >= 0 and !was_graded($uid, $row->id) and is_group_assignment($row->id)) {
            $table_content .= "<input type='radio' name='assign' value='$row->id'>";
        } else {
            $table_content .= '-';
        }
        $table_content .= "</td>\n    </tr>";
    }
    $tool_content .= "
            <div class='form-wrapper'>
                <form class='form-horizontal' action='$_SERVER[SCRIPT_NAME]?course=$course_code' method='post'>
                <fieldset>
                    <input type='hidden' name='file' value='" . q($_GET['submit']) . "'>
                    <input type='hidden' name='group_id' value='$group_id'>
                    <div class='form-group'>
                        <label for='title' class='col-sm-2 control-label'>$langWorks ($m[select]):</label>
                        <div class='col-sm-10'>
                            <table class='table-default'>
                                <tr>
                                    <th class='left' colspan='2'>$m[title]</th>
                                    <th align='center' width='30%'>$m[deadline]</th>
                                    <th align='center' width='10%'>$m[submitted]</th>
                                    <th align='center' width='10%'>$m[select]</th>
                                </tr>
                                $table_content
                            </table>
                        </div>
                    </div>
                    <div class='form-group'>
                        <label for='title' class='col-sm-2 control-label'>$m[comments]:</label>
                        <div class='col-sm-10'>
                            <textarea name='comments' rows='4' cols='60' class='form-control'></textarea>
                        </div>
                    </div>
                    <div class='form-group'>
                        <div class='col-sm-10 col-sm-offset-2'>
                            <input class='btn btn-primary' type='submit' name='submit' value='$langSubmit'>
                            <a class='btn btn-default' href='$urlServer/modules/group/document.php?course=$course_code&group_id=$group_id'>$langCancel</a>
                        </div>
                    </div>
                </fieldset>
            </form>
        </div>";
}
Esempio n. 3
0
function show_student_assignments()
{
    global $tool_content, $m, $uid, $course_id, $course_code, $langDaysLeft, $langDays, $langNoAssign, $urlServer, $course_code, $themeimg, $langAutoJudgeRank;
    $gids = user_group_info($uid, $course_id);
    if (!empty($gids)) {
        $gids_sql_ready = implode(',', array_keys($gids));
    } else {
        $gids_sql_ready = "''";
    }
    $result = Database::get()->queryArray("SELECT *, CAST(UNIX_TIMESTAMP(deadline)-UNIX_TIMESTAMP(NOW()) AS SIGNED) AS time\n                                 FROM assignment WHERE course_id = ?d AND active = 1 AND\n                                 (assign_to_specific = 0 OR assign_to_specific = 1 AND id IN\n                                    (SELECT assignment_id FROM assignment_to_specific WHERE user_id = ?d UNION SELECT assignment_id FROM assignment_to_specific WHERE group_id IN ({$gids_sql_ready}))\n                                 )\n                                 ORDER BY CASE WHEN CAST(deadline AS UNSIGNED) = '0' THEN 1 ELSE 0 END, deadline", $course_id, $uid);
    if (count($result) > 0) {
        $tool_content .= "\n            <div class='row'><div class='col-sm-12'>\n            <div class='table-responsive'><table class='table-default'>\n                                  <tr>\n                                      <th>{$m['title']}</th>\n                                      <th class='text-center'>{$m['deadline']}</th>\n                                      <th class='text-center'>{$m['submitted']}</th>\n                                      <th>{$m['grade']}</th>\n                                      <th>{$langAutoJudgeRank}</th>\n                                  </tr>";
        $k = 0;
        foreach ($result as $row) {
            $title_temp = q($row->title);
            $test = (int) $row->deadline;
            $rankreportlink = "rank_report.php?course={$course_code}&amp;assignment={$row->id}";
            if ((int) $row->deadline) {
                $deadline = nice_format($row->deadline, true);
            } else {
                $deadline = $m['no_deadline'];
            }
            $tool_content .= "\n                                <tr>\n                                    <td><a href='{$_SERVER['SCRIPT_NAME']}?course={$course_code}&amp;id={$row->id}'>{$title_temp}</a></td>\n                                    <td width='150' class='text-center'>" . $deadline;
            if ($row->time > 0) {
                $tool_content .= "<br> (<span>{$langDaysLeft}" . format_time_duration($row->time) . ")</span>";
            } else {
                if ((int) $row->deadline) {
                    $tool_content .= "<br> (<span class='expired'>{$m['expired']}</span>)";
                }
            }
            $tool_content .= "</td><td width='170' align='center'>";
            if ($submission = find_submissions(is_group_assignment($row->id), $uid, $row->id, $gids)) {
                foreach ($submission as $sub) {
                    if (isset($sub->group_id)) {
                        // if is a group assignment
                        $tool_content .= "<div style='padding-bottom: 5px;padding-top:5px;font-size:9px;'>({$m['groupsubmit']} " . "<a href='../group/group_space.php?course={$course_code}&amp;group_id={$sub->group_id}'>" . "{$m['ofgroup']} " . gid_to_name($sub['group_id']) . "</a>)</div>";
                    }
                    $tool_content .= icon('fa-check-square-o', $m['yes']) . "<br>";
                }
            } else {
                $tool_content .= icon('fa-square-o', $m['no']);
            }
            $tool_content .= "</td>\n                                    <td width='30' align='center'>";
            $rankcontent = "";
            foreach ($submission as $sub) {
                $grade = submission_grade($sub->id);
                if (!$grade) {
                    $grade = "<div style='padding-bottom: 5px;padding-top:5px;'> - </div>";
                }
                $tool_content .= "<div style='padding-bottom: 5px;padding-top:5px;'>{$grade}</div>";
                if ($grade) {
                    $rankcontent = "<div style='padding-bottom: 5px;padding-top:10px;'><a href='" . $rankreportlink . "'>" . icon('fa-sort-alpha-asc') . "</a></div>";
                }
            }
            $tool_content .= "</td><td class='option-btn-cell' align='center'>{$rankcontent}</td>\n                            </tr>";
            $k++;
        }
        $tool_content .= '
                                  </table></div></div></div>';
    } else {
        $tool_content .= "<div class='alert alert-warning'>{$langNoAssign}</div>";
    }
}
Esempio n. 4
0
function show_student_assignments() {
    global $tool_content, $m, $uid, $course_id, $course_code,
    $langDaysLeft, $langDays, $langNoAssign, $urlServer,
    $course_code, $themeimg, $langEditChange;

    $gids = user_group_info($uid, $course_id);
    if (!empty($gids)) {
        $gids_sql_ready = implode(',',array_keys($gids));
    } else {
        $gids_sql_ready = "''";
    }

    $result = Database::get()->queryArray("SELECT *, CAST(UNIX_TIMESTAMP(deadline)-UNIX_TIMESTAMP(NOW()) AS SIGNED) AS time
                                 FROM assignment WHERE course_id = ?d AND active = '1' AND
                                 (assign_to_specific = '0' OR assign_to_specific = '1' AND id IN
                                    (SELECT assignment_id FROM assignment_to_specific WHERE user_id = ?d UNION SELECT assignment_id FROM assignment_to_specific WHERE group_id IN ($gids_sql_ready))
                                 )
                                 ORDER BY CASE WHEN CAST(deadline AS UNSIGNED) = '0' THEN 1 ELSE 0 END, deadline", $course_id, $uid);

    if (count($result)>0) {
        $tool_content .= "
            <div class='row'><div class='col-sm-12'>
            <div class='table-responsive'><table class='table-default'>
                                  <tr class='list-header'>
                                      <th style='width:45%'>$m[title]</th>
                                      <th class='text-center' style='width:25%'>$m[deadline]</th>
                                      <th class='text-center'>$m[submitted]</th>
                                      <th class='text-center'>$m[grade]</th>
                                  </tr>";
        $k = 0;
        foreach ($result as $row) {
            $title_temp = q($row->title);
            if($row->deadline){
                $deadline = nice_format($row->deadline, true);
            }else{
                $deadline = $m['no_deadline'];
            }
            $tool_content .= "
                                <tr>
                                    <td><a href='$_SERVER[SCRIPT_NAME]?course=$course_code&amp;id=$row->id'>$title_temp</a></td>
                                    <td class='text-center'>" . $deadline ;
            if ($row->time > 0) {
                $tool_content .= "<br>(<small>$langDaysLeft" . format_time_duration($row->time) . "</small>)";
            } else if($row->deadline){
                $tool_content .= "<br> (<small><span class='expired'>$m[expired]</span></small>)";
            }
            $tool_content .= "</td><td class='text-center'>";

            if ($submission = find_submissions(is_group_assignment($row->id), $uid, $row->id, $gids)) {
                foreach ($submission as $sub) {
                    if (isset($sub->group_id)) { // if is a group assignment
                        $tool_content .= "<div style='padding-bottom: 5px;padding-top:5px;font-size:9px;'>($m[groupsubmit] " .
                                "<a href='../group/group_space.php?course=$course_code&amp;group_id=$sub->group_id'>" .
                                "$m[ofgroup] " . gid_to_name($sub->group_id) . "</a>)</div>";
                    }
                    $tool_content .= "<i class='fa fa-check-square-o'></i><br>";
                }
                } else {
                    $tool_content .= "<i class='fa fa-square-o'></i><br>";
                }
                $tool_content .= "</td>
                                    <td width='30' align='center'>";
            foreach ($submission as $sub) {
                $grade = submission_grade($sub->id);
                if (!$grade) {
                    $grade = "<div style='padding-bottom: 5px;padding-top:5px;'> - </div>";
                }
                $tool_content .= "<div style='padding-bottom: 5px;padding-top:5px;'>$grade</div>";
            }
            $tool_content .= "</td>
                                  </tr>";
            $k++;
        }
        $tool_content .= '
                                  </table></div></div></div>';
    } else {
        $tool_content .= "<div class='alert alert-warning'>$langNoAssign</div>";
    }
}
Esempio n. 5
0
/**
 *
 *  returns whether the user has submitted an assignment
 */
function submitted($uid, $assignment_id, $lesson_id)
{
    // find prefix
    $prefix = './modules';
    if (!file_exists($prefix) && file_exists('../group') && file_exists('../work')) {
        $prefix = '..';
    }
    require_once $prefix . '/group/group_functions.php';
    require_once $prefix . '/work/work_functions.php';
    $gids = user_group_info($uid, $lesson_id);
    $GLOBALS['course_id'] = $lesson_id;
    if ($submission = find_submissions(is_group_assignment($assignment_id), $uid, $assignment_id, $gids)) {
        return true;
    } else {
        return false;
    }
}