本文整理汇总了PHP中Pimcore_Tool::getClientIp方法的典型用法代码示例。如果您正苦于以下问题:PHP Pimcore_Tool::getClientIp方法的具体用法?PHP Pimcore_Tool::getClientIp怎么用?PHP Pimcore_Tool::getClientIp使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Pimcore_Tool
的用法示例。
在下文中一共展示了Pimcore_Tool::getClientIp方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: writeLogFile
protected function writeLogFile($username, $error)
{
$logfile = PIMCORE_SYSTEM_TEMP_DIRECTORY . "/loginerror.log";
$data = $this->readLogFile();
$remoteHost = Pimcore_Tool::getClientIp();
$data[] = array(time(), $remoteHost, $username);
$lines = array();
foreach ($data as $item) {
$lines[] = implode(",", $item);
}
// only save 2000 entries
$maxEntries = 2000;
if (count($lines) > $maxEntries) {
$lines = array_splice($lines, $maxEntries * -1);
}
file_put_contents($logfile, implode("\n", $lines));
chmod($logfile, 0766);
}
示例2: checkForRedirect
/**
* Checks for a suitable redirect
* @throws Exception
* @param bool $override
* @return void
*/
protected function checkForRedirect($override = false)
{
try {
$cacheKey = "system_route_redirect";
if (empty($this->redirects) && !($this->redirects = Pimcore_Model_Cache::load($cacheKey))) {
$list = new Redirect_List();
$list->setOrder("DESC");
$list->setOrderKey("priority");
$this->redirects = $list->load();
Pimcore_Model_Cache::save($this->redirects, $cacheKey, array("system", "redirect", "route"), null, 998);
}
foreach ($this->redirects as $redirect) {
// if override is true the priority has to be 99 which means that overriding is ok
if (!$override || $override && $redirect->getPriority() == 99) {
if (@preg_match($redirect->getSource(), $_SERVER["REQUEST_URI"], $matches)) {
array_shift($matches);
$target = $redirect->getTarget();
if (is_numeric($target)) {
$d = Document::getById($target);
if ($d instanceof Document_Page) {
$target = $d->getFullPath();
} else {
throw new Exception("Target of redirect no found!");
}
}
// replace escaped % signs so that they didn't have effects to vsprintf (PIMCORE-1215)
$target = str_replace("\\%", "###URLENCODE_PLACEHOLDER###", $target);
$url = vsprintf($target, $matches);
$url = str_replace("###URLENCODE_PLACEHOLDER###", "%", $url);
header($redirect->getHttpStatus());
header("Location: " . $url, true, $redirect->getStatusCode());
// log all redirects to the redirect log
Pimcore_Log_Simple::log("redirect", Pimcore_Tool::getClientIp() . " \t Source: " . $_SERVER["REQUEST_URI"] . " -> " . $url);
exit;
}
}
}
} catch (Exception $e) {
// no suitable route found
}
}
示例3: getSystemAction
public function getSystemAction()
{
if ($this->getUser()->isAllowed("system_settings")) {
$values = Pimcore_Config::getSystemConfig();
if (($handle = fopen(PIMCORE_PATH . "/config/timezones.csv", "r")) !== FALSE) {
while (($rowData = fgetcsv($handle, 10000, ",", '"')) !== false) {
$timezones[] = $rowData[0];
}
fclose($handle);
}
$languages = Zend_Locale::getTranslationList('language');
asort($languages);
$languageOptions = array();
$validLanguages = array();
foreach ($languages as $short => $translation) {
if (strlen($short) == 2 or strlen($short) == 5 and strpos($short, "_") == 2) {
$languageOptions[] = array("language" => $short, "display" => $translation . " ({$short})");
$validLanguages[] = $short;
}
}
$valueArray = $values->toArray();
$valueArray['general']['validLanguage'] = explode(",", $valueArray['general']['validLanguages']);
//for "wrong" legacy values
if (is_array($valueArray['general']['validLanguage'])) {
foreach ($valueArray['general']['validLanguage'] as $existingValue) {
if (!in_array($existingValue, $validLanguages)) {
$languageOptions[] = array("language" => $existingValue, "display" => $existingValue);
}
}
}
//cdn hosts - add as array
if (!empty($valueArray['outputfilters']['cdnhostnames'])) {
$hostNames = explode(",", $valueArray['outputfilters']['cdnhostnames']);
if (is_array($hostNames)) {
foreach ($hostNames as $host) {
$valueArray['outputfilters']['cdnhostnamesArray'][] = array("value" => $host);
}
}
}
//cdn patterns - add as array
if (!empty($valueArray['outputfilters']['cdnpatterns'])) {
$patterns = explode(",", $valueArray['outputfilters']['cdnpatterns']);
if (is_array($patterns)) {
foreach ($patterns as $pattern) {
$valueArray['outputfilters']['cdnpatternsArray'][] = array("value" => $pattern);
}
}
}
//debug email addresses - add as array ckogler
if (!empty($valueArray['email']['debug']['emailaddresses'])) {
$emailAddresses = explode(",", $valueArray['email']['debug']['emailaddresses']);
if (is_array($emailAddresses)) {
foreach ($emailAddresses as $emailAddress) {
$valueArray['email']['debug']['emaildebugaddressesArray'][] = array("value" => $emailAddress);
}
}
} else {
$valueArray['email']['debug']['emaildebugaddressesArray'][] = array("value" => '');
}
//cache exclude patterns - add as array
if (!empty($valueArray['cache']['excludePatterns'])) {
$patterns = explode(",", $valueArray['cache']['excludePatterns']);
if (is_array($patterns)) {
foreach ($patterns as $pattern) {
$valueArray['cache']['excludePatternsArray'][] = array("value" => $pattern);
}
}
}
//remove password from values sent to frontend
$valueArray['database']["params"]['password'] = "##SECRET_PASS##";
//admin users as array
$adminUsers = array();
$userList = new User_List();
$userList->setCondition("admin = 1 and email is not null and email != ''");
$users = $userList->load();
if (is_array($users)) {
foreach ($users as $user) {
$adminUsers[] = array("id" => $user->getId(), "username" => $user->getUsername());
}
}
$adminUsers[] = array("id" => "", "username" => "-");
$response = array("values" => $valueArray, "adminUsers" => $adminUsers, "config" => array("timezones" => $timezones, "languages" => $languageOptions, "client_ip" => Pimcore_Tool::getClientIp()));
$this->_helper->json($response);
} else {
if ($this->getUser() != null) {
Logger::err("user [" . $this->getUser()->getId() . "] attempted to view system settings, but has no permission to do so.");
} else {
Logger::err("attempt to view system settings, but no user in session.");
}
}
$this->_helper->json(false);
}
示例4: inDebugMode
/**
* @static
* @return bool
*/
public static function inDebugMode()
{
if (defined("PIMCORE_DEBUG")) {
return PIMCORE_DEBUG;
}
$conf = Pimcore_Config::getSystemConfig();
$debug = (bool) $conf->general->debug;
// enable debug mode only for one IP
if ($conf->general->debug_ip && $conf->general->debug) {
$debug = false;
if (Pimcore_Tool::getClientIp() == trim($conf->general->debug_ip)) {
$debug = true;
}
}
return $debug;
}