These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
1 | <?php |
||
2 | |||
3 | use Buddy\BuddyModel; |
||
4 | use Buddy\BuddyException; |
||
5 | use Buddy\BuddyRoutingParams; |
||
6 | |||
7 | /** |
||
8 | * buddy.php |
||
9 | * Friend system |
||
10 | * |
||
11 | * v3.0 Fully rewrote by Gorlum for http://supernova.ws |
||
12 | * [!] Full rewrote from scratch |
||
13 | * |
||
14 | * Idea from buddy.php Created by Perberos. All rights reversed (C) 2006 |
||
15 | * */ |
||
16 | |||
17 | include('common.' . substr(strrchr(__FILE__, '.'), 1)); |
||
18 | |||
19 | /** |
||
20 | * @var array $user |
||
21 | */ |
||
22 | global $user; |
||
23 | |||
24 | lng_include('buddy'); |
||
25 | |||
26 | $result = array(); |
||
27 | sn_db_transaction_start(); |
||
28 | try { |
||
29 | $cBuddy = new BuddyRoutingParams(); |
||
30 | |||
31 | $cBuddy->gc = classSupernova::$gc; |
||
32 | $cBuddy->buddy_id = sys_get_param_id('buddy_id'); |
||
33 | $cBuddy->mode = sys_get_param_str('mode'); |
||
34 | $cBuddy->newFriendIdSafe = sys_get_param_id('request_user_id'); |
||
35 | $cBuddy->new_friend_name_unsafe = sys_get_param_str_unsafe('request_user_name'); |
||
36 | $cBuddy->new_request_text_unsafe = sys_get_param_str_unsafe('request_text'); |
||
37 | $cBuddy->playerArray = $user; |
||
38 | $cBuddy->playerId = function (BuddyRoutingParams $cBuddy) { |
||
39 | return $cBuddy->playerArray['id']; |
||
40 | }; |
||
41 | $cBuddy->playerName = function (BuddyRoutingParams $cBuddy) { |
||
42 | return $cBuddy->playerArray['username']; |
||
43 | }; |
||
44 | $cBuddy->playerNameAndCoordinates = function (BuddyRoutingParams $cBuddy) { |
||
45 | return "{$cBuddy->playerArray['username']} " . uni_render_coordinates($cBuddy->playerArray); |
||
46 | }; |
||
47 | |||
48 | classSupernova::$gc->buddy->route($cBuddy); |
||
0 ignored issues
–
show
|
|||
49 | |||
50 | } catch (BuddyException $e) { |
||
51 | $result[] = array( |
||
52 | 'STATUS' => in_array($e->getCode(), array(ERR_NONE, ERR_WARNING, ERR_ERROR)) ? $e->getCode() : ERR_ERROR, |
||
53 | 'MESSAGE' => classLocale::$lang[$e->getMessage()], |
||
54 | ); |
||
55 | $e->getCode() == ERR_NONE ? sn_db_transaction_commit() : sn_db_transaction_rollback(); |
||
56 | } |
||
57 | sn_db_transaction_rollback(); |
||
58 | unset($buddy); |
||
59 | |||
60 | empty($template_result) ? $template_result = array() : false; |
||
61 | |||
62 | foreach (BuddyModel::db_buddy_list_by_user(classSupernova::$gc->db, $user['id']) as $row) { |
||
63 | $row['BUDDY_REQUEST'] = sys_bbcodeParse($row['BUDDY_REQUEST']); |
||
64 | |||
65 | $row['BUDDY_ACTIVE'] = $row['BUDDY_STATUS'] == BUDDY_REQUEST_ACTIVE; |
||
66 | $row['BUDDY_DENIED'] = $row['BUDDY_STATUS'] == BUDDY_REQUEST_DENIED; |
||
67 | $row['BUDDY_INCOMING'] = $row['BUDDY_OWNER_ID'] == $user['id']; |
||
68 | $row['BUDDY_ONLINE'] = floor((SN_TIME_NOW - $row['onlinetime']) / 60); |
||
69 | |||
70 | $template_result['.']['buddy'][] = $row; |
||
71 | } |
||
72 | |||
73 | $template_result += array( |
||
74 | 'PAGE_HEADER' => classLocale::$lang['buddy_buddies'], |
||
75 | 'PAGE_HINT' => classLocale::$lang['buddy_hint'], |
||
76 | 'USER_ID' => $user['id'], |
||
77 | 'REQUEST_USER_ID' => isset($new_friend_row['id']) ? $new_friend_row['id'] : 0, |
||
78 | 'REQUEST_USER_NAME' => isset($new_friend_row['username']) ? $new_friend_row['username'] : '', |
||
79 | ); |
||
80 | |||
81 | $template_result['.']['result'] = is_array($template_result['.']['result']) ? $template_result['.']['result'] : array(); |
||
82 | $template_result['.']['result'] += $result; |
||
83 | |||
84 | $template = gettemplate('buddy', true); |
||
85 | $template->assign_recursive($template_result); |
||
86 | |||
87 | display($template); |
||
88 |
Methods can only be called on objects. This check looks for methods being called on variables that have been inferred to never be objects.