Only in quickmailord: .DS_Store diff -u quickmailord/block_quickmail.php quickmail/block_quickmail.php --- quickmailord/block_quickmail.php 2007-03-03 11:38:44.000000000 -0500 +++ quickmail/block_quickmail.php 2009-01-14 17:50:05.000000000 -0500 @@ -51,15 +51,21 @@ if (empty($this->instance) or !$this->check_permission()) { return $this->content; } + + if (!empty($this->instance->pinned) && $this->instance->pinned) { + $pin = '&pinned=1'; + } else { + $pin = ''; + } /// link to composing an email - $this->content->items[] = "wwwroot/blocks/quickmail/email.php?id={$this->course->id}&instanceid={$this->instance->id}\">". + $this->content->items[] = "wwwroot/blocks/quickmail/email.php?id={$this->course->id}&instanceid={$this->instance->id}{$pin}\">". get_string('compose', 'block_quickmail').''; $this->content->icons[] = ''.get_string('email').''; /// link to history log - $this->content->items[] = "wwwroot/blocks/quickmail/emaillog.php?id={$this->course->id}&instanceid={$this->instance->id}\">". + $this->content->items[] = "wwwroot/blocks/quickmail/emaillog.php?id={$this->course->id}&instanceid={$this->instance->id}{$pin}\">". get_string('history', 'block_quickmail').''; $this->content->icons[] = ''.get_string('log').''; @@ -114,7 +120,11 @@ * @return boolean True for access / False for denied **/ function check_permission() { - return has_capability('block/quickmail:cansend', get_context_instance(CONTEXT_BLOCK, $this->instance->id)); + if (empty($this->instance->pinned)) { + return has_capability('block/quickmail:cansend', get_context_instance(CONTEXT_BLOCK, $this->instance->id)); + } else { + return has_capability('block/quickmail:cansend', get_context_instance(CONTEXT_SYSTEM)); + } } /** Common subdirectories: quickmailord/db and quickmail/db diff -u quickmailord/email.html quickmail/email.html --- quickmailord/email.html 2007-03-03 11:38:44.000000000 -0500 +++ quickmail/email.html 2009-01-14 17:41:19.000000000 -0500 @@ -90,6 +90,13 @@ + + + diff -u quickmailord/email.php quickmail/email.php --- quickmailord/email.php 2007-08-31 12:19:16.000000000 -0400 +++ quickmail/email.php 2009-01-14 17:50:13.000000000 -0500 @@ -14,6 +14,7 @@ $id = required_param('id', PARAM_INT); // course ID $instanceid = optional_param('instanceid', 0, PARAM_INT); $action = optional_param('action', '', PARAM_ALPHA); + $pinned = optional_param('pinned', 0, PARAM_INT); $instance = new stdClass; @@ -25,7 +26,12 @@ $context = get_context_instance(CONTEXT_COURSE, $course->id); if ($instanceid) { - $instance = get_record('block_instance', 'id', $instanceid); + if ($pinned) { + $instance = get_record('block_pinned', 'id', $instanceid); + $instance->pinned = true; + } else { + $instance = get_record('block_instance', 'id', $instanceid); + } } else { if ($quickmailblock = get_record('block', 'name', 'quickmail')) { $instance = get_record('block_instance', 'blockid', $quickmailblock->id, 'pageid', $course->id); diff -u quickmailord/emaillog.php quickmail/emaillog.php --- quickmailord/emaillog.php 2007-08-31 12:19:16.000000000 -0400 +++ quickmail/emaillog.php 2009-01-14 17:49:39.000000000 -0500 @@ -17,6 +17,13 @@ $id = required_param('id', PARAM_INT); // course id $action = optional_param('action', '', PARAM_ALPHA); $instanceid = optional_param('instanceid', 0, PARAM_INT); + $pinned = optional_param('pinned', 0, PARAM_INT); + + if ($pinned) { + $pin = '&pinned=1'; + } else { + $pin = ''; + } $instance = new stdClass; @@ -27,7 +34,12 @@ require_login($course->id); if ($instanceid) { - $instance = get_record('block_instance', 'id', $instanceid); + if ($pinned) { + $instance = get_record('block_pinned', 'id', $instanceid); + $instance->pinned = true; + } else { + $instance = get_record('block_instance', 'id', $instanceid); + } } else { if ($quickmailblock = get_record('block', 'name', 'quickmail')) { $instance = get_record('block_instance', 'blockid', $quickmailblock->id, 'pageid', $course->id); @@ -75,7 +87,7 @@ /// define table columns, headers, and base url $table->define_columns($tablecolumns); $table->define_headers($tableheaders); - $table->define_baseurl($CFG->wwwroot.'/blocks/quickmail/emaillog.php?id='.$course->id.'&instanceid='.$instanceid); + $table->define_baseurl($CFG->wwwroot.'/blocks/quickmail/emaillog.php?id='.$course->id.'&instanceid='.$instanceid.$pin); /// table settings $table->sortable(true, 'timesent', SORT_DESC); @@ -117,9 +129,9 @@ $table->add_data( array(userdate($pastemail->timesent), s($pastemail->subject), format_string($pastemail->attachment, true), - "id&instanceid=$instanceid&emailid=$pastemail->id&action=view\">". + "id&instanceid=$instanceid{$pin}&emailid=$pastemail->id&action=view\">". "pixpath/i/search.gif\" height=\"14\" width=\"14\" alt=\"".get_string('view').'" /> '. - "id&instanceid=$instanceid&sesskey=$USER->sesskey&action=dump&emailid=$pastemail->id\">". + "id&instanceid=$instanceid{$pin}&sesskey=$USER->sesskey&action=dump&emailid=$pastemail->id\">". "pixpath/t/delete.gif\" height=\"11\" width=\"11\" alt=\"".get_string('delete').'" />')); } } Common subdirectories: quickmailord/lang and quickmail/lang diff -u quickmailord/tabs.php quickmail/tabs.php --- quickmailord/tabs.php 2007-03-03 11:38:46.000000000 -0500 +++ quickmail/tabs.php 2009-01-14 17:49:44.000000000 -0500 @@ -16,12 +16,17 @@ if (empty($currenttab)) { $currenttab = 'compose'; } + if ($pinned) { + $pin = '&pinned=1'; + } else { + $pin = ''; + } $rows = array(); $row = array(); - $row[] = new tabobject('compose', "$CFG->wwwroot/blocks/quickmail/email.php?id=$course->id&instanceid=$instanceid", get_string('compose', 'block_quickmail')); - $row[] = new tabobject('history', "$CFG->wwwroot/blocks/quickmail/emaillog.php?id=$course->id&instanceid=$instanceid", get_string('history', 'block_quickmail')); + $row[] = new tabobject('compose', "$CFG->wwwroot/blocks/quickmail/email.php?id=$course->id&instanceid=$instanceid{$pin}", get_string('compose', 'block_quickmail')); + $row[] = new tabobject('history', "$CFG->wwwroot/blocks/quickmail/emaillog.php?id=$course->id&instanceid=$instanceid{$pin}", get_string('history', 'block_quickmail')); $rows[] = $row; print_tabs($rows, $currenttab);