<?php /** * File containing the ezcConsoleDialogViewer class. * * @package ConsoleTools * @version 1.6.1 * @copyright Copyright (C) 2005-2010 eZ Systems AS. All rights reserved. * @license http://ez.no/licenses/new_bsd New BSD License * @filesource */ /** * Utility class for ezcConsoleDialog implementations. * This class contains utility methods for working with {@link * ezcConsoleDialog} implementations. * * To display a dialog in a loop until a valid result is received do: * <code> * // Instatiate dialog in $dialog ... * ezcConsoleDialogViewer::displayDialog( $dialog ); * </code> * * For implementing a custom dialog, the method {@link readLine()} method can be * used to read a line of input from the user. * * @package ConsoleTools * @version 1.6.1 */ class ezcConsoleDialogViewer { /** * Displays a dialog and returns a valid result from it. * This methods displays a dialog in a loop, until it received a valid * result from it and returns this result. * * @param ezcConsoleDialog $dialog The dialog to display. * @return mixed The result from this dialog. */ public static function displayDialog( ezcConsoleDialog $dialog ) { do { $dialog->display(); } while ( $dialog->hasValidResult() === false ); return $dialog->getResult(); } /** * Returns a line from STDIN. * The returned line is fully trimmed. * * @return string * @throws ezcConsoleDialogAbortException * if the user closes STDIN using <CTRL>-D. */ public static function readLine() { $res = trim( fgets( STDIN ) ); if ( feof( STDIN ) ) { throw new ezcConsoleDialogAbortException(); } return $res; } } ?>
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
dialog | Folder | 0755 |
|
|
exceptions | Folder | 0755 |
|
|
input | Folder | 0755 |
|
|
interfaces | Folder | 0755 |
|
|
options | Folder | 0755 |
|
|
structs | Folder | 0755 |
|
|
table | Folder | 0755 |
|
|
tools | Folder | 0755 |
|
|
console_autoload.php | File | 6.36 KB | 0644 |
|
dialog_viewer.php | File | 1.78 KB | 0644 |
|
input.php | File | 44.07 KB | 0644 |
|
output.php | File | 18.68 KB | 0644 |
|
progressbar.php | File | 13.92 KB | 0644 |
|
progressmonitor.php | File | 5.83 KB | 0644 |
|
statusbar.php | File | 7.26 KB | 0644 |
|
table.php | File | 28.04 KB | 0644 |
|