Changeset 530
- Timestamp:
- 04/01/05 16:38:25 (8 years ago)
- Location:
- trunk/wifidog-auth
- Files:
-
- 30 modified
-
ChangeLog (modified) (24 diffs)
-
INSTALL (modified) (1 diff)
-
sql/dump_initial_data_postgres.sh (modified) (1 diff)
-
sql/wifidog-postgres-initial-data.sql (modified) (5 diffs)
-
sql/wifidog-postgres-schema.sql (modified) (30 diffs)
-
wifidog/change_password.php (modified) (4 diffs)
-
wifidog/classes/Authenticator.php (modified) (2 diffs)
-
wifidog/classes/AuthenticatorLocalUser.php (modified) (3 diffs)
-
wifidog/classes/AuthenticatorRadius.php (modified) (2 diffs)
-
wifidog/classes/Style.php (modified) (3 diffs)
-
wifidog/classes/User.php (modified) (7 diffs)
-
wifidog/config.php (modified) (5 diffs)
-
wifidog/include/schema_validate.php (modified) (8 diffs)
-
wifidog/local_content/default/header.html (modified) (2 diffs)
-
wifidog/locale/fr/LC_MESSAGES/messages.mo (modified) (previous)
-
wifidog/locale/fr/LC_MESSAGES/messages.po (modified) (65 diffs)
-
wifidog/login/index.php (modified) (2 diffs)
-
wifidog/lost_password.php (modified) (3 diffs)
-
wifidog/lost_username.php (modified) (3 diffs)
-
wifidog/resend_validation.php (modified) (3 diffs)
-
wifidog/signup.php (modified) (1 diff)
-
wifidog/templates/change_password.html (modified) (1 diff)
-
wifidog/templates/header.html (modified) (1 diff)
-
wifidog/templates/header_small.html (modified) (1 diff)
-
wifidog/templates/login.html (modified) (1 diff)
-
wifidog/templates/login_virtual.html (modified) (1 diff)
-
wifidog/templates/lost_password.html (modified) (1 diff)
-
wifidog/templates/lost_username.html (modified) (1 diff)
-
wifidog/templates/resend_validation.html (modified) (1 diff)
-
wifidog/templates/signup.html (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/wifidog-auth/ChangeLog
r528 r530 1 2005-04-01 Benoit Gr�goire <bock@step.polymtl.ca> 1 2005-04-01 Francois Proulx <francois.proulx@gmail.com> 2 * EVERYTHING IS NOW UTF-8 YOU MUST EDIT YOUR FILES WITH AN UTF-8 COMPLIANT EDITOR 3 * The database will be converted to UTF-8 (version 5) 4 * Added select boxes ( or hidden ) html form elements to choose the network for signup, lost password, username 5 6 2005-04-01 Benoit Grégoire <bock@step.polymtl.ca> 2 7 * Add constraints to account_origin to detect errors on inserts. 3 8 * Remove IDRC test server … … 8 13 * Removed spaces in AuthenticatorLocalUser.php 9 14 10 2005-03-31 Benoit Gr �goire <bock@step.polymtl.ca>15 2005-03-31 Benoit Grégoire <bock@step.polymtl.ca> 11 16 * Remove spaces after php blocks in various files. 12 17 * Temporarily fix single authentication source not present bug in login smarty template. All other places where we select the network will be fixed tommorow. 13 18 * Fix initial schema errors. 14 19 15 2005-03-31 Benoit Gr �goire <bock@step.polymtl.ca>20 2005-03-31 Benoit Grégoire <bock@step.polymtl.ca> 16 21 * More RADIUS install documentation. 17 22 * Fix schema_validate.php … … 27 32 * Added PEAR install procedure 28 33 29 2005-03-30 Fran �ois Proulx <francois.proulx@gmail.com>34 2005-03-30 François Proulx <francois.proulx@gmail.com> 30 35 * Finished RADIUS authentication and accounting 31 36 * Accounting Unique session ID is now based on the same token we use … … 37 42 * A few examples on how set different RADIUS or local authenticators can be found in the config.php 38 43 39 2005-03-29 Fran �ois Proulx <francois.proulx@gmail.com>44 2005-03-29 François Proulx <francois.proulx@gmail.com> 40 45 * schema_validate.php : Modified schema : dropped e-mail + account unique index, dropped email not empty constraint 41 46 * Schema is now at version 3 … … 48 53 * TODO : Heavy testing possibly with remote RADIUS servers 49 54 50 2005-03-28 Benoit Gr �goire <bock@step.polymtl.ca>55 2005-03-28 Benoit Grégoire <bock@step.polymtl.ca> 51 56 * sql: Put initial data in a transaction, and specify the wifidog user so you do not have to su to it while using sync_sql_for_svs 52 57 53 2005-03-28 Benoit Gr �goire <bock@step.polymtl.ca>58 2005-03-28 Benoit Grégoire <bock@step.polymtl.ca> 54 59 * common.php: Add get_guid() function 55 60 * validate_schema.php: New auto-upgrade script to allow autaumatic schema upgrade. Note that you must still update dump_initial_data_postgres.sh and use sync_sql_for_cvs.sh so new users aren't left in the cold. 56 61 * New class Authenticator (and subclasses): Begin virtualizing the login process. 57 62 58 2005-03-24 Benoit Gr �goire <bock@step.polymtl.ca>63 2005-03-24 Benoit Grégoire <bock@step.polymtl.ca> 59 64 * Statistics.php: Fix getMostGreedyUsers returning bad values when incoming and outgoing for all connections from a user have null values. 60 65 * wifidog/local_content/default/portal.html: Fix layout so it resizes properly. This in an interim measure. … … 74 79 * ./classes/RssPressReview.inc: if rss_source['url'] is blank, ignore the feed. 75 80 76 2005-02-22 Benoit Gr �goire <bock@step.polymtl.ca>81 2005-02-22 Benoit Grégoire <bock@step.polymtl.ca> 77 82 * sql/dump_initial_data_postgres.sh, wifidog-postgres-initial-data.sql, wifidog-postgres-schema.sql:-Widen the connections size to fix int4 wraparound problems. To update a running server, execute the following sql sniplet: 78 83 BEGIN; … … 86 91 COMMIT; 87 92 * wifidog/admin/hotspot.php: Missing file from phil's commit. 88 * wifidog/locale/fr/LC_MESSAGES/messages.mo, messages.po: New translation by Benoit St-Andr �93 * wifidog/locale/fr/LC_MESSAGES/messages.mo, messages.po: New translation by Benoit St-André 89 94 90 95 2005-02-14 Philippe April <philippe@ilesansfil.org> … … 98 103 * Updated TODO with ideas on making config better 99 104 100 2005-01-31 Benoit Gr �goire <bock@step.polymtl.ca>105 2005-01-31 Benoit Grégoire <bock@step.polymtl.ca> 101 106 * wifidog/templates/hotspot_status.html: Restore the number of nodes 102 107 * wifidog/hotspot_status.php: Restore the number of nodes, add formatting and more information to the RSS feed. … … 108 113 * Remove mgmt_helpers (all done in User class now) 109 114 110 2005-01-25 Benoit Gr �goire <bock@step.polymtl.ca>115 2005-01-25 Benoit Grégoire <bock@step.polymtl.ca> 111 116 * classes/Node.php: New file, untested code example 112 117 * wifidog/admin/admin_common.php: Remove double-defined BASEPATH … … 130 135 * i18n and smarty'ized parts 131 136 132 2005-01-11 Benoit Gr �goire <bock@step.polymtl.ca>137 2005-01-11 Benoit Grégoire <bock@step.polymtl.ca> 133 138 * INSTALL: Mandate PHP5 134 139 * wifidog/hotspot_status.php: Allow export of the list as a RSS feed … … 137 142 * wifidog/templates/hotspot_status.html: Add link to the RSS version. 138 143 139 2005-01-11 Benoit Gr �goire <bock@step.polymtl.ca>144 2005-01-11 Benoit Grégoire <bock@step.polymtl.ca> 140 145 * wifidog/config.php: Add list of hotspot to network rss feed list (not yet functionnal) 141 146 * wifidog/hotspot_status.php: Allow RSS export of the list of deployed HotSpots. … … 144 149 * wifidog/portal/index.php: Preliminary work to enable smart press review of multiple RSS feeds. 145 150 146 2005-01-10 Benoit Gr �goire <bock@step.polymtl.ca>151 2005-01-10 Benoit Grégoire <bock@step.polymtl.ca> 147 152 * include/common.php: Fix SSL security warnings. If SSL is enabled and the page was actually served over SSL, all media in the file will be served over SSL. Add a new define (BASE_NON_SSL_PATH) to allow us to make links that break out of SSL mode. From now on, use the self adapting BASE_URL_PATH in most circumstance, BASE_SSL_PATH to enter SSL mode, and BASE_URL_PATH to break out of it. 148 153 149 2005-01-10 Benoit Gr �goire <bock@step.polymtl.ca>154 2005-01-10 Benoit Grégoire <bock@step.polymtl.ca> 150 155 * admin/user_stats.php: Add three top tens to the statistics: Top ten apetite for bandwidth, top ten travelers, most addicted users. 151 156 152 2005-01-04 Benoit Gr �goire <bock@step.polymtl.ca>157 2005-01-04 Benoit Grégoire <bock@step.polymtl.ca> 153 158 * wifidog/local_content/default/hotspot_logo_banner.jpg: Make it much thinner. 154 159 * wifidog/local_content/default/login.html: Remove announcements … … 159 164 * wifidog/index.php: Make the distinction between the two hotspot status pages clearer. 160 165 161 2004-12-08 Benoit Gr �goire <bock@step.polymtl.ca>166 2004-12-08 Benoit Grégoire <bock@step.polymtl.ca> 162 167 * wifidog/index.php: Add menu 163 168 * wifidog/include/user_management_menu.php: Editorial change, make translateable 164 169 * wifidog/portal/index.php: Fix RSS feeds 165 170 166 2004-12-03 Benoit Gr �goire <bock@step.polymtl.ca>171 2004-12-03 Benoit Grégoire <bock@step.polymtl.ca> 167 172 * wifidog/admin/user_stats.php, wifidog/classes/Statistics.php: Embryonic aggregate user stats. Currently allows you to find out the rate at which your users subscribe. 168 173 * wifidog/config.php, wifidog/local_content/default/login.html, wifidog/include/user_management_menu.php: Add hotspot status page to login page. … … 171 176 * wifidog/index.php: Cosmetic. 172 177 173 2004-11-19 Benoit Gr �goire <bock@step.polymtl.ca>178 2004-11-19 Benoit Grégoire <bock@step.polymtl.ca> 174 179 * TODO: Add email domains to blacklist 175 180 * wifidog/config.php, wifidog/include/user_management_menu.php: Add tech support email address … … 181 186 * sql/wifidog-postgres-initial-data.sql, wifidog-postgres-schema.sql: Update with new node information structures. 182 187 183 2004-11-04 Benoit Gr �goire <bock@step.polymtl.ca>188 2004-11-04 Benoit Grégoire <bock@step.polymtl.ca> 184 189 * wifidog/admin/hotspot_log.php: Add number of currently connected users here as well. 185 190 186 2004-11-03 Benoit Gr �goire <bock@step.polymtl.ca>191 2004-11-03 Benoit Grégoire <bock@step.polymtl.ca> 187 192 * wifidog/ping/index.php: Log user-agent 188 193 * extensive statistics work 189 194 * sql/wifidog-postgres-schema.sql: Add description field for hotspots and log user-agent 190 195 191 2004-10-28 Benoit Gr �goire <bock@step.polymtl.ca>196 2004-10-28 Benoit Grégoire <bock@step.polymtl.ca> 192 197 * sql/wifidog-postgres-schema.sql: Add constraints to avoid empty string in email or user_id. 193 198 * Some statistics fixes … … 198 203 mainly a missing ' in some HTML. 199 204 200 2004-09-28 Yanik Cr �peau <yanik@exScriptis.com>205 2004-09-28 Yanik Crépeau <yanik@exScriptis.com> 201 206 * wifidog/include/common.php: Added commented header with cvs 202 207 keywords. … … 204 209 further testing with language/localization issues. 205 210 206 2004-09-27 Benoit Gr �goire <bock@step.polymtl.ca>211 2004-09-27 Benoit Grégoire <bock@step.polymtl.ca> 207 212 * sql/wifidog-postgres-schema.sql: Remove non SQL standard "COMMENT ON" comments 208 213 209 2004-09-27 Benoit Gr �goire <bock@step.polymtl.ca>214 2004-09-27 Benoit Grégoire <bock@step.polymtl.ca> 210 215 * sql/wifidog-postgres-schema.sql: Drop procedural language stuff 211 216 212 2004-09-27 Benoit Gr �goire <bock@step.polymtl.ca>217 2004-09-27 Benoit Grégoire <bock@step.polymtl.ca> 213 218 * sql/wifidog-postgres-schema.sql: Fix layout for the node_owners table 214 219 * Begin integrating Patrick Tanguay's new layout and generate the css dynamically to allow for background images. 215 220 216 2004-09-22 Benoit Gr �goire <bock@step.polymtl.ca>221 2004-09-22 Benoit Grégoire <bock@step.polymtl.ca> 217 222 * portal/index.php: Fix users appearing online at every hotspot. 218 223 * wifidog/classes/Style.php, wifidog/login/index.php: Fix some potential cache problems and help with validation. 219 224 220 2004-09-18 Benoit Gr �goire <bock@step.polymtl.ca>225 2004-09-18 Benoit Grégoire <bock@step.polymtl.ca> 221 226 * wifidog/config.php: Add VALIDATION_GRACE_TIME configuration parameter. 222 227 * wifidog/auth/index.php: Move grace time date arithmetics to the database, fixes validation period not working. Stop storing VALIDATION_FAILES status to the database. Add check for validation period expiration at stage login, not just stage counters, this will fix one minute validation period. … … 224 229 * wifidog/user_management/index.php: Fix SQL error at new user registration. 225 230 226 2004-09-02 Benoit Gr �goire <bock@step.polymtl.ca>231 2004-09-02 Benoit Grégoire <bock@step.polymtl.ca> 227 232 * wifidog/node_list.php: Complete the status page 228 233 * Add images 229 234 * Add hotspot creation date 230 235 231 2004-08-31 Benoit Gr �goire <bock@step.polymtl.ca>236 2004-08-31 Benoit Grégoire <bock@step.polymtl.ca> 232 237 * sql/: Update the postgres schemas and add scripts to ease maintaining it. 233 238 * sql/sync_sql_for_cvs.sh: Should you modify the schema in your db, run this script to the chances will be available in the cvs schemas and initial data. … … 235 240 * INSTALL: Update for postgres. Somebody please test this. 236 241 237 2004-08-31 Benoit Gr �goire <bock@step.polymtl.ca>242 2004-08-31 Benoit Grégoire <bock@step.polymtl.ca> 238 243 * wifidog/ping/index.php: Implement logging of which hotspot sent the heartbeat, from which ip and when. 239 244 * wifidog/node_list.php: Primitive but functionnal hotspot status page. … … 243 248 * wifidog/user_management/index.php: Display the menu, will eventually allow us to present proper help text. 244 249 245 2004-08-30 Benoit Gr �goire <bock@step.polymtl.ca>250 2004-08-30 Benoit Grégoire <bock@step.polymtl.ca> 246 251 * Add link to original requested site. 247 252 * wifidog/node_list.php: New file. Will become the main node status page. 248 253 249 2004-08-28 Benoit Gr �goire <bock@step.polymtl.ca>254 2004-08-28 Benoit Grégoire <bock@step.polymtl.ca> 250 255 * Primitive network status available form the index page 251 256 * Administrative security is implemented. 252 257 253 2004-08-28 Benoit Gr �goire <bock@step.polymtl.ca>258 2004-08-28 Benoit Grégoire <bock@step.polymtl.ca> 254 259 * Fix big gaping security hole in login page (password would be ignored if the username was used to login) 255 260 * PostgreSql port … … 261 266 * wifidog/auth/index.php: Fix code injection vulnerability. 262 267 263 2004-08-27 Benoit Gr �goire <bock@step.polymtl.ca>268 2004-08-27 Benoit Grégoire <bock@step.polymtl.ca> 264 269 * SSL support and RSS improvement 265 270 * Last commit tested with mysql support … … 269 274 * Replace all SERVER_NAME by HTTP_HOST to fix non-standard server ports 270 275 271 2004-08-11 Benoit Gr �goire <bock@step.polymtl.ca>276 2004-08-11 Benoit Grégoire <bock@step.polymtl.ca> 272 277 * wifidog/config.php: Add USER_MANAGEMENT_PAGE 273 278 * wifidog/include/user_management_menu.php: Code meant to deal with non-standard ports broke the menu. Hopefully fixed. … … 277 282 * wifidog/ping/index.php: will now reply if the wifidog auth server is up. to be used by wifidog to do heartbeats. 278 283 279 2004-08-07 Benoit Gr �goire <bock@step.polymtl.ca>284 2004-08-07 Benoit Grégoire <bock@step.polymtl.ca> 280 285 * Add code to import a NoCat user database (passwd). The username will be generated from the first part of the email if the name was en email. 281 286 * Change password hashing algorithm to make it compatible with NoCat (For the curious among you, the hashing algorithm is now: take the md5 digest in binary format of the password, and base64 encode it. … … 288 293 * wifidog/config.php: Add SYSTEM_PATH and test/fix non-standard server ports 289 294 290 2004-08-03 Benoit Gr �goire <bock@step.polymtl.ca>295 2004-08-03 Benoit Grégoire <bock@step.polymtl.ca> 291 296 * Make gettext support optionnal, and define GETTEXT_AVAILABLE, will be set to true if gettext is available. If false, blank _() and gettext() functions will be defined so the system still works. 292 297 293 2004-08-03 Benoit Gr �goire <bock@step.polymtl.ca>298 2004-08-03 Benoit Grégoire <bock@step.polymtl.ca> 294 299 * Fix BASE_URL_PATH to properly detect non-standard server ports (hopefully). 295 300 296 2004-08-02 Benoit Gr �goire <bock@step.polymtl.ca>301 2004-08-02 Benoit Grégoire <bock@step.polymtl.ca> 297 302 * wifidog-auth lives! New since the dark ages 298 303 * Demo page to allow people to hack more easely on it -
trunk/wifidog-auth/INSTALL
r523 r530 41 41 php5-devel 42 42 php5-xml 43 php5-xmlrpc ---> d �pend delibxmlrpc43 php5-xmlrpc ---> depends on libxmlrpc 44 44 php5-mhash 45 45 php5-mcrypt -
trunk/wifidog-auth/sql/dump_initial_data_postgres.sh
r523 r530 2 2 echo "\connect wifidog;" 3 3 echo "BEGIN;" 4 5 echo "--- The default admin user, delete or change password as soon as possible. The password is admin "6 echo "INSERT INTO users (user_id, username, pass, email, account_status, validation_token) VALUES ('admin_original_user_delete_me', 'admin', 'ISMvKXpXpadDiUoOSoAfww==', 'test_user_please@delete.me', 1, 'df16cc4b1d0975e267f3425eaac31950');";7 8 echo "INSERT INTO administrators (user_id) VALUES ('admin_original_user_delete_me');"9 4 10 5 pg_dump -a -D --username=wifidog -t token_status -
trunk/wifidog-auth/sql/wifidog-postgres-initial-data.sql
r529 r530 1 1 \connect wifidog; 2 2 BEGIN; 3 --- The default admin user, delete or change password as soon as possible. The password is admin4 INSERT INTO users (user_id, username, pass, email, account_status, validation_token) VALUES ('admin_original_user_delete_me', 'admin', 'ISMvKXpXpadDiUoOSoAfww==', 'test_user_please@delete.me', 1, 'df16cc4b1d0975e267f3425eaac31950');5 INSERT INTO administrators (user_id) VALUES ('admin_original_user_delete_me');6 3 -- 7 4 -- PostgreSQL database dump … … 16 13 17 14 -- 18 -- Data for TOC entry 2 (OID 1 57593)15 -- Data for TOC entry 2 (OID 144784) 19 16 -- Name: token_status; Type: TABLE DATA; Schema: public; Owner: wifidog 20 17 -- … … 37 34 38 35 -- 39 -- Data for TOC entry 2 (OID 1 57627)36 -- Data for TOC entry 2 (OID 144818) 40 37 -- Name: venue_types; Type: TABLE DATA; Schema: public; Owner: wifidog 41 38 -- … … 89 86 90 87 -- 91 -- Data for TOC entry 2 (OID 1 57625)88 -- Data for TOC entry 2 (OID 144816) 92 89 -- Name: node_deployment_status; Type: TABLE DATA; Schema: public; Owner: wifidog 93 90 -- … … 114 111 115 112 -- 116 -- Data for TOC entry 2 (OID 1 57637)113 -- Data for TOC entry 2 (OID 144828) 117 114 -- Name: schema_info; Type: TABLE DATA; Schema: public; Owner: wifidog 118 115 -- 119 116 120 INSERT INTO schema_info (tag, value) VALUES ('schema_version', ' 3');117 INSERT INTO schema_info (tag, value) VALUES ('schema_version', '5'); 121 118 122 119 -
trunk/wifidog-auth/sql/wifidog-postgres-schema.sql
r529 r530 22 22 23 23 -- 24 -- TOC entry 5 (OID 1 57590)24 -- TOC entry 5 (OID 144781) 25 25 -- Name: administrators; Type: TABLE; Schema: public; Owner: wifidog 26 26 -- … … 32 32 33 33 -- 34 -- TOC entry 6 (OID 1 57593)34 -- TOC entry 6 (OID 144784) 35 35 -- Name: token_status; Type: TABLE; Schema: public; Owner: wifidog 36 36 -- … … 42 42 43 43 -- 44 -- TOC entry 7 (OID 1 57597)44 -- TOC entry 7 (OID 144788) 45 45 -- Name: connections; Type: TABLE; Schema: public; Owner: wifidog 46 46 -- … … 64 64 65 65 -- 66 -- TOC entry 8 (OID 1 57603)66 -- TOC entry 8 (OID 144794) 67 67 -- Name: nodes; Type: TABLE; Schema: public; Owner: wifidog 68 68 -- … … 89 89 90 90 -- 91 -- TOC entry 9 (OID 1 57613)91 -- TOC entry 9 (OID 144804) 92 92 -- Name: users; Type: TABLE; Schema: public; Owner: wifidog 93 93 -- … … 108 108 109 109 -- 110 -- TOC entry 10 (OID 1 57623)110 -- TOC entry 10 (OID 144814) 111 111 -- Name: node_owners; Type: TABLE; Schema: public; Owner: wifidog 112 112 -- … … 119 119 120 120 -- 121 -- TOC entry 11 (OID 1 57625)121 -- TOC entry 11 (OID 144816) 122 122 -- Name: node_deployment_status; Type: TABLE; Schema: public; Owner: wifidog 123 123 -- … … 129 129 130 130 -- 131 -- TOC entry 12 (OID 1 57627)131 -- TOC entry 12 (OID 144818) 132 132 -- Name: venue_types; Type: TABLE; Schema: public; Owner: wifidog 133 133 -- … … 139 139 140 140 -- 141 -- TOC entry 13 (OID 1 57632)141 -- TOC entry 13 (OID 144823) 142 142 -- Name: venues; Type: TABLE; Schema: public; Owner: wifidog 143 143 -- … … 150 150 151 151 -- 152 -- TOC entry 14 (OID 1 57637)152 -- TOC entry 14 (OID 144828) 153 153 -- Name: schema_info; Type: TABLE; Schema: public; Owner: wifidog 154 154 -- … … 161 161 162 162 -- 163 -- TOC entry 18 (OID 1 74755)163 -- TOC entry 18 (OID 144841) 164 164 -- Name: idx_token; Type: INDEX; Schema: public; Owner: wifidog 165 165 -- … … 169 169 170 170 -- 171 -- TOC entry 19 (OID 1 74756)171 -- TOC entry 19 (OID 144842) 172 172 -- Name: idx_token_status_and_user_id; Type: INDEX; Schema: public; Owner: wifidog 173 173 -- … … 177 177 178 178 -- 179 -- TOC entry 21 (OID 1 74757)179 -- TOC entry 21 (OID 144843) 180 180 -- Name: idx_unique_username_and_account_origin; Type: INDEX; Schema: public; Owner: wifidog 181 181 -- … … 185 185 186 186 -- 187 -- TOC entry 15 (OID 1 74758)187 -- TOC entry 15 (OID 144844) 188 188 -- Name: administrators_pkey; Type: CONSTRAINT; Schema: public; Owner: wifidog 189 189 -- … … 194 194 195 195 -- 196 -- TOC entry 16 (OID 1 74760)196 -- TOC entry 16 (OID 144846) 197 197 -- Name: token_status_pkey; Type: CONSTRAINT; Schema: public; Owner: wifidog 198 198 -- … … 203 203 204 204 -- 205 -- TOC entry 17 (OID 1 74762)205 -- TOC entry 17 (OID 144848) 206 206 -- Name: connections_pkey; Type: CONSTRAINT; Schema: public; Owner: wifidog 207 207 -- … … 212 212 213 213 -- 214 -- TOC entry 20 (OID 1 74764)214 -- TOC entry 20 (OID 144850) 215 215 -- Name: nodes_pkey; Type: CONSTRAINT; Schema: public; Owner: wifidog 216 216 -- … … 221 221 222 222 -- 223 -- TOC entry 22 (OID 1 74766)223 -- TOC entry 22 (OID 144852) 224 224 -- Name: users_pkey; Type: CONSTRAINT; Schema: public; Owner: wifidog 225 225 -- … … 230 230 231 231 -- 232 -- TOC entry 23 (OID 1 74768)232 -- TOC entry 23 (OID 144854) 233 233 -- Name: node_owners_pkey; Type: CONSTRAINT; Schema: public; Owner: wifidog 234 234 -- … … 239 239 240 240 -- 241 -- TOC entry 24 (OID 1 74770)241 -- TOC entry 24 (OID 144856) 242 242 -- Name: node_deployment_status_pkey; Type: CONSTRAINT; Schema: public; Owner: wifidog 243 243 -- … … 248 248 249 249 -- 250 -- TOC entry 25 (OID 1 74772)250 -- TOC entry 25 (OID 144858) 251 251 -- Name: venue_types_pkey; Type: CONSTRAINT; Schema: public; Owner: wifidog 252 252 -- … … 257 257 258 258 -- 259 -- TOC entry 26 (OID 1 74774)259 -- TOC entry 26 (OID 144860) 260 260 -- Name: schema_info_pkey; Type: CONSTRAINT; Schema: public; Owner: wifidog 261 261 -- … … 266 266 267 267 -- 268 -- TOC entry 28 (OID 1 74776)268 -- TOC entry 28 (OID 144862) 269 269 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: wifidog 270 270 -- … … 275 275 276 276 -- 277 -- TOC entry 27 (OID 1 74780)277 -- TOC entry 27 (OID 144866) 278 278 -- Name: administrators_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: wifidog 279 279 -- … … 284 284 285 285 -- 286 -- TOC entry 29 (OID 1 74784)286 -- TOC entry 29 (OID 144870) 287 287 -- Name: fk_users; Type: FK CONSTRAINT; Schema: public; Owner: wifidog 288 288 -- … … 293 293 294 294 -- 295 -- TOC entry 30 (OID 1 74788)295 -- TOC entry 30 (OID 144874) 296 296 -- Name: fk_nodes; Type: FK CONSTRAINT; Schema: public; Owner: wifidog 297 297 -- … … 302 302 303 303 -- 304 -- TOC entry 33 (OID 1 74792)304 -- TOC entry 33 (OID 144878) 305 305 -- Name: fk_users; Type: FK CONSTRAINT; Schema: public; Owner: wifidog 306 306 -- … … 311 311 312 312 -- 313 -- TOC entry 34 (OID 1 74796)313 -- TOC entry 34 (OID 144882) 314 314 -- Name: fk_nodes; Type: FK CONSTRAINT; Schema: public; Owner: wifidog 315 315 -- … … 320 320 321 321 -- 322 -- TOC entry 31 (OID 1 74800)322 -- TOC entry 31 (OID 144886) 323 323 -- Name: fk_node_deployment_status; Type: FK CONSTRAINT; Schema: public; Owner: wifidog 324 324 -- … … 329 329 330 330 -- 331 -- TOC entry 32 (OID 1 74804)331 -- TOC entry 32 (OID 144890) 332 332 -- Name: fk_venue_types; Type: FK CONSTRAINT; Schema: public; Owner: wifidog 333 333 -- -
trunk/wifidog-auth/wifidog/change_password.php
r517 r530 22 22 /**@file 23 23 * Login page 24 * @author Copyright (C) 2004 Benoit Gr �goire et Philippe April24 * @author Copyright (C) 2004 Benoit Grégoire et Philippe April 25 25 */ 26 26 define('BASEPATH','./'); … … 33 33 if (isset($_REQUEST["submit"])) { 34 34 try { 35 if (!$_REQUEST["username"] || !$_REQUEST["oldpassword"] || !$_REQUEST["newpassword"] || !$_REQUEST["newpassword_again"]) 35 // If the source is present and that it's in our AUTH_SOURCE_ARRAY, save it to a var for later use 36 $_REQUEST['auth_source'] && in_array($_REQUEST['auth_source'], array_keys($AUTH_SOURCE_ARRAY)) && $account_origin = $_REQUEST['auth_source']; 37 38 if (!$account_origin || !$_REQUEST["username"] || !$_REQUEST["oldpassword"] || !$_REQUEST["newpassword"] || !$_REQUEST["newpassword_again"]) 36 39 throw new Exception(_('You MUST fill in all the fields.')); 37 40 $username = $db->EscapeString(trim($_REQUEST['username'])); … … 39 42 $new_password = $db->EscapeString(trim($_REQUEST['newpassword'])); 40 43 44 if(empty($account_origin)) 45 throw new Exception(_("Sorry, this network does not exist !")); 46 41 47 if ($_REQUEST["newpassword"] != $_REQUEST["newpassword_again"]) 42 48 throw new Exception(_("Passwords do not match.")); 43 49 44 50 // Warning for now, password change only works for local users, registered through our signup process. 45 $user = User::getUserByUsernameAndOrigin($username, LOCAL_USER_ACCOUNT_ORIGIN); 46 if ($user->getPasswordHash() != User::passwordHash($current_password)) 51 $user = User::getUserByUsernameAndOrigin($username, $account_origin); 52 /** 53 * utf8_decode is used for backward compatibility with old passwords 54 * containing special characters. 55 * Conversion from UTF-8 to ISO-8859-1 is done to match the MD5 hash 56 */ 57 if ($user->getPasswordHash() != User::passwordHash(utf8_decode($current_password))) 47 58 throw new Exception(_("Wrong password.")); 48 59 … … 55 66 } 56 67 } 68 69 // Add the auth servers list to smarty variables 70 $sources = array (); 71 // Preserve keys 72 foreach (array_keys($AUTH_SOURCE_ARRAY) as $auth_source_key) 73 if ($AUTH_SOURCE_ARRAY[$auth_source_key]['authenticator']->isRegistrationPermitted()) 74 $sources[$auth_source_key] = $AUTH_SOURCE_ARRAY[$auth_source_key]; 75 76 isset ($sources) && $smarty->assign('auth_sources', $sources); 77 // Pass the account_origin along, if it's set 78 isset ($_REQUEST["auth_source"]) && $smarty->assign('selected_auth_source', $_REQUEST["auth_source"]); 79 57 80 $smarty->display("templates/change_password.html"); 58 81 ?> -
trunk/wifidog-auth/wifidog/classes/Authenticator.php
r523 r530 20 20 \********************************************************************/ 21 21 /**@file Authenticator.php 22 * @author Copyright (C) 2005 Benoit Gr �goire <bock@step.polymtl.ca>,22 * @author Copyright (C) 2005 Benoit Grégoire <bock@step.polymtl.ca>, 23 23 * Technologies Coeus inc. 24 24 */ … … 84 84 $db->ExecSqlUpdate("UPDATE connections SET "."timestamp_out=NOW(),"."token_status='".TOKEN_USED."' "."WHERE conn_id='{$info['conn_id']}';\n"); 85 85 } 86 87 /** 88 * Property method that tells if the class allows registration 89 */ 90 function isRegistrationPermitted() 91 { 92 return false; 93 } 86 94 87 95 } // End class -
trunk/wifidog-auth/wifidog/classes/AuthenticatorLocalUser.php
r527 r530 22 22 \********************************************************************/ 23 23 /**@file AuthenticatorLocalUser.php 24 * @author Copyright (C) 2005 Benoit Gr �goire <bock@step.polymtl.ca>,24 * @author Copyright (C) 2005 Benoit Grégoire <bock@step.polymtl.ca>, 25 25 * Technologies Coeus inc. 26 26 */ … … 71 71 $username = $db->EscapeString($username); 72 72 $password = $db->EscapeString($password); 73 $password_hash = User :: passwordHash($_REQUEST['password']); 73 /** 74 * utf8_decode is used for backward compatibility with old passwords 75 * containing special characters. 76 * Conversion from UTF-8 to ISO-8859-1 is done to match the MD5 hash 77 */ 78 $password_hash = User :: passwordHash(utf8_decode($_REQUEST['password'])); 74 79 75 80 $sql = "SELECT user_id FROM users WHERE (username='$username' OR email='$username') AND account_origin='".$this->getAccountOrigin()."' AND pass='$password_hash'"; … … 137 142 return true; 138 143 } 144 145 function isRegistrationPermitted() 146 { 147 return true; 148 } 139 149 140 150 } // End class -
trunk/wifidog-auth/wifidog/classes/AuthenticatorRadius.php
r523 r530 20 20 \********************************************************************/ 21 21 /**@file AuthenticatorRadius.php 22 * @author Copyright (C) 2005 Benoit Gr �goire <bock@step.polymtl.ca>, Technologies Coeus inc.23 * @author Copyright (C) 2005 Fran �ois Proulx <francois.proulx@gmail.com>,Technologies Coeus inc.22 * @author Copyright (C) 2005 Benoit Grégoire <bock@step.polymtl.ca>, Technologies Coeus inc. 23 * @author Copyright (C) 2005 François Proulx <francois.proulx@gmail.com>,Technologies Coeus inc. 24 24 * */ 25 25 … … 82 82 $password = $db->EscapeString($password); 83 83 // Local database password hashing is based on an empty string ( we do not store remote passwords ) 84 /** 85 * Backward compatibility conversion is not needed since the password is 86 * blank ( we do not keep RADIUS passwords 87 */ 84 88 $password_hash = User :: passwordHash(""); 85 89 -
trunk/wifidog-auth/wifidog/classes/Style.php
r317 r530 26 26 Header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); # Past date 27 27 Header("Pragma: no-cache"); 28 Header("Content-Type: text/html; charset= iso-8859-1");28 Header("Content-Type: text/html; charset=utf-8"); 29 29 require_once BASEPATH.'include/common.php'; 30 30 require_once BASEPATH.'classes/SmartyWifidog.php'; … … 65 65 66 66 /**Affiche le pied de page HTML 67 * @return string chaine àafficher dans la page.67 * @return string chaine à afficher dans la page. 68 68 */ 69 69 function GetFooter() … … 93 93 94 94 $retval.= "<div class='content'>\n"; 95 $retval.= "<P>Temps écoulé: $display_timetaken seconde(s) dont $display_sql_percent ($display_sql_total_time seconde(s)) pour les $sql_num_querys requêtes SQL ($sql_num_select_querys select, $sql_num_select_unique_querys select valeur unique, $sql_num_update_querys modifications)</P>\n";95 $retval.= "<P>Temps écoulé: $display_timetaken seconde(s) dont $display_sql_percent ($display_sql_total_time seconde(s)) pour les $sql_num_querys requêtes SQL ($sql_num_select_querys select, $sql_num_select_unique_querys select valeur unique, $sql_num_update_querys modifications)</P>\n"; 96 96 $retval.= "</div>\n"; 97 97 */ -
trunk/wifidog-auth/wifidog/classes/User.php
r524 r530 20 20 \********************************************************************/ 21 21 /**@file User.php 22 * @author Copyright (C) 2005 Benoit Gr �goire <bock@step.polymtl.ca>22 * @author Copyright (C) 2005 Benoit Grégoire <bock@step.polymtl.ca> 23 23 */ 24 24 … … 56 56 $db->ExecSqlUniqueRes("SELECT user_id FROM users WHERE username = '$username_str' AND account_origin = '$account_origin_str'", $user_info, false); 57 57 58 $object = new self($user_info['user_id']); 58 if($user_info != null) 59 $object = new self($user_info['user_id']); 60 return $object; 61 } 62 63 /** Instantiate a user object 64 * @param $email The email of the user 65 * @param $account_origin The account origin 66 * @return a User object, or null if there was an error 67 */ 68 public static function getUserByEmailAndOrigin($email, $account_origin) 69 { 70 global $db; 71 $object = null; 72 73 $email_str = $db->EscapeString($email); 74 $account_origin_str = $db->EscapeString($account_origin); 75 $db->ExecSqlUniqueRes("SELECT user_id FROM users WHERE email = '$email_str' AND account_origin = '$account_origin_str'", $user_info, false); 76 77 if($user_info != null) 78 $object = new self($user_info['user_id']); 59 79 return $object; 60 80 } … … 175 195 $account_origin_str = $db->EscapeString($account_origin); 176 196 $email_str = $db->EscapeString($email); 177 $password_hash = $db->EscapeString(User :: passwordHash($password)); 197 /** 198 * utf8_decode is used for backward compatibility with old passwords 199 * containing special characters. 200 * Conversion from UTF-8 to ISO-8859-1 is done to match the MD5 hash 201 */ 202 $password_hash = $db->EscapeString(User :: passwordHash(utf8_decode($password))); 178 203 $status = ACCOUNT_STATUS_VALIDATION; 179 204 $token = User :: generateToken(); … … 318 343 { 319 344 global $db; 320 321 $new_password_hash = User :: passwordHash( $password);345 346 $new_password_hash = User :: passwordHash(utf8_decode($password)); 322 347 if (!($update = $db->ExecSqlUpdate("UPDATE users SET pass='$new_password_hash' WHERE user_id='{$this->mId}'"))) 323 348 { … … 352 377 $username = $this->getUsername(); 353 378 $headers = 'MIME-Version: 1.0' . "\r\n"; 354 $headers .= 'Content-type: text/ html; charset=iso-8859-1' . "\r\n";379 $headers .= 'Content-type: text/plain; charset=UTF-8' . "\r\n"; 355 380 $headers .= "From: ".VALIDATION_EMAIL_FROM_ADDRESS; 356 381 $subject = HOTSPOT_NETWORK_NAME._(" lost username request"); 357 $body = _("Hello, <br>You have requested that the authentication server send you your username:<br>Username: ").$username._("<br><br>Have a nice day,<br>The Team");382 $body = _("Hello,\nYou have requested that the authentication server send you your username:\nUsername: ").$username._("\n\nHave a nice day,\nThe Team"); 358 383 359 384 mail($this->getEmail(), $subject, $body, $headers); … … 375 400 { 376 401 $headers = 'MIME-Version: 1.0' . "\r\n"; 377 $headers .= 'Content-type: text/ html; charset=iso-8859-1' . "\r\n";402 $headers .= 'Content-type: text/plain; charset=UTF-8' . "\r\n"; 378 403 $headers .= "From: ".VALIDATION_EMAIL_FROM_ADDRESS; 379 404 $subject = HOTSPOT_NETWORK_NAME._(" new user validation"); 380 405 $url = "http://".$_SERVER["SERVER_NAME"]."/validate.php?user_id=".$this->getId()."&token=".$this->getValidationToken(); 381 $body = _("Hello, <br>Please follow the link below to validate your account.<br>").$url._("<br><br>Thank you,<br>The Team.");406 $body = _("Hello,\nPlease follow the link below to validate your account.\n").$url._("\n\nThank you,\nThe Team."); 382 407 383 408 mail($this->getEmail(), $subject, $body, $headers); … … 395 420 396 421 $headers = 'MIME-Version: 1.0' . "\r\n"; 397 $headers .= 'Content-type: text/ html; charset=iso-8859-1' . "\r\n";422 $headers .= 'Content-type: text/plain; charset=UTF-8' . "\r\n"; 398 423 $headers .= "From: ".VALIDATION_EMAIL_FROM_ADDRESS; 399 424 $subject = HOTSPOT_NETWORK_NAME._(" new password request"); 400 $body = _("Hello, <br>You have requested that the authentication server send you a new password:<br>Username: ").$username._("<br>Password: ").$new_password._("<br><br>Have a nice day,<br>The Team");425 $body = _("Hello,\nYou have requested that the authentication server send you a new password:\nUsername: ").$username._("\nPassword: ").$new_password._("\n\nHave a nice day,\nThe Team"); 401 426 402 427 mail($this->getEmail(), $subject, $body, $headers); -
trunk/wifidog-auth/wifidog/config.php
r528 r530 7 7 * 8 8 * $Log$ 9 * Revision 1.30 2005/04/01 21:38:23 fproulx 10 * 2005-04-01 Francois Proulx <francois.proulx@gmail.com> 11 * * EVERYTHING IS NOW UTF-8 YOU MUST EDIT YOUR FILES WITH AN UTF-8 COMPLIANT EDITOR 12 * * The database will be converted to UTF-8 (version 5) 13 * * Added select boxes ( or hidden ) html form elements to choose the network for signup, lost password, username 14 * 9 15 * Revision 1.29 2005/04/01 20:58:28 benoitg 10 16 * 2005-04-01 Benoit Gr�goire <bock@step.polymtl.ca> … … 17 23 * 18 24 * Revision 1.27 2005/04/01 02:05:32 benoitg 19 * 2005-03-31 Benoit Gr �goire <bock@step.polymtl.ca>25 * 2005-03-31 Benoit Grégoire <bock@step.polymtl.ca> 20 26 * * Remove spaces after php blocks in various files. 21 27 * * Temporarely fix single authentication source not present bug in login smarty template. All other places where we select the network will be fixed tommorow. … … 23 29 * 24 30 * Revision 1.26 2005/03/31 18:35:23 benoitg 25 * 2005-03-31 Benoit Gr �goire <bock@step.polymtl.ca>31 * 2005-03-31 Benoit Grégoire <bock@step.polymtl.ca> 26 32 * * More RADIUS install documentation. 27 33 * * Fix schema_validate.php … … 137 143 /**< Set this to true if your server has SSL available, otherwise, passwords will be transmitted in clear text over the air */ 138 144 define('SSL_AVAILABLE', true); 139 define('HOTSPOT_NETWORK_NAME', ' �le sans fil');145 define('HOTSPOT_NETWORK_NAME', 'Île sans fil'); 140 146 define('HOTSPOT_NETWORK_URL', 'http://www.ilesansfil.org/'); 141 147 define('TECH_SUPPORT_EMAIL', 'tech@ilesansfil.org'); … … 198 204 $AUTH_SOURCE_ARRAY[IDRC_ACCOUNT_ORIGIN]=array( 199 205 'name'=>"IDRC RADIUS Server", 200 'authenticator'=>new AuthenticatorRadius(IDRC_ACCOUNT_ORIGIN, " localhost", 1812, 1813, "secret_key", "CHAP_MD5"));206 'authenticator'=>new AuthenticatorRadius(IDRC_ACCOUNT_ORIGIN, "192.168.0.11", 1812, 1813, "secret_key", "CHAP_MD5")); 201 207 */ 202 208 -
trunk/wifidog-auth/wifidog/include/schema_validate.php
r528 r530 1 1 <?php 2 3 2 4 /********************************************************************\ 3 5 * This program is free software; you can redistribute it and/or * … … 21 23 /**@file schema_validate.php 22 24 * Network status page 23 * @author Copyright (C) 2004 Benoit Gr �goire25 * @author Copyright (C) 2004 Benoit Grégoire 24 26 */ 25 27 error_reporting(E_ALL); … … 27 29 require_once BASEPATH.'classes/AbstractDb.php'; 28 30 require_once BASEPATH.'classes/Session.php'; 29 define('REQUIRED_SCHEMA_VERSION', 3);31 define('REQUIRED_SCHEMA_VERSION', 5); 30 32 31 33 /** Check that the database schema is up to date. If it isn't, offer to update it. */ 32 34 function validate_schema() 33 35 { 34 global $db;36 global $db; 35 37 36 $db -> ExecSqlUniqueRes ("SELECT * FROM schema_info WHERE tag='schema_version'", $row, false); 37 if(empty($row)) 38 { 39 echo "<html><head><h1>"._("Unable to retrieve schema version. The database schema is too old to be updated.")."</h1></html></head>"; 40 exit(); 41 } 42 else if($row['value']<REQUIRED_SCHEMA_VERSION) 43 { 44 if(!empty($_REQUEST['schema_update_confirm']) && $_REQUEST['schema_update_confirm']=='on') 38 check_users_not_empty(); 39 $db->ExecSqlUniqueRes("SELECT * FROM schema_info WHERE tag='schema_version'", $row, false); 40 if (empty ($row)) 45 41 { 46 update_schema(); 42 echo "<html><head><h1>"._("Unable to retrieve schema version. The database schema is too old to be updated.")."</h1></html></head>"; 43 exit (); 47 44 } 48 else 49 { 50 echo "<html><head><h1>"; 51 echo _("The database schema is not up to date. Do you want to try to update it? This operation is irreversible."); 52 echo "</h1><form name='login_form' method='get'>\n"; 53 echo "<input type='submit' name='submit' value='"._("Try to update database schema")."'>\n"; 54 echo _("Yes, I am sure:")."<input type='checkbox' name='schema_update_confirm'>\n"; 55 echo "</form>\n"; 56 echo "</html></head>"; 57 exit(); 58 } 59 } 60 else 61 { 62 //echo "<html><head><h1>The database schema is up to date.</h1></html></head>"; 63 //exit(); 64 } 45 else 46 if ($row['value'] < REQUIRED_SCHEMA_VERSION) 47 { 48 if (!empty ($_REQUEST['schema_update_confirm']) && $_REQUEST['schema_update_confirm'] == 'on') 49 { 50 update_schema(); 51 } 52 else 53 { 54 echo "<html><head><h1>"; 55 echo _("The database schema is not up to date. Do you want to try to update it? This operation is irreversible."); 56 echo "</h1><form name='login_form' method='get'>\n"; 57 echo "<input type='submit' name='submit' value='"._("Try to update database schema")."'>\n"; 58 echo _("Yes, I am sure:")."<input type='checkbox' name='schema_update_confirm'>\n"; 59 echo "</form>\n"; 60 echo "</html></head>"; 61 exit (); 62 } 63 } 64 else 65 { 66 //echo "<html><head><h1>The database schema is up to date.</h1></html></head>"; 67 //exit(); 68 } 65 69 } 66 70 67 /** Try to bring the database schema up to date. */ 68 function update_schema() { 71 /** 72 * Auto create an administrator user with the first authenticator available 73 */ 74 function check_users_not_empty() 75 { 76 // Extract the first account origin, assume it's the default 77 global $AUTH_SOURCE_ARRAY; 78 if (!empty ($AUTH_SOURCE_ARRAY)) 79 { 80 $default_account_origin = array_values(array_keys($AUTH_SOURCE_ARRAY)); 81 $default_account_origin = $default_account_origin[0]; 82 } 83 84 if (!empty ($default_account_origin)) 85 { 86 global $db; 87 $db->ExecSqlUniqueRes("SELECT user_id FROM users WHERE account_origin = '$default_account_origin' LIMIT 1", $row, false); 88 if ($row == null) 89 { 90 echo "<html><head><h1>"; 91 echo _("No user matches the default account origin, a new user admin/admin will be created. Change the password as soon as possible !"); 92 echo "</html></head>"; 93 $sql = "BEGIN;"; 94 $sql .= "INSERT INTO users (user_id, username, pass, email, account_status, validation_token, account_origin) VALUES ('admin_original_user_delete_me', 'admin', 'ISMvKXpXpadDiUoOSoAfww==', 'test_user_please@delete.me', 1, 'df16cc4b1d0975e267f3425eaac31950', '$default_account_origin');"; 95 $sql .= "INSERT INTO administrators (user_id) VALUES ('admin_original_user_delete_me');"; 96 $sql .= "COMMIT;"; 97 $db->ExecSqlUpdate($sql, $row, false); 98 exit; 99 } 100 } 101 else 102 { 103 echo "<html><head><h1>"; 104 echo _("Could not get a default account origin, make sure you config.php has at least one AUTH_SOURCE_ARRAY entry."); 105 echo "</html></head>"; 106 exit (); 107 } 108 } /** Try to bring the database schema up to date. */ 109 function update_schema() 110 { 69 111 global $db; 70 112 echo "<html><head><h1>\n"; … … 72 114 echo "</h1>\n"; 73 115 $db->ExecSqlUniqueRes("SELECT * FROM schema_info WHERE tag='schema_version'", $row, false); 74 75 if (empty ($row)){116 if (empty ($row)) 117 { 76 118 echo "<h1>"._("Unable to retrieve schema version. The database schema is too old to be updated.")."</h1>"; 77 119 exit (); 78 } else { 120 } 121 else 122 { 79 123 $schema_version = $row['value']; 80 124 $sql = ''; 81 if ($schema_version < 2) { 125 if ($schema_version < 2) 126 { 82 127 $new_schema_version = 2; 83 128 echo "<h2>Preparing SQL statements to update schema to version $new_schema_version</h2>"; … … 86 131 $sql .= "ALTER TABLE users ADD COLUMN account_origin text;\n"; 87 132 $db->ExecSql("SELECT user_id FROM users", $results, false); 88 foreach ($results as $row) { 133 foreach ($results as $row) 134 { 89 135 $user_id = $db->EscapeString($row['user_id']); 90 136 $sql .= "UPDATE users SET username='$user_id', user_id='".get_guid()."', account_origin='".LOCAL_USER_ACCOUNT_ORIGIN."' WHERE user_id='$user_id';\n"; … … 92 138 $sql .= "CREATE UNIQUE INDEX idx_unique_username_and_account_origin ON users (username, account_origin);\n"; 93 139 $sql .= "CREATE UNIQUE INDEX idx_unique_email_and_account_origin ON users USING btree (email, account_origin);\n"; 94 } else 95 if ($schema_version < 3) { 140 } 141 else 142 if ($schema_version < 3) 143 { 96 144 $new_schema_version = 3; 97 145 echo "<h2>Preparing SQL statements to update schema to version $new_schema_version</h2>"; … … 99 147 $sql .= "DROP INDEX idx_unique_email_and_account_origin;\n"; 100 148 $sql .= "ALTER TABLE users DROP CONSTRAINT check_email_not_empty;\n"; 101 } 149 } // $db -> ExecSqlUpdate("BEGIN;\n$sql\nROLLBACK;\n", true); 150 102 151 else 103 if ($schema_version < 4) { 152 if ($schema_version < 4) 153 { 104 154 $new_schema_version = 4; 105 155 echo "<h2>Preparing SQL statements to update schema to version $new_schema_version</h2>"; … … 108 158 $sql .= "ALTER TABLE users ADD CONSTRAINT check_account_origin_not_empty CHECK (account_origin::text <> ''::text);\n"; 109 159 } 110 111 // $db -> ExecSqlUpdate("BEGIN;\n$sql\nROLLBACK;\n", true); 160 else 161 if ($schema_version < 5) 162 { 163 $new_schema_version = 5; 164 echo "<h1>Recoding database from ISO-8859-1 to UTF-8</h1>"; 165 echo "<h1>YOU MUST EXECUTE THESE COMMANDS IN COMMAND_LINE</h1>"; 166 echo "pg_dump wifidog - U wifidog > wifidog_dump.sql<br>"; 167 echo "dropdb wifidog - U wifidog <br>"; 168 echo "createdb--encoding = UNICODE--template = template0 - U wifidog wifidog <br>"; 169 echo "psql wifidog - U wifidog < wifidog_dump.sql<br><br>"; 170 echo "THEN use psql to modify to schema_version manually<br><br>"; 171 echo "UPDATE schema_info SET value='$new_schema_version' WHERE tag='schema_version'<p>"; 172 exit; 173 } 112 174 $db->ExecSqlUpdate("BEGIN;\n$sql\nCOMMIT;\n", true); 113 175 echo "</html></head>"; -
trunk/wifidog-auth/wifidog/local_content/default/header.html
r516 r530 2 2 <html> 3 3 <head> 4 <meta http-equiv='Content-Type' content='text/html; charset= iso-8859-1'>4 <meta http-equiv='Content-Type' content='text/html; charset=utf-8'> 5 5 <meta http-equiv='Pragma' CONTENT='no-cache'> 6 6 <meta http-equiv='Expires' CONTENT='-1'> … … 11 11 </head> 12 12 <body> 13 14 <!--portal page EN - $Id$ -->15 13 <div id='head'> 16 14 <h1>{"Welcome! Hotspot:"|_} {$hotspot_name}</h1> -
trunk/wifidog-auth/wifidog/locale/fr/LC_MESSAGES/messages.po
r517 r530 9 9 "Project-Id-Version: PACKAGE VERSION\n" 10 10 "Report-Msgid-Bugs-To: \n" 11 "POT-Creation-Date: 2005-0 3-30 14:54-0500\n"11 "POT-Creation-Date: 2005-04-01 11:23-0500\n" 12 12 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 13 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" … … 18 18 19 19 #: smarty.txt:2 smarty.txt:20 smarty.txt:19 smarty.txt:22 smarty.txt:102 20 #: smarty.txt:103 smarty.txt:100 20 21 msgid "Find more HotSpots" 21 22 msgstr "Trouver plus de points d'accès sans-fil" 22 23 23 24 #: smarty.txt:3 smarty.txt:21 smarty.txt:20 smarty.txt:23 smarty.txt:111 24 #: smarty.txt:103 25 #: smarty.txt:103 smarty.txt:104 smarty.txt:101 25 26 msgid "List of all HotSpots" 26 27 msgstr "Liste de tous les points d'accès sans-fil" 27 28 28 29 #: smarty.txt:4 smarty.txt:22 smarty.txt:21 smarty.txt:24 smarty.txt:104 30 #: smarty.txt:105 smarty.txt:102 29 31 msgid "User management" 30 32 msgstr "Gestion des utilisateurs" 31 33 32 34 #: smarty.txt:5 smarty.txt:23 smarty.txt:22 smarty.txt:25 smarty.txt:105 35 #: smarty.txt:106 smarty.txt:103 33 36 msgid "Create new account" 34 37 msgstr "Créer un nouveau compte" … … 36 39 #: smarty.txt:6 smarty.txt:24 smarty.txt:37 smarty.txt:38 smarty.txt:39 37 40 #: smarty.txt:33 smarty.txt:23 smarty.txt:72 smarty.txt:66 smarty.txt:34 38 #: smarty.txt:26 smarty.txt:73 smarty.txt:91 smarty.txt:106 41 #: smarty.txt:26 smarty.txt:73 smarty.txt:91 smarty.txt:106 smarty.txt:107 42 #: smarty.txt:89 smarty.txt:104 39 43 msgid "Re-send validation email" 40 44 msgstr "Envoyez-moi de nouveau le courriel de validation" … … 42 46 #: smarty.txt:7 smarty.txt:25 smarty.txt:24 smarty.txt:67 smarty.txt:62 43 47 #: smarty.txt:60 smarty.txt:61 smarty.txt:27 smarty.txt:69 smarty.txt:56 44 #: smarty.txt:107 48 #: smarty.txt:107 smarty.txt:108 smarty.txt:54 smarty.txt:105 45 49 msgid "Lost username" 46 50 msgstr "Nom d'utilisateur perdu" … … 48 52 #: smarty.txt:8 smarty.txt:26 smarty.txt:25 smarty.txt:61 smarty.txt:57 49 53 #: smarty.txt:64 smarty.txt:65 smarty.txt:28 smarty.txt:51 smarty.txt:108 54 #: smarty.txt:109 smarty.txt:49 smarty.txt:106 50 55 msgid "Lost password" 51 56 msgstr "Mot de passe perdu" 52 57 53 58 #: smarty.txt:9 smarty.txt:27 smarty.txt:26 smarty.txt:29 smarty.txt:109 59 #: smarty.txt:110 smarty.txt:107 54 60 msgid "Change password" 55 61 msgstr "Changer mon mot de passe" 56 62 57 63 #: smarty.txt:10 smarty.txt:28 smarty.txt:27 smarty.txt:30 smarty.txt:110 64 #: smarty.txt:111 smarty.txt:108 58 65 msgid "Accounts on" 59 66 msgstr "Les comptes sur" 60 67 61 68 #: smarty.txt:11 smarty.txt:29 smarty.txt:28 smarty.txt:31 smarty.txt:111 69 #: smarty.txt:112 smarty.txt:109 62 70 msgid "" 63 71 "are and will remain <emp>totally free</emp>, use the left menu to create a " … … 69 77 70 78 #: smarty.txt:12 smarty.txt:30 smarty.txt:29 smarty.txt:32 smarty.txt:112 79 #: smarty.txt:113 smarty.txt:110 71 80 msgid "Please report any problem or interruption in our service to" 72 81 msgstr "" … … 75 84 76 85 #: smarty.txt:13 smarty.txt:9 smarty.txt:8 smarty.txt:11 smarty.txt:77 86 #: smarty.txt:75 77 87 msgid "Status of all nodes of the" 78 88 msgstr "Statut de tous les noeuds" … … 81 91 #: smarty.txt:133 smarty.txt:120 smarty.txt:146 smarty.txt:12 smarty.txt:123 82 92 #: smarty.txt:151 smarty.txt:129 smarty.txt:157 smarty.txt:78 smarty.txt:117 83 #: smarty.txt:153 93 #: smarty.txt:153 smarty.txt:118 smarty.txt:154 smarty.txt:76 smarty.txt:116 94 #: smarty.txt:152 84 95 msgid "network" 85 96 msgstr "réseau" 86 97 87 98 #: smarty.txt:15 smarty.txt:11 smarty.txt:10 smarty.txt:13 smarty.txt:79 99 #: smarty.txt:77 88 100 msgid "Status" 89 101 msgstr "Statut" … … 92 104 #: smarty.txt:121 smarty.txt:147 smarty.txt:14 smarty.txt:124 smarty.txt:152 93 105 #: smarty.txt:130 smarty.txt:158 smarty.txt:80 smarty.txt:118 smarty.txt:154 106 #: smarty.txt:119 smarty.txt:155 smarty.txt:78 smarty.txt:117 smarty.txt:153 94 107 msgid "Id" 95 108 msgstr "Id" … … 99 112 #: smarty.txt:125 smarty.txt:133 smarty.txt:153 smarty.txt:131 smarty.txt:139 100 113 #: smarty.txt:159 smarty.txt:81 smarty.txt:119 smarty.txt:127 smarty.txt:155 114 #: smarty.txt:120 smarty.txt:128 smarty.txt:156 smarty.txt:79 smarty.txt:118 115 #: smarty.txt:126 smarty.txt:154 101 116 msgid "Name" 102 117 msgstr "Nom" 103 118 104 119 #: smarty.txt:18 smarty.txt:14 smarty.txt:13 smarty.txt:16 smarty.txt:82 120 #: smarty.txt:80 105 121 msgid "Local content demo" 106 122 msgstr "Démo de contenu local" … … 108 124 #: smarty.txt:19 smarty.txt:15 smarty.txt:14 smarty.txt:111 smarty.txt:123 109 125 #: smarty.txt:17 smarty.txt:126 smarty.txt:132 smarty.txt:83 smarty.txt:120 126 #: smarty.txt:121 smarty.txt:81 smarty.txt:119 110 127 msgid "Opened on" 111 128 msgstr "Ouvert le" 112 129 113 130 #: smarty.txt:20 smarty.txt:16 smarty.txt:15 smarty.txt:18 smarty.txt:84 131 #: smarty.txt:82 114 132 msgid "Online users" 115 133 msgstr "Usagers en ligne" 116 134 117 135 #: smarty.txt:21 smarty.txt:17 smarty.txt:16 smarty.txt:19 smarty.txt:85 136 #: smarty.txt:83 118 137 msgid "days" 119 138 msgstr "jours" 120 139 121 140 #: smarty.txt:22 smarty.txt:18 smarty.txt:17 smarty.txt:20 smarty.txt:86 141 #: smarty.txt:84 122 142 msgid "Login page" 123 143 msgstr "Authentification" 124 144 125 145 #: smarty.txt:23 smarty.txt:19 smarty.txt:18 smarty.txt:21 smarty.txt:87 146 #: smarty.txt:85 126 147 msgid "Portal page" 127 148 msgstr "Portail" 128 149 129 150 #: smarty.txt:24 smarty.txt:2 smarty.txt:27 smarty.txt:5 smarty.txt:60 151 #: smarty.txt:58 130 152 msgid "The network currently has" 131 153 msgstr "Le réseau a présentement" 132 154 133 155 #: smarty.txt:25 smarty.txt:3 smarty.txt:28 smarty.txt:6 smarty.txt:61 156 #: smarty.txt:59 134 157 msgid "valid users" 135 158 msgstr "utilisateurs valides" 136 159 137 160 #: smarty.txt:26 smarty.txt:4 smarty.txt:29 smarty.txt:7 smarty.txt:62 161 #: smarty.txt:60 138 162 msgid "user(s) are currently online" 139 163 msgstr "utilisateurs présentement en ligne" 140 164 141 165 #: smarty.txt:27 smarty.txt:5 smarty.txt:30 smarty.txt:8 smarty.txt:63 166 #: smarty.txt:61 142 167 msgid "Deployed HotSpots status with coordinates" 143 168 msgstr "Noeuds sans-fil déployés avec coordonnées" 144 169 145 170 #: smarty.txt:28 smarty.txt:6 smarty.txt:31 smarty.txt:9 smarty.txt:64 171 #: smarty.txt:62 146 172 msgid "Full node technical status (includes non-deployed nodes)" 147 173 msgstr "" … … 154 180 155 181 #: smarty.txt:30 smarty.txt:8 smarty.txt:7 smarty.txt:32 smarty.txt:10 156 #: smarty.txt:65 182 #: smarty.txt:65 smarty.txt:63 157 183 msgid "Administration" 158 184 msgstr "" … … 179 205 180 206 #: ../admin/index.php:36 smarty.txt:98 smarty.txt:110 smarty.txt:112 181 #: smarty.txt:118 smarty.txt:144 207 #: smarty.txt:118 smarty.txt:144 smarty.txt:145 smarty.txt:143 182 208 msgid "" 183 209 "For now, you need to be logged in at a hotspot or to fake a login from one " … … 227 253 #: smarty.txt:46 smarty.txt:53 smarty.txt:54 smarty.txt:59 smarty.txt:76 228 254 #: smarty.txt:70 smarty.txt:95 smarty.txt:107 smarty.txt:110 smarty.txt:116 229 #: smarty.txt:114 255 #: smarty.txt:114 smarty.txt:115 smarty.txt:113 230 256 msgid "Online at this hotspot" 231 257 msgstr "En ligne à ce point d'accès sans-fil" … … 234 260 #: smarty.txt:47 smarty.txt:54 smarty.txt:55 smarty.txt:60 smarty.txt:77 235 261 #: smarty.txt:71 smarty.txt:96 smarty.txt:108 smarty.txt:111 smarty.txt:117 236 #: smarty.txt:115 262 #: smarty.txt:115 smarty.txt:116 smarty.txt:114 237 263 msgid "Go to the site I originally requested" 238 264 msgstr "Aller au site web que j'ai demandé" … … 243 269 244 270 #: smarty.txt:31 smarty.txt:30 smarty.txt:33 smarty.txt:36 smarty.txt:26 245 #: smarty.txt:88 271 #: smarty.txt:88 smarty.txt:86 246 272 msgid "Language" 247 273 msgstr "Langue" … … 250 276 #: smarty.txt:44 smarty.txt:36 smarty.txt:51 smarty.txt:52 smarty.txt:41 251 277 #: smarty.txt:57 smarty.txt:35 smarty.txt:78 smarty.txt:45 smarty.txt:88 252 #: smarty.txt:89 smarty.txt:85 smarty.txt:31 278 #: smarty.txt:89 smarty.txt:85 smarty.txt:31 smarty.txt:30 253 279 msgid "Username (or email)" 254 280 msgstr "Utilisateur (ou courriel)" … … 258 284 #: smarty.txt:42 smarty.txt:58 smarty.txt:36 smarty.txt:46 smarty.txt:79 259 285 #: smarty.txt:55 smarty.txt:89 smarty.txt:56 smarty.txt:90 smarty.txt:86 260 #: smarty.txt:32 smarty.txt:98 286 #: smarty.txt:32 smarty.txt:98 smarty.txt:99 smarty.txt:31 smarty.txt:96 261 287 msgid "Password" 262 288 msgstr "Mot de passe" … … 350 376 #: smarty.txt:35 smarty.txt:36 smarty.txt:38 smarty.txt:43 smarty.txt:37 351 377 #: smarty.txt:47 smarty.txt:90 smarty.txt:91 smarty.txt:87 smarty.txt:33 352 #: smarty.txt:46 378 #: smarty.txt:46 smarty.txt:32 smarty.txt:44 353 379 msgid "Login" 354 380 msgstr "Ouvrir une session" … … 397 423 398 424 #: smarty.txt:34 smarty.txt:39 smarty.txt:33 smarty.txt:43 smarty.txt:86 399 #: smarty.txt:87 smarty.txt:83 smarty.txt:28 smarty.txt:41 425 #: smarty.txt:87 smarty.txt:83 smarty.txt:28 smarty.txt:41 smarty.txt:40 400 426 msgid "Please log-in or" 401 427 msgstr "Ouvrez une session ou" … … 406 432 407 433 #: smarty.txt:39 smarty.txt:44 smarty.txt:38 smarty.txt:48 smarty.txt:91 408 #: smarty.txt:92 smarty.txt:88 smarty.txt:34 smarty.txt:47 434 #: smarty.txt:92 smarty.txt:88 smarty.txt:34 smarty.txt:47 smarty.txt:33 435 #: smarty.txt:45 409 436 msgid "I already have an account, but" 410 437 msgstr "J'ai déjà un compte, mais" 411 438 412 439 #: smarty.txt:40 smarty.txt:45 smarty.txt:39 smarty.txt:49 smarty.txt:92 413 #: smarty.txt:93 smarty.txt:89 smarty.txt:35 smarty.txt:48 440 #: smarty.txt:93 smarty.txt:89 smarty.txt:35 smarty.txt:48 smarty.txt:34 441 #: smarty.txt:46 414 442 msgid "I Forgot my username" 415 443 msgstr "J'ai oublié mon nom d'utilisateur" 416 444 417 445 #: smarty.txt:41 smarty.txt:46 smarty.txt:40 smarty.txt:50 smarty.txt:93 418 #: smarty.txt:94 smarty.txt:90 smarty.txt:36 smarty.txt:49 446 #: smarty.txt:94 smarty.txt:90 smarty.txt:36 smarty.txt:49 smarty.txt:35 447 #: smarty.txt:47 419 448 msgid "I Forgot my password" 420 449 msgstr "J'ai oublié mon mot de passe" 421 450 422 451 #: smarty.txt:42 smarty.txt:47 smarty.txt:41 smarty.txt:51 smarty.txt:94 423 #: smarty.txt:95 smarty.txt:91 smarty.txt:37 smarty.txt:50 452 #: smarty.txt:95 smarty.txt:91 smarty.txt:37 smarty.txt:50 smarty.txt:36 453 #: smarty.txt:48 424 454 msgid "Re-send the validation email" 425 455 msgstr "Envoyez-moi de nouveau le courriel de validation" 426 456 427 457 #: smarty.txt:44 smarty.txt:49 smarty.txt:43 smarty.txt:42 smarty.txt:52 428 #: smarty.txt:53 smarty.txt:95 458 #: smarty.txt:53 smarty.txt:95 smarty.txt:93 429 459 msgid "Register a free account with" 430 460 msgstr "Ouvrir un compte gratuit avec" 431 461 432 462 #: smarty.txt:45 smarty.txt:50 smarty.txt:44 smarty.txt:43 smarty.txt:53 433 #: smarty.txt:54 smarty.txt:96 463 #: smarty.txt:54 smarty.txt:96 smarty.txt:97 smarty.txt:94 434 464 msgid "Username desired" 435 465 msgstr "Nom d'utilisateur désiré" … … 438 468 #: smarty.txt:44 smarty.txt:59 smarty.txt:54 smarty.txt:61 smarty.txt:66 439 469 #: smarty.txt:55 smarty.txt:62 smarty.txt:67 smarty.txt:70 smarty.txt:53 440 #: smarty.txt:57 smarty.txt:97 470 #: smarty.txt:57 smarty.txt:97 smarty.txt:98 smarty.txt:95 441 471 msgid "Your email address" 442 472 msgstr "Votre courriel" 443 473 444 474 #: smarty.txt:48 smarty.txt:53 smarty.txt:47 smarty.txt:46 smarty.txt:56 445 #: smarty.txt:57 smarty.txt:99 475 #: smarty.txt:57 smarty.txt:99 smarty.txt:100 smarty.txt:97 446 476 msgid "Password (again)" 447 477 msgstr "Mot de passe (encore)" 448 478 449 479 #: smarty.txt:49 smarty.txt:54 smarty.txt:48 smarty.txt:47 smarty.txt:57 450 #: smarty.txt:58 smarty.txt:100 480 #: smarty.txt:58 smarty.txt:100 smarty.txt:101 smarty.txt:98 451 481 msgid "Sign-up" 452 482 msgstr "Souscrire" 453 483 454 484 #: smarty.txt:50 smarty.txt:55 smarty.txt:49 smarty.txt:48 smarty.txt:58 455 #: smarty.txt:59 smarty.txt:101 485 #: smarty.txt:59 smarty.txt:101 smarty.txt:102 smarty.txt:99 456 486 msgid "" 457 487 "Your email address must be valid in order for your account to be activated" … … 476 506 #: ../include/mgmt_helpers.php:39 ../classes/User.php:157 477 507 #: ../classes/User.php:167 ../classes/User.php:365 ../classes/User.php:367 508 #: ../classes/User.php:387 ../classes/User.php:386 478 509 msgid "The user is not in validation period." 479 510 msgstr "L'utilisateur n'est pas en période de validation." … … 482 513 #: ../include/mgmt_helpers.php:42 ../classes/User.php:160 483 514 #: ../classes/User.php:170 ../classes/User.php:371 ../classes/User.php:373 515 #: ../classes/User.php:393 ../classes/User.php:392 484 516 msgid "The validation token is empty." 485 517 msgstr "Le jeton de validation est vide." … … 487 519 #: ../signup.php:66 ../include/validation.php:32 488 520 #: ../include/mgmt_helpers.php:58 ../signup.php:85 ../signup.php:90 521 #: ../signup.php:99 ../signup.php:102 489 522 msgid "" 490 523 "An email with confirmation instructions was sent to your email address. " … … 501 534 502 535 #: ../signup.php:80 ../signup.php:43 ../signup.php:33 ../signup.php:38 536 #: ../signup.php:41 503 537 msgid "Username is required." 504 538 msgstr "Le nom d'utilisateur est requis." 505 539 506 540 #: ../signup.php:82 ../signup.php:45 ../signup.php:36 ../signup.php:41 541 #: ../signup.php:44 507 542 msgid "Username contains invalid characters." 508 543 msgstr "Le nom d'utilisateur contient des caractères invalides." 509 544 510 545 #: ../signup.php:84 ../signup.php:47 ../signup.php:41 ../signup.php:46 546 #: ../signup.php:50 511 547 msgid "A valid email address is required." 512 548 msgstr "Une adresse courriel est requise." 513 549 514 #: ../signup.php:86 ../signup.php:49 ../signup.php:44 550 #: ../signup.php:86 ../signup.php:49 ../signup.php:44 ../signup.php:53 515 551 msgid "The email address must be of the form user@domain.com." 516 552 msgstr "" … … 518 554 519 555 #: ../signup.php:88 ../signup.php:51 ../signup.php:49 ../signup.php:54 556 #: ../signup.php:59 520 557 msgid "A password of at least 6 characters is required." 521 558 msgstr "Un mot de passe d'au moins 6 caractères est requis." 522 559 523 560 #: ../signup.php:90 ../signup.php:53 ../signup.php:52 ../signup.php:57 561 #: ../signup.php:62 524 562 msgid "Password contains invalid characters." 525 563 msgstr "Le mot de passe contient des caractères invalides." 526 564 527 #: ../signup.php:92 ../signup.php:55 ../signup.php:60 565 #: ../signup.php:92 ../signup.php:55 ../signup.php:60 ../signup.php:65 528 566 msgid "You must type your password twice." 529 567 msgstr "Vous devez entrer votre mot de passe deux fois pour le confirmer." … … 531 569 #: ../signup.php:94 ../signup.php:57 ../change_password.php:57 532 570 #: ../signup.php:58 ../change_password.php:42 ../signup.php:63 571 #: ../signup.php:68 ../change_password.php:48 533 572 msgid "Passwords do not match." 534 573 msgstr "Les mots de passe ne sont pas identiques." 535 574 536 575 #: ../signup.php:96 ../signup.php:59 ../signup.php:61 ../signup.php:66 576 #: ../signup.php:71 537 577 msgid "Password is too short, it must be 6 characters minimum." 538 578 msgstr "Mot de passe trop court, il doit contenir 6 caractères minimum." 539 579 540 580 #: ../signup.php:105 ../signup.php:68 ../signup.php:78 ../signup.php:83 581 #: ../signup.php:92 ../signup.php:95 541 582 msgid "" 542 583 "Sorry, a user account is already associated to this username. Pick another " … … 620 661 #: smarty.txt:58 smarty.txt:67 smarty.txt:35 smarty.txt:65 smarty.txt:70 621 662 #: smarty.txt:66 smarty.txt:71 smarty.txt:57 smarty.txt:74 smarty.txt:3 622 #: smarty.txt:52 smarty.txt:92 663 #: smarty.txt:52 smarty.txt:92 smarty.txt:90 623 664 msgid "Your username" 624 665 msgstr "Votre nom d'utilisateur" 625 666 626 667 #: smarty.txt:35 smarty.txt:74 smarty.txt:68 smarty.txt:36 smarty.txt:75 627 #: smarty.txt:93 668 #: smarty.txt:93 smarty.txt:91 628 669 msgid "Re-send" 629 670 msgstr "Envoyer de nouveau" 630 671 631 672 #: smarty.txt:36 smarty.txt:75 smarty.txt:69 smarty.txt:37 smarty.txt:76 632 #: smarty.txt:94 673 #: smarty.txt:94 smarty.txt:92 633 674 msgid "" 634 675 "Please enter your username and the validation email will be resent to your " … … 638 679 "sera renvoyé à votre adresse courriel" 639 680 640 #: ../lost_username.php:39 ../lost_username.php:34 681 #: ../lost_username.php:39 ../lost_username.php:34 ../lost_username.php:40 641 682 msgid "Please specify an email address" 642 683 msgstr "Veuillez spécifier une adresse courriel" … … 647 688 648 689 #: ../change_password.php:54 ../change_password.php:46 649 #: ../change_password.php:47 690 #: ../change_password.php:47 ../change_password.php:53 650 691 msgid "Wrong password." 651 692 msgstr "Mauvais mot de passe." 652 693 653 694 #: ../change_password.php:62 ../change_password.php:49 654 #: ../change_password.php:50 695 #: ../change_password.php:50 ../change_password.php:56 655 696 msgid "Your password has been changed succesfully." 656 697 msgstr "" … … 666 707 667 708 #: ../include/mgmt_helpers.php:87 ../lost_username.php:38 668 #: ../lost_username.php:41 709 #: ../lost_username.php:41 ../lost_username.php:48 669 710 msgid "Your username has been emailed to you." 670 711 msgstr "Votre nom d'utilisateur vous a été envoyé." … … 675 716 676 717 #: ../include/mgmt_helpers.php:120 ../lost_password.php:42 677 #: ../lost_password.php:51 718 #: ../lost_password.php:51 ../lost_password.php:55 678 719 msgid "A new password has been emailed to you." 679 720 msgstr "Un nouveau mot de passe vous à été envoyé." … … 716 757 717 758 #: smarty.txt:64 smarty.txt:60 smarty.txt:67 smarty.txt:68 smarty.txt:54 759 #: smarty.txt:52 718 760 msgid "Reset my password" 719 761 msgstr "Réinitialiser mon mot de passe" 720 762 721 763 #: smarty.txt:65 smarty.txt:61 smarty.txt:68 smarty.txt:69 smarty.txt:55 764 #: smarty.txt:53 722 765 msgid "Please enter your username or email address to reset your password" 723 766 msgstr "" … … 726 769 727 770 #: smarty.txt:69 smarty.txt:64 smarty.txt:62 smarty.txt:63 smarty.txt:71 728 #: smarty.txt:58 771 #: smarty.txt:58 smarty.txt:56 729 772 msgid "Retrieve" 730 773 msgstr "Rechercher" 731 774 732 775 #: smarty.txt:70 smarty.txt:65 smarty.txt:63 smarty.txt:64 smarty.txt:72 733 #: smarty.txt:59 776 #: smarty.txt:59 smarty.txt:57 734 777 msgid "Please enter your email address to recover your username" 735 778 msgstr "" … … 742 785 743 786 #: smarty.txt:32 smarty.txt:42 smarty.txt:38 smarty.txt:109 smarty.txt:114 744 #: smarty.txt:115 smarty.txt:27 smarty.txt:113 787 #: smarty.txt:115 smarty.txt:27 smarty.txt:113 smarty.txt:112 745 788 msgid "Welcome! Hotspot:" 746 789 msgstr "Bienvenue! Noeud sans-fil:" … … 750 793 msgstr "serveur d'authentification" 751 794 752 #: ../signup.php:81 ../signup.php:86 795 #: ../signup.php:81 ../signup.php:86 ../signup.php:95 ../signup.php:98 753 796 msgid "Sorry, a user account is already associated to this email address." 754 797 msgstr "" … … 757 800 758 801 #: ../resend_validation.php:38 ../resend_validation.php:41 802 #: ../resend_validation.php:48 759 803 msgid "An email with confirmation instructions was sent to your email address." 760 804 msgstr "" … … 806 850 807 851 #: ../classes/User.php:110 ../classes/User.php:114 ../classes/User.php:325 852 #: ../classes/User.php:345 ../classes/User.php:344 808 853 msgid "Could not change user's password." 809 854 msgstr "Impossible de changer le mot de passe de l'utilisateur" 810 855 811 856 #: ../classes/User.php:120 ../classes/User.php:130 ../classes/User.php:239 857 #: ../classes/User.php:259 ../classes/User.php:257 812 858 msgid "Could not update status." 813 859 msgstr "Impossible de mettre à jour le statut." 814 860 815 861 #: ../classes/User.php:132 ../classes/User.php:142 ../classes/User.php:346 862 #: ../classes/User.php:366 ../classes/User.php:365 816 863 msgid "No users could not be found in the database" 817 864 msgstr "" … … 826 873 msgid "The id $node_id_str could not be found in the database" 827 874 msgstr "" 828 "L'identifiant $node_id_str n'a pu �re trouvé dans la base de "875 "L'identifiant $node_id_str n'a pu ُ؟�re trouvé dans la base de " 829 876 "données" 830 877 … … 853 900 msgstr "Connexion ?" 854 901 855 #: smarty.txt:38 smarty.txt:92 smarty.txt:73 902 #: smarty.txt:38 smarty.txt:92 smarty.txt:73 smarty.txt:71 856 903 msgid "Hotspot" 857 904 msgstr "Point d'accès" 858 905 859 #: smarty.txt:39 smarty.txt:93 smarty.txt:74 906 #: smarty.txt:39 smarty.txt:93 smarty.txt:74 smarty.txt:72 860 907 msgid "is unknown to this authentication server." 861 908 msgstr "est inconnu de ce serveur d'authentification." 862 909 863 #: smarty.txt:40 smarty.txt:94 smarty.txt:75 910 #: smarty.txt:40 smarty.txt:94 smarty.txt:75 smarty.txt:73 864 911 msgid "No Hotspot specified!" 865 912 msgstr "Aucun point d'accès spécifié!" 866 913 867 914 #: smarty.txt:41 smarty.txt:95 smarty.txt:107 smarty.txt:21 smarty.txt:76 915 #: smarty.txt:74 868 916 msgid "Please get in touch with " 869 917 msgstr "Veuillez contacter " 870 918 871 #: smarty.txt:77 smarty.txt:78 smarty.txt:33 smarty.txt:66 919 #: smarty.txt:77 smarty.txt:78 smarty.txt:33 smarty.txt:66 smarty.txt:64 872 920 msgid "" 873 921 "You have now been granted 15 minutes of Internet access without being " … … 877 925 "minutes pour que vous puissiez aller valider votre compte." 878 926 879 #: smarty.txt:78 smarty.txt:79 smarty.txt:34 smarty.txt:67 927 #: smarty.txt:78 smarty.txt:79 smarty.txt:34 smarty.txt:67 smarty.txt:65 880 928 msgid "" 881 929 "If you fail to validate your account in 15 minutes, you will have to " … … 885 933 "depuis un autre endroit." 886 934 887 #: smarty.txt:79 smarty.txt:80 smarty.txt:35 smarty.txt:68 935 #: smarty.txt:79 smarty.txt:80 smarty.txt:35 smarty.txt:68 smarty.txt:66 888 936 msgid "" 889 937 "If you do not receive an email from our validation server in the next " … … 895 943 "votre adresse de courriel. Vous pourriez devoir créer un autre compte." 896 944 897 #: smarty.txt:80 smarty.txt:81 smarty.txt:77 smarty.txt:69 945 #: smarty.txt:80 smarty.txt:81 smarty.txt:77 smarty.txt:69 smarty.txt:67 898 946 msgid "No message has been specified! (this is probably an error)" 899 947 msgstr "" … … 901 949 "probablement une erreur)" 902 950 903 #: smarty.txt:81 smarty.txt:82 smarty.txt:78 smarty.txt:70 951 #: smarty.txt:81 smarty.txt:82 smarty.txt:78 smarty.txt:70 smarty.txt:68 904 952 msgid "Access denied!" 905 953 msgstr "Accès refusé!" 906 954 907 #: smarty.txt:82 smarty.txt:83 smarty.txt:79 smarty.txt:71 955 #: smarty.txt:82 smarty.txt:83 smarty.txt:79 smarty.txt:71 smarty.txt:69 908 956 msgid "You have failed to validate your account in 15 minutes." 909 957 msgstr "" … … 911 959 "15 minutes requises." 912 960 913 #: smarty.txt:83 smarty.txt:84 smarty.txt:80 smarty.txt:72 961 #: smarty.txt:83 smarty.txt:84 smarty.txt:80 smarty.txt:72 smarty.txt:70 914 962 msgid "Please validate your account from somewhere else or create a new one." 915 963 msgstr "" … … 917 965 "nouveau." 918 966 919 #: smarty.txt:84 smarty.txt:85 smarty.txt:81 smarty.txt:39 967 #: smarty.txt:84 smarty.txt:85 smarty.txt:81 smarty.txt:39 smarty.txt:38 920 968 msgid "Welcome!" 921 969 msgstr "Bienvenue!" 922 970 923 #: smarty.txt:85 smarty.txt:86 smarty.txt:82 smarty.txt:40 971 #: smarty.txt:85 smarty.txt:86 smarty.txt:82 smarty.txt:40 smarty.txt:39 924 972 msgid "" 925 973 "This is the 'virtual login' page you can use to get the credentials which " … … 931 979 "vous rendre dans un point d'accès." 932 980 933 #: smarty.txt:87 smarty.txt:88 smarty.txt:84 smarty.txt:42 981 #: smarty.txt:87 smarty.txt:88 smarty.txt:84 smarty.txt:42 smarty.txt:41 934 982 msgid "sign-up." 935 983 msgstr "créer un compte" 936 984 937 985 #: smarty.txt:97 smarty.txt:109 smarty.txt:120 smarty.txt:126 smarty.txt:158 986 #: smarty.txt:159 smarty.txt:157 938 987 msgid "new users" 939 988 msgstr "nouveaux utilisateurs" 940 989 941 990 #: smarty.txt:99 smarty.txt:111 smarty.txt:113 smarty.txt:119 smarty.txt:145 991 #: smarty.txt:146 smarty.txt:144 942 992 msgid "User logs" 943 993 msgstr "Logs des utilisateurs" 944 994 945 995 #: smarty.txt:100 smarty.txt:112 smarty.txt:114 smarty.txt:108 smarty.txt:120 946 #: smarty.txt:146 996 #: smarty.txt:146 smarty.txt:147 smarty.txt:145 947 997 msgid "Online Users" 948 998 msgstr "Usagers en ligne" 949 999 950 1000 #: smarty.txt:101 smarty.txt:113 smarty.txt:115 smarty.txt:121 smarty.txt:147 1001 #: smarty.txt:148 smarty.txt:146 951 1002 msgid "Cumulative user statistics" 952 1003 msgstr "Statistiques cumulatives des utilisateurs" 953 1004 954 1005 #: smarty.txt:102 smarty.txt:114 smarty.txt:116 smarty.txt:122 smarty.txt:148 1006 #: smarty.txt:149 smarty.txt:147 955 1007 msgid "Hotspot logs" 956 1008 msgstr "Logs des noeuds" 957 1009 958 1010 #: smarty.txt:103 smarty.txt:115 smarty.txt:117 smarty.txt:123 smarty.txt:149 1011 #: smarty.txt:150 smarty.txt:148 959 1012 msgid "Import NoCat user database" 960 1013 msgstr "Importer la base d'utilisateur NoCat" 961 1014 962 1015 #: smarty.txt:104 smarty.txt:116 smarty.txt:118 smarty.txt:124 smarty.txt:150 1016 #: smarty.txt:151 smarty.txt:149 963 1017 msgid "Hotspot creation and configuration" 964 1018 msgstr "Création et configuration d'un point d'accès" 965 1019 966 1020 #: smarty.txt:105 smarty.txt:117 smarty.txt:119 smarty.txt:125 smarty.txt:151 1021 #: smarty.txt:152 smarty.txt:150 967 1022 msgid "Hotspot owner administration" 968 1023 msgstr "Administrateur du propriétaire de point d'accès" 969 1024 970 1025 #: smarty.txt:106 smarty.txt:118 smarty.txt:121 smarty.txt:127 smarty.txt:157 1026 #: smarty.txt:158 smarty.txt:156 971 1027 msgid "Sort" 972 1028 msgstr "Trier" … … 974 1030 #: smarty.txt:107 smarty.txt:127 smarty.txt:132 smarty.txt:119 smarty.txt:145 975 1031 #: smarty.txt:122 smarty.txt:150 smarty.txt:128 smarty.txt:156 smarty.txt:116 976 #: smarty.txt:152 1032 #: smarty.txt:152 smarty.txt:117 smarty.txt:153 smarty.txt:115 smarty.txt:151 977 1033 msgid "Configurations of all nodes of the" 978 1034 msgstr "Configuration de tous les noeuds de" … … 981 1037 #: smarty.txt:149 smarty.txt:127 smarty.txt:146 smarty.txt:154 smarty.txt:133 982 1038 #: smarty.txt:152 smarty.txt:160 smarty.txt:121 smarty.txt:140 smarty.txt:156 1039 #: smarty.txt:122 smarty.txt:157 smarty.txt:120 smarty.txt:139 smarty.txt:155 983 1040 msgid "Action" 984 1041 msgstr "Action" 985 1042 986 1043 #: smarty.txt:113 smarty.txt:125 smarty.txt:128 smarty.txt:134 smarty.txt:122 1044 #: smarty.txt:123 smarty.txt:121 987 1045 msgid "Edit" 988 1046 msgstr "Modifier" 989 1047 990 1048 #: smarty.txt:114 smarty.txt:126 smarty.txt:129 smarty.txt:135 smarty.txt:123 1049 #: smarty.txt:124 smarty.txt:122 991 1050 msgid "Owner" 992 1051 msgstr "Propriétaire" 993 1052 994 1053 #: smarty.txt:115 smarty.txt:127 smarty.txt:130 smarty.txt:136 smarty.txt:124 1054 #: smarty.txt:125 smarty.txt:123 995 1055 msgid "Delete" 996 1056 msgstr "Supprimer" 997 1057 998 1058 #: smarty.txt:116 smarty.txt:128 smarty.txt:131 smarty.txt:137 smarty.txt:125 1059 #: smarty.txt:126 smarty.txt:124 999 1060 msgid "Add a new node" 1000 1061 msgstr "Ajouter un nouveau noeud" 1001 1062 1002 1063 #: smarty.txt:118 smarty.txt:131 smarty.txt:134 smarty.txt:140 smarty.txt:128 1064 #: smarty.txt:129 smarty.txt:127 1003 1065 msgid "RSS URL" 1004 1066 msgstr "Adresse URL du fil RSS" 1005 1067 1006 1068 #: smarty.txt:119 smarty.txt:132 smarty.txt:135 smarty.txt:141 smarty.txt:129 1069 #: smarty.txt:130 smarty.txt:128 1007 1070 msgid "Homepage URL" 1008 1071 msgstr "Adresse URL de la page d'accueil" 1009 1072 1010 1073 #: smarty.txt:120 smarty.txt:133 smarty.txt:136 smarty.txt:142 smarty.txt:130 1074 #: smarty.txt:131 smarty.txt:129 1011 1075 msgid "Description" 1012 1076 msgstr "Description" 1013 1077 1014 1078 #: smarty.txt:121 smarty.txt:134 smarty.txt:137 smarty.txt:143 smarty.txt:131 1079 #: smarty.txt:132 smarty.txt:130 1015 1080 msgid "Map URL" 1016 1081 msgstr "Adresse URL de la carte" 1017 1082 1018 1083 #: smarty.txt:122 smarty.txt:135 smarty.txt:138 smarty.txt:144 smarty.txt:132 1084 #: smarty.txt:133 smarty.txt:131 1019 1085 msgid "Street address" 1020 1086 msgstr "Adresse" 1021 1087 1022 1088 #: smarty.txt:123 smarty.txt:136 smarty.txt:139 smarty.txt:145 smarty.txt:133 1089 #: smarty.txt:134 smarty.txt:132 1023 1090 msgid "Public phone number" 1024 1091 msgstr "Numéro de téléphone" 1025 1092 1026 1093 #: smarty.txt:124 smarty.txt:137 smarty.txt:140 smarty.txt:146 smarty.txt:134 1094 #: smarty.txt:135 smarty.txt:133 1027 1095 msgid "Public email" 1028 1096 msgstr "Courriel" 1029 1097 1030 1098 #: smarty.txt:125 smarty.txt:138 smarty.txt:141 smarty.txt:147 smarty.txt:135 1099 #: smarty.txt:136 smarty.txt:134 1031 1100 msgid "Mass transit info" 1032 1101 msgstr "Information sur transport en commun" 1033 1102 1034 1103 #: smarty.txt:126 smarty.txt:139 smarty.txt:142 smarty.txt:148 smarty.txt:136 1104 #: smarty.txt:137 smarty.txt:135 1035 1105 msgid "Node deployment status" 1036 1106 msgstr "Statut de déploiement du point d'accès" 1037 1107 1038 1108 #: smarty.txt:129 smarty.txt:143 smarty.txt:148 smarty.txt:154 smarty.txt:142 1109 #: smarty.txt:141 1039 1110 msgid "User ID" 1040 1111 msgstr "Nom d'utilisateur" … … 1048 1119 msgstr "Modifier un point d'accès" 1049 1120 1050 #: ../login/index.php:46 ../classes/User.php:262 1121 #: ../login/index.php:46 ../classes/User.php:262 ../classes/User.php:282 1122 #: ../classes/User.php:281 1051 1123 msgid "Sorry, your " 1052 1124 msgstr "Désolé, votre période de validation de " 1053 1125 1054 #: ../login/index.php:46 ../classes/User.php:262 1126 #: ../login/index.php:46 ../classes/User.php:262 ../classes/User.php:282 1127 #: ../classes/User.php:281 1055 1128 msgid "" 1056 1129 " minutes grace period to retrieve your email and validate your account has " … … 1063 1136 "compte. Pour de l'aide, veuillez " 1064 1137 1065 #: ../login/index.php:46 ../classes/User.php:262 1138 #: ../login/index.php:46 ../classes/User.php:262 ../classes/User.php:282 1139 #: ../classes/User.php:281 1066 1140 msgid "click here." 1067 1141 msgstr "cliquer ici." 1068 1142 1069 #: smarty.txt:52 smarty.txt:48 smarty.txt:38 1143 #: smarty.txt:52 smarty.txt:48 smarty.txt:38 smarty.txt:37 1070 1144 msgid "I have trouble connecting and I would like some help" 1071 1145 msgstr "" … … 1160 1234 "aurez un accès complet gratuit à l'Internet" 1161 1235 1162 #: smarty.txt:129 smarty.txt:132 smarty.txt:138 smarty.txt:126 1236 #: smarty.txt:129 smarty.txt:132 smarty.txt:138 smarty.txt:126 smarty.txt:127 1237 #: smarty.txt:125 1163 1238 msgid "ID" 1164 1239 msgstr "" 1165 1240 1166 #: smarty.txt:140 smarty.txt:145 smarty.txt:151 smarty.txt:139 1241 #: smarty.txt:140 smarty.txt:145 smarty.txt:151 smarty.txt:139 smarty.txt:138 1167 1242 msgid "Administrators" 1168 1243 msgstr "Administrateurs" 1169 1244 1170 #: smarty.txt:142 smarty.txt:147 smarty.txt:153 smarty.txt:141 1245 #: smarty.txt:142 smarty.txt:147 smarty.txt:153 smarty.txt:141 smarty.txt:140 1171 1246 msgid "Give a user rights to administer this node" 1172 1247 msgstr "Donner à un utilisateur accès d'administrer ce noeud" 1173 1248 1174 #: smarty.txt:144 smarty.txt:149 smarty.txt:155 smarty.txt:143 1249 #: smarty.txt:144 smarty.txt:149 smarty.txt:155 smarty.txt:143 smarty.txt:142 1175 1250 msgid "Add" 1176 1251 msgstr "Ajouter" … … 1202 1277 msgstr "" 1203 1278 1204 #: smarty.txt:143 smarty.txt:149 smarty.txt:137 1279 #: smarty.txt:143 smarty.txt:149 smarty.txt:137 smarty.txt:138 smarty.txt:136 1205 1280 msgid "Add new node" 1206 1281 msgstr "Ajouter un nouveau noeud" 1207 1282 1208 #: smarty.txt:144 smarty.txt:150 smarty.txt:138 1283 #: smarty.txt:144 smarty.txt:150 smarty.txt:138 smarty.txt:139 smarty.txt:137 1209 1284 msgid "Update node" 1210 1285 msgstr "Mettre à jour le noeud" … … 1216 1291 "données" 1217 1292 1218 #: ../change_password.php:36 1293 #: ../change_password.php:36 ../change_password.php:39 1219 1294 msgid "You MUST fill in all the fields." 1220 1295 msgstr "Vous DEVEZ remplir tous les champs" … … 1316 1391 msgstr "Canal: " 1317 1392 1318 #: smarty.txt:109 smarty.txt:90 1393 #: smarty.txt:109 smarty.txt:90 smarty.txt:88 1319 1394 msgid "Username" 1320 1395 msgstr "Nom d'usager" … … 1337 1412 #: ../classes/AuthenticatorRadius.php:168 1338 1413 #: ../classes/AuthenticatorRadius.php:185 1414 #: ../classes/AuthenticatorRadius.php:166 1415 #: ../classes/AuthenticatorRadius.php:183 1339 1416 msgid "Login successfull" 1340 1417 msgstr "Session démarré correctement" … … 1342 1419 #: ../classes/AuthenticatorRadius.php:95 1343 1420 #: ../classes/AuthenticatorRadius.php:106 1421 #: ../classes/AuthenticatorRadius.php:104 1344 1422 msgid "Invalid RADIUS encryption method." 1345 1423 msgstr "Méthode d'encryption RADIUS invalide." … … 1347 1425 #: ../classes/AuthenticatorRadius.php:130 1348 1426 #: ../classes/AuthenticatorRadius.php:141 1427 #: ../classes/AuthenticatorRadius.php:139 1349 1428 msgid "Could not initiate PEAR RADIUS Auth class : " 1350 1429 msgstr "Le système n'a pu initialiser la classe PEAR RADIUS." … … 1352 1431 #: ../classes/AuthenticatorRadius.php:139 1353 1432 #: ../classes/AuthenticatorRadius.php:150 1433 #: ../classes/AuthenticatorRadius.php:148 1354 1434 msgid "Failed to send authentication request to the RADIUS server. : " 1355 1435 msgstr "" … … 1358 1438 #: ../classes/AuthenticatorRadius.php:180 1359 1439 #: ../classes/AuthenticatorRadius.php:191 1440 #: ../classes/AuthenticatorRadius.php:189 1360 1441 msgid "The RADIUS server rejected this username/password combination." 1361 1442 msgstr "" … … 1366 1447 msgstr "La combinaison nom d'usager / mot de passe est invalide." 1367 1448 1368 #: ../classes/User.php:267 1449 #: ../classes/User.php:267 ../classes/User.php:287 ../classes/User.php:286 1369 1450 msgid "Your account is currently valid." 1370 1451 msgstr "Votre compte est actuellement valide." 1371 1452 1372 #: ../classes/User.php:273 1453 #: ../classes/User.php:273 ../classes/User.php:293 ../classes/User.php:292 1373 1454 msgid "Sorry, your account is not valid: " 1374 1455 msgstr "Désolé, votre compte n'est pas valide." 1375 1456 1376 1457 #: ../include/schema_validate.php:38 ../include/schema_validate.php:77 1458 #: ../include/schema_validate.php:40 ../include/schema_validate.php:39 1459 #: ../include/schema_validate.php:76 1377 1460 msgid "" 1378 1461 "Unable to retrieve schema version. The database schema is too old to be " … … 1383 1466 "jour." 1384 1467 1385 #: ../include/schema_validate.php:50 1468 #: ../include/schema_validate.php:50 ../include/schema_validate.php:52 1469 #: ../include/schema_validate.php:51 1386 1470 msgid "" 1387 1471 "The database schema is not up to date. Do you want to try to update it? " … … 1392 1476 "être annulée." 1393 1477 1394 #: ../include/schema_validate.php:52 1478 #: ../include/schema_validate.php:52 ../include/schema_validate.php:54 1479 #: ../include/schema_validate.php:53 1395 1480 msgid "Try to update database schema" 1396 1481 msgstr "" 1397 1482 "Tenter de mettre à jour le schéma de la base de données." 1398 1483 1399 #: ../include/schema_validate.php:53 1484 #: ../include/schema_validate.php:53 ../include/schema_validate.php:55 1485 #: ../include/schema_validate.php:54 1400 1486 msgid "Yes, I am sure:" 1401 1487 msgstr "Oui, je suis certain:" 1402 1488 1403 #: ../include/schema_validate.php:71 1489 #: ../include/schema_validate.php:71 ../include/schema_validate.php:72 1404 1490 msgid "Trying to update the database schema." 1405 1491 msgstr "" … … 1411 1497 msgstr "Veuillez entrer un nom d'usager et un mot de passe" 1412 1498 1413 #: smarty.txt:30 smarty.txt:43 1499 #: smarty.txt:30 smarty.txt:43 smarty.txt:96 smarty.txt:111 1414 1500 msgid "Network" 1415 1501 msgstr "Réseau" 1416 1502 1417 #: smarty.txt:89 1503 #: smarty.txt:89 smarty.txt:87 1418 1504 msgid "Users Online" 1419 1505 msgstr "Usagers en ligne" 1420 1506 1421 #: ../classes/User.php:358 1422 msgid "" 1423 "Hello,<br>You have requested that the authentication server send you your " 1424 "username:<br>Username: " 1425 msgstr "" 1426 "Bonjour,<br>Vous avez demandé au système de vous envoyer votre " 1427 "nom d'utilisateur:<br>Nom d'utilisateur: " 1428 1429 #: ../classes/User.php:358 ../classes/User.php:401 1430 msgid "<br><br>Have a nice day,<br>The Team" 1431 msgstr "<br><br>Bonne journée,<br>L'équipe" 1432 1433 #: ../classes/User.php:382 1434 msgid "Hello,<br>Please follow the link below to validate your account.<br>" 1435 msgstr "" 1436 "Bonjour,<br>Veuillez cliquer sur le lien ci-dessous pour compléter " 1437 "votre enregistrement.<br>" 1438 1439 #: ../classes/User.php:382 1440 msgid "<br><br>Thank you,<br>The Team." 1441 msgstr "<br><br>Merci,<br>L'équipe." 1442 1443 #: ../classes/User.php:401 1444 msgid "" 1445 "Hello,<br>You have requested that the authentication server send you a new " 1446 "password:<br>Username: " 1447 msgstr "" 1448 "Bonjour,<br>Vous avez demandé au système de vous envoyer un " 1449 "nouveau mot de passe. <br>Nom d'utilisateur: " 1450 1451 #: ../config.php:111 1507 #: ../classes/User.php:358 ../classes/User.php:378 ../classes/User.php:377 1508 msgid "" 1509 "Hello,\n" 1510 "You have requested that the authentication server send you your username:\n" 1511 "Username: " 1512 msgstr "" 1513 "Bonjour,\n" 1514 "Vous avez demandé au système de vous envoyer votre nom d'utilisateur:\n" 1515 "Nom d'utilisateur: " 1516 1517 #: ../classes/User.php:358 ../classes/User.php:401 ../classes/User.php:378 1518 #: ../classes/User.php:421 ../classes/User.php:377 ../classes/User.php:420 1519 msgid "" 1520 "\n" 1521 "\n" 1522 "Have a nice day,\n" 1523 "The Team" 1524 msgstr "" 1525 "\n" 1526 "\n" 1527 "Bonne journée, de la part de tout l'équipe" 1528 1529 #: ../classes/User.php:382 ../classes/User.php:402 ../classes/User.php:401 1530 msgid "" 1531 "Hello,\n" 1532 "Please follow the link below to validate your account.\n" 1533 msgstr "" 1534 "Bonjour,\n" 1535 "Veuillez cliquer sur le lien ci-dessous pour compléter votre " 1536 "enregistrement.\n" 1537 1538 #: ../classes/User.php:382 ../classes/User.php:402 ../classes/User.php:401 1539 msgid "" 1540 "\n" 1541 "\n" 1542 "Thank you,\n" 1543 "The Team." 1544 msgstr "" 1545 "\n" 1546 "\n" 1547 "Merci, de la part de tout l'équipe" 1548 1549 #: ../classes/User.php:401 ../classes/User.php:421 ../classes/User.php:420 1550 msgid "" 1551 "Hello,\n" 1552 "You have requested that the authentication server send you a new password:\n" 1553 "Username: " 1554 msgstr "" 1555 "Bonjour,\n" 1556 "Vous avez demandé au système de vous envoyer un nouveau mot de passe. \n" 1557 "Nom d'utilisateur: " 1558 1559 #: ../config.php:111 ../classes/User.php:380 ../classes/User.php:400 1560 #: ../classes/User.php:399 1452 1561 msgid " new user validation" 1453 1562 msgstr " validation de l'enregistrement" 1454 1563 1455 #: ../config.php:113 1564 #: ../config.php:113 ../classes/User.php:400 ../classes/User.php:420 1565 #: ../classes/User.php:419 1456 1566 msgid " new password request" 1457 1567 msgstr " demande de changement de mot de passe" 1458 1568 1459 #: ../config.php:114 1569 #: ../config.php:114 ../classes/User.php:357 ../classes/User.php:377 1570 #: ../classes/User.php:376 1460 1571 msgid " lost username request" 1461 1572 msgstr " demande de nom d'utilisateur perdu" 1462 1573 1463 #: ../classes/User.php:401 1464 msgid "<br>Password: " 1465 msgstr "<br>Mot de passe: " 1574 #: ../classes/User.php:401 ../classes/User.php:421 ../classes/User.php:420 1575 msgid "" 1576 "\n" 1577 "Password: " 1578 msgstr "" 1579 "\n" 1580 "Mot de passe: " 1581 1582 #: ../change_password.php:45 ../lost_password.php:42 ../lost_username.php:37 1583 #: ../resend_validation.php:40 ../signup.php:88 1584 msgid "Sorry, this network does not exist !" 1585 msgstr "Désolé ce réseau n'existe pas !" 1586 1587 #: ../lost_password.php:53 1588 msgid "This username or email could not be found in our database" 1589 msgstr "" 1590 "Ce nom d'utilisateur ou courriel n'a pu être trouvé dans notre base de " 1591 "données." 1592 1593 #: ../lost_username.php:45 1594 msgid "This email could not be found in our database" 1595 msgstr "Ce courriel n'a pu être trouvé dans notre base de données." 1596 1597 #: ../resend_validation.php:45 1598 msgid "This username could not be found in our database" 1599 msgstr "Ce nom d'utilisateur n'a pu être trouvé dans notre base de données." -
trunk/wifidog-auth/wifidog/login/index.php
r517 r530 23 23 /**@file 24 24 * Login page 25 * @author Copyright (C) 2004 Benoit Gr �goire et Philippe April25 * @author Copyright (C) 2004 Benoit Grégoire et Philippe April 26 26 */ 27 27 define('BASEPATH', '../'); … … 63 63 isset ($AUTH_SOURCE_ARRAY) && $smarty->assign('auth_sources', $AUTH_SOURCE_ARRAY); 64 64 // Pass the account_origin along, if it's set 65 isset ($_REQUEST["auth_source"]) && $smarty->assign(' auth_source', $_REQUEST["auth_source"]);65 isset ($_REQUEST["auth_source"]) && $smarty->assign('selected_auth_source', $_REQUEST["auth_source"]); 66 66 67 67 if (isset ($_REQUEST['gw_id'])) { -
trunk/wifidog-auth/wifidog/lost_password.php
r517 r530 22 22 /**@file 23 23 * Login page 24 * @author Copyright (C) 2004 Benoit Gr �goire et Philippe April24 * @author Copyright (C) 2004 Benoit Grégoire et Philippe April 25 25 */ 26 26 define('BASEPATH','./'); … … 35 35 $username = $db->EscapeString($_REQUEST['username']); 36 36 $email = $db->EscapeString($_REQUEST['email']); 37 // If the source is present and that it's in our AUTH_SOURCE_ARRAY, save it to a var for later use 38 $_REQUEST['auth_source'] && in_array($_REQUEST['auth_source'], array_keys($AUTH_SOURCE_ARRAY)) && $account_origin = $_REQUEST['auth_source']; 37 39 38 40 try { 41 if(empty($account_origin)) 42 throw new Exception(_("Sorry, this network does not exist !")); 43 39 44 // Get a list of users associated with either a username of an e-mail 40 $username && $user s_list = User::getUsersByUsername($username);41 $email && $user s_list = User::getUsersByEmail($email);45 $username && $user = User::getUserByUsernameAndOrigin($username, $account_origin); 46 $email && $user = User::getUserByEmailAndOrigin($email, $account_origin); 42 47 43 48 // In the case that both previous function calls failed to return a users list 44 49 // Throw an exception 45 if(!empty($users_list)) 46 foreach($users_list as $user) 47 $user->sendLostPasswordEmail(); 50 if($user != null) 51 $user->sendLostPasswordEmail(); 48 52 else 49 throw new Exception(_(" user_id '{$object_id_str}' could not be found in thedatabase"));53 throw new Exception(_("This username or email could not be found in our database")); 50 54 51 55 $smarty->assign('message', _('A new password has been emailed to you.')); … … 58 62 } 59 63 64 // Add the auth servers list to smarty variables 65 $sources = array (); 66 // Preserve keys 67 foreach (array_keys($AUTH_SOURCE_ARRAY) as $auth_source_key) 68 if ($AUTH_SOURCE_ARRAY[$auth_source_key]['authenticator']->isRegistrationPermitted()) 69 $sources[$auth_source_key] = $AUTH_SOURCE_ARRAY[$auth_source_key]; 70 71 isset ($sources) && $smarty->assign('auth_sources', $sources); 72 // Pass the account_origin along, if it's set 73 isset ($_REQUEST["auth_source"]) && $smarty->assign('selected_auth_source', $_REQUEST["auth_source"]); 74 60 75 $smarty->display("templates/lost_password.html"); 61 76 ?> -
trunk/wifidog-auth/wifidog/lost_username.php
r517 r530 22 22 /**@file 23 23 * Login page 24 * @author Copyright (C) 2004 Benoit Gr �goire et Philippe April24 * @author Copyright (C) 2004 Benoit Grégoire et Philippe April 25 25 */ 26 26 define('BASEPATH','./'); … … 30 30 31 31 if (isset($_REQUEST["submit"])) { 32 // If the source is present and that it's in our AUTH_SOURCE_ARRAY, save it to a var for later use 33 $_REQUEST['auth_source'] && in_array($_REQUEST['auth_source'], array_keys($AUTH_SOURCE_ARRAY)) && $account_origin = $_REQUEST['auth_source']; 34 32 35 try { 36 if(empty($account_origin)) 37 throw new Exception(_("Sorry, this network does not exist !")); 38 33 39 if (!$_REQUEST["email"]) 34 40 throw new Exception(_("Please specify an email address")); 35 41 36 42 // Get a list of User objects and send mail messages to them. 37 $users_list = User::getUsersByEmail($_REQUEST['email']); 38 foreach($users_list as $user) 39 $user->sendLostUsername(); 43 $user = User::getUserByEmailAndOrigin($_REQUEST['email'], $account_origin); 44 if($user == null) 45 throw new Exception(_("This email could not be found in our database")); 46 $user->sendLostUsername(); 40 47 41 48 $smarty->assign("message", _("Your username has been emailed to you.")); … … 47 54 } 48 55 56 // Add the auth servers list to smarty variables 57 $sources = array (); 58 // Preserve keys 59 foreach (array_keys($AUTH_SOURCE_ARRAY) as $auth_source_key) 60 if ($AUTH_SOURCE_ARRAY[$auth_source_key]['authenticator']->isRegistrationPermitted()) 61 $sources[$auth_source_key] = $AUTH_SOURCE_ARRAY[$auth_source_key]; 62 63 isset ($sources) && $smarty->assign('auth_sources', $sources); 64 // Pass the account_origin along, if it's set 65 isset ($_REQUEST["auth_source"]) && $smarty->assign('selected_auth_source', $_REQUEST["auth_source"]); 66 49 67 $smarty->display("templates/lost_username.html"); 50 68 ?> -
trunk/wifidog-auth/wifidog/resend_validation.php
r517 r530 22 22 /**@file 23 23 * Login page 24 * @author Copyright (C) 2004 Benoit Gr �goire et Philippe April24 * @author Copyright (C) 2004 Benoit Grégoire et Philippe April 25 25 */ 26 26 define('BASEPATH','./'); … … 33 33 $smarty->assign("error", _("Please specify a username")); 34 34 } else { 35 // If the source is present and that it's in our AUTH_SOURCE_ARRAY, save it to a var for later use 36 $_REQUEST['auth_source'] && in_array($_REQUEST['auth_source'], array_keys($AUTH_SOURCE_ARRAY)) && $account_origin = $_REQUEST['auth_source']; 37 35 38 try { 39 if(empty($account_origin)) 40 throw new Exception(_("Sorry, this network does not exist !")); 41 36 42 // Get a list of users with this username 37 $users_list = User::getUsersByUsername($_REQUEST['username']); 38 foreach($users_list as $user) 39 $user->sendValidationEmail(); 43 $user = User::getUserByUsernameAndOrigin($_REQUEST['username'], $account_origin); 44 if($user == null) 45 throw new Exception(_("This username could not be found in our database")); 46 $user->sendValidationEmail(); 40 47 41 48 $smarty->assign('message', _("An email with confirmation instructions was sent to your email address.")); … … 48 55 } 49 56 57 // Add the auth servers list to smarty variables 58 $sources = array (); 59 // Preserve keys 60 foreach (array_keys($AUTH_SOURCE_ARRAY) as $auth_source_key) 61 if ($AUTH_SOURCE_ARRAY[$auth_source_key]['authenticator']->isRegistrationPermitted()) 62 $sources[$auth_source_key] = $AUTH_SOURCE_ARRAY[$auth_source_key]; 63 64 isset ($sources) && $smarty->assign('auth_sources', $sources); 65 // Pass the account_origin along, if it's set 66 isset ($_REQUEST["auth_source"]) && $smarty->assign('selected_auth_source', $_REQUEST["auth_source"]); 67 50 68 $smarty->display("templates/resend_validation.html"); 51 69 ?> -
trunk/wifidog-auth/wifidog/signup.php
r516 r530 1 1 <?php 2 // $Id$ 3 /********************************************************************\ 4 * This program is free software; you can redistribute it and/or * 5 * modify it under the terms of the GNU General Public License as * 6 * published by the Free Software Foundation; either version 2 of * 7 * the License, or (at your option) any later version. * 8 * * 9 * This program is distributed in the hope that it will be useful, * 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 12 * GNU General Public License for more details. * 13 * * 14 * You should have received a copy of the GNU General Public License* 15 * along with this program; if not, contact: * 16 * * 17 * Free Software Foundation Voice: +1-617-542-5942 * 18 * 59 Temple Place - Suite 330 Fax: +1-617-542-2652 * 19 * Boston, MA 02111-1307, USA gnu@gnu.org * 20 * * 21 \********************************************************************/ 22 /**@file 23 * Login page 24 * @author Copyright (C) 2004 Benoit Gr�goire et Philippe April 25 */ 26 define('BASEPATH','./'); 2 3 // $Id$ 4 /********************************************************************\ 5 * This program is free software; you can redistribute it and/or * 6 * modify it under the terms of the GNU General Public License as * 7 * published by the Free Software Foundation; either version 2 of * 8 * the License, or (at your option) any later version. * 9 * * 10 * This program is distributed in the hope that it will be useful, * 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 * GNU General Public License for more details. * 14 * * 15 * You should have received a copy of the GNU General Public License* 16 * along with this program; if not, contact: * 17 * * 18 * Free Software Foundation Voice: +1-617-542-5942 * 19 * 59 Temple Place - Suite 330 Fax: +1-617-542-2652 * 20 * Boston, MA 02111-1307, USA gnu@gnu.org * 21 * * 22 \********************************************************************/ 23 /**@file 24 * Login page 25 * @author Copyright (C) 2004 Benoit Grégoire et Philippe April 26 */ 27 define('BASEPATH', './'); 27 28 require_once BASEPATH.'include/common.php'; 28 29 require_once BASEPATH.'include/common_interface.php'; 29 30 require_once BASEPATH.'classes/User.php'; 30 31 31 if(defined("CUSTOM_SIGNUP_URL")){ 32 if (defined("CUSTOM_SIGNUP_URL")) 33 { 32 34 header("Location: ".CUSTOM_SIGNUP_URL."?gw=".base64_encode($_SERVER['REQUEST_URI'])); 33 exit; 35 exit; 34 36 } 35 37 36 function validate_username($username) { 37 if (!isset($username) || !$username) 38 throw new Exception(_('Username is required.')); 38 function validate_username($username) 39 { 40 if (!isset ($username) || !$username) 41 throw new Exception(_('Username is required.')); 39 42 40 if (!ereg("^[0-9a-zA-Z_]*$", $username))41 throw new Exception(_('Username contains invalid characters.'));43 if (!ereg("^[0-9a-zA-Z_]*$", $username)) 44 throw new Exception(_('Username contains invalid characters.')); 42 45 } 43 46 44 function validate_email($email) { 45 if (!isset($email) || !$email) 46 throw new Exception(_("A valid email address is required.")); 47 function validate_email($email) 48 { 49 if (!isset ($email) || !$email) 50 throw new Exception(_("A valid email address is required.")); 47 51 48 if (!ereg("^.*@.*\..*$", $email))49 throw new Exception(_("The email address must be of the form user@domain.com."));52 if (!ereg("^.*@.*\..*$", $email)) 53 throw new Exception(_("The email address must be of the form user@domain.com.")); 50 54 } 51 55 52 function validate_passwords($password, $password_again) { 53 if (!isset($password) || !$password) 54 throw new Exception(_("A password of at least 6 characters is required.")); 56 function validate_passwords($password, $password_again) 57 { 58 if (!isset ($password) || !$password) 59 throw new Exception(_("A password of at least 6 characters is required.")); 55 60 56 if (!ereg("^[0-9a-zA-Z]*$", $password))57 throw new Exception(_("Password contains invalid characters."));61 if (!ereg("^[0-9a-zA-Z]*$", $password)) 62 throw new Exception(_("Password contains invalid characters.")); 58 63 59 if (!isset($password_again))60 throw new Exception(_("You must type your password twice."));64 if (!isset ($password_again)) 65 throw new Exception(_("You must type your password twice.")); 61 66 62 if ($password != $password_again)63 throw new Exception(_("Passwords do not match."));67 if ($password != $password_again) 68 throw new Exception(_("Passwords do not match.")); 64 69 65 if (strlen($password) < 6)66 throw new Exception(_("Password is too short, it must be 6 characters minimum."));70 if (strlen($password) < 6) 71 throw new Exception(_("Password is too short, it must be 6 characters minimum.")); 67 72 } 68 73 69 if (isset($_REQUEST["submit"])) { 70 $username = trim($_REQUEST['username']); 71 $email = trim($_REQUEST['email']); 72 $password = trim($_REQUEST['password']); 73 $password_again = trim($_REQUEST['password_again']); 74 $smarty->assign('username', $username); 75 $smarty->assign('email', $email); 74 if (isset ($_REQUEST["submit"])) 75 { 76 $username = trim($_REQUEST['username']); 77 $email = trim($_REQUEST['email']); 78 $password = trim($_REQUEST['password']); 79 $password_again = trim($_REQUEST['password_again']); 80 $smarty->assign('username', $username); 81 $smarty->assign('email', $email); 82 // If the source is present and that it's in our AUTH_SOURCE_ARRAY, save it to a var for later use 83 $_REQUEST['auth_source'] && in_array($_REQUEST['auth_source'], array_keys($AUTH_SOURCE_ARRAY)) && $account_origin = $_REQUEST['auth_source']; 76 84 77 try { 78 validate_username($username); 79 validate_email($email); 80 validate_passwords($password, $password_again); 85 try 86 { 87 if(empty($account_origin)) 88 throw new Exception(_("Sorry, this network does not exist !")); 89 90 validate_username($username); 91 validate_email($email); 92 validate_passwords($password, $password_again); 81 93 82 if (User::UserExists($username))83 throw new Exception(_("Sorry, a user account is already associated to this username. Pick another one."));94 if (User :: getUserByUsernameAndOrigin($username, $account_origin)) 95 throw new Exception(_("Sorry, a user account is already associated to this username. Pick another one.")); 84 96 85 if (User::EmailExists($email))86 throw new Exception(_("Sorry, a user account is already associated to this email address."));97 if (User :: getUserByEmailAndOrigin($email, $account_origin)) 98 throw new Exception(_("Sorry, a user account is already associated to this email address.")); 87 99 88 $user = User::CreateUser(get_guid(), $username, LOCAL_USER_ACCOUNT_ORIGIN, $email, $password); 89 $user->sendValidationEmail(); 90 $smarty->assign('message', _('An email with confirmation instructions was sent to your email address. Your account has been granted 15 minutes of access to retrieve your email and validate your account. You may now open a browser window and go to any remote Internet address to obtain the login page.')); 91 $smarty->display("templates/validate.html"); 92 exit; 93 } catch (Exception $e) { 94 $smarty->assign('error', $e->getMessage()); 95 } 100 $user = User :: CreateUser(get_guid(), $username, $account_origin, $email, $password); 101 $user->sendValidationEmail(); 102 $smarty->assign('message', _('An email with confirmation instructions was sent to your email address. Your account has been granted 15 minutes of access to retrieve your email and validate your account. You may now open a browser window and go to any remote Internet address to obtain the login page.')); 103 $smarty->display("templates/validate.html"); 104 exit; 105 } 106 catch (Exception $e) 107 { 108 $smarty->assign('error', $e->getMessage()); 109 } 96 110 } 111 112 // Add the auth servers list to smarty variables 113 $sources = array (); 114 // Preserve keys 115 foreach (array_keys($AUTH_SOURCE_ARRAY) as $auth_source_key) 116 if ($AUTH_SOURCE_ARRAY[$auth_source_key]['authenticator']->isRegistrationPermitted()) 117 $sources[$auth_source_key] = $AUTH_SOURCE_ARRAY[$auth_source_key]; 118 119 isset ($sources) && $smarty->assign('auth_sources', $sources); 120 // Pass the account_origin along, if it's set 121 isset ($_REQUEST["auth_source"]) && $smarty->assign('selected_auth_source', $_REQUEST["auth_source"]); 97 122 98 123 $smarty->display("templates/signup.html"); 99 124 ?> 125 -
trunk/wifidog-auth/wifidog/templates/change_password.html
r366 r530 5 5 <form name="form" method="post"> 6 6 <table> 7 {include file="templates/auth_sources_selection.html"} 7 8 <tr> 8 9 <td>{"Your username"|_}:</td> -
trunk/wifidog-auth/wifidog/templates/header.html
r402 r530 2 2 <html> 3 3 <head> 4 <meta http-equiv='Content-Type' content='text/html; charset= iso-8859-1'>4 <meta http-equiv='Content-Type' content='text/html; charset=utf-8'> 5 5 <meta http-equiv='Pragma' CONTENT='no-cache'> 6 6 <meta http-equiv='Expires' CONTENT='-1'> -
trunk/wifidog-auth/wifidog/templates/header_small.html
r415 r530 2 2 <html> 3 3 <head> 4 <meta http-equiv='Content-Type' content='text/html; charset= iso-8859-1'>4 <meta http-equiv='Content-Type' content='text/html; charset=utf-8'> 5 5 <meta http-equiv='Pragma' CONTENT='no-cache'> 6 6 <meta http-equiv='Expires' CONTENT='-1'> -
trunk/wifidog-auth/wifidog/templates/login.html
r523 r530 11 11 <input type="hidden" name="gw_id" value="{$gw_id}"> 12 12 <table> 13 14 <tr> 15 <td>{"Network"|_}:</td> 16 <td> 17 <select name="auth_source"> 18 {foreach key=key item=source from=$auth_sources} 19 {if $auth_source == $key} 20 <option SELECTED label="{$source.name}" value="{$key}">{$source.name}</option> 21 {else} 22 <option label="{$source.name}" value="{$key}">{$source.name}</option> 23 {/if} 24 {/foreach} 25 </select> 26 </td> 27 </tr> 28 13 {include file="templates/auth_sources_selection.html"} 29 14 <tr> 30 15 <td>{"Username (or email)"|_}:</td> -
trunk/wifidog-auth/wifidog/templates/login_virtual.html
r523 r530 9 9 <form name="login_form" method="post"> 10 10 <table> 11 12 <tr> 13 <td>{"Network"|_}:</td> 14 <td> 15 <select name="auth_source"> 16 {foreach key=key item=source from=$auth_sources} 17 {if $auth_source == $key} 18 <option SELECTED label="{$source.name}" value="{$key}">{$source.name}</option> 19 {else} 20 <option label="{$source.name}" value="{$key}">{$source.name}</option> 21 {/if} 22 {/foreach} 23 </select> 24 </td> 25 </tr> 26 11 {include file="templates/auth_sources_selection.html"} 27 12 <tr> 28 13 <td>{"Username (or email)"|_}:</td> -
trunk/wifidog-auth/wifidog/templates/lost_password.html
r366 r530 5 5 <form name="form" method="post"> 6 6 <table> 7 {include file="templates/auth_sources_selection.html"} 7 8 <tr> 8 9 <td>{"Your username"|_}:</td> -
trunk/wifidog-auth/wifidog/templates/lost_username.html
r366 r530 5 5 <form name="form" method="post"> 6 6 <table> 7 {include file="templates/auth_sources_selection.html"} 7 8 <tr> 8 9 <td>{"Your email address"|_}:</td> -
trunk/wifidog-auth/wifidog/templates/resend_validation.html
r366 r530 5 5 <form name="form"> 6 6 <table> 7 {include file="templates/auth_sources_selection.html"} 7 8 <tr> 8 9 <td>{"Your username"|_}:</td> -
trunk/wifidog-auth/wifidog/templates/signup.html
r387 r530 5 5 <form name="signup_form" method="post"> 6 6 <table> 7 {include file="templates/auth_sources_selection.html"} 7 8 <tr> 8 9 <td>{"Username desired"|_}:</td>
