* 's' = (integer) start
* 'sb' = (integer) change sort: by
* 'sd' = (integer) change sort: dir
+ * 'search' = (sring) The search string
*
* Copyright 1999-2009 The Horde Project (http://www.horde.org/)
*
case 'c':
IMP::setSort(Horde_Util::getFormData('sb'), Horde_Util::getFormData('sd'));
break;
+
+// 's' = search
+case 's':
+ require IMP_TEMPLATES . '/mailbox/search-mimp.inc';
+ exit;
+
+// 'rs' = run search
+case 'rs':
+ $search_query = Horde_Util::getFormData('search');
+ if (!empty($search_query) &&
+ ($_SESSION['imp']['protocol'] == 'imap')) {
+ $query = new Horde_Imap_Client_Search_Query();
+ $query->text($search_query, false);
+
+ /* Create the search query and reset the global $imp_mbox variable. */
+ $sq = $imp_search->createSearchQuery($query, array(Horde_Util::getFormData('mailbox')), array(), _("Search Results"));
+ IMP::setCurrentMailboxInfo($imp_search->createSearchID($sq));
+
+ /* Need to re-calculate the read-only value. */
+ $readonly = $imp_imap->isReadOnly($imp_mbox['mailbox']);
+ }
+ break;
}
/* Get the base URL for this page. */
$mailbox = Horde_Util::addParameter($mailbox_url, 'p', $pageOb['page']);
$items = array($mailbox => _("Refresh"));
+$search_mbox = $imp_search->isSearchMbox($imp_mbox['mailbox']);
/* Determine if we are going to show the Purge Deleted link. */
if (!$readonly &&
$sortdir = $sortpref['dir'];
$sortkey = $key;
if (($key == Horde_Imap_Client::SORT_SUBJECT) &&
- IMP::threadSortAvailable($mailbox)) {
+ IMP::threadSortAvailable($mailbox) &&
+ !$search_mbox) {
if (is_null($threadob)) {
$items[Horde_Util::addParameter($mailbox, array('a' => 'c', 'sb' => Horde_Imap_Client::SORT_THREAD, 'sd' => $sortdir))] = _("Sort by Thread");
} else {
}
}
+/* Add search link. */
+if (!$search_mbox &&
+ ($_SESSION['imp']['protocol'] == 'imap')) {
+ $items[Horde_Util::addParameter($mailbox_url, array('a' => 's'))] = _("Search");
+}
+
/* Create mailbox menu. */
$menu = new Horde_Mobile_card('o', _("Menu"));
$mset = &$menu->add(new Horde_Mobile_linkset());
$mset->add(new Horde_Mobile_link(_("Prev"), $prev_link));
}
-$mset->add(new Horde_Mobile_link(sprintf(_("To %s"), IMP::getLabel($mailbox_name)), $mailbox_link));
+$mset->add(new Horde_Mobile_link(sprintf(_("To %s"), IMP::getLabel($imp_mbox['mailbox'])), $mailbox_link));
MIMP::addMIMPMenu($mset, 'message');
--- /dev/null
+<?php
+
+$mimp_render = new Horde_Mobile();
+$c = $mimp_render->add(new Horde_Mobile_card('m', sprintf(_("Search %s"), $imp_mbox['mailbox'])));
+
+$f = $c->add(new Horde_Mobile_form('mailbox-mimp.php'));
+
+$f->add(new Horde_Mobile_hidden('a', 'rs'));
+$f->add(new Horde_Mobile_hidden('mailbox', $imp_mbox['mailbox']));
+
+$f->add(new Horde_Mobile_input('search', '', _("Search String: ")));
+
+$f->add(new Horde_Mobile_submit(_("Run Search"), 'submit'));
+
+$imp_notify->setMobileObject($c);
+$notification->notify(array('listeners' => 'status'));
+
+$mimp_render->display();