@@ -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( |
@@ -318,6 +356,12 @@ discard block |
||
318 | 356 | $db = BoincDb::get(); |
319 | 357 | return $db->enum('host', 'BoincHost', $where_clause, $order_clause); |
320 | 358 | } |
359 | + |
|
360 | + /** |
|
361 | + * @param string $fields |
|
362 | + * @param string $where_clause |
|
363 | + * @param string $order_clause |
|
364 | + */ |
|
321 | 365 | static function enum_fields($fields, $where_clause, $order_clause=null) { |
322 | 366 | $db = BoincDb::get(); |
323 | 367 | return $db->enum_fields( |
@@ -350,6 +394,11 @@ discard block |
||
350 | 394 | $db = BoincDb::get(); |
351 | 395 | return $db->enum('result', 'BoincResult', $where_clause); |
352 | 396 | } |
397 | + |
|
398 | + /** |
|
399 | + * @param string $fields |
|
400 | + * @param string $where_clause |
|
401 | + */ |
|
353 | 402 | static function enum_fields($fields, $where_clause, $order_clause) { |
354 | 403 | $db = BoincDb::get(); |
355 | 404 | return $db->enum_fields('result', 'BoincResult', $fields, $where_clause, $order_clause); |
@@ -404,6 +453,10 @@ discard block |
||
404 | 453 | $db = BoincDb::get(); |
405 | 454 | return $db->update_aux('workunit', $clause); |
406 | 455 | } |
456 | + |
|
457 | + /** |
|
458 | + * @param string $clause |
|
459 | + */ |
|
407 | 460 | static function count($clause) { |
408 | 461 | $db = BoincDb::get(); |
409 | 462 | return $db->count('workunit', $clause); |
@@ -419,6 +472,10 @@ discard block |
||
419 | 472 | $db = BoincDb::get(); |
420 | 473 | return $db->lookup('app', 'BoincApp', $clause); |
421 | 474 | } |
475 | + |
|
476 | + /** |
|
477 | + * @param string $where_clause |
|
478 | + */ |
|
422 | 479 | static function enum($where_clause) { |
423 | 480 | $db = BoincDb::get(); |
424 | 481 | return $db->enum('app', 'BoincApp', $where_clause); |
@@ -433,6 +490,11 @@ discard block |
||
433 | 490 | $db = BoincDb::get(); |
434 | 491 | return $db->update($this, 'app', $clause); |
435 | 492 | } |
493 | + |
|
494 | + /** |
|
495 | + * @param string $field |
|
496 | + * @param string $clause |
|
497 | + */ |
|
436 | 498 | static function sum($field, $clause=null) { |
437 | 499 | $db = BoincDb::get(); |
438 | 500 | return $db->sum('app', $field, $clause); |
@@ -465,6 +527,10 @@ discard block |
||
465 | 527 | } |
466 | 528 | |
467 | 529 | class BoincProfile { |
530 | + |
|
531 | + /** |
|
532 | + * @param string $fields |
|
533 | + */ |
|
468 | 534 | static function lookup_fields($fields, $clause) { |
469 | 535 | $db = BoincDb::get(); |
470 | 536 | return $db->lookup_fields('profile', 'BoincProfile', $fields, $clause); |
@@ -481,18 +547,37 @@ discard block |
||
481 | 547 | $db = BoincDb::get(); |
482 | 548 | return $db->update_aux('profile', $clause.' where userid='.$this->userid); |
483 | 549 | } |
550 | + |
|
551 | + /** |
|
552 | + * @param string $clause |
|
553 | + */ |
|
484 | 554 | static function update_aux($clause) { |
485 | 555 | $db = BoincDb::get(); |
486 | 556 | return $db->update_aux('profile', $clause); |
487 | 557 | } |
558 | + |
|
559 | + /** |
|
560 | + * @param string $clause |
|
561 | + */ |
|
488 | 562 | static function insert($clause) { |
489 | 563 | $db = BoincDb::get(); |
490 | 564 | return $db->insert('profile', $clause); |
491 | 565 | } |
566 | + |
|
567 | + /** |
|
568 | + * @param string $where_clause |
|
569 | + * @param string $order_clause |
|
570 | + */ |
|
492 | 571 | static function enum($where_clause=null, $order_clause=null) { |
493 | 572 | $db = BoincDb::get(); |
494 | 573 | return $db->enum('profile', 'BoincProfile', $where_clause, $order_clause); |
495 | 574 | } |
575 | + |
|
576 | + /** |
|
577 | + * @param string $fields |
|
578 | + * @param string $where_clause |
|
579 | + * @param string $order_clause |
|
580 | + */ |
|
496 | 581 | static function enum_fields($fields, $where_clause=null, $order_clause=null) { |
497 | 582 | $db = BoincDb::get(); |
498 | 583 | return $db->enum_fields('profile', 'BoincProfile', $fields, $where_clause, $order_clause); |
@@ -560,6 +645,10 @@ discard block |
||
560 | 645 | } |
561 | 646 | |
562 | 647 | class BoincPlatform { |
648 | + |
|
649 | + /** |
|
650 | + * @param string $where_clause |
|
651 | + */ |
|
563 | 652 | static function enum($where_clause) { |
564 | 653 | $db = BoincDb::get(); |
565 | 654 | return $db->enum('platform', 'BoincPlatform', $where_clause); |
@@ -640,6 +729,10 @@ discard block |
||
640 | 729 | } |
641 | 730 | |
642 | 731 | class BoincBadge { |
732 | + |
|
733 | + /** |
|
734 | + * @param string $where_clause |
|
735 | + */ |
|
643 | 736 | static function enum($where_clause) { |
644 | 737 | $db = BoincDb::get(); |
645 | 738 | return $db->enum('badge', 'BoincBadge', $where_clause); |
@@ -735,6 +828,11 @@ discard block |
||
735 | 828 | $db = BoincDb::get(); |
736 | 829 | return $db->enum('credit_user', 'BoincCreditUser', $where_clause); |
737 | 830 | } |
831 | + |
|
832 | + /** |
|
833 | + * @param string $field |
|
834 | + * @param string $clause |
|
835 | + */ |
|
738 | 836 | static function sum($field, $clause) { |
739 | 837 | $db = BoincDb::get(); |
740 | 838 | return $db->sum('credit_user', $field, $clause); |
@@ -747,6 +845,11 @@ discard block |
||
747 | 845 | $db = BoincDb::get(); |
748 | 846 | $db->delete_aux('credit_user', "userid=$user->id"); |
749 | 847 | } |
848 | + |
|
849 | + /** |
|
850 | + * @param string $order_clause |
|
851 | + * @param string $limit |
|
852 | + */ |
|
750 | 853 | static function get_list($where_clause, $order_clause, $limit) { |
751 | 854 | $db = BoincDB::get(); |
752 | 855 | return $db->get_list('user', 'credit_user', 'id', 'userid', 'BoincCreditUser', '*', $where_clause, $order_clause, $limit); |
@@ -762,6 +865,11 @@ discard block |
||
762 | 865 | $db = BoincDb::get(); |
763 | 866 | return $db->enum('credit_team', 'BoincCreditTeam', $where_clause); |
764 | 867 | } |
868 | + |
|
869 | + /** |
|
870 | + * @param string $field |
|
871 | + * @param string $clause |
|
872 | + */ |
|
765 | 873 | static function sum($field, $clause) { |
766 | 874 | $db = BoincDb::get(); |
767 | 875 | return $db->sum('credit_team', $field, $clause); |
@@ -770,6 +878,11 @@ discard block |
||
770 | 878 | $db = BoincDb::get(); |
771 | 879 | return $db->update_aux('credit_team', $clause); |
772 | 880 | } |
881 | + |
|
882 | + /** |
|
883 | + * @param string $order_clause |
|
884 | + * @param string $limit |
|
885 | + */ |
|
773 | 886 | static function get_list($where_clause, $order_clause, $limit) { |
774 | 887 | $db = BoincDB::get(); |
775 | 888 | return $db->get_list('team', 'credit_team', 'id', 'teamid', 'BoincCreditTeam', '*', $where_clause, $order_clause, $limit); |
@@ -783,6 +896,9 @@ discard block |
||
783 | 896 | return $db->lookup('token', 'BoincToken', $clause); |
784 | 897 | } |
785 | 898 | |
899 | + /** |
|
900 | + * @param string $type |
|
901 | + */ |
|
786 | 902 | static function lookup_valid_token($userid, $token, $type) { |
787 | 903 | $db = BoincDb::get(); |
788 | 904 | $token = BoincDb::escape_string($token); |
@@ -795,6 +911,9 @@ discard block |
||
795 | 911 | return $db->enum('token', 'BoincToken', $where_clause); |
796 | 912 | } |
797 | 913 | |
914 | + /** |
|
915 | + * @param string $clause |
|
916 | + */ |
|
798 | 917 | static function insert($clause) { |
799 | 918 | $db = BoincDb::get(); |
800 | 919 | return $db->insert('token', $clause); |
@@ -818,6 +937,11 @@ discard block |
||
818 | 937 | // |
819 | 938 | // apply this to any user-supplied strings used in queries |
820 | 939 | // |
940 | +/** |
|
941 | + * @param string $x |
|
942 | + * |
|
943 | + * @return string |
|
944 | + */ |
|
821 | 945 | function boinc_real_escape_string($x) { |
822 | 946 | if (version_compare(phpversion(),"4.3.0")>=0) { |
823 | 947 | return BoincDb::escape_string($x); |
@@ -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 |
@@ -11,40 +11,40 @@ |
||
11 | 11 | BoincToken::insert("(token,userid,type,create_time, expire_time) values ('$token', 0, 'T', $now, $now+3600)"); |
12 | 12 | |
13 | 13 | $boincTokens = BoincToken::enum("userid=0"); |
14 | -foreach($boincTokens as $boincToken) { |
|
15 | - echo $boincToken->token . "\n"; |
|
16 | - echo $boincToken->userid . "\n"; |
|
17 | - echo $boincToken->type . "\n"; |
|
18 | - echo $boincToken->create_time . "\n"; |
|
19 | - echo $boincToken->expire_time . "\n"; |
|
14 | +foreach ($boincTokens as $boincToken) { |
|
15 | + echo $boincToken->token."\n"; |
|
16 | + echo $boincToken->userid."\n"; |
|
17 | + echo $boincToken->type."\n"; |
|
18 | + echo $boincToken->create_time."\n"; |
|
19 | + echo $boincToken->expire_time."\n"; |
|
20 | 20 | } |
21 | 21 | |
22 | 22 | echo "---------------\n"; |
23 | 23 | $boincToken = BoincToken::lookup("userid=0"); |
24 | -echo $boincToken->token . "\n"; |
|
25 | -echo $boincToken->userid . "\n"; |
|
26 | -echo $boincToken->type . "\n"; |
|
27 | -echo $boincToken->create_time . "\n"; |
|
28 | -echo $boincToken->expire_time . "\n"; |
|
24 | +echo $boincToken->token."\n"; |
|
25 | +echo $boincToken->userid."\n"; |
|
26 | +echo $boincToken->type."\n"; |
|
27 | +echo $boincToken->create_time."\n"; |
|
28 | +echo $boincToken->expire_time."\n"; |
|
29 | 29 | |
30 | 30 | echo "---------------\n"; |
31 | 31 | $boincToken = BoincToken::lookup_valid_token(0, $token, 'T'); |
32 | -if ( $boincToken != null ) { |
|
32 | +if ($boincToken != null) { |
|
33 | 33 | echo "Found valid token\n"; |
34 | 34 | } |
35 | 35 | |
36 | 36 | echo "---------------\n"; |
37 | 37 | $boincToken = BoincToken::lookup_valid_token(0, 'notrealtoken', 'T'); |
38 | -if ( $boincToken == null ) { |
|
38 | +if ($boincToken == null) { |
|
39 | 39 | echo "Successfully didn't find invalid token\n"; |
40 | 40 | } |
41 | 41 | |
42 | 42 | |
43 | 43 | echo "---------------\n"; |
44 | 44 | $user = new BoincUser(); |
45 | -$user->id=0; |
|
45 | +$user->id = 0; |
|
46 | 46 | $token = create_confirm_delete_account_token($user); |
47 | -if ( is_valid_delete_account_token($user->id, $token) ) { |
|
47 | +if (is_valid_delete_account_token($user->id, $token)) { |
|
48 | 48 | echo "Successfully created and validated delete account token"; |
49 | 49 | } |
50 | 50 |
@@ -29,7 +29,7 @@ discard block |
||
29 | 29 | $token = random_string(); |
30 | 30 | $now = time(); |
31 | 31 | $ret = BoincToken::insert("(token,userid,type,create_time,expire_time) values ('$token', $user->id, '".TOKEN_TYPE_DELETE_ACCOUNT."', $now, $now+".TOKEN_DURATION_ONE_DAY.")"); |
32 | - if ( !$ret ) { |
|
32 | + if (!$ret) { |
|
33 | 33 | return null; |
34 | 34 | } |
35 | 35 | return $token; |
@@ -37,7 +37,7 @@ discard block |
||
37 | 37 | |
38 | 38 | function is_valid_delete_account_token($userid, $token) { |
39 | 39 | $boincToken = BoincToken::lookup_valid_token($userid, $token, TOKEN_TYPE_DELETE_ACCOUNT); |
40 | - if ( $boincToken == null ) { |
|
40 | + if ($boincToken == null) { |
|
41 | 41 | return false; |
42 | 42 | } |
43 | 43 | return true; |