Changeset 7033
- Timestamp:
- 11/22/08 02:27:39 (7 weeks ago)
- Location:
- trunk/library
- Files:
-
- 2 modified
-
auth.php (modified) (1 diff)
-
auth/Auth.php (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/library/auth.php
r7022 r7033 5 5 6 6 function login($loginid, $password, $preKnownPassword = null) { 7 global $service; 8 $loginid = POD::escapeString($loginid); 9 $blogid = getBlogId(); 10 $userid = Auth::authenticate($blogid , $loginid, $password ); 11 12 if( $userid === false ) { 13 return false; 14 } 15 16 if (empty($_POST['save'])) { 17 setcookie('TSSESSION_LOGINID', '', time() - 31536000, $service['path'] . '/', $service['domain']); 18 } else { 19 setcookie('TSSESSION_LOGINID', $loginid, time() + 31536000, $service['path'] . '/', $service['domain']); 20 } 21 22 if( in_array( "group.writers", Acl::getCurrentPrivilege() ) ) { 23 Session::authorize($blogid, $userid); 24 } 25 return true; 7 return Auth::login($loginid, $password, false); 26 8 } 27 9 28 10 function logout() { 29 fireEvent("Logout"); 30 Acl::clearAcl(); 31 Transaction::clear(); 32 session_destroy(); 11 Auth::logout(); 33 12 } 34 13 -
trunk/library/auth/Auth.php
r6989 r7033 105 105 group.guests: Guests 106 106 */ 107 function Privilege() {107 function __construct() { 108 108 } 109 109 … … 347 347 348 348 class Auth { 349 function login($loginid, $password) { 350 global $blogid; 351 if( Auth::authenticate($blogid,$loginid,$password,true) === false ) { 352 return false; 353 } 354 return true; 355 } 356 357 function authenticate( $blogid, $loginid, $password, $blogapi = false ) { 358 global $database; 359 349 public function login($loginid, $password, $checkOnly = true) { 350 $config = Config::getInstance(); 351 $context = Context::getInstance(); 352 if($checkOnly === true) { 353 if( Auth::authenticate($context->blogid,$loginid,$password,true) === false ) { 354 return false; 355 } 356 return true; 357 } else { // Perform login process (browser) 358 $loginid = POD::escapeString($loginid); 359 $userid = Auth::authenticate($context->blogid , $loginid, $password ); 360 361 if( $userid === false ) { 362 return false; 363 } 364 365 if (empty($_POST['save'])) { 366 setcookie('TSSESSION_LOGINID', '', time() - 31536000, $config->service['path'] . '/', $config->service['domain']); 367 } else { 368 setcookie('TSSESSION_LOGINID', $loginid, time() + 31536000, $config->service['path'] . '/', $config->service['domain']); 369 } 370 371 if( in_array( "group.writers", Acl::getCurrentPrivilege() ) ) { 372 Session::authorize($context->blogid, $userid); 373 } 374 return true; 375 } 376 } 377 378 public function logout() { 379 fireEvent("Logout"); 380 Acl::clearAcl(); 381 Transaction::clear(); 382 session_destroy(); 383 } 384 385 public function authenticate( $blogid, $loginid, $password, $blogapi = false ) { 386 $config = Config::getInstance(); 387 360 388 Acl::clearAcl(); 361 389 $loginid = POD::escapeString($loginid); … … 365 393 if ((strlen($password) == 32) && preg_match('/[0-9a-f]{32}/i', $password)) { 366 394 $userid=getUserIdByEmail($loginid); 367 $authtoken = POD::queryCell("SELECT value FROM {$ database['prefix']}UserSettings WHERE userid = '$userid' AND name = 'AuthToken' LIMIT 1");395 $authtoken = POD::queryCell("SELECT value FROM {$config->database['prefix']}UserSettings WHERE userid = '$userid' AND name = 'AuthToken' LIMIT 1"); 368 396 if (!empty($authtoken)) { 369 397 $password = POD::escapeString($password); … … 380 408 } 381 409 382 $session = POD::queryRow("SELECT userid, loginid, name FROM {$ database['prefix']}Users WHERE loginid = '$loginid' AND $secret");410 $session = POD::queryRow("SELECT userid, loginid, name FROM {$config->database['prefix']}Users WHERE loginid = '$loginid' AND $secret"); 383 411 if ( empty($session) ) { 384 412 /* You should compare return value with '=== false' which checks with variable types*/ … … 388 416 389 417 Acl::authorize( 'textcube', $userid ); 390 POD::execute("UPDATE {$database['prefix']}Users SET lastLogin = unix_timestamp() WHERE loginid = '$loginid'");418 POD::execute("UPDATE {$config->database['prefix']}Users SET lastLogin = unix_timestamp() WHERE loginid = '$loginid'"); 391 419 // POD::execute("DELETE FROM {$database['prefix']}UserSettings WHERE userid = '$userid' AND name = 'AuthToken' LIMIT 1"); 392 420 return $userid; … … 395 423 } 396 424 425 class Permission { 426 public function require($scope) { 427 switch($scope) { 428 case 'owner': 429 case 'member': 430 global $hostURL; 431 if( doesHaveMembership() ) return true; 432 $_SESSION['refererURI'] = $hostURL.$_SERVER['REQUEST_URI']; 433 requireLogin(); 434 } 435 } 436 } 397 437 ?>
