Changeset 1456
- Timestamp:
- 03/14/10 18:42:49 (2 years ago)
- Location:
- trunk/wifidog-auth/wifidog
- Files:
-
- 7 modified
-
classes/AbstractDb.php (modified) (3 diffs)
-
classes/Authenticators/AuthenticatorLocalUser.php (modified) (2 diffs)
-
classes/Content.php (modified) (1 diff)
-
classes/User.php (modified) (4 diffs)
-
config.php (modified) (1 diff)
-
include/schema_validate.php (modified) (2 diffs)
-
install.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/wifidog-auth/wifidog/classes/AbstractDb.php
r1428 r1456 64 64 private $sql_update_total_time; 65 65 private $sql_executed_queries_array; 66 private $_ptrconnection = null; 66 67 67 68 private static $object; … … 83 84 function connect($db_name) 84 85 { 86 if (!is_null($this->_ptrconnection)) 87 return $this->_ptrconnection; 88 85 89 // Grab default database name from config file 86 90 if ($db_name == NULL) … … 97 101 // Throw an exception if anything went wrong 98 102 if ($ptr_connexion == FALSE) 99 throw new Exception(sprintf(_("Unable to connect to the database at %s"), "host=".CONF_DATABASE_HOST." port=".CONF_DATABASE_PORT." dbname=$db_name user=".CONF_DATABASE_USER." password=*********")); 100 103 throw new Exception(sprintf(_("Unable to connect to the database at %s"), "host=".CONF_DATABASE_HOST." port=".CONF_DATABASE_PORT." dbname=$db_name user=".CONF_DATABASE_USER." password=*********")); 104 105 $this->_ptrconnection = $ptr_connexion; 101 106 return $ptr_connexion; 102 107 } -
trunk/wifidog-auth/wifidog/classes/Authenticators/AuthenticatorLocalUser.php
r1453 r1456 126 126 $password = $db->escapeString($password); 127 127 128 $comparison = ($this->getNetwork()->getUsernamesCaseSensitive()? ' = ': ' ILike '); 129 $sql = "SELECT user_id FROM users WHERE (username$comparison'$username' OR email$comparison'$username') AND account_origin='".$this->getNetwork()->getId()."' AND pass='$password_hash'"; 128 $username = ($this->getNetwork()->getUsernamesCaseSensitive()? $username: strtolower($username)); 129 $compareto = ($this->getNetwork()->getUsernamesCaseSensitive()? 'username' : 'lower(username)'); 130 $sql = "SELECT user_id FROM users WHERE ($compareto = '$username' OR lower(email) = '$username') AND account_origin='".$this->getNetwork()->getId()."' AND pass='$password_hash'"; 130 131 $db->execSqlUniqueRes($sql, $user_info, false); 131 132 … … 146 147 */ 147 148 $user_info = null; 148 $db->execSqlUniqueRes("SELECT * FROM users WHERE ( username$comparison'$username' OR email$comparison'$username') AND account_origin='".$this->getNetwork()->getId()."'", $user_info, false);149 $db->execSqlUniqueRes("SELECT * FROM users WHERE ($compareto = '$username' OR lower(email) = '$username') AND account_origin='".$this->getNetwork()->getId()."'", $user_info, false); 149 150 150 151 if ($user_info == null) { -
trunk/wifidog-auth/wifidog/classes/Content.php
r1435 r1456 137 137 } 138 138 // By default content display logging is enabled 139 $this->setLoggingStatus( true);139 $this->setLoggingStatus(LOG_CONTENT_DISPLAY); 140 140 $this->log_as_content = & $this; 141 141 } -
trunk/wifidog-auth/wifidog/classes/User.php
r1453 r1456 159 159 $object = null; 160 160 161 $username_str = $db->escapeString($username);162 $compar ison = ($account_origin->getUsernamesCaseSensitive()? '=': 'ILike');161 $username_str = ($account_origin->getUsernamesCaseSensitive()? $db->escapeString($username): strtolower($db->escapeString($username))); 162 $compareto = ($account_origin->getUsernamesCaseSensitive()? 'username': 'lower(username)'); 163 163 $account_origin_str = $db->escapeString($account_origin->getId()); 164 $db->execSqlUniqueRes("SELECT user_id FROM users WHERE username {$comparison}'$username_str' AND account_origin = '$account_origin_str'", $user_info, false);164 $db->execSqlUniqueRes("SELECT user_id FROM users WHERE $compareto = '$username_str' AND account_origin = '$account_origin_str'", $user_info, false); 165 165 166 166 if ($user_info != null) { … … 183 183 $object = null; 184 184 185 $username_str = $db->escapeString($usernameOrEmail);186 $compar ison = ($account_origin->getUsernamesCaseSensitive()? '=': 'ILike');185 $username_str = ($account_origin->getUsernamesCaseSensitive()? $db->escapeString($username): strtolower($db->escapeString($username))); 186 $compareto = ($account_origin->getUsernamesCaseSensitive()? 'username': 'lower(username)'); 187 187 $account_origin_str = $db->escapeString($account_origin->getId()); 188 $db->execSqlUniqueRes("SELECT user_id FROM users WHERE ( username {$comparison} '$username_str' OR email ILike '$username_str') AND account_origin = '$account_origin_str'", $user_info, false);188 $db->execSqlUniqueRes("SELECT user_id FROM users WHERE ($compareto = '$username_str' OR lower(email) = '".strtolower($username_str)."') AND account_origin = '$account_origin_str'", $user_info, false); 189 189 190 190 if ($user_info != null) { … … 206 206 $object = null; 207 207 208 $usernameOrEmail_str = $db->escapeString($usernameOrEmail); 209 $db->execSqlUniqueRes("SELECT user_id FROM users WHERE username = '$usernameOrEmail_str' OR email ILike '$usernameOrEmail_str'", $user_info, false); 208 $db->execSqlUniqueRes("SELECT user_id FROM users WHERE username = '$usernameOrEmail_str' OR lower(email) = '".strtolower($usernameOrEmail_str)."'", $user_info, false); 210 209 211 210 if ($user_info != null) { … … 244 243 $object = null; 245 244 246 $email_str = $db->escapeString($email);245 $email_str = strtolower($db->escapeString($email)); 247 246 $account_origin_str = $db->escapeString($account_origin->getId()); 248 $db->execSqlUniqueRes("SELECT user_id FROM users WHERE email ILike'$email_str' AND account_origin = '$account_origin_str'", $user_info, false);247 $db->execSqlUniqueRes("SELECT user_id FROM users WHERE lower(email) = '$email_str' AND account_origin = '$account_origin_str'", $user_info, false); 249 248 250 249 if ($user_info != null) -
trunk/wifidog-auth/wifidog/config.php
r1421 r1456 103 103 define('LOG_SQL_QUERIES', false); 104 104 105 /** 106 * Log content display. If set to true, every piece of content displayed to a user will 107 * be logged in a log table. 108 */ 109 110 define('LOG_CONTENT_DISPLAY', false); 111 105 112 /********************************************************************\ 106 113 * WEBSERVER CONFIGURATION * -
trunk/wifidog-auth/wifidog/include/schema_validate.php
r1453 r1456 48 48 * Define current database schema version 49 49 */ 50 define('REQUIRED_SCHEMA_VERSION', 7 0);50 define('REQUIRED_SCHEMA_VERSION', 71); 51 51 /** Used to test a new shecma version before modyfying the database */ 52 52 define('SCHEMA_UPDATE_TEST_MODE', false); … … 1541 1541 $sql .= "\nALTER TABLE nodes ADD COLUMN show_node_on_map boolean NOT NULL DEFAULT true;"; 1542 1542 } 1543 1544 $new_schema_version = 71; 1545 if ($schema_version < $new_schema_version && $new_schema_version <= $targetSchema) { 1546 printUpdateVersion($new_schema_version); 1547 $sql .= "\n\nUPDATE schema_info SET value='$new_schema_version' WHERE tag='schema_version';\n"; 1548 $sql .= "\nCREATE INDEX lower_username ON users USING btree (lower(username));"; 1549 $sql .= "\nCREATE INDEX lower_email ON users USING btree (lower(email));"; 1550 } 1551 1543 1552 1544 1553 /* -
trunk/wifidog-auth/wifidog/install.php
r1417 r1456 228 228 'GMAPS_HOTSPOTS_MAP_ENABLED' => array ( 229 229 'title' => 'Google Maps Support', 230 'depend' => 'return 1;', 231 'message' => ' ' 232 ), 233 'LOG_CONTENT_DISPLAY' => array ( 234 'title' => 'Log what content is displayed to users', 230 235 'depend' => 'return 1;', 231 236 'message' => ' '
