Skip to content

Commit e972bf1

Browse files
authored
Merge pull request moodlehq#1147 from moodlehq/integration
Integration
2 parents 185b364 + d9475c9 commit e972bf1

File tree

176 files changed

+1895
-357
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

176 files changed

+1895
-357
lines changed

config.xml

+85-83
Original file line numberDiff line numberDiff line change
@@ -1,89 +1,91 @@
11
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2-
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0" id="com.moodle.moodlemobile" version="3.3.1">
3-
<name>Moodle Mobile</name>
4-
<description>
2+
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0" id="com.moodle.moodlemobile" version="3.3.2">
3+
<name>Moodle Mobile</name>
4+
<description>
55
Moodle Mobile official app
66
</description>
7-
<author href="http://moodle.com" email="mobile@moodle.com">
7+
<author href="http://moodle.com" email="mobile@moodle.com">
88
Moodle Mobile team
99
</author>
10-
<content src="index.html"/>
11-
<access origin="*"/>
12-
<access origin="tel:*" launch-external="yes"/>
13-
<access origin="mailto:*" launch-external="yes"/>
14-
<access origin="geo:*" launch-external="yes"/>
15-
<allow-navigation href="cdvfile:*"/>
16-
<allow-navigation href="content:*"/>
17-
<allow-navigation href="data:*"/>
18-
<allow-navigation href="*"/>
19-
<allow-intent href="*"/>
20-
<preference name="orientation" value="default"/>
21-
<preference name="target-device" value="universal"/>
22-
<preference name="fullscreen" value="false"/>
23-
<preference name="webviewbounce" value="false"/>
24-
<preference name="AppendUserAgent" value="MoodleMobile"/>
25-
<preference name="android-minSdkVersion" value="14"/>
26-
<preference name="android-targetSdkVersion" value="19"/>
27-
<preference name="UIWebViewBounce" value="false"/>
28-
<preference name="DisallowOverscroll" value="true"/>
29-
<preference name="BackupWebStorage" value="none"/>
30-
<preference name="KeyboardDisplayRequiresUserAction" value="false"/>
31-
<preference name="AndroidPersistentFileLocation" value="Compatibility"/>
32-
<preference name="iosPersistentFileLocation" value="Compatibility"/>
33-
<preference name="SplashScreen" value="screen"/>
34-
<preference name="SplashScreenDelay" value="3000"/>
35-
<feature name="StatusBar">
36-
<param name="ios-package" value="CDVStatusBar" onload="true"/>
37-
</feature>
38-
<platform name="android">
39-
<splash src="resources/android/splash/drawable-land-ldpi-screen.png" qualifier="land-ldpi"/>
40-
<splash src="resources/android/splash/drawable-land-mdpi-screen.png" qualifier="land-mdpi"/>
41-
<splash src="resources/android/splash/drawable-land-hdpi-screen.png" qualifier="land-hdpi"/>
42-
<splash src="resources/android/splash/drawable-land-xhdpi-screen.png" qualifier="land-xhdpi"/>
43-
<splash src="resources/android/splash/drawable-land-xxhdpi-screen.png" qualifier="land-xxhdpi"/>
44-
<splash src="resources/android/splash/drawable-land-xxxhdpi-screen.png" qualifier="land-xxxhdpi"/>
45-
<splash src="resources/android/splash/drawable-port-ldpi-screen.png" qualifier="port-ldpi"/>
46-
<splash src="resources/android/splash/drawable-port-mdpi-screen.png" qualifier="port-mdpi"/>
47-
<splash src="resources/android/splash/drawable-port-hdpi-screen.png" qualifier="port-hdpi"/>
48-
<splash src="resources/android/splash/drawable-port-xhdpi-screen.png" qualifier="port-xhdpi"/>
49-
<splash src="resources/android/splash/drawable-port-xxhdpi-screen.png" qualifier="port-xxhdpi"/>
50-
<splash src="resources/android/splash/drawable-port-xxxhdpi-screen.png" qualifier="port-xxxhdpi"/>
51-
<icon src="resources/android/icon/drawable-ldpi-icon.png" density="ldpi"/>
52-
<icon src="resources/android/icon/drawable-mdpi-icon.png" density="mdpi"/>
53-
<icon src="resources/android/icon/drawable-hdpi-icon.png" density="hdpi"/>
54-
<icon src="resources/android/icon/drawable-xhdpi-icon.png" density="xhdpi"/>
55-
<icon src="resources/android/icon/drawable-xxhdpi-icon.png" density="xxhdpi"/>
56-
<icon src="resources/android/icon/drawable-xxxhdpi-icon.png" density="xxxhdpi"/>
57-
</platform>
58-
<platform name="ios">
59-
<splash src="resources/ios/splash/Default-568h@2x~iphone.png" width="640" height="1136"/>
60-
<splash src="resources/ios/splash/Default-667h.png" width="750" height="1334"/>
61-
<splash src="resources/ios/splash/Default-736h.png" width="1242" height="2208"/>
62-
<splash src="resources/ios/splash/Default-Landscape-736h.png" width="2208" height="1242"/>
63-
<splash src="resources/ios/splash/Default-Landscape@2x~ipad.png" width="2048" height="1536"/>
64-
<splash src="resources/ios/splash/Default-Landscape~ipad.png" width="1024" height="768"/>
65-
<splash src="resources/ios/splash/Default-Portrait@2x~ipad.png" width="1536" height="2048"/>
66-
<splash src="resources/ios/splash/Default-Portrait~ipad.png" width="768" height="1024"/>
67-
<splash src="resources/ios/splash/Default@2x~iphone.png" width="640" height="960"/>
68-
<splash src="resources/ios/splash/Default~iphone.png" width="320" height="480"/>
69-
<icon src="resources/ios/icon/icon.png" width="57" height="57"/>
70-
<icon src="resources/ios/icon/icon@2x.png" width="114" height="114"/>
71-
<icon src="resources/ios/icon/icon-40.png" width="40" height="40"/>
72-
<icon src="resources/ios/icon/icon-40@2x.png" width="80" height="80"/>
73-
<icon src="resources/ios/icon/icon-40@3x.png" width="120" height="120"/>
74-
<icon src="resources/ios/icon/icon-50.png" width="50" height="50"/>
75-
<icon src="resources/ios/icon/icon-50@2x.png" width="100" height="100"/>
76-
<icon src="resources/ios/icon/icon-60.png" width="60" height="60"/>
77-
<icon src="resources/ios/icon/icon-60@2x.png" width="120" height="120"/>
78-
<icon src="resources/ios/icon/icon-60@3x.png" width="180" height="180"/>
79-
<icon src="resources/ios/icon/icon-72.png" width="72" height="72"/>
80-
<icon src="resources/ios/icon/icon-72@2x.png" width="144" height="144"/>
81-
<icon src="resources/ios/icon/icon-76.png" width="76" height="76"/>
82-
<icon src="resources/ios/icon/icon-76@2x.png" width="152" height="152"/>
83-
<icon src="resources/ios/icon/icon-83.5@2x.png" width="167" height="167"/>
84-
<icon src="resources/ios/icon/icon-small.png" width="29" height="29"/>
85-
<icon src="resources/ios/icon/icon-small@2x.png" width="58" height="58"/>
86-
<icon src="resources/ios/icon/icon-small@3x.png" width="87" height="87"/>
87-
</platform>
88-
<icon src="resources/ios/icon/icon-small@3x.png"/>
10+
<content src="index.html"/>
11+
<access origin="*"/>
12+
<access origin="tel:*" launch-external="yes"/>
13+
<access origin="mailto:*" launch-external="yes"/>
14+
<access origin="geo:*" launch-external="yes"/>
15+
<allow-navigation href="cdvfile:*"/>
16+
<allow-navigation href="content:*"/>
17+
<allow-navigation href="data:*"/>
18+
<allow-navigation href="*"/>
19+
<allow-intent href="*"/>
20+
<preference name="orientation" value="default"/>
21+
<preference name="target-device" value="universal"/>
22+
<preference name="fullscreen" value="false"/>
23+
<preference name="webviewbounce" value="false"/>
24+
<preference name="AppendUserAgent" value="MoodleMobile"/>
25+
<preference name="android-minSdkVersion" value="14"/>
26+
<preference name="android-targetSdkVersion" value="19"/>
27+
<preference name="UIWebViewBounce" value="false"/>
28+
<preference name="DisallowOverscroll" value="true"/>
29+
<preference name="BackupWebStorage" value="none"/>
30+
<preference name="KeyboardDisplayRequiresUserAction" value="false"/>
31+
<preference name="AndroidPersistentFileLocation" value="Compatibility"/>
32+
<preference name="iosPersistentFileLocation" value="Compatibility"/>
33+
<preference name="SplashScreen" value="screen"/>
34+
<preference name="SplashScreenDelay" value="3000"/>
35+
<feature name="StatusBar">
36+
<param name="ios-package" value="CDVStatusBar" onload="true"/>
37+
</feature>
38+
<platform name="android">
39+
<splash src="resources/android/splash/drawable-land-ldpi-screen.png" qualifier="land-ldpi"/>
40+
<splash src="resources/android/splash/drawable-land-mdpi-screen.png" qualifier="land-mdpi"/>
41+
<splash src="resources/android/splash/drawable-land-hdpi-screen.png" qualifier="land-hdpi"/>
42+
<splash src="resources/android/splash/drawable-land-xhdpi-screen.png" qualifier="land-xhdpi"/>
43+
<splash src="resources/android/splash/drawable-land-xxhdpi-screen.png" qualifier="land-xxhdpi"/>
44+
<splash src="resources/android/splash/drawable-land-xxxhdpi-screen.png" qualifier="land-xxxhdpi"/>
45+
<splash src="resources/android/splash/drawable-port-ldpi-screen.png" qualifier="port-ldpi"/>
46+
<splash src="resources/android/splash/drawable-port-mdpi-screen.png" qualifier="port-mdpi"/>
47+
<splash src="resources/android/splash/drawable-port-hdpi-screen.png" qualifier="port-hdpi"/>
48+
<splash src="resources/android/splash/drawable-port-xhdpi-screen.png" qualifier="port-xhdpi"/>
49+
<splash src="resources/android/splash/drawable-port-xxhdpi-screen.png" qualifier="port-xxhdpi"/>
50+
<splash src="resources/android/splash/drawable-port-xxxhdpi-screen.png" qualifier="port-xxxhdpi"/>
51+
<icon src="resources/android/icon/drawable-ldpi-icon.png" density="ldpi"/>
52+
<icon src="resources/android/icon/drawable-mdpi-icon.png" density="mdpi"/>
53+
<icon src="resources/android/icon/drawable-hdpi-icon.png" density="hdpi"/>
54+
<icon src="resources/android/icon/drawable-xhdpi-icon.png" density="xhdpi"/>
55+
<icon src="resources/android/icon/drawable-xxhdpi-icon.png" density="xxhdpi"/>
56+
<icon src="resources/android/icon/drawable-xxxhdpi-icon.png" density="xxxhdpi"/>
57+
</platform>
58+
<platform name="ios">
59+
<icon src="resources/ios/icon/icon.png" width="57" height="57"/>
60+
<icon src="resources/ios/icon/icon@2x.png" width="114" height="114"/>
61+
<icon src="resources/ios/icon/icon-40.png" width="40" height="40"/>
62+
<icon src="resources/ios/icon/icon-40@2x.png" width="80" height="80"/>
63+
<icon src="resources/ios/icon/icon-40@3x.png" width="120" height="120"/>
64+
<icon src="resources/ios/icon/icon-50.png" width="50" height="50"/>
65+
<icon src="resources/ios/icon/icon-50@2x.png" width="100" height="100"/>
66+
<icon src="resources/ios/icon/icon-60.png" width="60" height="60"/>
67+
<icon src="resources/ios/icon/icon-60@2x.png" width="120" height="120"/>
68+
<icon src="resources/ios/icon/icon-60@3x.png" width="180" height="180"/>
69+
<icon src="resources/ios/icon/icon-72.png" width="72" height="72"/>
70+
<icon src="resources/ios/icon/icon-72@2x.png" width="144" height="144"/>
71+
<icon src="resources/ios/icon/icon-76.png" width="76" height="76"/>
72+
<icon src="resources/ios/icon/icon-76@2x.png" width="152" height="152"/>
73+
<icon src="resources/ios/icon/icon-83.5@2x.png" width="167" height="167"/>
74+
<icon src="resources/ios/icon/icon-small.png" width="29" height="29"/>
75+
<icon src="resources/ios/icon/icon-small@2x.png" width="58" height="58"/>
76+
<icon src="resources/ios/icon/icon-small@3x.png" width="87" height="87"/>
77+
<splash src="resources/ios/splash/Default-568h@2x~iphone.png" width="640" height="1136"/>
78+
<splash src="resources/ios/splash/Default-667h.png" width="750" height="1334"/>
79+
<splash src="resources/ios/splash/Default-736h.png" width="1242" height="2208"/>
80+
<splash src="resources/ios/splash/Default-Landscape-736h.png" width="2208" height="1242"/>
81+
<splash src="resources/ios/splash/Default-Landscape@2x~ipad.png" width="2048" height="1536"/>
82+
<splash src="resources/ios/splash/Default-Landscape@~ipadpro.png" width="2732" height="2048"/>
83+
<splash src="resources/ios/splash/Default-Landscape~ipad.png" width="1024" height="768"/>
84+
<splash src="resources/ios/splash/Default-Portrait@2x~ipad.png" width="1536" height="2048"/>
85+
<splash src="resources/ios/splash/Default-Portrait@~ipadpro.png" width="2048" height="2732"/>
86+
<splash src="resources/ios/splash/Default-Portrait~ipad.png" width="768" height="1024"/>
87+
<splash src="resources/ios/splash/Default@2x~iphone.png" width="640" height="960"/>
88+
<splash src="resources/ios/splash/Default~iphone.png" width="320" height="480"/>
89+
</platform>
90+
<icon src="resources/ios/icon/icon-small@3x.png"/>
8991
</widget>

gulpfile.js

+5
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,10 @@ function treatMergedData(data) {
125125

126126
addProperties(merged, data[filepath], 'mm.core.country-');
127127

128+
} else if (filepath.indexOf('core/assets/mimetypes') === 0) {
129+
130+
addProperties(merged, data[filepath], 'mm.core.mimetype-');
131+
128132
}
129133
}
130134

@@ -352,6 +356,7 @@ var paths = {
352356
'./www/core/components/**/lang/',
353357
'./www/addons/**/lang/',
354358
'./www/core/assets/countries/',
359+
'./www/core/assets/mimetypes/',
355360
'!./www/**/' + remoteAddonPackageFolder + '/*.json',
356361
'!./www/**/' + remoteAddonPackageFolder + '/**/*.json',
357362
],

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "moodlemobile",
3-
"version": "3.3.1",
3+
"version": "3.3.2",
44
"description": "The official app for Moodle.",
55
"author": {
66
"name": "Moodle Pty Ltd.",

resources/ios/icon/icon-40.png

0 Bytes

resources/ios/icon/icon-40@2x.png

0 Bytes

resources/ios/icon/icon-40@3x.png

0 Bytes

resources/ios/icon/icon-50.png

0 Bytes

resources/ios/icon/icon-50@2x.png

0 Bytes

resources/ios/icon/icon-60.png

0 Bytes

resources/ios/icon/icon-60@2x.png

0 Bytes

resources/ios/icon/icon-60@3x.png

0 Bytes

resources/ios/icon/icon-72.png

0 Bytes

resources/ios/icon/icon-72@2x.png

0 Bytes

resources/ios/icon/icon-76.png

0 Bytes

resources/ios/icon/icon-76@2x.png

0 Bytes

resources/ios/icon/icon-83.5@2x.png

0 Bytes

resources/ios/icon/icon-small.png

0 Bytes

resources/ios/icon/icon-small@2x.png

0 Bytes

resources/ios/icon/icon-small@3x.png

0 Bytes

resources/ios/icon/icon.png

0 Bytes

resources/ios/icon/icon@2x.png

0 Bytes
-6.33 KB

resources/ios/splash/Default-667h.png

-8.64 KB

resources/ios/splash/Default-736h.png

14.4 KB
17.3 KB
-6.84 KB
-16.5 KB
-7.87 KB
-6.55 KB
-2.88 KB

resources/splash.png

11.4 KB

upgrade.txt

+4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
This files describes API changes in the Moodle Mobile app,
22
information provided here is intended especially for developers.
33

4+
=== 3.3.2 ===
5+
6+
* Handlers registered in $mmFileUploaderDelegate now need to implement a function getSupportedMimeTypes. This function will receive a list of mimetypes and needs to return the ones supported by the handler. Also, the handler's action and afterRender functions now receive a new parameter: mimetypes.
7+
48
=== 3.3 ===
59

610
* The project now supports Ionic CLI v2 and Node 6.9. We recommend updating node, npm, Ionic CLI and project dependencies:

www/addons/calendar/lang/de-du.json

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"calendarevents": "Kalender",
3+
"defaultnotificationtime": "Standardmäßige Benachrichtigungszeit",
4+
"errorloadevent": "Fehler beim Laden des Kalendereintrags",
5+
"errorloadevents": "Fehler beim Laden der Kalendereinträge",
6+
"noevents": "Keine Kalendereinträge",
7+
"notifications": "Systemmitteilungen"
8+
}

www/addons/calendar/lang/de.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@
44
"errorloadevent": "Fehler beim Laden des Kalendereintrags",
55
"errorloadevents": "Fehler beim Laden der Kalendereinträge",
66
"noevents": "Keine Kalendereinträge",
7-
"notifications": "Benachrichtigung"
7+
"notifications": "Systemmitteilungen"
88
}

www/addons/calendar/lang/fa.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33
"defaultnotificationtime": "زمان پیش‌فرض اطلاع‌رسانی",
44
"errorloadevent": "خطا در بارگیری رویداد.",
55
"errorloadevents": "خطا در بارگیری رویدادها.",
6-
"noevents": "هیچ مهلتی برای فعالیت‌های آتی وجود ندارد",
7-
"notifications": "تذکرات"
6+
"noevents": "هیچ رویدادی نیست",
7+
"notifications": "هشدارها"
88
}

www/addons/competency/lang/de-du.json

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"errornocompetenciesfound": "Keine Kompetenzen gefunden",
3+
"nocompetencies": "Keine Kompetenzen"
4+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"complete": "Abschließen",
3+
"completecourse": "Kurs abschließen",
4+
"completed": "Abgeschlossen",
5+
"completiondate": "Abschlussdatum",
6+
"couldnotloadreport": "Fehler beim Laden des Kursabschlussberichts. Versuche es später noch einmal.",
7+
"coursecompletion": "Kursabschluss",
8+
"criteria": "Kriterien",
9+
"criteriagroup": "Kriteriengruppe",
10+
"criteriarequiredall": "Alle nachfolgenden Kriterien sind notwendig.",
11+
"criteriarequiredany": "Ein nachfolgendes Kriterium ist notwendig.",
12+
"inprogress": "In Arbeit",
13+
"manualselfcompletion": "Manueller Selbstabschluss",
14+
"notyetstarted": "Nicht begonnen",
15+
"pending": "Nicht erledigt",
16+
"required": "Notwendig",
17+
"requiredcriteria": "Notwendige Kriterien",
18+
"requirement": "Anforderung",
19+
"status": "Status",
20+
"viewcoursereport": "Kursbericht anzeigen"
21+
}

www/addons/coursecompletion/lang/fa.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@
1212
"pending": "معلق",
1313
"required": "الزامی بودن",
1414
"requiredcriteria": "ضوابط مورد نیاز",
15-
"status": "وضعیت مدال",
16-
"viewcoursereport": "مشاهده گزارش درس"
15+
"status": "وضعیت",
16+
"viewcoursereport": "مشاهدهٔ گزارش درس"
1717
}
+14-14
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
{
2-
"complete": "Finalizează",
2+
"complete": "Complet",
33
"completecourse": "Curs complet",
4-
"completed": "Finalizare",
4+
"completed": "Complet",
55
"completiondate": "Data limita până la completarea acțiunii",
66
"couldnotloadreport": "Raportul cu privire la situația completării cursului nu se poate încărca, încercați mai târziu.",
7-
"coursecompletion": "Absolvire curs",
7+
"coursecompletion": "Completarea cursului",
88
"criteria": "Criterii",
9-
"criteriagroup": "Grup criterii",
10-
"criteriarequiredall": "Toate criteriile de mai jos sunt necesare",
11-
"criteriarequiredany": "Oricare dintre criteriile de mai jos sunt necesare",
12-
"inprogress": "În curs",
13-
"manualselfcompletion": "Auto-finalizare manuală",
14-
"notyetstarted": "Nu a fost încă început",
15-
"pending": "În așteptare",
16-
"required": "Necesar",
17-
"requiredcriteria": "Criteriu necesar",
9+
"criteriagroup": "Criterii pentru grup",
10+
"criteriarequiredall": "Indeplinirea următoarelor criterii este obligatorie",
11+
"criteriarequiredany": "Oricare din urmatoarele criterii sunt obligatorii",
12+
"inprogress": "În progres",
13+
"manualselfcompletion": "Autocompletare",
14+
"notyetstarted": "Înca nu a început",
15+
"pending": "În asteptare",
16+
"required": "Obligatoriu",
17+
"requiredcriteria": "Criterii obligatorii",
1818
"requirement": "Cerințe",
19-
"status": "Status",
20-
"viewcoursereport": "Vezi raportul cursului"
19+
"status": "Situație",
20+
"viewcoursereport": "Vizualizați raportul despre curs"
2121
}

www/addons/files/lang/de-du.json

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"admindisableddownload": "Das Herunterladen von Dateien ist deaktiviert. Du kannst nur die Dateiliste sehen.",
3+
"clicktoupload": "Tippe auf die Taste, um Dateien in den Bereich 'Meine Dateien' hochzuladen.",
4+
"couldnotloadfiles": "Die Liste der Dateien konnte nicht geladen werden.",
5+
"emptyfilelist": "Keine Dateien",
6+
"erroruploadnotworking": "Im Moment können keine Dateien zur Website hochgeladen werden.",
7+
"myprivatefilesdesc": "Dateien, die in deinem persönlichen Bereich auf dieser Website liegen.",
8+
"sitefilesdesc": "Weitere Dateien, die für dich in anderen Bereichen der Website verfügbar sind.",
9+
"uploadfiles": "Dateien hochladen"
10+
}

www/addons/files/lang/ro.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"admindisableddownload": "Atenție! Administratorul platformei a dezactivat descărcarea de fișiere; puteți accesa fișierele dar nu le puteți descărca.",
33
"clicktoupload": "Apăsați butonul de mai jos pentru a încarcă fișierele în contul dumneavoastră.",
44
"couldnotloadfiles": "Lista fișierelor nu a putut fi încărcată.",
5-
"emptyfilelist": "Nu există fișiere",
5+
"emptyfilelist": "Nu sunt fișiere disponibile.",
66
"files": "Fișiere",
77
"myprivatefilesdesc": "Fișierele disponibile din zona personală, pe care o dețineți pe acest site.",
88
"privatefiles": "Fișiere private",
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"processorsettingsdesc": "Geräte konfigurieren"
3+
}

0 commit comments

Comments
 (0)