示例#1
0
            // something is wrong here, try again
        }
        $updatedcomment = new object();
        $updatedcomment->id = $formadata->commentid;
        $updatedcomment->content = $formadata->content;
        $updatedcomment->format = $formadata->format;
        $updatedcomment->modified = time();
        if ($DB->update_record('data_comments', $updatedcomment)) {
            redirect('view.php?rid=' . $record->id . '&page=' . $page);
        } else {
            print_error('cannotsavecomment');
        }
        break;
    case 'delete':
        //deletes single comment from db
        if ($confirm and confirm_sesskey() and $comment) {
            $DB->delete_records('data_comments', array('id' => $comment->id));
            redirect('view.php?rid=' . $record->id . '&page=' . $page, get_string('commentdeleted', 'data'));
        } else {
            //print confirm delete form
            print_header();
            data_print_comment($data, $comment, $page);
            notice_yesno(get_string('deletecomment', 'data'), 'comment.php?rid=' . $record->id . '&commentid=' . $comment->id . '&page=' . $page . '&sesskey=' . sesskey() . '&mode=delete&confirm=1', 'view.php?rid=' . $record->id . '&page=' . $page);
            print_footer();
        }
        die;
        break;
}
print_header();
data_print_comments($data, $record, $page, $mform);
print_footer();
示例#2
0
function data_print_template($template, $records, $data, $search = '', $page = 0, $return = false)
{
    global $CFG;
    $cm = get_coursemodule_from_instance('data', $data->id);
    $context = get_context_instance(CONTEXT_MODULE, $cm->id);
    static $fields = NULL;
    static $isteacher;
    static $dataid = NULL;
    if (empty($dataid)) {
        $dataid = $data->id;
    } else {
        if ($dataid != $data->id) {
            $fields = NULL;
        }
    }
    if (empty($fields)) {
        $fieldrecords = get_records('data_fields', 'dataid', $data->id);
        foreach ($fieldrecords as $fieldrecord) {
            $fields[] = data_get_field($fieldrecord, $data);
        }
        $isteacher = has_capability('mod/data:managetemplates', $context);
    }
    if (empty($records)) {
        return;
    }
    foreach ($records as $record) {
        // Might be just one for the single template
        // Replacing tags
        $patterns = array();
        $replacement = array();
        // Then we generate strings to replace for normal tags
        foreach ($fields as $field) {
            $patterns[] = '[[' . $field->field->name . ']]';
            $replacement[] = highlight($search, $field->display_browse_field($record->id, $template));
        }
        // Replacing special tags (##Edit##, ##Delete##, ##More##)
        $patterns[] = '##edit##';
        $patterns[] = '##delete##';
        if (has_capability('mod/data:manageentries', $context) or data_isowner($record->id)) {
            $replacement[] = '<a href="' . $CFG->wwwroot . '/mod/data/edit.php?d=' . $data->id . '&amp;rid=' . $record->id . '&amp;sesskey=' . sesskey() . '"><img src="' . $CFG->pixpath . '/t/edit.gif" class="iconsmall" alt="' . get_string('edit') . '" title="' . get_string('edit') . '" /></a>';
            $replacement[] = '<a href="' . $CFG->wwwroot . '/mod/data/view.php?d=' . $data->id . '&amp;delete=' . $record->id . '&amp;sesskey=' . sesskey() . '"><img src="' . $CFG->pixpath . '/t/delete.gif" class="iconsmall" alt="' . get_string('delete') . '" title="' . get_string('delete') . '" /></a>';
        } else {
            $replacement[] = '';
            $replacement[] = '';
        }
        $moreurl = $CFG->wwwroot . '/mod/data/view.php?d=' . $data->id . '&amp;rid=' . $record->id;
        if ($search) {
            $moreurl .= '&amp;filter=1';
        }
        $patterns[] = '##more##';
        $replacement[] = '<a href="' . $moreurl . '"><img src="' . $CFG->pixpath . '/i/search.gif" class="iconsmall" alt="' . get_string('more', 'data') . '" title="' . get_string('more', 'data') . '" /></a>';
        $patterns[] = '##moreurl##';
        $replacement[] = $moreurl;
        $patterns[] = '##user##';
        $replacement[] = '<a href="' . $CFG->wwwroot . '/user/view.php?id=' . $record->userid . '&amp;course=' . $data->course . '">' . fullname($record) . '</a>';
        $patterns[] = '##timeadded##';
        $replacement[] = userdate($record->timecreated);
        $patterns[] = '##timemodified##';
        $replacement[] = userdate($record->timemodified);
        $patterns[] = '##approve##';
        if (has_capability('mod/data:approve', $context) && $data->approval && !$record->approved) {
            $replacement[] = '<span class="approve"><a href="' . $CFG->wwwroot . '/mod/data/view.php?d=' . $data->id . '&amp;approve=' . $record->id . '&amp;sesskey=' . sesskey() . '"><img src="' . $CFG->pixpath . '/i/approve.gif" class="icon" alt="' . get_string('approve') . '" /></a></span>';
        } else {
            $replacement[] = '';
        }
        $patterns[] = '##comments##';
        if ($template == 'listtemplate' && $data->comments) {
            $comments = count_records('data_comments', 'recordid', $record->id);
            $replacement[] = '<a href="view.php?rid=' . $record->id . '#comments">' . get_string('commentsn', 'data', $comments) . '</a>';
        } else {
            $replacement[] = '';
        }
        // actual replacement of the tags
        $newtext = str_ireplace($patterns, $replacement, $data->{$template});
        // no more html formatting and filtering - see MDL-6635
        if ($return) {
            return $newtext;
        } else {
            echo $newtext;
            // hack alert - return is always false in singletemplate anyway ;-)
            /**********************************
             *    Printing Ratings Form       *
             *********************************/
            if ($template == 'singletemplate') {
                //prints ratings options
                data_print_ratings($data, $record);
            }
            /**********************************
             *    Printing Ratings Form       *
             *********************************/
            if ($template == 'singletemplate' && $data->comments) {
                //prints ratings options
                data_print_comments($data, $record, $page);
            }
        }
    }
}