// 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();
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 . '&rid=' . $record->id . '&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 . '&delete=' . $record->id . '&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 . '&rid=' . $record->id; if ($search) { $moreurl .= '&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 . '&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 . '&approve=' . $record->id . '&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); } } } }