Files
server/usr/share/psa-horde/ingo/lib/Flist.php
2026-01-07 20:52:11 +01:00

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 &lt;select&gt; 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');
}
}