@@ -15,10 +15,10 @@ |
||
15 | 15 | public string $name; |
16 | 16 | |
17 | 17 | /** Optional. New identifier of the custom emoji shown as the topic icon, if it was edited; an empty string if the icon was removed */ |
18 | - public null|string $icon_custom_emoji_id = null; |
|
18 | + public null | string $icon_custom_emoji_id = null; |
|
19 | 19 | |
20 | 20 | |
21 | - public function __construct(stdClass|null $object = null) { |
|
21 | + public function __construct(stdClass | null $object = null) { |
|
22 | 22 | if ($object != null) { |
23 | 23 | parent::__construct($object, self::subs); |
24 | 24 | } |
@@ -11,7 +11,7 @@ |
||
11 | 11 | /** Keep all of properties which has sub properties */ |
12 | 12 | private const subs = []; |
13 | 13 | |
14 | - public function __construct(stdClass|null $object = null) { |
|
14 | + public function __construct(stdClass | null $object = null) { |
|
15 | 15 | if ($object != null) { |
16 | 16 | parent::__construct($object, self::subs); |
17 | 17 | } |
@@ -30,97 +30,97 @@ discard block |
||
30 | 30 | public string $type; |
31 | 31 | |
32 | 32 | /** Optional. Title, for supergroups, channels and group chats */ |
33 | - public null|string $title = null; |
|
33 | + public null | string $title = null; |
|
34 | 34 | |
35 | 35 | /** Optional. Username, for private chats, supergroups and channels if available */ |
36 | - public null|string $username = null; |
|
36 | + public null | string $username = null; |
|
37 | 37 | |
38 | 38 | /** Optional. First name of the other party in a private chat */ |
39 | - public null|string $first_name = null; |
|
39 | + public null | string $first_name = null; |
|
40 | 40 | |
41 | 41 | /** Optional. Last name of the other party in a private chat */ |
42 | - public null|string $last_name = null; |
|
42 | + public null | string $last_name = null; |
|
43 | 43 | |
44 | 44 | /** Optional. True, if the supergroup chat is a forum (has topics enabled) */ |
45 | - public null|bool $is_forum = null; |
|
45 | + public null | bool $is_forum = null; |
|
46 | 46 | |
47 | 47 | /** Optional. Chat photo. Returned only in getChat. */ |
48 | - public null|chatPhoto $photo = null; |
|
48 | + public null | chatPhoto $photo = null; |
|
49 | 49 | |
50 | 50 | /** Optional. If non-empty, the list of all active chat usernames; for private chats, supergroups and channels. Returned only in getChat. */ |
51 | - public null|array $active_usernames = null; |
|
51 | + public null | array $active_usernames = null; |
|
52 | 52 | |
53 | 53 | /** Optional. Custom emoji identifier of emoji status of the other party in a private chat. Returned only in getChat. */ |
54 | - public null|string $emoji_status_custom_emoji_id = null; |
|
54 | + public null | string $emoji_status_custom_emoji_id = null; |
|
55 | 55 | |
56 | 56 | /** Optional. Bio of the other party in a private chat. Returned only in getChat. */ |
57 | - public null|string $bio = null; |
|
57 | + public null | string $bio = null; |
|
58 | 58 | |
59 | 59 | /** |
60 | 60 | * Optional. True, if privacy settings of the other party in the private chat allows to use |
61 | 61 | * tg://user?id=<user_id> links only in chats with the user. Returned only in getChat. |
62 | 62 | */ |
63 | - public null|bool $has_private_forwards = null; |
|
63 | + public null | bool $has_private_forwards = null; |
|
64 | 64 | |
65 | 65 | /** |
66 | 66 | * Optional. True, if the privacy settings of the other party restrict sending voice and video note messages in |
67 | 67 | * the private chat. Returned only in getChat. |
68 | 68 | */ |
69 | - public null|bool $has_restricted_voice_and_video_messages = null; |
|
69 | + public null | bool $has_restricted_voice_and_video_messages = null; |
|
70 | 70 | |
71 | 71 | /** Optional. True, if users need to join the supergroup before they can send messages. Returned only in getChat. */ |
72 | - public null|bool $join_to_send_messages = null; |
|
72 | + public null | bool $join_to_send_messages = null; |
|
73 | 73 | |
74 | 74 | /** |
75 | 75 | * Optional. True, if all users directly joining the supergroup need to be approved by supergroup administrators. |
76 | 76 | * Returned only in getChat. |
77 | 77 | */ |
78 | - public null|bool $join_by_request = null; |
|
78 | + public null | bool $join_by_request = null; |
|
79 | 79 | |
80 | 80 | /** Optional. Description, for groups, supergroups and channel chats. Returned only in getChat. */ |
81 | - public null|string $description = null; |
|
81 | + public null | string $description = null; |
|
82 | 82 | |
83 | 83 | /** Optional. Primary invite link, for groups, supergroups and channel chats. Returned only in getChat. */ |
84 | - public null|string $invite_link = null; |
|
84 | + public null | string $invite_link = null; |
|
85 | 85 | |
86 | 86 | /** Optional. The most recent pinned message (by sending date). Returned only in getChat. */ |
87 | - public null|message $pinned_message = null; |
|
87 | + public null | message $pinned_message = null; |
|
88 | 88 | |
89 | 89 | /** Optional. Default chat member permissions, for groups and supergroups. Returned only in getChat. */ |
90 | - public null|chatPermissions $permissions = null; |
|
90 | + public null | chatPermissions $permissions = null; |
|
91 | 91 | |
92 | 92 | /** |
93 | 93 | * Optional. For supergroups, the minimum allowed delay between consecutive messages sent by each unpriviledged |
94 | 94 | * user; in seconds. Returned only in getChat. |
95 | 95 | */ |
96 | - public null|int $slow_mode_delay = null; |
|
96 | + public null | int $slow_mode_delay = null; |
|
97 | 97 | |
98 | 98 | /** |
99 | 99 | * Optional. The time after which all messages sent to the chat will be automatically deleted; in seconds. |
100 | 100 | * Returned only in getChat. |
101 | 101 | */ |
102 | - public null|int $message_auto_delete_time = null; |
|
102 | + public null | int $message_auto_delete_time = null; |
|
103 | 103 | |
104 | 104 | /** |
105 | 105 | * Optional. True, if aggressive anti-spam checks are enabled in the supergroup. |
106 | 106 | * The field is only available to chat administrators. Returned only in getChat. |
107 | 107 | */ |
108 | - public null|bool $has_aggressive_anti_spam_enabled = null; |
|
108 | + public null | bool $has_aggressive_anti_spam_enabled = null; |
|
109 | 109 | |
110 | 110 | /** |
111 | 111 | * Optional. True, if non-administrators can only get the list of bots and administrators in the chat. |
112 | 112 | * Returned only in getChat. |
113 | 113 | */ |
114 | - public null|bool $has_hidden_members = null; |
|
114 | + public null | bool $has_hidden_members = null; |
|
115 | 115 | |
116 | 116 | /** Optional. True, if messages from the chat can't be forwarded to other chats. Returned only in getChat. */ |
117 | - public null|bool $has_protected_content = null; |
|
117 | + public null | bool $has_protected_content = null; |
|
118 | 118 | |
119 | 119 | /** Optional. For supergroups, name of group sticker set. Returned only in getChat. */ |
120 | - public null|string $sticker_set_name = null; |
|
120 | + public null | string $sticker_set_name = null; |
|
121 | 121 | |
122 | 122 | /** Optional. True, if the bot can change the group sticker set. Returned only in getChat. */ |
123 | - public null|bool $can_set_sticker_set = null; |
|
123 | + public null | bool $can_set_sticker_set = null; |
|
124 | 124 | |
125 | 125 | /** |
126 | 126 | * Optional. Unique identifier for the linked chat, i.e. the discussion group identifier for a channel and vice |
@@ -128,87 +128,87 @@ discard block |
||
128 | 128 | * languages may have difficulty/silent defects in interpreting it. But it is smaller than 52 bits, so a signed |
129 | 129 | * 64 bit integer or double-precision float type are safe for storing this identifier. Returned only in getChat. |
130 | 130 | */ |
131 | - public null|int $linked_chat_id = null; |
|
131 | + public null | int $linked_chat_id = null; |
|
132 | 132 | |
133 | 133 | /** Optional. For supergroups, the location to which the supergroup is connected. Returned only in getChat. */ |
134 | - public null|chatLocation $location = null; |
|
134 | + public null | chatLocation $location = null; |
|
135 | 135 | |
136 | 136 | |
137 | - public function __construct(stdClass|null $object = null) { |
|
137 | + public function __construct(stdClass | null $object = null) { |
|
138 | 138 | if ($object != null) { |
139 | 139 | parent::__construct($object, self::subs); |
140 | 140 | } |
141 | 141 | } |
142 | 142 | |
143 | - public function isPrivate (): bool { |
|
143 | + public function isPrivate(): bool { |
|
144 | 144 | return $this->type === chatType::PRIVATE; |
145 | 145 | } |
146 | 146 | |
147 | - public function isGroup (): bool { |
|
147 | + public function isGroup(): bool { |
|
148 | 148 | return $this->type === chatType::GROUP; |
149 | 149 | } |
150 | 150 | |
151 | - public function isSuperGroup (): bool { |
|
151 | + public function isSuperGroup(): bool { |
|
152 | 152 | return $this->type === chatType::SUPERGROUP; |
153 | 153 | } |
154 | 154 | |
155 | - public function isChannel (): bool { |
|
155 | + public function isChannel(): bool { |
|
156 | 156 | return $this->type === chatType::CHANNEL; |
157 | 157 | } |
158 | 158 | |
159 | - public function leave(): responseError|bool { |
|
159 | + public function leave(): responseError | bool { |
|
160 | 160 | if ($this->isPrivate()) { |
161 | 161 | return false; |
162 | 162 | } |
163 | 163 | return telegram::leave($this->id); |
164 | 164 | } |
165 | 165 | |
166 | - public function setPhoto(CURLFile|array $photo): responseError|bool { |
|
166 | + public function setPhoto(CURLFile | array $photo): responseError | bool { |
|
167 | 167 | if ($this->isPrivate()) { |
168 | 168 | return false; |
169 | 169 | } |
170 | - return telegram::setChatPhoto($photo,$this->id); |
|
170 | + return telegram::setChatPhoto($photo, $this->id); |
|
171 | 171 | } |
172 | 172 | |
173 | - public function delPhoto(): responseError|bool { |
|
173 | + public function delPhoto(): responseError | bool { |
|
174 | 174 | if ($this->isPrivate()) { |
175 | 175 | return false; |
176 | 176 | } |
177 | 177 | return telegram::deleteChatPhoto($this->id); |
178 | 178 | } |
179 | 179 | |
180 | - public function setTitle(string|array $title): responseError|bool { |
|
180 | + public function setTitle(string | array $title): responseError | bool { |
|
181 | 181 | if ($this->isPrivate()) { |
182 | 182 | return false; |
183 | 183 | } |
184 | - return telegram::setChatTitle($title,$this->id); |
|
184 | + return telegram::setChatTitle($title, $this->id); |
|
185 | 185 | } |
186 | 186 | |
187 | - public function setDescription(string|null $description = null): responseError|bool { |
|
187 | + public function setDescription(string | null $description = null): responseError | bool { |
|
188 | 188 | if ($this->isPrivate()) { |
189 | 189 | return false; |
190 | 190 | } |
191 | - return telegram::setChatDescription($this->id,$description); |
|
191 | + return telegram::setChatDescription($this->id, $description); |
|
192 | 192 | } |
193 | 193 | |
194 | - public function getAdmins(): bool|responseError|array { |
|
194 | + public function getAdmins(): bool | responseError | array { |
|
195 | 195 | if ($this->isPrivate()) { |
196 | 196 | return false; |
197 | 197 | } |
198 | 198 | return telegram::getChatAdministrators($this->id); |
199 | 199 | } |
200 | 200 | |
201 | - public function getMembersCount(): bool|responseError|int { |
|
201 | + public function getMembersCount(): bool | responseError | int { |
|
202 | 202 | if ($this->isPrivate()) { |
203 | 203 | return false; |
204 | 204 | } |
205 | 205 | return telegram::getChatMemberCount($this->id); |
206 | 206 | } |
207 | 207 | |
208 | - public function getMember(int|null $user_id = null): chatMember|bool|responseError { |
|
208 | + public function getMember(int | null $user_id = null): chatMember | bool | responseError { |
|
209 | 209 | if ($this->isPrivate()) { |
210 | 210 | return false; |
211 | 211 | } |
212 | - return telegram::getChatMember($this->id,$user_id); |
|
212 | + return telegram::getChatMember($this->id, $user_id); |
|
213 | 213 | } |
214 | 214 | } |
@@ -11,7 +11,7 @@ |
||
11 | 11 | /** Keep all of properties which has sub properties */ |
12 | 12 | private const subs = []; |
13 | 13 | |
14 | - public function __construct(stdClass|null $object = null) { |
|
14 | + public function __construct(stdClass | null $object = null) { |
|
15 | 15 | if ($object != null) { |
16 | 16 | parent::__construct($object, self::subs); |
17 | 17 | } |
@@ -11,7 +11,7 @@ |
||
11 | 11 | /** Keep all of properties which has sub properties */ |
12 | 12 | private const subs = []; |
13 | 13 | |
14 | - public function __construct(stdClass|null $object = null) { |
|
14 | + public function __construct(stdClass | null $object = null) { |
|
15 | 15 | if ($object != null) { |
16 | 16 | parent::__construct($object, self::subs); |
17 | 17 | } |
@@ -32,13 +32,13 @@ discard block |
||
32 | 32 | if (settings::$telegram_verify) { |
33 | 33 | $ip = $ip ?? tools::remoteIP(); |
34 | 34 | if (!tools::isTelegram($ip)) { |
35 | - logger::write('not authorized access denied. IP : '. $ip ?? 'unknown',loggerTypes::WARNING); |
|
35 | + logger::write('not authorized access denied. IP : '.$ip ?? 'unknown', loggerTypes::WARNING); |
|
36 | 36 | BPT::exit(); |
37 | 37 | } |
38 | 38 | } |
39 | 39 | } |
40 | 40 | |
41 | - protected static function processUpdate(string|stdClass|update $update = null): void { |
|
41 | + protected static function processUpdate(string | stdClass | update $update = null): void { |
|
42 | 42 | if (!is_object($update)) { |
43 | 43 | $update = json_decode($update ?? file_get_contents("php://input")); |
44 | 44 | if (!$update) { |
@@ -46,7 +46,7 @@ discard block |
||
46 | 46 | } |
47 | 47 | } |
48 | 48 | |
49 | - if (!is_a($update,'update')) { |
|
49 | + if (!is_a($update, 'update')) { |
|
50 | 50 | $update = new update($update); |
51 | 51 | } |
52 | 52 | |
@@ -57,7 +57,7 @@ discard block |
||
57 | 57 | db::save(); |
58 | 58 | } |
59 | 59 | |
60 | - protected static function setMessageExtra (update &$update): void { |
|
60 | + protected static function setMessageExtra(update & $update): void { |
|
61 | 61 | if ((isset($update->message) && isset($update->message->text)) || (isset($update->edited_message) && isset($update->edited_message->text))) { |
62 | 62 | $type = isset($update->message) ? 'message' : 'edited_message'; |
63 | 63 | $text = &$update->$type->text; |
@@ -130,7 +130,7 @@ discard block |
||
130 | 130 | BPT::$handler->something_else(BPT::$update); |
131 | 131 | } |
132 | 132 | else { |
133 | - logger::write('Update received but handlers are not set',loggerTypes::WARNING); |
|
133 | + logger::write('Update received but handlers are not set', loggerTypes::WARNING); |
|
134 | 134 | } |
135 | 135 | } |
136 | 136 | } |
@@ -15,7 +15,7 @@ discard block |
||
15 | 15 | * telegram class , Adding normal method call to request class and a simple name for being easy to call |
16 | 16 | */ |
17 | 17 | class telegram extends request { |
18 | - public function __call (string $name, array $arguments) { |
|
18 | + public function __call(string $name, array $arguments) { |
|
19 | 19 | return request::$name(...$arguments); |
20 | 20 | } |
21 | 21 | |
@@ -33,11 +33,11 @@ discard block |
||
33 | 33 | * |
34 | 34 | * @return bool |
35 | 35 | */ |
36 | - public static function downloadFile (string|null $destination = null, string|null $file_id = null): bool { |
|
36 | + public static function downloadFile(string | null $destination = null, string | null $file_id = null): bool { |
|
37 | 37 | return tools::downloadFile(self::fileLink($file_id), $destination); |
38 | 38 | } |
39 | 39 | |
40 | - public static function fileLink(string|null $file_id = null): bool|string { |
|
40 | + public static function fileLink(string | null $file_id = null): bool | string { |
|
41 | 41 | $file = self::getFile($file_id); |
42 | 42 | if (!isset($file->file_path)) { |
43 | 43 | return false; |
@@ -59,7 +59,7 @@ discard block |
||
59 | 59 | * |
60 | 60 | * @return message|bool|responseError |
61 | 61 | */ |
62 | - public static function sendFile (string $file_id, int|string $chat_id = null, int $message_thread_id = null, string $caption = null, string $parse_mode = null, array $caption_entities = null, bool $disable_notification = null, bool $protect_content = null, int $reply_to_message_id = null, bool $allow_sending_without_reply = null, inlineKeyboardMarkup|replyKeyboardMarkup|replyKeyboardRemove|forceReply|stdClass|array $reply_markup = null, string $token = null, bool $forgot = null, bool $answer = null): message|bool|responseError { |
|
62 | + public static function sendFile(string $file_id, int | string $chat_id = null, int $message_thread_id = null, string $caption = null, string $parse_mode = null, array $caption_entities = null, bool $disable_notification = null, bool $protect_content = null, int $reply_to_message_id = null, bool $allow_sending_without_reply = null, inlineKeyboardMarkup | replyKeyboardMarkup | replyKeyboardRemove | forceReply | stdClass | array $reply_markup = null, string $token = null, bool $forgot = null, bool $answer = null): message | bool | responseError { |
|
63 | 63 | $type = tools::fileType($file_id); |
64 | 64 | return match ($type) { |
65 | 65 | fileTypes::VIDEO => self::sendVideo($file_id, $chat_id, null, null, null, null, $caption, $parse_mode, $caption_entities, null, $disable_notification, $protect_content, $reply_to_message_id, $allow_sending_without_reply, $reply_markup, $token, $forgot, $answer, $message_thread_id), |
@@ -28,7 +28,7 @@ discard block |
||
28 | 28 | |
29 | 29 | public static int $log_size = 10; |
30 | 30 | |
31 | - public static string|CURLFile|null $certificate = null; |
|
31 | + public static string | CURLFile | null $certificate = null; |
|
32 | 32 | |
33 | 33 | public static bool $handler = true; |
34 | 34 | |
@@ -62,14 +62,14 @@ discard block |
||
62 | 62 | |
63 | 63 | public static array $allowed_updates = ['message', 'edited_channel_post', 'callback_query', 'inline_query']; |
64 | 64 | |
65 | - public static array|null $db = null; |
|
65 | + public static array | null $db = null; |
|
66 | 66 | |
67 | - public static array|null $pay = null; |
|
67 | + public static array | null $pay = null; |
|
68 | 68 | |
69 | 69 | /** |
70 | 70 | * @internal Only for BPT self usage , Don't use it in your source! |
71 | 71 | */ |
72 | - public static function init (array|stdClass $settings): void { |
|
72 | + public static function init(array | stdClass $settings): void { |
|
73 | 73 | $settings = (array) $settings; |
74 | 74 | foreach ($settings as $setting => $value) { |
75 | 75 | try { |
@@ -77,10 +77,10 @@ discard block |
||
77 | 77 | if (!is_dir(realpath('bots_files'))) { |
78 | 78 | mkdir('bots_files'); |
79 | 79 | } |
80 | - if (!is_dir(realpath('bots_files/' . $value))) { |
|
81 | - mkdir('bots_files/' . $value); |
|
80 | + if (!is_dir(realpath('bots_files/'.$value))) { |
|
81 | + mkdir('bots_files/'.$value); |
|
82 | 82 | } |
83 | - $value = 'bots_files/' . $value . '/'; |
|
83 | + $value = 'bots_files/'.$value.'/'; |
|
84 | 84 | } |
85 | 85 | self::$$setting = $value; |
86 | 86 | } |
@@ -119,7 +119,7 @@ discard block |
||
119 | 119 | /** |
120 | 120 | * @internal Only for BPT self usage , Don't use it in your source! |
121 | 121 | */ |
122 | - public static function done (): void { |
|
122 | + public static function done(): void { |
|
123 | 123 | if (self::$logger) { |
124 | 124 | $estimated = round((microtime(true) - $_SERVER['REQUEST_TIME_FLOAT']) * 1000, 2); |
125 | 125 | $status_message = match (true) { |
@@ -134,7 +134,7 @@ discard block |
||
134 | 134 | } |
135 | 135 | } |
136 | 136 | |
137 | - private static function security (): void { |
|
137 | + private static function security(): void { |
|
138 | 138 | if (self::$security) { |
139 | 139 | ini_set('magic_quotes_gpc', 'off'); |
140 | 140 | ini_set('sql.safe_mode', 'on'); |
@@ -149,11 +149,11 @@ discard block |
||
149 | 149 | } |
150 | 150 | } |
151 | 151 | |
152 | - private static function secureFolder (): void { |
|
152 | + private static function secureFolder(): void { |
|
153 | 153 | if (self::$secure_folder) { |
154 | 154 | $address = explode('/', $_SERVER['REQUEST_URI']); |
155 | 155 | unset($address[count($address) - 1]); |
156 | - $address = implode('/', $address) . '/BPT.php'; |
|
156 | + $address = implode('/', $address).'/BPT.php'; |
|
157 | 157 | $text = "ErrorDocument 404 $address\nErrorDocument 403 $address\n Options -Indexes\n Order Deny,Allow\nDeny from all\nAllow from 127.0.0.1\n<Files *.php>\n Order Allow,Deny\n Allow from all\n</Files>"; |
158 | 158 | $htaccess = realpath('.htaccess'); |
159 | 159 | if (!file_exists($htaccess) || filesize($htaccess) != strlen($text)) { |
@@ -162,7 +162,7 @@ discard block |
||
162 | 162 | } |
163 | 163 | } |
164 | 164 | |
165 | - private static function getUpdates (): void { |
|
165 | + private static function getUpdates(): void { |
|
166 | 166 | if (!self::$handler) { |
167 | 167 | logger::write('You can\'t use getUpdates receiver when handler is off , use webhook or use handler', loggerTypes::ERROR); |
168 | 168 | throw new bptException('GETUPDATE_NEED_HANDLER'); |
@@ -17,40 +17,40 @@ |
||
17 | 17 | /** |
18 | 18 | * @internal Only for BPT self usage , Don't use it in your source! |
19 | 19 | */ |
20 | - public static function init(string $method,array $data): bool { |
|
20 | + public static function init(string $method, array $data): bool { |
|
21 | 21 | self::checkWebhook(); |
22 | 22 | self::sieveData($data); |
23 | 23 | self::$is_answered = true; |
24 | 24 | $data['method'] = $method; |
25 | 25 | $payload = json_encode($data); |
26 | - header('Content-Type: application/json;Content-Length: ' . strlen($payload)); |
|
26 | + header('Content-Type: application/json;Content-Length: '.strlen($payload)); |
|
27 | 27 | echo $payload; |
28 | 28 | return true; |
29 | 29 | } |
30 | 30 | |
31 | - public static function isAnswered (): bool { |
|
31 | + public static function isAnswered(): bool { |
|
32 | 32 | return self::$is_answered; |
33 | 33 | } |
34 | 34 | |
35 | 35 | private static function checkWebhook(): void { |
36 | - if(settings::$receiver === receiver::GETUPDATES) { |
|
37 | - logger::write('Answer mode only work when receiver is webhook',loggerTypes::ERROR); |
|
36 | + if (settings::$receiver === receiver::GETUPDATES) { |
|
37 | + logger::write('Answer mode only work when receiver is webhook', loggerTypes::ERROR); |
|
38 | 38 | throw new bptException('ANSWER_MODE_GETUPDATES'); |
39 | 39 | } |
40 | - if(settings::$multi) { |
|
41 | - logger::write('You can not use answer mode when multi setting is on',loggerTypes::ERROR); |
|
40 | + if (settings::$multi) { |
|
41 | + logger::write('You can not use answer mode when multi setting is on', loggerTypes::ERROR); |
|
42 | 42 | throw new bptException('ANSWER_MODE_MULTI'); |
43 | 43 | } |
44 | 44 | } |
45 | 45 | |
46 | 46 | private static function sieveData(array &$data): void { |
47 | - unset($data['token'],$data['forgot'],$data['return_array']); |
|
47 | + unset($data['token'], $data['forgot'], $data['return_array']); |
|
48 | 48 | |
49 | - foreach ($data as $key=>&$value){ |
|
50 | - if (!isset($value)){ |
|
49 | + foreach ($data as $key=>&$value) { |
|
50 | + if (!isset($value)) { |
|
51 | 51 | unset($data[$key]); |
52 | 52 | } |
53 | - elseif (is_array($value) || is_object($value)){ |
|
53 | + elseif (is_array($value) || is_object($value)) { |
|
54 | 54 | $value = json_encode($value); |
55 | 55 | } |
56 | 56 | } |