本文整理汇总了PHP中getRemoteIP函数的典型用法代码示例。如果您正苦于以下问题:PHP getRemoteIP函数的具体用法?PHP getRemoteIP怎么用?PHP getRemoteIP使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了getRemoteIP函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: saveLog
public function saveLog($xml)
{
// !!!
// @todo Вот не знаю стоит ли тут делать так, или все же легче вызвать self::initReqXml(); но там у нас сессия инициализируется
$this->_clientXml = new DOMDocument();
libxml_use_internal_errors(true);
if (!$this->_clientXml->loadXML($xml)) {
$this->_debug = 1;
$xe_levels = array(LIBXML_ERR_WARNING => 'WARNING', LIBXML_ERR_ERROR => 'ERROR', LIBXML_ERR_FATAL => 'FATAL');
foreach (libxml_get_errors() as $xe) {
$err .= $xe_levels[$xe->level] . ": (line: {$xe->line}, column: {$xe->column}): {$xe->message}";
}
libxml_clear_errors();
$this->error(EXTERNAL_ERR_WRONG_REQ, $err);
}
$ns_name = basename($this->_clientXml->documentElement->getAttribute('xmlns:f'));
if ($ns_name == '') {
$ns_name = basename($this->_clientXml->documentElement->getAttribute('xmlns:hh'));
} else {
$ns_name = 'freetray';
}
if ($ns_name == '') {
$ns_name = 'other';
}
$log = new log("external/{$ns_name}-%d%m%Y.log");
$log->writeln('--------------' . getRemoteIP() . '--------------');
$log->writeln($xml);
}
开发者ID:kapai69,项目名称:fl-ru-damp,代码行数:28,代码来源:server.php
示例2: Create
/**
* Создать анонима
*
* @param char $error
* @return integer идентификатор анонима
*/
function Create(&$error)
{
global $DB;
$id = 0;
if (!$error) {
$data = array('icq' => $this->icq, 'mail' => $this->mail, 'phone' => $this->phone, 'ip' => getRemoteIP());
$DB->insert('anonymous', $data);
$id = $DB->val("SELECT currval('anonymous_id_seq');");
$error = $DB->error;
}
return $id;
}
开发者ID:Nikitian,项目名称:fl-ru-damp,代码行数:18,代码来源:anonymous.php
示例3: _request
public function _request($url, $xml, $scope = '')
{
if (!$this->_log) {
$this->_log = new log('wm_payments/wm_payments-%d%m%Y.log');
}
$this->_log->linePrefix = '%d.%m.%Y %H:%M:%S : ' . getRemoteIP() . " : {$scope} : ";
$res = parent::_request($url, $xml, $scope);
$this->_log->writeln('REQUEST:');
$this->_log->writeln($res->GetRequest());
$this->_log->writeln('RESPONSE:');
$this->_log->writeln($res->GetResponse());
return $res;
}
开发者ID:kapai69,项目名称:fl-ru-damp,代码行数:13,代码来源:wm_payments.php
示例4: EditOpinion
function EditOpinion($op_id, $message, $rating, $counter, $from = 'frl')
{
@session_start();
$objResponse = new xajaxResponse();
$message = trim($message);
if (!in_array($rating, array(-1, 0, 1))) {
$objResponse->assign('rating_error', 'innerHTML', 'Вы не выбрали категорию отзыва');
} elseif ($message == '') {
$objResponse->script("opinionFormError('error_edit_msg_{$op_id}');");
} elseif (strlen($message) > opinions::$opinion_max_length) {
$objResponse->script("opinionMaxLengthError('edit_msg_{$op_id}', " . opinions::$opinion_max_length . ');');
} else {
$message = str_replace('&', '&', $message);
$message = stripslashes($message);
$message = change_q_x($message, FALSE, TRUE, '', false, false);
$msg = opinions::GetMessageById($op_id);
$old_rating = $msg['rating'];
if (get_uid(0) == $msg['fromuser_id'] || hasPermissions('users')) {
$error = opinions::Edit($msg['fromuser_id'], $op_id, $message, $rating, getRemoteIP(), hasPermissions('users'), get_uid(0));
} else {
$error = 'Ошибка';
}
if (!$error) {
$msg = opinions::GetMessageById($op_id);
if ($msg) {
$user = new users();
$user->GetUserByUID($_SESSION['page_user_id']);
$objResponse->assign('opid_' . $op_id, 'innerHTML', opinions::printTheme($msg, $from, $counter, false));
$ot = $old_rating == 1 ? 'plus' : ($old_rating == -1 ? 'minus' : 'neitral');
$nt = $rating == 1 ? 'plus' : ($rating == -1 ? 'minus' : 'neitral');
$objResponse->call('opinionChConuters', 'ops-' . $from . $ot, 'ops-' . $from . $nt);
$block_class = 'ops-one-' . $nt;
$objResponse->script("\$('opid_{$op_id}').removeClass('ops-one-plus').removeClass('ops-one-neitral').removeClass('ops-one-minus');");
$objResponse->script("\$('opid_{$op_id}').addClass('{$block_class}')");
$objResponse->script("opinionCheckMaxLengthStop('edit_msg_{$op_id}');");
} else {
$objResponse->script("alert('" . serialize($msg) . "')");
}
} else {
$objResponse->script("alert('" . $error . "')");
}
}
return $objResponse;
}
开发者ID:kapai69,项目名称:fl-ru-damp,代码行数:44,代码来源:opinions.server.php
示例5: processForm
function processForm($aFormValues)
{
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/smail.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/blogs.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/users.php';
global $session;
session_start();
get_uid(false);
$objResponse = new xajaxResponse();
//$pname = change_q($_POST['name'], true);
$msg = change_q($aFormValues['calltext'], false, 0);
//$mail = trim($_POST['mail']);
//$attach = $_FILES['attach'];
$login = $_SESSION['login'] ? $_SESSION['login'] : 'Anonymous';
$tn = 0;
$f_name = '';
$uid = get_uid(false);
$usr = new users($uid);
$pname = $_SESSION['name'] . ' ' . $_SESSION['surname'];
$mail = $usr->GetField($uid, $error, 'email');
if (!$msg) {
$alert['msg'] = 'Поле заполнено некорректно';
$error_flag = 1;
}
if (!$error_flag) {
$error .= blogs::NewThread($uid, 3, 0, $name, $msg, $f_name, getRemoteIP(), 1, $tn);
}
if (!$error && !$error_flag) {
$sm = new smail();
$error .= $sm->NewFeedbackPost($pname, $msg, $mail, $_SESSION['login'], 4);
$msg = $name = $mail = '';
$info_msg = '<br><center><table class="view_info" border="0" cellpadding="2" cellspacing="0"><tbody><tr class="n_qpr"><td height="20"><img src="/images/ico_ok.gif" alt="" border="0" height="18" width="19"></td><td nowrap>Ваше сообщение отправлено</td></tr></tbody></table>';
$objResponse->assign('calltext', 'value', '');
$objResponse->assign('cbok', 'innerHTML', $info_msg);
//$objResponse->assign("submitButton","disabled",false);
$objResponse->assign('submitButton', 'value', 'Отправить');
}
return $objResponse;
}
开发者ID:kapai69,项目名称:fl-ru-damp,代码行数:39,代码来源:callback.server.php
示例6: checkUtm
/**
* Проверяем фиксируем UTM метки.
*
* @return bool
*/
public function checkUtm()
{
$sess_id = session_id();
//После авторизации обновляем UID пользователя
if (!isset($_SESSION['ga_stat_updated']) && isset($_SESSION['uid']) && $_SESSION['uid'] > 0) {
$this->db()->update(self::TABLE, array('user_id' => $_SESSION['uid']), 'user_id IS NULL AND sess_id = ?', $sess_id);
$_SESSION['ga_stat_updated'] = true;
}
if (!isset($_GET['utm_source'], $_GET['utm_medium'], $_GET['utm_campaign'])) {
return false;
}
$utm_source = __paramInit('string', 'utm_source', null, null, 150);
$utm_medium = __paramInit('string', 'utm_medium', null, null, 150);
$utm_campaign = __paramInit('string', 'utm_campaign', null, null, 150);
if (empty($utm_source) && empty($utm_medium) && empty($utm_campaign)) {
return false;
}
//Хеш на ссылку живет 30 минут в течении жизни сессии
$hash = md5($_SERVER['REQUEST_URI'] . date('d.m.Y H') . (date('i') > 30));
//Не фиксируем метки на одинаковые страницы и исключаем накрутку
if (isset($_SESSION['ga_stat_url_hash'][$hash])) {
return false;
}
$_SESSION['ga_stat_url_hash'][$hash] = true;
//Храним максимум до 100 разных хеш-ссылок в сессии и старые выбрасываем
if (count($_SESSION['ga_stat_url_hash']) > 100) {
$_SESSION['ga_stat_url_hash'] = array_slice($_SESSION['ga_stat_url_hash'], -100);
}
//Фиксируем метку
$data = array('utm_source' => $utm_source, 'utm_medium' => $utm_medium, 'utm_campaign' => $utm_campaign, 'ip' => getRemoteIP(), 'url' => parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH), 'sess_id' => $sess_id);
if (isset($_SESSION['uid']) && $_SESSION['uid'] > 0) {
$data['user_id'] = $_SESSION['uid'];
}
$ret = $this->db()->insert(self::TABLE, $data);
return $ret;
}
开发者ID:kapai69,项目名称:fl-ru-damp,代码行数:41,代码来源:ga_stat.php
示例7: checkLogin
function checkLogin($mode = 'REDIRECT')
{
$sql = "UPDATE " . DB_PREPEND . "phpwcms_userlog SET logged_in=0, logged_change='" . time() . "' ";
$sql .= "WHERE logged_in=1 AND (" . time() . "-logged_change) > " . intval($GLOBALS['phpwcms']["max_time"]);
_dbQuery($sql, 'UPDATE');
checkLoginCount();
if (empty($_SESSION["wcs_user"])) {
@session_destroy();
$ref_url = '';
if (!empty($_SERVER['QUERY_STRING'])) {
$ref_url = '?ref=' . rawurlencode(PHPWCMS_URL . 'phpwcms.php?' . xss_clean($_SERVER['QUERY_STRING']));
}
if ($mode == 'REDIRECT') {
// check again if user was logged in and this is a valid redirect request
$sql = 'SELECT COUNT(*) FROM ' . DB_PREPEND . 'phpwcms_userlog WHERE ';
$sql .= "logged_ip=" . _dbEscape(getRemoteIP()) . " AND ";
$sql .= '( ' . time() . ' - logged_change ) < 3600';
$ref_url = _dbCount($sql) > 0 ? get_login_file() . $ref_url : '';
headerRedirect(PHPWCMS_URL . $ref_url);
} else {
return false;
}
}
return true;
}
开发者ID:EDVLanger,项目名称:phpwcms,代码行数:25,代码来源:general.inc.php
示例8: checkGrayIp
/**
* Серый список IP
*
* @param users $user
*/
function checkGrayIp($user)
{
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/gray_ip.php';
$aGrayList = gray_ip::getGrayListByRegIp(getRemoteIP());
if ($aGrayList) {
// есть записи в списке первичных IP
gray_ip::addSecondaryIp($user->uid, $user->login, $user->role, $aGrayList);
}
}
开发者ID:Nikitian,项目名称:fl-ru-damp,代码行数:14,代码来源:registration.php
示例9: foreach
foreach ($cnt_form["target"] as $value) {
if (strtolower($cnt_form['fromEmail']) == strtolower($value)) {
$POST_ERR[] = '@@Sender’s email must be different from recipient’s email@@';
break;
}
}
}
}
// do $POST_ERR test again to handle possible duplicates
// in case 'checktofrom' = 1
if (!empty($POST_DO) && empty($POST_ERR)) {
// check if there are form values which should be saved in db
if (count($POST_savedb)) {
$POST_savedb_sql = 'INSERT INTO ' . DB_PREPEND . 'phpwcms_formresult ';
$POST_savedb_sql .= '(formresult_pid, formresult_ip, formresult_content) VALUES (';
$POST_savedb_sql .= $crow['acontent_id'] . ", " . _dbEscape(getRemoteIP()) . ", ";
$POST_savedb_sql .= _dbEscape(serialize($POST_savedb)) . ")";
$POST_savedb_sql = _dbQuery($POST_savedb_sql, 'INSERT');
}
// send mail, include phpmailer class
require_once PHPWCMS_ROOT . '/include/inc_ext/phpmailer/PHPMailerAutoload.php';
// now run all CC -> but sent as full email to each CC recipient
if (count($cnt_form['cc'])) {
$mail = new PHPMailer();
$mail->Mailer = $phpwcms['SMTP_MAILER'];
$mail->Host = $phpwcms['SMTP_HOST'];
$mail->Port = $phpwcms['SMTP_PORT'];
if ($phpwcms['SMTP_AUTH']) {
$mail->SMTPAuth = 1;
$mail->Username = $phpwcms['SMTP_USER'];
$mail->Password = $phpwcms['SMTP_PASS'];
开发者ID:EDVLanger,项目名称:phpwcms,代码行数:31,代码来源:cnt23.article.inc.php
示例10: csrf_magic
/**
* Проверка на наши запросы POST, GET защита от CSRF
*
*/
function csrf_magic()
{
static $log;
if (defined("NO_CSRF")) {
return true;
}
// Не проеверяем если отключена проверка в скрипте
if ($_POST['u_token_key'] != $_SESSION['rand']) {
if (!$log) {
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/log.php";
$log = new log('csrf/' . SERVER . '-%d%m%Y.log', 'a', '%d.%m.%Y %H:%M:%S - ' . getRemoteIP() . ' "' . $_SERVER['REQUEST_METHOD'] . ' ' . $_SERVER['REQUEST_URI'] . '"' . ' "' . $_SERVER['HTTP_USER_AGENT'] . '"');
}
$log->writeln(" post_key: {$_POST['u_token_key']}, session_key: {$_SESSION['rand']}");
$_POST = array();
$_REQUEST = array();
}
}
开发者ID:Nikitian,项目名称:fl-ru-damp,代码行数:21,代码来源:stdf.php
示例11: registration
//.........这里部分代码省略.........
$error['agree'] = 'Прочтите и согласитесь с правилами';
}
if ($passwd == '') {
$error['pwd'] = 'Введите пароль';
}
if (!preg_match("/^[a-zA-Z0-9]+[-a-zA-Z0-9_]{2,}\$/", $login)) {
$error['login'] = 'От 3 до 15 символов. Может содержать латинские буквы, цифры, подчёркивание (_) и дефис (-)';
}
if (in_array(strtolower($login), $GLOBALS['disallowUserLogins'])) {
$error['login'] = 'Извините, такой логин использовать нельзя';
}
if (!is_email($email)) {
$error['email'] = 'Поле заполнено некорректно';
}
if ($smscode != $_SESSION["smsCode"]) {
$error['smscode'] = 'Код не совпал';
}
if ($phone != $_SESSION["reg_phone"]) {
$error['phone'] = 'Вы вводили другой номер при запросе кода';
}
$phone = preg_replace("#^\\+#", "", $_SESSION["reg_phone"]);
if (empty($error['login'])) {
$sql = "SELECT uid FROM users WHERE lower(login) = ?";
if ($this->_db->val($sql, strtolower($login))) {
$error['login'] = 'Извините, такой логин уже существует';
}
}
if (empty($error['email']) && empty($error['captcha'])) {
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/temp_email.php";
if (temp_email::isTempEmail($email)) {
$error['email'] = 'К сожалению, регистрация аккаунта на указанный адрес электронной почты невозможна. Пожалуйста, для регистрации воспользуйтесь почтовым адресом другого домена';
} else {
$sql = "SELECT uid FROM users WHERE lower(email) = ?";
if ($this->_db->val($sql, strtolower($email))) {
$error['email'] = 'Указанная вами электронная почта уже зарегистрирована. Авторизуйтесь на сайте или укажите другую электронную почту.';
}
}
}
if (count($error) == 0) {
if ($type_wizard == step_wizard_registration::TYPE_WIZARD_EMP) {
$newuser = new employer();
} else {
$newuser = new freelancer();
}
$newuser->checked_name = false;
if ($type_wizard == step_wizard_registration::TYPE_WIZARD_EMP) {
$newuser->role = 1;
} else {
$newuser->role = 0;
}
$newuser->login = substr($login, 0, 15);
$newuser->email = substr($email, 0, 64);
$newuser->passwd = substr($passwd, 0, 24);
$id = $newuser->Create($rerror, $error);
if ($id && !$error) {
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/activate_code.php";
$this->parent->saveActionWizard($this, step_wizard::STATUS_CONFIRM);
$this->parent->bindUserIDReg($id);
unset($_SESSION['ref_uri']);
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/smail.php';
$smail = new smail();
$bSuspect = users::isSuspiciousUser($id, $newuser->login, '', $newuser->uname, '', $newuser->usurname, '');
$sPasswd = $bSuspect ? $newuser->passwd : '';
// чтобы из админки можно было выслать $smail->NewUser
$code = activate_code::Create($id, $newuser->login, $sPasswd, $error);
if (!$bSuspect) {
$_SESSION['suspect'] = false;
// юзер не подозрительный - сразу отпавляем юзеру письмо с кодом активации
$smail->NewUser($newuser->login, false, $code, $this->getWizardUserID(), $newuser->role ? 'emp' : 'frl');
} else {
$_SESSION['suspect'] = true;
// отправляем уведомление админу о том, что зарегистрировался подозрительный юзер
// если админ его одобрит - то письмо с кодом активации уйдет из админки
$smail->adminNewSuspectUser($newuser->login, $newuser->uname, $newuser->usurname);
}
//Записываем подтвержденный номер телефона в финансы
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/sms_gate.php";
$phone = '+' . preg_replace("#^\\+#", "", $_SESSION["reg_phone"]);
unset($_SESSION["regform_captcha_entered"]);
sms_gate::saveSmsInfo($phone, $_SESSION["reg_sms_isnn"], $_SESSION["smsCode"], $_SESION["reg_sms_date_send"], $id);
// стираем куку, чтобы показался блок "Вы успешно зарегистрировались"
setcookie('master_auth', "", time() - 3600, '/');
// Серый список IP ----------------------
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/gray_ip.php';
$aGrayList = gray_ip::getGrayListByRegIp(getRemoteIP());
if ($aGrayList) {
// есть записи в списке первичных IP
gray_ip::addSecondaryIp($id, $newuser->login, $newuser->role, $aGrayList);
}
//---------------------------------------
$_SESSION['email'] = $newuser->email;
header("Location: /wizard/registration/");
exit;
}
}
} elseif ($action == 'authorization') {
$auth_error = $this->authorization($auth_login);
}
include $_SERVER['DOCUMENT_ROOT'] . "/wizard/registration/steps/tpl.step.reg.php";
}
开发者ID:Nikitian,项目名称:fl-ru-damp,代码行数:101,代码来源:step_wizard_registration.php
示例12: __construct
/**
* Конструктор принимает три обязательных параметра и восстанавливает сессию
* подключения (или создает новую, если ее нет).
*
* @param int $uid id пользователя
* @param string $cid id сессии
* @param string $ckey ключ сессии
*/
public function __construct($uid, $cid, $ckey)
{
if (!$uid || !$cid || !$ckey) {
return;
}
$this->_uid = $uid;
$this->_cid = $cid;
$this->_ckey = md5($ckey . getRemoteIP() . $_SERVER['HTTP_USER_AGENT']);
$this->_memBuff = new memBuff();
$this->_loadConnect();
if (empty($this->_connect)) {
$this->_connect = array('evid' => $this->_counter('evid'), 'cid' => $this->_cid, 'ckey' => $this->_ckey, 'uptime' => time());
}
$this->_settings = array('chat' => (int) $_SESSION['chat'], 'sound' => (int) $_SESSION['chat_sound']);
}
开发者ID:kapai69,项目名称:fl-ru-damp,代码行数:23,代码来源:QChat.php
示例13: addRecord
/**
* Вставка записи.
*
* @param $fid идентификатор файла
* @param $file_name имя файла
* @param $old_file_name имя файла, который был переименован при замене вновь загруженым
*
* @return int идентификатор записи
**/
public static function addRecord($fid, $file_name, $old_file_name)
{
global $DB;
return $DB->insert(self::TABLE, array('filename' => $file_name, 'fid' => $fid, 'old_file_name' => $old_file_name, 'ip' => getRemoteIP(), 'admin_id' => get_uid(false)), 'id');
}
开发者ID:kapai69,项目名称:fl-ru-damp,代码行数:14,代码来源:dav_file_upload.php
示例14: static_compress
/**
* Конструктор. Инициализация переменных
*/
function static_compress($enabled = COMPRESS_STATIC, $options = array())
{
if (isset($options['bem']) && $options['bem']) {
$this->bem_src_path = $options['bem'];
} else {
$this->bem_src_path = self::BEM_SRC_PATH;
}
$this->_root = $options['root'];
// $this->memBuff = new memBuff();
$this->enabled = $enabled;
$this->_log = new log('static/' . SERVER . '-%d.log');
$this->_log->linePrefix = '%d.%m.%Y %H:%M:%S : ' . str_pad(getRemoteIP(), 15) . ' ';
$this->isMSIE = stripos($_SERVER['HTTP_USER_AGENT'], 'msie ') !== false;
}
开发者ID:amage,项目名称:fl-ru-damp,代码行数:17,代码来源:static_compress.php
示例15: array
$files = array();
$attach = $_FILES['attach'];
if (is_array($attach) && !empty($attach['name'])) {
foreach ($attach['name'] as $key => $v) {
if (!$attach['name'][$key] || $key > articles_comments::MAX_FILE_COUNT) {
continue;
}
$files[] = new CFile(array('name' => $attach['name'][$key], 'type' => $attach['type'][$key], 'tmp_name' => $attach['tmp_name'][$key], 'error' => $attach['error'][$key], 'size' => $attach['size'][$key]));
}
}
list($att, $uperr, $error_flag) = $comments->UploadFiles($files, array('width' => 390, 'height' => 1000, 'less' => 0));
if ($uperr) {
$alert[2] = $uperr;
}
if (!isset($alert)) {
$new = $comments->Add($uid, $reply, $thread, $msg, $yt_link, $att, getRemoteIP(), $err, $tn);
}
if ($new) {
$q = array();
parse_str(parse_url($_SERVER['HTTP_REFERER'], PHP_URL_QUERY), $q);
$q['goto'] = $new;
header('Location: ./' . url($GET, $q, true, '?'));
// echo "<script>document.location.href = '{$_SERVER['HTTP_REFERER']}#c_$new';</script>";
exit;
}
break;
case 'edit-comment':
if (!$uid) {
header('Location: /fbd.php');
die;
}
开发者ID:kapai69,项目名称:fl-ru-damp,代码行数:31,代码来源:index.php
示例16: die
// script contains everything necessary to track ad banner clicks and so on...
// ----------------------------------------------------------------
// obligate check for phpwcms constants
if (!defined('PHPWCMS_ROOT')) {
die("You Cannot Access This Script Directly, Have a Nice Day.");
}
// ----------------------------------------------------------------
// first check
if (isset($_GET['u']) && $_GET['u'] == PHPWCMS_USER_KEY) {
$ads_id = intval($_GET['adclickval']);
$sql = 'SELECT * FROM ' . DB_PREPEND . 'phpwcms_ads_campaign ';
$sql .= 'WHERE adcampaign_id=' . $ads_id . ' AND adcampaign_status=1 LIMIT 1';
$ad_data = _dbQuery($sql);
if (!empty($ad_data[0]['adcampaign_data'])) {
$ad_data = @unserialize($ad_data[0]['adcampaign_data']);
$ads_userip = getRemoteIP();
$ads_useragent = $_SERVER['HTTP_USER_AGENT'];
$ads_ref = isset($_GET['r']) ? trim($_GET['r']) : '';
$ads_cat = empty($_GET['c']) ? 0 : intval($_GET['c']);
$ads_article = empty($_GET['a']) ? 0 : intval($_GET['a']);
if (empty($_COOKIE['phpwcmsAdsUserId']) || !preg_match('/^[0-9a-f]{32}$/', $ads_userid = $_COOKIE['phpwcmsAdsUserId'])) {
$ads_userid = md5($ads_userip . microtime());
setcookie('phpwcmsAdsUserId', $ads_userid, time() + 63072000, '/', getCookieDomain());
}
$sql = 'INSERT DELAYED INTO ' . DB_PREPEND . 'phpwcms_ads_tracking (';
$sql .= 'adtracking_created, adtracking_campaignid, adtracking_ip, adtracking_cookieid, ';
$sql .= 'adtracking_countclick, adtracking_countview, adtracking_useragent, adtracking_ref, ';
$sql .= 'adtracking_catid, adtracking_articleid) VALUES (';
$sql .= "NOW(), " . $ads_id . ", " . _dbEscape($ads_userip) . ", " . _dbEscape($ads_userid) . ", ";
$sql .= "1, 0, " . _dbEscape($ads_useragent) . ", " . _dbEscape($ads_ref) . ", " . $ads_cat . ", " . $ads_article . ")";
@_dbQuery($sql, 'INSERT');
开发者ID:Ideenkarosell,项目名称:phpwcms,代码行数:31,代码来源:ads.fe_init.inc.php
示例17: CreateComment
/**
* Создает комментарий.
*
* @param int $oid id предложения, который комментируют
* @param string $comment комментарий
* @param int $reply id комментария на который отвечают или 0, если комментарий 1-го уровня
*
* @return string сообщение об ошибке или пустая строка, если все нормально
*/
public function CreateComment($oid, $comment, $reply = 0)
{
global $DB;
$oid = intval($oid);
$reply = intval($reply);
//$comment = substr(change_q(trim($comment), true, 90), 0, 1000);
if (!($offer = $this->GetOffer($oid))) {
return 'Несуществующее предложение';
}
if ($offer['closed'] == 't') {
return 'Проект завершен';
}
// пользователь забанен в текущем предложении?
if ($this->is_banned) {
return 'Забаненые пользователи не могут добавлять комментарии';
}
// пользователь запретил комментировать свое предложение?
if ($offer['comm_blocked'] == 't') {
return 'Автор предложения отключил возможность комментирования';
}
// добавляем комментарий
$ip = getRemoteIP();
$nStopWordsCnt = 0;
if (!is_pro()) {
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/stop_words.php';
$stop_words = new stop_words();
$nStopWordsCnt = $stop_words->calculate($comment);
}
$sModVal = is_pro() || !$nStopWordsCnt ? 'NULL' : '0';
$sql = '
INSERT INTO projects_contest_msgs
(offer_id, user_id, reply_to, from_ip, msg, post_date, moderator_status)
VALUES
(?i, ?i, ' . ($reply ? $reply : 'NULL') . ", ?, ?, NOW(), {$sModVal})\n\t\t\tRETURNING id\n\t\t";
$this->new_cid = $DB->val($sql, $oid, $this->uid, $ip, $comment);
if ($error = $DB->error) {
return $error;
}
if (!is_pro() && $nStopWordsCnt) {
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/user_content.php';
$DB->insert('moderation', array('rec_id' => $this->new_cid, 'rec_type' => user_content::MODER_CONTEST_COM, 'stop_words_cnt' => $nStopWordsCnt));
}
$sql = 'SELECT po.user_id AS frl, p.user_id AS emp, e.is_pro AS emp_is_pro, f.is_pro AS frl_is_pro
FROM projects_offers po
LEFT JOIN projects p ON p.id = po.project_id
LEFT JOIN employer e ON e.uid = p.user_id
LEFT JOIN freelancer f ON f.uid = po.user_id
WHERE po.id = ?i LIMIT 1';
$users = $DB->row($sql, $oid);
// стираем мемкеш
$memBuff = new memBuff();
if ((int) $users['frl'] !== (int) $this->uid) {
$memBuff->delete("prjMsgsCnt{$users['frl']}");
$memBuff->delete("prjMsgsCntWst{$users['frl']}");
} elseif ((int) $users['emp'] !== (int) $this->uid) {
$memBuff->delete("prjMsgsCnt{$users['emp']}");
$memBuff->delete("prjLastMess{$users['emp']}");
}
return '';
}
开发者ID:kapai69,项目名称:fl-ru-damp,代码行数:69,代码来源:contest.php
示例18: CheckSessionCountryCity
/**
* Сохраняет в сессии текущий ip адрес и страну-город для баннерки,
* Если ip поменялся, страна город также обновляются.
*/
public function CheckSessionCountryCity()
{
$DB = new DB('banner');
@session_start();
$ip = getRemoteIP();
if (!isset($_SESSION['last_ip']) || isset($_SESSION['last_ip']) && $_SESSION['last_ip'] != $ip || !isset($_SESSION['banners_city']) && !isset($_SESSION['banners_country'])) {
$_SESSION['last_ip'] = $ip;
$sql = 'SELECT city_id, country
FROM ban_netwoks
INNER JOIN ban_city ON ban_city.id = ban_netwoks.city_id
WHERE ? BETWEEN ip_from AND ip_to
ORDER BY ip_to LIMIT 1';
$res = $DB->row($sql, $ip);
$_SESSION['banners_city'] = intval($res['city_id']);
$_SESSION['banners_country'] = $res['country'];
}
}
开发者ID:kapai69,项目名称:fl-ru-damp,代码行数:21,代码来源:banners.php
示例19: _error
private function _error($optype = null, $key = null)
{
if (!$this->_log->linePrefix) {
$this->_log->linePrefix = '%d.%m.%Y %H:%M:%S - ' . getRemoteIP() . ' - "' . $_SERVER['REQUEST_METHOD'] . ' ' . $_SERVER['REQUEST_URI'] . '" : ';
}
$rcode = $this->getResultCode();
$rmsg = $this->getResultMessage();
$ttime = $this->_log->getTotalTime('%H:%M:%S', 3);
if ($rcode == Memcached::RES_NOTFOUND || $rcode == Memcached::RES_SUCCESS || $optype == 'add' && $rcode == Memcached::RES_NOTSTORED) {
return;
}
$this->_log->writeln("[error: {$rcode}, method: {$optype}, key: {$key}, time: {$ttime}] {$rmsg}");
}
开发者ID:kapai69,项目名称:fl-ru-damp,代码行数:13,代码来源:memBuff2.php
示例20: memBuff
$footer = "../footer.html";
if (!$user->login) {
include ABS_PATH . "/404.php";
exit;
}
$obj_memcache = new memBuff();
if ($_SESSION['login']) {
if ($_SESSION['login'] != $user->login) {
if (!$obj_memcache->get('user_view_' . strtolower($user->login) . '_' . strtolower($_SESSION['login']))) {
$obj_memcache->set('user_view_' . strtolower($user->login) . '_' . strtolower($_SESSION['login']), 1, 3600);
$user->IncHits($user->login);
}
}
} else {
if (!$obj_memcache->get('user_view_' . strtolower($user->login) . '_' . getRemoteIP())) {
$obj_memcache->set('user_view_' . strtolower($user->login) . '_' . getRemoteIP(), 1, 3600);
$user->IncHits($user->login);
}
}
if ($user->is_banned && !hasPermissions('users')) {
if (!$content) {
$content = "ban.php";
}
} else {
if (!$content) {
$content = $page == 'opinions' ? 'content_new.php' : 'content.php';
// !!! проверить
/*
if ($_SESSION['login'] == $name) {
$content = "content_setup.php";
$fpath = $_SERVER['DOCUMENT_ROOT'] . "/user/employer/";
开发者ID:Nikitian,项目名称:fl-ru-damp,代码行数:31,代码来源:index.php
注:本文中的getRemoteIP函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论