* 'edit_query' - (string) The search query to edit.
* 'edit_query_vfolder' - (string) The name of the vfolder being edited.
* 'search_folders_form' - (array) The list of folders to add to the query.
+ * 'search_label' - (string) The label to use when saving the search.
* 'search_mailbox' - (string) Use this mailbox as the default value.
* DEFAULT: INBOX
+ * 'search_save' - (boolean) If set, save search.
+ * 'search_type' - (string) The type of saved search ('vfolder').
* 'show_unsub' - (integer) If set, return a JSON object with folder
* information used to create the folder list.
- * 'vfolder_label' - (string) The label to use when saving as a virtual folder.
- * 'vfolder_save' - (boolean) If set, save search as a virtual folder.
*
* Copyright 1999-2009 The Horde Project (http://www.horde.org/)
*
$imp_ui_search = new IMP_UI_Search();
$query = $imp_ui_search->createQuery($criteria);
- /* Save the search as a virtual folder if requested. */
- if (Horde_Util::getFormData('vfolder_save')) {
- $edit_query_vfolder = Horde_Util::getFormData('edit_query_vfolder');
- $vfolder_label = Horde_Util::getFormData('vfolder_label');
- $id = $imp_search->addVFolder($query, $folders, $criteria, $vfolder_label, empty($edit_query_vfolder) ? null : $edit_query_vfolder);
- $notification->push(sprintf(_("Virtual Folder \"%s\" created succesfully."), $vfolder_label), 'horde.success');
+ /* Save the search if requested. */
+ if (Horde_Util::getFormData('search_save')) {
+ $search_label = Horde_Util::getFormData('search_label');
+
+ switch (Horde_Util::getFormData('search_type')) {
+ case 'vfolder':
+ $edit_query_vfolder = Horde_Util::getFormData('edit_query_vfolder');
+ $id = $imp_search->addVFolder($query, $folders, $criteria, $search_label, empty($edit_query_vfolder) ? null : $edit_query_vfolder);
+ $notification->push(sprintf(_("Virtual Folder \"%s\" created succesfully."), $search_label), 'horde.success');
+ break;
+ }
} else {
/* Set the search in the session. */
$id = $imp_search->createSearchQuery($query, $folders, $criteria, _("Search Results"));
'loading' => _("Loading..."),
'need_criteria' => _("Please select at least one search criteria."),
'need_folder' => _("Please select at least one folder to search."),
- 'need_vfolder_label' => _("Virtual Folders require a label."),
+ 'need_label' => _("Saved searches require a label."),
'not_match' => _("Do NOT Match"),
'search_term' => _("Search Term:")
);
<div class="smallheader leftAlign">
<span class="searchuiImg arrowExpanded" style="display:none"></span>
<span class="searchuiImg arrowCollapsed"></span>
- <gettext>Virtual Folders</gettext>
+ <gettext>Saved Searches</gettext>
</div>
<div style="display:none">
<input type="hidden" name="edit_query_vfolder" value="" />
<else:edit_query_vfolder>
<div class="item">
- <label for="vfolder_save"><gettext>Save search as a virtual folder?</gettext></label> <input type="checkbox" class="checkbox" id="vfolder_save" name="vfolder_save" />
+ <input type="checkbox" class="checkbox" id="search_save" name="search_save" /> <label for="search_save"><gettext>Save search?</gettext></label>
+ </div>
+ <div class="item">
+ <label for="search_type"><gettext>Type:</gettext></label>
+ <select id="search_type">
+ <option value="vfolder"><gettext>Virtual Folder</gettext></option>
+ </select>
</div>
</else:edit_query_vfolder></if:edit_query_vfolder>
<div class="item">
- <label for="vfolder_label"><gettext>Label:</gettext></label> <input type="text" name="vfolder_label" id="vfolder_label" />
+ <label for="search_label"><gettext>Label:</gettext></label> <input type="text" name="search_label" id="search_label" />
</div>
</div>
</if:virtualfolder>