예제 #1
0
 function _renderForm(&$page)
 {
     $pageName = $page->getAttribute('name');
     $tabPreview = array_slice($page->controller->_tabs, -2, 1);
     $p = new HTML_Page(array('lineend' => OS_WINDOWS ? 'win' : 'unix', 'doctype' => "XHTML 1.0 Strict", 'language' => 'en', 'cache' => 'false'));
     $p->disableXmlProlog();
     $p->setTitle("PEAR::HTML_Progress - Generator");
     $p->setMetaData("author", "Laurent Laville");
     $css = new HTML_CSS();
     $css->setStyle('body', 'background-color', '#7B7B88');
     $css->setStyle('body', 'font-family', 'Verdana, Arial, helvetica');
     $css->setStyle('body', 'font-size', '10pt');
     $css->setStyle('h1', 'color', '#FFC');
     $css->setStyle('h1', 'text-align', 'center');
     $css->setStyle('.maintable', 'width', '100%');
     $css->setStyle('.maintable', 'border-width', '0');
     $css->setStyle('.maintable', 'border-style', 'thin dashed');
     $css->setStyle('.maintable', 'border-color', '#D0D0D0');
     $css->setStyle('.maintable', 'background-color', '#EEE');
     $css->setStyle('.maintable', 'cellspacing', '2');
     $css->setStyle('.maintable', 'cellspadding', '3');
     $css->setStyle('th', 'text-align', 'center');
     $css->setStyle('th', 'color', '#FFC');
     $css->setStyle('th', 'background-color', '#AAA');
     $css->setStyle('th', 'white-space', 'nowrap');
     $css->setStyle('input', 'font-family', 'Verdana, Arial, helvetica');
     $css->setStyle('input.flat', 'border-style', 'solid');
     $css->setStyle('input.flat', 'border-width', '2px 2px 0px 2px');
     $css->setStyle('input.flat', 'border-color', '#996');
     // on preview tab, add progress bar javascript and stylesheet
     if ($pageName == $tabPreview[0][0]) {
         $bar = $page->controller->createProgressBar();
         $p->addStyleDeclaration($css->toString() . $bar->getStyle());
         $p->addScriptDeclaration($bar->getScript());
         $barElement =& $page->getElement('progressBar');
         $barElement->setText($bar->toHtml());
     } else {
         $p->addStyleDeclaration($css->toString());
     }
     $renderer =& $page->defaultRenderer();
     $renderer->setFormTemplate('<table class="maintable"><form{attributes}>{content}</form></table>');
     $renderer->setHeaderTemplate('<tr><th colspan="2">{header}</th></tr>');
     $renderer->setGroupTemplate('<table><tr>{content}</tr></table>', 'name');
     $renderer->setGroupElementTemplate('<td>{element}<br /><span style="font-size:10px;"><span class="label">{label}</span></span></td>', 'name');
     $page->accept($renderer);
     $p->addBodyContent($renderer->toHtml());
     $p->display();
 }
예제 #2
0
    function _renderForm(&$page)
    {
        $pageName = $page->getAttribute('name');
        $tabPreview = array_slice($page->controller->_tabs, -2, 1);
        $tab = '  ';
        $p = new HTML_Page(array('lineend' => OS_WINDOWS ? 'win' : 'unix', 'tab' => $tab, 'doctype' => "XHTML 1.0 Strict", 'language' => 'en', 'cache' => 'false'));
        $p->disableXmlProlog();
        $p->setTitle("PEAR::HTML_Progress - Generator");
        $p->setMetaData("author", "Laurent Laville");
        $css = '
body {
  background-color: #7B7B88;
  font-family: Verdana, Arial, helvetica;
  font-size: 10pt;
}

h1 {
  color: #FFC;
  text-align: center;
}

.maintable {
  width: 100%;
  border-width: 0;
  border-style: thin dashed;
  border-color: #D0D0D0;
  background-color: #EEE;
  cellspacing: 2;
  cellspadding: 3;
}

th {
  text-align: center;
  color: #FFC;
  background-color: #AAA;
  white-space: nowrap;
}

input {
  font-family: Verdana, Arial, helvetica;
}

input.flat {
  border-style: solid;
  border-width: 2px 2px 0px 2px;
  border-color: #996;
}
';
        // on preview tab, add progress bar javascript and stylesheet
        if ($pageName == $tabPreview[0][0]) {
            $bar = $page->controller->createProgressBar();
            $ui =& $bar->getUI();
            $ui->setTab($tab);
            $p->addStyleDeclaration($css . $bar->getStyle());
            $p->addScriptDeclaration($bar->getScript());
            $barElement =& $page->getElement('progressBar');
            $barElement->setText($bar->toHtml());
        } else {
            $p->addStyleDeclaration($css);
        }
        $renderer =& $page->defaultRenderer();
        $renderer->setFormTemplate('<table class="maintable"><form{attributes}>{content}</form></table>');
        $renderer->setHeaderTemplate('<tr><th colspan="2">{header}</th></tr>');
        $renderer->setGroupTemplate('<table><tr>{content}</tr></table>', 'name');
        $renderer->setGroupElementTemplate('<td>{element}<br /><span style="font-size:10px;"><span class="label">{label}</span></span></td>', 'name');
        $page->accept($renderer);
        $p->addBodyContent($renderer->toHtml());
        $p->display();
    }
예제 #3
0
<?php

@(include '../include_path.php');
/**
 * PEAR::HTML_Page package made it easy to build
 * a very simple ProgressBar Monitor.
 *
 * @version    $Id: htmlpage.php,v 1.1 2004/06/27 13:08:50 farell Exp $
 * @author     Laurent Laville <*****@*****.**>
 * @package    HTML_Progress
 */
require_once 'HTML/Progress/monitor.php';
require_once 'HTML/Page.php';
$p = new HTML_Page(array('charset' => 'utf-8', 'lineend' => OS_WINDOWS ? 'win' : 'unix', 'doctype' => "XHTML 1.0 Strict", 'language' => 'en', 'cache' => 'false'));
$p->setTitle("PEAR::HTML_Progress - Simple Monitor demo");
$p->setMetaData("author", "Laurent Laville");
$progressMonitor = new HTML_Progress_Monitor();
$bar =& $progressMonitor->getProgressElement();
$bar->setAnimSpeed(20);
$p->addStyleDeclaration($progressMonitor->getStyle());
$p->addScriptDeclaration($progressMonitor->getScript());
$p->addBodyContent('<h1>PEAR::HTML_Page renderer without user-callback</h1>');
$p->addBodyContent($progressMonitor->toHtml());
$p->addBodyContent('<p>&lt;&lt; <a href="../index.html">Back examples TOC</a></p>');
$p->display();
$progressMonitor->run();