68 lines
2.0 KiB
PHP
68 lines
2.0 KiB
PHP
<?php
|
|
/**
|
|
* Copyright 2002-2017 Horde LLC (http://www.horde.org/)
|
|
*
|
|
* See the enclosed file LICENSE for license information (ASL). If you
|
|
* did not receive this file, see http://www.horde.org/licenses/apache.
|
|
*
|
|
* @category Horde
|
|
* @copyright 2002-2017 Horde LLC
|
|
* @license http://www.horde.org/licenses/apache ASL
|
|
* @package Ingo
|
|
*/
|
|
|
|
/**
|
|
* Generate folder lists for use in UI elements.
|
|
*
|
|
* @author Mike Cochrane <mike@graftonhall.co.nz>
|
|
* @author Jan Schneider <jan@horde.org>
|
|
* @author Michael Slusarz <slusarz@horde.org>
|
|
* @category Horde
|
|
* @copyright 2002-2017 Horde LLC
|
|
* @license http://www.horde.org/licenses/apache ASL
|
|
* @package Ingo
|
|
*/
|
|
class Ingo_Flist
|
|
{
|
|
/**
|
|
* Generates a folder widget.
|
|
*
|
|
* If an application is available that provides a mailboxList method
|
|
* then a <select> input is created. Otherwise a simple text field
|
|
* is returned.
|
|
*
|
|
* @param string $value The current value for the field.
|
|
* @param string $tagname The label for the select tag.
|
|
*
|
|
* @return string The HTML to render the field.
|
|
*/
|
|
static public function select($value = null, $tagname = 'actionvalue')
|
|
{
|
|
global $injector, $page_output, $registry;
|
|
|
|
$view = $injector->createInstance('Horde_View');
|
|
$view->addHelper('FormTag');
|
|
$view->addHelper('Tag');
|
|
|
|
$view->tagname = $tagname;
|
|
$view->val = $value;
|
|
|
|
if ($registry->hasMethod('mail/mailboxList')) {
|
|
try {
|
|
$view->create = $registry->hasMethod('mail/createMailbox');
|
|
$view->mboxes = $registry->call('mail/mailboxList');
|
|
|
|
$page_output->addScriptFile('new_folder.js');
|
|
$page_output->addInlineJsVars(array(
|
|
'IngoNewFolder.folderprompt' => _("Please enter the name of the new folder:")
|
|
));
|
|
|
|
return $view->render('flist/select');
|
|
} catch (Horde_Exception $e) {}
|
|
}
|
|
|
|
return $view->render('flist/input');
|
|
}
|
|
|
|
}
|