/** * Bootstrap any application services. * * @return void */ public function boot() { // \Validator::extend('mobile', function ($attribute, $value, $parameters) { return mobileCheck($value); }); \Validator::extend('identity', function ($attribute, $value, $parameters) { return identityCardCheck($value); }); \App::environment('local') && \DB::enableQueryLog(); if (\App::environment('local') && file_exists(app_path() . '/localHelper.php')) { include app_path('localHelper.php'); } \DB::listen(function ($sql, $bindings, $time) { }); }
function generateNameOfCacheFile() { if (!empty($GLOBALS['nitro.pagecache.file'])) { return $GLOBALS['nitro.pagecache.file']; } nitroEnableSession(); if (empty($_SESSION['language']) && empty($_SESSION['currency'])) { $db = NitroDb::getInstance(); $db->query("SET NAMES 'utf8'"); $db->query("SET CHARACTER SET utf8"); $db->query("SET CHARACTER_SET_CONNECTION=utf8"); $db->query("SET SQL_MODE = ''"); // In, when the site is opened for first time // Store if (isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == 'on' || $_SERVER['HTTPS'] == '1')) { $store_query = $db->query("SELECT * FROM " . DB_PREFIX . "store WHERE REPLACE(`ssl`, 'www.', '') = '" . $db->escape('https://' . str_replace('www.', '', $_SERVER['HTTP_HOST']) . rtrim(dirname($_SERVER['PHP_SELF']), '/.\\') . '/') . "'"); } else { $store_query = $db->query("SELECT * FROM " . DB_PREFIX . "store WHERE REPLACE(`url`, 'www.', '') = '" . $db->escape('http://' . str_replace('www.', '', $_SERVER['HTTP_HOST']) . rtrim(dirname($_SERVER['PHP_SELF']), '/.\\') . '/') . "'"); } $store_id = 0; if ($store_query->num_rows) { $result = $store_query->row; $store_id = (int) $result['store_id']; } $GLOBALS['nitro.store_id'] = $store_id; $resource = $db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE (`key`='config_language' OR `key`='config_currency') AND `store_id` = '" . $store_id . "'"); if ($resource->num_rows) { $data = array(); $config_language = 0; $config_currency = 0; foreach ($resource->rows as $result) { if (!empty($result['key']) && $result['key'] == 'config_language') { $config_language = strtolower($result['value']); } if (!empty($result['key']) && $result['key'] == 'config_currency') { $config_currency = strtolower($result['value']); } } if (isset($_SESSION)) { $_SESSION['language'] = $config_language; $_SESSION['currency'] = $config_currency; } } } $filename = getFullURL(); $filename = str_replace(array('/', '?', ':', ';', '=', '&', '&', '.', '--', '%', '~', '-amp-'), '-', $filename); $default_language = !empty($_COOKIE['language']) ? $_COOKIE['language'] : '0'; $default_currency = !empty($_COOKIE['currency']) ? $_COOKIE['currency'] : '0'; $language = strtolower(!empty($_SESSION['language']) && is_string($_SESSION['language']) ? $_SESSION['language'] : $default_language); $currency = strtolower(!empty($_SESSION['currency']) && is_string($_SESSION['currency']) ? $_SESSION['currency'] : $default_currency); if (NITRO_DEBUG_MODE) { $cached_filename = $filename . '-' . $language . '-' . $currency . '.html'; } else { $cached_filename = md5($filename . '-' . $language . '-' . $currency) . '.html'; } if (mobileCheck()) { $cached_filename = 'mobile-' . $cached_filename; } $GLOBALS['nitro.pagecache.file'] = getSSLCachePrefix() . $cached_filename; return $GLOBALS['nitro.pagecache.file']; }
public function sendSMSCheckNO() { $phone = $this->post('phone'); $code = randCode(); $redis_key = $_SESSION['uid'] . ':sms'; $code_key = $_SESSION['uid'] . ':sms_code'; if (strlen($code) != 4) { echo '短信发送异常'; exit; } if (mobileCheck($phone)) { echo '手机号码不对'; exit; } //限制发送时间 if ($this->cacheKV()->exists($redis_key)) { echo '请稍后再发送'; exit; } $this->cacheKV()->setex($redis_key, $this->kvExTime(), 1); //发送成功标识,用来重发 Doo::loadClassAt('SmsApi', 'default'); $clapi = new SmsApi(); $result = $clapi->sendSMS($phone, '您好,您的验证码是 ' . $code . ' <微微乐>', 'true'); $result = $clapi->execResult($result); if ($result[1] == 0) { echo '发送成功'; $this->cacheKV()->setex($code_key, $this->kvExTime() * 10, $code); //10分钟内有效 } else { echo "发送失败{$result[1]}"; } exit; }