本文整理汇总了PHP中TPL::setHeaderKey方法的典型用法代码示例。如果您正苦于以下问题:PHP TPL::setHeaderKey方法的具体用法?PHP TPL::setHeaderKey怎么用?PHP TPL::setHeaderKey使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TPL
的用法示例。
在下文中一共展示了TPL::setHeaderKey方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: renderBackendPage
/**
* Will render a specified form, the name of the form given by the first parameter;
*
* This method will render one of the forms for our object, invoked by giving the proper form identifier to the current form.
* We have chosen this method of invoking forms, because we just had too many this->renderSomethingMethod (), which really had
* an impact on code massiveness. Also, having code organized in switch/case statements leads us to be able to share common
* settings between different forms, as we've done with the methods defined in the __CALL method above;
*
* For example, if we wanted to share some common configuration between a create and an edit form, we could have introduced
* two switches in this method, one that would have set the common options, and the second, would have just passed through
* again, and get the already set configuration options, using them. This means that if we needed to change behavior of
* some interconnected forms, that would mean modifying the needed code one place only, which is a big advantage over
* having separated methods for each form. Maybe if we extended this object, you guys could understand the functionality;
*
* @param string $objFormToRender The name of the form to render;
* @return mixed Depends on the rendered form if it returns something or not;
*/
public function renderBackendPage(S $objPageToRender)
{
// Get a specific CSS file for this controller ...
TPL::manageCSS(new FilePath($this->getPathToSkinCSS()->toRelativePath() . $objPageToRender . CSS_EXTENSION), $objPageToRender);
// Do pagination ...
if (isset($_GET[ADMIN_PAGINATION])) {
$objLowerLimit = (int) $_GET[ADMIN_PAGINATION]->toString() * 10 - 10;
$objUpperLimit = 10;
} else {
$objLowerLimit = 0;
$objUpperLimit = 10;
}
// Do a switch on the rendered page ...
switch ($objPageToRender) {
case 'manageArticles':
// Check if there's an action to take;
if (isset($_GET[ADMIN_ACTION])) {
// Do a switch ...
switch ($_GET[ADMIN_ACTION]) {
case ADMIN_ACTION_EDIT:
$this->renderForm(new S('articleEdit'));
break;
case ADMIN_ACTION_ERASE:
$this->renderForm(new S('articleErase'));
break;
}
} else {
// Redirect to DescByPublished ...
if (!isset($_GET[ADMIN_ACTION_SORT])) {
$this->setHeaderKey(URL::rewriteURL(new A(array(ADMIN_ACTION_SORT)), new A(array('DescByPublished'))), new S('Location'));
}
// Set some requirements ...
$objGetCondition = new S();
if (isset($_GET[ADMIN_ACTION_BY])) {
// Do a switch ...
switch ($_GET[ADMIN_ACTION_BY]) {
case ARTICLES_SEARCH_TITLE:
$objGetCondition->appendString(_SP)->appendString('WHERE %objArticleTableFTitle');
break;
case ARTICLES_SEARCH_CONTENT:
$objGetCondition->appendString(_SP)->appendString('WHERE %objArticleTableFContent');
break;
case ARTICLES_SEARCH_TAGS:
$objGetCondition->appendString(_SP)->appendString('WHERE %objArticleTableFTags');
break;
case ARTICLES_SEARCH_EXCERPT:
$objGetCondition->appendString(_SP)->appendString('WHERE %objArticleTableFExcerpt');
break;
case ARTICLES_SEARCH_CATEGORY:
$objGetCondition->appendString('AS t1 INNER JOIN %objCategoryTable AS t2
ON t1.%objArticleTableFCategoryId = t2.%objCategoryTableFId
WHERE %objCategoryTableFName');
break;
}
// Add LIKE searching ...
$objGetCondition->appendString(_SP)->appendString('LIKE "%%Search%"')->doToken('%Search', $_GET[ADMIN_ACTION_SEARCH]);
// Get the count ...
$objSearchCount = $this->getArticleCount($objGetCondition);
}
// Do a sorting, before anything else;
if (isset($_GET[ADMIN_ACTION_SORT])) {
// Do a switch ...
switch ($_GET[ADMIN_ACTION_SORT]) {
case 'AscByTitle':
case 'DescByTitle':
// Make the ordered condition;
$objGetCondition->appendString(_SP)->appendString('ORDER BY %objArticleTableFTitle');
// Do a switch ...
switch ($_GET[ADMIN_ACTION_SORT]) {
case 'AscByTitle':
$objGetCondition->appendString(_SP)->appendString('ASC');
break;
case 'DescByTitle':
$objGetCondition->appendString(_SP)->appendString('DESC');
break;
}
break;
case 'AscByPublished':
case 'DescByPublished':
// Make the ordered condition;
$objGetCondition->appendString(_SP)->appendString('ORDER BY %objArticleTableFDatePublished');
// Do a switch ...
switch ($_GET[ADMIN_ACTION_SORT]) {
//.........这里部分代码省略.........
示例2: A
<?php
/*
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
// Load needed modules ...
TPL::setHeaderKey(URL::rewriteURL(new A(array(ADMIN_SUBPAGE)), new A(array(ADMIN_WELCOME_PAGE))), new S('Location'));
示例3: outputXMLString
/**
* Will output a given XML string, discarding output, and exiting right after. This can be used for example to output RSS or
* an XML Sitemap (sitemaps.org) or any other kind of XML data you need to throw back from where it came from;
*
* @param S $objStringToOutput The string to output
* @return S Outputs the string, using echo
* @author Catalin Z. Alexandru <catalin.zamfir@raphpframework.ro>
* @copyright Under the terms of the GNU General Public License v3
* @version $Id: 10_TPL.php 315 2009-10-11 07:11:31Z catalin.zamfir $
* @since Version 1.0
* @access public
* @static
* @final
*/
public static final function outputXMLString(S $objStringToOutput)
{
// Clean-up around the house ...
TPL::setHeaderKey(new S('text/xml'), new S('Content-Type'));
TPL::discardOutputStream(new B(TRUE));
TPL::switchHTML();
// Do an XML echo ...
echo $objStringToOutput;
// Unset _SESSION['POST'];
if (isset($_SESSION['POST'])) {
unset($_SESSION['POST']);
}
// Unset _SESSION['FILES'];
if (isset($_SESSION['FILES'])) {
unset($_SESSION['FILES']);
}
// DIE;
TPL::disableFurtherOutput();
}
示例4: renderBackendPage
/**
* Will render a specified form, the name of the form given by the first parameter;
*
* This method will render one of the forms for our object, invoked by giving the proper form identifier to the current form.
* We have chosen this method of invoking forms, because we just had too many this->renderSomethingMethod (), which really had
* an impact on code massiveness. Also, having code organized in switch/case statements leads us to be able to share common
* settings between different forms, as we've done with the methods defined in the __CALL method above;
*
* For example, if we wanted to share some common configuration between a create and an edit form, we could have introduced
* two switches in this method, one that would have set the common options, and the second, would have just passed through
* again, and get the already set configuration options, using them. This means that if we needed to change behavior of
* some interconnected forms, that would mean modifying the needed code one place only, which is a big advantage over
* having separated methods for each form. Maybe if we extended this object, you guys could understand the functionality ...
*
* @param string $objFormToRender The name of the form to render;
* @return mixed Depends on the rendered form if it returns something or not;
*/
public function renderBackendPage(S $objPageToRender)
{
// Get a specific CSS file for this controller ...
TPL::manageCSS(new FilePath($this->getPathToSkinCSS()->toRelativePath() . $objPageToRender . CSS_EXTENSION), $objPageToRender);
// Do pagination ...
if (isset($_GET[ADMIN_PAGINATION])) {
$objLowerLimit = (int) $_GET[ADMIN_PAGINATION]->toString() * 10 - 10;
$objUpperLimit = 10;
} else {
$objLowerLimit = 0;
$objUpperLimit = 10;
}
// Do a switch on the rendered page ...
switch ($objPageToRender) {
case 'welcomePage':
// Set the template file ...
$tpF = new FilePath($this->getPathToSkin()->toRelativePath() . 'welcomePage.tp');
TPL::tpSet(self::$objAdministration->getWidget(NULL), new S('objWidgets'), $tpF);
TPL::tpExe($tpF);
break;
case 'manageUsers':
// Do specific actions, based on _GET parameters;
if (isset($_GET[ADMIN_ACTION])) {
// Switch ...
switch ($_GET[ADMIN_ACTION]) {
case ADMIN_ACTION_EDIT:
$this->renderForm(new S('userEdit'));
break;
case ADMIN_ACTION_ERASE:
$this->renderForm(new S('userErase'));
break;
}
} else {
// Show them ordered by DESC;
if (!isset($_GET[ADMIN_ACTION_SORT])) {
$this->setHeaderKey(URL::rewriteURL(new A(array(ADMIN_ACTION_SORT)), new A(array('DescByRegistered'))), new S('Location'));
}
// Set some requirements;
$objGetCondition = new S();
if (isset($_GET[ADMIN_ACTION_BY])) {
// Do a switch ...
switch ($_GET[ADMIN_ACTION_BY]) {
case AUTHENTICATION_PROFILE_USERNAME:
$objGetCondition->appendString('WHERE %objAuthUsersTableFUName');
break;
case AUTHENTICATION_PROFILE_EMAIL:
$objGetCondition->appendString('WHERE %objAuthUsersTableFEML');
break;
case AUTHENTICATION_PROFILE_GROUP:
$objGetCondition->appendString('AS t1 LEFT JOIN %objAuthGroupTable
AS t2 ON t1.%objAuthUsersTableFUGId = t2.%objAuthGroupTableFId
WHERE t2.%objAuthGroupTableFName');
break;
}
// Add LIKE searching ...
$objGetCondition->appendString(_SP)->appendString('LIKE "%%Search%"')->doToken('%Search', $_GET[ADMIN_ACTION_SEARCH]);
}
if (isset($_GET[ADMIN_ACTION_SORT])) {
// Switch ...
switch ($_GET[ADMIN_ACTION_SORT]) {
case 'AscByUsername':
case 'DescByUsername':
// Set the order ...
$objGetCondition->appendString(_SP)->appendString('ORDER BY %objAuthUsersTableFUName');
// Switch ...
switch ($_GET[ADMIN_ACTION_SORT]) {
case 'AscByUsername':
$objGetCondition->appendString(_SP)->appendString('ASC');
break;
case 'DescByUsername':
$objGetCondition->appendString(_SP)->appendString('DESC');
break;
}
break;
case 'AscByEMail':
case 'DescByEMail':
// Set the order ...
$objGetCondition->appendString(_SP)->appendString('ORDER BY %objAuthUsersTableFEML');
// Switch ...
switch ($_GET[ADMIN_ACTION_SORT]) {
case 'AscByEMail':
$objGetCondition->appendString(_SP)->appendString('ASC');
break;
//.........这里部分代码省略.........
示例5: setKey
/**
* Will set the given cookie information;
*
* This method will set the key/var pair of cookie information needed for the given module. In case of _SESSION it will store
* the information by arrays, while cookies will have an identifier string that's long enough to be unique. Each module that
* requests a cookie object has its own cookie scope;
*
* @param S $objKey The key to set;
* @param S $objContent The content to set;
* @param B $objExpTime The expire time to take in account;
*/
public function setKey(S $objKey, S $objContent, B $objExpTime)
{
// Switch ...
switch ($this->objObjectCookie->getConfigKey(new S('authentication_cookie_store_type'))) {
case 'cookie':
// Set the expire time, to current + SESSION_COOKIE_LIFETIME;
$objExpTime->toBoolean() != TRUE ? $expTme = new I(0) : ($expTme = new I($_SERVER['REQUEST_TIME'] + SESSION_COOKIE_LIFETIME));
// Trigger the browser cookie setter, and set the proper key/vars;
setcookie($this->objProjectString . _U . $this->objObjectCookie->getObjectCLASS() . _U . $objKey, $objContent, $expTme->toInt(), new S('/'));
// Redirect to same page, each time;
TPL::setHeaderKey(URL::rewriteURL(), new S('Location'));
break;
case 'session':
// Just use the _SESSION to store it;
$_SESSION[$this->objProjectString->toString()][$this->objObjectCookie->getObjectCLASS()->toString()][$objKey->toString()] = $objContent;
break;
default:
// Make an error on it, cause yeah ...
self::renderScreenOfDeath(new S(__CLASS__), new S(SESSION_TYPE_ERROR), new S(SESSION_TYPE_ERROR_FIX));
break;
}
}
示例6: doURLRoutingAndCLEANUp
/**
* Will do necessary URL routing and clean-up;
*
* While most of the times we will relly on static URLs, generated by our URL mechanism, most of the times we will need to be
* able to modify the URL or redirect an user to a proper URL, if he has gone haywire. This method does just that, manages
* the URL of the current requested page;
*/
public function doURLRoutingAndCLEANUp()
{
// Redirect to HOME, if nothing set;
if ($_GET->doCount()->toInt() == 0) {
// Set the header key and go home my man ...
TPL::setHeaderStr(new S(HDR::HEADER_MOVED_PERMANENTLY));
TPL::setHeaderKey(URL::rewriteURL(new A(array(FRONTEND_SECTION_URL)), new A(array(FRONTEND_HOME))), new S('Location'));
}
// -- Fix the double www. and non-www;
if (strpos(URL::rewriteURL(), '://www.') !== FALSE) {
// Moved me permanently ...
$this->setHeaderStr(new S(HDR::HEADER_MOVED_PERMANENTLY));
$this->setHeaderKey(URL::rewriteURL()->doToken('://www.', '://'), new S('Location'));
}
// -- Fix the OLD to NEW moving of REWRITE_ENGINE;
if (strpos($_SERVER['REQUEST_URI'], 'index.php/') !== FALSE && REWRITE_ENGINE == TRUE) {
// Moved me permanently ...
$this->setHeaderStr(new S(HDR::HEADER_MOVED_PERMANENTLY));
$this->setHeaderKey(URL::rewriteURL()->doToken('index.php/', _NONE), new S('Location'));
}
}