Now editalways is working in glossaries.

Decide if an entry is editable:
-It isn't a imported entry (so nobody can edit a imported (from secondary to main) entry)) and
-The user is teacher or he is a student with time permissions (edit period or editalways defined).

Bug 1445
(http://moodle.org/bugs/bug.php?op=show&bugid=1445)
This commit is contained in:
stronk7 2004-08-09 15:04:36 +00:00
parent d116ee768a
commit ff1e2621f3
10 changed files with 48 additions and 10 deletions

View file

@ -57,6 +57,7 @@
fwrite ($bf,full_tag("DEFAULTAPPROVAL",4,false,$glossary->defaultapproval));
fwrite ($bf,full_tag("GLOBALGLOSSARY",4,false,$glossary->globalglossary));
fwrite ($bf,full_tag("ENTBYPAGE",4,false,$glossary->entbypage));
fwrite ($bf,full_tag("EDITALWAYS",4,false,$glossary->editalways));
fwrite ($bf,full_tag("RSSTYPE",4,false,$glossary->rsstype));
fwrite ($bf,full_tag("RSSARTICLES",4,false,$glossary->rssarticles));
fwrite ($bf,full_tag("TIMECREATED",4,false,$glossary->timecreated));

View file

@ -335,6 +335,10 @@ function glossary_upgrade($oldversion) {
}
}
}
if ( $oldversion < 2004080800) {
table_column("glossary","","editalways","tinyint","2", "unsigned", "0", "", "entbypage");
}
return true;
}

View file

@ -25,6 +25,7 @@ CREATE TABLE prefix_glossary (
defaultapproval tinyint(2) unsigned NOT NULL default '1',
globalglossary tinyint(2) unsigned NOT NULL default '0',
entbypage tinyint(3) unsigned NOT NULL default '10',
editalways tinyint(2) unsigned NOT NULL default '0',
rsstype tinyint(2) unsigned NOT NULL default '0',
rssarticles tinyint(2) unsigned NOT NULL default '0',
assessed int(10) unsigned NOT NULL default '0',

View file

@ -21,6 +21,7 @@ CREATE TABLE prefix_glossary (
showspecial number(2) default '1' not null,
showall number(2) default '1' not null,
showalphabet number(2) default '1' not null,
editalways number(2) default '0' NOT NULL,
rsstype number(2) default '0' NOT NULL,
rssarticles number(2) default '0' NOT NULL,
timecreated number(10) default '0' not null,

View file

@ -97,6 +97,10 @@ function glossary_upgrade($oldversion) {
}
}
if ( $oldversion < 2004080800) {
table_column("glossary","","editalways","integer","2", "unsigned", "0", "", "entbypage");
}
return true;
}

View file

@ -25,6 +25,7 @@ CREATE TABLE prefix_glossary (
defaultapproval int2 NOT NULL default '1',
globalglossary int2 NOT NULL default '0',
entbypage int NOT NULL default '10',
editalways integer NOT NULL default '0',
rsstype integer NOT NULL default '0',
rssarticles integer NOT NULL default '0',
assessed int4 NOT NULL default '0',

View file

@ -621,8 +621,11 @@ function glossary_print_entry_icons($course, $cm, $glossary, $entry,$mode="",$ho
$icon = "$CFG->pixpath/t/delete.gif";
}
// Exported entries can be updated/deleted only by teachers in the main glossary
if ( !$importedentry and ($isteacher or !$ismainglossary) ) {
//Decide if an entry is editable:
// -It isn't a imported entry (so nobody can edit a imported (from secondary to main) entry)) and
// -The user is teacher or he is a student with time permissions (edit period or editalways defined).
$ineditperiod = (time() - $entry->timemodified < $CFG->maxeditingtime);
if ( !$importedentry and ($isteacher or ($entry->userid == $USER->id and ($glossary->editalways or $ineditperiod)))) {
$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></a> ";

View file

@ -44,12 +44,15 @@ if (!isset($form->showalphabet)) {
if (!isset($form->showspecial)) {
$form->showspecial = 1;
}
if (!isset($form->rsstype)) {
$form->rsstype = 0;
}
if (!isset($form->rssarticles)) {
$form->rssarticles = 0;
}
if (!isset($form->editalways)) {
$form->editalways = 0;
}
if (!isset($form->rsstype)) {
$form->rsstype = 0;
}
if (!isset($form->rssarticles)) {
$form->rssarticles = 0;
}
?>
<FORM name="form" method="post" action="<?php p($ME) ?>">
<CENTER>
@ -318,6 +321,25 @@ if (!$mainglossary or $mainglossary->id == $form->instance ) {
</select> <?php helpbutton("shows", get_string("showall", "glossary"), "glossary") ?>
</TD>
</TR>
<TR valign=top>
<TD align=right><P><B><?php echo get_string("editalways", "glossary") ?>:</B></P></TD>
<TD>
<select size="1" name="editalways">
<option value="1" <?php
if ( $form->editalways ) {
echo "selected";
}
?>
><?php echo get_string("yes") ?></option>
<option value="0" <?php
if ( !$form->editalways ) {
echo "selected";
}
?>><?php echo get_string("no") ?>
</option>
</select> <?php helpbutton("editalways", get_string("editalways", "glossary"), "glossary") ?>
</TD>
</TR>
<?php
//Only show rss parameters if rss is activated at site and glossary levels
if (isset($CFG->enablerssfeeds) && isset($CFG->glossary_enablerssfeeds) &&

View file

@ -61,6 +61,7 @@
$glossary->defaultapproval = backup_todb($info['MOD']['#']['DEFAULTAPPROVAL']['0']['#']);
$glossary->globalglossary = backup_todb($info['MOD']['#']['GLOBALGLOSSARY']['0']['#']);
$glossary->entbypage = backup_todb($info['MOD']['#']['ENTBYPAGE']['0']['#']);
$glossary->editalways = backup_todb($info['MOD']['#']['EDITALWAYS']['0']['#']);
$glossary->rsstype = backup_todb($info['MOD']['#']['RSSTYPE']['0']['#']);
$glossary->rssarticles = backup_todb($info['MOD']['#']['RSSARTICLES']['0']['#']);
$glossary->timecreated = backup_todb($info['MOD']['#']['TIMECREATED']['0']['#']);

View file

@ -5,8 +5,8 @@
/// This fragment is called by moodle_needs_upgrading() and /admin/index.php
/////////////////////////////////////////////////////////////////////////////////
$module->version = 2004072700; // The current module version (Date: YYYYMMDDXX)
$module->requires = 2004052501; // Requires this Moodle version
$module->version = 2004080800; // The current module version (Date: YYYYMMDDXX)
$module->requires = 2004080300; // Requires this Moodle version
$module->cron = 0; // Period for cron to check this module (secs)
$release = "1.4 development"; // User-friendly version number