本文整理汇总了PHP中SC_Utils_Ex::isAppInnerUrl方法的典型用法代码示例。如果您正苦于以下问题:PHP SC_Utils_Ex::isAppInnerUrl方法的具体用法?PHP SC_Utils_Ex::isAppInnerUrl怎么用?PHP SC_Utils_Ex::isAppInnerUrl使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SC_Utils_Ex
的用法示例。
在下文中一共展示了SC_Utils_Ex::isAppInnerUrl方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setReturnTo
function setReturnTo($key, $mode)
{
if (SC_Utils_Ex::isAppInnerUrl($_SERVER["HTTP_REFERER"])) {
$netUrl = new Net_URL($_SERVER["HTTP_REFERER"]);
$dir = basename(dirname($netUrl->path));
$file = basename($netUrl->path);
if (preg_match("{.*(confirm|complete).php}", $file)) {
GC_Utils_Ex::gfPrintLog($file);
return;
}
switch ($dir) {
case "au":
case "docomo":
case "softbank":
break;
default:
$_SESSION[$key] = $netUrl->getURL();
break;
}
}
}
示例2: lfGetNews
/**
* 新着情報を取得する.
*
* @return array $arrNewsList 新着情報の配列を返す
*/
function lfGetNews(&$objQuery)
{
if (DB_TYPE != 'sqlsrv') {
return parent::lfGetNews($objQuery);
} else {
$objQuery->setOrder('rank DESC ');
$arrNewsList = $objQuery->select("* ,convert(varchar(4), YEAR(news_date)) + '-' + convert(varchar(2), MONTH(news_date)) + '-' + convert(varchar(10), DAY(news_date)) as news_date_disp", 'dtb_news', 'del_flg = 0');
// モバイルサイトのセッション保持 (#797)
if (SC_Display_Ex::detectDevice() == DEVICE_TYPE_MOBILE) {
foreach (array_keys($arrNewsList) as $key) {
$arrRow =& $arrNewsList[$key];
if (SC_Utils_Ex::isAppInnerUrl($arrRow['news_url'])) {
$netUrl = new Net_URL($arrRow['news_url']);
$netUrl->addQueryString(session_name(), session_id());
$arrRow['news_url'] = $netUrl->getURL();
}
}
}
return $arrNewsList;
}
}
示例3: lfGetNews
/**
* 新着情報を取得する.
*
* @return array $arrNewsList 新着情報の配列を返す
*/
public function lfGetNews($dispNumber, $pageNo, SC_Helper_News_Ex $objNews)
{
$arrNewsList = $objNews->getList($dispNumber, $pageNo);
// モバイルサイトのセッション保持 (#797)
if (SC_Display_Ex::detectDevice() == DEVICE_TYPE_MOBILE) {
foreach ($arrNewsList as $key => $value) {
$arrRow =& $arrNewsList[$key];
if (SC_Utils_Ex::isAppInnerUrl($arrRow['news_url'])) {
$netUrl = new Net_URL($arrRow['news_url']);
$netUrl->addQueryString(session_name(), session_id());
$arrRow['news_url'] = $netUrl->getURL();
}
}
}
return $arrNewsList;
}
示例4: lfGetNews
/**
* 新着情報を取得する.
*
* @return array $arrNewsList 新着情報の配列を返す
*/
function lfGetNews(&$objQuery)
{
$objQuery->setOrder('rank DESC ');
$arrNewsList = $objQuery->select('* , cast(news_date as date) as news_date_disp', 'dtb_news', 'del_flg = 0');
// モバイルサイトのセッション保持 (#797)
if (SC_Display_Ex::detectDevice() == DEVICE_TYPE_MOBILE) {
foreach ($arrNewsList as $key => $value) {
$arrRow =& $arrNewsList[$key];
if (SC_Utils_Ex::isAppInnerUrl($arrRow['news_url'])) {
$netUrl = new Net_URL($arrRow['news_url']);
$netUrl->addQueryString(session_name(), session_id());
$arrRow['news_url'] = $netUrl->getURL();
}
}
}
return $arrNewsList;
}
示例5: sendRedirect
/**
* アプリケーション内でリダイレクトする
*
* 内部で生成する URL の searchpart は、下記の順で上書きしていく。(後勝ち)
* 1. 引数 $inheritQueryString が true の場合、$_SERVER['QUERY_STRING']
* 2. $location に含まれる searchpart
* 3. 引数 $arrQueryString
*
* @param string $location
* 「url-path」「現在のURLからのパス」「URL」のいずれか。「../」の解釈は行なわない。
* @param array $arrQueryString
* URL に付加する searchpart
* @param bool $inheritQueryString
* 現在のリクエストの searchpart を継承するか
* @param bool|null $useSsl
* true:HTTPSを強制, false:HTTPを強制, null:継承
* @return void
* @static
*
*/
public function sendRedirect($location, $arrQueryString = array(), $inheritQueryString = false, $useSsl = null)
{
// ローカルフックポイント処理
$objPlugin = SC_Helper_Plugin_Ex::getSingletonInstance($this->plugin_activate_flg);
if (is_object($objPlugin)) {
$arrBacktrace = debug_backtrace();
if (is_object($arrBacktrace[0]['object'])) {
$pattern = '/^[a-zA-Z0-9_]+$/';
if (isset($_REQUEST['mode']) && preg_match($pattern, $_REQUEST['mode'])) {
$mode = $_REQUEST['mode'];
}
$parent_class_name = get_parent_class($arrBacktrace[0]['object']);
$class_name = get_class($arrBacktrace[0]['object']);
}
$objPlugin->doAction($parent_class_name . '_action_' . $mode, array($arrBacktrace[0]['object']));
if ($class_name != $parent_class_name) {
$objPlugin->doAction($class_name . '_action_' . $mode, array($this));
}
}
// url-path → URL 変換
if ($location[0] === '/') {
$netUrl = new Net_URL($location);
$url = $netUrl->getUrl();
} elseif (strpos($location, HTTPS_URL) === 0 || strpos($location, HTTP_URL) === 0) {
$url = $location;
} else {
$netUrl = new Net_URL(HTTP_URL);
$netUrl->path = dirname($_SERVER['SCRIPT_NAME']) . '/' . $location;
$url = $netUrl->getUrl();
}
if (!is_bool($useSsl)) {
$useSsl = SC_Utils_Ex::sfIsHTTPS();
}
if ($useSsl) {
$url = str_replace(HTTP_URL, HTTPS_URL, $url);
} else {
$url = str_replace(HTTPS_URL, HTTP_URL, $url);
}
// アプリケーション外へのリダイレクトは扱わない
if (!SC_Utils_Ex::isAppInnerUrl($url)) {
trigger_error('URL IS APP NOT INNER URL', E_USER_ERROR);
}
$netUrl = new Net_URL($url);
if ($inheritQueryString && !empty($_SERVER['QUERY_STRING'])) {
$arrQueryStringBackup = $netUrl->querystring;
// XXX メソッド名は add で始まるが、実際には置換を行う
$netUrl->addRawQueryString($_SERVER['QUERY_STRING']);
$netUrl->querystring = array_merge($netUrl->querystring, $arrQueryStringBackup);
}
$netUrl->querystring = array_merge($netUrl->querystring, $arrQueryString);
$session = SC_SessionFactory_Ex::getInstance();
if (SC_Display_Ex::detectDevice() == DEVICE_TYPE_MOBILE || $session->useCookie() == false) {
$netUrl->addQueryString(session_name(), session_id());
}
if (GC_Utils_Ex::isAdminFunction()) {
// 管理画面またはmode指定時は付与
$netUrl->addQueryString(TRANSACTION_ID_NAME, SC_Helper_Session_Ex::getToken());
}
$url = $netUrl->getURL();
header("Location: {$url}");
exit;
}