global $CFG;
$mform =& $this->_form;
$renderer =& $mform->defaultRenderer();
- $course=$this->_customdata['course'];
//-------------------------------------------------------------------------------
$mform->addElement('header', 'general', get_string('general', 'form'));
$mform->addElement('checkbox', 'assessed', get_string("allowratings", "data") , get_string('ratingsuse', 'data'));
- $strscale = get_string('scale');
- $strscales = get_string('scales');
- $scales = get_scales_menu($course->id);
- foreach ($scales as $i => $scalename) {
- $grades[-$i] = $strscale .': '. $scalename;
- }
- for ($i=100; $i>=1; $i--) {
- $grades[$i] = $i;
- }
- $mform->addElement('select', 'scale', get_string('grade') , $grades);
+ $mform->addElement('modgrade', 'scale', get_string('grade'), false);
$this->standard_coursemodule_elements();
function definition() {
- global $CFG, $FORUM_TYPES;
+ global $CFG, $FORUM_TYPES, $COURSE;
$mform =& $this->_form;
$renderer =& $mform->defaultRenderer();
- $course=$this->_customdata['course'];
//-------------------------------------------------------------------------------
$mform->addElement('header', 'general', get_string('general', 'form'));
$mform->addElement('select', 'trackingtype', get_string('trackingtype', 'forum'), $options);
$mform->setHelpButton('trackingtype', array('trackingtype', get_string('trackingtype', 'forum'), 'forum'));
- $choices = get_max_upload_sizes($CFG->maxbytes, $course->maxbytes);
+ $choices = get_max_upload_sizes($CFG->maxbytes, $COURSE->maxbytes);
$choices[1] = get_string('uploadnotallowed');
- $choices[0] = get_string('courseuploadlimit') . ' ('.display_size($course->maxbytes).')';
+ $choices[0] = get_string('courseuploadlimit') . ' ('.display_size($COURSE->maxbytes).')';
$mform->addElement('select', 'maxbytes', get_string('maxattachmentsize', 'forum'), $choices);
$mform->setHelpButton('maxbytes', array('maxattachmentsize', get_string('maxattachmentsize', 'forum'), 'forum'));
$mform->setDefault('maxbytes', $CFG->forum_maxbytes);
if ($CFG->enablerssfeeds && isset($CFG->forum_enablerssfeeds) && $CFG->forum_enablerssfeeds) {
+//-------------------------------------------------------------------------------
$mform->addElement('header', '', get_string('rss'));
$choices = array();
$choices[0] = get_string('none');
$mform->setHelpButton('rssarticles', array('rssarticles', get_string('rssarticles'), 'forum'));
}
+//-------------------------------------------------------------------------------
$mform->addElement('header', '', get_string('grade'));
- $mform->addElement('checkbox', 'assessed', get_string('allowratings', 'data') , get_string('ratingsuse', 'data'));
+ $mform->addElement('checkbox', 'assessed', get_string('allowratings', 'forum') , get_string('ratingsuse', 'forum'));
- $strscale = get_string('scale');
- $strscales = get_string('scales');
- $scales = get_scales_menu($course->id);
- foreach ($scales as $i => $scalename) {
- $grades[-$i] = $strscale .': '. $scalename;
- }
- for ($i=100; $i>=1; $i--) {
- $grades[$i] = $i;
- }
- $mform->addElement('select', 'scale', get_string('grade') , $grades);
+ $mform->addElement('modgrade', 'scale', get_string('grade'), false);
$mform->addElement('date_time_selector', 'assesstimestart', get_string('from'));
$mform->addElement('date_time_selector', 'assesstimefinish', get_string('to'));
+//-------------------------------------------------------------------------------
$mform->addElement('header', '', get_string('blockafter', 'forum'));
$mform->addElement('text', 'warnafter', get_string('warnafter', 'forum'));
$mform->setType('warnafter', PARAM_INT);
$mform->addElement('select', 'blockperiod', get_string("blockperiod", "forum") , $options);
$mform->setHelpButton('blockperiod', array('manageposts', get_string('blockperiod', 'forum'),'forum'));
+//-------------------------------------------------------------------------------
$this->standard_coursemodule_elements();
$buttonarray=array();
$glossary->assessed = 0;
}
- if (!empty($glossary->ratingtime)) {
- $glossary->assesstimestart = make_timestamp($glossary->startyear, $glossary->startmonth, $glossary->startday,
- $glossary->starthour, $glossary->startminute, 0);
- $glossary->assesstimefinish = make_timestamp($glossary->finishyear, $glossary->finishmonth, $glossary->finishday,
- $glossary->finishhour, $glossary->finishminute, 0);
- } else {
+ if (empty($glossary->ratingtime)) {
$glossary->assesstimestart = 0;
$glossary->assesstimefinish = 0;
}
$formats = get_list_of_plugins('mod/glossary/formats','TEMPLATE');
if (!in_array($glossary->displayformat, $formats)) {
error("This format doesn't exist!");
- }
-
- //sanitize submitted values a bit
- $glossary->entbypage = clean_param($glossary->entbypage, PARAM_INT);
+ }
return insert_record("glossary", $glossary);
}
/// (defined by the form in mod.html) this function
/// will update an existing instance with new data.
global $CFG;
-
+
if (!has_capability('mod/glossary:manageentries', get_context_instance(CONTEXT_SYSTEM, SITEID))) {
unset($glossary->globalglossary);
}
$glossary->assessed = 0;
}
- if (!empty($glossary->ratingtime)) {
- $glossary->assesstimestart = make_timestamp($glossary->startyear, $glossary->startmonth, $glossary->startday,
- $glossary->starthour, $glossary->startminute, 0);
- $glossary->assesstimefinish = make_timestamp($glossary->finishyear, $glossary->finishmonth, $glossary->finishday,
- $glossary->finishhour, $glossary->finishminute, 0);
- } else {
+ if (empty($glossary->ratingtime)) {
$glossary->assesstimestart = 0;
$glossary->assesstimefinish = 0;
}
global $CFG;
return get_records_sql("SELECT e.*, u.firstname, u.lastname, u.email, u.picture
- FROM {$CFG->prefix}glossary g,
- {$CFG->prefix}glossary_entries e,
- {$CFG->prefix}user u
- WHERE g.id = '$glossaryid'
- AND e.glossaryid = g.id
- AND e.userid = '$userid'
+ FROM {$CFG->prefix}glossary g,
+ {$CFG->prefix}glossary_entries e,
+ {$CFG->prefix}user u
+ WHERE g.id = '$glossaryid'
+ AND e.glossaryid = g.id
+ AND e.userid = '$userid'
AND e.userid = u.id
ORDER BY e.timemodified ASC");
}
foreach ($logs as $log) {
//Create a temp valid module structure (course,id)
- $tempmod->course = $log->course;
+ $tempmod->course = $log->course;
$entry = get_record('glossary_entries','id',$log->info);
if (!$entry) {
continue;
}
$tempmod->id = $entry->glossaryid;
- //Obtain the visible property from the instance
+ //Obtain the visible property from the instance
$modvisible = instance_is_visible($log->module,$tempmod);
//Only if the mod is visible
$count ++;
}
$return->grades[$currentuser] = (string) format_float((float)$total/(float)$count, 2);
-
+
if ( count($ratingsuser) > 1 ) {
$return->grades[$currentuser] .= " (" . count($ratingsuser) . ")";
}
function glossary_scale_used ($glossaryid,$scaleid) {
//This function returns if a scale is being used by one glossary
-
+
$return = false;
$rec = get_record("glossary","id","$glossaryid","scale","-$scaleid");
if (!empty($rec) && !empty($scaleid)) {
- $return = true;
- }
-
+ $return = true;
+ }
+
return $return;
}
global $CFG;
- //Check if the user is an admin
+ //Check if the user is an admin
$bypassadmin = 1; //This means NO (by default)
if (has_capability('moodle/course:viewhiddenactivities', get_context_instance(CONTEXT_SYSTEM, SITEID))) {
$bypassadmin = 0; //This means YES
- }
+ }
- //Check if the user is a teacher
+ //Check if the user is a teacher
$bypassteacher = 1; //This means NO (by default)
if (has_capability('mod/glossary:manageentries', get_context_instance(CONTEXT_COURSE, $courseid))) {
$bypassteacher = 0; //This means YES
- }
+ }
$conceptlower = moodle_strtolower(trim($concept));
return get_records_sql("SELECT e.*, g.name as glossaryname, cm.id as cmid, cm.course as courseid
- FROM {$CFG->prefix}glossary_entries e,
+ FROM {$CFG->prefix}glossary_entries e,
{$CFG->prefix}glossary g,
{$CFG->prefix}course_modules cm,
{$CFG->prefix}modules m
$pivot .= ",";
}
return get_records_sql("SELECT $pivot *
- FROM {$CFG->prefix}glossary_entries
+ FROM {$CFG->prefix}glossary_entries
WHERE (glossaryid = $glossary->id or sourceglossaryid = $glossary->id) $where $orderby");
}
}
}
-
+
//Extract <a>..><a> tags from definition
preg_match_all('/<a[^>]+?>(.*?)<\/a>/is',$definition,$list_of_a);
-
+
//Save them into links array to use them later
foreach (array_unique($list_of_a[0]) as $key=>$value) {
$links['<#'.$key.'#>'] = $value;
if ($return != '') {
$return .= '</select>';
}
- }
+ }
if ($type == 'print') {
echo $return;
} else {
function glossary_print_entry_icons($course, $cm, $glossary, $entry, $mode='',$hook='', $type = 'print') {
global $USER, $CFG;
-
+
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
$output = false; //To decide if we must really return text in "return". Activate when needed only!
$return .= get_string('entryishidden','glossary');
}
$return .= glossary_print_entry_commentslink($course, $cm, $glossary, $entry,$mode,$hook,'html');
-
+
if (has_capability('mod/glossary:comment', $context)) {
$output = true;
$return .= ' <a title="' . get_string('addcomment','glossary') . '" href="comment.php?action=add&eid='.$entry->id.'"><img src="comment.gif" height="11" width="11" border="0" alt="'.get_string('addcomment','glossary').'" /></a>';
$return .= " <a title=\"" . get_string("delete") . "\" href=\"deleteentry.php?id=$cm->id&mode=delete&entry=$entry->id&prevmode=$mode&hook=$hook\"><img src=\"";
$return .= $icon;
$return .= "\" height=\"11\" width=\"11\" border=\"0\" alt=\"\" /></a> ";
-
+
$return .= " <a title=\"" . get_string("edit") . "\" href=\"edit.php?id=$cm->id&e=$entry->id&mode=$mode&hook=$hook\"><img src=\"$CFG->pixpath/t/edit.gif\" height=\"11\" width=\"11\" border=\"0\" alt=\"\" /></a>";
} elseif ( $importedentry ) {
$return .= " <font size=\"-1\">" . get_string("exportedentry","glossary") . "</font>";
$return .= " "; // just to make up a little the output in Mozilla ;)
$return .= '</span>';
-
+
//If we haven't calculated any REAL thing, delete result ($return)
if (!$output) {
$return = '';
}
function glossary_search($course, $searchterms, $extended = 0, $glossary = NULL) {
-// It returns all entries from all glossaries that matches the specified criteria
+// It returns all entries from all glossaries that matches the specified criteria
// within a given $course. It performs an $extended search if necessary.
// It restrict the search to only one $glossary if the $glossary parameter is set.
} else {
$glos = $glossary->id;
}
-
+
if (!has_capability('mod/glossary:manageentries', get_context_instance(CONTEXT_COURSE, $glossary->course))) {
$glossarymodule = get_record("modules", "name", "glossary");
$onlyvisible = " AND g.id = cm.instance AND cm.visible = 1 AND cm.module = $glossarymodule->id";
$REGEXP = "REGEXP";
$NOTREGEXP = "NOT REGEXP";
break;
- }
+ }
$conceptsearch = "";
$definitionsearch = "";
AND (e.glossaryid = g.id or e.sourceglossaryid = g.id) $onlyvisible
AND g.id IN ($glos) AND e.approved != 0";
- return get_records_sql("SELECT e.*
+ return get_records_sql("SELECT e.*
FROM $selectsql ORDER BY e.concept ASC");
}
global $CFG;
// Creates a directory file name, suitable for make_upload_directory()
- // I'm doing this workaround for make it works for delete_instance also
+ // I'm doing this workaround for make it works for delete_instance also
// (when called from delete_instance, glossary is already deleted so
// getting the course from mdl_glossary does not work)
$module = get_record("modules","name","glossary");
function glossary_mod_file_area($glossary) {
global $CFG;
-
+
return make_upload_directory( "$glossary->course/$CFG->moddata/glossary" );
}
rmdir("$basedir");
$deleted++;
}
- }
+ }
}
if ( $deleted ) {
$attachmentdir = glossary_main_file_area($glossary);
$glossarydir = glossary_mod_file_area($glossary);
-
+
rmdir("$attachmentdir");
if (!$files = get_directory_list($glossarydir) ) {
rmdir( "$glossarydir" );
}
- }
+ }
}
}
}
foreach ($files as $file) {
// this is not tested as I can't find anywhere that calls this function, grepping the source.
- clam_change_log($oldentrydir.'/'.$file,$newentrydir.'/'.$file);
+ clam_change_log($oldentrydir.'/'.$file,$newentrydir.'/'.$file);
}
}
}
if (!$glossary = get_record("glossary","id",$entry->glossaryid)) {
return false;
}
-
+
if (!$course = get_record("course","id",$glossary->course)) {
return false;
}
// otherwise, print HTML for non-images, and return image HTML
// if attachment is an image, $align set its aligment.
global $CFG;
-
+
$newentry = $entry;
if ( $newentry->sourceglossaryid ) {
$newentry->glossaryid = $newentry->sourceglossaryid;
}
function glossary_print_categories_menu($cm, $glossary, $hook, $category) {
-
+
global $CFG;
-
+
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
echo '<table border="0" width="100%">';
}
function glossary_print_all_links($cm, $glossary, $mode, $hook) {
-global $CFG;
+global $CFG;
if ( $glossary->showall) {
$strallentries = get_string("allentries", "glossary");
if ( $hook == 'ALL' ) {
$desc = get_string("descending","glossary");
$bopen = '<b>';
$bclose = '</b>';
-
+
$neworder = '';
if ( $sortorder ) {
if ( $sortorder == 'asc' ) {
}
function glossary_sort_entries ( $entry0, $entry1 ) {
-
+
if ( moodle_strtolower(ltrim($entry0->concept)) < moodle_strtolower(ltrim($entry1->concept)) ) {
return -1;
} elseif ( moodle_strtolower(ltrim($entry0->concept)) > moodle_strtolower(ltrim($entry1->concept)) ) {
function glossary_print_comment($course, $cm, $glossary, $entry, $comment) {
global $CFG, $USER;
-
+
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
$user = get_record('user', 'id', $comment->userid);
$ineditperiod = ((time() - $comment->timemodified < $CFG->maxeditingtime) || $glossary->editalways);
if ( ($glossary->allowcomments && $ineditperiod && $USER->id == $comment->userid) || has_capability('mod/glossary:managecomments', $context)) {
- echo "<a href=\"comment.php?cid=$comment->id&action=edit\"><img
+ echo "<a href=\"comment.php?cid=$comment->id&action=edit\"><img
alt=\"" . get_string("edit") . "\" src=\"$CFG->pixpath/t/edit.gif\" height=\"11\" width=\"11\" border=\"0\" /></a> ";
}
if ( ($glossary->allowcomments && $USER->id == $comment->userid) || has_capability('mod/glossary:managecomments', $context) ) {
- echo "<a href=\"comment.php?cid=$comment->id&action=delete\"><img
+ echo "<a href=\"comment.php?cid=$comment->id&action=delete\"><img
alt=\"" . get_string("delete") . "\" src=\"$CFG->pixpath/t/delete.gif\" height=\"11\" width=\"11\" border=\"0\" /></a>";
}
-
+
echo '</div></td></tr>';
echo '</table></center>';
}
function glossary_print_entry_ratings($course, $entry, $ratings = NULL) {
-
+
global $USER, $CFG;
-
+
$glossary = get_record('glossary', 'id', $entry->glossaryid);
$glossarymod = get_record('modules','name','glossary');
- $cm = get_record_sql("select * from {$CFG->prefix}course_modules where course = $course->id
+ $cm = get_record_sql("select * from {$CFG->prefix}course_modules where course = $course->id
and module = $glossarymod->id and instance = $glossary->id");
-
+
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
$ratingsmenuused = false;
return xmlize($line, 0);
}
-//Return the xml start tag
+//Return the xml start tag
function glossary_start_tag($tag,$level=0,$endline=false) {
if ($endline) {
$endchar = "\n";
}
return str_repeat(" ",$level*2)."<".strtoupper($tag).">".$endchar;
}
-
-//Return the xml end tag
+
+//Return the xml end tag
function glossary_end_tag($tag,$level=0,$endline=true) {
if ($endline) {
$endchar = "\n";
}
return str_repeat(" ",$level*2)."</".strtoupper($tag).">".$endchar;
}
-
+
//Return the start tag, the contents and the end tag
function glossary_full_tag($tag,$level=0,$endline=true,$content) {
global $CFG;
-
+
$st = glossary_start_tag($tag,$level,$endline);
$co = preg_replace("/\r\n|\r/", "\n", s($content));
$et = glossary_end_tag($tag,0,true);
}
/*
-* Adding grading functions
+* Adding grading functions
*/
function glossary_get_ratings($entryid, $sort="u.firstname ASC") {
/// Returns a list of ratings for a particular entry - sorted.
global $CFG;
- return get_records_sql("SELECT u.*, r.rating, r.time
- FROM {$CFG->prefix}glossary_ratings r,
+ return get_records_sql("SELECT u.*, r.rating, r.time
+ FROM {$CFG->prefix}glossary_ratings r,
{$CFG->prefix}user u
- WHERE r.entryid = '$entryid'
- AND r.userid = u.id
+ WHERE r.entryid = '$entryid'
+ AND r.userid = u.id
ORDER BY $sort");
}
global $CFG;
return get_records_sql("SELECT r.id, e.userid, r.rating
- FROM {$CFG->prefix}glossary_entries e,
+ FROM {$CFG->prefix}glossary_entries e,
{$CFG->prefix}glossary_ratings r
- WHERE e.glossaryid = '$glossaryid'
+ WHERE e.glossaryid = '$glossaryid'
AND r.entryid = e.id
ORDER by e.userid ");
}
global $CFG;
if ($entries = get_record_sql("SELECT count(*) as num
FROM {$CFG->prefix}glossary_entries
- WHERE glossaryid = '$glossaryid'
+ WHERE glossaryid = '$glossaryid'
AND userid <> '$userid' ")) {
- if ($rated = get_record_sql("SELECT count(*) as num
- FROM {$CFG->prefix}glossary_entries e,
+ if ($rated = get_record_sql("SELECT count(*) as num
+ FROM {$CFG->prefix}glossary_entries e,
{$CFG->prefix}glossary_ratings r
WHERE e.glossaryid = '$glossaryid'
- AND e.id = r.entryid
+ AND e.id = r.entryid
AND r.userid = '$userid'")) {
$difference = $entries->num - $rated->num;
if ($difference > 0) {
static $strrate;
$mean = glossary_get_ratings_mean($entryid, $scale);
-
+
if ($mean !== "") {
if (empty($strratings)) {
$total += $rating;
}
$mean = round( ((float)$total/(float)$count) + 0.001); // Little fudge factor so that 0.5 goes UP
-
+
if (isset($scale[$mean])) {
return $scale[$mean]." ($count)";
} else {
}
function glossary_print_rating_menu($entryid, $userid, $scale) {
-/// Print the menu of ratings as part of a larger form.
+/// Print the menu of ratings as part of a larger form.
/// If the entry has already been - set that value.
/// Scale is an array of ratings
//Check if we are with the special link selected
if ($showspecial && $page == $specialvalue) {
$specialselected = true;
- }
+ }
//If there are results (more than 1 page)
if ($totalcount > $perpage) {
if ($form->globalglossary) {
$selected = 'checked="checked"';
}
-?>
+?>
<input type="checkbox" name="globalglossary" value="1" <?php p($selected)?> /> <?php helpbutton("globalglossary", get_string("globalglossary", "glossary"), "glossary") ?>
</td>
</tr>
if ( $form->allowduplicatedentries ) {
echo "selected=\"selected\"";
}
- ?>
+ ?>
><?php echo get_string("yes") ?></option>
<option value="0" <?php
if ( !$form->allowduplicatedentries ) {
if ( $form->allowcomments ) {
echo "selected=\"selected\"";
}
- ?>
+ ?>
><?php echo get_string("yes") ?></option>
<option value="0" <?php
if ( !$form->allowcomments ) {
if ( $form->usedynalink ) {
echo "selected=\"selected\"";
}
- ?>
+ ?>
><?php echo get_string("yes") ?></option>
<option value="0" <?php
if ( !$form->usedynalink ) {
if ( $form->defaultapproval ) {
echo "selected=\"selected\"";
}
- ?>
+ ?>
><?php echo get_string("yes") ?></option>
<option value="0" <?php
if ( !$form->defaultapproval ) {
$form->displayformat = $currentglossary->displayformat;
}
}
-
- $formats = array();
-
+
+ $formats = array();
+
//Take names
foreach ($recformats as $format) {
$formats[$format->name] = get_string("displayformat$format->name", "glossary");
- }
+ }
//Sort it
asort($formats);
-
+
choose_from_menu($formats,'displayformat',$form->displayformat,'');
?>
<?php helpbutton("displayformat", get_string("displayformat", "glossary"), "glossary") ?>
if ( $form->showspecial ) {
echo "selected=\"selected\"";
}
- ?>
+ ?>
><?php echo get_string("yes") ?></option>
<option value="0" <?php
if ( !$form->showspecial ) {
if ( $form->showalphabet ) {
echo "selected=\"selected\"";
}
- ?>
+ ?>
><?php echo get_string("yes") ?></option>
<option value="0" <?php
if ( !$form->showalphabet ) {
if ( $form->showall ) {
echo "selected=\"selected\"";
}
- ?>
+ ?>
><?php echo get_string("yes") ?></option>
<option value="0" <?php
if ( !$form->showall ) {
<tr>
<td align="right" valign="top"><b><?php print_string("allowratings", "glossary") ?>:</b></td>
<td align="left">
- <?php
+ <?php
echo "<script type=\"text/javascript\">";
echo " var subitemstime = ['startday','startmonth','startyear','starthour', 'startminute',".
"'finishday','finishmonth','finishyear','finishhour','finishminute'];";
unset($options);
$options[2] = get_string("ratingonlyteachers", "glossary", moodle_strtolower($course->teachers));
$options[1] = get_string("ratingeveryone", "glossary");
-
+
echo "\n\n<table cellpadding=\"5\" align=\"left\">";
echo "<tr><td align=\"right\" nowrap=\"nowrap\">";
echo get_string("users").":";
echo "</td><td align=\"left\" nowrap=\"nowrap\">";
choose_from_menu($options, "assessed", $form->assessed, "");
echo "</td></tr>";
+
echo "<tr><td align=\"right\" nowrap=\"nowrap\">";
echo get_string("grade").":";
echo "</td><td align=\"left\" nowrap=\"nowrap\">";
print_date_selector("finishday", "finishmonth", "finishyear", $form->assesstimefinish);
print_time_selector("finishhour", "finishminute", $form->assesstimefinish);
echo "</td></tr></table>";
-
+
echo "<input type=\"hidden\" name=\"hratingtime\" value=\"0\" />";
echo "<input type=\"hidden\" name=\"hassessed\" value=\"0\" />";
echo "<input type=\"hidden\" name=\"hscale\" value=\"0\" />";
--- /dev/null
+<?php
+require_once ($CFG->libdir.'/formslib.php');
+class glossary_mod_form extends moodleform_mod {
+
+ function definition() {
+
+ global $CFG;
+ $mform =& $this->_form;
+ $renderer =& $mform->defaultRenderer();
+
+//-------------------------------------------------------------------------------
+ $mform->addElement('header', 'general', get_string('general', 'form'));
+
+ $mform->addElement('text', 'name', get_string('name'));
+ $mform->setType('name', PARAM_TEXT);
+ $mform->addRule('name', null, 'required', null, 'client');
+
+ $mform->addElement('htmleditor', 'intro', get_string('description'));
+ $mform->setType('intro', PARAM_RAW);
+ $mform->addRule('intro', get_string('required'), 'required', null, 'client');
+
+ $options=array();
+ $options=array_combine(range(1,10), range(1,10))+//keys, values, step=1
+ array_combine(range(15,100, 5), range(15,100, 5)) ;
+ $mform->addElement('select', 'entbypage', get_string('entbypage', 'glossary'), $options);
+ $mform->setDefault('entbypage', 10);
+
+ if (has_capability('mod/glossary:manageentries', get_context_instance(CONTEXT_SYSTEM, SITEID))) {
+ $mform->addElement('checkbox', 'globalglossary', get_string('isglobal', 'glossary'));
+ $mform->setHelpButton('globalglossary', array('globalglossary', get_string('globalglossary', 'glossary'), 'glossary'));
+
+ }else{
+ $mform->addElement('hidden', 'globalglossary');
+ }
+
+ $options = array(1=>get_string('mainglossary', 'glossary'), 0=>get_string('secondaryglossary', 'glossary'));
+ $mform->addElement('select', 'mainglossary', get_string('glossarytype', 'glossary'), $options);
+ $mform->setHelpButton('mainglossary', array('mainglossary', get_string('mainglossary', 'glossary'), 'glossary'));$mform->setDefault('allowduplicatedentries', $CFG->glossary_dupentries);
+ $mform->setDefault('mainglossary', 0);
+
+ $mform->addElement('selectyesno', 'allowduplicatedentries', get_string('allowduplicatedentries', 'glossary'), $options);
+ $mform->setDefault('allowduplicatedentries', $CFG->glossary_dupentries);
+ $mform->setHelpButton('allowduplicatedentries', array('allowduplicatedentries', get_string('allowduplicatedentries', 'glossary'), 'glossary'));
+
+ $mform->addElement('selectyesno', 'allowcomments', get_string('allowcomments', 'glossary'));
+ $mform->setDefault('allowcomments', $CFG->glossary_allowcomments);
+ $mform->setHelpButton('allowcomments', array('allowcomments', get_string('allowcomments', 'glossary'), 'glossary'));
+
+ $mform->addElement('selectyesno', 'allowprintview', get_string('allowprintview', 'glossary'));
+ $mform->setDefault('allowprintview', 1);
+ $mform->setHelpButton('allowprintview', array('allowprintview', get_string('allowprintview', 'glossary'), 'glossary'));
+
+ $mform->addElement('selectyesno', 'usedynalink', get_string('usedynalink', 'glossary'));
+ $mform->setDefault('usedynalink', $CFG->glossary_linkbydefault);
+ $mform->setHelpButton('usedynalink', array('usedynalink', get_string('usedynalink', 'glossary'), 'glossary'));
+
+ $mform->addElement('selectyesno', 'defaultapproval', get_string('defaultapproval', 'glossary'));
+ $mform->setDefault('defaultapproval', $CFG->glossary_defaultapproval);
+ $mform->setHelpButton('defaultapproval', array('defaultapproval', get_string('defaultapproval', 'glossary'), 'glossary'));
+
+ //get and update available formats
+ $recformats = glossary_get_available_formats();
+
+ $formats = array();
+
+ //Take names
+ foreach ($recformats as $format) {
+ $formats[$format->name] = get_string('displayformat'.$format->name, 'glossary');
+ }
+ //Sort it
+ asort($formats);
+ $mform->addElement('select', 'displayformat', get_string('displayformat', 'glossary'), $formats);
+ $mform->setDefault('displayformat', 'dictionary');
+ $mform->setHelpButton('displayformat', array('displayformat', get_string('displayformat', 'glossary'), 'glossary'));
+
+ $mform->addElement('selectyesno', 'showspecial', get_string('showspecial', 'glossary'));
+ $mform->setDefault('showspecial', 1);
+ $mform->setHelpButton('showspecial', array('shows', get_string('showspecial', 'glossary'), 'glossary'));
+
+ $mform->addElement('selectyesno', 'showalphabet', get_string('showalphabet', 'glossary'));
+ $mform->setDefault('showalphabet', 1);
+ $mform->setHelpButton('showalphabet', array('shows', get_string('showalphabet', 'glossary'), 'glossary'));
+
+ $mform->addElement('selectyesno', 'showall', get_string('showall', 'glossary'));
+ $mform->setDefault('showall', 1);
+ $mform->setHelpButton('showall', array('shows', get_string('showall', 'glossary'), 'glossary'));
+
+ $mform->addElement('selectyesno', 'editalways', get_string('editalways', 'glossary'));
+ $mform->setDefault('editalways', 0);
+ $mform->setHelpButton('editalways', array('editalways', get_string('editalways', 'glossary'), 'glossary'));
+
+ if ($CFG->enablerssfeeds && isset($CFG->glossary_enablerssfeeds) && $CFG->glossary_enablerssfeeds) {
+//-------------------------------------------------------------------------------
+ $mform->addElement('header', '', get_string('rss'));
+ $choices = array();
+ $choices[0] = get_string('none');
+ $choices[1] = get_string('withauthor', 'glossary');
+ $choices[2] = get_string('withoutauthor', 'glossary');
+ $mform->addElement('select', 'rsstype', get_string('rsstype'), $choices);
+ $mform->setHelpButton('rsstype', array('rsstype', get_string('rsstype'), 'glossary'));
+
+ $choices = array();
+ $choices[0] = '0';
+ $choices[1] = '1';
+ $choices[2] = '2';
+ $choices[3] = '3';
+ $choices[4] = '4';
+ $choices[5] = '5';
+ $choices[10] = '10';
+ $choices[15] = '15';
+ $choices[20] = '20';
+ $choices[25] = '25';
+ $choices[30] = '30';
+ $choices[40] = '40';
+ $choices[50] = '50';
+ $mform->addElement('select', 'rssarticles', get_string('rssarticles'), $choices);
+ $mform->setHelpButton('rssarticles', array('rssarticles', get_string('rssarticles'), 'glossary'));
+ }
+
+//-------------------------------------------------------------------------------
+ $mform->addElement('header', '', get_string('grade'));
+ $mform->addElement('checkbox', 'assessed', get_string('allowratings', 'glossary') , get_string('ratingsuse', 'glossary'));
+
+ $mform->addElement('modgrade', 'scale', get_string('grade'), false);
+
+ $mform->addElement('date_time_selector', 'assesstimestart', get_string('from'));
+
+ $mform->addElement('date_time_selector', 'assesstimefinish', get_string('to'));
+
+//-------------------------------------------------------------------------------
+ $this->standard_coursemodule_elements();
+
+//-------------------------------------------------------------------------------
+ $buttonarray=array();
+ $buttonarray[] = &MoodleQuickForm::createElement('submit', 'submit', get_string('savechanges'));
+ $buttonarray[] = &MoodleQuickForm::createElement('submit', 'cancel', get_string('cancel'));
+ $mform->addGroup($buttonarray, 'buttonar', '', array(' '), false);
+ $renderer->addStopFieldsetElements('buttonar');
+ }
+
+ function definition_after_data(){
+ global $COURSE;
+ $mform =& $this->_form;
+ $mainglossaryel =& $mform->getElement('mainglossary');
+ $mainglossary = get_record('glossary', 'mainglossary', 1, 'course', $COURSE->id);
+ if ($mainglossary && ($mainglossary->id != $mform->getElementValue('instance'))){
+ //secondary glossary, a main one already exists in this course.
+ $mainglossaryel->setValue(0);
+ $mainglossaryel->freeze();
+ $mainglossaryel->setPersistantFreeze(true);
+ } else {
+ $mainglossaryel->unfreeze();
+ $mainglossaryel->setPersistantFreeze(false);
+
+ }
+ }
+
+
+
+}
+?>
\ No newline at end of file