当前位置: 首页>>代码示例>>PHP>>正文


PHP PHPTAL类代码示例

本文整理汇总了PHP中PHPTAL的典型用法代码示例。如果您正苦于以下问题:PHP PHPTAL类的具体用法?PHP PHPTAL怎么用?PHP PHPTAL使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了PHPTAL类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: getForm

 public static function getForm($errors = array())
 {
     global $cfg;
     if (LOGGED) {
         redirect(REFERER);
     }
     $note = new Notifier();
     $err = new Error();
     if ($errors) {
         $note->error($errors);
     }
     if ($_POST['login'] && $_POST['module']) {
         $form = array('logname' => $_POST['logname-session'] ? filter($_POST['logname-session'], 100) : '', 'password' => $_POST['password-session'] ? filter($_POST['password-session'], 100) : '');
         $err->setError('empty_logname', t('Logname field is required.'))->condition(!$form['logname']);
         $err->setError('logname_not_exists', t('The logname you used isn't registered.'))->condition($form['logname'] && !User::loginNameRegistered($form['logname']));
         $err->setError('password_empty', t('Password field is required.'))->condition(!$form['password']);
         $err->setError('password_invalid', t('Password is invalid.'))->condition($form['password'] && !User::loginPasswordCorrect($form['password']));
         $err->noErrors() ? redirect(REFERER) : $note->restore()->error($err->toArray());
     }
     $tpl = new PHPTAL('modules/login/form.html');
     $tpl->form = $form;
     $tpl->err = $err->toArray();
     $tpl->note = $note;
     echo $tpl->execute();
 }
开发者ID:rafalenden,项目名称:KioCMS,代码行数:25,代码来源:login.module.php

示例2: processViewData

 /**
  * This method is used to process the data into the view and than return it to the main method that will handle what to do.
  * It also uses buffer to handle that content.
  *
  * @author Klederson Bueno <klederson@klederson.com>
  * @version 0.1a
  *
  * @param String $___phpBurnFilePath
  * @param Array $__phpBurnData
  * @return String
  */
 public function processViewData($___phpBurnFilePath, $__phpBurnData)
 {
     $tpl = new PHPTAL($___phpBurnFilePath);
     $tpl->setOutputMode(PHPTAL::HTML5);
     $tr = new PHPTAL_GetTextTranslator();
     // set language to use for this session (first valid language will
     // be used)
     $tr->setLanguage('pt_BR.utf8', 'pt_BR');
     // register gettext domain to use
     $tr->addDomain('system', SYS_BASE_PATH . 'locale');
     // specify current domain
     $tr->useDomain('system');
     // tell PHPTAL to use our translator
     $tpl->setTranslator($tr);
     foreach ($__phpBurnData as $index => $value) {
         if (is_string($value)) {
             $value = PhpBURN_Views::lazyTranslate($value, $_SESSION['lang']);
         }
         $tpl->{$index} = $value;
     }
     ob_start();
     try {
         echo $tpl->execute();
     } catch (Exception $e) {
         echo $e;
     }
     $___phpBurnBufferStored = ob_get_contents();
     //
     //        //Cleaning the buffer for new sessions
     ob_clean();
     return $___phpBurnBufferStored;
 }
开发者ID:phpburn,项目名称:phpburn,代码行数:43,代码来源:dcampos.php

示例3: getContent

    public function getContent()
    {
        global $sql;
        //Lang::load('blocks/shoutbox/lang.*.php');
        $err = new Error();
        $note = new Notifier('note-shoutbox');
        $form['author'] = LOGGED ? User::$nickname : '';
        $form['message'] = '';
        if (isset($_POST['reply-shoutbox'])) {
            $form['author'] = LOGGED ? User::$nickname : filter($_POST['author-shoutbox'], 100);
            $form['message'] = filter($_POST['message-shoutbox'], Kio::getConfig('message_max', 'shoutbox'));
            $err->setError('author_empty', t('Author field is required.'))->condition(!$form['author']);
            $err->setError('author_exists', t('Entered nickname is registered.'))->condition(!LOGGED && is_registered($form['author']));
            $err->setError('message_empty', t('Message field is required.'))->condition(!$form['message']);
            // No errors
            if ($err->noErrors()) {
                $sql->exec('
					INSERT INTO ' . DB_PREFIX . 'shoutbox (added, author, message, author_id, author_ip)
					VALUES (
						' . TIMESTAMP . ',
						"' . $form['author'] . '",
						"' . cut($form['message'], Kio::getConfig('message_max', 'shoutbox')) . '",
						' . UID . ',
						"' . IP . '")');
                $sql->clearCache('shoutbox');
                $note->success(t('Entry was added successfully.'));
                redirect(HREF . PATH . '#shoutbox');
            } else {
                $note->error($err->toArray());
            }
        }
        // If cache for shoutbox doesn't exists
        if (!($entries = $sql->getCache('shoutbox'))) {
            $query = $sql->query('
				SELECT u.nickname, u.group_id, s.added, s.author, s.author_id, s.message
				FROM ' . DB_PREFIX . 'shoutbox s
				LEFT JOIN ' . DB_PREFIX . 'users u ON u.id = s.author_id
				ORDER BY s.id DESC
				LIMIT ' . Kio::getConfig('limit', 'shoutbox'));
            while ($row = $query->fetch()) {
                if ($row['author_id']) {
                    $row['author'] = User::format($row['author_id'], $row['nickname'], $row['group_id']);
                    $row['message'] = parse($row['message'], Kio::getConfig('parser', 'shoutbox'));
                }
                $entries[] = $row;
            }
            $sql->putCacheContent('shoutbox', $entries);
        }
        try {
            $tpl = new PHPTAL('blocks/shoutbox/shoutbox.tpl.html');
            $tpl->entries = $entries;
            $tpl->err = $err->toArray();
            $tpl->form = $form;
            $tpl->note = $note;
            return $tpl->execute();
        } catch (Exception $e) {
            return template_error($e->getMessage());
            //echo Note::error($e->getMessage());
        }
    }
开发者ID:rafalenden,项目名称:KioCMS,代码行数:60,代码来源:shoutbox.block.php

示例4: getContent

 public function getContent()
 {
     // User is logged in
     if (LOGGED) {
         $this->subcodename = 'logged';
         $tpl = new PHPTAL('blocks/user_panel/logged.html');
         $tpl->user = User::format(User::$id, User::$nickname, User::$groupId);
         $pm_item = User::$pmNew ? array(t('Messages <strong>(New: %new)</strong>', array('%new' => $user->pm_new)), 'pm/inbox') : array(t('Messages'), 'pm');
         $tpl->items = items(array($pm_item[0] => HREF . $pm_item[1], t('Administration') => HREF . 'admin', t('Edit profile') => HREF . 'edit_profile', t('Log out') => HREF . 'logout'));
         return $tpl->execute();
     } else {
         $err = new Error();
         $note = new Notifier('note-user_panel');
         $this->subcodename = 'not_logged';
         $form = array('logname' => null, 'password' => null);
         if ($_POST['login'] && $_POST['user_panel']) {
             $form['logname'] = $_POST['logname-session'] ? filter($_POST['logname-session'], 100) : '';
             $form['password'] = $_POST['password-session'] ? $_POST['password-session'] : '';
             $err->setError('logname_empty', t('Logname field is required.'))->condition(!$form['logname']);
             $err->setError('logname_not_exists', t('Entered logname is not registered.'))->condition(!User::loginNameRegistered($form['logname']));
             $err->setError('password_empty', t('Password field is required.'))->condition(!$form['password']);
             $err->setError('password_incorrect', t('ERROR_PASS_INCORRECT'))->condition($form['password'] && !User::loginPasswordCorrect($form['password']));
             if ($err->noErrors()) {
                 redirect('./');
             } else {
                 $note->error($err->toArray());
             }
         }
         $tpl = new PHPTAL('blocks/user_panel/not_logged.html');
         $tpl->note = $note;
         $tpl->form = $form;
         $tpl->err = $err->toArray();
         return $tpl->execute();
     }
 }
开发者ID:rafalenden,项目名称:KioCMS,代码行数:35,代码来源:user_panel.block.php

示例5: PHPTALWithSource

 private function PHPTALWithSource($source)
 {
     global $PhptalCacheTest_random;
     $tpl = new PHPTAL();
     $tpl->setForceReparse(false);
     $tpl->setSource($source . "<!-- {$this->PhptalCacheTest_random} -->");
     // avoid cached templates from previous test runs
     return $tpl;
 }
开发者ID:gbisra,项目名称:Computer-r-us,代码行数:9,代码来源:PhptalCacheTest.php

示例6: render

 public function render(&$toolbar)
 {
     if (!class_exists('PHPTAL')) {
         require 'PHPTAL.php';
     }
     $tal = new PHPTAL();
     $tal->toolbar = $toolbar;
     $tal->setSource($this->template);
     $html = $tal->execute();
     return $html;
 }
开发者ID:abbra,项目名称:midcom,代码行数:11,代码来源:tal.php

示例7: execute

 /**
  * Use PHPTAL to generate some XHTML
  * @return string
  */
 public function execute()
 {
     try {
         $this->phptal->setTemplate($this->template);
         return $this->phptal->execute();
     } catch (Exception $e) {
         $ex = new FrameEx($e->getMessage());
         $ex->backtrace = $e->getTrace();
         throw $ex;
     }
 }
开发者ID:Acidburn0zzz,项目名称:xframe-legacy,代码行数:15,代码来源:PHPTALView.php

示例8: parse

 public function parse($tplDir, $tplFile, $args)
 {
     if (!$this->is_included) {
         $this->include_php_tal_file();
     }
     /**
      * @var PHPTAL
      */
     $tpl = new PHPTAL($tplDir . "/" . $tplFile);
     $tpl->doc = $args;
     return $tpl->execute();
 }
开发者ID:BackupTheBerlios,项目名称:anemone,代码行数:12,代码来源:PHPTALEngine.php

示例9: getContent

    public function getContent()
    {
        global $sql;
        $note = new Notifier('note-poll');
        $stmt = $sql->setCache('poll_topic')->query('
			SELECT id, title, votes
			FROM ' . DB_PREFIX . 'poll_topics
			WHERE active = 1');
        $topic = $stmt->fetch(PDO::FETCH_ASSOC);
        if ($topic) {
            $vote_id = $sql->query('
				SELECT option_id
				FROM ' . DB_PREFIX . 'poll_votes
				WHERE topic_id = ' . $topic['id'] . ' AND voter_ip = "' . IP . '"')->fetchColumn();
            $stmt = $sql->setCache('poll_options')->query('
				SELECT id, title, votes
				FROM ' . DB_PREFIX . 'poll_options
				WHERE topic_id = ' . $topic['id'] . ' ORDER BY votes DESC');
            // User already voted
            if ($vote_id) {
                $options = array();
                $block->subcodename = 'results';
                foreach ($stmt as $row) {
                    $row['percent'] = @round(100 * ($row['votes'] / $topic['votes']), 1);
                    $options[] = $row;
                }
                $tpl = new PHPTAL('blocks/poll/results.html');
                $tpl->vote_id = $vote_id;
            } else {
                if ($_POST['vote-poll'] && $_POST['option-poll']) {
                    $option_id = (int) $_POST['option-poll'];
                    $sql->clearCacheGroup('poll_*')->exec('
					UPDATE ' . DB_PREFIX . 'poll_options o, ' . DB_PREFIX . 'poll_topics t
					SET o.votes = o.votes + 1, t.votes = t.votes + 1
					WHERE o.topic_id = ' . $topic['id'] . ' AND o.id = ' . $option_id . ' AND t.id = ' . $topic['id'] . ';
					INSERT INTO ' . DB_PREFIX . 'poll_votes (topic_id, option_id, voter_id, voter_ip, voted)
					VALUES (' . $topic['id'] . ', ' . $option_id . ', ' . $user->id . ', "' . IP . '", ' . TIMESTAMP . ')');
                    redirect(PATH . '#poll');
                } else {
                    $block->subcodename = 'voting';
                    $options = $stmt->fetchAll(PDO::FETCH_ASSOC);
                    $tpl = new PHPTAL('blocks/poll/voting.html');
                }
            }
            $stmt->closeCursor();
            $tpl->topic = $topic;
            $tpl->options = $options;
            $tpl->note = $note;
            return $tpl->execute();
        } else {
            return t('There is no content to display.');
        }
    }
开发者ID:rafalenden,项目名称:KioCMS,代码行数:53,代码来源:poll.block.php

示例10: outputTAL

 /**
  * Executes PHPTAL template and wraps its result in layout.xhtml
  */
 private static function outputTAL(array $result, $path)
 {
     $phptal = new PHPTAL();
     foreach ($result as $k => $v) {
         $phptal->set($k, $v);
     }
     $layout = clone $phptal;
     // lazy hack
     $layout->setTemplate('templates/layout.xhtml');
     $phptal->setTemplate($path);
     $layout->content_phptal = $phptal;
     $layout->echoExecute();
 }
开发者ID:jobinpankajan,项目名称:WeGive,代码行数:16,代码来源:template.php

示例11: __construct

 /**
  * Build the PHPTAL engine.
  *
  * @param array $options An array of parameters used to set up the PHPTAL configuration.
  *                       Available configuration values include:
  *                       - phptal
  *                       - cache-dir
  *                       - template-dir
  */
 public function __construct(array $options = array())
 {
     if (array_key_exists('phptal', $options)) {
         $this->phptal = $options['phptal'];
         return;
     }
     $this->phptal = new \PHPTAL();
     if (array_key_exists('cache-dir', $options)) {
         $this->phptal->setPhpCodeDestination($options['cache-dir']);
     }
     if (array_key_exists('template-dir', $options)) {
         $this->phptal->setTemplateRepository($options['template-dir']);
     }
 }
开发者ID:phptransformers,项目名称:phptal,代码行数:23,代码来源:PHPTALTransformer.php

示例12: getContent

    public function getContent()
    {
        global $sql;
        // $kio->disableRegion('left');
        if (u1 || LOGGED) {
            // TODO: Zamiast zapytania dla własnego konta dać User::toArray()
            $profile = $sql->query('
				SELECT u.*
				FROM ' . DB_PREFIX . 'users u
				WHERE u.id = ' . (ctype_digit(u1) ? u1 : UID))->fetch();
        }
        if ($profile) {
            Kio::addTitle(t('Users'));
            Kio::addBreadcrumb(t('Users'), 'users');
            Kio::addTitle($profile['nickname']);
            Kio::addBreadcrumb($profile['nickname'], 'profile/' . u1 . '/' . clean_url($profile['nickname']));
            Kio::setDescription(t('%nickname&apos;s profile', array('%nickname' => $profile['nickname'])) . ($profile['title'] ? ' - ' . $profile['title'] : ''));
            Kio::addTabs(array(t('Edit profile') => 'edit_profile/' . u1));
            if ($profile['birthdate']) {
                $profile['bd'] = $profile['birthdate'] ? explode('-', $profile['birthdate']) : '';
                // DD Month YYYY (Remaining days to next birthday)
                $profile['birthdate'] = $profile['bd'][2] . ' ' . Kio::$months[$profile['bd'][1]] . ' ' . $profile['bd'][0] . ' (' . day_diff(mktime(0, 0, 0, $profile['bd'][1], $profile['bd'][2] + 1, date('y')), t('%d days remaining')) . ')';
                $profile['age'] = get_age($profile['bd'][2], $profile['bd'][1], $profile['bd'][0]);
                if (Plugin::exists('zodiac')) {
                    require_once ROOT . 'plugins/zodiac/zodiac.plugin.php';
                    $profile['zodiac'] = Zodiac::get($profile['bd'][2], $profile['bd'][1]);
                }
            }
            if ($profile['http_agent'] && Plugin::exists('user_agent')) {
                require_once ROOT . 'plugins/user_agent/user_agent.plugin.php';
                $profile['os'] = User_Agent::getOS($profile['http_agent']);
                $profile['browser'] = User_Agent::getBrowser($profile['http_agent']);
            }
            $group = Kio::getGroup($profile['group_id']);
            $profile['group'] = $group['name'] ? $group['inline'] ? sprintf($group['inline'], $group['name']) : $group['name'] : '';
            if ($profile['gender']) {
                $profile['gender'] = $profile['gender'] == 1 ? t('Male') : t('Female');
            }
            try {
                // TODO: Zrobić modyfikator dla funkcji o wielu parametrach (teraz jest tylko jeden możliwy)
                $tpl = new PHPTAL('modules/profile/profile.tpl.html');
                $tpl->profile = $profile;
                return $tpl->execute();
            } catch (Exception $e) {
                return template_error($e);
            }
        } else {
            return not_found(t('Selected user doesn&apos;t exists.'), array(t('This person was deleted from database.'), t('Entered URL is invalid.')));
        }
    }
开发者ID:rafalenden,项目名称:KioCMS,代码行数:50,代码来源:profile.module.php

示例13: getContent

 public function getContent()
 {
     //Lang::load('blocks/calendar/lang.*.php');
     $today = date('j');
     $month = date('n');
     $year = date('Y');
     if ($month < 8 && $month % 2 == 1 || $month > 7 && $month % 2 == 0) {
         $total_days = 31;
     } else {
         $total_days = $month == 2 ? date('L') ? 29 : 28 : 30;
     }
     $first_day = date('w', mktime(1, 1, 1, $month, 0, $year));
     $last_day = date('w', mktime(1, 1, 1, $month, $total_days - 1, $year));
     if ($first_day != 0) {
         $colspan = $first_day;
     }
     if (6 - $last_day != 0) {
         $colspan2 = 6 - $last_day;
     }
     $days = null;
     for ($day = 1; $day <= $total_days; ++$day) {
         $day_of_week = date('w', mktime(1, 1, 1, $month, $day - 1, $year));
         if ($day == 1 || $day_of_week == 0) {
             $days .= '<tr class="border-1-parent" title="' . t('Week: %week', array('%week' => date('W', mktime(1, 1, 1, $month, $day, $year)))) . '">';
             if ($colspan > 0 && $day == 1) {
                 $days .= '<td colspan="' . $colspan . '" class="empty">&nbsp;</td>';
             }
         }
         $days .= '<td><a';
         if ($day == $today) {
             $days .= ' class="today border-2"';
         }
         $days .= ' href="#' . $day . '.' . $month . '.' . $year . '">' . $day . '</a></td>';
         if ($day == $total_days && $colspan2 > 0) {
             $days .= '<td colspan="' . $colspan2 . '" class="empty">&nbsp;</td>';
         }
         if ($day_of_week == 6 || $day == $total_days) {
             $days .= '</tr>';
         }
     }
     try {
         $tpl = new PHPTAL('blocks/calendar/month_view.html');
         $tpl->days = $days;
         $tpl->month_year = date('m') . '/' . $year;
         return $tpl->execute();
     } catch (Exception $e) {
         return template_error($e->getMessage());
     }
 }
开发者ID:rafalenden,项目名称:KioCMS,代码行数:49,代码来源:calendar.block.php

示例14: echoExecute

 private function echoExecute(PHPTAL $tpl)
 {
     try {
         ob_start();
         $this->assertEquals(0, strlen($tpl->echoExecute()));
         $res = ob_get_clean();
     } catch (Exception $e) {
         ob_end_clean();
         throw $e;
     }
     $res2 = $tpl->execute();
     $res3 = $tpl->execute();
     $this->assertEquals($res2, $res3, "Multiple runs should give same result");
     $this->assertEquals($res2, $res, "Execution with and without buffering should give same result");
     return normalize_html($res);
 }
开发者ID:gbisra,项目名称:Computer-r-us,代码行数:16,代码来源:EchoExecuteTest.php

示例15: getContent

    public function getContent()
    {
        global $sql;
        $pager = new Pager('users', Kio::getStat('total', 'users'), Kio::getConfig('limit', 'users'));
        $pager->sort(array(t('Nickname') => 'nickname', t('Group') => 'g_name', t('Gender') => 'gender', t('Title') => 'title', t('Location') => 'locality', t('Country') => 'country', t('Registered') => 'registered'), 'registered', 'asc');
        $query = $sql->query('
			SELECT id, name, inline, members
			FROM ' . DB_PREFIX . 'groups
			ORDER BY display_order');
        while ($row = $query->fetch()) {
            if ($row['inline']) {
                $row['name'] = sprintf($row['inline'], $row['name']);
            }
            $groups[] = $row;
        }
        $query = $sql->query('
			SELECT u.id, u.nickname, u.email, u.registered, u.group_id, u.gender, u.locality, u.country, u.communicator, u.title, g.name g_name
			FROM ' . DB_PREFIX . 'users u
			LEFT JOIN ' . DB_PREFIX . 'groups g ON g.id = u.group_id
			ORDER BY ' . $pager->orderBy . '
			LIMIT ' . $pager->limit . '
			OFFSET ' . $pager->offset);
        while ($row = $query->fetch()) {
            $row['nickname'] = User::format($row['id'], $row['nickname'], $row['group_id']);
            switch ($row['gender']) {
                case 1:
                    $row['gender'] = ' <img class="gender" src="' . LOCAL . 'themes/' . THEME . '/images/male.png" alt="' . t('Male') . '" title="' . t('Male') . '" />';
                    break;
                case 2:
                    $row['gender'] = ' <img class="gender" src="' . LOCAL . 'themes/' . THEME . '/images/female.png" alt="' . t('Female') . '" title="' . t('Female') . '" />';
                    break;
                default:
                    $row['gender'] = '';
            }
            $users[] = $row;
        }
        try {
            $tpl = new PHPTAL('modules/users/users.tpl.html');
            $tpl->sort = $pager->sorters;
            $tpl->users = $users;
            $tpl->groups = $groups;
            $tpl->pagination = $pager->getLinks();
            return $tpl->execute();
        } catch (Exception $e) {
            return template_error($e);
        }
    }
开发者ID:rafalenden,项目名称:KioCMS,代码行数:47,代码来源:users.module.php


注:本文中的PHPTAL类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。