本文整理汇总了PHP中getWebRoot函数的典型用法代码示例。如果您正苦于以下问题:PHP getWebRoot函数的具体用法?PHP getWebRoot怎么用?PHP getWebRoot使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了getWebRoot函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: HTMLTemplate
function HTMLTemplate($name, $replace, $with)
{
$loc = $this->templateKey[$name];
$webRoot = getWebRoot();
if (getType($replace) == getType($with) && getType($replace) == "array" && count($replace) > 0) {
if (count($replace) == count($with)) {
array_unshift($replace, "{webRoot}");
array_unshift($with, $webRoot);
} else {
echo "error: Replace and With arrays are of different lengths.";
}
} else {
$replace = array('{webRoot}');
$with = array($webRoot);
}
if (isset($loc)) {
$html = file_get_contents($loc);
if ($html) {
if ($replace && $with) {
$htmlWithVars = str_replace($replace, $with, $html);
} else {
$htmlWithVars = $html;
}
echo $htmlWithVars;
}
} else {
// echo header("Location:error.php?num=2");
echo "error: Missing HTML template of {$name}";
}
}
示例2: __construct
/**
* Construct function.
*
* @access public
* @return void
*/
public function __construct()
{
if (!defined('IN_INSTALL')) {
die;
}
parent::__construct();
$this->app->loadLang('user');
$this->app->loadLang('admin');
$this->config->webRoot = getWebRoot();
}
示例3: index
/**
* Visual index
*
* @access public
* @return void
*/
public function index($referer = '')
{
$template = $this->config->template->{$this->device}->name;
$this->loadModel('block')->loadTemplateLang($template);
$this->view->referer = helper::safe64decode($referer);
$this->view->title = $this->lang->visual->common;
$this->view->blocks = $this->lang->block->{$template};
if ($referer == '') {
$this->view->referer = getWebRoot();
}
$this->display();
}
示例4: login
/**
* SSO login.
*
* @param string $type
* @access public
* @return void
*/
public function login($type = 'notify')
{
$referer = empty($_GET['referer']) ? '' : $this->get->referer;
$locate = empty($referer) ? getWebRoot() : base64_decode($referer);
if ($this->loadModel('user')->isLogon()) {
die($this->locate($locate));
}
$this->app->loadConfig('sso');
if (!$this->config->sso->turnon) {
die($this->locate($locate));
}
$userIP = $this->server->remote_addr;
$code = $this->config->sso->code;
$key = $this->config->sso->key;
if ($type != 'return') {
$token = $this->get->token;
$auth = md5($code . $userIP . $token . $key);
$callback = urlencode(common::getSysURL() . inlink('login', "type=return"));
$location = $this->config->sso->addr;
if (strpos($location, '&') !== false) {
$location = rtrim($location, '&') . "&token={$token}&auth={$auth}&userIP={$userIP}&callback={$callback}&referer={$referer}";
} else {
$location = rtrim($location, '?') . "?token={$token}&auth={$auth}&userIP={$userIP}&callback={$callback}&referer={$referer}";
}
$this->locate($location);
}
if ($this->get->status == 'success' and md5($this->get->data) == $this->get->md5) {
$last = $this->server->request_time;
$data = json_decode(base64_decode($this->get->data));
$token = $data->token;
if ($data->auth == md5($code . $userIP . $token . $key)) {
$user = $this->sso->getBindUser($data->account);
if (!$user) {
$this->session->set('ssoData', $data);
$this->locate($this->createLink('sso', 'bind', "referer=" . helper::safe64Encode($locate)));
}
$this->user->cleanLocked($user->account);
/* Authorize him and save to session. */
$user->rights = $this->user->authorize($user->account);
$user->groups = $this->user->getGroups($user->account);
$this->dao->update(TABLE_USER)->set('visits = visits + 1')->set('ip')->eq($userIP)->set('last')->eq($last)->where('account')->eq($user->account)->exec();
$user->last = date(DT_DATETIME1, $last);
$this->session->set('user', $user);
$this->app->user = $this->session->user;
$this->loadModel('action')->create('user', $user->id, 'login');
die($this->locate($locate));
}
}
$this->locate($this->createLink('user', 'login', empty($referer) ? '' : "referer={$referer}"));
}
示例5: createAlipayLink
/**
* Create a alipay link.
*
* @param string $orderNO
* @access public
* @return string
*/
public function createAlipayLink($order)
{
$this->app->loadClass('alipay', true);
$this->config->alipay->notifyURL = getWebRoot(true) . ltrim(inlink('processorder', "type=alipay&mode=notify"), '/');
$this->config->alipay->returnURL = getWebRoot(true) . ltrim(inlink('processorder', "type=alipay&mode=return"), '/');
$alipay = new alipay($this->config->alipay);
$subject = sprintf($this->lang->order->payInfo, $this->config->site->name, date('Y-m-d'));
return $alipay->createPayLink($this->getHumanOrder($order->id), $subject, $order->amount);
}
示例6: date
?>
</description>
<copyright><?php
echo $config->company->name . $config->site->copyright . '-' . date('Y');
?>
</copyright>
<lastBuildDate><?php
echo $lastDate;
?>
</lastBuildDate>
<?php
foreach ($articles as $article) {
$category = current($article->categories);
$article->content = str_replace('src="/data/upload/', 'src="' . getWebRoot(true) . 'data/upload/', $article->content);
$article->content = str_replace("src='/data/upload/", "src='" . getWebRoot(true) . 'data/upload/', $article->content);
?>
<item>
<title><?php
echo $article->title;
?>
</title>
<description><![CDATA[ <?php
echo $article->content;
?>
]]></description>
<link><?php
echo str_replace('&', '&', $siteLink . $this->createLink('blog', 'view', "id={$article->id}", "category={$category->alias}&name={$article->alias}", 'html'));
?>
</link>
<category><?php
示例7: parseProducts
/**
* Parse products.
*
* @param object $content
* @access public
* @return object
*/
public function parseProducts($content)
{
$orderByList = array('latestProduct' => 'id_desc', 'hotProduct' => 'views_desc');
$this->app->loadClass('pager', true);
$pager = new pager($recTotal = 0, $recPerPage = $content->limit, 1);
$products = $this->loadModel('product')->getList($content->category, $orderByList[$content->block], $pager);
$response = new stdclass();
$response->msgType = 'news';
foreach ($products as $product) {
$categories = $product->categories;
$categoryAlias = current($categories)->alias;
$article = new stdclass();
$article->title = $product->name;
$article->url = getHostURL() . commonModel::createFrontLink('product', 'view', "productID={$product->id}", "name={$product->alias}&category={$categoryAlias}");
$article->description = isset($product->summary) ? $product->summary : '';
if (!empty($product->image)) {
$article->picUrl = rtrim(getWebRoot(true), '/') . $product->image->primary->smallURL;
}
$response->articles[] = $article;
}
return $response;
}
示例8: getWebRoot
}
}
if (!function_exists('getWebRoot')) {
function getWebRoot()
{
}
}
/* The basic settings. */
$config = new config();
$config->version = '4.3.beta';
// The version number, don't change.
$config->encoding = 'UTF-8';
// The encoding.
$config->cookiePath = '/';
// The path of cookies.
$config->webRoot = getWebRoot();
// The web root.
$config->cookieLife = time() + 2592000;
// The lifetime of cookies.
$config->timezone = 'Asia/Shanghai';
// Time zone setting, more plese visit http://www.php.net/manual/en/timezones.php
$config->multi = false;
// The config of multi site.
/* The request settins. */
$config->requestType = 'PATH_INFO';
// PATH_INFO or GET.
$config->seoMode = true;
// Whether turn on seo mode or not.
$config->requestFix = '-';
// RequestType=PATH_INFO: the divider of the params, can be - _ or /
$config->moduleVar = 'm';
示例9: createAlipayLink
/**
* Create a alipay link.
*
* @param object $order
* @access public
* @return string
*/
public function createAlipayLink($order, $type = '')
{
$this->app->loadClass('alipay', true);
$alipayConfig = $order->payment == 'alipay' ? $this->config->alipay->direct : $this->config->alipay->secured;
/* Create right link that module is not order in order-browse page, such as score. */
$notifyURL = empty($type) ? inlink('processorder', "type=alipay&mode=notify") : helper::createLink($type, 'processorder', "type=alipay&mode=notify");
$returnURL = empty($type) ? inlink('processorder', "type=alipay&mode=return") : helper::createLink($type, 'processorder', "type=alipay&mode=return");
$alipayConfig->notifyURL = getWebRoot(true) . ltrim($notifyURL, '/');
$alipayConfig->returnURL = getWebRoot(true) . ltrim($returnURL, '/');
$alipayConfig->pid = $this->config->alipay->pid;
$alipayConfig->key = $this->config->alipay->key;
$alipayConfig->email = $this->config->alipay->email;
$alipay = new alipay($alipayConfig);
$subject = sprintf($this->lang->order->payInfo, $this->config->site->name, date('Y-m-d'));
return $alipay->createPayLink($this->getHumanOrder($order->id), $subject, $order->amount);
}
示例10: createLink
/**
* Create a link to a module's method.
*
* This method also mapped in control class to call conveniently.
* <code>
* <?php
* helper::createLink('hello', 'index', 'var1=value1&var2=value2');
* helper::createLink('hello', 'index', array('var1' => 'value1', 'var2' => 'value2');
* ?>
* </code>
* @param string $moduleName module name
* @param string $methodName method name
* @param string|array $vars the params passed to the method, can be array('key' => 'value') or key1=value1&key2=value2) or key1=value1&key2=value2
* @param string|array $alias the alias params passed to the method, can be array('key' => 'value') or key1=value1&key2=value2) or key1=value1&key2=value2
* @param string $viewType the view type
* @static
* @access public
* @return string the link string.
*/
public static function createLink($moduleName, $methodName = 'index', $vars = '', $alias = array(), $viewType = '')
{
global $app, $config;
$requestType = $config->requestType;
if (defined('FIX_PATH_INFO2') and FIX_PATH_INFO2) {
$config->requestType = 'PATH_INFO2';
}
$clientLang = $app->getClientLang();
$lang = $config->langCode;
/* Set viewType is mhtml if visit with mobile.*/
if (!$viewType and RUN_MODE == 'front' and helper::getDevice() == 'mobile' and $methodName != 'oauthCallback') {
$viewType = 'mhtml';
}
/* Set vars and alias. */
if (!is_array($vars)) {
parse_str($vars, $vars);
}
if (!is_array($alias)) {
parse_str($alias, $alias);
}
foreach ($alias as $key => $value) {
$alias[$key] = urlencode($value);
}
/* Seo modules return directly. */
if (helper::inSeoMode() and method_exists('uri', 'create' . $moduleName . $methodName)) {
if ($config->requestType == 'PATH_INFO2') {
$config->webRoot = $_SERVER['SCRIPT_NAME'] . '/';
}
$link = call_user_func_array('uri::create' . $moduleName . $methodName, array('param' => $vars, 'alias' => $alias, 'viewType' => $viewType));
/* Add client lang. */
if ($lang and $link) {
$link = $config->webRoot . $lang . '/' . substr($link, strlen($config->webRoot));
}
if ($config->requestType == 'PATH_INFO2') {
$config->webRoot = getWebRoot();
}
$config->requestType = $requestType;
if ($link) {
return $link;
}
}
/* Set the view type. */
if (empty($viewType)) {
$viewType = $app->getViewType();
}
if ($config->requestType == 'PATH_INFO') {
$link = $config->webRoot;
}
if ($config->requestType == 'PATH_INFO2') {
$link = $_SERVER['SCRIPT_NAME'] . '/';
}
if ($config->requestType == 'GET') {
$link = $_SERVER['SCRIPT_NAME'];
}
if ($config->requestType != 'GET' and $lang) {
$link .= "{$lang}/";
}
/* Common method. */
if (helper::inSeoMode()) {
/* If the method equal the default method defined in the config file and the vars is empty, convert the link. */
if ($methodName == $config->default->method and empty($vars)) {
/* If the module also equal the default module, change index-index to index.html. */
if ($moduleName == $config->default->module) {
$link .= 'index.' . $viewType;
} elseif ($viewType == $app->getViewType()) {
$link .= $moduleName . '/';
} else {
$link .= $moduleName . '.' . $viewType;
}
} else {
$link .= "{$moduleName}{$config->requestFix}{$methodName}";
foreach ($vars as $value) {
$link .= "{$config->requestFix}{$value}";
}
$link .= '.' . $viewType;
}
} else {
$link .= "?{$config->moduleVar}={$moduleName}&{$config->methodVar}={$methodName}";
if ($viewType != 'html') {
$link .= "&{$config->viewVar}=" . $viewType;
}
//.........这里部分代码省略.........
示例11: checkDomain
/**
* Check domain and header 301.
*
* @access public
* @return void
*/
public function checkDomain()
{
if (RUN_MODE == 'install' or RUN_MODE == 'upgrade' or RUN_MODE == 'shell' or RUN_MODE == 'admin' or !$this->config->installed) {
return true;
}
$domains = isset($this->config->site->allowedDomain) ? $this->config->site->allowedDomain : '';
$domains = str_replace(array('http://', 'https://'), '', $domains);
$mainDomain = isset($this->config->site->domain) ? $this->config->site->domain : '';
$mainDomain = str_replace(array('http://', 'https://'), '', $mainDomain);
$host = $this->server->http_host;
/* Check domain is allowed. */
if (!empty($domains)) {
$allowed = false;
$domains = explode(',', str_replace(',', ',', $domains));
$domains[] = $mainDomain;
foreach ($domains as $domain) {
if (empty($domain)) {
continue;
}
if (strpos($host, $domain) !== false and substr($host, strpos($host, $domain)) == $domain) {
$allowed = true;
break;
}
}
if (!$allowed) {
die('domain denied.');
}
}
/* Check main domain. */
$redirect = false;
$redirectURI = getWebRoot(true) . $this->app->getURI();
if ($mainDomain and $mainDomain != $host) {
$redirect = true;
$redirectURI = str_replace($host, $mainDomain, $redirectURI);
}
/* Check scheme. */
$scheme = isset($this->config->site->scheme) ? $this->config->site->scheme : 'http';
if (strpos($redirectURI, $scheme . '://') !== 0) {
$redirect = true;
$redirectURI = $scheme . substr($redirectURI, strpos($redirectURI, '://'));
}
if ($redirect) {
header301($redirectURI);
}
}
示例12: createThreadView
/**
* Create thread view.
*
* @params array $params
* @params array $alias
* @params string $viewType
* return string
*/
public static function createThreadView($params, $alias, $viewType = '')
{
global $config;
$viewType = $viewType ? $viewType : $config->default->view;
$link = 'thread/' . array_shift($params);
if (isset($alias['pageID'])) {
$link .= '/p' . $alias['pageID'];
}
$link .= '.' . $viewType;
if (isset($alias['replyID'])) {
$link .= '#' . $alias['replyID'];
}
return getWebRoot(true) . $link;
}
示例13: getModuleList
/**
* Get modeulList.
*
* @access public
* @return void
*/
public function getModuleList()
{
$webRoot = rtrim(getWebRoot(true), '/');
foreach ($this->lang->wechat->response->moduleList as $module => $title) {
if ($module != 'manual') {
$moduleList[$webRoot . $this->loadModel('common')->createFrontLink($module, 'index')] = $title;
}
if ($module == 'manual') {
$moduleList[$module] = $title;
}
}
return $moduleList;
}
示例14: checkDomain
/**
* Check domain and header 301.
*
* @access public
* @return void
*/
public function checkDomain()
{
if (RUN_MODE == 'install' or RUN_MODE == 'upgrade' or RUN_MODE == 'shell' or RUN_MODE == 'admin' or !$this->config->installed) {
return true;
}
$httpHost = $this->server->http_host;
$currentURI = getWebRoot(true) . $this->app->getURI();
$scheme = isset($this->config->site->scheme) ? $this->config->site->scheme : 'http';
$mainDomain = isset($this->config->site->domain) ? $this->config->site->domain : '';
$mainDomain = str_replace(array('http://', 'https://'), '', $mainDomain);
/* Check main domain and scheme. */
$redirectURI = $currentURI;
if (strpos($redirectURI, $scheme . '://') !== 0) {
$redirectURI = $scheme . substr($redirectURI, strpos($redirectURI, '://'));
}
if (!empty($mainDomain) and $httpHost != $mainDomain) {
$redirectURI = str_replace($httpHost, $mainDomain, $redirectURI);
}
if ($redirectURI != $currentURI) {
header301($redirectURI);
}
/* Check domain is allowed. */
$allowedDomains = isset($this->config->site->allowedDomain) ? $this->config->site->allowedDomain : '';
$allowedDomains = str_replace(array('http://', 'https://'), '', $allowedDomains);
if (!empty($allowedDomains)) {
if (strpos($allowedDomains, $httpHost) !== false) {
return true;
}
if (!empty($mainDomain) and hepler::getSiteCode($httpHost) == hepler::getSiteCode($mainDomain)) {
return true;
}
die('domain denied.');
}
}
示例15: getWebRoot
#!/usr/bin/env php
<?php
<<<TC
title: testing the getWebRoot method.
TC;
/* Include the helper class. */
include '../../helper.class.php';
/* Create two objects named obj and obj2. */
$_SERVER['SCRIPT_NAME'] = '/index.php';
$webRoot = getWebRoot();
echo $webRoot . "\n";
$_SERVER['SCRIPT_NAME'] = '/zentao/index.php';
$webRoot = getWebRoot();
echo $webRoot . "\n";