Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
integration
prechecker
Commits
8293f6c8
Commit
8293f6c8
authored
Dec 25, 2014
by
Ankit Agarwal
Browse files
MDL-48510 inbound: Support disabling of expiration changes in UI
parent
5a829175
Changes
4
Hide whitespace changes
Inline
Side-by-side
admin/tool/messageinbound/classes/edit_handler_form.php
View file @
8293f6c8
...
...
@@ -62,15 +62,24 @@ class tool_messageinbound_edit_handler_form extends moodleform {
// Items which can be configured.
$mform
->
addElement
(
'header'
,
'configuration'
,
get_string
(
'configuration'
));
$options
=
array
(
HOURSECS
=>
get_string
(
'onehour'
,
'tool_messageinbound'
),
DAYSECS
=>
get_string
(
'oneday'
,
'tool_messageinbound'
),
WEEKSECS
=>
get_string
(
'oneweek'
,
'tool_messageinbound'
),
YEARSECS
=>
get_string
(
'oneyear'
,
'tool_messageinbound'
),
0
=>
get_string
(
'noexpiry'
,
'tool_messageinbound'
),
);
$mform
->
addElement
(
'select'
,
'defaultexpiration'
,
get_string
(
'defaultexpiration'
,
'tool_messageinbound'
),
$options
);
$mform
->
addHelpButton
(
'defaultexpiration'
,
'defaultexpiration'
,
'tool_messageinbound'
);
if
(
$handler
->
can_change_defaultexpiration
())
{
// Show option to change expiry only if the handler supports it.
$options
=
array
(
HOURSECS
=>
get_string
(
'onehour'
,
'tool_messageinbound'
),
DAYSECS
=>
get_string
(
'oneday'
,
'tool_messageinbound'
),
WEEKSECS
=>
get_string
(
'oneweek'
,
'tool_messageinbound'
),
YEARSECS
=>
get_string
(
'oneyear'
,
'tool_messageinbound'
),
0
=>
get_string
(
'noexpiry'
,
'tool_messageinbound'
),
);
$mform
->
addElement
(
'select'
,
'defaultexpiration'
,
get_string
(
'defaultexpiration'
,
'tool_messageinbound'
),
$options
);
$mform
->
addHelpButton
(
'defaultexpiration'
,
'defaultexpiration'
,
'tool_messageinbound'
);
}
else
{
$text
=
$this
->
get_defaultexpiration_text
(
$handler
);
$mform
->
addElement
(
'static'
,
'defaultexpiration_fake'
,
get_string
(
'defaultexpiration'
,
'tool_messageinbound'
),
$text
);
$mform
->
addElement
(
'hidden'
,
'defaultexpiration'
);
$mform
->
addHelpButton
(
'defaultexpiration_fake'
,
'defaultexpiration'
,
'tool_messageinbound'
);
$mform
->
setType
(
'defaultexpiration'
,
PARAM_INT
);
}
if
(
$handler
->
can_change_validateaddress
())
{
$mform
->
addElement
(
'checkbox'
,
'validateaddress'
,
get_string
(
'requirevalidation'
,
'tool_messageinbound'
));
...
...
@@ -103,4 +112,28 @@ class tool_messageinbound_edit_handler_form extends moodleform {
$this
->
add_action_buttons
(
true
,
get_string
(
'savechanges'
));
}
/**
* Return a text string representing the selected default expiration for the handler.
*
* @param \core\message\inbound\handler $handler handler instance.
*
* @return string localised text string.
*/
protected
function
get_defaultexpiration_text
(
\
core\message\inbound\handler
$handler
)
{
switch
(
$handler
->
defaultexpiration
)
{
case
HOURSECS
:
return
get_string
(
'onehour'
,
'tool_messageinbound'
);
case
DAYSECS
:
return
get_string
(
'oneday'
,
'tool_messageinbound'
);
case
WEEKSECS
:
return
get_string
(
'oneweek'
,
'tool_messageinbound'
);
case
YEARSECS
:
return
get_string
(
'oneyear'
,
'tool_messageinbound'
);
case
0
:
return
get_string
(
'noexpiry'
,
'tool_messageinbound'
);
default
:
return
''
;
// Should never happen.
}
}
}
admin/tool/messageinbound/index.php
View file @
8293f6c8
...
...
@@ -58,8 +58,11 @@ if (empty($classname)) {
if
(
$mform
->
is_cancelled
())
{
redirect
(
$PAGE
->
url
);
}
else
if
(
$data
=
$mform
->
get_data
())
{
// Update the record from the form.
$record
->
defaultexpiration
=
(
int
)
$data
->
defaultexpiration
;
if
(
$handler
->
can_change_defaultexpiration
())
{
$record
->
defaultexpiration
=
(
int
)
$data
->
defaultexpiration
;
}
if
(
$handler
->
can_change_validateaddress
())
{
$record
->
validateaddress
=
!
empty
(
$data
->
validateaddress
);
...
...
lib/classes/message/inbound/handler.php
View file @
8293f6c8
...
...
@@ -140,6 +140,18 @@ abstract class handler {
return
$this
->
validateaddress
=
$validateaddress
;
}
/**
* Whether the current handler allows changes to expiry of the generated email address.
*
* By default this will return true, but for some handlers it may be
* necessary to disallow such changes.
*
* @return boolean
*/
public
function
can_change_defaultexpiration
()
{
return
true
;
}
/**
* Whether this handler can be disabled (or enabled).
*
...
...
lib/classes/message/inbound/private_files_handler.php
View file @
8293f6c8
...
...
@@ -35,6 +35,15 @@ defined('MOODLE_INTERNAL') || die();
*/
class
private_files_handler
extends
handler
{
/**
* Email generated by this handler should not expire.
*
* @return bool
*/
public
function
can_change_defaultexpiration
()
{
return
false
;
}
/**
* Return a description for the current handler.
*
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment