本文整理汇总了PHP中CBXPunycode::ToASCII方法的典型用法代码示例。如果您正苦于以下问题:PHP CBXPunycode::ToASCII方法的具体用法?PHP CBXPunycode::ToASCII怎么用?PHP CBXPunycode::ToASCII使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CBXPunycode
的用法示例。
在下文中一共展示了CBXPunycode::ToASCII方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: CSeoPageChecker
function CSeoPageChecker($site, $url, $get = true, $check_errors = true)
{
global $APPLICATION;
if (CModule::IncludeModule('search')) {
$this->bSearch = true;
} else {
$APPLICATION->ThrowException(GetMessage('SEO_ERROR_NO_SEARCH'));
}
// don't return false or set bError!
$this->__bCheckErrors = $check_errors;
$this->__site = $site;
$dbRes = CSite::GetByID($this->__site);
if ($arRes = $dbRes->Fetch()) {
$this->__lang = $arRes['LANGUAGE_ID'];
$this->__server_name = $arRes['SERVER_NAME'];
if (strlen($this->__server_name) <= 0) {
$this->__server_name = COption::GetOptionString('main', 'server_name', '');
}
if (strlen($this->__server_name) > 0) {
$this->__url = (CMain::IsHTTPS() ? "https://" : "http://") . CBXPunycode::ToASCII($this->__server_name, $e = null) . $url;
return $get ? $this->GetHTTPData() : true;
} else {
$this->bError = true;
$APPLICATION->ThrowException(str_replace('#SITE_ID#', $this->__site, GetMessage('SEO_ERROR_NO_SERVER_NAME')));
return false;
}
}
return false;
}
示例2: getCurrentHost
/**
* Return current domain name (in puny code for cyrillic domain)
*
* @return string
*/
public static function getCurrentHost()
{
$host = COption::GetOptionString("main", "server_name", $_SERVER["HTTP_HOST"]);
if ($host == "") {
$host = $_SERVER["HTTP_HOST"];
}
return CBXPunycode::ToASCII($host, $arErrors);
}
示例3: findCorrectFile
function findCorrectFile($path, &$strWarn, $warning = false)
{
$arUrl = CHTTP::ParseURL($path);
if ($arUrl && is_array($arUrl)) {
if (isset($arUrl['host'], $arUrl['scheme'])) {
if (strpos($arUrl['host'], 'xn--') !== false) {
// Do nothing
} else {
$originalPath = $path;
$path = $arUrl['scheme'] . '://' . $arUrl['host'];
$arErrors = array();
if (defined("BX_UTF")) {
$punicodedPath = CBXPunycode::ToUnicode($path, $arErrors);
} else {
$punicodedPath = CBXPunycode::ToASCII($path, $arErrors);
}
if ($pathPunicoded == $path) {
return $originalPath;
} else {
$path = $punicodedPath;
}
if ($arUrl['port'] && ($arUrl['scheme'] != 'http' || $arUrl['port'] != 80) && ($arUrl['scheme'] != 'https' || $arUrl['port'] != 443)) {
$path .= ':' . $arUrl['port'];
}
$path .= $arUrl['path_query'];
}
} else {
$DOC_ROOT = $_SERVER["DOCUMENT_ROOT"];
$path = Rel2Abs("/", $path);
$path_ = $path;
$io = CBXVirtualIo::GetInstance();
if (!$io->FileExists($DOC_ROOT . $path)) {
if (CModule::IncludeModule('clouds')) {
$path = CCloudStorage::FindFileURIByURN($path, "component:player");
if ($path == "") {
if ($warning) {
$strWarn .= $warning . "<br />";
}
$path = $path_;
}
} else {
if ($warning) {
$strWarn .= $warning . "<br />";
}
$path = $path_;
}
} elseif (strpos($_SERVER['HTTP_HOST'], 'xn--') !== false) {
$path = CHTTP::URN2URI($path);
}
}
}
return $path;
}
示例4: getDomainsList
public static function getDomainsList()
{
static $arDomains = null;
if($arDomains === null)
{
$arDomains = array();
$dbSites = Freetrix\Main\SiteDomainTable::getList(
array(
'select'=>array(
'DOMAIN', 'LID',
'SITE_NAME'=>'SITE.NAME', 'SITE_ACTIVE' => 'SITE.ACTIVE',
'SITE_DIR' => 'SITE.DIR', 'SITE_DOC_ROOT' => 'SITE.DOC_ROOT'
)
)
);
$defaultDomain = CBXPunycode::ToASCII(Freetrix\Main\Config\Option::getRealValue('main', 'server_name'), $e = null);
$bCurrentHostFound = false;
while($arSite = $dbSites->fetch())
{
$arDomains[] = $arSite;
if($arSite['DOMAIN'] == $defaultDomain)
$bCurrentHostFound = true;
}
if(!$bCurrentHostFound)
{
$dbDefSite = Freetrix\Main\SiteTable::getList(array(
'filter' => array('DEF' => 'Y'),
'select' => array('LID', 'NAME', 'ACTIVE'),
));
$arDefSite = $dbDefSite->fetch();
if($arDefSite)
{
array_unshift($arDomains, array(
'DOMAIN' => $defaultDomain,
'LID' => $arDefSite['LID'],
'SITE_NAME' => $arDefSite['NAME'],
'SITE_ACTIVE' => $arDefSite['ACTIVE'],
'SITE_DIR' => $arDefSite['DIR'],
'SITE_DOC_ROOT' => $arDefSite['DOC_ROOT'],
));
}
}
}
return $arDomains;
}
示例5: getActionURL
/**
* Returns URL to update policy
*
* @param array[string]string $arParams
* @return string
*
*/
protected function getActionURL($arParams = array())
{
$arErrors = array();
$domainTmp = CBXPunycode::ToASCII($this->domain, $arErrors);
if (strlen($domainTmp) > 0) {
$domain = $domainTmp;
} else {
$domain = $this->domain;
}
$arParams["license"] = md5(LICENSE_KEY);
$arParams["domain"] = $domain;
$url = COption::GetOptionString("bitrixcloud", "cdn_policy_url");
$url = CHTTP::urlAddParams($url, $arParams, array("encode" => true));
return $url;
}
示例6: SaveDomains
function SaveDomains($LID, $domains)
{
global $DB, $CACHE_MANAGER;
if (CACHED_b_lang_domain !== false) {
$CACHE_MANAGER->CleanDir("b_lang_domain");
}
$DB->Query("DELETE FROM b_lang_domain WHERE LID='" . $DB->ForSQL($LID) . "'");
$domains = str_replace("\r", "\n", $domains);
$arDomains = explode("\n", $domains);
for ($i = 0, $n = count($arDomains); $i < $n; $i++) {
$arDomains[$i] = preg_replace("#^(http://|https://)#", "", trim(strtolower($arDomains[$i])));
}
$arDomains = array_unique($arDomains);
$bIsDomain = false;
foreach ($arDomains as $domain) {
if ($domain != '') {
$arErrors = array();
if ($domainTmp = CBXPunycode::ToASCII($domain, $arErrors)) {
$domain = $domainTmp;
}
$DB->Query("INSERT INTO b_lang_domain(LID, DOMAIN) VALUES('" . $DB->ForSQL($LID, 2) . "', '" . $DB->ForSQL($domain, 255) . "')");
$bIsDomain = true;
}
}
$DB->Query("UPDATE b_lang SET DOMAIN_LIMITED='" . ($bIsDomain ? "Y" : "N") . "' WHERE LID='" . $DB->ForSql($LID) . "'");
}
示例7: __construct
function __construct($step = 0, $fix_mode = 0)
{
$this->step = intval($step);
$this->test_percent = 0;
$this->strError = '';
$this->timeout = 10; // sec for one step
$this->strResult = '';
$this->fix_mode = intval($fix_mode);
$this->host = $_REQUEST['HTTP_HOST'] ? $_REQUEST['HTTP_HOST'] : 'localhost';
if (!$fix_mode) // no kernel
{
if (!preg_match('/^[a-z0-9\.\-]+$/i', $this->host))
$this->host = CBXPunycode::ToASCII($this->host, ($err=""));
}
$this->ssl = $_REQUEST['HTTPS'] == 'on';
$this->port = $_REQUEST['SERVER_PORT'] ? $_REQUEST['SERVER_PORT'] : ($this->ssl ? 443 : 80);
$this->arTest = array(
array('OpenLog' => GetMessage('SC_T_LOG')),
/**/
array('check_php_modules' =>GetMessage('SC_T_MODULES')),
array('check_php_settings' =>GetMessage('SC_T_PHP')),
array('check_server_vars' =>GetMessage('SC_T_SERVER')),
array('check_suhosin' => GetMessage('SC_T_SUHOSIN')),
array('check_security' => GetMessage('SC_T_APACHE')),
array('check_install_scripts' => GetMessage('SC_T_INSTALL_SCRIPTS')),
array('check_mbstring' =>GetMessage('SC_T_MBSTRING')),
array('check_backtrack_limit' =>GetMessage('SC_T_BACKTRACK_LIMIT')),
array('check_pcre_recursion' => GetMessage('SC_T_RECURSION')),
array('check_method_exists' => GetMessage('SC_T_METHOD_EXISTS')),
array('check_sites' =>GetMessage('SC_T_SITES')),
array('check_socket' => GetMessage('SC_T_SOCK')),
array('check_dbconn' => GetMessage('SC_T_DBCONN')),
array('check_upload' => GetMessage('SC_T_UPLOAD')),
array('check_upload_big' => GetMessage('SC_T_UPLOAD_BIG')),
array('check_upload_raw' => GetMessage('SC_T_UPLOAD_RAW')),
array('check_post' => GetMessage('SC_T_POST')),
array('check_mail' => GetMessage('SC_T_MAIL')),
array('check_mail_big' => GetMessage('SC_T_MAIL_BIG')),
array('check_mail_b_event' => GetMessage('SC_T_MAIL_B_EVENT')),
array('check_localredirect' => GetMessage('SC_T_REDIRECT')),
array('check_memory_limit' => GetMessage('SC_T_MEMORY')),
array('check_session' => GetMessage('SC_T_SESS')),
array('check_session_ua' => GetMessage('SC_T_SESS_UA')),
array('check_cache' => GetMessage('SC_T_CACHE')),
array('check_update' => GetMessage('SC_UPDATE_ACCESS')),
array('check_http_auth' => GetMessage('SC_T_AUTH')),
array('check_exec' => GetMessage('SC_T_EXEC')),
array('check_bx_crontab' => GetMessage('SC_T_BX_CRONTAB')),
array('check_divider' => GetMessage('SC_T_DELIMITER')),
array('check_precision' => GetMessage('SC_T_PRECISION')),
array('check_clone' => GetMessage('SC_T_CLONE')),
array('check_getimagesize' => GetMessage('SC_T_GETIMAGESIZE')),
/**/
);
$this->arTestDB = array(
array('check_mysql_bug_version' => GetMessage('SC_T_MYSQL_VER')),
array('check_mysql_time' => GetMessage('SC_T_TIME')),
array('check_mysql_mode' => GetMessage('SC_T_SQL_MODE')),
array('check_mysql_increment' => GetMessage('SC_T_AUTOINC')),
// array('check_mysql_table_status' => GetMessage('SC_T_CHECK')),
array('check_mysql_connection_charset' => GetMessage('SC_CONNECTION_CHARSET')),
array('check_mysql_db_charset' => GetMessage('SC_DB_CHARSET')),
array('check_mysql_table_charset' => GetMessage('SC_T_CHARSET')),
array('check_mysql_table_structure' => GetMessage('SC_T_STRUCTURE')),
);
if ($this->fix_mode == 1)
$this->arTest = array(
array('check_mysql_table_status' => GetMessage('SC_T_CHECK')),
);
elseif ($this->fix_mode == 2)
$this->arTest = array(
array('check_mysql_connection_charset' => GetMessage('SC_CONNECTION_CHARSET')),
array('check_mysql_db_charset' => GetMessage('SC_DB_CHARSET')),
array('check_mysql_table_charset' => GetMessage('SC_T_CHARSET')),
);
elseif ($this->fix_mode == 3)
$this->arTest = array(
array('check_mysql_table_structure' => GetMessage('SC_T_STRUCTURE')),
);
elseif (strtolower($GLOBALS['DB']->type) == 'mysql')
{
$this->arTest = array_merge($this->arTest, $this->arTestDB);
// $this->arTest = array_merge(array(array('OpenLog'=>GetMessage('SC_T_LOG'))), $this->arTestDB);
}
list($this->function, $this->strCurrentTestName) = each($this->arTest[$this->step]);
$this->strNextTestName = $this->strCurrentTestName;
$LICENSE_KEY = '';
if (file_exists($file = $_SERVER['DOCUMENT_ROOT'].'/bitrix'.'/license_key.php'))
include($file);
if ($LICENSE_KEY == '')
$LICENSE_KEY = 'DEMO';
$this->LogFile = '/bitrix'.'/site_checker_'.md5('SITE_CHECKER'.$LICENSE_KEY).'.log';
}
示例8: getCurrentHost
/**
* Return current domain name (in puny code for cyrillic domain)
* @return string
*/
protected static function getCurrentHost()
{
$host = $_SERVER['HTTP_HOST'] ? $_SERVER['HTTP_HOST'] : 'localhost';
return CBXPunycode::ToASCII($host, $arErrors);
}