Ejemplo n.º 1
0
 public function execute($argHtmlHint = NULL, $argParams = NULL, $argKey = NULL)
 {
     if (NULL === $argKey) {
         $argKey = $this->_orgHtmlKey;
         // 一度使ったら不要
         $this->_orgHtmlKey = NULL;
     }
     // ベースとなるテンプレートエンジンインスタンスを生成
     if (NULL !== $this->_orgHtmlHint) {
         $this->addTemplate($this->_orgHtmlHint, $argKey);
         // 一度使ったら不要
         $this->_orgHtmlHint = NULL;
     }
     if (NULL !== $argHtmlHint) {
         $this->addTemplate($argHtmlHint, $argKey);
     }
     // assignの実行
     $html = '<html templatepartsid="main"></html>';
     $htmls = array();
     if (count($this->Templates) > 0) {
         $templates = array_reverse($this->Templates);
     } else {
         $templates = $this->Templates;
     }
     foreach ($templates as $key => $val) {
         $tmpHtml = self::assign($val, $argParams);
         if (is_array($tmpHtml)) {
             if (isset($tmpHtml['param'])) {
                 $argParams = $tmpHtml['param'];
             }
             if (isset($tmpHtml['html'])) {
                 $tmpHtml = $tmpHtml['html'];
             }
         }
         if ('base' === $key) {
             $html = $tmpHtml;
         } else {
             $htmls[$key] = $tmpHtml;
         }
         // リセットしておく
         self::assign(self::ASSIGN_RESET);
     }
     unset($templates);
     // 複数のテンプレートhtmlをガッチャンコ
     if (count($htmls) > 0) {
         $BaseTemplate = new HtmlTemplate($html);
         foreach ($htmls as $key => $val) {
             $key = '[templatepartsid=' . $key . ']';
             // XXX アウターで置き換える!!
             // TODO 文字コードの変換指定はそのうちちゃんとやる
             $BaseTemplate->addSource($key, $val, NULL, NULL, TRUE);
         }
         // 書き戻し
         $html = $BaseTemplate->flush();
         unset($htmls);
     }
     return $html;
 }
Ejemplo n.º 2
0
 public function assignPDFToTmpl(HtmlTemplate $erlassTmpl)
 {
     $avail = $this->availExts();
     if (!in_array('pdf', $avail)) {
         return;
     }
     $tmpl = $erlassTmpl->addSubtemplate('downloadMenu');
     $item = $tmpl->addSubtemplate('downloadItem');
     $item->assign('ext', 'pdf');
 }
Ejemplo n.º 3
0
 public function assignToTemplate(HtmlTemplate $tmpl)
 {
     $query = 'select distinct `' . $this->name . '` from Erlass order by `' . $this->name . '`;';
     $result = mysql_query($query);
     while (list($value) = mysql_fetch_row($result)) {
         $li = $tmpl->addSubtemplate('CheckboxItem');
         if (in_array($value, $this->checked)) {
             $li->assignHtml('checked', '" checked="checked');
             $li->assignHtml('selected', '" selected="selected');
         } else {
             $li->assignHtml('checked', '');
             $li->assignHtml('selected', '');
         }
         $li->assign('value', $value);
         $li->assign('id', $this->name . $value);
     }
     $tmpl->assign('name', $this->name);
 }
Ejemplo n.º 4
0
 public function getHtml($tmplFile, &$given = array(), $parent = self::ROOT_NAME, $indent = ' ')
 {
     $tmpl = HtmlTemplate::fromFile($tmplFile);
     $tmpl->assign('parent', $parent);
     $childs =& $this->getChildsOf($parent);
     foreach ($childs as $child) {
         $sub = $tmpl->addSubtemplate('thema');
         $checked = '';
         $selected = '';
         if (in_array($child, $given)) {
             $checked = '" checked="checked';
             $selected = '" selected="selected';
         }
         $sub->assign('id', 'thema' . $child);
         $sub->assign('Name', $child);
         $sub->assign('indent', $indent);
         $sub->assignHtml('checked', $checked);
         $sub->assignHtml('selected', $selected);
         $sub->assignHtml('childs', $this->getHtml($tmplFile, $given, $child, '-' . $indent));
     }
     return $tmpl->result();
 }
Ejemplo n.º 5
0
 static function write_comments($page)
 {
     if (!$page->show_comments) {
         return;
     }
     HtmlTemplate::write_comments_wb($page);
 }
Ejemplo n.º 6
0
 /**
  * Очищение массива сообщений
  */
 public static function unsetError()
 {
     self::$errors = array();
 }
Ejemplo n.º 7
0
 public function assignToTmpl(HtmlTemplate $tmpl)
 {
     foreach ($this->data as $key => $value) {
         $tmpl->assign($key, $value);
     }
     if (isset($this->data['Dokument'])) {
         $tmpl->assignText('Dokument', $this->data['Dokument']);
     }
     if (isset($this->data['NfD'])) {
         $nfd = '1';
         if ($this->data['NfD']) {
             $nfd .= '" checked="checked';
         }
         $tmpl->assignHtml('NfD', $nfd);
     }
     if (!$this->data['Betreff']) {
         $tmpl->assign('Betreff', 'ohne Betreff');
     }
 }
Ejemplo n.º 8
0
            }
        }
        Comments::set_all($page->url, $comments);
    }
    $p->body .= "Hidden {$total_change} comments";
}
$num_new_spam = 0;
$p->body .= '<table class="spam">';
foreach (Resolver::find_all_pages('blog') as $page) {
    $comments = Comments::get_all($page->url, true);
    $com_body = array();
    foreach ($comments as $comment) {
        $is_spam = ($comment->visible ? 'visible' : 'hidden') . ' ' . ($comment->is_spam() ? 'spam' : 'nonspam');
        if ($comment->visible || !$comment->is_spam()) {
            $com_body[] = "<td class='{$is_spam} summary'>" . htmlspecialchars($comment->author_name) . ', ' . htmlspecialchars($comment->author_email) . ', ' . htmlspecialchars($comment->author_url) . ', ' . htmlspecialchars($comment->author_ip) . "<td class='{$is_spam} summary'>" . htmlspecialchars(substr($comment->body, 0, 100));
            //"<td class='$is_spam summary'>" . $comment->body_html();
        }
        if ($comment->visible && $comment->is_spam()) {
            $num_new_spam++;
        }
    }
    if ($com_body) {
        $p->body .= "<tr class='first'><td rowspan='" . count($com_body) . "'><a href='" . htmlspecialchars($page->url) . "'>" . $page->title . '</a>';
        $p->body .= implode('<tr>', $com_body);
    }
}
$p->body .= '</table>';
$p->body .= '<p>';
$p->body .= "<form method='post' action='delete-spam.php'><input type='hidden' name='confirm' value='1'><input type='submit' value='Be gone, all {$num_new_spam} of you.'></form>";
HtmlTemplate::write($p);
Ejemplo n.º 9
0
 static function forbidden($msg = '')
 {
     if (AUTH_METHOD == 'Digest') {
         header('WWW-Authenticate: Digest realm="' . AUTH_REALM . '",qop="auth",nonce="' . uniqid() . '",opaque="' . md5(AUTH_REALM) . '"');
     } else {
         header('WWW-Authenticate: Basic realm="' . AUTH_REALM . '"');
     }
     $page = new Page('');
     $page->title = "Authentication required";
     $page->body = "Authentication is required to access this page." . ($msg ? "\n{$msg}" : "");
     $page->status_code = 401;
     HtmlTemplate::write($page);
     exit;
 }
Ejemplo n.º 10
0
<?php

session_start() or die("Error initializing session.");
$template_page = array();
$errormessage = "";
$islogin = isset($_SESSION['username']) ? true : false;
define('IN_ANNOUNCE', true);
define("ROOT_PATH", dirname(__FILE__) . '/');
require_once ROOT_PATH . 'include/functions.php';
spl_autoload_register(function ($class) {
    include ROOT_PATH . 'include/classes/' . $class . '.class.php';
});
require_once ROOT_PATH . 'include/config.php';
$htmltemplate = new HtmlTemplate();
$localize = Localizer::getInstance();
$localize->setLanguage($lang);
$page = isset($_GET['page']) ? $_GET['page'] : "login";
if (is_file(ROOT_PATH . "pages/" . $page . ".php")) {
    require_once ROOT_PATH . "pages/" . $page . ".php";
}
if (is_file(ROOT_PATH . "template/{$page}.tpl")) {
    $template_page = file(ROOT_PATH . "template/{$page}.tpl");
}
$template_page = implode("", $template_page);
$template_main = implode("", file(ROOT_PATH . "template/main.tpl"));
$htmltemplate->assign("pagetitle", $page);
$htmltemplate->assign("errormessage", $errormessage);
$htmltemplate->assign("main", $template_page);
header('Content-type: text/html; charset=utf-8');
$htmltemplate->display($template_main, $localize);
Ejemplo n.º 11
0
 public function assignToLevelForm(HtmlTemplate $tmpl, $mail)
 {
     $tmpl->assign('mail', $mail);
     $tmpl->assign('stufe', self::levelOf($mail));
     foreach (self::$labels as $level => $label) {
         $entry = $tmpl->addSubtemplate('levelEntry');
         $entry->assign('level', $level);
         $entry->assign('label', $label);
     }
 }
Ejemplo n.º 12
0
 static function die_not_found($url, $msg = '')
 {
     $page = Page::error_page_file_not_found($url, $msg);
     HtmlTemplate::write($page);
     exit;
 }
Ejemplo n.º 13
0
 private function kundenToTemplate(HtmlTemplate $tmpl)
 {
     $query = 'select id, Stufe from Kunde order by id;';
     $result = mysql_query($query);
     while ($kunde = mysql_fetch_array($result)) {
         $sub = $tmpl->addSubtemplate('kunde');
         $sub->assign('mail', $kunde['id']);
         $sub->assign('Stufe', $kunde['Stufe']);
     }
 }
Ejemplo n.º 14
0
            if ($page->show_comments) {
                $comments = count(Comments::get_all($page->url));
                if ($comments == 0) {
                    $notes .= "0 comments<br>";
                } elseif ($comments == 1) {
                    $notes .= "1 comment<br>";
                } else {
                    $notes .= "{$comments} comments<br>";
                }
            }
            $out .= "<li>";
            $out .= '<a href="' . htmlspecialchars($page->url) . '">';
            $out .= "<span class='thumbnail {$page->icon}'></span>";
            $out .= "<span class='details'>" . $notes . "</span>";
            $out .= "<span class='title'>" . htmlspecialchars($page->title) . "</span>";
            $out .= "<span class='desc'>" . htmlspecialchars($page->subtitle) . "</span>";
            $out .= "</a></li>\n";
        }
        $out .= "</ul>";
        if ($this->tag) {
            //$out .= "<p><a href='feed/$this->tag'>Feed for posts tagged '$this->tag'</a>";
        } else {
            $out .= "<p><a href='feed'>Subscribe to my feed</a>";
        }
        return $out;
    }
}
$page = new BlogPage('blog');
Cache::begin($page);
HtmlTemplate::write($page);