Changeset 22567 for branches/version-2_12-dev/data/class/sessionfactory
- Timestamp:
- 2013/02/18 19:09:54 (11 years ago)
- Location:
- branches/version-2_12-dev/data/class/sessionfactory
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_12-dev/data/class/sessionfactory/SC_SessionFactory_UseCookie.php
r22206 r22567 33 33 * @version $Id$ 34 34 */ 35 class SC_SessionFactory_UseCookie extends SC_SessionFactory_Ex { 35 class SC_SessionFactory_UseCookie extends SC_SessionFactory_Ex 36 { 36 37 37 38 // }}} … … 45 46 * FIXME セッションキーのキーが PHP デフォルトのため、上位ディレクトリーで定義があると、その値で動作すると考えられる。 46 47 **/ 47 function initSession() { 48 function initSession() 49 { 48 50 ini_set('session.cache_limiter', 'none'); 49 51 // (session.auto_start などで)セッションが開始されていた場合に備えて閉じる。(FIXME: 保存する必要はない。破棄で良い。) … … 61 63 * @return boolean 常に true を返す 62 64 */ 63 function useCookie() { 65 function useCookie() 66 { 64 67 return true; 65 68 } -
branches/version-2_12-dev/data/class/sessionfactory/SC_SessionFactory_UseRequest.php
r22206 r22567 33 33 * @version $Id$ 34 34 */ 35 class SC_SessionFactory_UseRequest extends SC_SessionFactory_Ex { 35 class SC_SessionFactory_UseRequest extends SC_SessionFactory_Ex 36 { 36 37 37 38 var $state = null; … … 45 46 * @param string $state 46 47 */ 47 function setState($state = 'pc') { 48 function setState($state = 'pc') 49 { 48 50 switch ($state) { 49 51 case 'mobile': … … 63 65 * @return boolean 常にfalseを返す 64 66 */ 65 function useCookie() { 67 function useCookie() 68 { 66 69 return false; 67 70 } … … 74 77 * 取得できなかった場合は null を返す。 75 78 */ 76 function getExtSessionId() { 79 function getExtSessionId() 80 { 77 81 if (!preg_match('|^' . ROOT_URLPATH . '(.*)$|', $_SERVER['SCRIPT_NAME'], $matches)) { 78 82 return null; … … 104 108 * @return void 105 109 */ 106 function setExtSessionId($param_key, $param_value, $url) { 110 function setExtSessionId($param_key, $param_value, $url) 111 { 107 112 $objQuery =& SC_Query_Ex::getSingletonInstance(); 108 113 … … 127 132 * @return boolean セッションデータが有効な場合は true、無効な場合は false を返す。 128 133 */ 129 function validateSession() { 134 function validateSession() 135 { 130 136 /** 131 137 * PCサイトでは … … 151 157 * 取得できなかった場合は false を返す。 152 158 */ 153 function getSessionId() { 159 function getSessionId() 160 { 154 161 // パラメーターからセッションIDを取得する。 155 162 $sessionId = @$_POST[session_name()]; … … 185 192 * @return void 186 193 */ 187 function initSession() { 194 function initSession() 195 { 188 196 // セッションIDの受け渡しにクッキーを使用しない。 189 197 ini_set('session.use_cookies', '0'); … … 233 241 * 234 242 */ 235 class LC_UseRequest_State { 243 class LC_UseRequest_State 244 { 236 245 /** 名前空間(pc/mobile) */ 237 246 var $namespace = ''; … … 246 255 * @return string 247 256 */ 248 function getNameSpace() { return $this->namespace; } 257 function getNameSpace() 258 { return $this->namespace; } 249 259 250 260 /** … … 253 263 * @return integer 254 264 */ 255 function getLifeTime() { return $this->lifetime; } 265 function getLifeTime() 266 { return $this->lifetime; } 256 267 257 268 /** … … 262 273 * @return boolean 263 274 */ 264 function validateNameSpace() { 275 function validateNameSpace() 276 { 265 277 $namespace = $this->getNameSpace(); 266 278 if (isset($_SESSION[$namespace]) && is_array($_SESSION[$namespace])) { … … 278 290 * @return mixed|null 279 291 */ 280 function getValue($key) { 292 function getValue($key) 293 { 281 294 $namespace = $this->getNameSpace(); 282 295 return isset($_SESSION[$namespace][$key]) … … 292 305 * @param mixed $value 293 306 */ 294 function setValue($key, $value) { 307 function setValue($key, $value) 308 { 295 309 $namespace = $this->getNameSpace(); 296 310 $_SESSION[$namespace][$key] = $value; … … 302 316 * @return integer 303 317 */ 304 function getExpire() { 318 function getExpire() 319 { 305 320 return $this->getValue('expires'); 306 321 } … … 310 325 * 311 326 */ 312 function updateExpire() { 327 function updateExpire() 328 { 313 329 $lifetime = $this->getLifeTime(); 314 330 $this->setValue('expires', time() + $lifetime); … … 320 336 * @return boolean 321 337 */ 322 function validateExpire() { 338 function validateExpire() 339 { 323 340 $expire = $this->getExpire(); 324 341 if (intval($expire) > time()) { … … 335 352 * @return string 336 353 */ 337 function getIp() { 354 function getIp() 355 { 338 356 return $this->getValue('ip'); 339 357 } … … 343 361 * 344 362 */ 345 function updateIp() { 363 function updateIp() 364 { 346 365 $this->setValue('ip', $_SERVER['REMOTE_ADDR']); 347 366 } … … 353 372 * @return boolean 354 373 */ 355 function validateIp() { 374 function validateIp() 375 { 356 376 $ip = $this->getIp(); 357 377 if (!empty($_SERVER['REMOTE_ADDR']) && $ip === $_SERVER['REMOTE_ADDR']) { … … 370 390 * @return string 371 391 */ 372 function getModel() { 392 function getModel() 393 { 373 394 return $this->getValue('model'); 374 395 } … … 379 400 * @return boolean 380 401 */ 381 function validateSessionData() { 402 function validateSessionData() 403 { 382 404 foreach ($this->validate as $method) { 383 405 $method = 'validate' . $method; … … 393 415 * 394 416 */ 395 function inisializeSessionData() {} 417 function inisializeSessionData() 418 {} 396 419 } 397 420 … … 400 423 * 401 424 */ 402 class LC_UseRequest_State_PC extends LC_UseRequest_State { 425 class LC_UseRequest_State_PC extends LC_UseRequest_State 426 { 403 427 404 428 /** … … 413 437 * @return LC_UseRequest_State_PC 414 438 */ 415 function LC_UseRequest_State_PC() { 439 function LC_UseRequest_State_PC() 440 { 416 441 $this->namespace = 'pc'; 417 442 $this->lifetime = SESSION_LIFETIME; … … 423 448 * 424 449 */ 425 function updateModel() { 450 function updateModel() 451 { 426 452 $this->setValue('model', $_SERVER['HTTP_USER_AGENT']); 427 453 } … … 432 458 * @return boolean 433 459 */ 434 function validateModel() { 460 function validateModel() 461 { 435 462 $ua = $this->getModel(); 436 463 if (!empty($_SERVER['HTTP_USER_AGENT']) && $_SERVER['HTTP_USER_AGENT'] === $ua) { … … 447 474 * 448 475 */ 449 function inisializeSessionData() { 476 function inisializeSessionData() 477 { 450 478 $_SESSION = array(); 451 479 $this->updateModel(); … … 459 487 * 460 488 */ 461 class LC_UseRequest_State_Mobile extends LC_UseRequest_State { 489 class LC_UseRequest_State_Mobile extends LC_UseRequest_State 490 { 462 491 463 492 /** … … 473 502 * @return LC_UseRequest_State_Mobile 474 503 */ 475 function LC_UseRequest_State_Mobile() { 504 function LC_UseRequest_State_Mobile() 505 { 476 506 $this->namespace = 'mobile'; 477 507 $this->lifetime = MOBILE_SESSION_LIFETIME; … … 483 513 * 484 514 */ 485 function updateModel() { 515 function updateModel() 516 { 486 517 $this->setValue('model', SC_MobileUserAgent_Ex::getModel()); 487 518 } … … 492 523 * @return boolean 493 524 */ 494 function validateModel() { 525 function validateModel() 526 { 495 527 $modelInSession = $this->getModel(); 496 528 $model = SC_MobileUserAgent_Ex::getModel(); … … 506 538 * @return string 507 539 */ 508 function getPhoneId() { 540 function getPhoneId() 541 { 509 542 return $this->getValue('phone_id'); 510 543 } … … 514 547 * 515 548 */ 516 function updatePhoneId() { 549 function updatePhoneId() 550 { 517 551 $this->setValue('phone_id', SC_MobileUserAgent_Ex::getId()); 518 552 } … … 522 556 * 523 557 */ 524 function inisializeSessionData() { 558 function inisializeSessionData() 559 { 525 560 $_SESSION = array(); 526 561 $this->updateModel();
Note: See TracChangeset
for help on using the changeset viewer.