@@ -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 ) { |
@@ -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); |