|
Moodle
2.2.1
http://www.collinsharper.com
|
00001 <?php 00002 00009 require_once('../config.php'); 00010 require_once($CFG->dirroot.'/tag/coursetagslib.php'); 00011 require_once($CFG->dirroot.'/tag/lib.php'); 00012 00013 $courseid = optional_param('courseid', 0, PARAM_INT); 00014 $keyword = optional_param('coursetag_new_tag', '', PARAM_TEXT); 00015 $deltag = optional_param('del_tag', 0, PARAM_INT); 00016 00017 $url = new moodle_url('/tag/coursetags_edit.php'); 00018 if ($courseid !== 0) { 00019 $url->param('courseid', $courseid); 00020 } 00021 if ($keyword !== '') { 00022 $url->param('coursetag_new_tag', $keyword); 00023 } 00024 if ($deltag !== 0) { 00025 $url->param('del_tag', $deltag); 00026 } 00027 $PAGE->set_url($url); 00028 00029 require_login(); 00030 00031 if (empty($CFG->usetags)) { 00032 print_error('tagsaredisabled', 'tag'); 00033 } 00034 00035 if ($courseid != SITEID) { 00036 if (! ($course = $DB->get_record('course', array('id' => $courseid), '*')) ) { 00037 print_error('invalidcourse'); 00038 } 00039 } else { 00040 print_error('errortagfrontpage', 'tag'); 00041 } 00042 00043 // Permissions 00044 $sitecontext = get_context_instance(CONTEXT_SYSTEM); 00045 require_login($course->id); 00046 $canedit = has_capability('moodle/tag:create', $sitecontext); 00047 00048 // Language strings 00049 $tagslang = 'block_tags'; 00050 00051 // Store data 00052 if ($data = data_submitted()) { 00053 if (confirm_sesskey() and $courseid > 0 and $USER->id > 0 and $canedit) { 00054 // store personal tag 00055 if (trim(strip_tags($keyword))) { 00056 $myurl = 'tag/search.php'; 00057 $keywords = explode(',', $keyword); 00058 coursetag_store_keywords($keywords, $courseid, $USER->id, 'default', $myurl); 00059 } 00060 // delete personal tag 00061 if ($deltag > 0) { 00062 coursetag_delete_keyword($deltag, $USER->id, $courseid); 00063 } 00064 } 00065 } 00066 00067 // The title and breadcrumb 00068 $title = get_string('edittitle', $tagslang); 00069 $coursefullname = format_string($course->fullname); 00070 $courseshortname = format_string($course->shortname, true, array('context' => get_context_instance(CONTEXT_COURSE, $course->id))); 00071 $PAGE->navbar->add($title); 00072 $PAGE->set_title($title); 00073 $PAGE->set_heading($course->fullname); 00074 $PAGE->set_cacheable(false); 00075 echo $OUTPUT->header(); 00076 00077 // Print personal tags for all courses 00078 $title = get_string('edittitle', $tagslang); 00079 echo $OUTPUT->heading($title, 2, 'mdl-align'); 00080 00081 $mytags = coursetag_print_cloud(coursetag_get_tags(0, $USER->id, 'default'), true); 00082 $outstr = ' 00083 <div class="coursetag_edit_centered"> 00084 <div> 00085 '.get_string('editmytags', $tagslang).' 00086 </div> 00087 <div>'; 00088 00089 if ($mytags) { 00090 $outstr .= $mytags; 00091 } else { 00092 $outstr .= get_string('editnopersonaltags', $tagslang); 00093 } 00094 00095 $outstr .= ' 00096 </div> 00097 </div>'; 00098 echo $outstr; 00099 00100 // Personal tag editing 00101 if ($canedit) { 00102 $title = get_string('editmytagsfor', $tagslang, '"'.$coursefullname.' ('.$courseshortname.')"'); 00103 echo $OUTPUT->heading($title, 2, 'main mdl-align'); 00104 00105 // Deletion here is open to the users own tags for this course only 00106 $selectoptions = '<option value="0">'.get_string('select', $tagslang).'</option>'; 00107 $coursetabs = ''; 00108 if ($options = coursetag_get_records($courseid, $USER->id)) { 00109 $coursetabs = '"'; 00110 foreach ($options as $option) { 00111 $selectoptions .= '<option value="'.$option->id.'">'.$option->rawname.'</option>'; 00112 $coursetabs .= $option->rawname . ', '; 00113 } 00114 $coursetabs = rtrim($coursetabs, ', '); 00115 $coursetabs .= '"'; 00116 } 00117 if ($coursetabs) { 00118 $outstr = ' 00119 <div class="coursetag_edit_centered"> 00120 '.get_string('editthiscoursetags', $tagslang, $coursetabs).' 00121 </div>'; 00122 } else { 00123 $outstr = ' 00124 <div class="coursetag_edit_centered"> 00125 '.get_string('editnopersonaltags', $tagslang).' 00126 </div>'; 00127 } 00128 00129 // Print the add and delete form 00130 coursetag_get_jscript(); 00131 $edittagthisunit = get_string('edittagthisunit', $tagslang); 00132 $arrowtitle = get_string('arrowtitle', $tagslang); 00133 $sesskey = sesskey(); 00134 $leftarrow = $OUTPUT->pix_url('t/arrow_left'); 00135 $outstr .= <<<EOT 00136 <form action="$CFG->wwwroot/tag/coursetags_edit.php" method="post" id="coursetag"> 00137 <div style="display: none;"> 00138 <input type="hidden" name="courseid" value="$course->id" /> 00139 <input type="hidden" name="sesskey" value="$sesskey" /> 00140 </div> 00141 <div class="coursetag_edit_centered"> 00142 <div class="coursetag_edit_row"> 00143 <div class="coursetag_edit_left"> 00144 $edittagthisunit 00145 </div> 00146 <div class="coursetag_edit_right"> 00147 <div class="coursetag_form_input1"> 00148 <input type="text" name="coursetag_sug_keyword" class="coursetag_form_input1a" disabled="disabled" /> 00149 </div> 00150 <div class="coursetag_form_input2"> 00151 <input type="text" name="coursetag_new_tag" id="coursetag_new_tag" class="coursetag_form_input2a" 00152 onfocus="ctags_getKeywords()" onkeyup="ctags_getKeywords()" maxlength="50" /> 00153 </div> 00154 <div class="coursetag_edit_input3" id="coursetag_sug_btn"> 00155 <a title="$arrowtitle"> 00156 <img src="$leftarrow" width="10" height="10" alt="enter" onclick="ctags_setKeywords()" /> 00157 </a> 00158 </div> 00159 </div> 00160 </div> 00161 EOT; 00162 if ($coursetabs) { 00163 $editdeletemytag = get_string('editdeletemytag', $tagslang); 00164 $outstr .= <<<EOT1 00165 <div class="coursetag_edit_row"> 00166 <div class="coursetag_edit_left"> 00167 $editdeletemytag 00168 </div> 00169 <div class="coursetag_edit_right"> 00170 <select name="del_tag"> 00171 $selectoptions 00172 </select> 00173 </div> 00174 </div> 00175 EOT1; 00176 } 00177 $submitstr = get_string('submit'); 00178 $outstr .= <<<EOT2 00179 <div class="clearer"></div> 00180 <div class="coursetag_edit_row"> 00181 <button type="submit">$submitstr</button> 00182 </div> 00183 </div> 00184 </form> 00185 EOT2; 00186 echo $outstr; 00187 } 00188 00189 echo $OUTPUT->footer();