blockly 8.0.1 → 8.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/msg/lv.js CHANGED
@@ -14,10 +14,10 @@
14
14
  'use strict';
15
15
 
16
16
  Blockly.Msg["ADD_COMMENT"] = "Pievienot komentāru";
17
- Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Can't delete the variable '%1' because it's part of the definition of the function '%2'"; // untranslated
17
+ Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Nevar izdzēst mainīgo '%1', jo ir daļa no funkcijas '%2' definīcijas.";
18
18
  Blockly.Msg["CHANGE_VALUE_TITLE"] = "Mainīt vērtību:";
19
19
  Blockly.Msg["CLEAN_UP"] = "Sakopt blokus";
20
- Blockly.Msg["COLLAPSED_WARNINGS_WARNING"] = "Collapsed blocks contain warnings."; // untranslated
20
+ Blockly.Msg["COLLAPSED_WARNINGS_WARNING"] = "Sakļautie bloki satur brīdinājumus.";
21
21
  Blockly.Msg["COLLAPSE_ALL"] = "Sakļaut blokus";
22
22
  Blockly.Msg["COLLAPSE_BLOCK"] = "Sakļaut bloku";
23
23
  Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "1. krāsa";
@@ -78,7 +78,7 @@ Blockly.Msg["DIALOG_CANCEL"] = "Atcelt";
78
78
  Blockly.Msg["DIALOG_OK"] = "Labi";
79
79
  Blockly.Msg["DISABLE_BLOCK"] = "Atspējot bloku";
80
80
  Blockly.Msg["DUPLICATE_BLOCK"] = "Dublēt";
81
- Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment"; // untranslated
81
+ Blockly.Msg["DUPLICATE_COMMENT"] = "Izveidot komentāra duplikātu";
82
82
  Blockly.Msg["ENABLE_BLOCK"] = "Iespējot bloku";
83
83
  Blockly.Msg["EXPAND_ALL"] = "Izvērst blokus";
84
84
  Blockly.Msg["EXPAND_BLOCK"] = "Izvērst bloku";
@@ -141,8 +141,8 @@ Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Li
141
141
  Blockly.Msg["LISTS_REPEAT_TITLE"] = "saraksts no %1 atkārtots %2 reizes";
142
142
  Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Izveido sarakstu, kas sastāv no dotās vērtības noteiktu reižu skaita.";
143
143
  Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list"; // untranslated
144
- Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1"; // untranslated
145
- Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list."; // untranslated
144
+ Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "apgriezt otrādi %1";
145
+ Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Apgriezt otrādi saraksta kopiju";
146
146
  Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set"; // untranslated
147
147
  Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "kā";
148
148
  Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "ievieto";
@@ -155,7 +155,7 @@ Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Aizvieto elementu saraksta s
155
155
  Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Aizvieto sarakstā elementu norādītajā pozīcijā.";
156
156
  Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Aizvieto elementu saraksta beigās.";
157
157
  Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Aizvieto sarakstā elementu nejauši izvēlētā pozīcijā.";
158
- Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list"; // untranslated
158
+ Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
159
159
  Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "augošā";
160
160
  Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "dilstošā";
161
161
  Blockly.Msg["LISTS_SORT_TITLE"] = "Sakārtot sarakstu no %3 elementiem %2 secībā %1";
@@ -173,7 +173,7 @@ Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "aplams";
173
173
  Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values"; // untranslated
174
174
  Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Atgriež rezultātu \"patiess\" vai \"aplams\".";
175
175
  Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "patiess";
176
- Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://lv.wikipedia.org/wiki/Nevien%C4%81d%C4%ABba";
176
+ Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";
177
177
  Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Patiess, ja abas puses ir vienādas.";
178
178
  Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Patiess, ja kreisā puse ir lielāka par labo pusi.";
179
179
  Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Patiess, ja kreisā puse ir lielāka vai vienāda ar labo pusi.";
@@ -197,15 +197,15 @@ Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "ja aplams";
197
197
  Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "ja patiess";
198
198
  Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Pārbaudīt nosacījumu. Ja 'nosacījums' ir patiess, atgriež vērtību 'ja patiess', pretējā gadījumā vērtību 'ja aplams'.";
199
199
  Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+"; // untranslated
200
- Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://lv.wikipedia.org/wiki/Aritm%C4%93tika";
200
+ Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/Arithmetic";
201
201
  Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Atgriež divu skaitļu summu.";
202
202
  Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Atgriež divu skaitļu dalījumu.";
203
203
  Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Atgriež divu skaitļu starpību.";
204
204
  Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Atgriež divu skaitļu reizinājumu.";
205
205
  Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Atgriež pirmo skaitli kāpinātu pakāpē otrais skaitlis.";
206
- Blockly.Msg["MATH_ATAN2_HELPURL"] = "https://en.wikipedia.org/wiki/Atan2"; // untranslated
207
- Blockly.Msg["MATH_ATAN2_TITLE"] = "atan2 of X:%1 Y:%2"; // untranslated
208
- Blockly.Msg["MATH_ATAN2_TOOLTIP"] = "Return the arctangent of point (X, Y) in degrees from -180 to 180."; // untranslated
206
+ Blockly.Msg["MATH_ATAN2_HELPURL"] = "https://en.wikipedia.org/wiki/Atan2";
207
+ Blockly.Msg["MATH_ATAN2_TITLE"] = "ATAN2 no X:%1 Y:%2";
208
+ Blockly.Msg["MATH_ATAN2_TOOLTIP"] = "Atgriezt arktangensu punktam (X, Y) grādos no -180 līdz 180.";
209
209
  Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
210
210
  Blockly.Msg["MATH_CHANGE_TITLE"] = "izmainīt %1 par %2";
211
211
  Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Pieskaitīt doto skaitli mainīgajam '%1'.";
@@ -258,7 +258,7 @@ Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "noapaļot";
258
258
  Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "apaļot uz leju";
259
259
  Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "apaļot uz augšu";
260
260
  Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Noapaļot skaitli uz augšu vai uz leju.";
261
- Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://lv.wikipedia.org/wiki/Kvadr%C4%81tsakne";
261
+ Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root";
262
262
  Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "absolūtā vērtība";
263
263
  Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "kvadrātsakne";
264
264
  Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Atgriež skaitļa absolūto vērtību.";
@@ -273,7 +273,7 @@ Blockly.Msg["MATH_TRIG_ACOS"] = "acos"; // untranslated
273
273
  Blockly.Msg["MATH_TRIG_ASIN"] = "asin"; // untranslated
274
274
  Blockly.Msg["MATH_TRIG_ATAN"] = "atan"; // untranslated
275
275
  Blockly.Msg["MATH_TRIG_COS"] = "cos"; // untranslated
276
- Blockly.Msg["MATH_TRIG_HELPURL"] = "https://lv.wikipedia.org/wiki/Trigonometrisk%C4%81s_funkcijas";
276
+ Blockly.Msg["MATH_TRIG_HELPURL"] = "https://en.wikipedia.org/wiki/Trigonometric_functions";
277
277
  Blockly.Msg["MATH_TRIG_SIN"] = "sin"; // untranslated
278
278
  Blockly.Msg["MATH_TRIG_TAN"] = "tan"; // untranslated
279
279
  Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Arkkosinuss (grādos).";
@@ -282,18 +282,18 @@ Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Arktangenss (grādos).";
282
282
  Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Kosinuss no grādiem (nevis radiāniem).";
283
283
  Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Sinuss no grādiem (nevis radiāniem).";
284
284
  Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Tangenss no grādiem (nevis radiāniem).";
285
- Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable..."; // untranslated
286
- Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable..."; // untranslated
287
- Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable..."; // untranslated
285
+ Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Izveidot krāsas mainīgo...";
286
+ Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Izveidot skaitļa mainīgo...";
287
+ Blockly.Msg["NEW_STRING_VARIABLE"] = "Izveidot virknes mainīgo...";
288
288
  Blockly.Msg["NEW_VARIABLE"] = "Izveidot mainīgo...";
289
289
  Blockly.Msg["NEW_VARIABLE_TITLE"] = "Jaunā mainīgā vārds:";
290
- Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:"; // untranslated
290
+ Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Jauns mainīgā tips:";
291
291
  Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = ""; // untranslated
292
292
  Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "atļaut apakškomandas";
293
293
  Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "ar:";
294
- Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
294
+ Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
295
295
  Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Izpildīt iepriekš definētu funkcju '%1'.";
296
- Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
296
+ Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
297
297
  Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Izpildīt iepriekš definētu funkcju '%1' un izmantot tās rezultātu.";
298
298
  Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "ar:";
299
299
  Blockly.Msg["PROCEDURES_CREATE_DO"] = "Izveidot '%1' izsaukumu";
@@ -334,11 +334,11 @@ Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Tex
334
334
  Blockly.Msg["TEXT_CHARAT_LAST"] = "paņemt pēdējo burtu";
335
335
  Blockly.Msg["TEXT_CHARAT_RANDOM"] = "paņemt nejaušu burtu";
336
336
  Blockly.Msg["TEXT_CHARAT_TAIL"] = ""; // untranslated
337
- Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2"; // untranslated
337
+ Blockly.Msg["TEXT_CHARAT_TITLE"] = "tekstā %1 %2";
338
338
  Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Atgriež burtu dotajā pozīcijā.";
339
339
  Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings"; // untranslated
340
- Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2"; // untranslated
341
- Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text."; // untranslated
340
+ Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "skaitīt %1 iekš %2";
341
+ Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Saskaitīt, cik reizes kāds teksts atrodas iekš kāda cita teksta.";
342
342
  Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Pievienot tekstam objektu.";
343
343
  Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "savienot";
344
344
  Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Pievienot, noņemt vai mainīt sekciju secību šim \"teksta\" blokam.";
@@ -375,11 +375,11 @@ Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Palūgt lietotāju ievadīt tekstu.";
375
375
  Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "palūgt ievadīt skaitli ar ziņu";
376
376
  Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "palūgt ievadīt tekstu ar ziņu";
377
377
  Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings"; // untranslated
378
- Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3"; // untranslated
379
- Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text."; // untranslated
378
+ Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "apmainīt %1 ar %2 iekš %3";
379
+ Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Apmainīt kāda teksta fragmentus citā tekstā.";
380
380
  Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text"; // untranslated
381
- Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1"; // untranslated
382
- Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text."; // untranslated
381
+ Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "apgriezt otrādi %1";
382
+ Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Apgriež otrādi teksta rakstzīmju kārtu.";
383
383
  Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";
384
384
  Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Burts, vārds vai jebkāda teksta rinda.";
385
385
  Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces"; // untranslated
@@ -399,9 +399,9 @@ Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Izveidot 'ņem %1'";
399
399
  Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set"; // untranslated
400
400
  Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Piešķirt mainīgajam vērtību.";
401
401
  Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Mainīgais '%1' jau eksistē.";
402
- Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'."; // untranslated
403
- Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "Blockly Workspace"; // untranslated
404
- Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something..."; // untranslated
402
+ Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Mainīgais ar nosaukumu '%1' jau pastāv citam tipam: '%2'";
403
+ Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "Blockly Darbavieta";
404
+ Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Saki kaut ko...";
405
405
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
406
406
  Blockly.Msg["CONTROLS_FOR_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
407
407
  Blockly.Msg["CONTROLS_IF_ELSEIF_TITLE_ELSEIF"] = Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"];
package/msg/pa.js CHANGED
@@ -53,9 +53,9 @@ Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Add a condition to the if block.";
53
53
  Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Add a final, catch-all condition to the if block."; // untranslated
54
54
  Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse"; // untranslated
55
55
  Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this if block."; // untranslated
56
- Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "else"; // untranslated
56
+ Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "ਹੋਰ";
57
57
  Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "else if"; // untranslated
58
- Blockly.Msg["CONTROLS_IF_MSG_IF"] = "if"; // untranslated
58
+ Blockly.Msg["CONTROLS_IF_MSG_IF"] = "ਜੇ";
59
59
  Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "If a value is true, then do some statements."; // untranslated
60
60
  Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "If a value is true, then do the first block of statements. Otherwise, do the second block of statements."; // untranslated
61
61
  Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "If the first value is true, then do the first block of statements. Otherwise, if the second value is true, do the second block of statements."; // untranslated
@@ -389,7 +389,7 @@ Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "trim spaces from right side of"; //
389
389
  Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Return a copy of the text with spaces removed from one or both ends."; // untranslated
390
390
  Blockly.Msg["TODAY"] = "ਅੱਜ";
391
391
  Blockly.Msg["UNDO"] = "ਅਣਕੀਤਾ ਕਰੋ";
392
- Blockly.Msg["UNNAMED_KEY"] = "unnamed"; // untranslated
392
+ Blockly.Msg["UNNAMED_KEY"] = "ਬੇਨਾਮ";
393
393
  Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "ਸਮੱਗਰੀ";
394
394
  Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Create 'set %1'"; // untranslated
395
395
  Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get"; // untranslated
package/msg/te.js CHANGED
@@ -98,7 +98,7 @@ Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "మొదటి";
98
98
  Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "#చివరి నుండి";
99
99
  Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#"; // untranslated
100
100
  Blockly.Msg["LISTS_GET_INDEX_GET"] = "పొందు";
101
- Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "పొందు మరియు తొలగించు";
101
+ Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "తెచ్చుకుని, తీసెయ్యి";
102
102
  Blockly.Msg["LISTS_GET_INDEX_LAST"] = "చివరి";
103
103
  Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "యాదృచ్చిక";
104
104
  Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "తొలగించు";
package/msg/yue.js CHANGED
@@ -60,7 +60,7 @@ Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "If a value is true, then do some stateme
60
60
  Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "If a value is true, then do the first block of statements. Otherwise, do the second block of statements."; // untranslated
61
61
  Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "If the first value is true, then do the first block of statements. Otherwise, if the second value is true, do the second block of statements."; // untranslated
62
62
  Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "If the first value is true, then do the first block of statements. Otherwise, if the second value is true, do the second block of statements. If none of the values are true, do the last block of statements."; // untranslated
63
- Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop"; // untranslated
63
+ Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://zh-yue.wikipedia.org/wiki/For_迴圈";
64
64
  Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "do"; // untranslated
65
65
  Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "repeat %1 times"; // untranslated
66
66
  Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Do some statements several times."; // untranslated
package/msg/zh-hans.js CHANGED
@@ -181,7 +181,7 @@ Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "如果第一个输入结果比第二
181
181
  Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "如果第一个输入结果小于或等于第二个输入结果,则返回真。";
182
182
  Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "如果两个输入结果不相等,则返回真。";
183
183
  Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";
184
- Blockly.Msg["LOGIC_NEGATE_TITLE"] = "%1不成立";
184
+ Blockly.Msg["LOGIC_NEGATE_TITLE"] = "非%1";
185
185
  Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "如果输入结果为假,则返回真;如果输入结果为真,则返回假。";
186
186
  Blockly.Msg["LOGIC_NULL"] = "空";
187
187
  Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type"; // untranslated
@@ -262,11 +262,11 @@ Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://zh.wikipedia.org/wiki/平方根";
262
262
  Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "绝对值";
263
263
  Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "平方根";
264
264
  Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "返回一个数值的绝对值。";
265
- Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "返回一个数值的e次幂。";
265
+ Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "返回e的n次幂。";
266
266
  Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "返回一个数值的自然对数。";
267
267
  Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "返回一个数值的以10为底的对数。";
268
268
  Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "返回一个数值的相反数。";
269
- Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "返回一个数值的10次幂。";
269
+ Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "返回10的n次幂。";
270
270
  Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "返回一个数的平方根。";
271
271
  Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-"; // untranslated
272
272
  Blockly.Msg["MATH_TRIG_ACOS"] = "acos"; // untranslated
package/msg/zh-hant.js CHANGED
@@ -16,9 +16,9 @@
16
16
  Blockly.Msg["ADD_COMMENT"] = "加入註解";
17
17
  Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "無法刪除變數「%1」,因為這是功能「%2」定義的一部份內容";
18
18
  Blockly.Msg["CHANGE_VALUE_TITLE"] = "修改值:";
19
- Blockly.Msg["CLEAN_UP"] = "整理積木";
19
+ Blockly.Msg["CLEAN_UP"] = "整理區塊";
20
20
  Blockly.Msg["COLLAPSED_WARNINGS_WARNING"] = "收合含有警告的區塊。";
21
- Blockly.Msg["COLLAPSE_ALL"] = "收合積木";
21
+ Blockly.Msg["COLLAPSE_ALL"] = "收合區塊";
22
22
  Blockly.Msg["COLLAPSE_BLOCK"] = "收合區塊";
23
23
  Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "顏色 1";
24
24
  Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "顏色 2";
@@ -77,7 +77,7 @@ Blockly.Msg["DELETE_X_BLOCKS"] = "刪除%1個積木";
77
77
  Blockly.Msg["DIALOG_CANCEL"] = "取消";
78
78
  Blockly.Msg["DIALOG_OK"] = "確定";
79
79
  Blockly.Msg["DISABLE_BLOCK"] = "停用區塊";
80
- Blockly.Msg["DUPLICATE_BLOCK"] = "複製";
80
+ Blockly.Msg["DUPLICATE_BLOCK"] = "重複";
81
81
  Blockly.Msg["DUPLICATE_COMMENT"] = "複製註解";
82
82
  Blockly.Msg["ENABLE_BLOCK"] = "啟用積木";
83
83
  Blockly.Msg["EXPAND_ALL"] = "展開積木";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "blockly",
3
- "version": "8.0.1",
3
+ "version": "8.0.2",
4
4
  "description": "Blockly is a library for building visual programming editors.",
5
5
  "keywords": [
6
6
  "blockly"
package/php_compressed.js CHANGED
@@ -7,10 +7,11 @@
7
7
  } else if (typeof exports === 'object') { // Node.js
8
8
  module.exports = factory(require("./blockly_compressed.js"));
9
9
  } else { // Browser
10
- root.Blockly.PHP = factory(root.Blockly);
10
+ var factoryExports = factory(root.Blockly);
11
+ root.Blockly.PHP = factoryExports;
11
12
  }
12
- }(this, function(Blockly) {
13
- const $=Blockly.internal_;
13
+ }(this, function(__parent__) {
14
+ var $=__parent__.__namespace__;
14
15
  var module$contents$Blockly$PHP_PHP=new $.module$exports$Blockly$Generator.Generator("PHP");module$contents$Blockly$PHP_PHP.addReservedWords("__halt_compiler,abstract,and,array,as,break,callable,case,catch,class,clone,const,continue,declare,default,die,do,echo,else,elseif,empty,enddeclare,endfor,endforeach,endif,endswitch,endwhile,eval,exit,extends,final,for,foreach,function,global,goto,if,implements,include,include_once,instanceof,insteadof,interface,isset,list,namespace,new,or,print,private,protected,public,require,require_once,return,static,switch,throw,trait,try,unset,use,var,while,xor,PHP_VERSION,PHP_MAJOR_VERSION,PHP_MINOR_VERSION,PHP_RELEASE_VERSION,PHP_VERSION_ID,PHP_EXTRA_VERSION,PHP_ZTS,PHP_DEBUG,PHP_MAXPATHLEN,PHP_OS,PHP_SAPI,PHP_EOL,PHP_INT_MAX,PHP_INT_SIZE,DEFAULT_INCLUDE_PATH,PEAR_INSTALL_DIR,PEAR_EXTENSION_DIR,PHP_EXTENSION_DIR,PHP_PREFIX,PHP_BINDIR,PHP_BINARY,PHP_MANDIR,PHP_LIBDIR,PHP_DATADIR,PHP_SYSCONFDIR,PHP_LOCALSTATEDIR,PHP_CONFIG_FILE_PATH,PHP_CONFIG_FILE_SCAN_DIR,PHP_SHLIB_SUFFIX,E_ERROR,E_WARNING,E_PARSE,E_NOTICE,E_CORE_ERROR,E_CORE_WARNING,E_COMPILE_ERROR,E_COMPILE_WARNING,E_USER_ERROR,E_USER_WARNING,E_USER_NOTICE,E_DEPRECATED,E_USER_DEPRECATED,E_ALL,E_STRICT,__COMPILER_HALT_OFFSET__,TRUE,FALSE,NULL,__CLASS__,__DIR__,__FILE__,__FUNCTION__,__LINE__,__METHOD__,__NAMESPACE__,__TRAIT__");
15
16
  module$contents$Blockly$PHP_PHP.ORDER_ATOMIC=0;module$contents$Blockly$PHP_PHP.ORDER_CLONE=1;module$contents$Blockly$PHP_PHP.ORDER_NEW=1;module$contents$Blockly$PHP_PHP.ORDER_MEMBER=2.1;module$contents$Blockly$PHP_PHP.ORDER_FUNCTION_CALL=2.2;module$contents$Blockly$PHP_PHP.ORDER_POWER=3;module$contents$Blockly$PHP_PHP.ORDER_INCREMENT=4;module$contents$Blockly$PHP_PHP.ORDER_DECREMENT=4;module$contents$Blockly$PHP_PHP.ORDER_BITWISE_NOT=4;module$contents$Blockly$PHP_PHP.ORDER_CAST=4;
16
17
  module$contents$Blockly$PHP_PHP.ORDER_SUPPRESS_ERROR=4;module$contents$Blockly$PHP_PHP.ORDER_INSTANCEOF=5;module$contents$Blockly$PHP_PHP.ORDER_LOGICAL_NOT=6;module$contents$Blockly$PHP_PHP.ORDER_UNARY_PLUS=7.1;module$contents$Blockly$PHP_PHP.ORDER_UNARY_NEGATION=7.2;module$contents$Blockly$PHP_PHP.ORDER_MULTIPLICATION=8.1;module$contents$Blockly$PHP_PHP.ORDER_DIVISION=8.2;module$contents$Blockly$PHP_PHP.ORDER_MODULUS=8.3;module$contents$Blockly$PHP_PHP.ORDER_ADDITION=9.1;
@@ -27,15 +28,13 @@ module$contents$Blockly$PHP_PHP.getAdjusted=function(a,b,c,d,e){c=c||0;e=e||this
27
28
  (a="("+a+")"));return a};$.Blockly.PHP=module$contents$Blockly$PHP_PHP;var module$exports$Blockly$PHP$variables={};$.Blockly.PHP.variables_get=function(a){return[$.Blockly.PHP.nameDB_.getName(a.getFieldValue("VAR"),$.module$exports$Blockly$Names.NameType.VARIABLE),$.Blockly.PHP.ORDER_ATOMIC]};$.Blockly.PHP.variables_set=function(a){var b=$.Blockly.PHP.valueToCode(a,"VALUE",$.Blockly.PHP.ORDER_ASSIGNMENT)||"0";return $.Blockly.PHP.nameDB_.getName(a.getFieldValue("VAR"),$.module$exports$Blockly$Names.NameType.VARIABLE)+" = "+b+";\n"};var module$exports$Blockly$PHP$variablesDynamic={};$.Blockly.PHP.variables_get_dynamic=$.Blockly.PHP.variables_get;$.Blockly.PHP.variables_set_dynamic=$.Blockly.PHP.variables_set;var module$exports$Blockly$PHP$texts={};$.Blockly.PHP.text=function(a){return[$.Blockly.PHP.quote_(a.getFieldValue("TEXT")),$.Blockly.PHP.ORDER_ATOMIC]};$.Blockly.PHP.text_multiline=function(a){a=$.Blockly.PHP.multiline_quote_(a.getFieldValue("TEXT"));var b=-1!==a.indexOf(".")?$.Blockly.PHP.ORDER_STRING_CONCAT:$.Blockly.PHP.ORDER_ATOMIC;return[a,b]};
28
29
  $.Blockly.PHP.text_join=function(a){if(0===a.itemCount_)return["''",$.Blockly.PHP.ORDER_ATOMIC];if(1===a.itemCount_)return[$.Blockly.PHP.valueToCode(a,"ADD0",$.Blockly.PHP.ORDER_NONE)||"''",$.Blockly.PHP.ORDER_NONE];if(2===a.itemCount_){var b=$.Blockly.PHP.valueToCode(a,"ADD0",$.Blockly.PHP.ORDER_STRING_CONCAT)||"''";a=$.Blockly.PHP.valueToCode(a,"ADD1",$.Blockly.PHP.ORDER_STRING_CONCAT)||"''";return[b+" . "+a,$.Blockly.PHP.ORDER_STRING_CONCAT]}b=Array(a.itemCount_);for(var c=0;c<a.itemCount_;c++)b[c]=
29
30
  $.Blockly.PHP.valueToCode(a,"ADD"+c,$.Blockly.PHP.ORDER_NONE)||"''";return["implode('', array("+b.join(",")+"))",$.Blockly.PHP.ORDER_FUNCTION_CALL]};$.Blockly.PHP.text_append=function(a){var b=$.Blockly.PHP.nameDB_.getName(a.getFieldValue("VAR"),$.module$exports$Blockly$Names.NameType.VARIABLE);a=$.Blockly.PHP.valueToCode(a,"TEXT",$.Blockly.PHP.ORDER_ASSIGNMENT)||"''";return b+" .= "+a+";\n"};
30
- $.Blockly.PHP.text_length=function(a){var b=$.Blockly.PHP.provideFunction_("length",["function "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($value) {"," if (is_string($value)) {"," return strlen($value);"," } else {"," return count($value);"," }","}"]);a=$.Blockly.PHP.valueToCode(a,"VALUE",$.Blockly.PHP.ORDER_NONE)||"''";return[b+"("+a+")",$.Blockly.PHP.ORDER_FUNCTION_CALL]};
31
- $.Blockly.PHP.text_isEmpty=function(a){return["empty("+($.Blockly.PHP.valueToCode(a,"VALUE",$.Blockly.PHP.ORDER_NONE)||"''")+")",$.Blockly.PHP.ORDER_FUNCTION_CALL]};
32
- $.Blockly.PHP.text_indexOf=function(a){var b="FIRST"===a.getFieldValue("END")?"strpos":"strrpos",c=$.Blockly.PHP.valueToCode(a,"FIND",$.Blockly.PHP.ORDER_NONE)||"''",d=$.Blockly.PHP.valueToCode(a,"VALUE",$.Blockly.PHP.ORDER_NONE)||"''",e=" -1",f="";a.workspace.options.oneBasedIndex&&(e=" 0",f=" + 1");return[$.Blockly.PHP.provideFunction_("FIRST"===a.getFieldValue("END")?"text_indexOf":"text_lastIndexOf",["function "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($text, $search) {"," $pos = "+b+"($text, $search);",
33
- " return $pos === false ? "+e+" : $pos"+f+";","}"])+"("+d+", "+c+")",$.Blockly.PHP.ORDER_FUNCTION_CALL]};
31
+ $.Blockly.PHP.text_length=function(a){var b=$.Blockly.PHP.provideFunction_("length","\nfunction "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($value) {\n if (is_string($value)) {\n return strlen($value);\n }\n return count($value);\n}\n");a=$.Blockly.PHP.valueToCode(a,"VALUE",$.Blockly.PHP.ORDER_NONE)||"''";return[b+"("+a+")",$.Blockly.PHP.ORDER_FUNCTION_CALL]};$.Blockly.PHP.text_isEmpty=function(a){return["empty("+($.Blockly.PHP.valueToCode(a,"VALUE",$.Blockly.PHP.ORDER_NONE)||"''")+")",$.Blockly.PHP.ORDER_FUNCTION_CALL]};
32
+ $.Blockly.PHP.text_indexOf=function(a){var b="FIRST"===a.getFieldValue("END")?"strpos":"strrpos",c=$.Blockly.PHP.valueToCode(a,"FIND",$.Blockly.PHP.ORDER_NONE)||"''",d=$.Blockly.PHP.valueToCode(a,"VALUE",$.Blockly.PHP.ORDER_NONE)||"''",e=" -1",f="";a.workspace.options.oneBasedIndex&&(e=" 0",f=" + 1");return[$.Blockly.PHP.provideFunction_("FIRST"===a.getFieldValue("END")?"text_indexOf":"text_lastIndexOf","\nfunction "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($text, $search) {\n $pos = "+b+"($text, $search);\n return $pos === false ? "+
33
+ e+" : $pos"+f+";\n}\n")+"("+d+", "+c+")",$.Blockly.PHP.ORDER_FUNCTION_CALL]};
34
34
  $.Blockly.PHP.text_charAt=function(a){var b=a.getFieldValue("WHERE")||"FROM_START",c=$.Blockly.PHP.valueToCode(a,"VALUE",$.Blockly.PHP.ORDER_NONE)||"''";switch(b){case "FIRST":return["substr("+c+", 0, 1)",$.Blockly.PHP.ORDER_FUNCTION_CALL];case "LAST":return["substr("+c+", -1)",$.Blockly.PHP.ORDER_FUNCTION_CALL];case "FROM_START":return a=$.Blockly.PHP.getAdjusted(a,"AT"),["substr("+c+", "+a+", 1)",$.Blockly.PHP.ORDER_FUNCTION_CALL];case "FROM_END":return a=$.Blockly.PHP.getAdjusted(a,"AT",1,!0),
35
- ["substr("+c+", "+a+", 1)",$.Blockly.PHP.ORDER_FUNCTION_CALL];case "RANDOM":return[$.Blockly.PHP.provideFunction_("text_random_letter",["function "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($text) {"," return $text[rand(0, strlen($text) - 1)];","}"])+"("+c+")",$.Blockly.PHP.ORDER_FUNCTION_CALL]}throw Error("Unhandled option (text_charAt).");};
36
- $.Blockly.PHP.text_getSubstring=function(a){var b=a.getFieldValue("WHERE1"),c=a.getFieldValue("WHERE2"),d=$.Blockly.PHP.valueToCode(a,"STRING",$.Blockly.PHP.ORDER_NONE)||"''";if("FIRST"===b&&"LAST"===c)return[d,$.Blockly.PHP.ORDER_NONE];var e=$.Blockly.PHP.getAdjusted(a,"AT1");a=$.Blockly.PHP.getAdjusted(a,"AT2");return[$.Blockly.PHP.provideFunction_("text_get_substring",["function "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($text, $where1, $at1, $where2, $at2) {"," if ($where1 == 'FROM_END') {",
37
- " $at1 = strlen($text) - 1 - $at1;"," } else if ($where1 == 'FIRST') {"," $at1 = 0;"," } else if ($where1 != 'FROM_START') {"," throw new Exception('Unhandled option (text_get_substring).');"," }"," $length = 0;"," if ($where2 == 'FROM_START') {"," $length = $at2 - $at1 + 1;"," } else if ($where2 == 'FROM_END') {"," $length = strlen($text) - $at1 - $at2;"," } else if ($where2 == 'LAST') {"," $length = strlen($text) - $at1;"," } else {"," throw new Exception('Unhandled option (text_get_substring).');",
38
- " }"," return substr($text, $at1, $length);","}"])+"("+d+", '"+b+"', "+e+", '"+c+"', "+a+")",$.Blockly.PHP.ORDER_FUNCTION_CALL]};$.Blockly.PHP.text_changeCase=function(a){var b=$.Blockly.PHP.valueToCode(a,"TEXT",$.Blockly.PHP.ORDER_NONE)||"''",c;"UPPERCASE"===a.getFieldValue("CASE")?c="strtoupper("+b+")":"LOWERCASE"===a.getFieldValue("CASE")?c="strtolower("+b+")":"TITLECASE"===a.getFieldValue("CASE")&&(c="ucwords(strtolower("+b+"))");return[c,$.Blockly.PHP.ORDER_FUNCTION_CALL]};
35
+ ["substr("+c+", "+a+", 1)",$.Blockly.PHP.ORDER_FUNCTION_CALL];case "RANDOM":return[$.Blockly.PHP.provideFunction_("text_random_letter","\nfunction "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($text) {\n return $text[rand(0, strlen($text) - 1)];\n}\n")+"("+c+")",$.Blockly.PHP.ORDER_FUNCTION_CALL]}throw Error("Unhandled option (text_charAt).");};
36
+ $.Blockly.PHP.text_getSubstring=function(a){var b=a.getFieldValue("WHERE1"),c=a.getFieldValue("WHERE2"),d=$.Blockly.PHP.valueToCode(a,"STRING",$.Blockly.PHP.ORDER_NONE)||"''";if("FIRST"===b&&"LAST"===c)return[d,$.Blockly.PHP.ORDER_NONE];var e=$.Blockly.PHP.getAdjusted(a,"AT1");a=$.Blockly.PHP.getAdjusted(a,"AT2");return[$.Blockly.PHP.provideFunction_("text_get_substring","\nfunction "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($text, $where1, $at1, $where2, $at2) {\n if ($where1 == 'FROM_END') {\n $at1 = strlen($text) - 1 - $at1;\n } else if ($where1 == 'FIRST') {\n $at1 = 0;\n } else if ($where1 != 'FROM_START') {\n throw new Exception('Unhandled option (text_get_substring).');\n }\n $length = 0;\n if ($where2 == 'FROM_START') {\n $length = $at2 - $at1 + 1;\n } else if ($where2 == 'FROM_END') {\n $length = strlen($text) - $at1 - $at2;\n } else if ($where2 == 'LAST') {\n $length = strlen($text) - $at1;\n } else {\n throw new Exception('Unhandled option (text_get_substring).');\n }\n return substr($text, $at1, $length);\n}\n")+
37
+ "("+d+", '"+b+"', "+e+", '"+c+"', "+a+")",$.Blockly.PHP.ORDER_FUNCTION_CALL]};$.Blockly.PHP.text_changeCase=function(a){var b=$.Blockly.PHP.valueToCode(a,"TEXT",$.Blockly.PHP.ORDER_NONE)||"''",c;"UPPERCASE"===a.getFieldValue("CASE")?c="strtoupper("+b+")":"LOWERCASE"===a.getFieldValue("CASE")?c="strtolower("+b+")":"TITLECASE"===a.getFieldValue("CASE")&&(c="ucwords(strtolower("+b+"))");return[c,$.Blockly.PHP.ORDER_FUNCTION_CALL]};
39
38
  $.Blockly.PHP.text_trim=function(a){var b={LEFT:"ltrim",RIGHT:"rtrim",BOTH:"trim"}[a.getFieldValue("MODE")];a=$.Blockly.PHP.valueToCode(a,"TEXT",$.Blockly.PHP.ORDER_NONE)||"''";return[b+"("+a+")",$.Blockly.PHP.ORDER_FUNCTION_CALL]};$.Blockly.PHP.text_print=function(a){return"print("+($.Blockly.PHP.valueToCode(a,"TEXT",$.Blockly.PHP.ORDER_NONE)||"''")+");\n"};
40
39
  $.Blockly.PHP.text_prompt_ext=function(a){var b="readline("+(a.getField("TEXT")?$.Blockly.PHP.quote_(a.getFieldValue("TEXT")):$.Blockly.PHP.valueToCode(a,"TEXT",$.Blockly.PHP.ORDER_NONE)||"''")+")";"NUMBER"===a.getFieldValue("TYPE")&&(b="floatval("+b+")");return[b,$.Blockly.PHP.ORDER_FUNCTION_CALL]};$.Blockly.PHP.text_prompt=$.Blockly.PHP.text_prompt_ext;
41
40
  $.Blockly.PHP.text_count=function(a){var b=$.Blockly.PHP.valueToCode(a,"TEXT",$.Blockly.PHP.ORDER_NONE)||"''";a=$.Blockly.PHP.valueToCode(a,"SUB",$.Blockly.PHP.ORDER_NONE)||"''";return["strlen("+a+") === 0 ? strlen("+b+") + 1 : substr_count("+b+", "+a+")",$.Blockly.PHP.ORDER_CONDITIONAL]};
@@ -50,18 +49,18 @@ $.Blockly.PHP.math_arithmetic=function(a){var b={ADD:[" + ",$.Blockly.PHP.ORDER_
50
49
  $.Blockly.PHP.math_single=function(a){var b=a.getFieldValue("OP");if("NEG"===b)return a=$.Blockly.PHP.valueToCode(a,"NUM",$.Blockly.PHP.ORDER_UNARY_NEGATION)||"0","-"===a[0]&&(a=" "+a),["-"+a,$.Blockly.PHP.ORDER_UNARY_NEGATION];a="SIN"===b||"COS"===b||"TAN"===b?$.Blockly.PHP.valueToCode(a,"NUM",$.Blockly.PHP.ORDER_DIVISION)||"0":$.Blockly.PHP.valueToCode(a,"NUM",$.Blockly.PHP.ORDER_NONE)||"0";switch(b){case "ABS":var c="abs("+a+")";break;case "ROOT":c="sqrt("+a+")";break;case "LN":c="log("+a+")";
51
50
  break;case "EXP":c="exp("+a+")";break;case "POW10":c="pow(10,"+a+")";break;case "ROUND":c="round("+a+")";break;case "ROUNDUP":c="ceil("+a+")";break;case "ROUNDDOWN":c="floor("+a+")";break;case "SIN":c="sin("+a+" / 180 * pi())";break;case "COS":c="cos("+a+" / 180 * pi())";break;case "TAN":c="tan("+a+" / 180 * pi())"}if(c)return[c,$.Blockly.PHP.ORDER_FUNCTION_CALL];switch(b){case "LOG10":c="log("+a+") / log(10)";break;case "ASIN":c="asin("+a+") / pi() * 180";break;case "ACOS":c="acos("+a+") / pi() * 180";
52
51
  break;case "ATAN":c="atan("+a+") / pi() * 180";break;default:throw Error("Unknown math operator: "+b);}return[c,$.Blockly.PHP.ORDER_DIVISION]};$.Blockly.PHP.math_constant=function(a){return{PI:["M_PI",$.Blockly.PHP.ORDER_ATOMIC],E:["M_E",$.Blockly.PHP.ORDER_ATOMIC],GOLDEN_RATIO:["(1 + sqrt(5)) / 2",$.Blockly.PHP.ORDER_DIVISION],SQRT2:["M_SQRT2",$.Blockly.PHP.ORDER_ATOMIC],SQRT1_2:["M_SQRT1_2",$.Blockly.PHP.ORDER_ATOMIC],INFINITY:["INF",$.Blockly.PHP.ORDER_ATOMIC]}[a.getFieldValue("CONSTANT")]};
53
- $.Blockly.PHP.math_number_property=function(a){var b=$.Blockly.PHP.valueToCode(a,"NUMBER_TO_CHECK",$.Blockly.PHP.ORDER_MODULUS)||"0",c=a.getFieldValue("PROPERTY");if("PRIME"===c)return[$.Blockly.PHP.provideFunction_("math_isPrime",["function "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($n) {"," // https://en.wikipedia.org/wiki/Primality_test#Naive_methods"," if ($n == 2 || $n == 3) {"," return true;"," }"," // False if n is NaN, negative, is 1, or not whole."," // And false if n is divisible by 2 or 3.",
54
- " if (!is_numeric($n) || $n <= 1 || $n % 1 != 0 || $n % 2 == 0 || $n % 3 == 0) {"," return false;"," }"," // Check all the numbers of form 6k +/- 1, up to sqrt(n)."," for ($x = 6; $x <= sqrt($n) + 1; $x += 6) {"," if ($n % ($x - 1) == 0 || $n % ($x + 1) == 0) {"," return false;"," }"," }"," return true;","}"])+"("+b+")",$.Blockly.PHP.ORDER_FUNCTION_CALL];switch(c){case "EVEN":var d=b+" % 2 == 0";break;case "ODD":d=b+" % 2 == 1";break;case "WHOLE":d="is_int("+b+")";break;case "POSITIVE":d=
55
- b+" > 0";break;case "NEGATIVE":d=b+" < 0";break;case "DIVISIBLE_BY":a=$.Blockly.PHP.valueToCode(a,"DIVISOR",$.Blockly.PHP.ORDER_MODULUS)||"0",d=b+" % "+a+" == 0"}return[d,$.Blockly.PHP.ORDER_EQUALITY]};$.Blockly.PHP.math_change=function(a){var b=$.Blockly.PHP.valueToCode(a,"DELTA",$.Blockly.PHP.ORDER_ADDITION)||"0";return $.Blockly.PHP.nameDB_.getName(a.getFieldValue("VAR"),$.module$exports$Blockly$Names.NameType.VARIABLE)+" += "+b+";\n"};$.Blockly.PHP.math_round=$.Blockly.PHP.math_single;
52
+ $.Blockly.PHP.math_number_property=function(a){var b={EVEN:[""," % 2 == 0",$.Blockly.PHP.ORDER_MODULUS,$.Blockly.PHP.ORDER_EQUALITY],ODD:[""," % 2 == 1",$.Blockly.PHP.ORDER_MODULUS,$.Blockly.PHP.ORDER_EQUALITY],WHOLE:["is_int(",")",$.Blockly.PHP.ORDER_NONE,$.Blockly.PHP.ORDER_FUNCTION_CALL],POSITIVE:[""," > 0",$.Blockly.PHP.ORDER_RELATIONAL,$.Blockly.PHP.ORDER_RELATIONAL],NEGATIVE:[""," < 0",$.Blockly.PHP.ORDER_RELATIONAL,$.Blockly.PHP.ORDER_RELATIONAL],DIVISIBLE_BY:[null,null,$.Blockly.PHP.ORDER_MODULUS,
53
+ $.Blockly.PHP.ORDER_EQUALITY],PRIME:[null,null,$.Blockly.PHP.ORDER_NONE,$.Blockly.PHP.ORDER_FUNCTION_CALL]},c=a.getFieldValue("PROPERTY");b=$.$jscomp.makeIterator(b[c]);var d=b.next().value,e=b.next().value,f=b.next().value;b=b.next().value;f=$.Blockly.PHP.valueToCode(a,"NUMBER_TO_CHECK",f)||"0";if("PRIME"===c)a=$.Blockly.PHP.provideFunction_("math_isPrime","\nfunction "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($n) {\n // https://en.wikipedia.org/wiki/Primality_test#Naive_methods\n if ($n == 2 || $n == 3) {\n return true;\n }\n // False if n is NaN, negative, is 1, or not whole.\n // And false if n is divisible by 2 or 3.\n if (!is_numeric($n) || $n <= 1 || $n % 1 != 0 || $n % 2 == 0 || $n % 3 == 0) {\n return false;\n }\n // Check all the numbers of form 6k +/- 1, up to sqrt(n).\n for ($x = 6; $x <= sqrt($n) + 1; $x += 6) {\n if ($n % ($x - 1) == 0 || $n % ($x + 1) == 0) {\n return false;\n }\n }\n return true;\n}\n")+
54
+ "("+f+")";else if("DIVISIBLE_BY"===c){a=$.Blockly.PHP.valueToCode(a,"DIVISOR",$.Blockly.PHP.ORDER_MODULUS)||"0";if("0"===a)return["false",$.Blockly.PHP.ORDER_ATOMIC];a=f+" % "+a+" == 0"}else a=d+f+e;return[a,b]};$.Blockly.PHP.math_change=function(a){var b=$.Blockly.PHP.valueToCode(a,"DELTA",$.Blockly.PHP.ORDER_ADDITION)||"0";return $.Blockly.PHP.nameDB_.getName(a.getFieldValue("VAR"),$.module$exports$Blockly$Names.NameType.VARIABLE)+" += "+b+";\n"};$.Blockly.PHP.math_round=$.Blockly.PHP.math_single;
56
55
  $.Blockly.PHP.math_trig=$.Blockly.PHP.math_single;
57
- $.Blockly.PHP.math_on_list=function(a){var b=a.getFieldValue("OP");switch(b){case "SUM":a=$.Blockly.PHP.valueToCode(a,"LIST",$.Blockly.PHP.ORDER_FUNCTION_CALL)||"array()";a="array_sum("+a+")";break;case "MIN":a=$.Blockly.PHP.valueToCode(a,"LIST",$.Blockly.PHP.ORDER_FUNCTION_CALL)||"array()";a="min("+a+")";break;case "MAX":a=$.Blockly.PHP.valueToCode(a,"LIST",$.Blockly.PHP.ORDER_FUNCTION_CALL)||"array()";a="max("+a+")";break;case "AVERAGE":b=$.Blockly.PHP.provideFunction_("math_mean",["function "+
58
- $.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($myList) {"," return array_sum($myList) / count($myList);","}"]);a=$.Blockly.PHP.valueToCode(a,"LIST",$.Blockly.PHP.ORDER_NONE)||"array()";a=b+"("+a+")";break;case "MEDIAN":b=$.Blockly.PHP.provideFunction_("math_median",["function "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($arr) {"," sort($arr,SORT_NUMERIC);"," return (count($arr) % 2) ? $arr[floor(count($arr)/2)] : "," ($arr[floor(count($arr)/2)] + $arr[floor(count($arr)/2) - 1]) / 2;","}"]);a=
59
- $.Blockly.PHP.valueToCode(a,"LIST",$.Blockly.PHP.ORDER_NONE)||"[]";a=b+"("+a+")";break;case "MODE":b=$.Blockly.PHP.provideFunction_("math_modes",["function "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($values) {"," if (empty($values)) return array();"," $counts = array_count_values($values);"," arsort($counts); // Sort counts in descending order"," $modes = array_keys($counts, current($counts), true);"," return $modes;","}"]);a=$.Blockly.PHP.valueToCode(a,"LIST",$.Blockly.PHP.ORDER_NONE)||"[]";
60
- a=b+"("+a+")";break;case "STD_DEV":b=$.Blockly.PHP.provideFunction_("math_standard_deviation",["function "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($numbers) {"," $n = count($numbers);"," if (!$n) return null;"," $mean = array_sum($numbers) / count($numbers);"," foreach($numbers as $key => $num) $devs[$key] = pow($num - $mean, 2);"," return sqrt(array_sum($devs) / (count($devs) - 1));","}"]);a=$.Blockly.PHP.valueToCode(a,"LIST",$.Blockly.PHP.ORDER_NONE)||"[]";a=b+"("+a+")";break;case "RANDOM":b=
61
- $.Blockly.PHP.provideFunction_("math_random_list",["function "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($list) {"," $x = rand(0, count($list)-1);"," return $list[$x];","}"]);a=$.Blockly.PHP.valueToCode(a,"LIST",$.Blockly.PHP.ORDER_NONE)||"[]";a=b+"("+a+")";break;default:throw Error("Unknown operator: "+b);}return[a,$.Blockly.PHP.ORDER_FUNCTION_CALL]};
56
+ $.Blockly.PHP.math_on_list=function(a){var b=a.getFieldValue("OP");switch(b){case "SUM":a=$.Blockly.PHP.valueToCode(a,"LIST",$.Blockly.PHP.ORDER_FUNCTION_CALL)||"array()";a="array_sum("+a+")";break;case "MIN":a=$.Blockly.PHP.valueToCode(a,"LIST",$.Blockly.PHP.ORDER_FUNCTION_CALL)||"array()";a="min("+a+")";break;case "MAX":a=$.Blockly.PHP.valueToCode(a,"LIST",$.Blockly.PHP.ORDER_FUNCTION_CALL)||"array()";a="max("+a+")";break;case "AVERAGE":b=$.Blockly.PHP.provideFunction_("math_mean","\nfunction "+
57
+ $.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($myList) {\n return array_sum($myList) / count($myList);\n}\n");a=$.Blockly.PHP.valueToCode(a,"LIST",$.Blockly.PHP.ORDER_NONE)||"array()";a=b+"("+a+")";break;case "MEDIAN":b=$.Blockly.PHP.provideFunction_("math_median","\nfunction "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($arr) {\n sort($arr,SORT_NUMERIC);\n return (count($arr) % 2) ? $arr[floor(count($arr) / 2)] :\n ($arr[floor(count($arr) / 2)] + $arr[floor(count($arr) / 2) - 1]) / 2;\n}\n");
58
+ a=$.Blockly.PHP.valueToCode(a,"LIST",$.Blockly.PHP.ORDER_NONE)||"[]";a=b+"("+a+")";break;case "MODE":b=$.Blockly.PHP.provideFunction_("math_modes","\nfunction "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($values) {\n if (empty($values)) return array();\n $counts = array_count_values($values);\n arsort($counts); // Sort counts in descending order\n $modes = array_keys($counts, current($counts), true);\n return $modes;\n}\n");a=$.Blockly.PHP.valueToCode(a,"LIST",$.Blockly.PHP.ORDER_NONE)||"[]";
59
+ a=b+"("+a+")";break;case "STD_DEV":b=$.Blockly.PHP.provideFunction_("math_standard_deviation","\nfunction "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($numbers) {\n $n = count($numbers);\n if (!$n) return null;\n $mean = array_sum($numbers) / count($numbers);\n foreach($numbers as $key => $num) $devs[$key] = pow($num - $mean, 2);\n return sqrt(array_sum($devs) / (count($devs) - 1));\n}\n");a=$.Blockly.PHP.valueToCode(a,"LIST",$.Blockly.PHP.ORDER_NONE)||"[]";a=b+"("+a+")";break;case "RANDOM":b=
60
+ $.Blockly.PHP.provideFunction_("math_random_list","\nfunction "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($list) {\n $x = rand(0, count($list)-1);\n return $list[$x];\n}\n");a=$.Blockly.PHP.valueToCode(a,"LIST",$.Blockly.PHP.ORDER_NONE)||"[]";a=b+"("+a+")";break;default:throw Error("Unknown operator: "+b);}return[a,$.Blockly.PHP.ORDER_FUNCTION_CALL]};
62
61
  $.Blockly.PHP.math_modulo=function(a){var b=$.Blockly.PHP.valueToCode(a,"DIVIDEND",$.Blockly.PHP.ORDER_MODULUS)||"0";a=$.Blockly.PHP.valueToCode(a,"DIVISOR",$.Blockly.PHP.ORDER_MODULUS)||"0";return[b+" % "+a,$.Blockly.PHP.ORDER_MODULUS]};
63
62
  $.Blockly.PHP.math_constrain=function(a){var b=$.Blockly.PHP.valueToCode(a,"VALUE",$.Blockly.PHP.ORDER_NONE)||"0",c=$.Blockly.PHP.valueToCode(a,"LOW",$.Blockly.PHP.ORDER_NONE)||"0";a=$.Blockly.PHP.valueToCode(a,"HIGH",$.Blockly.PHP.ORDER_NONE)||"Infinity";return["min(max("+b+", "+c+"), "+a+")",$.Blockly.PHP.ORDER_FUNCTION_CALL]};
64
- $.Blockly.PHP.math_random_int=function(a){var b=$.Blockly.PHP.valueToCode(a,"FROM",$.Blockly.PHP.ORDER_NONE)||"0";a=$.Blockly.PHP.valueToCode(a,"TO",$.Blockly.PHP.ORDER_NONE)||"0";return[$.Blockly.PHP.provideFunction_("math_random_int",["function "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($a, $b) {"," if ($a > $b) {"," return rand($b, $a);"," }"," return rand($a, $b);","}"])+"("+b+", "+a+")",$.Blockly.PHP.ORDER_FUNCTION_CALL]};
63
+ $.Blockly.PHP.math_random_int=function(a){var b=$.Blockly.PHP.valueToCode(a,"FROM",$.Blockly.PHP.ORDER_NONE)||"0";a=$.Blockly.PHP.valueToCode(a,"TO",$.Blockly.PHP.ORDER_NONE)||"0";return[$.Blockly.PHP.provideFunction_("math_random_int","\nfunction "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($a, $b) {\n if ($a > $b) {\n return rand($b, $a);\n }\n return rand($a, $b);\n}\n")+"("+b+", "+a+")",$.Blockly.PHP.ORDER_FUNCTION_CALL]};
65
64
  $.Blockly.PHP.math_random_float=function(a){return["(float)rand()/(float)getrandmax()",$.Blockly.PHP.ORDER_FUNCTION_CALL]};$.Blockly.PHP.math_atan2=function(a){var b=$.Blockly.PHP.valueToCode(a,"X",$.Blockly.PHP.ORDER_NONE)||"0";return["atan2("+($.Blockly.PHP.valueToCode(a,"Y",$.Blockly.PHP.ORDER_NONE)||"0")+", "+b+") / pi() * 180",$.Blockly.PHP.ORDER_DIVISION]};var module$exports$Blockly$PHP$loops={};
66
65
  $.Blockly.PHP.controls_repeat_ext=function(a){var b=a.getField("TIMES")?String(Number(a.getFieldValue("TIMES"))):$.Blockly.PHP.valueToCode(a,"TIMES",$.Blockly.PHP.ORDER_ASSIGNMENT)||"0";var c=$.Blockly.PHP.statementToCode(a,"DO");c=$.Blockly.PHP.addLoopTrap(c,a);a="";var d=$.Blockly.PHP.nameDB_.getDistinctName("count",$.module$exports$Blockly$Names.NameType.VARIABLE),e=b;b.match(/^\w+$/)||(0,$.module$exports$Blockly$utils$string.isNumber)(b)||(e=$.Blockly.PHP.nameDB_.getDistinctName("repeat_end",$.module$exports$Blockly$Names.NameType.VARIABLE),
67
66
  a+=e+" = "+b+";\n");return a+("for ("+d+" = 0; "+d+" < "+e+"; "+d+"++) {\n"+c+"}\n")};$.Blockly.PHP.controls_repeat=$.Blockly.PHP.controls_repeat_ext;$.Blockly.PHP.controls_whileUntil=function(a){var b="UNTIL"===a.getFieldValue("MODE"),c=$.Blockly.PHP.valueToCode(a,"BOOL",b?$.Blockly.PHP.ORDER_LOGICAL_NOT:$.Blockly.PHP.ORDER_NONE)||"false",d=$.Blockly.PHP.statementToCode(a,"DO");d=$.Blockly.PHP.addLoopTrap(d,a);b&&(c="!"+c);return"while ("+c+") {\n"+d+"}\n"};
@@ -77,37 +76,34 @@ $.Blockly.PHP.logic_compare=function(a){var b={EQ:"==",NEQ:"!=",LT:"<",LTE:"<=",
77
76
  $.Blockly.PHP.logic_operation=function(a){var b="AND"===a.getFieldValue("OP")?"&&":"||",c="&&"===b?$.Blockly.PHP.ORDER_LOGICAL_AND:$.Blockly.PHP.ORDER_LOGICAL_OR,d=$.Blockly.PHP.valueToCode(a,"A",c);a=$.Blockly.PHP.valueToCode(a,"B",c);if(d||a){var e="&&"===b?"true":"false";d||(d=e);a||(a=e)}else a=d="false";return[d+" "+b+" "+a,c]};$.Blockly.PHP.logic_negate=function(a){var b=$.Blockly.PHP.ORDER_LOGICAL_NOT;return["!"+($.Blockly.PHP.valueToCode(a,"BOOL",b)||"true"),b]};
78
77
  $.Blockly.PHP.logic_boolean=function(a){return["TRUE"===a.getFieldValue("BOOL")?"true":"false",$.Blockly.PHP.ORDER_ATOMIC]};$.Blockly.PHP.logic_null=function(a){return["null",$.Blockly.PHP.ORDER_ATOMIC]};
79
78
  $.Blockly.PHP.logic_ternary=function(a){var b=$.Blockly.PHP.valueToCode(a,"IF",$.Blockly.PHP.ORDER_CONDITIONAL)||"false",c=$.Blockly.PHP.valueToCode(a,"THEN",$.Blockly.PHP.ORDER_CONDITIONAL)||"null";a=$.Blockly.PHP.valueToCode(a,"ELSE",$.Blockly.PHP.ORDER_CONDITIONAL)||"null";return[b+" ? "+c+" : "+a,$.Blockly.PHP.ORDER_CONDITIONAL]};var module$exports$Blockly$PHP$lists={};$.Blockly.PHP.lists_create_empty=function(a){return["array()",$.Blockly.PHP.ORDER_FUNCTION_CALL]};$.Blockly.PHP.lists_create_with=function(a){for(var b=Array(a.itemCount_),c=0;c<a.itemCount_;c++)b[c]=$.Blockly.PHP.valueToCode(a,"ADD"+c,$.Blockly.PHP.ORDER_NONE)||"null";b="array("+b.join(", ")+")";return[b,$.Blockly.PHP.ORDER_FUNCTION_CALL]};
80
- $.Blockly.PHP.lists_repeat=function(a){var b=$.Blockly.PHP.provideFunction_("lists_repeat",["function "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($value, $count) {"," $array = array();"," for ($index = 0; $index < $count; $index++) {"," $array[] = $value;"," }"," return $array;","}"]),c=$.Blockly.PHP.valueToCode(a,"ITEM",$.Blockly.PHP.ORDER_NONE)||"null";a=$.Blockly.PHP.valueToCode(a,"NUM",$.Blockly.PHP.ORDER_NONE)||"0";return[b+"("+c+", "+a+")",$.Blockly.PHP.ORDER_FUNCTION_CALL]};
81
- $.Blockly.PHP.lists_length=function(a){var b=$.Blockly.PHP.provideFunction_("length",["function "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($value) {"," if (is_string($value)) {"," return strlen($value);"," } else {"," return count($value);"," }","}"]);a=$.Blockly.PHP.valueToCode(a,"VALUE",$.Blockly.PHP.ORDER_NONE)||"''";return[b+"("+a+")",$.Blockly.PHP.ORDER_FUNCTION_CALL]};
79
+ $.Blockly.PHP.lists_repeat=function(a){var b=$.Blockly.PHP.provideFunction_("lists_repeat","\nfunction "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($value, $count) {\n $array = array();\n for ($index = 0; $index < $count; $index++) {\n $array[] = $value;\n }\n return $array;\n}\n"),c=$.Blockly.PHP.valueToCode(a,"ITEM",$.Blockly.PHP.ORDER_NONE)||"null";a=$.Blockly.PHP.valueToCode(a,"NUM",$.Blockly.PHP.ORDER_NONE)||"0";return[b+"("+c+", "+a+")",$.Blockly.PHP.ORDER_FUNCTION_CALL]};
80
+ $.Blockly.PHP.lists_length=function(a){var b=$.Blockly.PHP.provideFunction_("length","\nfunction "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($value) {\n if (is_string($value)) {\n return strlen($value);\n } else {\n return count($value);\n }\n}\n");a=$.Blockly.PHP.valueToCode(a,"VALUE",$.Blockly.PHP.ORDER_NONE)||"''";return[b+"("+a+")",$.Blockly.PHP.ORDER_FUNCTION_CALL]};
82
81
  $.Blockly.PHP.lists_isEmpty=function(a){return["empty("+($.Blockly.PHP.valueToCode(a,"VALUE",$.Blockly.PHP.ORDER_FUNCTION_CALL)||"array()")+")",$.Blockly.PHP.ORDER_FUNCTION_CALL]};
83
- $.Blockly.PHP.lists_indexOf=function(a){var b=$.Blockly.PHP.valueToCode(a,"FIND",$.Blockly.PHP.ORDER_NONE)||"''",c=$.Blockly.PHP.valueToCode(a,"VALUE",$.Blockly.PHP.ORDER_MEMBER)||"[]",d=" -1",e="";a.workspace.options.oneBasedIndex&&(d=" 0",e=" + 1");return[("FIRST"===a.getFieldValue("END")?$.Blockly.PHP.provideFunction_("indexOf",["function "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($haystack, $needle) {"," for ($index = 0; $index < count($haystack); $index++) {"," if ($haystack[$index] == $needle) return $index"+
84
- e+";"," }"," return "+d+";","}"]):$.Blockly.PHP.provideFunction_("lastIndexOf",["function "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($haystack, $needle) {"," $last = "+d+";"," for ($index = 0; $index < count($haystack); $index++) {"," if ($haystack[$index] == $needle) $last = $index"+e+";"," }"," return $last;","}"]))+"("+c+", "+b+")",$.Blockly.PHP.ORDER_FUNCTION_CALL]};
82
+ $.Blockly.PHP.lists_indexOf=function(a){var b=$.Blockly.PHP.valueToCode(a,"FIND",$.Blockly.PHP.ORDER_NONE)||"''",c=$.Blockly.PHP.valueToCode(a,"VALUE",$.Blockly.PHP.ORDER_MEMBER)||"[]",d=" -1",e="";a.workspace.options.oneBasedIndex&&(d=" 0",e=" + 1");return[("FIRST"===a.getFieldValue("END")?$.Blockly.PHP.provideFunction_("indexOf","\nfunction "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($haystack, $needle) {\n for ($index = 0; $index < count($haystack); $index++) {\n if ($haystack[$index] == $needle) return $index"+
83
+ e+";\n }\n return "+d+";\n}\n"):$.Blockly.PHP.provideFunction_("lastIndexOf","\nfunction "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($haystack, $needle) {\n $last = "+d+";\n for ($index = 0; $index < count($haystack); $index++) {\n if ($haystack[$index] == $needle) $last = $index"+e+";\n }\n return $last;\n}\n"))+"("+c+", "+b+")",$.Blockly.PHP.ORDER_FUNCTION_CALL]};
85
84
  $.Blockly.PHP.lists_getIndex=function(a){var b=a.getFieldValue("MODE")||"GET";switch(a.getFieldValue("WHERE")||"FROM_START"){case "FIRST":if("GET"===b)return[($.Blockly.PHP.valueToCode(a,"VALUE",$.Blockly.PHP.ORDER_MEMBER)||"array()")+"[0]",$.Blockly.PHP.ORDER_MEMBER];if("GET_REMOVE"===b)return["array_shift("+($.Blockly.PHP.valueToCode(a,"VALUE",$.Blockly.PHP.ORDER_NONE)||"array()")+")",$.Blockly.PHP.ORDER_FUNCTION_CALL];if("REMOVE"===b)return"array_shift("+($.Blockly.PHP.valueToCode(a,"VALUE",$.Blockly.PHP.ORDER_NONE)||
86
85
  "array()")+");\n";break;case "LAST":if("GET"===b)return["end("+($.Blockly.PHP.valueToCode(a,"VALUE",$.Blockly.PHP.ORDER_NONE)||"array()")+")",$.Blockly.PHP.ORDER_FUNCTION_CALL];if("GET_REMOVE"===b)return["array_pop("+($.Blockly.PHP.valueToCode(a,"VALUE",$.Blockly.PHP.ORDER_NONE)||"array()")+")",$.Blockly.PHP.ORDER_FUNCTION_CALL];if("REMOVE"===b)return"array_pop("+($.Blockly.PHP.valueToCode(a,"VALUE",$.Blockly.PHP.ORDER_NONE)||"array()")+");\n";break;case "FROM_START":var c=$.Blockly.PHP.getAdjusted(a,
87
86
  "AT");if("GET"===b)return[($.Blockly.PHP.valueToCode(a,"VALUE",$.Blockly.PHP.ORDER_MEMBER)||"array()")+"["+c+"]",$.Blockly.PHP.ORDER_MEMBER];if("GET_REMOVE"===b)return["array_splice("+($.Blockly.PHP.valueToCode(a,"VALUE",$.Blockly.PHP.ORDER_NONE)||"array()")+", "+c+", 1)[0]",$.Blockly.PHP.ORDER_FUNCTION_CALL];if("REMOVE"===b)return"array_splice("+($.Blockly.PHP.valueToCode(a,"VALUE",$.Blockly.PHP.ORDER_NONE)||"array()")+", "+c+", 1);\n";break;case "FROM_END":if("GET"===b)return b=$.Blockly.PHP.valueToCode(a,
88
87
  "VALUE",$.Blockly.PHP.ORDER_NONE)||"array()",a=$.Blockly.PHP.getAdjusted(a,"AT",1,!0),["array_slice("+b+", "+a+", 1)[0]",$.Blockly.PHP.ORDER_FUNCTION_CALL];if("GET_REMOVE"===b||"REMOVE"===b){c=$.Blockly.PHP.valueToCode(a,"VALUE",$.Blockly.PHP.ORDER_NONE)||"array()";a=$.Blockly.PHP.getAdjusted(a,"AT",1,!1,$.Blockly.PHP.ORDER_SUBTRACTION);a="array_splice("+c+", count("+c+") - "+a+", 1)[0]";if("GET_REMOVE"===b)return[a,$.Blockly.PHP.ORDER_FUNCTION_CALL];if("REMOVE"===b)return a+";\n"}break;case "RANDOM":a=
89
- $.Blockly.PHP.valueToCode(a,"VALUE",$.Blockly.PHP.ORDER_NONE)||"array()";if("GET"===b)return[$.Blockly.PHP.provideFunction_("lists_get_random_item",["function "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($list) {"," return $list[rand(0,count($list)-1)];","}"])+"("+a+")",$.Blockly.PHP.ORDER_FUNCTION_CALL];if("GET_REMOVE"===b)return[$.Blockly.PHP.provideFunction_("lists_get_remove_random_item",["function "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"(&$list) {"," $x = rand(0,count($list)-1);"," unset($list[$x]);",
90
- " return array_values($list);","}"])+"("+a+")",$.Blockly.PHP.ORDER_FUNCTION_CALL];if("REMOVE"===b)return $.Blockly.PHP.provideFunction_("lists_remove_random_item",["function "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"(&$list) {"," unset($list[rand(0,count($list)-1)]);","}"])+"("+a+");\n"}throw Error("Unhandled combination (lists_getIndex).");};
88
+ $.Blockly.PHP.valueToCode(a,"VALUE",$.Blockly.PHP.ORDER_NONE)||"array()";if("GET"===b)return[$.Blockly.PHP.provideFunction_("lists_get_random_item","\nfunction "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($list) {\n return $list[rand(0,count($list)-1)];\n}\n")+"("+a+")",$.Blockly.PHP.ORDER_FUNCTION_CALL];if("GET_REMOVE"===b)return[$.Blockly.PHP.provideFunction_("lists_get_remove_random_item","\nfunction "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"(&$list) {\n $x = rand(0,count($list)-1);\n unset($list[$x]);\n return array_values($list);\n}\n")+
89
+ "("+a+")",$.Blockly.PHP.ORDER_FUNCTION_CALL];if("REMOVE"===b)return $.Blockly.PHP.provideFunction_("lists_remove_random_item","\nfunction "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"(&$list) {\n unset($list[rand(0,count($list)-1)]);\n}\n")+"("+a+");\n"}throw Error("Unhandled combination (lists_getIndex).");};
91
90
  $.Blockly.PHP.lists_setIndex=function(a){var b=a.getFieldValue("MODE")||"GET",c=a.getFieldValue("WHERE")||"FROM_START",d=$.Blockly.PHP.valueToCode(a,"TO",$.Blockly.PHP.ORDER_ASSIGNMENT)||"null";switch(c){case "FIRST":if("SET"===b)return($.Blockly.PHP.valueToCode(a,"LIST",$.Blockly.PHP.ORDER_MEMBER)||"array()")+"[0] = "+d+";\n";if("INSERT"===b)return"array_unshift("+($.Blockly.PHP.valueToCode(a,"LIST",$.Blockly.PHP.ORDER_NONE)||"array()")+", "+d+");\n";break;case "LAST":a=$.Blockly.PHP.valueToCode(a,
92
- "LIST",$.Blockly.PHP.ORDER_NONE)||"array()";if("SET"===b)return $.Blockly.PHP.provideFunction_("lists_set_last_item",["function "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"(&$list, $value) {"," $list[count($list) - 1] = $value;","}"])+"("+a+", "+d+");\n";if("INSERT"===b)return"array_push("+a+", "+d+");\n";break;case "FROM_START":c=$.Blockly.PHP.getAdjusted(a,"AT");if("SET"===b)return($.Blockly.PHP.valueToCode(a,"LIST",$.Blockly.PHP.ORDER_MEMBER)||"array()")+"["+c+"] = "+d+";\n";if("INSERT"===b)return"array_splice("+
93
- ($.Blockly.PHP.valueToCode(a,"LIST",$.Blockly.PHP.ORDER_NONE)||"array()")+", "+c+", 0, "+d+");\n";break;case "FROM_END":c=$.Blockly.PHP.valueToCode(a,"LIST",$.Blockly.PHP.ORDER_NONE)||"array()";a=$.Blockly.PHP.getAdjusted(a,"AT",1);if("SET"===b)return $.Blockly.PHP.provideFunction_("lists_set_from_end",["function "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"(&$list, $at, $value) {"," $list[count($list) - $at] = $value;","}"])+"("+c+", "+a+", "+d+");\n";if("INSERT"===b)return $.Blockly.PHP.provideFunction_("lists_insert_from_end",
94
- ["function "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"(&$list, $at, $value) {"," return array_splice($list, count($list) - $at, 0, $value);","}"])+"("+c+", "+a+", "+d+");\n";break;case "RANDOM":a=$.Blockly.PHP.valueToCode(a,"LIST",$.Blockly.PHP.ORDER_REFERENCE)||"array()";if(a.match(/^\$\w+$/))c="";else{c=$.Blockly.PHP.nameDB_.getDistinctName("tmp_list",$.module$exports$Blockly$Names.NameType.VARIABLE);var e=c+" = &"+a+";\n";a=c;c=e}e=$.Blockly.PHP.nameDB_.getDistinctName("tmp_x",$.module$exports$Blockly$Names.NameType.VARIABLE);
91
+ "LIST",$.Blockly.PHP.ORDER_NONE)||"array()";if("SET"===b)return $.Blockly.PHP.provideFunction_("lists_set_last_item","\nfunction "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"(&$list, $value) {\n $list[count($list) - 1] = $value;\n}\n")+"("+a+", "+d+");\n";if("INSERT"===b)return"array_push("+a+", "+d+");\n";break;case "FROM_START":c=$.Blockly.PHP.getAdjusted(a,"AT");if("SET"===b)return($.Blockly.PHP.valueToCode(a,"LIST",$.Blockly.PHP.ORDER_MEMBER)||"array()")+"["+c+"] = "+d+";\n";if("INSERT"===b)return"array_splice("+
92
+ ($.Blockly.PHP.valueToCode(a,"LIST",$.Blockly.PHP.ORDER_NONE)||"array()")+", "+c+", 0, "+d+");\n";break;case "FROM_END":c=$.Blockly.PHP.valueToCode(a,"LIST",$.Blockly.PHP.ORDER_NONE)||"array()";a=$.Blockly.PHP.getAdjusted(a,"AT",1);if("SET"===b)return $.Blockly.PHP.provideFunction_("lists_set_from_end","\nfunction "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"(&$list, $at, $value) {\n $list[count($list) - $at] = $value;\n}\n")+"("+c+", "+a+", "+d+");\n";if("INSERT"===b)return $.Blockly.PHP.provideFunction_("lists_insert_from_end",
93
+ "\nfunction "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"(&$list, $at, $value) {\n return array_splice($list, count($list) - $at, 0, $value);\n}\n")+"("+c+", "+a+", "+d+");\n";break;case "RANDOM":a=$.Blockly.PHP.valueToCode(a,"LIST",$.Blockly.PHP.ORDER_REFERENCE)||"array()";if(a.match(/^\$\w+$/))c="";else{c=$.Blockly.PHP.nameDB_.getDistinctName("tmp_list",$.module$exports$Blockly$Names.NameType.VARIABLE);var e=c+" = &"+a+";\n";a=c;c=e}e=$.Blockly.PHP.nameDB_.getDistinctName("tmp_x",$.module$exports$Blockly$Names.NameType.VARIABLE);
95
94
  c+=e+" = rand(0, count("+a+")-1);\n";if("SET"===b)return c+(a+"["+e+"] = "+d+";\n");if("INSERT"===b)return c+("array_splice("+a+", "+e+", 0, "+d+");\n")}throw Error("Unhandled combination (lists_setIndex).");};
96
95
  $.Blockly.PHP.lists_getSublist=function(a){var b=$.Blockly.PHP.valueToCode(a,"LIST",$.Blockly.PHP.ORDER_NONE)||"array()",c=a.getFieldValue("WHERE1"),d=a.getFieldValue("WHERE2");if("FIRST"!==c||"LAST"!==d)if(b.match(/^\$\w+$/)||"FROM_END"!==c&&"FROM_START"===d){switch(c){case "FROM_START":c=$.Blockly.PHP.getAdjusted(a,"AT1");break;case "FROM_END":c=$.Blockly.PHP.getAdjusted(a,"AT1",1,!1,$.Blockly.PHP.ORDER_SUBTRACTION);c="count("+b+") - "+c;break;case "FIRST":c="0";break;default:throw Error("Unhandled option (lists_getSublist).");
97
96
  }switch(d){case "FROM_START":d=$.Blockly.PHP.getAdjusted(a,"AT2",0,!1,$.Blockly.PHP.ORDER_SUBTRACTION);d+=" - ";d=(0,$.module$exports$Blockly$utils$string.isNumber)(String(c))||String(c).match(/^\(.+\)$/)?d+c:d+("("+c+")");d+=" + 1";break;case "FROM_END":d=$.Blockly.PHP.getAdjusted(a,"AT2",0,!1,$.Blockly.PHP.ORDER_SUBTRACTION);d="count("+b+") - "+d+" - ";d=(0,$.module$exports$Blockly$utils$string.isNumber)(String(c))||String(c).match(/^\(.+\)$/)?d+c:d+("("+c+")");break;case "LAST":d="count("+b+") - ";
98
- d=(0,$.module$exports$Blockly$utils$string.isNumber)(String(c))||String(c).match(/^\(.+\)$/)?d+c:d+("("+c+")");break;default:throw Error("Unhandled option (lists_getSublist).");}b="array_slice("+b+", "+c+", "+d+")"}else{var e=$.Blockly.PHP.getAdjusted(a,"AT1");a=$.Blockly.PHP.getAdjusted(a,"AT2");b=$.Blockly.PHP.provideFunction_("lists_get_sublist",["function "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($list, $where1, $at1, $where2, $at2) {"," if ($where1 == 'FROM_END') {"," $at1 = count($list) - 1 - $at1;",
99
- " } else if ($where1 == 'FIRST') {"," $at1 = 0;"," } else if ($where1 != 'FROM_START') {"," throw new Exception('Unhandled option (lists_get_sublist).');"," }"," $length = 0;"," if ($where2 == 'FROM_START') {"," $length = $at2 - $at1 + 1;"," } else if ($where2 == 'FROM_END') {"," $length = count($list) - $at1 - $at2;"," } else if ($where2 == 'LAST') {"," $length = count($list) - $at1;"," } else {"," throw new Exception('Unhandled option (lists_get_sublist).');"," }"," return array_slice($list, $at1, $length);",
100
- "}"])+"("+b+", '"+c+"', "+e+", '"+d+"', "+a+")"}return[b,$.Blockly.PHP.ORDER_FUNCTION_CALL]};
101
- $.Blockly.PHP.lists_sort=function(a){var b=$.Blockly.PHP.valueToCode(a,"LIST",$.Blockly.PHP.ORDER_NONE)||"array()",c="1"===a.getFieldValue("DIRECTION")?1:-1;a=a.getFieldValue("TYPE");return[$.Blockly.PHP.provideFunction_("lists_sort",["function "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($list, $type, $direction) {"," $sortCmpFuncs = array(",' "NUMERIC" => "strnatcasecmp",',' "TEXT" => "strcmp",',' "IGNORE_CASE" => "strcasecmp"'," );"," $sortCmp = $sortCmpFuncs[$type];"," $list2 = $list;",
102
- " usort($list2, $sortCmp);"," if ($direction == -1) {"," $list2 = array_reverse($list2);"," }"," return $list2;","}"])+"("+b+', "'+a+'", '+c+")",$.Blockly.PHP.ORDER_FUNCTION_CALL]};
103
- $.Blockly.PHP.lists_split=function(a){var b=$.Blockly.PHP.valueToCode(a,"INPUT",$.Blockly.PHP.ORDER_NONE),c=$.Blockly.PHP.valueToCode(a,"DELIM",$.Blockly.PHP.ORDER_NONE)||"''";a=a.getFieldValue("MODE");if("SPLIT"===a)b||(b="''"),a="explode";else if("JOIN"===a)b||(b="array()"),a="implode";else throw Error("Unknown mode: "+a);return[a+"("+c+", "+b+")",$.Blockly.PHP.ORDER_FUNCTION_CALL]};
104
- $.Blockly.PHP.lists_reverse=function(a){return["array_reverse("+($.Blockly.PHP.valueToCode(a,"LIST",$.Blockly.PHP.ORDER_NONE)||"[]")+")",$.Blockly.PHP.ORDER_FUNCTION_CALL]};var module$exports$Blockly$PHP$colour={};$.Blockly.PHP.colour_picker=function(a){return[$.Blockly.PHP.quote_(a.getFieldValue("COLOUR")),$.Blockly.PHP.ORDER_ATOMIC]};$.Blockly.PHP.colour_random=function(a){return[$.Blockly.PHP.provideFunction_("colour_random",["function "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"() {"," return '#' . str_pad(dechex(mt_rand(0, 0xFFFFFF)), 6, '0', STR_PAD_LEFT);","}"])+"()",$.Blockly.PHP.ORDER_FUNCTION_CALL]};
105
- $.Blockly.PHP.colour_rgb=function(a){var b=$.Blockly.PHP.valueToCode(a,"RED",$.Blockly.PHP.ORDER_NONE)||0,c=$.Blockly.PHP.valueToCode(a,"GREEN",$.Blockly.PHP.ORDER_NONE)||0;a=$.Blockly.PHP.valueToCode(a,"BLUE",$.Blockly.PHP.ORDER_NONE)||0;return[$.Blockly.PHP.provideFunction_("colour_rgb",["function "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($r, $g, $b) {"," $r = round(max(min($r, 100), 0) * 2.55);"," $g = round(max(min($g, 100), 0) * 2.55);"," $b = round(max(min($b, 100), 0) * 2.55);"," $hex = '#';",
106
- " $hex .= str_pad(dechex($r), 2, '0', STR_PAD_LEFT);"," $hex .= str_pad(dechex($g), 2, '0', STR_PAD_LEFT);"," $hex .= str_pad(dechex($b), 2, '0', STR_PAD_LEFT);"," return $hex;","}"])+"("+b+", "+c+", "+a+")",$.Blockly.PHP.ORDER_FUNCTION_CALL]};
107
- $.Blockly.PHP.colour_blend=function(a){var b=$.Blockly.PHP.valueToCode(a,"COLOUR1",$.Blockly.PHP.ORDER_NONE)||"'#000000'",c=$.Blockly.PHP.valueToCode(a,"COLOUR2",$.Blockly.PHP.ORDER_NONE)||"'#000000'";a=$.Blockly.PHP.valueToCode(a,"RATIO",$.Blockly.PHP.ORDER_NONE)||.5;return[$.Blockly.PHP.provideFunction_("colour_blend",["function "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($c1, $c2, $ratio) {"," $ratio = max(min($ratio, 1), 0);"," $r1 = hexdec(substr($c1, 1, 2));"," $g1 = hexdec(substr($c1, 3, 2));",
108
- " $b1 = hexdec(substr($c1, 5, 2));"," $r2 = hexdec(substr($c2, 1, 2));"," $g2 = hexdec(substr($c2, 3, 2));"," $b2 = hexdec(substr($c2, 5, 2));"," $r = round($r1 * (1 - $ratio) + $r2 * $ratio);"," $g = round($g1 * (1 - $ratio) + $g2 * $ratio);"," $b = round($b1 * (1 - $ratio) + $b2 * $ratio);"," $hex = '#';"," $hex .= str_pad(dechex($r), 2, '0', STR_PAD_LEFT);"," $hex .= str_pad(dechex($g), 2, '0', STR_PAD_LEFT);"," $hex .= str_pad(dechex($b), 2, '0', STR_PAD_LEFT);"," return $hex;","}"])+
109
- "("+b+", "+c+", "+a+")",$.Blockly.PHP.ORDER_FUNCTION_CALL]};var module$exports$Blockly$PHP$all={};
110
-
97
+ d=(0,$.module$exports$Blockly$utils$string.isNumber)(String(c))||String(c).match(/^\(.+\)$/)?d+c:d+("("+c+")");break;default:throw Error("Unhandled option (lists_getSublist).");}b="array_slice("+b+", "+c+", "+d+")"}else{var e=$.Blockly.PHP.getAdjusted(a,"AT1");a=$.Blockly.PHP.getAdjusted(a,"AT2");b=$.Blockly.PHP.provideFunction_("lists_get_sublist","\nfunction "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($list, $where1, $at1, $where2, $at2) {\n if ($where1 == 'FROM_END') {\n $at1 = count($list) - 1 - $at1;\n } else if ($where1 == 'FIRST') {\n $at1 = 0;\n } else if ($where1 != 'FROM_START') {\n throw new Exception('Unhandled option (lists_get_sublist).');\n }\n $length = 0;\n if ($where2 == 'FROM_START') {\n $length = $at2 - $at1 + 1;\n } else if ($where2 == 'FROM_END') {\n $length = count($list) - $at1 - $at2;\n } else if ($where2 == 'LAST') {\n $length = count($list) - $at1;\n } else {\n throw new Exception('Unhandled option (lists_get_sublist).');\n }\n return array_slice($list, $at1, $length);\n}\n")+
98
+ "("+b+", '"+c+"', "+e+", '"+d+"', "+a+")"}return[b,$.Blockly.PHP.ORDER_FUNCTION_CALL]};
99
+ $.Blockly.PHP.lists_sort=function(a){var b=$.Blockly.PHP.valueToCode(a,"LIST",$.Blockly.PHP.ORDER_NONE)||"array()",c="1"===a.getFieldValue("DIRECTION")?1:-1;a=a.getFieldValue("TYPE");return[$.Blockly.PHP.provideFunction_("lists_sort","\nfunction "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($list, $type, $direction) {\n $sortCmpFuncs = array(\n 'NUMERIC' => 'strnatcasecmp',\n 'TEXT' => 'strcmp',\n 'IGNORE_CASE' => 'strcasecmp'\n );\n $sortCmp = $sortCmpFuncs[$type];\n $list2 = $list;\n usort($list2, $sortCmp);\n if ($direction == -1) {\n $list2 = array_reverse($list2);\n }\n return $list2;\n}\n")+"("+
100
+ b+', "'+a+'", '+c+")",$.Blockly.PHP.ORDER_FUNCTION_CALL]};$.Blockly.PHP.lists_split=function(a){var b=$.Blockly.PHP.valueToCode(a,"INPUT",$.Blockly.PHP.ORDER_NONE),c=$.Blockly.PHP.valueToCode(a,"DELIM",$.Blockly.PHP.ORDER_NONE)||"''";a=a.getFieldValue("MODE");if("SPLIT"===a)b||(b="''"),a="explode";else if("JOIN"===a)b||(b="array()"),a="implode";else throw Error("Unknown mode: "+a);return[a+"("+c+", "+b+")",$.Blockly.PHP.ORDER_FUNCTION_CALL]};
101
+ $.Blockly.PHP.lists_reverse=function(a){return["array_reverse("+($.Blockly.PHP.valueToCode(a,"LIST",$.Blockly.PHP.ORDER_NONE)||"[]")+")",$.Blockly.PHP.ORDER_FUNCTION_CALL]};var module$exports$Blockly$PHP$colour={};$.Blockly.PHP.colour_picker=function(a){return[$.Blockly.PHP.quote_(a.getFieldValue("COLOUR")),$.Blockly.PHP.ORDER_ATOMIC]};$.Blockly.PHP.colour_random=function(a){return[$.Blockly.PHP.provideFunction_("colour_random","\nfunction "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"() {\n return '#' . str_pad(dechex(mt_rand(0, 0xFFFFFF)), 6, '0', STR_PAD_LEFT);\n}\n")+"()",$.Blockly.PHP.ORDER_FUNCTION_CALL]};
102
+ $.Blockly.PHP.colour_rgb=function(a){var b=$.Blockly.PHP.valueToCode(a,"RED",$.Blockly.PHP.ORDER_NONE)||0,c=$.Blockly.PHP.valueToCode(a,"GREEN",$.Blockly.PHP.ORDER_NONE)||0;a=$.Blockly.PHP.valueToCode(a,"BLUE",$.Blockly.PHP.ORDER_NONE)||0;return[$.Blockly.PHP.provideFunction_("colour_rgb","\nfunction "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($r, $g, $b) {\n $r = round(max(min($r, 100), 0) * 2.55);\n $g = round(max(min($g, 100), 0) * 2.55);\n $b = round(max(min($b, 100), 0) * 2.55);\n $hex = '#';\n $hex .= str_pad(dechex($r), 2, '0', STR_PAD_LEFT);\n $hex .= str_pad(dechex($g), 2, '0', STR_PAD_LEFT);\n $hex .= str_pad(dechex($b), 2, '0', STR_PAD_LEFT);\n return $hex;\n}\n")+
103
+ "("+b+", "+c+", "+a+")",$.Blockly.PHP.ORDER_FUNCTION_CALL]};
104
+ $.Blockly.PHP.colour_blend=function(a){var b=$.Blockly.PHP.valueToCode(a,"COLOUR1",$.Blockly.PHP.ORDER_NONE)||"'#000000'",c=$.Blockly.PHP.valueToCode(a,"COLOUR2",$.Blockly.PHP.ORDER_NONE)||"'#000000'";a=$.Blockly.PHP.valueToCode(a,"RATIO",$.Blockly.PHP.ORDER_NONE)||.5;return[$.Blockly.PHP.provideFunction_("colour_blend","\nfunction "+$.Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($c1, $c2, $ratio) {\n $ratio = max(min($ratio, 1), 0);\n $r1 = hexdec(substr($c1, 1, 2));\n $g1 = hexdec(substr($c1, 3, 2));\n $b1 = hexdec(substr($c1, 5, 2));\n $r2 = hexdec(substr($c2, 1, 2));\n $g2 = hexdec(substr($c2, 3, 2));\n $b2 = hexdec(substr($c2, 5, 2));\n $r = round($r1 * (1 - $ratio) + $r2 * $ratio);\n $g = round($g1 * (1 - $ratio) + $g2 * $ratio);\n $b = round($b1 * (1 - $ratio) + $b2 * $ratio);\n $hex = '#';\n $hex .= str_pad(dechex($r), 2, '0', STR_PAD_LEFT);\n $hex .= str_pad(dechex($g), 2, '0', STR_PAD_LEFT);\n $hex .= str_pad(dechex($b), 2, '0', STR_PAD_LEFT);\n return $hex;\n}\n")+"("+
105
+ b+", "+c+", "+a+")",$.Blockly.PHP.ORDER_FUNCTION_CALL]};var module$exports$Blockly$PHP$all={};
106
+ $.Blockly.PHP.__namespace__=$;
111
107
  return $.Blockly.PHP;
112
108
  }));
113
109