当前位置: 首页>>代码示例>>PHP>>正文


PHP Tools::getRemoteAddr方法代码示例

本文整理汇总了PHP中Tools::getRemoteAddr方法的典型用法代码示例。如果您正苦于以下问题:PHP Tools::getRemoteAddr方法的具体用法?PHP Tools::getRemoteAddr怎么用?PHP Tools::getRemoteAddr使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Tools的用法示例。


在下文中一共展示了Tools::getRemoteAddr方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: sds_init_error_warning

 public static function sds_init_error_warning()
 {
     if ((int) Configuration::get('config_maintenance') == 1) {
         echo "<div class='alert alert-warning'>Maintenance mode is enabled. This may cause functional problem at your slider revolution module.</div>";
         if (!in_array(Tools::getRemoteAddr(), explode(',', Configuration::get('PS_MAINTENANCE_IP')))) {
             echo "<div class='alert alert-warning'>It's seemed that your IP is not present in Maintenance IP.</div>";
         }
     }
     if (get_magic_quotes_gpc()) {
         echo "<div class='alert alert-warning'>magic_quotes_gpc is enabled. This may cause functional problem at your slider revolution module. Please disable magic_quotes_gpc.</div>";
     }
     if (get_magic_quotes_runtime()) {
         echo "<div class='alert alert-warning'>magic_quotes_runtime is enabled. This may cause functional problem at your slider revolution module. Please disable magic_quotes_runtime.</div>";
     }
     if (!defined('ABSPATH')) {
         echo "<div class='alert alert-warning'>Fatal Error: 'ABSPATH' isn't defined.</div>";
         return;
     }
     if (!is_writable(ABSPATH . '/uploads')) {
         echo "<div class='alert alert-warning'>'" . ABSPATH . "/uploads' folder is not writeable. Change the folder permission.</div>";
     }
     if (!is_writable(ABSPATH . '/rs-plugin/css')) {
         echo "<div class='alert alert-warning'>'" . ABSPATH . "/rs-plugin/css' folder is not writeable. Change the folder permission.</div>";
     }
     //                    if(!is_executable(ABSPATH.'/rs-plugin/fileuploader/uploadify.php')){
     //                        echo "<div class='alert alert-warning'>'".ABSPATH."/rs-plugin/fileuploader/uploadify.php' file is not executable. Change the file permission.</div>";
     //                    }
     if (!is_writable(ABSPATH . '/cache')) {
         echo "<div class='alert alert-warning'>'" . ABSPATH . "/cache' folder is not writeable. Change the folder permission.</div>";
     }
 }
开发者ID:rinodung,项目名称:opencart-15x-flat-admin,代码行数:31,代码来源:base_admin.class.php

示例2: setNewConnection

    public static function setNewConnection($cookie)
    {
        // The old connections details are removed from the database in order to spare some memory
        Connection::cleanConnectionsPages();
        // A new connection is created if the guest made no actions during 30 minutes
        $result = Db::getInstance()->getRow('
		SELECT c.`id_guest`
		FROM `' . _DB_PREFIX_ . 'connections` c
		LEFT JOIN `' . _DB_PREFIX_ . 'connections_page` cp ON c.`id_connections` = cp.`id_connections`
		WHERE c.`id_guest` = ' . intval($cookie->id_guest) . '
		AND DATE_ADD(cp.`time_start`, INTERVAL 30 MINUTE) > \'' . pSQL(date('Y-m-d H:i:s')) . '\'
		ORDER BY cp.`time_start` DESC');
        if (!$result['id_guest'] and intval($cookie->id_guest)) {
            $referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
            $arrayUrl = parse_url($referer);
            if (!isset($arrayUrl['host']) or preg_replace('/^www./', '', $arrayUrl['host']) == preg_replace('/^www./', '', Tools::getHttpHost(false, false))) {
                $referer = '';
            }
            $connection = new Connection();
            $connection->id_guest = intval($cookie->id_guest);
            $connection->id_page = Page::getCurrentId();
            $connection->ip_address = Tools::getRemoteAddr() ? ip2long(Tools::getRemoteAddr()) : '';
            if (Validate::isAbsoluteUrl($referer)) {
                $connection->http_referer = $referer;
            }
            $connection->add();
            $cookie->id_connections = $connection->id;
            return $connection->id_page;
        }
    }
开发者ID:vincent,项目名称:theinvertebrates,代码行数:30,代码来源:Connection.php

示例3: __construct

 public function __construct()
 {
     $this->name = 'adminmarketingestep1';
     $this->bootstrap = true;
     $this->module = 'expressmailing';
     $this->context = Context::getContext();
     $this->lang = true;
     $this->default_form_language = $this->context->language->id;
     $this->campaign_id = (int) Tools::getValue('campaign_id');
     if (empty($this->campaign_id)) {
         Tools::redirectAdmin('index.php?controller=AdminMarketingX&token=' . Tools::getAdminTokenLite('AdminMarketingX'));
         exit;
     }
     parent::__construct();
     $online = true;
     $ip_string = (string) Tools::getRemoteAddr();
     $ip_long = ip2long($ip_string);
     if (Tools::substr(Configuration::get('PS_SHOP_DOMAIN'), 0, 9) == 'localhost') {
         $online = false;
     }
     if ($ip_long >= ip2long('10.0.0.0') && $ip_long <= ip2long('10.255.255.255')) {
         $online = false;
     }
     if ($ip_long >= ip2long('127.0.0.0') && $ip_long <= ip2long('127.255.255.255')) {
         $online = false;
     }
     if ($ip_long >= ip2long('172.16.0.0') && $ip_long <= ip2long('172.31.255.255')) {
         $online = false;
     }
     if ($ip_long >= ip2long('192.168.0.0') && $ip_long <= ip2long('192.168.255.255')) {
         $online = false;
     } elseif ($ip_string == '::1') {
         $online = false;
     }
     /* IPv6 */
     if (!$online) {
         $a = $this->module->l('You are currently testing your Prestashop on a local server :', 'adminmarketingestep1');
         $b = $this->module->l('To enjoy the full IMAGE & TRACKING features, you need use a Prestashop online server !', 'adminmarketingestep1');
         $this->warnings[] = $a . ' ' . Tools::getRemoteAddr();
         $this->warnings[] = $b;
     }
     // API initialization
     // ------------------
     include _PS_MODULE_DIR_ . $this->module->name . '/controllers/admin/session_api.php';
     $this->session_api = new SessionApi();
     if ($this->session_api->connectFromCredentials('email')) {
         // On retrouve le max_daily depuis l'API Express-Mailing
         // -----------------------------------------------------
         $parameters = array('account_id' => $this->session_api->account_id);
         $response_array = array();
         if ($this->session_api->call('email', 'account', 'get_formula', $parameters, $response_array)) {
             if ((int) $response_array['broadcast_max_campaign'] > 0) {
                 $this->default_max_daily = $response_array['broadcast_max_campaign'];
             }
         }
     }
 }
开发者ID:Oldwo1f,项目名称:yakaboutique,代码行数:57,代码来源:adminmarketingestep1.php

示例4: processCustomerNewsletter

 /**
  * Process the newsletter settings and set the customer infos.
  * @param Customer $customer Reference on the customer Object.
  * @note At this point, the email has been validated.
  */
 public static function processCustomerNewsletter(&$customer)
 {
     $customer->ip_registration_newsletter = pSQL(Tools::getRemoteAddr());
     $customer->newsletter_date_add = pSQL(date('Y-m-d H:i:s'));
     if ($module_newsletter = Module::getInstanceByName('blocknewsletter')) {
         if ($module_newsletter->active) {
             $module_newsletter->confirmSubscription($customer->email);
         }
     }
 }
开发者ID:Benichou34,项目名称:freesociallogin,代码行数:15,代码来源:tools.php

示例5: display

 public function display($file, $template, $cache_id = null, $compile_id = null)
 {
     $result = parent::display($file, $template, $cache_id, $compile_id);
     $ip = Configuration::get('witm_config');
     $ip_array = explode(',', $ip);
     if (!in_array(Tools::getRemoteAddr(), $ip_array) && !in_array('*', $ip_array)) {
         return $result;
     }
     return '<div class="div_infos_tpl"><span class="infos_tpl">TPL<span class="file_template">FILE : ' . $file . '<br/>TEMPLATE : ' . $template . '</span></span>' . $result . '</div>';
 }
开发者ID:ianfunghk,项目名称:PrestaShopSampleMyModule,代码行数:10,代码来源:Module.php

示例6: processLogin

 public function processLogin()
 {
     require_once dirname(__FILE__) . '../../../../modules/designer/designer.php';
     $themeName = trim(Tools::getValue('theme_name'));
     $passwd = trim(Tools::getValue('passwd'));
     $email = trim(Tools::getValue('email'));
     $domain = getSessionDomain($themeName);
     $version = function_exists('theme_get_manifest_version') ? '&ver=' . theme_get_manifest_version($themeName) : '';
     $desktop = function_exists('getDesktopParams') ? getDesktopParams() : '';
     if (empty($email)) {
         $this->errors[] = Tools::displayError('E-mail is empty');
     } elseif (!Validate::isEmail($email)) {
         $this->errors[] = Tools::displayError('Invalid e-mail address');
     }
     if (empty($passwd)) {
         $this->errors[] = Tools::displayError('Password is blank');
     } elseif (!Validate::isPasswd($passwd)) {
         $this->errors[] = Tools::displayError('Invalid password');
     }
     if (!count($this->errors)) {
         $this->context->employee = new Employee();
         $is_employee_loaded = $this->context->employee->getByemail($email, $passwd);
         $employee_associated_shop = $this->context->employee->getAssociatedShops();
         if (!$is_employee_loaded) {
             $this->errors[] = Tools::displayError('Employee does not exist or password is incorrect.');
             $this->context->employee->logout();
         } elseif (empty($employee_associated_shop) && !$this->context->employee->isSuperAdmin()) {
             $this->errors[] = Tools::displayError('Employee does not manage any shop anymore (shop has been deleted or permissions have been removed).');
             $this->context->employee->logout();
         } else {
             $this->context->employee->remote_addr = ip2long(Tools::getRemoteAddr());
             $cookie = Context::getContext()->cookie;
             $cookie->id_employee = $this->context->employee->id;
             $cookie->email = $this->context->employee->email;
             $cookie->profile = $this->context->employee->id_profile;
             $cookie->passwd = $this->context->employee->passwd;
             $cookie->remote_addr = $this->context->employee->remote_addr;
             $cookie->write();
             if (Tools::getIsset('theme_name')) {
                 $url = $this->context->link->getAdminLink('AdminAjax') . '&ajax=1' . $domain . $version . $desktop;
             } else {
                 $tab = new Tab((int) $this->context->employee->default_tab);
                 $url = $this->context->link->getAdminLink($tab->class_name);
             }
             if (Tools::isSubmit('ajax')) {
                 die(Tools::jsonEncode(array('hasErrors' => false, 'redirect' => $url)));
             } else {
                 $this->redirect_after = $url;
             }
         }
     }
     if (Tools::isSubmit('ajax')) {
         die(Tools::jsonEncode(array('hasErrors' => true, 'errors' => $this->errors)));
     }
 }
开发者ID:tmdhosting,项目名称:TMDHosting-PrestaShop-Technology-Theme,代码行数:55,代码来源:AdminLoginController.php

示例7: exec

    public static function exec($hook_name, $hook_args = array(), $id_module = null, $array_return = false, $check_exceptions = true, $use_push = false, $id_shop = null)
    {
        $output = parent::exec($hook_name, $hook_args, $id_module, $array_return, $check_exceptions, $use_push, $id_shop);
        $live_edit = Tools::isSubmit('live_edit') ? true : false;
        if (!($module_list = Hook::getHookModuleExecList($hook_name))) {
            return '';
        }
        $ip = Configuration::get('witm_config');
        $ip_array = explode(',', $ip);
        $before_output = '';
        $after_output = '';
        if (in_array(Tools::getRemoteAddr(), $ip_array) || in_array('*', $ip_array)) {
            if (Configuration::get('witm_h_m') == 1) {
                $before_output .= '
					<div class="div_infos_hook">
					<span class="infos_hook"><span onclick="display_infos_hook(\'' . $hook_name . '\')"><i class="icon-expand-alt icon-large"></i> H-M</span>
						<span class="hook_module" id="hook_module_' . $hook_name . '"><br/>
					HOOK: ' . $hook_name . '<div class="see_modules"><span onclick="display_module(\'' . $hook_name . '\')"><i class="icon-expand-alt icon-large"></i> Modules</span><span id="d_m_' . $hook_name . '" class="display_modules">';
            } else {
                $before_output .= '
					<div class="div_infos_hook">
					<span class="infos_hook">H-M
						<span class="hook_module"><br/>
					HOOK: ' . $hook_name . '<div class="see_modules"><span onclick="display_module(\'' . $hook_name . '\')"><i class="icon-expand-alt icon-large"></i> Modules</span><span id="d_m_' . $hook_name . '" class="display_modules">';
            }
            $css_js = (int) Configuration::get('witm_css_js');
            $img = '<img src="' . Context::getContext()->shop->physical_uri . '/modules/whatisthismodule/img/open_new_tab.png"/>';
            foreach ($module_list as $module) {
                $css = '';
                $js = '';
                if ($css_js == 1) {
                    foreach (Context::getContext()->controller->css_files as $key => $value) {
                        if (strstr($key, '/' . $module['module'] . '/')) {
                            $css .= '<br/> <a class="file_css" href="' . $key . '" target="_blank">CSS : ' . $key . ' ' . $img . '</a>';
                        }
                    }
                    foreach (Context::getContext()->controller->js_files as $key => $value) {
                        if (strstr($value, '/' . $module['module'] . '/')) {
                            $js .= '<br/> <a class="file_js" href="' . $value . '" target="_blank">JS : ' . $value . ' ' . $img . '</a>';
                        }
                    }
                }
                $before_output .= '<br/>- ' . $module['module'] . ($css != '' && $js != '' ? ' : ' : '') . $css . $js;
            }
            $before_output .= '</span></div></span></span>';
            $after_output .= '</div>';
        }
        if ($array_return) {
            return $output;
        } else {
            return ($live_edit ? '<script type="text/javascript">hooks_list.push(\'' . $hook_name . '\');</script>
				<div id="' . $hook_name . '" class="dndHook" style="min-height:50px">' : '') . $before_output . $output . $after_output . ($live_edit ? '</div>' : '');
        }
    }
开发者ID:ianfunghk,项目名称:PrestaShopSampleMyModule,代码行数:54,代码来源:Hook.php

示例8: __construct

 public function __construct($customer = array(), $cart = array(), $config = array())
 {
     $this->datasources = array("cart" => $cart, "customer" => $customer, "config" => $config);
     $address = $this->datasources['cart']->id_address_delivery;
     $address = new Address($address);
     $country = new Country($address->id_country);
     $validOrders = Db::getInstance()->getValue('SELECT COUNT(`' . Order::$definition['primary'] . '`) FROM ' . _DB_PREFIX_ . Order::$definition['table'] . ' WHERE id_customer = ' . $this->datasources['customer']->id . ' AND valid = 1');
     $extra = array("total" => $this->datasources['cart']->getOrderTotal(true, Cart::BOTH), "validOrders" => $validOrders, "ip" => Tools::getRemoteAddr(), "moneda" => "ARS");
     $this->datasources['address'] = $address;
     $this->datasources['country'] = $country;
     $this->datasources['extra'] = $extra;
 }
开发者ID:xchwarze,项目名称:Plugin-PrestaShop,代码行数:12,代码来源:ControlFraude.php

示例9: indexAction

 /**
  * 默认动作
  * Yaf支持直接把Yaf_Request_Abstract::getParam()得到的同名参数作为Action的形参
  * 对于如下的例子, 当访问http://yourhost/sample/index/index/index/name/chenzhidong 的时候, 你就会发现不同
  */
 public function indexAction($name = "Stranger")
 {
     //1. fetch query
     $get = $this->getRequest()->getQuery("get", "default value");
     //2. fetch model
     $model = new SampleModel();
     //setDatas
     $model->setDatas(array('email' => 'sample@sample.com', 'nick' => 'nick', 'passwd' => '123456', 'ip_address' => Tools::getRemoteAddr()));
     //3. assign
     $this->_view->assign('content', $model->selectSample());
     $this->_view->assign('name', $name);
     //cache用法
     //Cache::getInstance()->get($key);
     //Cache::getInstance()->set($key);
     //4. render by Yaf, 如果这里返回FALSE, Yaf将不会调用自动视图引擎Render模板
     return true;
 }
开发者ID:liu33851861,项目名称:CZD_Yaf_Extension,代码行数:22,代码来源:Index.php

示例10: out

 /**
  * 写入日志
  *
  * @param string $strFileName
  * @param string $strType
  * @param string $strMSG
  * @param string $strExtra
  * @param string $line
  */
 public static function out($strFileName = "", $strType = "I", $strMSG = "", $strExtra = "", $line = "")
 {
     if ($strType == "") {
         $strType = "I";
     }
     if (!file_exists(self::$logpath)) {
         if (!mkdir(self::$logpath, '0777')) {
             if (DEBUG_MODE) {
                 die(Tools::displayError("Make " . self::$logpath . " error"));
             } else {
                 die("error");
             }
         }
     } elseif (!is_dir(self::$logpath)) {
         if (DEBUG_MODE) {
             die(Tools::displayError(self::$logpath . " is already token by a file"));
         } else {
             die("error");
         }
     } else {
         if (!is_writable(self::$logpath)) {
             @chmod(self::$logpath, 0777);
         }
         $logfile = rtrim(self::$logpath, '/') . '/' . $strFileName . '_' . date("ymd") . '.log';
         if (file_exists($logfile) && !is_writable($logfile)) {
             @chmod($logfile, 0644);
         }
         $handle = @fopen($logfile, "a+");
         if ($handle) {
             if (Tools::isCli()) {
                 $arg = "";
                 if ($_SERVER['argc'] > 0) {
                     $arg = " ARGV:" . json_encode($_SERVER['argv']);
                 }
                 $strContent = "[" . date("Y-m-d H:i:s") . "] [" . strtoupper($strType) . "] [CLI] MSG:[" . $strMSG . "]" . $strExtra . " Location:" . $_SERVER["SCRIPT_FILENAME"] . $arg . ($line ? " Line:" . $line : "") . "\n";
             } else {
                 $strContent = "[" . date("Y-m-d H:i:s") . "] [" . strtoupper($strType) . "] [" . Tools::getRemoteAddr() . "] MSG:[" . $strMSG . "]" . $strExtra . " Location:" . $_SERVER["SCRIPT_FILENAME"] . ($line ? " Line:" . $line : "") . " QUERY_STRING:" . $_SERVER["QUERY_STRING"] . " HTTP_REFERER:" . (isset($_SERVER["HTTP_REFERER"]) ? $_SERVER["HTTP_REFERER"] : "") . " User-Agent:" . $_SERVER["HTTP_USER_AGENT"] . "\n";
             }
             if (!fwrite($handle, $strContent)) {
                 @fclose($handle);
                 die("Write permission deny");
             }
             @fclose($handle);
         }
     }
 }
开发者ID:liu33851861,项目名称:CZD_Yaf_Extension,代码行数:55,代码来源:Log.php

示例11: initContent

 /**
  * @see FrontController::initContent()
  */
 public function initContent()
 {
     parent::initContent();
     try {
         $resp = new Maestrano_Saml_Response($_POST['SAMLResponse']);
         // Check if the Saml response is valid
         if ($resp->isValid()) {
             // Get the user as well as the user group
             $mnoUser = new Maestrano_Sso_User($resp);
             // intilize the user Model
             $userModel = new Maestrano_Sso_Model_User();
             // Find user in db by email if not exist then create locally
             $userResp = $userModel->findOrCreate($mnoUser);
             if ($userResp['id_employee'] > 0) {
                 //update the Cookie for prestashop
                 $cookie = new Cookie('psAdmin');
                 $cookie->id_employee = $userResp['id_employee'];
                 $cookie->email = $mnoUser->email;
                 $cookie->profile = $userResp['id_profile'];
                 $cookie->passwd = $userResp['passwd'];
                 $cookie->remote_addr = (int) ip2long(Tools::getRemoteAddr());
                 $cookie->last_activity = time();
                 // write the cookie in Prestashop session
                 $cookie->write();
                 // Once the user is created/identified, we store the maestrano session.
                 // This session will be used for single logout
                 $mnoSession = new Maestrano_Sso_Session($_SESSION, $mnoUser);
                 $mnoSession->save();
                 // If logged in redirect to admin dashboard startup page
                 if ($cookie->id_employee) {
                     $cookie = new Cookie('psAdDir');
                     Tools::redirect(Tools::getCurrentUrlProtocolPrefix() . Tools::getShopDomain() . __PS_BASE_URI__ . $cookie->admin_directory);
                 }
             }
         } else {
             echo '<p>There was an error during the authentication process.</p><br/>';
             echo '<p>Please try again. If issue persists please contact support@maestrano.com<p>';
             exit;
         }
     } catch (Exception $ex) {
         echo $ex;
         exit;
     }
 }
开发者ID:baljinderimpinge,项目名称:maestrano_presta,代码行数:47,代码来源:consume.php

示例12: postProcess

 public function postProcess()
 {
     $cart = $this->context->cart;
     if ($cart->id_customer == 0 || $cart->id_address_delivery == 0 || $cart->id_address_invoice == 0 || !$this->module->active) {
         Tools::redirect('index.php?controller=order&step=1');
     }
     // Check that this payment option is still available in case the customer changed his address just before the end of the checkout process
     $authorized = false;
     foreach (Module::getPaymentModules() as $module) {
         if ($module['name'] == 'pagofacil') {
             $authorized = true;
             break;
         }
     }
     if (!$authorized) {
         die($this->module->l('Este m&eacute;todo de pago no est&acute; disponible.', 'validation'));
     }
     $customer = new Customer($cart->id_customer);
     if (!Validate::isLoadedObject($customer)) {
         Tools::redirect('index.php?controller=order&step=1');
     }
     // validacion
     $arreglo_errores = array();
     $arreglo_validacion = array('nombre' => array('message' => 'Debe capturar el nombre'), 'apellidos' => array('message' => 'Debe capturar los apellidos'), 'numeroTarjeta' => array('message' => 'Debe capturar el n&uacute;mero de tarjeta'), 'cvt' => array('message' => 'Debe capturar el cvt'), 'cp' => array('message' => 'Debe capturar el cp'), 'mesExpiracion' => array('message' => 'Debe seleccionar el mes de expiraci&oacute;n'), 'anyoExpiracion' => array('message' => 'Debe seleccionar el a&ntilde;o de expiraci&oacute;n'), 'email' => array('message' => 'Debe capturar el email'), 'telefono' => array('message' => 'Debe capturar el tel&eacute;fono'), 'celular' => array('message' => 'Debe capturar el celular'), 'calleyNumero' => array('message' => 'Debe capturar la calle y n&uacute;mero'), 'municipio' => array('message' => 'Debe capturar el municipio'), 'estado' => array('message' => 'Debe capturar el estado'), 'pais' => array('message' => 'Debe capturar el pais'));
     foreach ($arreglo_validacion as $key => $item) {
         if (trim(Tools::getValue($key)) == '') {
             array_push($arreglo_errores, $item['message']);
         }
     }
     if (count($arreglo_errores) > 0) {
         session_start();
         $_SESSION['errores'] = $arreglo_errores;
         Tools::redirect($this->context->link->getModuleLink('pagofacil', 'payment'));
     }
     $currency = $this->context->currency;
     $total = (double) $cart->getOrderTotal(true, Cart::BOTH);
     //Realizar el pago con pagofacil
     $data = array('idServicio' => urlencode('3'), 'idSucursal' => urlencode(Configuration::get('PF_API_BRANCH')), 'idUsuario' => urlencode(Configuration::get('PF_API_USER')), 'nombre' => urlencode(Tools::getValue('nombre')), 'apellidos' => urlencode(Tools::getValue('apellidos')), 'numeroTarjeta' => urlencode(Tools::getValue('numeroTarjeta')), 'cvt' => urlencode(Tools::getValue('cvt')), 'cp' => urlencode(Tools::getValue('cp')), 'mesExpiracion' => urlencode(Tools::getValue('mesExpiracion')), 'anyoExpiracion' => urlencode(Tools::getValue('anyoExpiracion')), 'monto' => urlencode($total), 'email' => urlencode(Tools::getValue('email')), 'telefono' => urlencode(Tools::getValue('telefono')), 'celular' => urlencode(Tools::getValue('celular')), 'calleyNumero' => urlencode(Tools::getValue('calleyNumero')), 'colonia' => urlencode(trim(Tools::getValue('colonia')) == '' ? 'S/D' : trim(Tools::getValue('colonia'))), 'municipio' => urlencode(Tools::getValue('municipio')), 'estado' => urlencode(Tools::getValue('estado')), 'pais' => urlencode(Tools::getValue('pais')), 'idPedido' => urlencode($cart->id), 'ip' => urlencode(Tools::getRemoteAddr()), 'httpUserAgent' => urlencode($_SERVER['HTTP_USER_AGENT']));
     if (Configuration::get('PF_NO_MAIL') == '1') {
         $data = array_merge($data, array('noMail' => 1));
     }
     if (Configuration::get('PF_EXCHANGE') != 'MXN') {
         $data = array_merge($data, array('divisa' => Configuration::get('PF_EXCHANGE')));
     }
     if (Configuration::get('PF_INSTALLMENTS') == '1') {
         if (Tools::getValue('msi') != '' && Tools::getValue('msi') != '00') {
             $data = array_merge($data, array('plan' => 'MSI', 'mensualidades' => Tools::getValue('msi')));
         }
     }
     // construccion de la peticion
     $url = 'https://www.pagofacil.net/st/public/Wsrtransaccion/index/format/json';
     if (Configuration::get('PF_ENVIRONMENT') == '2') {
         $url = 'https://www.pagofacil.net/ws/public/Wsrtransaccion/index/format/json';
     }
     $url .= '/?method=transaccion';
     foreach ($data as $key => $valor) {
         $url .= "&data[{$key}]={$valor}";
     }
     //die($this->module->l($url, 'validation'));
     // consumo del servicio
     $ch = curl_init();
     curl_setopt($ch, CURLOPT_URL, $url);
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
     // Blindly accept the certificate
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
     $response = curl_exec($ch);
     curl_close($ch);
     // tratamiento de la respuesta del servicio
     if (($json = json_decode($response, true)) === NULL) {
         session_start();
         $_SESSION['errores'] = array($response == NULL ? 'Sin respuesta del servicio' : 'Respuesta del servicio: ' . $response);
         Tools::redirect($this->context->link->getModuleLink('pagofacil', 'payment'));
     }
     if (!isset($json['WebServices_Transacciones']['transaccion'])) {
         session_start();
         $_SESSION['errores'] = array('No existe WebServices_Transacciones - transaccion', 'Respuesta del servicio: ' . $response);
         Tools::redirect($this->context->link->getModuleLink('pagofacil', 'payment'));
     }
     $transaction = $json['WebServices_Transacciones']['transaccion'];
     if (isset($transaction['autorizado']) && $transaction['autorizado'] == '1') {
         try {
             $this->module->validateOrder((int) $cart->id, 2, $total, $this->module->displayName, NULL, array(), (int) $currency->id, false, $customer->secure_key);
             Tools::redirect('index.php?controller=order-confirmation&id_cart=' . (int) $cart->id . '&id_module=' . (int) $this->module->id . '&id_order=' . $this->module->currentOrder . '&key=' . $customer->secure_key);
         } catch (Exception $error) {
             session_start();
             $_SESSION['errores'] = array($error->getMessage());
             Tools::redirect($this->context->link->getModuleLink('pagofacil', 'payment'));
         }
     } else {
         $arreglo_errores = array();
         if (is_array($transaction['error'])) {
             foreach ($transaction['error'] as $key => $value) {
                 $arreglo_errores[$key] = $value;
             }
         } else {
             $arreglo_errores[] = $transaction['texto'];
         }
         session_start();
         $_SESSION['errores'] = $arreglo_errores;
         Tools::redirect($this->context->link->getModuleLink('pagofacil', 'payment'));
//.........这里部分代码省略.........
开发者ID:javolero,项目名称:PrestaShopPlugin,代码行数:101,代码来源:validation.php

示例13: hookActionValidateOrder

 public function hookActionValidateOrder($params)
 {
     try {
         $ip = Tools::getRemoteAddr();
         $ip_forwarded_for = '';
         if (array_key_exists('HTTP_X_FORWARDED_FOR', $_SERVER)) {
             $ip_forwarded_for = $_SERVER['HTTP_X_FORWARDED_FOR'];
         }
         $details = $params['order'];
         $cart_id = $details->id_cart;
         $order_id = Order::getOrderByCartId($cart_id);
         $currency = new Currency($details->id_currency);
         $customer = new Customer((int) $details->id_customer);
         $my_order = new Order($order_id);
         $domain = Configuration::get('PS_SHOP_DOMAIN');
         $auth_token = Configuration::get('PS_AUTH_TOKEN');
         $data = array();
         $this->fillGeneralOrderInfo($data, $order_id, $my_order, $ip, $cart_id, $currency, $customer);
         $data['note'] = null;
         if ($ip_forwarded_for) {
             $data['note'] = 'forwarded for: ' . $ip_forwarded_for;
         }
         $this->fillLineItems($data, $my_order);
         $carrier = new Carrier((int) $details->id_carrier, (int) $details->id_lang);
         $this->fillShippingDetails($data, $my_order, $carrier);
         $payments = $my_order->getOrderPayments();
         $this->getPaymentDetails($data, $payments);
         $address_invoice = new Address((int) $details->id_address_invoice);
         $this->getBillingAddress($data, $address_invoice);
         $address_shipping = new Address((int) $details->id_address_delivery);
         $this->getShippingAddress($data, $address_shipping);
         $this->storeIpAndRemoteForOrder($order_id, $ip, $ip_forwarded_for);
         $this->fillCustomerInfo($data, $customer);
         $data_string = Tools::jsonEncode($data);
         $hash_code = hash_hmac('sha256', $data_string, $auth_token);
         if ($this->curlExists()) {
             $url = $this->getRiskifiedUrl();
             $ch = curl_init($url);
             curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
             curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
             curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
             curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Content-Length: ' . Tools::strlen($data_string), 'X_RISKIFIED_SHOP_DOMAIN:' . $domain, 'X_RISKIFIED_HMAC_SHA256:' . $hash_code));
             curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
             curl_getinfo($ch);
             curl_exec($ch);
             if (Configuration::get('RISKIFIED_MODE') == '1') {
                 Configuration::updateValue('RISKIFIED_CONFIGURATION_OK', true);
             }
         }
     } catch (Exception $e) {
         return;
     }
 }
开发者ID:tomideru,项目名称:PrestaShop-modules,代码行数:53,代码来源:riskified.php

示例14: isInWhitelistForGeolocation

 protected static function isInWhitelistForGeolocation()
 {
     $allowed = false;
     $user_ip = Tools::getRemoteAddr();
     $ips = array();
     // retrocompatibility
     $ips_old = explode(';', Configuration::get('PS_GEOLOCATION_WHITELIST'));
     if (is_array($ips_old) && count($ips_old)) {
         foreach ($ips_old as $ip) {
             $ips = array_merge($ips, explode("\n", $ip));
         }
     }
     $ips = array_map('trim', $ips);
     if (is_array($ips) && count($ips)) {
         foreach ($ips as $ip) {
             if (!empty($ip) && preg_match('/^' . $ip . '.*/', $user_ip)) {
                 $allowed = true;
             }
         }
     }
     return $allowed;
 }
开发者ID:MacFlay,项目名称:Presta-Domowy,代码行数:22,代码来源:FrontController.php

示例15: setNewConnection

    public static function setNewConnection($cookie)
    {
        if (isset($_SERVER['HTTP_USER_AGENT']) and preg_match('/BotLink|ahoy|AlkalineBOT|anthill|appie|arale|araneo|AraybOt|ariadne|arks|ATN_Worldwide|Atomz|bbot|Bjaaland|Ukonline|borg\\-bot\\/0\\.9|boxseabot|bspider|calif|christcrawler|CMC\\/0\\.01|combine|confuzzledbot|CoolBot|cosmos|Internet Cruiser Robot|cusco|cyberspyder|cydralspider|desertrealm, desert realm|digger|DIIbot|grabber|downloadexpress|DragonBot|dwcp|ecollector|ebiness|elfinbot|esculapio|esther|fastcrawler|FDSE|FELIX IDE|ESI|fido|H�m�h�kki|KIT\\-Fireball|fouineur|Freecrawl|gammaSpider|gazz|gcreep|golem|googlebot|griffon|Gromit|gulliver|gulper|hambot|havIndex|hotwired|htdig|iajabot|INGRID\\/0\\.1|Informant|InfoSpiders|inspectorwww|irobot|Iron33|JBot|jcrawler|Teoma|Jeeves|jobo|image\\.kapsi\\.net|KDD\\-Explorer|ko_yappo_robot|label\\-grabber|larbin|legs|Linkidator|linkwalker|Lockon|logo_gif_crawler|marvin|mattie|mediafox|MerzScope|NEC\\-MeshExplorer|MindCrawler|udmsearch|moget|Motor|msnbot|muncher|muninn|MuscatFerret|MwdSearch|sharp\\-info\\-agent|WebMechanic|NetScoop|newscan\\-online|ObjectsSearch|Occam|Orbsearch\\/1\\.0|packrat|pageboy|ParaSite|patric|pegasus|perlcrawler|phpdig|piltdownman|Pimptrain|pjspider|PlumtreeWebAccessor|PortalBSpider|psbot|Getterrobo\\-Plus|Raven|RHCS|RixBot|roadrunner|Robbie|robi|RoboCrawl|robofox|Scooter|Search\\-AU|searchprocess|Senrigan|Shagseeker|sift|SimBot|Site Valet|skymob|SLCrawler\\/2\\.0|slurp|ESI|snooper|solbot|speedy|spider_monkey|SpiderBot\\/1\\.0|spiderline|nil|suke|http:\\/\\/www\\.sygol\\.com|tach_bw|TechBOT|templeton|titin|topiclink|UdmSearch|urlck|Valkyrie libwww\\-perl|verticrawl|Victoria|void\\-bot|Voyager|VWbot_K|crawlpaper|wapspider|WebBandit\\/1\\.0|webcatcher|T\\-H\\-U\\-N\\-D\\-E\\-R\\-S\\-T\\-O\\-N\\-E|WebMoose|webquest|webreaper|webs|webspider|WebWalker|wget|winona|whowhere|wlm|WOLP|WWWC|none|XGET|Nederland\\.zoek/i', $_SERVER['HTTP_USER_AGENT'])) {
            // This is a bot and we have to retrieve its connection ID
            if ($id_connections = Db::getInstance()->getValue('
				SELECT `id_connections` FROM `' . _DB_PREFIX_ . 'connections` c
				WHERE ip_address = ' . ip2long(Tools::getRemoteAddr()) . '
				AND DATE_ADD(c.`date_add`, INTERVAL 30 MINUTE) > \'' . pSQL(date('Y-m-d H:i:00')) . '\'
				ORDER BY c.`date_add` DESC')) {
                $cookie->id_connections = (int) $id_connections;
                return Page::getCurrentId();
            }
        }
        // A new connection is created if the guest made no actions during 30 minutes
        $result = Db::getInstance()->getRow('
		SELECT c.`id_guest`
		FROM `' . _DB_PREFIX_ . 'connections` c
		WHERE c.`id_guest` = ' . (int) $cookie->id_guest . '
		AND DATE_ADD(c.`date_add`, INTERVAL 30 MINUTE) > \'' . pSQL(date('Y-m-d H:i:00')) . '\'
		ORDER BY c.`date_add` DESC');
        if (!$result['id_guest'] and (int) $cookie->id_guest) {
            // The old connections details are removed from the database in order to spare some memory
            Connection::cleanConnectionsPages();
            $referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
            $arrayUrl = parse_url($referer);
            if (!isset($arrayUrl['host']) or preg_replace('/^www./', '', $arrayUrl['host']) == preg_replace('/^www./', '', Tools::getHttpHost(false, false))) {
                $referer = '';
            }
            $connection = new Connection();
            $connection->id_guest = (int) $cookie->id_guest;
            $connection->id_page = Page::getCurrentId();
            $connection->ip_address = Tools::getRemoteAddr() ? ip2long(Tools::getRemoteAddr()) : '';
            if (Validate::isAbsoluteUrl($referer)) {
                $connection->http_referer = $referer;
            }
            $connection->add();
            $cookie->id_connections = $connection->id;
            return $connection->id_page;
        }
    }
开发者ID:hecbuma,项目名称:quali-fisioterapia,代码行数:40,代码来源:Connection.php


注:本文中的Tools::getRemoteAddr方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。