@@ -28,13 +28,13 @@ |
||
| 28 | 28 | echo "---------------\n"; |
| 29 | 29 | $boincToken = BoincToken::lookup_valid_token(0, $token, 'T'); |
| 30 | 30 | if ( $boincToken != null ) { |
| 31 | - echo "Found valid token\n"; |
|
| 31 | + echo "Found valid token\n"; |
|
| 32 | 32 | } |
| 33 | 33 | |
| 34 | 34 | echo "---------------\n"; |
| 35 | 35 | $boincToken = BoincToken::lookup_valid_token(0, 'notrealtoken', 'T'); |
| 36 | 36 | if ( $boincToken == null ) { |
| 37 | - echo "Successfully didn't find invalid token\n"; |
|
| 37 | + echo "Successfully didn't find invalid token\n"; |
|
| 38 | 38 | } |
| 39 | 39 | |
| 40 | 40 | echo "---------------\n"; |
@@ -25,6 +25,10 @@ discard block |
||
| 25 | 25 | // Constants for token durations |
| 26 | 26 | define("TOKEN_DURATION_ONE_DAY", 86400); |
| 27 | 27 | |
| 28 | +/** |
|
| 29 | + * @param string $type |
|
| 30 | + * @param integer $duration |
|
| 31 | + */ |
|
| 28 | 32 | function create_token($userid, $type, $duration) { |
| 29 | 33 | $token = random_string(); |
| 30 | 34 | $now = time(); |
@@ -37,6 +41,9 @@ discard block |
||
| 37 | 41 | return $token; |
| 38 | 42 | } |
| 39 | 43 | |
| 44 | +/** |
|
| 45 | + * @param string $type |
|
| 46 | + */ |
|
| 40 | 47 | function is_valid_token($userid, $token, $type) { |
| 41 | 48 | $boincToken = BoincToken::lookup_valid_token($userid, $token, $type); |
| 42 | 49 | if ( $boincToken == null ) { |
@@ -32,9 +32,9 @@ |
||
| 32 | 32 | page_head(tra("Delete Account")); |
| 33 | 33 | |
| 34 | 34 | echo "<p>".tra("Thank you for verifying ownership of your account.")."</p>" |
| 35 | - ."<p>".tra("You can now delete your account by entering in your password below and clicking the \"Delete Account\" button.")."</p>" |
|
| 36 | - ."<p>".tra("As a reminder, your account <b>cannot be recovered</b> once you delete it.")."</p>" |
|
| 37 | - ."<br/>"; |
|
| 35 | + ."<p>".tra("You can now delete your account by entering in your password below and clicking the \"Delete Account\" button.")."</p>" |
|
| 36 | + ."<p>".tra("As a reminder, your account <b>cannot be recovered</b> once you delete it.")."</p>" |
|
| 37 | + ."<br/>"; |
|
| 38 | 38 | |
| 39 | 39 | form_start(secure_url_base()."delete_account_confirm.php", "post"); |
| 40 | 40 | form_input_hidden("token",$token); |
@@ -40,6 +40,10 @@ discard block |
||
| 40 | 40 | // 2: only use replica_db_user, only try replica_db_host |
| 41 | 41 | // can be set projectwide using <replica_fallback_mode> |
| 42 | 42 | // |
| 43 | + |
|
| 44 | + /** |
|
| 45 | + * @param boolean $readonly |
|
| 46 | + */ |
|
| 43 | 47 | static function get_aux($readonly, $fallback_mode = 0) { |
| 44 | 48 | $config = get_config(); |
| 45 | 49 | $user = parse_config($config, '<db_user>'); |
@@ -196,6 +200,10 @@ discard block |
||
| 196 | 200 | $db = BoincDb::get(); |
| 197 | 201 | return $db->count('user', $clause); |
| 198 | 202 | } |
| 203 | + |
|
| 204 | + /** |
|
| 205 | + * @param string $field |
|
| 206 | + */ |
|
| 199 | 207 | static function max($field) { |
| 200 | 208 | $db = BoincDb::get(); |
| 201 | 209 | return $db->max('user', $field); |
@@ -208,6 +216,10 @@ discard block |
||
| 208 | 216 | $db = BoincDb::get(); |
| 209 | 217 | return $db->enum('user', 'BoincUser', $where_clause, $order_clause); |
| 210 | 218 | } |
| 219 | + |
|
| 220 | + /** |
|
| 221 | + * @param string $fields |
|
| 222 | + */ |
|
| 211 | 223 | static function enum_fields($fields, $where_clause, $order_clause=null) { |
| 212 | 224 | $db = BoincDb::get(); |
| 213 | 225 | return $db->enum_fields( |
@@ -225,10 +237,19 @@ discard block |
||
| 225 | 237 | $db->delete_aux('profile', "userid=$this->id"); |
| 226 | 238 | return $db->delete($this, 'user'); |
| 227 | 239 | } |
| 240 | + |
|
| 241 | + /** |
|
| 242 | + * @param string $field |
|
| 243 | + */ |
|
| 228 | 244 | static function sum($field) { |
| 229 | 245 | $db = BoincDb::get(); |
| 230 | 246 | return $db->sum('user', $field); |
| 231 | 247 | } |
| 248 | + |
|
| 249 | + /** |
|
| 250 | + * @param string $field |
|
| 251 | + * @param string $clause |
|
| 252 | + */ |
|
| 232 | 253 | static function percentile($field, $clause, $pct) { |
| 233 | 254 | $db = BoincDb::get(); |
| 234 | 255 | return $db->percentile('user', $field, $clause, $pct); |
@@ -237,6 +258,10 @@ discard block |
||
| 237 | 258 | |
| 238 | 259 | class BoincTeam { |
| 239 | 260 | static $cache; |
| 261 | + |
|
| 262 | + /** |
|
| 263 | + * @param string $clause |
|
| 264 | + */ |
|
| 240 | 265 | static function insert($clause) { |
| 241 | 266 | $db = BoincDb::get(); |
| 242 | 267 | $ret = $db->insert('team', $clause); |
@@ -274,14 +299,27 @@ discard block |
||
| 274 | 299 | $db = BoincDb::get(); |
| 275 | 300 | return $db->delete($this, 'team'); |
| 276 | 301 | } |
| 302 | + |
|
| 303 | + /** |
|
| 304 | + * @param string $field |
|
| 305 | + * @param string $clause |
|
| 306 | + */ |
|
| 277 | 307 | static function percentile($field, $clause, $pct) { |
| 278 | 308 | $db = BoincDb::get(); |
| 279 | 309 | return $db->percentile('team', $field, $clause, $pct); |
| 280 | 310 | } |
| 311 | + |
|
| 312 | + /** |
|
| 313 | + * @param string $field |
|
| 314 | + */ |
|
| 281 | 315 | static function max($field) { |
| 282 | 316 | $db = BoincDb::get(); |
| 283 | 317 | return $db->max('team', $field); |
| 284 | 318 | } |
| 319 | + |
|
| 320 | + /** |
|
| 321 | + * @param string $fields |
|
| 322 | + */ |
|
| 285 | 323 | static function enum_fields($fields, $where_clause, $order_clause=null) { |
| 286 | 324 | $db = BoincDb::get(); |
| 287 | 325 | return $db->enum_fields( |
@@ -322,6 +360,12 @@ discard block |
||
| 322 | 360 | $db = BoincDb::get(); |
| 323 | 361 | return $db->enum('host', 'BoincHost', $where_clause, $order_clause); |
| 324 | 362 | } |
| 363 | + |
|
| 364 | + /** |
|
| 365 | + * @param string $fields |
|
| 366 | + * @param string $where_clause |
|
| 367 | + * @param string $order_clause |
|
| 368 | + */ |
|
| 325 | 369 | static function enum_fields($fields, $where_clause, $order_clause=null) { |
| 326 | 370 | $db = BoincDb::get(); |
| 327 | 371 | return $db->enum_fields( |
@@ -358,6 +402,11 @@ discard block |
||
| 358 | 402 | $db = BoincDb::get(); |
| 359 | 403 | return $db->enum('result', 'BoincResult', $where_clause); |
| 360 | 404 | } |
| 405 | + |
|
| 406 | + /** |
|
| 407 | + * @param string $fields |
|
| 408 | + * @param string $where_clause |
|
| 409 | + */ |
|
| 361 | 410 | static function enum_fields($fields, $where_clause, $order_clause) { |
| 362 | 411 | $db = BoincDb::get(); |
| 363 | 412 | return $db->enum_fields('result', 'BoincResult', $fields, $where_clause, $order_clause); |
@@ -412,6 +461,10 @@ discard block |
||
| 412 | 461 | $db = BoincDb::get(); |
| 413 | 462 | return $db->update_aux('workunit', $clause); |
| 414 | 463 | } |
| 464 | + |
|
| 465 | + /** |
|
| 466 | + * @param string $clause |
|
| 467 | + */ |
|
| 415 | 468 | static function count($clause) { |
| 416 | 469 | $db = BoincDb::get(); |
| 417 | 470 | return $db->count('workunit', $clause); |
@@ -427,6 +480,10 @@ discard block |
||
| 427 | 480 | $db = BoincDb::get(); |
| 428 | 481 | return $db->lookup('app', 'BoincApp', $clause); |
| 429 | 482 | } |
| 483 | + |
|
| 484 | + /** |
|
| 485 | + * @param string $where_clause |
|
| 486 | + */ |
|
| 430 | 487 | static function enum($where_clause) { |
| 431 | 488 | $db = BoincDb::get(); |
| 432 | 489 | return $db->enum('app', 'BoincApp', $where_clause); |
@@ -441,6 +498,11 @@ discard block |
||
| 441 | 498 | $db = BoincDb::get(); |
| 442 | 499 | return $db->update($this, 'app', $clause); |
| 443 | 500 | } |
| 501 | + |
|
| 502 | + /** |
|
| 503 | + * @param string $field |
|
| 504 | + * @param string $clause |
|
| 505 | + */ |
|
| 444 | 506 | static function sum($field, $clause=null) { |
| 445 | 507 | $db = BoincDb::get(); |
| 446 | 508 | return $db->sum('app', $field, $clause); |
@@ -473,6 +535,10 @@ discard block |
||
| 473 | 535 | } |
| 474 | 536 | |
| 475 | 537 | class BoincProfile { |
| 538 | + |
|
| 539 | + /** |
|
| 540 | + * @param string $fields |
|
| 541 | + */ |
|
| 476 | 542 | static function lookup_fields($fields, $clause) { |
| 477 | 543 | $db = BoincDb::get(); |
| 478 | 544 | return $db->lookup_fields('profile', 'BoincProfile', $fields, $clause); |
@@ -489,18 +555,37 @@ discard block |
||
| 489 | 555 | $db = BoincDb::get(); |
| 490 | 556 | return $db->update_aux('profile', $clause.' where userid='.$this->userid); |
| 491 | 557 | } |
| 558 | + |
|
| 559 | + /** |
|
| 560 | + * @param string $clause |
|
| 561 | + */ |
|
| 492 | 562 | static function update_aux($clause) { |
| 493 | 563 | $db = BoincDb::get(); |
| 494 | 564 | return $db->update_aux('profile', $clause); |
| 495 | 565 | } |
| 566 | + |
|
| 567 | + /** |
|
| 568 | + * @param string $clause |
|
| 569 | + */ |
|
| 496 | 570 | static function insert($clause) { |
| 497 | 571 | $db = BoincDb::get(); |
| 498 | 572 | return $db->insert('profile', $clause); |
| 499 | 573 | } |
| 574 | + |
|
| 575 | + /** |
|
| 576 | + * @param string $where_clause |
|
| 577 | + * @param string $order_clause |
|
| 578 | + */ |
|
| 500 | 579 | static function enum($where_clause=null, $order_clause=null) { |
| 501 | 580 | $db = BoincDb::get(); |
| 502 | 581 | return $db->enum('profile', 'BoincProfile', $where_clause, $order_clause); |
| 503 | 582 | } |
| 583 | + |
|
| 584 | + /** |
|
| 585 | + * @param string $fields |
|
| 586 | + * @param string $where_clause |
|
| 587 | + * @param string $order_clause |
|
| 588 | + */ |
|
| 504 | 589 | static function enum_fields($fields, $where_clause=null, $order_clause=null) { |
| 505 | 590 | $db = BoincDb::get(); |
| 506 | 591 | return $db->enum_fields('profile', 'BoincProfile', $fields, $where_clause, $order_clause); |
@@ -561,6 +646,10 @@ discard block |
||
| 561 | 646 | $db = BoincDb::get(); |
| 562 | 647 | return $db->delete($this, 'private_messages'); |
| 563 | 648 | } |
| 649 | + |
|
| 650 | + /** |
|
| 651 | + * @param string $clause |
|
| 652 | + */ |
|
| 564 | 653 | static function delete_aux($clause) { |
| 565 | 654 | $db = BoincDb::get(); |
| 566 | 655 | return $db->delete_aux('private_messages', $clause); |
@@ -568,6 +657,10 @@ discard block |
||
| 568 | 657 | } |
| 569 | 658 | |
| 570 | 659 | class BoincPlatform { |
| 660 | + |
|
| 661 | + /** |
|
| 662 | + * @param string $where_clause |
|
| 663 | + */ |
|
| 571 | 664 | static function enum($where_clause) { |
| 572 | 665 | $db = BoincDb::get(); |
| 573 | 666 | return $db->enum('platform', 'BoincPlatform', $where_clause); |
@@ -652,6 +745,10 @@ discard block |
||
| 652 | 745 | } |
| 653 | 746 | |
| 654 | 747 | class BoincBadge { |
| 748 | + |
|
| 749 | + /** |
|
| 750 | + * @param string $where_clause |
|
| 751 | + */ |
|
| 655 | 752 | static function enum($where_clause) { |
| 656 | 753 | $db = BoincDb::get(); |
| 657 | 754 | return $db->enum('badge', 'BoincBadge', $where_clause); |
@@ -747,6 +844,11 @@ discard block |
||
| 747 | 844 | $db = BoincDb::get(); |
| 748 | 845 | return $db->enum('credit_user', 'BoincCreditUser', $where_clause); |
| 749 | 846 | } |
| 847 | + |
|
| 848 | + /** |
|
| 849 | + * @param string $field |
|
| 850 | + * @param string $clause |
|
| 851 | + */ |
|
| 750 | 852 | static function sum($field, $clause) { |
| 751 | 853 | $db = BoincDb::get(); |
| 752 | 854 | return $db->sum('credit_user', $field, $clause); |
@@ -759,6 +861,11 @@ discard block |
||
| 759 | 861 | $db = BoincDb::get(); |
| 760 | 862 | $db->delete_aux('credit_user', "userid=$user->id"); |
| 761 | 863 | } |
| 864 | + |
|
| 865 | + /** |
|
| 866 | + * @param string $order_clause |
|
| 867 | + * @param string $limit |
|
| 868 | + */ |
|
| 762 | 869 | static function get_list($where_clause, $order_clause, $limit) { |
| 763 | 870 | $db = BoincDB::get(); |
| 764 | 871 | return $db->get_list('user', 'credit_user', 'id', 'userid', 'BoincCreditUser', '*', $where_clause, $order_clause, $limit); |
@@ -774,6 +881,11 @@ discard block |
||
| 774 | 881 | $db = BoincDb::get(); |
| 775 | 882 | return $db->enum('credit_team', 'BoincCreditTeam', $where_clause); |
| 776 | 883 | } |
| 884 | + |
|
| 885 | + /** |
|
| 886 | + * @param string $field |
|
| 887 | + * @param string $clause |
|
| 888 | + */ |
|
| 777 | 889 | static function sum($field, $clause) { |
| 778 | 890 | $db = BoincDb::get(); |
| 779 | 891 | return $db->sum('credit_team', $field, $clause); |
@@ -782,6 +894,11 @@ discard block |
||
| 782 | 894 | $db = BoincDb::get(); |
| 783 | 895 | return $db->update_aux('credit_team', $clause); |
| 784 | 896 | } |
| 897 | + |
|
| 898 | + /** |
|
| 899 | + * @param string $order_clause |
|
| 900 | + * @param string $limit |
|
| 901 | + */ |
|
| 785 | 902 | static function get_list($where_clause, $order_clause, $limit) { |
| 786 | 903 | $db = BoincDB::get(); |
| 787 | 904 | return $db->get_list('team', 'credit_team', 'id', 'teamid', 'BoincCreditTeam', '*', $where_clause, $order_clause, $limit); |
@@ -876,6 +993,11 @@ discard block |
||
| 876 | 993 | // |
| 877 | 994 | // apply this to any user-supplied strings used in queries |
| 878 | 995 | // |
| 996 | +/** |
|
| 997 | + * @param string $x |
|
| 998 | + * |
|
| 999 | + * @return string |
|
| 1000 | + */ |
|
| 879 | 1001 | function boinc_real_escape_string($x) { |
| 880 | 1002 | if (version_compare(phpversion(),"4.3.0")>=0) { |
| 881 | 1003 | return BoincDb::escape_string($x); |