Add hook for request token creation (upon user request)

release-0.6
thomascube 14 years ago
parent d1e08fc905
commit ef27a6a723

@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail CHANGELOG Roundcube Webmail
=========================== ===========================
- Added plugin hook for request token creation
- Replace LDAP vars in group queries (#1487837) - Replace LDAP vars in group queries (#1487837)
- Fix vcard folding with uncode characters (#1487868) - Fix vcard folding with uncode characters (#1487868)
- Keep all submitted data if contact form validation fails (#1487865) - Keep all submitted data if contact form validation fails (#1487865)

@ -1108,7 +1108,8 @@ class rcmail
{ {
$sess_id = $_COOKIE[ini_get('session.name')]; $sess_id = $_COOKIE[ini_get('session.name')];
if (!$sess_id) $sess_id = session_id(); if (!$sess_id) $sess_id = session_id();
return md5('RT' . $this->task . $this->config->get('des_key') . $sess_id); $plugin = $this->plugins->exec_hook('request_token', array('value' => md5('RT' . $this->task . $this->config->get('des_key') . $sess_id)));
return $plugin['value'];
} }

@ -69,7 +69,6 @@ class rcube_template extends rcube_html_page
//$this->framed = $framed; //$this->framed = $framed;
$this->set_env('task', $task); $this->set_env('task', $task);
$this->set_env('request_token', $this->app->get_request_token());
// load the correct skin (in case user-defined) // load the correct skin (in case user-defined)
$this->set_skin($this->config['skin']); $this->set_skin($this->config['skin']);
@ -342,6 +341,9 @@ class rcube_template extends rcube_html_page
else if ($unlock) { else if ($unlock) {
array_unshift($this->js_commands, array('hide_message', $unlock)); array_unshift($this->js_commands, array('hide_message', $unlock));
} }
$this->set_env('request_token', $this->app->get_request_token());
// write all env variables to client // write all env variables to client
$js = $this->framed ? "if(window.parent) {\n" : ''; $js = $this->framed ? "if(window.parent) {\n" : '';
$js .= $this->get_js_commands() . ($this->framed ? ' }' : ''); $js .= $this->get_js_commands() . ($this->framed ? ' }' : '');

Loading…
Cancel
Save