}
/**
- * Get a token for protecting a form.
- *
- * @param string $slug Slug name.
- *
- * @return string Token string.
- */
- static public function getRequestToken($slug)
- {
- return $GLOBALS['injector']->getInstance('Horde_Token')->get($slug);
- }
-
- /**
- * Check if a token for a form is valid.
- *
- * @param string $slug Slug name.
- * @param string $token Token to check.
- *
- * @throws Horde_Exception
- */
- static public function checkRequestToken($slug, $token)
- {
- $GLOBALS['injector']->getInstance('Horde_Token')->isValid($token, $slug);
- }
-
- /**
* Add a signature + timestamp to a query string and return the signed query
* string.
*
if ($this->vars->actionID) {
try {
- Horde::checkRequestToken('horde.prefs', $this->vars->horde_prefs_token);
- } catch (Horde_Exception $e) {
+ $GLOBALS['injector']->getInstance('Horde_Token')->validate($this->vars->horde_prefs_token, 'horde.prefs');
+ } catch (Horde_Token_Exception $e) {
$GLOBALS['notification']->push($e);
return;
}
$t->set('app', htmlspecialchars($this->app));
$t->set('group', htmlspecialchars($this->group));
$t->set('label', htmlspecialchars($this->prefGroups[$this->group]['label']));
- $t->set('token', Horde::getRequestToken('horde_prefs'));
+ $t->set('token', $GLOBALS['injector']->getInstance('Horde_Token')->get('horde.prefs'));
// Search for previous and next groups.
if (count($prefgroups) > 1) {
default:
try {
- Horde::checkRequestToken('imp.compose', $vars->compose_requestToken);
- } catch (Horde_Exception $e) {
+ $injector->getInstance('Horde_Token')->validate($vars->compose_requestToken, 'imp.compose');
+ } catch (Horde_Token_Exception $e) {
$notification->push($e);
$vars->actionID = null;
}
if ($vars->actionID == 'auto_save_draft') {
$request = new stdClass;
- $request->requestToken = Horde::getRequestToken('imp.compose');
+ $request->requestToken = $injector->getInstance('Horde_Token')->get('imp.compose');
$request->formToken = Horde_Token::generateId('compose');
Horde::sendHTTPResponse(Horde::prepareResponse($request), 'json');
exit;
/* Prepare the redirect template. */
$t->set('cacheid', $composeCacheID);
$t->set('title', htmlspecialchars($title));
- $t->set('token', Horde::getRequestToken('imp.compose'));
+ $t->set('token', $injector->getInstance('Horde_Token')->get('imp.compose'));
Horde::startBuffer();
IMP::status();
'actionID' => '',
'attachmentAction' => '',
'compose_formToken' => Horde_Token::generateId('compose'),
- 'compose_requestToken' => Horde::getRequestToken('imp.compose'),
+ 'compose_requestToken' => $injector->getInstance('Horde_Token')->get('imp.compose'),
'composeCache' => $composeCacheID,
'mailbox' => htmlspecialchars(IMP::$mailbox),
'oldrtemode' => $rtemode,
}
}
+/* Token to use in requests */
+$folders_token = $injector->getInstance('Horde_Token')->get('imp.folders');
+
/* META refresh time (might be altered by actionID). */
$refresh_time = $prefs->getValue('refresh_time');
/* Run through the action handlers. */
if ($vars->actionID) {
try {
- Horde::checkRequestToken('imp.folders', $vars->folders_token);
- } catch (Horde_Exception $e) {
+ $injector->getInstance('Horde_Token')->validate($vars->folders_token, 'imp.folders');
+ } catch (Horde_Token_Exception $e) {
$notification->push($e);
$vars->actionID = null;
}
$template->set('empty', ($vars->actionID == 'folders_empty_mailbox_confirm'));
$template->set('folders', $loop);
$template->set('folders_url', $folders_url);
- $template->set('folders_token', Horde::getRequestToken('imp.folders'));
+ $template->set('folders_token', $folders_token);
echo $template->fetch(IMP_TEMPLATES . '/imp/folders/folders_confirm.html');
require $registry->get('templates', 'horde') . '/common-footer.inc';
break;
}
-/* Token to use in requests */
-$folders_token = Horde::getRequestToken('imp.folders');
-
$folders_url_ob = new Horde_Url($folders_url);
$folders_url_ob->add('folders_token', $folders_token);
'icon' => 'empty_trash.png',
'onclick' => 'return window.confirm(' . Horde_Serialize::serialize(_("Are you sure you wish to empty your trash folder?"), Horde_Serialize::JSON, 'UTF-8') . ')',
'text' => _("Empty _Trash"),
- 'url' => IMP::generateIMPUrl($menu_mailbox_url, $trash_folder)->add(array('actionID' => 'empty_mailbox', 'mailbox_token' => Horde::getRequestToken('imp.mailbox')))
+ 'url' => IMP::generateIMPUrl($menu_mailbox_url, $trash_folder)->add(array('actionID' => 'empty_mailbox', 'mailbox_token' => $injector->getInstance('Horde_Token')->get('imp.mailbox')))
));
}
}
'icon' => 'empty_spam.png',
'onclick' => 'return window.confirm(' . Horde_Serialize::serialize(_("Are you sure you wish to empty your trash folder?"), Horde_Serialize::JSON, 'UTF-8') . ')',
'text' => _("Empty _Spam"),
- 'url' => IMP::generateIMPUrl($menu_mailbox_url, IMP::folderPref($spam_folder, true))->add(array('actionID' => 'empty_mailbox', 'mailbox_token' => Horde::getRequestToken('imp.mailbox')))
+ 'url' => IMP::generateIMPUrl($menu_mailbox_url, IMP::folderPref($spam_folder, true))->add(array('actionID' => 'empty_mailbox', 'mailbox_token' => $injector->getInstance('Horde_Token')->get('imp.mailbox')))
));
}
}
(intval($id) != 1) &&
(strpos($id, '.') === false)) {
if ($mask & self::SUMMARY_STRIP_LINK) {
- $url = Horde::selfUrl(true)->remove(array('actionID', 'imapid', 'uid'))->add(array('actionID' => 'strip_attachment', 'imapid' => $id, 'uid' => $this->_uid, 'message_token' => Horde::getRequestToken('imp.impcontents')));
+ $url = Horde::selfUrl(true)->remove(array('actionID', 'imapid', 'uid'))->add(array('actionID' => 'strip_attachment', 'imapid' => $id, 'uid' => $this->_uid, 'message_token' => $GLOBALS['injector']->getInstance('Horde_Token')->get('imp.impcontents')));
$part['strip'] = Horde::link($url, _("Strip Attachment"), 'iconImg deleteImg', null, 'return window.confirm(' . Horde_Serialize::serialize(_("Are you sure you wish to PERMANENTLY delete this attachment?"), Horde_Serialize::JSON, 'UTF-8') . ')') . '</a>';
} else {
$part['strip'] = Horde::link('#', _("Strip Attachment"), 'iconImg deleteImg stripAtc', null, null, null, null, array('mimeid' => $id)) . '</a>';
if ($vars->checkbox == 'd') {
try {
- Horde::checkRequestToken('imp.message-mimp', $vars->mt);
+ $injector->getInstance('Horde_Token')->validate($vars->mt, 'imp.message-mimp');
$imp_message->delete(new IMP_Indices($vars->indices));
- } catch (Horde_Exception $e) {
+ } catch (Horde_Token_Exception $e) {
$notification->push($e);
}
} else {
if (Horde::callHook('mimp_advanced', array('checkbox'), 'imp')) {
$t->set('checkbox', $mailbox_url->copy()->add('p', $pageOb['page']));
$t->set('forminput', Horde_Util::formInput());
- $t->set('mt', Horde::getRequestToken('imp.message-mimp'));
+ $t->set('mt', $injector->getInstance('Horde_Token')->get('imp.message-mimp'));
}
} catch (Horde_Exception_HookNotSet $e) {}
/* Run through the action handlers */
if ($actionID && ($actionID != 'message_missing')) {
try {
- Horde::checkRequestToken('imp.mailbox', $vars->mailbox_token);
- } catch (Horde_Exception $e) {
+ $injector->getInstance('Horde_Token')->validate($vars->mailbox_token, 'imp.mailbox');
+ } catch (Horde_Token_Exception $e) {
$notification->push($e);
$actionID = null;
}
}
/* Token to use in requests */
-$mailbox_token = Horde::getRequestToken('imp.mailbox');
+$mailbox_token = $injector->getInstance('Horde_Token')->get('imp.mailbox');
/* Deal with filter options. */
if (!$readonly && $session->get('imp', 'filteravail')) {
if ($vars->a == 'd') {
try {
- Horde::checkRequestToken('imp.message-mimp', $vars->mt);
+ $injector->getInstance('Horde_Token')->validate($vars->mt, 'imp.message-mimp');
$msg_delete = (bool)$imp_message->delete($imp_indices);
- } catch (Horde_Exception $e) {
+ } catch (Horde_Token_Exception $e) {
$notification->push($e);
}
} else {
if (!$readonly) {
$menu[] = in_array('\\deleted', $flags)
? array(_("Undelete"), $self_link->copy()->add('a', 'u'))
- : array(_("Delete"), $self_link->copy()->add(array('a' => 'd', 'mt' => Horde::getRequestToken('imp.message-mimp'))));
+ : array(_("Delete"), $self_link->copy()->add(array('a' => 'd', 'mt' => $injector->getInstance('Horde_Token')->get('imp.message-mimp'))));
}
/* Add compose actions (Reply, Reply List, Reply All, Forward, Redirect). */
if ($conf['spam']['reporting'] &&
($conf['spam']['spamfolder'] ||
($mailbox_name != IMP::folderPref($prefs->getValue('spam_folder'), true)))) {
- $menu[] = array(_("Report as Spam"), $self_link->copy()->add(array('a' => 'rs', 'mt' => Horde::getRequestToken('imp.message-mimp'))));
+ $menu[] = array(_("Report as Spam"), $self_link->copy()->add(array('a' => 'rs', 'mt' => $injector->getInstance('Horde_Token')->get('imp.message-mimp'))));
}
if ($conf['notspam']['reporting'] &&
(!$conf['notspam']['spamfolder'] ||
($mailbox_name == IMP::folderPref($prefs->getValue('spam_folder'), true)))) {
- $menu[] = array(_("Report as Innocent"), $self_link->copy()->add(array('a' => 'ri', 'mt' => Horde::getRequestToken('imp.message-mimp'))));
+ $menu[] = array(_("Report as Innocent"), $self_link->copy()->add(array('a' => 'ri', 'mt' => $injector->getInstance('Horde_Token')->get('imp.message-mimp'))));
}
$t->set('menu', $imp_ui_mimp->getMenu('message', $menu));
$vars = Horde_Variables::getDefaultVariables();
if ($vars->actionID) {
try {
- Horde::checkRequestToken('imp.message', $vars->message_token);
- } catch (Horde_Exception $e) {
+ $injector->getInstance('Horde_Token')->validate($vars->message_token, 'imp.message');
+ } catch (Horde_Token_Exception $e) {
$notification->push($e);
$vars->actionID = null;
}
/* Generate the link to ourselves. */
$msgindex = $imp_mailbox->getMessageIndex();
$message_url = Horde::url('message.php');
-$message_token = Horde::getRequestToken('imp.message');
+$message_token = $injector->getInstance('Horde_Token')->get('imp.message');
$self_link = IMP::generateIMPUrl('message.php', IMP::$mailbox, $uid, $mailbox_name)->add(array('start' => $msgindex, 'message_token' => $message_token));
/* Develop the list of headers to display. */
if ($mode == 'thread') {
$delete_link = IMP::generateIMPUrl('mailbox.php', $mbox)->add(array(
'actionID' => 'delete_messages',
- 'mailbox_token' => Horde::getRequestToken('imp.mailbox')
+ 'mailbox_token' => $injector->getInstance('Horde_Token')->get('imp.mailbox')
));
foreach ($thread as $val) {
$delete_link->add(array('indices[]' => strval(new IMP_Indices(IMP::$mailbox, $val)), 'start' => $imp_mailbox->getArrayIndex($val)));
* to use the standard form mechanisms via CLI. Think of some
* alternatives here.
*/
- $token = Horde::getRequestToken('cli');
+ $token = $GLOBALS['injector']->getInstance('Horde_Token')->get('cli');
$this->_cmd_argv['koward_form_object_formToken'] = $token;
/**
/**
* Provide a token for immediate deletion.
*/
- $this->_cmd_argv['token'] = Horde::getRequestToken('object.delete');
+ $this->_cmd_argv['token'] = $GLOBALS['injector']->getInstance('Horde_Token')->get('object.delete');
break;
}
$this->submit_url = $this->urlFor(array('controller' => 'object',
'action' => 'delete',
'id' => $this->params->id,
- 'token' => Horde::getRequestToken('object.delete')));
+ 'token' => $GLOBALS['injector']->getInstance('Horde_Token')->get('object.delete')));
$this->return_url = $this->urlFor(array('controller' => 'object',
'action' => 'listall'));
} else {
$token = $this->params->token;
}
- Horde::checkRequestToken('object.delete', $token);
+ $GLOBALS['injector']->getInstance('Horde_Token')->validate($token, 'object.delete');
$result = $this->object->delete();
if ($result === true) {
$this->koward->notification->push(sprintf(_("Successfully deleted the object \"%s\""),
} else {
$token = $this->params->token;
}
- Horde::checkRequestToken('object.' . $this->params->oaction, $token);
+ $GLOBALS['injector']->getInstance('Horde_Token')->validate($token, 'object.' . $this->params->oaction);
$action = $this->params->oaction;
$result = $this->object->$action();
'action' => 'view',
'id' => $this->params->id,
'action' => $action,
- 'token' => Horde::getRequestToken('object.' . $action)));
+ 'token' => $GLOBALS['injector']->getInstance('Horde_Token')->get('object.' . $action)));
$this->return_url = $this->urlFor(array('controller' => 'object',
'action' => 'view',
'id' => $this->params->id));