Closed ludji49 closed 3 years ago
root@DietPi:~# dietpi-services status
DietPi-Services
─────────────────────────────────────────────────────
Mode: status
[ OK ] DietPi-Services | redis-server active (running) since Thu 2020- 10-01 14:48:24 CEST; 3h 35min ago
[ OK ] DietPi-Services | mariadb active (running) since Thu 2020- 10-01 14:48:28 CEST; 3h 35min ago
[ OK ] DietPi-Services | apache2 active (running) since Thu 2020- 10-01 14:48:29 CEST; 3h 35min ago
[ OK ] DietPi-Services | urbackupsrv active (running) since Thu 2020- 10-01 14:48:30 CEST; 3h 35min ago
[ INFO ] DietPi-Services | noip2 inactive (dead)
[ OK ] DietPi-Services | cron active (running) since Thu 2020- 10-01 14:48:30 CEST; 3h 35min ago
[ OK ] DietPi-Services | dropbear active (running) since Thu 2020- 10-01 14:48:17 CEST; 3h 35min ago
[ OK ] DietPi-Services | dietpi-ramlog active (exited) since Thu 2020-1 0-01 14:17:08 CEST; 4h 6min ago
[ OK ] DietPi-Services | dietpi-preboot active (exited) since Thu 2020-1 0-01 14:17:08 CEST; 4h 6min ago
[ OK ] DietPi-Services | dietpi-boot active (exited) since Thu 2020-1 0-01 14:48:17 CEST; 3h 35min ago
[ OK ] DietPi-Services | dietpi-postboot active (exited) since Thu 2020-1 0-01 14:48:17 CEST; 3h 35min ago
[ INFO ] DietPi-Services | dietpi-wifi-monitor inactive (dead)
ncc log:tail
as far as I can see it has 2 issues. While I'm not sure if the secound is a result out of the first one
Could not create path at
Could not find user
@MichaIng Could it be a persmission issue or a full file system?
Probably but not 100% sure.
@ludji49 Please try:
ncc files:scan # This might take a long time
ncc files:cleanup
ncc files:scan-app-data
chown -R www-data:www-data /datastore # In case, replace with the real location of your Nextcloud data
root@DietPi:~# ncc files:scan # This might take a long time
Please specify the user id to scan, --all to scan for all users or --path=...
root@DietPi:~# ncc files:cleanup
0 orphaned file cache entries deleted
root@DietPi:~# ncc files:scan-app-data
Scanning AppData for files
+---------+-------+--------------+
| Folders | Files | Elapsed time |
+---------+-------+--------------+
| 5289 | 13282 | 00:02:06 |
+---------+-------+--------------+
root@DietPi:~# chown -R www-data:www-data /datastore # In case, replace with the real location of your Nextcloud data chown: modification du propriétaire de '/datastore/appdata_oc5cbhxlsgns/css/files/4039-7dda-merged.css.gzip': La structure a besoin d'un nettoyage
chown: modification du propriétaire de '/datastore/appdata_oc5cbhxlsgns/preview/25110/1024-768.jpg': Message invalide
chown: impossible de lire le répertoire '/datastore/appdata_oc5cbhxlsgns/preview/40419': Message invalide
chown: modification du propriétaire de '/datastore/appdata_oc5cbhxlsgns/preview/25111/1024-768.jpg': Message invalide
chown: impossible de lire le répertoire '/datastore/appdata_oc5cbhxlsgns/preview/40421': Message invalide
chown: impossible de lire le répertoire '/datastore/appdata_oc5cbhxlsgns/preview/40423': Message invalide
chown: impossible de lire le répertoire '/datastore/appdata_oc5cbhxlsgns/preview/40420': Message invalide
chown: impossible de lire le répertoire '/datastore/appdata_oc5cbhxlsgns/preview/40417': Message invalide
chown: modification du propriétaire de '/datastore/appdata_oc5cbhxlsgns/preview/25112/1024-768.jpg': Message invalide
chown: modification du propriétaire de '/datastore/appdata_oc5cbhxlsgns/preview/25105/1024-768.jpg': Message invalide
chown: impossible de lire le répertoire '/datastore/appdata_oc5cbhxlsgns/preview/40422': Message invalide
chown: impossible de lire le répertoire '/datastore/appdata_oc5cbhxlsgns/preview/40418': Message invalide
ncc log:tail
Okay the only errors are with external storage files, in particular this temporary certificate, and a few previews or their dirs, but that should not matter.
I've forgotten the --all
argument for the full file scan:
ncc files:scan --all
root@DietPi:~# ncc files:scan --all
Starting scan for user 1 out of 5 (XXXX)
Home storage for user admin not writable
Make sure you're running the scan command only as the user the web server runs as
Starting scan for user 2 out of 5 (YYYY)
Starting scan for user 3 out of 5 (ZZZZ)
Starting scan for user 4 out of 5 (AAAA)
Starting scan for user 5 out of 5 (BBBB)
+---------+-------+--------------+
| Folders | Files | Elapsed time |
+---------+-------+--------------+
| 2807 | 22519 | 00:02:41 |
+---------+-------+--------------+
Okay, as previews was something before, we could do some failsafe steps:
ncc preview:repair
ncc preview:delete_old # This errors out as long as you don't have the PreviewGenerator app enabled
If web UI access fill does not work, try it with a different browser or after clearing browser cache, i.e. reload the website via ctrl
+c
keys. And if it still does not work, try a Nextcloud repair step (paste the last logs again before):
ncc log:tail
ncc maintenance:repair
15. .../base.php line 997
OC\Route\Router->match(
"\ ... /"
)
16. index.php line 42
OC::handleRequest(
)
--------- ------------------- ------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- ------------------------------------------- ---------------------------
root@DietPi:~# ncc maintenance:repair
- Repair MySQL collation
- All tables already have the correct collation -> nothing to do
- Repair mime types
- Clean tags and favorites
- 0 tags of deleted users have been removed.
- 0 tags for delete files have been removed.
- 0 tag entries for deleted tags have been removed.
- 0 tags with no entries have been removed.
- Repair invalid shares
- Move .step file of updater to backup location
- Fix potential broken mount points
- No mounts updated
- Add log rotate job
- Clear frontend caches
- Image cache cleared
- SCSS cache cleared
- JS cache cleared
- Clear every generated avatar on major updates
- Add preview background cleanup job
- Queue a one-time job to cleanup old backups of the updater
- Cleanup invalid photocache files for carddav
- Add background job to cleanup login flow v2 tokens
- Remove potentially over exposing share links
- No need to remove link shares.
- Clear access cache of projects
- Cleanup cypress files from viewer app
- Switches from deprecated "production" to "stable" update channel
- Sets the enterprise logo
- Repair step already executed
- Cleanup of old Audio Player tables
0 [>---------------------------]
- Fix component of birthday calendars
- 5 birthday calendars updated.
- Regenerating birthday calendars to use new icons and fix old birthday events without year
- Repair step already executed
- Fix broken values of calendar objects
0 [>---------------------------]
- Registering building of calendar search index as background job
- Repair step already executed
- Registering background jobs to update cache for webcal calendars
- Added 0 background jobs to update webcal calendars
- Registering building of calendar reminder index as background job
- Repair step already executed
- Clean up orphan event and contact data
- 0 events without a calendar have been cleaned up
- 0 properties without an events have been cleaned up
- 0 changes without a calendar have been cleaned up
- 0 cached events without a calendar subscription have been cleaned up
- 0 changes without a calendar subscription have been cleaned up
- 0 contacts without an addressbook have been cleaned up
- 0 properties without a contact have been cleaned up
- 0 changes without an addressbook have been cleaned up
- Remove activity entries of private events
- Removed 0 activity entries
- Fix the share type of guest shares when migrating from ownCloud
- Copy the share password into the dedicated column
- Update OAuth token expiration times
- Add background job to check for backup codes
root@DietPi:~#
And? Still no access?
I have access by ipad and iphone but with windows the page doesn't open
If you have access from iPad and iPhone but not from Windows, it's a client issue and not a server one. Pls clear browser date like cache or use a different browser.
I've cleaned the cache and tried another browser and on the macbook pro it doesn't work
The MacBook Pro isn't the Windows machine, is it? Regardless it is a client side issue, either cache, or browser (did you check browser console for errors?) or OS or network config as other clients work and Joulinar and me can both access your Nextcloud login screen without issues. Also try to remove all cookies stored in your browser(s) your domain, clear all client sessions from within Nextcloud UI (from a working client). You can again check the last log entries, if there are related ones:
ncc log:tail
Probably on the Nextcloud forum you might find matches for the related error messages (if there are any) or with the specific client/browser that fails to access, but I'm afraid we cannot help much here aside of going through the generic debug steps as above 🤔.
I started again from the beginning I started again from the beginning and I still can't open the site.
There are a few error messages in your Apache log, but those are truncated. Can you please paste those again:
tail -10 /var/log/apache2/error.log
Although it should not cause issues, please edit your /etc/apache2/sites-available/000-default-le-ssl.conf
and replace the two lines:
ServerName nextcloud-myweb.ddns.net/
ServerName nextcloud-myweb.ddns.net/
with the single line:
ServerName nextcloud-myweb.ddns.net
and in /etc/apache2/sites-available/000-default.conf
replace:
ServerName nextcloud-myweb.ddns.net/
with:
ServerName nextcloud-myweb.ddns.net
The trailing slash does not belong there, I accidentally added it with my instructions above, sorry for that.
voici
root@DietPi:~# tail -10 /var/log/apache2/error.log
[Mon Oct 05 17:27:13.716599 2020] [mpm_prefork:notice] [pid 871] AH00163 : Configuration d'Apache /2.4.25 (Raspbian) OpenSSL/1.0.2u -- reprise des opérations normales
[Mon Oct 05 17:27:13.716805 2020] [core:notice] [pid 871] AH00094 : Ligne de commande : '/usr/sbin/apache2
root@DietPi:~#
I have a lot of errors if we can't solve the problem the best thing to do is to reinstall everything and back up my documents?
root@DietPi:~# /etc/apache2/sites-available/000-default-le-ssl.conf
-bash: /etc/apache2/sites-available/000-default-le-ssl.conf: Permission non accordée
root@DietPi:~# ServerName nextcloud-myweb.ddns.net/
-bash: ServerName : commande introuvable
root@DietPi:~# ServerName nextcloud-myweb.ddns.net/
-bash: ServerName : commande introuvable
root@DietPi:~# /etc/apache2/sites-available/000-default-le-ssl.conf
-bash: /etc/apache2/sites-available/000-default-le-ssl.conf: Permission non accordée
root@DietPi:~# ServerName nextcloud-myweb.ddns.net
-bash: ServerName : commande introuvable
root@DietPi:~# /etc/apache2/sites-available/000-default.conf
-bash: /etc/apache2/sites-available/000-default.conf: Permission non accordée
root@DietPi:~# ServerName nextcloud-myweb.ddns.net/
-bash: ServerName : commande introuvable
root@DietPi:~# ServerName nextcloud-myweb.ddns.net
-bash: ServerName : commande introuvable
root@DietPi:~#
Ayayay, you are trying to execute the config file and the Apache2 config directive from console, that is of course not possible 😄. Okay lets do this via sed
:
sed -i '/ServerName/d' /etc/apache2/sites-available/000-default{,-le-ssl}.conf
systemctl restart apache2
This only removes the directive from those two config files, but that is perfectly fine since apache2.conf
contains it globally and we don't need to complicate things 😉.
Starting from scratch is an option, but in case of Nextcloud, without doing a proper database dump and import on the new system, this means all meta data is lost. Aside of that your Nextcloud will be accessible again only via nextcloud-myweb.ddns.net/nextcloud
. Since it was failing only on a single client, if I understood you correctly, I'd prefer to have a closer look on that.
You webserver logs actually don't show any errors anymore. Can you try to access Nextcloud again (which the client that didn't work so far) and check again:
tail -10 /var/log/apache2/error.log
tail -10 /datastore/nextcloud.log
And are you able to open your browser console and check it for errors when accessing Nextcloud? If it was MacOS, then Safari, I guess? https://appuals.com/open-browser-console/ at the bottom is explained how to access the error console in Safari, How to Open the Console on Google Safari header. ("Google Safari
" 🤣, a typo in that guide)
root@DietPi:~# sed -i '/ServerName/d' /etc/apache2/sites-available/000-default{,-le-ssl}.conf
root@DietPi:~# systemctl restart apache2
root@DietPi:~# tail -10 /var/log/apache2/error.log
[Mon Oct 05 18:21:35.353714 2020] [mpm_prefork:notice] [pid 871] AH00169: caught SIGTERM, shutting down
[Mon Oct 05 18:21:35.795604 2020] [mpm_prefork:notice] [pid 1479] AH00163: Apache/2.4.25 (Raspbian) OpenSSL/1.0.2u configured -- resuming normal operations
[Mon Oct 05 18:21:35.795794 2020] [core:notice] [pid 1479] AH00094: Command line : '/usr/sbin/apache2'
root@DietPi:~# tail -10 /datastore/nextcloud.log
{"reqId":"7WZn2plLltOELEwIFWFp","level":3,"time":"2020-10-05T16:14:03+00:00","remoteAddr":"216.21.170.196","user":"--","app":"PHP","method":"GET","url":"\/nextcloud","message":"stat(): stat failed for \/datastore\/appdata_oc5cbhxlsgns\/js\/core\/merged-template-prepend.js.deps at \/var\/www\/nextcloud\/lib\/private\/Files\/Storage\/Local.php#143","userAgent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/84.0.4147.135 Safari\/537.36","version":"17.0.3.1"}
{"reqId":"7WZn2plLltOELEwIFWFp","level":3,"time":"2020-10-05T16:14:03+00:00","remoteAddr":"216.21.170.196","user":"--","app":"PHP","method":"GET","url":"\/nextcloud","message":"filesize(): stat failed for \/datastore\/appdata_oc5cbhxlsgns\/js\/core\/merged-template-prepend.js.deps at \/var\/www\/nextcloud\/lib\/private\/LargeFileHelper.php#171","userAgent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/84.0.4147.135 Safari\/537.36","version":"17.0.3.1"}
{"reqId":"7WZn2plLltOELEwIFWFp","level":3,"time":"2020-10-05T16:14:03+00:00","remoteAddr":"216.21.170.196","user":"--","app":"PHP","method":"GET","url":"\/nextcloud","message":"file_put_contents(\/datastore\/appdata_oc5cbhxlsgns\/js\/core\/merged-template-prepend.js): failed to open stream: No such file or directory at \/var\/www\/nextcloud\/lib\/private\/Files\/Storage\/Local.php#221","userAgent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/84.0.4147.135 Safari\/537.36","version":"17.0.3.1"}
{"reqId":"7WZn2plLltOELEwIFWFp","level":3,"time":"2020-10-05T16:14:03+00:00","remoteAddr":"216.21.170.196","user":"--","app":"index","method":"GET","url":"\/nextcloud","message":{"Exception":"OCP\\Files\\GenericFileException","Message":"file_put_contents failed","Code":0,"Trace":[{"file":"\/var\/www\/nextcloud\/lib\/private\/Files\/SimpleFS\/SimpleFile.php","line":106,"function":"putContent","class":"OC\\Files\\Node\\File","type":"->","args":["\/**\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @copyright Copyright (c) 2015, ownCloud, Inc.\n * @license AGPL-3.0\n *\n * This code is free software: you can redistribute it and\/or modify\n * it under the terms of the GNU Affero General Public License, version 3,\n * as published by the Free Software Foundation.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License, version 3,\n * along with this program. If not, see <http:\/\/www.gnu.org\/licenses\/>\n *\n *\/\n\n\/**\n * Namespace to hold functions related to convert mimetype to icons\n *\n * @namespace\n *\/\nOC.MimeType = {\n\n\t\/**\n\t * Cache that maps mimeTypes to icon urls\n\t *\/\n\t_mimeTypeIcons: {},\n\n\t\/**\n\t * Return the file icon we want to use for the given mimeType.\n\t * The file needs to be present in the supplied file list\n\t *\n\t * @param {string} mimeType The mimeType we want an icon for\n\t * @param {array} files The available icons in this theme\n\t * @return {string} The icon to use or null if there is no match\n\t *\/\n\t_getFile: function(mimeType, files) {\n\t\tvar icon = mimeType.replace(new RegExp('\/', 'g'), '-');\n\n\t\t\/\/ Generate path\n\t\tif (mimeType === 'dir' && $.inArray('folder', files) !== -1) {\n\t\t\treturn 'folder';\n\t\t} else if (mimeType === 'dir-encrypted' && $.inArray('folder-encrypted', files) !== -1) {\n\t\t\treturn 'folder-encrypted';\n\t\t} else if (mimeType === 'dir-shared' && $.inArray('folder-shared', files) !== -1) {\n\t\t\treturn 'folder-shared';\n\t\t} else if (mimeType === 'dir-public' && $.inArray('folder-public', files) !== -1) {\n\t\t\treturn 'folder-public';\n\t\t} else if (mimeType === 'dir-external' && $.inArray('folder-external', files) !== -1) {\n\t\t\treturn 'folder-external';\n\t\t} else if ($.inArray(icon, files) !== -1) {\n\t\t\treturn icon;\n\t\t} else if ($.inArray(icon.split('-')[0], files) !== -1) {\n\t\t\treturn icon.split('-')[0];\n\t\t} else if ($.inArray('file', files) !== -1) {\n\t\t\treturn 'file';\n\t\t}\n\n\t\treturn null;\n\t},\n\n\t\/**\n\t * Return the url to icon of the given mimeType\n\t *\n\t * @param {string} mimeType The mimeType to get the icon for\n\t * @return {string} Url to the icon for mimeType\n\t *\/\n\tgetIconUrl: function(mimeType) {\n\t\tif (_.isUndefined(mimeType)) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\twhile (mimeType in OC.MimeTypeList.aliases) {\n\t\t\tmimeType = OC.MimeTypeList.aliases[mimeType];\n\t\t}\n\t\tif (mimeType in OC.MimeType._mimeTypeIcons) {\n\t\t\treturn OC.MimeType._mimeTypeIcons[mimeType];\n\t\t}\n\n\t\t\/\/ First try to get the correct icon from the current theme\n\t\tvar gotIcon = null;\n\t\tvar path = '';\n\t\tif (OC.theme.folder !== '' && $.isArray(OC.MimeTypeList.themes[OC.theme.folder])) {\n\t\t\tpath = OC.getRootPath() + '\/themes\/' + OC.theme.folder + '\/core\/img\/filetypes\/';\n\t\t\tvar icon = OC.MimeType._getFile(mimeType, OC.MimeTypeList.themes[OC.theme.folder]);\n\n\t\t\tif (icon !== null) {\n\t\t\t\tgotIcon = true;\n\t\t\t\tpath += icon;\n\t\t\t}\n\t\t}\n\t\tif(OCA.Theming && gotIcon === null) {\n\t\t\tpath = OC.generateUrl('\/apps\/theming\/img\/core\/filetypes\/');\n\t\t\tpath += OC.MimeType._getFile(mimeType, OC.MimeTypeList.files);\n\t\t\tgotIcon = true;\n\t\t}\n\n\t\t\/\/ If we do not yet have an icon fall back to the default\n\t\tif (gotIcon === null) {\n\t\t\tpath = OC.getRootPath() + '\/core\/img\/filetypes\/';\n\t\t\tpath += OC.MimeType._getFile(mimeType, OC.MimeTypeList.files);\n\t\t}\n\n\t\tpath += '.svg';\n\n\t\tif(OCA.Theming) {\n\t\t\tpath += \"?v=\" + OCA.Theming.cacheBuster;\n\t\t}\n\n\t\t\/\/ Cache the result\n\t\tOC.MimeType._mimeTypeIcons[mimeType] = path;\n\t\treturn path;\n\t}\n\n};\n\n\n\/**\n* This file is automatically generated\n* DO NOT EDIT MANUALLY!\n*\n* You can update the list of MimeType Aliases in config\/mimetypealiases.json\n* The list of files is fetched from core\/img\/filetypes\n* To regenerate this file run .\/occ maintenance:mimetype:update-js\n*\/\nOC.MimeTypeList={\n\taliases: {\n \"application\/coreldraw\": \"image\",\n \"application\/epub+zip\": \"text\",\n \"application\/font-sfnt\": \"image\",\n \"application\/font-woff\": \"image\",\n \"application\/gpx+xml\": \"location\",\n \"application\/illustrator\": \"image\",\n \"application\/javascript\": \"text\/code\",\n \"application\/json\": \"text\/code\",\n \"application\/msaccess\": \"file\",\n \"application\/msexcel\": \"x-office\/spreadsheet\",\n \"application\/msonenote\": \"x-office\/document\",\n \"application\/mspowerpoint\": \"x-office\/presentation\",\n \"application\/msword\": \"x-office\/document\",\n \"application\/octet-stream\": \"file\",\n \"application\/postscript\": \"image\",\n \"application\/rss+xml\": \"application\/xml\",\n \"application\/vnd.android.package-archive\": \"package\/x-generic\",\n \"application\/vnd.lotus-wordpro\": \"x-office\/document\",\n \"application\/vnd.garmin.tcx+xml\": \"location\",\n \"application\/vnd.google-earth.kml+xml\": \"location\",\n \"application\/vnd.google-earth.kmz\": \"location\",\n \"application\/vnd.ms-excel\": \"x-office\/spreadsheet\",\n \"application\/vnd.ms-excel.addin.macroEnabled.12\": \"x-office\/spreadsheet\",\n \"application\/vnd.ms-excel.sheet.binary.macroEnabled.12\": \"x-office\/spreadsheet\",\n \"application\/vnd.ms-excel.sheet.macroEnabled.12\": \"x-office\/spreadsheet\",\n \"application\/vnd.ms-excel.template.macroEnabled.12\": \"x-office\/spreadsheet\",\n \"application\/vnd.ms-fontobject\": \"image\",\n \"application\/vnd.ms-powerpoint\": \"x-office\/presentation\",\n \"application\/vnd.ms-powerpoint.addin.macroEnabled.12\": \"x-office\/presentation\",\n \"application\/vnd.ms-powerpoint.presentation.macroEnabled.12\": \"x-office\/presentation\",\n \"application\/vnd.ms-powerpoint.slideshow.macroEnabled.12\": \"x-office\/presentation\",\n \"application\/vnd.ms-powerpoint.template.macroEnabled.12\": \"x-office\/presentation\",\n \"application\/vnd.ms-visio.drawing.macroEnabled.12\": \"application\/vnd.visio\",\n \"application\/vnd.ms-visio.drawing\": \"application\/vnd.visio\",\n \"application\/vnd.ms-visio.stencil.macroEnabled.12\": \"application\/vnd.visio\",\n \"application\/vnd.ms-visio.stencil\": \"application\/vnd.visio\",\n \"application\/vnd.ms-visio.template.macroEnabled.12\": \"application\/vnd.visio\",\n \"application\/vnd.ms-visio.template\": \"application\/vnd.visio\",\n \"application\/vnd.ms-word.document.macroEnabled.12\": \"x-office\/document\",\n \"application\/vnd.ms-word.template.macroEnabled.12\": \"x-office\/document\",\n \"application\/vnd.oasis.opendocument.presentation\": \"x-office\/presentation\",\n \"application\/vnd.oasis.opendocument.presentation-template\": \"x-office\/presentation\",\n \"application\/vnd.oasis.opendocument.spreadsheet\": \"x-office\/spreadsheet\",\n \"application\/vnd.oasis.opendocument.spreadsheet-template\": \"x-office\/spreadsheet\",\n \"application\/vnd.oasis.opendocument.text\": \"x-office\/document\",\n \"application\/vnd.oasis.opendocument.text-master\": \"x-office\/document\",\n \"application\/vnd.oasis.opendocument.text-template\": \"x-office\/document\",\n \"application\/vnd.oasis.opendocument.text-web\": \"x-office\/document\",\n \"application\/vnd.openxmlformats-officedocument.presentationml.presentation\": \"x-office\/presentation\",\n \"application\/vnd.openxmlformats-officedocument.presentationml.slideshow\": \"x-office\/presentation\",\n \"application\/vnd.openxmlformats-officedocument.presentationml.template\": \"x-office\/presentation\",\n \"application\/vnd.openxmlformats-officedocument.spreadsheetml.sheet\": \"x-office\/spreadsheet\",\n \"application\/vnd.openxmlformats-officedocument.spreadsheetml.template\": \"x-office\/spreadsheet\",\n \"application\/vnd.openxmlformats-officedocument.wordprocessingml.document\": \"x-office\/document\",\n \"application\/vnd.openxmlformats-officedocument.wordprocessingml.template\": \"x-office\/document\",\n \"application\/vnd.visio\": \"x-office\/document\",\n \"application\/vnd.wordperfect\": \"x-office\/document\",\n \"application\/x-7z-compressed\": \"package\/x-generic\",\n \"application\/x-bzip2\": \"package\/x-generic\",\n \"application\/x-cbr\": \"text\",\n \"application\/x-compressed\": \"package\/x-generic\",\n \"application\/x-dcraw\": \"image\",\n \"application\/x-deb\": \"package\/x-generic\",\n \"application\/x-fictionbook+xml\": \"text\",\n \"application\/x-font\": \"image\",\n \"application\/x-gimp\": \"image\",\n \"application\/x-gzip\": \"package\/x-generic\",\n \"application\/x-iwork-keynote-sffkey\": \"x-office\/presentation\",\n \"application\/x-iwork-numbers-sffnumbers\": \"x-office\/spreadsheet\",\n \"application\/x-iwork-pages-sffpages\": \"x-office\/document\",\n \"application\/x-mobipocket-ebook\": \"text\",\n \"application\/x-perl\": \"text\/code\",\n \"application\/x-photoshop\": \"image\",\n \"application\/x-php\": \"text\/code\",\n \"application\/x-rar-compressed\": \"package\/x-generic\",\n \"application\/x-tar\": \"package\/x-generic\",\n \"application\/x-tex\": \"text\",\n \"application\/xml\": \"text\/html\",\n \"application\/yaml\": \"text\/code\",\n \"application\/zip\": \"package\/x-generic\",\n \"database\": \"file\",\n \"httpd\/unix-directory\": \"dir\",\n \"text\/css\": \"text\/code\",\n \"text\/csv\": \"x-office\/spreadsheet\",\n \"text\/html\": \"text\/code\",\n \"text\/x-c\": \"text\/code\",\n \"text\/x-c++src\": \"text\/code\",\n \"text\/x-h\": \"text\/code\",\n \"text\/x-java-source\": \"text\/code\",\n \"text\/x-ldif\": \"text\/code\",\n \"text\/x-python\": \"text\/code\",\n \"text\/x-shellscript\": \"text\/code\",\n \"web\": \"text\/code\",\n \"application\/internet-shortcut\": \"link\"\n},\n\tfiles: [\n \"application\",\n \"application-pdf\",\n \"audio\",\n \"file\",\n \"folder\",\n \"folder-drag-accept\",\n \"folder-encrypted\",\n \"folder-external\",\n \"folder-public\",\n \"folder-shared\",\n \"folder-starred\",\n \"image\",\n \"link\",\n \"location\",\n \"package-x-generic\",\n \"text\",\n \"text-calendar\",\n \"text-code\",\n \"text-vcard\",\n \"video\",\n \"x-office-document\",\n \"x-office-presentation\",\n \"x-office-spreadsheet\"\n],\n\tthemes: []\n};\n\n\n\/*\n * Copyright (c) 2015\n *\n * This file is licensed under the Affero General Public License version 3\n * or later.\n *\n * See the COPYING-README file.\n *\n *\/\n\n\/* global Select2 *\/\n\n\/**\n * Select2 extension for toggling values in a multi-select dropdown\n *\/\n(function(Select2) {\n\n\tvar Select2FindHighlightableChoices = Select2.class.multi.prototype.findHighlightableChoices;\n\tSelect2.class.multi.prototype.findHighlightableChoices = function () {\n\t\tif (this.opts.toggleSelect) {\n\t\t\treturn this.results.find('.select2-result-selectable:not(.select2-disabled)');\n\t\t}\n\t\treturn Select2FindHighlightableChoices.apply(this, arguments);\n\t};\n\n\tvar Select2TriggerSelect = Select2.class.multi.prototype.triggerSelect;\n\tSelect2.class.multi.prototype.triggerSelect = function (data) {\n\t\tif (this.opts.toggleSelect && this.val().indexOf(this.id(data)) !== -1) {\n\t\t\tvar self = this;\n\t\t\tvar val = this.id(data);\n\n\t\t\tvar selectionEls = this.container.find('.select2-search-choice').filter(function() {\n\t\t\t\treturn (self.id($(this).data('select2-data')) === val);\n\t\t\t});\n\n\t\t\tif (this.unselect(selectionEls)) {\n\t\t\t\t\/\/ also unselect in dropdown\n\t\t\t\tthis.results.find('.select2-result.select2-selected').each(function () {\n\t\t\t\t\tvar $this = $(this);\n\t\t\t\t\tif (self.id($this.data('select2-data')) === val) {\n\t\t\t\t\t\t$this.removeClass('select2-selected');\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tthis.clearSearch();\n\t\t\t}\n\n\t\t\treturn false;\n\t\t} else {\n\t\t\treturn Select2TriggerSelect.apply(this, arguments);\n\t\t}\n\t};\n\n})(Select2);\n\n\n\n"]},{"file":"\/var\/www\/nextcloud\/lib\/private\/Template\/JSCombiner.php","line":194,"function":"putContent","class":"OC\\Files\\SimpleFS\\SimpleFile","type":"->","args":["\/**\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @copyright Copyright (c) 2015, ownCloud, Inc.\n * @license AGPL-3.0\n *\n * This code is free software: you can redistribute it and\/or modify\n * it under the terms of the GNU Affero General Public License, version 3,\n * as published by the Free Software Foundation.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License, version 3,\n * along with this program. If not, see <http:\/\/www.gnu.org\/licenses\/>\n *\n *\/\n\n\/**\n * Namespace to hold functions related to convert mimetype to icons\n *\n * @namespace\n *\/\nOC.MimeType = {\n\n\t\/**\n\t * Cache that maps mimeTypes to icon urls\n\t *\/\n\t_mimeTypeIcons: {},\n\n\t\/**\n\t * Return the file icon we want to use for the given mimeType.\n\t * The file needs to be present in the supplied file list\n\t *\n\t * @param {string} mimeType The mimeType we want an icon for\n\t * @param {array} files The available icons in this theme\n\t * @return {string} The icon to use or null if there is no match\n\t *\/\n\t_getFile: function(mimeType, files) {\n\t\tvar icon = mimeType.replace(new RegExp('\/', 'g'), '-');\n\n\t\t\/\/ Generate path\n\t\tif (mimeType === 'dir' && $.inArray('folder', files) !== -1) {\n\t\t\treturn 'folder';\n\t\t} else if (mimeType === 'dir-encrypted' && $.inArray('folder-encrypted', files) !== -1) {\n\t\t\treturn 'folder-encrypted';\n\t\t} else if (mimeType === 'dir-shared' && $.inArray('folder-shared', files) !== -1) {\n\t\t\treturn 'folder-shared';\n\t\t} else if (mimeType === 'dir-public' && $.inArray('folder-public', files) !== -1) {\n\t\t\treturn 'folder-public';\n\t\t} else if (mimeType === 'dir-external' && $.inArray('folder-external', files) !== -1) {\n\t\t\treturn 'folder-external';\n\t\t} else if ($.inArray(icon, files) !== -1) {\n\t\t\treturn icon;\n\t\t} else if ($.inArray(icon.split('-')[0], files) !== -1) {\n\t\t\treturn icon.split('-')[0];\n\t\t} else if ($.inArray('file', files) !== -1) {\n\t\t\treturn 'file';\n\t\t}\n\n\t\treturn null;\n\t},\n\n\t\/**\n\t * Return the url to icon of the given mimeType\n\t *\n\t * @param {string} mimeType The mimeType to get the icon for\n\t * @return {string} Url to the icon for mimeType\n\t *\/\n\tgetIconUrl: function(mimeType) {\n\t\tif (_.isUndefined(mimeType)) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\twhile (mimeType in OC.MimeTypeList.aliases) {\n\t\t\tmimeType = OC.MimeTypeList.aliases[mimeType];\n\t\t}\n\t\tif (mimeType in OC.MimeType._mimeTypeIcons) {\n\t\t\treturn OC.MimeType._mimeTypeIcons[mimeType];\n\t\t}\n\n\t\t\/\/ First try to get the correct icon from the current theme\n\t\tvar gotIcon = null;\n\t\tvar path = '';\n\t\tif (OC.theme.folder !== '' && $.isArray(OC.MimeTypeList.themes[OC.theme.folder])) {\n\t\t\tpath = OC.getRootPath() + '\/themes\/' + OC.theme.folder + '\/core\/img\/filetypes\/';\n\t\t\tvar icon = OC.MimeType._getFile(mimeType, OC.MimeTypeList.themes[OC.theme.folder]);\n\n\t\t\tif (icon !== null) {\n\t\t\t\tgotIcon = true;\n\t\t\t\tpath += icon;\n\t\t\t}\n\t\t}\n\t\tif(OCA.Theming && gotIcon === null) {\n\t\t\tpath = OC.generateUrl('\/apps\/theming\/img\/core\/filetypes\/');\n\t\t\tpath += OC.MimeType._getFile(mimeType, OC.MimeTypeList.files);\n\t\t\tgotIcon = true;\n\t\t}\n\n\t\t\/\/ If we do not yet have an icon fall back to the default\n\t\tif (gotIcon === null) {\n\t\t\tpath = OC.getRootPath() + '\/core\/img\/filetypes\/';\n\t\t\tpath += OC.MimeType._getFile(mimeType, OC.MimeTypeList.files);\n\t\t}\n\n\t\tpath += '.svg';\n\n\t\tif(OCA.Theming) {\n\t\t\tpath += \"?v=\" + OCA.Theming.cacheBuster;\n\t\t}\n\n\t\t\/\/ Cache the result\n\t\tOC.MimeType._mimeTypeIcons[mimeType] = path;\n\t\treturn path;\n\t}\n\n};\n\n\n\/**\n* This file is automatically generated\n* DO NOT EDIT MANUALLY!\n*\n* You can update the list of MimeType Aliases in config\/mimetypealiases.json\n* The list of files is fetched from core\/img\/filetypes\n* To regenerate this file run .\/occ maintenance:mimetype:update-js\n*\/\nOC.MimeTypeList={\n\taliases: {\n \"application\/coreldraw\": \"image\",\n \"application\/epub+zip\": \"text\",\n \"application\/font-sfnt\": \"image\",\n \"application\/font-woff\": \"image\",\n \"application\/gpx+xml\": \"location\",\n \"application\/illustrator\": \"image\",\n \"application\/javascript\": \"text\/code\",\n \"application\/json\": \"text\/code\",\n \"application\/msaccess\": \"file\",\n \"application\/msexcel\": \"x-office\/spreadsheet\",\n \"application\/msonenote\": \"x-office\/document\",\n \"application\/mspowerpoint\": \"x-office\/presentation\",\n \"application\/msword\": \"x-office\/document\",\n \"application\/octet-stream\": \"file\",\n \"application\/postscript\": \"image\",\n \"application\/rss+xml\": \"application\/xml\",\n \"application\/vnd.android.package-archive\": \"package\/x-generic\",\n \"application\/vnd.lotus-wordpro\": \"x-office\/document\",\n \"application\/vnd.garmin.tcx+xml\": \"location\",\n \"application\/vnd.google-earth.kml+xml\": \"location\",\n \"application\/vnd.google-earth.kmz\": \"location\",\n \"application\/vnd.ms-excel\": \"x-office\/spreadsheet\",\n \"application\/vnd.ms-excel.addin.macroEnabled.12\": \"x-office\/spreadsheet\",\n \"application\/vnd.ms-excel.sheet.binary.macroEnabled.12\": \"x-office\/spreadsheet\",\n \"application\/vnd.ms-excel.sheet.macroEnabled.12\": \"x-office\/spreadsheet\",\n \"application\/vnd.ms-excel.template.macroEnabled.12\": \"x-office\/spreadsheet\",\n \"application\/vnd.ms-fontobject\": \"image\",\n \"application\/vnd.ms-powerpoint\": \"x-office\/presentation\",\n \"application\/vnd.ms-powerpoint.addin.macroEnabled.12\": \"x-office\/presentation\",\n \"application\/vnd.ms-powerpoint.presentation.macroEnabled.12\": \"x-office\/presentation\",\n \"application\/vnd.ms-powerpoint.slideshow.macroEnabled.12\": \"x-office\/presentation\",\n \"application\/vnd.ms-powerpoint.template.macroEnabled.12\": \"x-office\/presentation\",\n \"application\/vnd.ms-visio.drawing.macroEnabled.12\": \"application\/vnd.visio\",\n \"application\/vnd.ms-visio.drawing\": \"application\/vnd.visio\",\n \"application\/vnd.ms-visio.stencil.macroEnabled.12\": \"application\/vnd.visio\",\n \"application\/vnd.ms-visio.stencil\": \"application\/vnd.visio\",\n \"application\/vnd.ms-visio.template.macroEnabled.12\": \"application\/vnd.visio\",\n \"application\/vnd.ms-visio.template\": \"application\/vnd.visio\",\n \"application\/vnd.ms-word.document.macroEnabled.12\": \"x-office\/document\",\n \"application\/vnd.ms-word.template.macroEnabled.12\": \"x-office\/document\",\n \"application\/vnd.oasis.opendocument.presentation\": \"x-office\/presentation\",\n \"application\/vnd.oasis.opendocument.presentation-template\": \"x-office\/presentation\",\n \"application\/vnd.oasis.opendocument.spreadsheet\": \"x-office\/spreadsheet\",\n \"application\/vnd.oasis.opendocument.spreadsheet-template\": \"x-office\/spreadsheet\",\n \"application\/vnd.oasis.opendocument.text\": \"x-office\/document\",\n \"application\/vnd.oasis.opendocument.text-master\": \"x-office\/document\",\n \"application\/vnd.oasis.opendocument.text-template\": \"x-office\/document\",\n \"application\/vnd.oasis.opendocument.text-web\": \"x-office\/document\",\n \"application\/vnd.openxmlformats-officedocument.presentationml.presentation\": \"x-office\/presentation\",\n \"application\/vnd.openxmlformats-officedocument.presentationml.slideshow\": \"x-office\/presentation\",\n \"application\/vnd.openxmlformats-officedocument.presentationml.template\": \"x-office\/presentation\",\n \"application\/vnd.openxmlformats-officedocument.spreadsheetml.sheet\": \"x-office\/spreadsheet\",\n \"application\/vnd.openxmlformats-officedocument.spreadsheetml.template\": \"x-office\/spreadsheet\",\n \"application\/vnd.openxmlformats-officedocument.wordprocessingml.document\": \"x-office\/document\",\n \"application\/vnd.openxmlformats-officedocument.wordprocessingml.template\": \"x-office\/document\",\n \"application\/vnd.visio\": \"x-office\/document\",\n \"application\/vnd.wordperfect\": \"x-office\/document\",\n \"application\/x-7z-compressed\": \"package\/x-generic\",\n \"application\/x-bzip2\": \"package\/x-generic\",\n \"application\/x-cbr\": \"text\",\n \"application\/x-compressed\": \"package\/x-generic\",\n \"application\/x-dcraw\": \"image\",\n \"application\/x-deb\": \"package\/x-generic\",\n \"application\/x-fictionbook+xml\": \"text\",\n \"application\/x-font\": \"image\",\n \"application\/x-gimp\": \"image\",\n \"application\/x-gzip\": \"package\/x-generic\",\n \"application\/x-iwork-keynote-sffkey\": \"x-office\/presentation\",\n \"application\/x-iwork-numbers-sffnumbers\": \"x-office\/spreadsheet\",\n \"application\/x-iwork-pages-sffpages\": \"x-office\/document\",\n \"application\/x-mobipocket-ebook\": \"text\",\n \"application\/x-perl\": \"text\/code\",\n \"application\/x-photoshop\": \"image\",\n \"application\/x-php\": \"text\/code\",\n \"application\/x-rar-compressed\": \"package\/x-generic\",\n \"application\/x-tar\": \"package\/x-generic\",\n \"application\/x-tex\": \"text\",\n \"application\/xml\": \"text\/html\",\n \"application\/yaml\": \"text\/code\",\n \"application\/zip\": \"package\/x-generic\",\n \"database\": \"file\",\n \"httpd\/unix-directory\": \"dir\",\n \"text\/css\": \"text\/code\",\n \"text\/csv\": \"x-office\/spreadsheet\",\n \"text\/html\": \"text\/code\",\n \"text\/x-c\": \"text\/code\",\n \"text\/x-c++src\": \"text\/code\",\n \"text\/x-h\": \"text\/code\",\n \"text\/x-java-source\": \"text\/code\",\n \"text\/x-ldif\": \"text\/code\",\n \"text\/x-python\": \"text\/code\",\n \"text\/x-shellscript\": \"text\/code\",\n \"web\": \"text\/code\",\n \"application\/internet-shortcut\": \"link\"\n},\n\tfiles: [\n \"application\",\n \"application-pdf\",\n \"audio\",\n \"file\",\n \"folder\",\n \"folder-drag-accept\",\n \"folder-encrypted\",\n \"folder-external\",\n \"folder-public\",\n \"folder-shared\",\n \"folder-starred\",\n \"image\",\n \"link\",\n \"location\",\n \"package-x-generic\",\n \"text\",\n \"text-calendar\",\n \"text-code\",\n \"text-vcard\",\n \"video\",\n \"x-office-document\",\n \"x-office-presentation\",\n \"x-office-spreadsheet\"\n],\n\tthemes: []\n};\n\n\n\/*\n * Copyright (c) 2015\n *\n * This file is licensed under the Affero General Public License version 3\n * or later.\n *\n * See the COPYING-README file.\n *\n *\/\n\n\/* global Select2 *\/\n\n\/**\n * Select2 extension for toggling values in a multi-select dropdown\n *\/\n(function(Select2) {\n\n\tvar Select2FindHighlightableChoices = Select2.class.multi.prototype.findHighlightableChoices;\n\tSelect2.class.multi.prototype.findHighlightableChoices = function () {\n\t\tif (this.opts.toggleSelect) {\n\t\t\treturn this.results.find('.select2-result-selectable:not(.select2-disabled)');\n\t\t}\n\t\treturn Select2FindHighlightableChoices.apply(this, arguments);\n\t};\n\n\tvar Select2TriggerSelect = Select2.class.multi.prototype.triggerSelect;\n\tSelect2.class.multi.prototype.triggerSelect = function (data) {\n\t\tif (this.opts.toggleSelect && this.val().indexOf(this.id(data)) !== -1) {\n\t\t\tvar self = this;\n\t\t\tvar val = this.id(data);\n\n\t\t\tvar selectionEls = this.container.find('.select2-search-choice').filter(function() {\n\t\t\t\treturn (self.id($(this).data('select2-data')) === val);\n\t\t\t});\n\n\t\t\tif (this.unselect(selectionEls)) {\n\t\t\t\t\/\/ also unselect in dropdown\n\t\t\t\tthis.results.find('.select2-result.select2-selected').each(function () {\n\t\t\t\t\tvar $this = $(this);\n\t\t\t\t\tif (self.id($this.data('select2-data')) === val) {\n\t\t\t\t\t\t$this.removeClass('select2-selected');\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tthis.clearSearch();\n\t\t\t}\n\n\t\t\treturn false;\n\t\t} else {\n\t\t\treturn Select2TriggerSelect.apply(this, arguments);\n\t\t}\n\t};\n\n})(Select2);\n\n\n\n"]},{"file":"\/var\/www\/nextcloud\/lib\/private\/Template\/JSCombiner.php","line":103,"function":"cache","class":"OC\\Template\\JSCombiner","type":"->","args":["\/var\/www\/nextcloud\/core\/js","merged-template-prepend.js",{"__class__":"OC\\Files\\SimpleFS\\SimpleFolder"}]},{"file":"\/var\/www\/nextcloud\/lib\/private\/Template\/JSResourceLocator.php","line":114,"function":"process","class":"OC\\Template\\JSCombiner","type":"->","args":["\/var\/www\/nextcloud","core\/js\/merged-template-prepend.json","core"]},{"file":"\/var\/www\/nextcloud\/lib\/private\/Template\/JSResourceLocator.php","line":70,"function":"cacheAndAppendCombineJsonIfExist","class":"OC\\Template\\JSResourceLocator","type":"->","args":["\/var\/www\/nextcloud","core\/js\/merged-template-prepend.json"]},{"file":"\/var\/www\/nextcloud\/lib\/private\/Template\/ResourceLocator.php","line":78,"function":"doFind","class":"OC\\Template\\JSResourceLocator","type":"->","args":["js\/merged-template-prepend"]},{"file":"\/var\/www\/nextcloud\/lib\/private\/TemplateLayout.php","line":341,"function":"find","class":"OC\\Template\\ResourceLocator","type":"->","args":[["core\/js\/dist\/main","js\/merged-template-prepend","search\/js\/search","core\/l10n\/en","search\/l10n\/en","search\/js\/searchprovider","js\/files\/fileinfo","js\/files\/client","js\/dist\/maintenance"]]},{"file":"\/var\/www\/nextcloud\/lib\/private\/TemplateLayout.php","line":169,"function":"findJavascriptFiles","class":"OC\\TemplateLayout","type":"::","args":[["core\/js\/dist\/main","js\/merged-template-prepend","search\/js\/search","core\/l10n\/en","search\/l10n\/en","search\/js\/searchprovider","js\/files\/fileinfo","js\/files\/client","js\/dist\/maintenance"]]},{"file":"\/var\/www\/nextcloud\/lib\/private\/legacy\/template.php","line":183,"function":"__construct","class":"OC\\TemplateLayout","type":"->","args":["guest",""]},{"file":"\/var\/www\/nextcloud\/lib\/private\/Template\/Base.php","line":131,"function":"fetchPage","class":"OC_Template","type":"->","args":[]},{"file":"\/var\/www\/nextcloud\/lib\/base.php","line":297,"function":"printPage","class":"OC\\Template\\Base","type":"->","args":[]},{"file":"\/var\/www\/nextcloud\/lib\/base.php","line":945,"function":"checkMaintenanceMode","class":"OC","type":"::","args":[]},{"file":"\/var\/www\/nextcloud\/index.php","line":42,"function":"handleRequest","class":"OC","type":"::","args":[]}],"File":"\/var\/www\/nextcloud\/lib\/private\/Files\/Node\/File.php","Line":67,"CustomMessage":"--"},"userAgent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/84.0.4147.135 Safari\/537.36","version":"17.0.3.1"}
{"reqId":"7WZn2plLltOELEwIFWFp","level":3,"time":"2020-10-05T16:14:03+00:00","remoteAddr":"216.21.170.196","user":"--","app":"PHP","method":"GET","url":"\/nextcloud","message":"file_get_contents(\/datastore\/appdata_oc5cbhxlsgns\/js\/core\/merged-template-prepend.js.deps): failed to open stream: No such file or directory at \/var\/www\/nextcloud\/lib\/private\/Files\/Storage\/Local.php#217","userAgent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/84.0.4147.135 Safari\/537.36","version":"17.0.3.1"}
{"reqId":"7WZn2plLltOELEwIFWFp","level":3,"time":"2020-10-05T16:14:03+00:00","remoteAddr":"216.21.170.196","user":"--","app":"PHP","method":"GET","url":"\/nextcloud","message":"stat(): stat failed for \/datastore\/appdata_oc5cbhxlsgns\/js\/core\/merged-template-prepend.js.deps at \/var\/www\/nextcloud\/lib\/private\/Files\/Storage\/Local.php#143","userAgent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/84.0.4147.135 Safari\/537.36","version":"17.0.3.1"}
{"reqId":"7WZn2plLltOELEwIFWFp","level":3,"time":"2020-10-05T16:14:03+00:00","remoteAddr":"216.21.170.196","user":"--","app":"PHP","method":"GET","url":"\/nextcloud","message":"filesize(): stat failed for \/datastore\/appdata_oc5cbhxlsgns\/js\/core\/merged-template-prepend.js.deps at \/var\/www\/nextcloud\/lib\/private\/LargeFileHelper.php#171","userAgent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/84.0.4147.135 Safari\/537.36","version":"17.0.3.1"}
{"reqId":"7WZn2plLltOELEwIFWFp","level":3,"time":"2020-10-05T16:14:03+00:00","remoteAddr":"216.21.170.196","user":"--","app":"PHP","method":"GET","url":"\/nextcloud","message":"file_put_contents(\/datastore\/appdata_oc5cbhxlsgns\/js\/core\/merged-template-prepend.js): failed to open stream: No such file or directory at \/var\/www\/nextcloud\/lib\/private\/Files\/Storage\/Local.php#221","userAgent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/84.0.4147.135 Safari\/537.36","version":"17.0.3.1"}
{"reqId":"7WZn2plLltOELEwIFWFp","level":3,"time":"2020-10-05T16:14:03+00:00","remoteAddr":"216.21.170.196","user":"--","app":"core","method":"GET","url":"\/nextcloud","message":{"Exception":"OCP\\Files\\GenericFileException","Message":"file_put_contents failed","Code":0,"Trace":[{"file":"\/var\/www\/nextcloud\/lib\/private\/Files\/SimpleFS\/SimpleFile.php","line":106,"function":"putContent","class":"OC\\Files\\Node\\File","type":"->","args":["\/**\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @copyright Copyright (c) 2015, ownCloud, Inc.\n * @license AGPL-3.0\n *\n * This code is free software: you can redistribute it and\/or modify\n * it under the terms of the GNU Affero General Public License, version 3,\n * as published by the Free Software Foundation.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License, version 3,\n * along with this program. If not, see <http:\/\/www.gnu.org\/licenses\/>\n *\n *\/\n\n\/**\n * Namespace to hold functions related to convert mimetype to icons\n *\n * @namespace\n *\/\nOC.MimeType = {\n\n\t\/**\n\t * Cache that maps mimeTypes to icon urls\n\t *\/\n\t_mimeTypeIcons: {},\n\n\t\/**\n\t * Return the file icon we want to use for the given mimeType.\n\t * The file needs to be present in the supplied file list\n\t *\n\t * @param {string} mimeType The mimeType we want an icon for\n\t * @param {array} files The available icons in this theme\n\t * @return {string} The icon to use or null if there is no match\n\t *\/\n\t_getFile: function(mimeType, files) {\n\t\tvar icon = mimeType.replace(new RegExp('\/', 'g'), '-');\n\n\t\t\/\/ Generate path\n\t\tif (mimeType === 'dir' && $.inArray('folder', files) !== -1) {\n\t\t\treturn 'folder';\n\t\t} else if (mimeType === 'dir-encrypted' && $.inArray('folder-encrypted', files) !== -1) {\n\t\t\treturn 'folder-encrypted';\n\t\t} else if (mimeType === 'dir-shared' && $.inArray('folder-shared', files) !== -1) {\n\t\t\treturn 'folder-shared';\n\t\t} else if (mimeType === 'dir-public' && $.inArray('folder-public', files) !== -1) {\n\t\t\treturn 'folder-public';\n\t\t} else if (mimeType === 'dir-external' && $.inArray('folder-external', files) !== -1) {\n\t\t\treturn 'folder-external';\n\t\t} else if ($.inArray(icon, files) !== -1) {\n\t\t\treturn icon;\n\t\t} else if ($.inArray(icon.split('-')[0], files) !== -1) {\n\t\t\treturn icon.split('-')[0];\n\t\t} else if ($.inArray('file', files) !== -1) {\n\t\t\treturn 'file';\n\t\t}\n\n\t\treturn null;\n\t},\n\n\t\/**\n\t * Return the url to icon of the given mimeType\n\t *\n\t * @param {string} mimeType The mimeType to get the icon for\n\t * @return {string} Url to the icon for mimeType\n\t *\/\n\tgetIconUrl: function(mimeType) {\n\t\tif (_.isUndefined(mimeType)) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\twhile (mimeType in OC.MimeTypeList.aliases) {\n\t\t\tmimeType = OC.MimeTypeList.aliases[mimeType];\n\t\t}\n\t\tif (mimeType in OC.MimeType._mimeTypeIcons) {\n\t\t\treturn OC.MimeType._mimeTypeIcons[mimeType];\n\t\t}\n\n\t\t\/\/ First try to get the correct icon from the current theme\n\t\tvar gotIcon = null;\n\t\tvar path = '';\n\t\tif (OC.theme.folder !== '' && $.isArray(OC.MimeTypeList.themes[OC.theme.folder])) {\n\t\t\tpath = OC.getRootPath() + '\/themes\/' + OC.theme.folder + '\/core\/img\/filetypes\/';\n\t\t\tvar icon = OC.MimeType._getFile(mimeType, OC.MimeTypeList.themes[OC.theme.folder]);\n\n\t\t\tif (icon !== null) {\n\t\t\t\tgotIcon = true;\n\t\t\t\tpath += icon;\n\t\t\t}\n\t\t}\n\t\tif(OCA.Theming && gotIcon === null) {\n\t\t\tpath = OC.generateUrl('\/apps\/theming\/img\/core\/filetypes\/');\n\t\t\tpath += OC.MimeType._getFile(mimeType, OC.MimeTypeList.files);\n\t\t\tgotIcon = true;\n\t\t}\n\n\t\t\/\/ If we do not yet have an icon fall back to the default\n\t\tif (gotIcon === null) {\n\t\t\tpath = OC.getRootPath() + '\/core\/img\/filetypes\/';\n\t\t\tpath += OC.MimeType._getFile(mimeType, OC.MimeTypeList.files);\n\t\t}\n\n\t\tpath += '.svg';\n\n\t\tif(OCA.Theming) {\n\t\t\tpath += \"?v=\" + OCA.Theming.cacheBuster;\n\t\t}\n\n\t\t\/\/ Cache the result\n\t\tOC.MimeType._mimeTypeIcons[mimeType] = path;\n\t\treturn path;\n\t}\n\n};\n\n\n\/**\n* This file is automatically generated\n* DO NOT EDIT MANUALLY!\n*\n* You can update the list of MimeType Aliases in config\/mimetypealiases.json\n* The list of files is fetched from core\/img\/filetypes\n* To regenerate this file run .\/occ maintenance:mimetype:update-js\n*\/\nOC.MimeTypeList={\n\taliases: {\n \"application\/coreldraw\": \"image\",\n \"application\/epub+zip\": \"text\",\n \"application\/font-sfnt\": \"image\",\n \"application\/font-woff\": \"image\",\n \"application\/gpx+xml\": \"location\",\n \"application\/illustrator\": \"image\",\n \"application\/javascript\": \"text\/code\",\n \"application\/json\": \"text\/code\",\n \"application\/msaccess\": \"file\",\n \"application\/msexcel\": \"x-office\/spreadsheet\",\n \"application\/msonenote\": \"x-office\/document\",\n \"application\/mspowerpoint\": \"x-office\/presentation\",\n \"application\/msword\": \"x-office\/document\",\n \"application\/octet-stream\": \"file\",\n \"application\/postscript\": \"image\",\n \"application\/rss+xml\": \"application\/xml\",\n \"application\/vnd.android.package-archive\": \"package\/x-generic\",\n \"application\/vnd.lotus-wordpro\": \"x-office\/document\",\n \"application\/vnd.garmin.tcx+xml\": \"location\",\n \"application\/vnd.google-earth.kml+xml\": \"location\",\n \"application\/vnd.google-earth.kmz\": \"location\",\n \"application\/vnd.ms-excel\": \"x-office\/spreadsheet\",\n \"application\/vnd.ms-excel.addin.macroEnabled.12\": \"x-office\/spreadsheet\",\n \"application\/vnd.ms-excel.sheet.binary.macroEnabled.12\": \"x-office\/spreadsheet\",\n \"application\/vnd.ms-excel.sheet.macroEnabled.12\": \"x-office\/spreadsheet\",\n \"application\/vnd.ms-excel.template.macroEnabled.12\": \"x-office\/spreadsheet\",\n \"application\/vnd.ms-fontobject\": \"image\",\n \"application\/vnd.ms-powerpoint\": \"x-office\/presentation\",\n \"application\/vnd.ms-powerpoint.addin.macroEnabled.12\": \"x-office\/presentation\",\n \"application\/vnd.ms-powerpoint.presentation.macroEnabled.12\": \"x-office\/presentation\",\n \"application\/vnd.ms-powerpoint.slideshow.macroEnabled.12\": \"x-office\/presentation\",\n \"application\/vnd.ms-powerpoint.template.macroEnabled.12\": \"x-office\/presentation\",\n \"application\/vnd.ms-visio.drawing.macroEnabled.12\": \"application\/vnd.visio\",\n \"application\/vnd.ms-visio.drawing\": \"application\/vnd.visio\",\n \"application\/vnd.ms-visio.stencil.macroEnabled.12\": \"application\/vnd.visio\",\n \"application\/vnd.ms-visio.stencil\": \"application\/vnd.visio\",\n \"application\/vnd.ms-visio.template.macroEnabled.12\": \"application\/vnd.visio\",\n \"application\/vnd.ms-visio.template\": \"application\/vnd.visio\",\n \"application\/vnd.ms-word.document.macroEnabled.12\": \"x-office\/document\",\n \"application\/vnd.ms-word.template.macroEnabled.12\": \"x-office\/document\",\n \"application\/vnd.oasis.opendocument.presentation\": \"x-office\/presentation\",\n \"application\/vnd.oasis.opendocument.presentation-template\": \"x-office\/presentation\",\n \"application\/vnd.oasis.opendocument.spreadsheet\": \"x-office\/spreadsheet\",\n \"application\/vnd.oasis.opendocument.spreadsheet-template\": \"x-office\/spreadsheet\",\n \"application\/vnd.oasis.opendocument.text\": \"x-office\/document\",\n \"application\/vnd.oasis.opendocument.text-master\": \"x-office\/document\",\n \"application\/vnd.oasis.opendocument.text-template\": \"x-office\/document\",\n \"application\/vnd.oasis.opendocument.text-web\": \"x-office\/document\",\n \"application\/vnd.openxmlformats-officedocument.presentationml.presentation\": \"x-office\/presentation\",\n \"application\/vnd.openxmlformats-officedocument.presentationml.slideshow\": \"x-office\/presentation\",\n \"application\/vnd.openxmlformats-officedocument.presentationml.template\": \"x-office\/presentation\",\n \"application\/vnd.openxmlformats-officedocument.spreadsheetml.sheet\": \"x-office\/spreadsheet\",\n \"application\/vnd.openxmlformats-officedocument.spreadsheetml.template\": \"x-office\/spreadsheet\",\n \"application\/vnd.openxmlformats-officedocument.wordprocessingml.document\": \"x-office\/document\",\n \"application\/vnd.openxmlformats-officedocument.wordprocessingml.template\": \"x-office\/document\",\n \"application\/vnd.visio\": \"x-office\/document\",\n \"application\/vnd.wordperfect\": \"x-office\/document\",\n \"application\/x-7z-compressed\": \"package\/x-generic\",\n \"application\/x-bzip2\": \"package\/x-generic\",\n \"application\/x-cbr\": \"text\",\n \"application\/x-compressed\": \"package\/x-generic\",\n \"application\/x-dcraw\": \"image\",\n \"application\/x-deb\": \"package\/x-generic\",\n \"application\/x-fictionbook+xml\": \"text\",\n \"application\/x-font\": \"image\",\n \"application\/x-gimp\": \"image\",\n \"application\/x-gzip\": \"package\/x-generic\",\n \"application\/x-iwork-keynote-sffkey\": \"x-office\/presentation\",\n \"application\/x-iwork-numbers-sffnumbers\": \"x-office\/spreadsheet\",\n \"application\/x-iwork-pages-sffpages\": \"x-office\/document\",\n \"application\/x-mobipocket-ebook\": \"text\",\n \"application\/x-perl\": \"text\/code\",\n \"application\/x-photoshop\": \"image\",\n \"application\/x-php\": \"text\/code\",\n \"application\/x-rar-compressed\": \"package\/x-generic\",\n \"application\/x-tar\": \"package\/x-generic\",\n \"application\/x-tex\": \"text\",\n \"application\/xml\": \"text\/html\",\n \"application\/yaml\": \"text\/code\",\n \"application\/zip\": \"package\/x-generic\",\n \"database\": \"file\",\n \"httpd\/unix-directory\": \"dir\",\n \"text\/css\": \"text\/code\",\n \"text\/csv\": \"x-office\/spreadsheet\",\n \"text\/html\": \"text\/code\",\n \"text\/x-c\": \"text\/code\",\n \"text\/x-c++src\": \"text\/code\",\n \"text\/x-h\": \"text\/code\",\n \"text\/x-java-source\": \"text\/code\",\n \"text\/x-ldif\": \"text\/code\",\n \"text\/x-python\": \"text\/code\",\n \"text\/x-shellscript\": \"text\/code\",\n \"web\": \"text\/code\",\n \"application\/internet-shortcut\": \"link\"\n},\n\tfiles: [\n \"application\",\n \"application-pdf\",\n \"audio\",\n \"file\",\n \"folder\",\n \"folder-drag-accept\",\n \"folder-encrypted\",\n \"folder-external\",\n \"folder-public\",\n \"folder-shared\",\n \"folder-starred\",\n \"image\",\n \"link\",\n \"location\",\n \"package-x-generic\",\n \"text\",\n \"text-calendar\",\n \"text-code\",\n \"text-vcard\",\n \"video\",\n \"x-office-document\",\n \"x-office-presentation\",\n \"x-office-spreadsheet\"\n],\n\tthemes: []\n};\n\n\n\/*\n * Copyright (c) 2015\n *\n * This file is licensed under the Affero General Public License version 3\n * or later.\n *\n * See the COPYING-README file.\n *\n *\/\n\n\/* global Select2 *\/\n\n\/**\n * Select2 extension for toggling values in a multi-select dropdown\n *\/\n(function(Select2) {\n\n\tvar Select2FindHighlightableChoices = Select2.class.multi.prototype.findHighlightableChoices;\n\tSelect2.class.multi.prototype.findHighlightableChoices = function () {\n\t\tif (this.opts.toggleSelect) {\n\t\t\treturn this.results.find('.select2-result-selectable:not(.select2-disabled)');\n\t\t}\n\t\treturn Select2FindHighlightableChoices.apply(this, arguments);\n\t};\n\n\tvar Select2TriggerSelect = Select2.class.multi.prototype.triggerSelect;\n\tSelect2.class.multi.prototype.triggerSelect = function (data) {\n\t\tif (this.opts.toggleSelect && this.val().indexOf(this.id(data)) !== -1) {\n\t\t\tvar self = this;\n\t\t\tvar val = this.id(data);\n\n\t\t\tvar selectionEls = this.container.find('.select2-search-choice').filter(function() {\n\t\t\t\treturn (self.id($(this).data('select2-data')) === val);\n\t\t\t});\n\n\t\t\tif (this.unselect(selectionEls)) {\n\t\t\t\t\/\/ also unselect in dropdown\n\t\t\t\tthis.results.find('.select2-result.select2-selected').each(function () {\n\t\t\t\t\tvar $this = $(this);\n\t\t\t\t\tif (self.id($this.data('select2-data')) === val) {\n\t\t\t\t\t\t$this.removeClass('select2-selected');\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tthis.clearSearch();\n\t\t\t}\n\n\t\t\treturn false;\n\t\t} else {\n\t\t\treturn Select2TriggerSelect.apply(this, arguments);\n\t\t}\n\t};\n\n})(Select2);\n\n\n\n"]},{"file":"\/var\/www\/nextcloud\/lib\/private\/Template\/JSCombiner.php","line":194,"function":"putContent","class":"OC\\Files\\SimpleFS\\SimpleFile","type":"->","args":["\/**\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @copyright Copyright (c) 2015, ownCloud, Inc.\n * @license AGPL-3.0\n *\n * This code is free software: you can redistribute it and\/or modify\n * it under the terms of the GNU Affero General Public License, version 3,\n * as published by the Free Software Foundation.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License, version 3,\n * along with this program. If not, see <http:\/\/www.gnu.org\/licenses\/>\n *\n *\/\n\n\/**\n * Namespace to hold functions related to convert mimetype to icons\n *\n * @namespace\n *\/\nOC.MimeType = {\n\n\t\/**\n\t * Cache that maps mimeTypes to icon urls\n\t *\/\n\t_mimeTypeIcons: {},\n\n\t\/**\n\t * Return the file icon we want to use for the given mimeType.\n\t * The file needs to be present in the supplied file list\n\t *\n\t * @param {string} mimeType The mimeType we want an icon for\n\t * @param {array} files The available icons in this theme\n\t * @return {string} The icon to use or null if there is no match\n\t *\/\n\t_getFile: function(mimeType, files) {\n\t\tvar icon = mimeType.replace(new RegExp('\/', 'g'), '-');\n\n\t\t\/\/ Generate path\n\t\tif (mimeType === 'dir' && $.inArray('folder', files) !== -1) {\n\t\t\treturn 'folder';\n\t\t} else if (mimeType === 'dir-encrypted' && $.inArray('folder-encrypted', files) !== -1) {\n\t\t\treturn 'folder-encrypted';\n\t\t} else if (mimeType === 'dir-shared' && $.inArray('folder-shared', files) !== -1) {\n\t\t\treturn 'folder-shared';\n\t\t} else if (mimeType === 'dir-public' && $.inArray('folder-public', files) !== -1) {\n\t\t\treturn 'folder-public';\n\t\t} else if (mimeType === 'dir-external' && $.inArray('folder-external', files) !== -1) {\n\t\t\treturn 'folder-external';\n\t\t} else if ($.inArray(icon, files) !== -1) {\n\t\t\treturn icon;\n\t\t} else if ($.inArray(icon.split('-')[0], files) !== -1) {\n\t\t\treturn icon.split('-')[0];\n\t\t} else if ($.inArray('file', files) !== -1) {\n\t\t\treturn 'file';\n\t\t}\n\n\t\treturn null;\n\t},\n\n\t\/**\n\t * Return the url to icon of the given mimeType\n\t *\n\t * @param {string} mimeType The mimeType to get the icon for\n\t * @return {string} Url to the icon for mimeType\n\t *\/\n\tgetIconUrl: function(mimeType) {\n\t\tif (_.isUndefined(mimeType)) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\twhile (mimeType in OC.MimeTypeList.aliases) {\n\t\t\tmimeType = OC.MimeTypeList.aliases[mimeType];\n\t\t}\n\t\tif (mimeType in OC.MimeType._mimeTypeIcons) {\n\t\t\treturn OC.MimeType._mimeTypeIcons[mimeType];\n\t\t}\n\n\t\t\/\/ First try to get the correct icon from the current theme\n\t\tvar gotIcon = null;\n\t\tvar path = '';\n\t\tif (OC.theme.folder !== '' && $.isArray(OC.MimeTypeList.themes[OC.theme.folder])) {\n\t\t\tpath = OC.getRootPath() + '\/themes\/' + OC.theme.folder + '\/core\/img\/filetypes\/';\n\t\t\tvar icon = OC.MimeType._getFile(mimeType, OC.MimeTypeList.themes[OC.theme.folder]);\n\n\t\t\tif (icon !== null) {\n\t\t\t\tgotIcon = true;\n\t\t\t\tpath += icon;\n\t\t\t}\n\t\t}\n\t\tif(OCA.Theming && gotIcon === null) {\n\t\t\tpath = OC.generateUrl('\/apps\/theming\/img\/core\/filetypes\/');\n\t\t\tpath += OC.MimeType._getFile(mimeType, OC.MimeTypeList.files);\n\t\t\tgotIcon = true;\n\t\t}\n\n\t\t\/\/ If we do not yet have an icon fall back to the default\n\t\tif (gotIcon === null) {\n\t\t\tpath = OC.getRootPath() + '\/core\/img\/filetypes\/';\n\t\t\tpath += OC.MimeType._getFile(mimeType, OC.MimeTypeList.files);\n\t\t}\n\n\t\tpath += '.svg';\n\n\t\tif(OCA.Theming) {\n\t\t\tpath += \"?v=\" + OCA.Theming.cacheBuster;\n\t\t}\n\n\t\t\/\/ Cache the result\n\t\tOC.MimeType._mimeTypeIcons[mimeType] = path;\n\t\treturn path;\n\t}\n\n};\n\n\n\/**\n* This file is automatically generated\n* DO NOT EDIT MANUALLY!\n*\n* You can update the list of MimeType Aliases in config\/mimetypealiases.json\n* The list of files is fetched from core\/img\/filetypes\n* To regenerate this file run .\/occ maintenance:mimetype:update-js\n*\/\nOC.MimeTypeList={\n\taliases: {\n \"application\/coreldraw\": \"image\",\n \"application\/epub+zip\": \"text\",\n \"application\/font-sfnt\": \"image\",\n \"application\/font-woff\": \"image\",\n \"application\/gpx+xml\": \"location\",\n \"application\/illustrator\": \"image\",\n \"application\/javascript\": \"text\/code\",\n \"application\/json\": \"text\/code\",\n \"application\/msaccess\": \"file\",\n \"application\/msexcel\": \"x-office\/spreadsheet\",\n \"application\/msonenote\": \"x-office\/document\",\n \"application\/mspowerpoint\": \"x-office\/presentation\",\n \"application\/msword\": \"x-office\/document\",\n \"application\/octet-stream\": \"file\",\n \"application\/postscript\": \"image\",\n \"application\/rss+xml\": \"application\/xml\",\n \"application\/vnd.android.package-archive\": \"package\/x-generic\",\n \"application\/vnd.lotus-wordpro\": \"x-office\/document\",\n \"application\/vnd.garmin.tcx+xml\": \"location\",\n \"application\/vnd.google-earth.kml+xml\": \"location\",\n \"application\/vnd.google-earth.kmz\": \"location\",\n \"application\/vnd.ms-excel\": \"x-office\/spreadsheet\",\n \"application\/vnd.ms-excel.addin.macroEnabled.12\": \"x-office\/spreadsheet\",\n \"application\/vnd.ms-excel.sheet.binary.macroEnabled.12\": \"x-office\/spreadsheet\",\n \"application\/vnd.ms-excel.sheet.macroEnabled.12\": \"x-office\/spreadsheet\",\n \"application\/vnd.ms-excel.template.macroEnabled.12\": \"x-office\/spreadsheet\",\n \"application\/vnd.ms-fontobject\": \"image\",\n \"application\/vnd.ms-powerpoint\": \"x-office\/presentation\",\n \"application\/vnd.ms-powerpoint.addin.macroEnabled.12\": \"x-office\/presentation\",\n \"application\/vnd.ms-powerpoint.presentation.macroEnabled.12\": \"x-office\/presentation\",\n \"application\/vnd.ms-powerpoint.slideshow.macroEnabled.12\": \"x-office\/presentation\",\n \"application\/vnd.ms-powerpoint.template.macroEnabled.12\": \"x-office\/presentation\",\n \"application\/vnd.ms-visio.drawing.macroEnabled.12\": \"application\/vnd.visio\",\n \"application\/vnd.ms-visio.drawing\": \"application\/vnd.visio\",\n \"application\/vnd.ms-visio.stencil.macroEnabled.12\": \"application\/vnd.visio\",\n \"application\/vnd.ms-visio.stencil\": \"application\/vnd.visio\",\n \"application\/vnd.ms-visio.template.macroEnabled.12\": \"application\/vnd.visio\",\n \"application\/vnd.ms-visio.template\": \"application\/vnd.visio\",\n \"application\/vnd.ms-word.document.macroEnabled.12\": \"x-office\/document\",\n \"application\/vnd.ms-word.template.macroEnabled.12\": \"x-office\/document\",\n \"application\/vnd.oasis.opendocument.presentation\": \"x-office\/presentation\",\n \"application\/vnd.oasis.opendocument.presentation-template\": \"x-office\/presentation\",\n \"application\/vnd.oasis.opendocument.spreadsheet\": \"x-office\/spreadsheet\",\n \"application\/vnd.oasis.opendocument.spreadsheet-template\": \"x-office\/spreadsheet\",\n \"application\/vnd.oasis.opendocument.text\": \"x-office\/document\",\n \"application\/vnd.oasis.opendocument.text-master\": \"x-office\/document\",\n \"application\/vnd.oasis.opendocument.text-template\": \"x-office\/document\",\n \"application\/vnd.oasis.opendocument.text-web\": \"x-office\/document\",\n \"application\/vnd.openxmlformats-officedocument.presentationml.presentation\": \"x-office\/presentation\",\n \"application\/vnd.openxmlformats-officedocument.presentationml.slideshow\": \"x-office\/presentation\",\n \"application\/vnd.openxmlformats-officedocument.presentationml.template\": \"x-office\/presentation\",\n \"application\/vnd.openxmlformats-officedocument.spreadsheetml.sheet\": \"x-office\/spreadsheet\",\n \"application\/vnd.openxmlformats-officedocument.spreadsheetml.template\": \"x-office\/spreadsheet\",\n \"application\/vnd.openxmlformats-officedocument.wordprocessingml.document\": \"x-office\/document\",\n \"application\/vnd.openxmlformats-officedocument.wordprocessingml.template\": \"x-office\/document\",\n \"application\/vnd.visio\": \"x-office\/document\",\n \"application\/vnd.wordperfect\": \"x-office\/document\",\n \"application\/x-7z-compressed\": \"package\/x-generic\",\n \"application\/x-bzip2\": \"package\/x-generic\",\n \"application\/x-cbr\": \"text\",\n \"application\/x-compressed\": \"package\/x-generic\",\n \"application\/x-dcraw\": \"image\",\n \"application\/x-deb\": \"package\/x-generic\",\n \"application\/x-fictionbook+xml\": \"text\",\n \"application\/x-font\": \"image\",\n \"application\/x-gimp\": \"image\",\n \"application\/x-gzip\": \"package\/x-generic\",\n \"application\/x-iwork-keynote-sffkey\": \"x-office\/presentation\",\n \"application\/x-iwork-numbers-sffnumbers\": \"x-office\/spreadsheet\",\n \"application\/x-iwork-pages-sffpages\": \"x-office\/document\",\n \"application\/x-mobipocket-ebook\": \"text\",\n \"application\/x-perl\": \"text\/code\",\n \"application\/x-photoshop\": \"image\",\n \"application\/x-php\": \"text\/code\",\n \"application\/x-rar-compressed\": \"package\/x-generic\",\n \"application\/x-tar\": \"package\/x-generic\",\n \"application\/x-tex\": \"text\",\n \"application\/xml\": \"text\/html\",\n \"application\/yaml\": \"text\/code\",\n \"application\/zip\": \"package\/x-generic\",\n \"database\": \"file\",\n \"httpd\/unix-directory\": \"dir\",\n \"text\/css\": \"text\/code\",\n \"text\/csv\": \"x-office\/spreadsheet\",\n \"text\/html\": \"text\/code\",\n \"text\/x-c\": \"text\/code\",\n \"text\/x-c++src\": \"text\/code\",\n \"text\/x-h\": \"text\/code\",\n \"text\/x-java-source\": \"text\/code\",\n \"text\/x-ldif\": \"text\/code\",\n \"text\/x-python\": \"text\/code\",\n \"text\/x-shellscript\": \"text\/code\",\n \"web\": \"text\/code\",\n \"application\/internet-shortcut\": \"link\"\n},\n\tfiles: [\n \"application\",\n \"application-pdf\",\n \"audio\",\n \"file\",\n \"folder\",\n \"folder-drag-accept\",\n \"folder-encrypted\",\n \"folder-external\",\n \"folder-public\",\n \"folder-shared\",\n \"folder-starred\",\n \"image\",\n \"link\",\n \"location\",\n \"package-x-generic\",\n \"text\",\n \"text-calendar\",\n \"text-code\",\n \"text-vcard\",\n \"video\",\n \"x-office-document\",\n \"x-office-presentation\",\n \"x-office-spreadsheet\"\n],\n\tthemes: []\n};\n\n\n\/*\n * Copyright (c) 2015\n *\n * This file is licensed under the Affero General Public License version 3\n * or later.\n *\n * See the COPYING-README file.\n *\n *\/\n\n\/* global Select2 *\/\n\n\/**\n * Select2 extension for toggling values in a multi-select dropdown\n *\/\n(function(Select2) {\n\n\tvar Select2FindHighlightableChoices = Select2.class.multi.prototype.findHighlightableChoices;\n\tSelect2.class.multi.prototype.findHighlightableChoices = function () {\n\t\tif (this.opts.toggleSelect) {\n\t\t\treturn this.results.find('.select2-result-selectable:not(.select2-disabled)');\n\t\t}\n\t\treturn Select2FindHighlightableChoices.apply(this, arguments);\n\t};\n\n\tvar Select2TriggerSelect = Select2.class.multi.prototype.triggerSelect;\n\tSelect2.class.multi.prototype.triggerSelect = function (data) {\n\t\tif (this.opts.toggleSelect && this.val().indexOf(this.id(data)) !== -1) {\n\t\t\tvar self = this;\n\t\t\tvar val = this.id(data);\n\n\t\t\tvar selectionEls = this.container.find('.select2-search-choice').filter(function() {\n\t\t\t\treturn (self.id($(this).data('select2-data')) === val);\n\t\t\t});\n\n\t\t\tif (this.unselect(selectionEls)) {\n\t\t\t\t\/\/ also unselect in dropdown\n\t\t\t\tthis.results.find('.select2-result.select2-selected').each(function () {\n\t\t\t\t\tvar $this = $(this);\n\t\t\t\t\tif (self.id($this.data('select2-data')) === val) {\n\t\t\t\t\t\t$this.removeClass('select2-selected');\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tthis.clearSearch();\n\t\t\t}\n\n\t\t\treturn false;\n\t\t} else {\n\t\t\treturn Select2TriggerSelect.apply(this, arguments);\n\t\t}\n\t};\n\n})(Select2);\n\n\n\n"]},{"file":"\/var\/www\/nextcloud\/lib\/private\/Template\/JSCombiner.php","line":103,"function":"cache","class":"OC\\Template\\JSCombiner","type":"->","args":["\/var\/www\/nextcloud\/core\/js","merged-template-prepend.js",{"__class__":"OC\\Files\\SimpleFS\\SimpleFolder"}]},{"file":"\/var\/www\/nextcloud\/lib\/private\/Template\/JSResourceLocator.php","line":114,"function":"process","class":"OC\\Template\\JSCombiner","type":"->","args":["\/var\/www\/nextcloud","core\/js\/merged-template-prepend.json","core"]},{"file":"\/var\/www\/nextcloud\/lib\/private\/Template\/JSResourceLocator.php","line":70,"function":"cacheAndAppendCombineJsonIfExist","class":"OC\\Template\\JSResourceLocator","type":"->","args":["\/var\/www\/nextcloud","core\/js\/merged-template-prepend.json"]},{"file":"\/var\/www\/nextcloud\/lib\/private\/Template\/ResourceLocator.php","line":78,"function":"doFind","class":"OC\\Template\\JSResourceLocator","type":"->","args":["js\/merged-template-prepend"]},{"file":"\/var\/www\/nextcloud\/lib\/private\/TemplateLayout.php","line":341,"function":"find","class":"OC\\Template\\ResourceLocator","type":"->","args":[["core\/js\/dist\/main","js\/merged-template-prepend","search\/js\/search","core\/l10n\/en","search\/l10n\/en","search\/js\/searchprovider","js\/files\/fileinfo","js\/files\/client","js\/dist\/maintenance"]]},{"file":"\/var\/www\/nextcloud\/lib\/private\/TemplateLayout.php","line":169,"function":"findJavascriptFiles","class":"OC\\TemplateLayout","type":"::","args":[["core\/js\/dist\/main","js\/merged-template-prepend","search\/js\/search","core\/l10n\/en","search\/l10n\/en","search\/js\/searchprovider","js\/files\/fileinfo","js\/files\/client","js\/dist\/maintenance"]]},{"file":"\/var\/www\/nextcloud\/lib\/private\/legacy\/template.php","line":183,"function":"__construct","class":"OC\\TemplateLayout","type":"->","args":["guest",""]},{"file":"\/var\/www\/nextcloud\/lib\/private\/Template\/Base.php","line":131,"function":"fetchPage","class":"OC_Template","type":"->","args":[]},{"file":"\/var\/www\/nextcloud\/lib\/base.php","line":297,"function":"printPage","class":"OC\\Template\\Base","type":"->","args":[]},{"file":"\/var\/www\/nextcloud\/lib\/base.php","line":945,"function":"checkMaintenanceMode","class":"OC","type":"::","args":[]},{"file":"\/var\/www\/nextcloud\/index.php","line":42,"function":"handleRequest","class":"OC","type":"::","args":[]}],"File":"\/var\/www\/nextcloud\/lib\/private\/Files\/Node\/File.php","Line":67,"CustomMessage":"--"},"userAgent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/84.0.4147.135 Safari\/537.36","version":"17.0.3.1"}
{"reqId":"7WZn2plLltOELEwIFWFp","level":3,"time":"2020-10-05T16:14:03+00:00","remoteAddr":"216.21.170.196","user":"--","app":"core","method":"GET","url":"\/nextcloud","message":{"Exception":"OCP\\Files\\GenericFileException","Message":"file_put_contents failed","Code":0,"Trace":[{"file":"\/var\/www\/nextcloud\/lib\/private\/Files\/SimpleFS\/SimpleFile.php","line":106,"function":"putContent","class":"OC\\Files\\Node\\File","type":"->","args":["\/**\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @copyright Copyright (c) 2015, ownCloud, Inc.\n * @license AGPL-3.0\n *\n * This code is free software: you can redistribute it and\/or modify\n * it under the terms of the GNU Affero General Public License, version 3,\n * as published by the Free Software Foundation.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License, version 3,\n * along with this program. If not, see <http:\/\/www.gnu.org\/licenses\/>\n *\n *\/\n\n\/**\n * Namespace to hold functions related to convert mimetype to icons\n *\n * @namespace\n *\/\nOC.MimeType = {\n\n\t\/**\n\t * Cache that maps mimeTypes to icon urls\n\t *\/\n\t_mimeTypeIcons: {},\n\n\t\/**\n\t * Return the file icon we want to use for the given mimeType.\n\t * The file needs to be present in the supplied file list\n\t *\n\t * @param {string} mimeType The mimeType we want an icon for\n\t * @param {array} files The available icons in this theme\n\t * @return {string} The icon to use or null if there is no match\n\t *\/\n\t_getFile: function(mimeType, files) {\n\t\tvar icon = mimeType.replace(new RegExp('\/', 'g'), '-');\n\n\t\t\/\/ Generate path\n\t\tif (mimeType === 'dir' && $.inArray('folder', files) !== -1) {\n\t\t\treturn 'folder';\n\t\t} else if (mimeType === 'dir-encrypted' && $.inArray('folder-encrypted', files) !== -1) {\n\t\t\treturn 'folder-encrypted';\n\t\t} else if (mimeType === 'dir-shared' && $.inArray('folder-shared', files) !== -1) {\n\t\t\treturn 'folder-shared';\n\t\t} else if (mimeType === 'dir-public' && $.inArray('folder-public', files) !== -1) {\n\t\t\treturn 'folder-public';\n\t\t} else if (mimeType === 'dir-external' && $.inArray('folder-external', files) !== -1) {\n\t\t\treturn 'folder-external';\n\t\t} else if ($.inArray(icon, files) !== -1) {\n\t\t\treturn icon;\n\t\t} else if ($.inArray(icon.split('-')[0], files) !== -1) {\n\t\t\treturn icon.split('-')[0];\n\t\t} else if ($.inArray('file', files) !== -1) {\n\t\t\treturn 'file';\n\t\t}\n\n\t\treturn null;\n\t},\n\n\t\/**\n\t * Return the url to icon of the given mimeType\n\t *\n\t * @param {string} mimeType The mimeType to get the icon for\n\t * @return {string} Url to the icon for mimeType\n\t *\/\n\tgetIconUrl: function(mimeType) {\n\t\tif (_.isUndefined(mimeType)) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\twhile (mimeType in OC.MimeTypeList.aliases) {\n\t\t\tmimeType = OC.MimeTypeList.aliases[mimeType];\n\t\t}\n\t\tif (mimeType in OC.MimeType._mimeTypeIcons) {\n\t\t\treturn OC.MimeType._mimeTypeIcons[mimeType];\n\t\t}\n\n\t\t\/\/ First try to get the correct icon from the current theme\n\t\tvar gotIcon = null;\n\t\tvar path = '';\n\t\tif (OC.theme.folder !== '' && $.isArray(OC.MimeTypeList.themes[OC.theme.folder])) {\n\t\t\tpath = OC.getRootPath() + '\/themes\/' + OC.theme.folder + '\/core\/img\/filetypes\/';\n\t\t\tvar icon = OC.MimeType._getFile(mimeType, OC.MimeTypeList.themes[OC.theme.folder]);\n\n\t\t\tif (icon !== null) {\n\t\t\t\tgotIcon = true;\n\t\t\t\tpath += icon;\n\t\t\t}\n\t\t}\n\t\tif(OCA.Theming && gotIcon === null) {\n\t\t\tpath = OC.generateUrl('\/apps\/theming\/img\/core\/filetypes\/');\n\t\t\tpath += OC.MimeType._getFile(mimeType, OC.MimeTypeList.files);\n\t\t\tgotIcon = true;\n\t\t}\n\n\t\t\/\/ If we do not yet have an icon fall back to the default\n\t\tif (gotIcon === null) {\n\t\t\tpath = OC.getRootPath() + '\/core\/img\/filetypes\/';\n\t\t\tpath += OC.MimeType._getFile(mimeType, OC.MimeTypeList.files);\n\t\t}\n\n\t\tpath += '.svg';\n\n\t\tif(OCA.Theming) {\n\t\t\tpath += \"?v=\" + OCA.Theming.cacheBuster;\n\t\t}\n\n\t\t\/\/ Cache the result\n\t\tOC.MimeType._mimeTypeIcons[mimeType] = path;\n\t\treturn path;\n\t}\n\n};\n\n\n\/**\n* This file is automatically generated\n* DO NOT EDIT MANUALLY!\n*\n* You can update the list of MimeType Aliases in config\/mimetypealiases.json\n* The list of files is fetched from core\/img\/filetypes\n* To regenerate this file run .\/occ maintenance:mimetype:update-js\n*\/\nOC.MimeTypeList={\n\taliases: {\n \"application\/coreldraw\": \"image\",\n \"applicat
ion\/epub+zip\": \"text\",\n \"application\/font-sfnt\": \"image\",\n \"application\/font-woff\": \"image\",\n \"application\/gpx+xml\": \"location\",\n \"application\/illustrator\": \"image\",\n \"application\/javascript\": \"text\/code\",\n \"application\/json\": \"text\/code\",\n \"application\/msaccess\": \"file\",\n \"application\/msexcel\": \"x-office\/spreadsheet\",\n \"application\/msonenote\": \"x-office\/document\",\n \"application\/mspowerpoint\": \"x-office\/presentation\",\n \"application\/msword\": \"x-office\/document\",\n \"application\/octet-stream\": \"file\",\n \"application\/postscript\": \"image\",\n \"application\/rss+xml\": \"application\/xml\",\n \"application\/vnd.android.package-archive\": \"package\/x-generic\",\n \"application\/vnd.lotus-wordpro\": \"x-office\/document\",\n \"application\/vnd.garmin.tcx+xml\": \"location\",\n \"application\/vnd.google-earth.kml+xml\": \"location\",\n \"application\/vnd.google-earth.kmz\": \"location\",\n \"application\/vnd.ms-excel\": \"x-office\/spreadsheet\",\n \"application\/vnd.ms-excel.addin.macroEnabled.12\": \"x-office\/spreadsheet\",\n \"application\/vnd.ms-excel.sheet.binary.macroEnabled.12\": \"x-office\/spreadsheet\",\n \"application\/vnd.ms-excel.sheet.macroEnabled.12\": \"x-office\/spreadsheet\",\n \"application\/vnd.ms-excel.template.macroEnabled.12\": \"x-office\/spreadsheet\",\n \"application\/vnd.ms-fontobject\": \"image\",\n \"application\/vnd.ms-powerpoint\": \"x-office\/presentation\",\n \"application\/vnd.ms-powerpoint.addin.macroEnabled.12\": \"x-office\/presentation\",\n \"application\/vnd.ms-powerpoint.presentation.macroEnabled.12\": \"x-office\/presentation\",\n \"application\/vnd.ms-powerpoint.slideshow.macroEnabled.12\": \"x-office\/presentation\",\n \"application\/vnd.ms-powerpoint.template.macroEnabled.12\": \"x-office\/presentation\",\n \"application\/vnd.ms-visio.drawing.macroEnabled.12\": \"application\/vnd.visio\",\n \"application\/vnd.ms-visio.drawing\": \"application\/vnd.visio\",\n \"application\/vnd.ms-visio.stencil.macroEnabled.12\": \"application\/vnd.visio\",\n \"application\/vnd.ms-visio.stencil\": \"application\/vnd.visio\",\n \"application\/vnd.ms-visio.template.macroEnabled.12\": \"application\/vnd.visio\",\n \"application\/vnd.ms-visio.template\": \"application\/vnd.visio\",\n \"application\/vnd.ms-word.document.macroEnabled.12\": \"x-office\/document\",\n \"application\/vnd.ms-word.template.macroEnabled.12\": \"x-office\/document\",\n \"application\/vnd.oasis.opendocument.presentation\": \"x-office\/presentation\",\n \"application\/vnd.oasis.opendocument.presentation-template\": \"x-office\/presentation\",\n \"application\/vnd.oasis.opendocument.spreadsheet\": \"x-office\/spreadsheet\",\n \"application\/vnd.oasis.opendocument.spreadsheet-template\": \"x-office\/spreadsheet\",\n \"application\/vnd.oasis.opendocument.text\": \"x-office\/document\",\n \"application\/vnd.oasis.opendocument.text-master\": \"x-office\/document\",\n \"application\/vnd.oasis.opendocument.text-template\": \"x-office\/document\",\n \"application\/vnd.oasis.opendocument.text-web\": \"x-office\/document\",\n \"application\/vnd.openxmlformats-officedocument.presentationml.presentation\": \"x-office\/presentation\",\n \"application\/vnd.openxmlformats-officedocument.presentationml.slideshow\": \"x-office\/presentation\",\n \"application\/vnd.openxmlformats-officedocument.presentationml.template\": \"x-office\/presentation\",\n \"application\/vnd.openxmlformats-officedocument.spreadsheetml.sheet\": \"x-office\/spreadsheet\",\n \"application\/vnd.openxmlformats-officedocument.spreadsheetml.template\": \"x-office\/spreadsheet\",\n \"application\/vnd.openxmlformats-officedocument.wordprocessingml.document\": \"x-office\/document\",\n \"application\/vnd.openxmlformats-officedocument.wordprocessingml.template\": \"x-office\/document\",\n \"application\/vnd.visio\": \"x-office\/document\",\n \"application\/vnd.wordperfect\": \"x-office\/document\",\n \"application\/x-7z-compressed\": \"package\/x-generic\",\n \"application\/x-bzip2\": \"package\/x-generic\",\n \"application\/x-cbr\": \"text\",\n \"application\/x-compressed\": \"package\/x-generic\",\n \"application\/x-dcraw\": \"image\",\n \"application\/x-deb\": \"package\/x-generic\",\n \"application\/x-fictionbook+xml\": \"text\",\n \"application\/x-font\": \"image\",\n \"application\/x-gimp\": \"image\",\n \"application\/x-gzip\": \"package\/x-generic\",\n \"application\/x-iwork-keynote-sffkey\": \"x-office\/presentation\",\n \"application\/x-iwork-numbers-sffnumbers\": \"x-office\/spreadsheet\",\n \"application\/x-iwork-pages-sffpages\": \"x-office\/document\",\n \"application\/x-mobipocket-ebook\": \"text\",\n \"application\/x-perl\": \"text\/code\",\n \"application\/x-photoshop\": \"image\",\n \"application\/x-php\": \"text\/code\",\n \"application\/x-rar-compressed\": \"package\/x-generic\",\n \"application\/x-tar\": \"package\/x-generic\",\n \"application\/x-tex\": \"text\",\n \"application\/xml\": \"text\/html\",\n \"application\/yaml\": \"text\/code\",\n \"application\/zip\": \"package\/x-generic\",\n \"database\": \"file\",\n \"httpd\/unix-directory\": \"dir\",\n \"text\/css\": \"text\/code\",\n \"text\/csv\": \"x-office\/spreadsheet\",\n \"text\/html\": \"text\/code\",\n \"text\/x-c\": \"text\/code\",\n \"text\/x-c++src\": \"text\/code\",\n \"text\/x-h\": \"text\/code\",\n \"text\/x-java-source\": \"text\/code\",\n \"text\/x-ldif\": \"text\/code\",\n \"text\/x-python\": \"text\/code\",\n \"text\/x-shellscript\": \"text\/code\",\n \"web\": \"text\/code\",\n \"application\/internet-shortcut\": \"link\"\n},\n\tfiles: [\n \"application\",\n \"application-pdf\",\n \"audio\",\n \"file\",\n \"folder\",\n \"folder-drag-accept\",\n \"folder-encrypted\",\n \"folder-external\",\n \"folder-public\",\n \"folder-shared\",\n \"folder-starred\",\n \"image\",\n \"link\",\n \"location\",\n \"package-x-generic\",\n \"text\",\n \"text-calendar\",\n \"text-code\",\n \"text-vcard\",\n \"video\",\n \"x-office-document\",\n \"x-office-presentation\",\n \"x-office-spreadsheet\"\n],\n\tthemes: []\n};\n\n\n\/*\n * Copyright (c) 2015\n *\n * This file is licensed under the Affero General Public License version 3\n * or later.\n *\n * See the COPYING-README file.\n *\n *\/\n\n\/* global Select2 *\/\n\n\/**\n * Select2 extension for toggling values in a multi-select dropdown\n *\/\n(function(Select2) {\n\n\tvar Select2FindHighlightableChoices = Select2.class.multi.prototype.findHighlightableChoices;\n\tSelect2.class.multi.prototype.findHighlightableChoices = function () {\n\t\tif (this.opts.toggleSelect) {\n\t\t\treturn this.results.find('.select2-result-selectable:not(.select2-disabled)');\n\t\t}\n\t\treturn Select2FindHighlightableChoices.apply(this, arguments);\n\t};\n\n\tvar Select2TriggerSelect = Select2.class.multi.prototype.triggerSelect;\n\tSelect2.class.multi.prototype.triggerSelect = function (data) {\n\t\tif (this.opts.toggleSelect && this.val().indexOf(this.id(data)) !== -1) {\n\t\t\tvar self = this;\n\t\t\tvar val = this.id(data);\n\n\t\t\tvar selectionEls = this.container.find('.select2-search-choice').filter(function() {\n\t\t\t\treturn (self.id($(this).data('select2-data')) === val);\n\t\t\t});\n\n\t\t\tif (this.unselect(selectionEls)) {\n\t\t\t\t\/\/ also unselect in dropdown\n\t\t\t\tthis.results.find('.select2-result.select2-selected').each(function () {\n\t\t\t\t\tvar $this = $(this);\n\t\t\t\t\tif (self.id($this.data('select2-data')) === val) {\n\t\t\t\t\t\t$this.removeClass('select2-selected');\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tthis.clearSearch();\n\t\t\t}\n\n\t\t\treturn false;\n\t\t} else {\n\t\t\treturn Select2TriggerSelect.apply(this, arguments);\n\t\t}\n\t};\n\n})(Select2);\n\n\n\n"]},{"file":"\/var\/www\/nextcloud\/lib\/private\/Template\/JSCombiner.php","line":194,"function":"putContent","class":"OC\\Files\\SimpleFS\\SimpleFile","type":"->","args":["\/**\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @copyright Copyright (c) 2015, ownCloud, Inc.\n * @license AGPL-3.0\n *\n * This code is free software: you can redistribute it and\/or modify\n * it under the terms of the GNU Affero General Public License, version 3,\n * as published by the Free Software Foundation.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License, version 3,\n * along with this program. If not, see <http:\/\/www.gnu.org\/licenses\/>\n *\n *\/\n\n\/**\n * Namespace to hold functions related to convert mimetype to icons\n *\n * @namespace\n *\/\nOC.MimeType = {\n\n\t\/**\n\t * Cache that maps mimeTypes to icon urls\n\t *\/\n\t_mimeTypeIcons: {},\n\n\t\/**\n\t * Return the file icon we want to use for the given mimeType.\n\t * The file needs to be present in the supplied file list\n\t *\n\t * @param {string} mimeType The mimeType we want an icon for\n\t * @param {array} files The available icons in this theme\n\t * @return {string} The icon to use or null if there is no match\n\t *\/\n\t_getFile: function(mimeType, files) {\n\t\tvar icon = mimeType.replace(new RegExp('\/', 'g'), '-');\n\n\t\t\/\/ Generate path\n\t\tif (mimeType === 'dir' && $.inArray('folder', files) !== -1) {\n\t\t\treturn 'folder';\n\t\t} else if (mimeType === 'dir-encrypted' && $.inArray('folder-encrypted', files) !== -1) {\n\t\t\treturn 'folder-encrypted';\n\t\t} else if (mimeType === 'dir-shared' && $.inArray('folder-shared', files) !== -1) {\n\t\t\treturn 'folder-shared';\n\t\t} else if (mimeType === 'dir-public' && $.inArray('folder-public', files) !== -1) {\n\t\t\treturn 'folder-public';\n\t\t} else if (mimeType === 'dir-external' && $.inArray('folder-external', files) !== -1) {\n\t\t\treturn 'folder-external';\n\t\t} else if ($.inArray(icon, files) !== -1) {\n\t\t\treturn icon;\n\t\t} else if ($.inArray(icon.split('-')[0], files) !== -1) {\n\t\t\treturn icon.split('-')[0];\n\t\t} else if ($.inArray('file', files) !== -1) {\n\t\t\treturn 'file';\n\t\t}\n\n\t\treturn null;\n\t},\n\n\t\/**\n\t * Return the url to icon of the given mimeType\n\t *\n\t * @param {string} mimeType The mimeType to get the icon for\n\t * @return {string} Url to the icon for mimeType\n\t *\/\n\tgetIconUrl: function(mimeType) {\n\t\tif (_.isUndefined(mimeType)) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\twhile (mimeType in OC.MimeTypeList.aliases) {\n\t\t\tmimeType = OC.MimeTypeList.aliases[mimeType];\n\t\t}\n\t\tif (mimeType in OC.MimeType._mimeTypeIcons) {\n\t\t\treturn OC.MimeType._mimeTypeIcons[mimeType];\n\t\t}\n\n\t\t\/\/ First try to get the correct icon from the current theme\n\t\tvar gotIcon = null;\n\t\tvar path = '';\n\t\tif (OC.theme.folder !== '' && $.isArray(OC.MimeTypeList.themes[OC.theme.folder])) {\n\t\t\tpath = OC.getRootPath() + '\/themes\/' + OC.theme.folder + '\/core\/img\/filetypes\/';\n\t\t\tvar icon = OC.MimeType._getFile(mimeType, OC.MimeTypeList.themes[OC.theme.folder]);\n\n\t\t\tif (icon !== null) {\n\t\t\t\tgotIcon = true;\n\t\t\t\tpath += icon;\n\t\t\t}\n\t\t}\n\t\tif(OCA.Theming && gotIcon === null) {\n\t\t\tpath = OC.generateUrl('\/apps\/theming\/img\/core\/filetypes\/');\n\t\t\tpath += OC.MimeType._getFile(mimeType, OC.MimeTypeList.files);\n\t\t\tgotIcon = true;\n\t\t}\n\n\t\t\/\/ If we do not yet have an icon fall back to the default\n\t\tif (gotIcon === null) {\n\t\t\tpath = OC.getRootPath() + '\/core\/img\/filetypes\/';\n\t\t\tpath += OC.MimeType._getFile(mimeType, OC.MimeTypeList.files);\n\t\t}\n\n\t\tpath += '.svg';\n\n\t\tif(OCA.Theming) {\n\t\t\tpath += \"?v=\" + OCA.Theming.cacheBuster;\n\t\t}\n\n\t\t\/\/ Cache the result\n\t\tOC.MimeType._mimeTypeIcons[mimeType] = path;\n\t\treturn path;\n\t}\n\n};\n\n\n\/**\n* This file is automatically generated\n* DO NOT EDIT MANUALLY!\n*\n* You can update the list of MimeType Aliases in config\/mimetypealiases.json\n* The list of files is fetched from core\/img\/filetypes\n* To regenerate this file run .\/occ maintenance:mimetype:update-js\n*\/\nOC.MimeTypeList={\n\taliases: {\n \"application\/coreldraw\": \"image\",\n \"application\/epub+zip\": \"text\",\n \"application\/font-sfnt\": \"image\",\n \"application\/font-woff\": \"image\",\n \"application\/gpx+xml\": \"location\",\n \"application\/illustrator\": \"image\",\n \"application\/javascript\": \"text\/code\",\n \"application\/json\": \"text\/code\",\n \"application\/msaccess\": \"file\",\n \"application\/msexcel\": \"x-office\/spreadsheet\",\n \"application\/msonenote\": \"x-office\/document\",\n \"application\/mspowerpoint\": \"x-office\/presentation\",\n \"application\/msword\": \"x-office\/document\",\n \"application\/octet-stream\": \"file\",\n \"application\/postscript\": \"image\",\n \"application\/rss+xml\": \"application\/xml\",\n \"application\/vnd.android.package-archive\": \"package\/x-generic\",\n \"application\/vnd.lotus-wordpro\": \"x-office\/document\",\n \"application\/vnd.garmin.tcx+xml\": \"location\",\n \"application\/vnd.google-earth.kml+xml\": \"location\",\n \"application\/vnd.google-earth.kmz\": \"location\",\n \"application\/vnd.ms-excel\": \"x-office\/spreadsheet\",\n \"application\/vnd.ms-excel.addin.macroEnabled.12\": \"x-office\/spreadsheet\",\n \"application\/vnd.ms-excel.sheet.binary.macroEnabled.12\": \"x-office\/spreadsheet\",\n \"application\/vnd.ms-excel.sheet.macroEnabled.12\": \"x-office\/spreadsheet\",\n \"application\/vnd.ms-excel.template.macroEnabled.12\": \"x-office\/spreadsheet\",\n \"application\/vnd.ms-fontobject\": \"image\",\n \"application\/vnd.ms-powerpoint\": \"x-office\/presentation\",\n \"application\/vnd.ms-powerpoint.addin.macroEnabled.12\": \"x-office\/presentation\",\n \"application\/vnd.ms-powerpoint.presentation.macroEnabled.12\": \"x-office\/presentation\",\n \"application\/vnd.ms-powerpoint.slideshow.macroEnabled.12\": \"x-office\/presentation\",\n \"application\/vnd.ms-powerpoint.template.macroEnabled.12\": \"x-office\/presentation\",\n \"application\/vnd.ms-visio.drawing.macroEnabled.12\": \"application\/vnd.visio\",\n \"application\/vnd.ms-visio.drawing\": \"application\/vnd.visio\",\n \"application\/vnd.ms-visio.stencil.macroEnabled.12\": \"application\/vnd.visio\",\n \"application\/vnd.ms-visio.stencil\": \"application\/vnd.visio\",\n \"application\/vnd.ms-visio.template.macroEnabled.12\": \"application\/vnd.visio\",\n \"application\/vnd.ms-visio.template\": \"application\/vnd.visio\",\n \"application\/vnd.ms-word.document.macroEnabled.12\": \"x-office\/document\",\n \"application\/vnd.ms-word.template.macroEnabled.12\": \"x-office\/document\",\n \"application\/vnd.oasis.opendocument.presentation\": \"x-office\/presentation\",\n \"application\/vnd.oasis.opendocument.presentation-template\": \"x-office\/presentation\",\n \"application\/vnd.oasis.opendocument.spreadsheet\": \"x-office\/spreadsheet\",\n \"application\/vnd.oasis.opendocument.spreadsheet-template\": \"x-office\/spreadsheet\",\n \"application\/vnd.oasis.opendocument.text\": \"x-office\/document\",\n \"application\/vnd.oasis.opendocument.text-master\": \"x-office\/document\",\n \"application\/vnd.oasis.opendocument.text-template\": \"x-office\/document\",\n \"application\/vnd.oasis.opendocument.text-web\": \"x-office\/document\",\n \"application\/vnd.openxmlformats-officedocument.presentationml.presentation\": \"x-office\/presentation\",\n \"application\/vnd.openxmlformats-officedocument.presentationml.slideshow\": \"x-office\/presentation\",\n \"application\/vnd.openxmlformats-officedocument.presentationml.template\": \"x-office\/presentation\",\n \"application\/vnd.openxmlformats-officedocument.spreadsheetml.sheet\": \"x-office\/spreadsheet\",\n \"application\/vnd.openxmlformats-officedocument.spreadsheetml.template\": \"x-office\/spreadsheet\",\n \"application\/vnd.openxmlformats-officedocument.wordprocessingml.document\": \"x-office\/document\",\n \"application\/vnd.openxmlformats-officedocument.wordprocessingml.template\": \"x-office\/document\",\n \"application\/vnd.visio\": \"x-office\/document\",\n \"application\/vnd.wordperfect\": \"x-office\/document\",\n \"application\/x-7z-compressed\": \"package\/x-generic\",\n \"application\/x-bzip2\": \"package\/x-generic\",\n \"application\/x-cbr\": \"text\",\n \"application\/x-compressed\": \"package\/x-generic\",\n \"application\/x-dcraw\": \"image\",\n \"application\/x-deb\": \"package\/x-generic\",\n \"application\/x-fictionbook+xml\": \"text\",\n \"application\/x-font\": \"image\",\n \"application\/x-gimp\": \"image\",\n \"application\/x-gzip\": \"package\/x-generic\",\n \"application\/x-iwork-keynote-sffkey\": \"x-office\/presentation\",\n \"application\/x-iwork-numbers-sffnumbers\": \"x-office\/spreadsheet\",\n \"application\/x-iwork-pages-sffpages\": \"x-office\/document\",\n \"application\/x-mobipocket-ebook\": \"text\",\n \"application\/x-perl\": \"text\/code\",\n \"application\/x-photoshop\": \"image\",\n \"application\/x-php\": \"text\/code\",\n \"application\/x-rar-compressed\": \"package\/x-generic\",\n \"application\/x-tar\": \"package\/x-generic\",\n \"application\/x-tex\": \"text\",\n \"application\/xml\": \"text\/html\",\n \"application\/yaml\": \"text\/code\",\n \"application\/zip\": \"package\/x-generic\",\n \"database\": \"file\",\n \"httpd\/unix-directory\": \"dir\",\n \"text\/css\": \"text\/code\",\n \"text\/csv\": \"x-office\/spreadsheet\",\n \"text\/html\": \"text\/code\",\n \"text\/x-c\": \"text\/code\",\n \"text\/x-c++src\": \"text\/code\",\n \"text\/x-h\": \"text\/code\",\n \"text\/x-java-source\": \"text\/code\",\n \"text\/x-ldif\": \"text\/code\",\n \"text\/x-python\": \"text\/code\",\n \"text\/x-shellscript\": \"text\/code\",\n \"web\": \"text\/code\",\n \"application\/internet-shortcut\": \"link\"\n},\n\tfiles: [\n \"application\",\n \"application-pdf\",\n \"audio\",\n \"file\",\n \"folder\",\n \"folder-drag-accept\",\n \"folder-encrypted\",\n \"folder-external\",\n \"folder-public\",\n \"folder-shared\",\n \"folder-starred\",\n \"image\",\n \"link\",\n \"location\",\n \"package-x-generic\",\n \"text\",\n \"text-calendar\",\n \"text-code\",\n \"text-vcard\",\n \"video\",\n \"x-office-document\",\n \"x-office-presentation\",\n \"x-office-spreadsheet\"\n],\n\tthemes: []\n};\n\n\n\/*\n * Copyright (c) 2015\n *\n * This file is licensed under the Affero General Public License version 3\n * or later.\n *\n * See the COPYING-README file.\n *\n *\/\n\n\/* global Select2 *\/\n\n\/**\n * Select2 extension for toggling values in a multi-select dropdown\n *\/\n(function(Select2) {\n\n\tvar Select2FindHighlightableChoices = Select2.class.multi.prototype.findHighlightableChoices;\n\tSelect2.class.multi.prototype.findHighlightableChoices = function () {\n\t\tif (this.opts.toggleSelect) {\n\t\t\treturn this.results.find('.select2-result-selectable:not(.select2-disabled)');\n\t\t}\n\t\treturn Select2FindHighlightableChoices.apply(this, arguments);\n\t};\n\n\tvar Select2TriggerSelect = Select2.class.multi.prototype.triggerSelect;\n\tSelect2.class.multi.prototype.triggerSelect = function (data) {\n\t\tif (this.opts.toggleSelect && this.val().indexOf(this.id(data)) !== -1) {\n\t\t\tvar self = this;\n\t\t\tvar val = this.id(data);\n\n\t\t\tvar selectionEls = this.container.find('.select2-search-choice').filter(function() {\n\t\t\t\treturn (self.id($(this).data('select2-data')) === val);\n\t\t\t});\n\n\t\t\tif (this.unselect(selectionEls)) {\n\t\t\t\t\/\/ also unselect in dropdown\n\t\t\t\tthis.results.find('.select2-result.select2-selected').each(function () {\n\t\t\t\t\tvar $this = $(this);\n\t\t\t\t\tif (self.id($this.data('select2-data')) === val) {\n\t\t\t\t\t\t$this.removeClass('select2-selected');\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tthis.clearSearch();\n\t\t\t}\n\n\t\t\treturn false;\n\t\t} else {\n\t\t\treturn Select2TriggerSelect.apply(this, arguments);\n\t\t}\n\t};\n\n})(Select2);\n\n\n\n"]},{"file":"\/var\/www\/nextcloud\/lib\/private\/Template\/JSCombiner.php","line":103,"function":"cache","class":"OC\\Template\\JSCombiner","type":"->","args":["\/var\/www\/nextcloud\/core\/js","merged-template-prepend.js",{"__class__":"OC\\Files\\SimpleFS\\SimpleFolder"}]},{"file":"\/var\/www\/nextcloud\/lib\/private\/Template\/JSResourceLocator.php","line":114,"function":"process","class":"OC\\Template\\JSCombiner","type":"->","args":["\/var\/www\/nextcloud","core\/js\/merged-template-prepend.json","core"]},{"file":"\/var\/www\/nextcloud\/lib\/private\/Template\/JSResourceLocator.php","line":70,"function":"cacheAndAppendCombineJsonIfExist","class":"OC\\Template\\JSResourceLocator","type":"->","args":["\/var\/www\/nextcloud","core\/js\/merged-template-prepend.json"]},{"file":"\/var\/www\/nextcloud\/lib\/private\/Template\/ResourceLocator.php","line":78,"function":"doFind","class":"OC\\Template\\JSResourceLocator","type":"->","args":["js\/merged-template-prepend"]},{"file":"\/var\/www\/nextcloud\/lib\/private\/TemplateLayout.php","line":341,"function":"find","class":"OC\\Template\\ResourceLocator","type":"->","args":[["core\/js\/dist\/main","js\/merged-template-prepend","search\/js\/search","core\/l10n\/en","search\/l10n\/en","search\/js\/searchprovider","js\/files\/fileinfo","js\/files\/client","js\/dist\/maintenance"]]},{"file":"\/var\/www\/nextcloud\/lib\/private\/TemplateLayout.php","line":169,"function":"findJavascriptFiles","class":"OC\\TemplateLayout","type":"::","args":[["core\/js\/dist\/main","js\/merged-template-prepend","search\/js\/search","core\/l10n\/en","search\/l10n\/en","search\/js\/searchprovider","js\/files\/fileinfo","js\/files\/client","js\/dist\/maintenance"]]},{"file":"\/var\/www\/nextcloud\/lib\/private\/legacy\/template.php","line":183,"function":"__construct","class":"OC\\TemplateLayout","type":"->","args":["error",""]},{"file":"\/var\/www\/nextcloud\/lib\/private\/Template\/Base.php","line":131,"function":"fetchPage","class":"OC_Template","type":"->","args":[]},{"file":"\/var\/www\/nextcloud\/lib\/private\/legacy\/template.php","line":332,"function":"printPage","class":"OC\\Template\\Base","type":"->","args":[]},{"file":"\/var\/www\/nextcloud\/index.php","line":69,"function":"printExceptionErrorPage","class":"OC_Template","type":"::","args":[{"__class__":"OCP\\Files\\GenericFileException"},500]}],"File":"\/var\/www\/nextcloud\/lib\/private\/Files\/Node\/File.php","Line":67,"CustomMessage":"--"},"userAgent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/84.0.4147.135 Safari\/537.36","version":"17.0.3.1"}
root@DietPi:~#
That browser console output is interesting. Is that really from the Nextcloud website? I see Google advertising and Google translator requests that are then blocked by Safari, but Nextcloud of course does not contact Google for anything such. At best:
Apache log looks fine, but did you try to access the Nextcloud website before doing tail -10 /var/log/apache2/error.log
?
Nextcloud logs show the same errors we already saw before, and I have no idea where this could come from to be true 🤔.
Because you run a quite old Nextcloud version, what you could do, which includes some repair steps as well, is upgrading to current version. This is actually quite easy from console, but create a database backup first:
mysqldump nextcloud > /root/nextcloud.sql
sudo -u www-data php7.3 /var/www/nextcloud/updater/updater.phar
When being ask to proceed, confirm with y
.
root@DietPi:~# tail -10 /var/log/apache2/error.log
stat: cannot stat '/datastore/appdata_oc5cbhxlsgns/js/core/merged-template-prepe nd.js.deps': No such file or directory
stat: cannot stat '/datastore/appdata_oc5cbhxlsgns/js/core/merged-template-prepe nd.js.deps': No such file or directory
stat: cannot stat '/datastore/appdata_oc5cbhxlsgns/js/core/merged-template-prepe nd.js.deps': No such file or directory
stat: cannot stat '/datastore/appdata_oc5cbhxlsgns/js/core/merged-template-prepe nd.js.deps': No such file or directory
stat: cannot stat '/datastore/appdata_oc5cbhxlsgns/js/core/merged-template-prepe nd.js.deps': No such file or directory
stat: cannot stat '/datastore/appdata_oc5cbhxlsgns/js/core/merged-template-prepe nd.js.deps': No such file or directory
stat: cannot stat '/datastore/appdata_oc5cbhxlsgns/js/core/merged-template-prepe nd.js.deps': No such file or directory
stat: cannot stat '/datastore/appdata_oc5cbhxlsgns/js/core/merged-template-prepe nd.js.deps': No such file or directory
root@DietPi:~#
root@DietPi:~# mysqldump nextcloud > /root/nextcloud.sql
root@DietPi:~# sudo -u www-data php7.3 /var/www/nextcloud/updater/updater.phar
Nextcloud Updater - version: v16.0.3-3-ga0c2b25 dirty
Current version is 17.0.3.
Update to Nextcloud 17.0.9 available. (channel: "stable")
Following file will be downloaded automatically: https://download.nextcloud.com/server/releases/nextcloud-17.0.9.zip
Open changelog ↗
Steps that will be executed:
[ ] Check for expected files
[ ] Check for write permissions
[ ] Create backup
[ ] Downloading
[ ] Verify integrity
[ ] Extracting
[ ] Enable maintenance mode
[ ] Replace entry points
[ ] Delete old files
[ ] Move new files in place
[ ] Done
Start update? [y/N] y
Info: Pressing Ctrl-C will finish the currently running step and then stops the updater.
[✘] Check for expected files failed
The following extra files have been found:
index.htm
Update failed. To resume or retry just execute the updater again.
root@DietPi:~#
Ah sorry, the test file needs to be removed:
rm /var/www/nextcloud/index.htm
sudo -u www-data php7.3 /var/www/nextcloud/updater/updater.phar
I activated the maintenance I did not if I did it right
Hi,
you could try following to disable maintenance mode
ncc maintenance:mode --off
Exactly. If there is no special reason to stay on Nextcloud 17, version 20 is already available. I think if you repeat
sudo -u www-data php7.3 /var/www/nextcloud/updater/updater.phar
would get offered to install from one major version to the next, so first Nextcloud 18, then 19 and maybe already 20 (although it is quite new and released in waves).
I've just finished the updates
Okay assure to clear all your browsers cache (at least for your Nextcloud site) and test all of them. Would be good to know which browsers/clients fail, if it's still the same with the same error message.
i've done all of them google firfox, safari nothing works on some forum it says to change :chown -R www-data:www-data/.
on some forum it says to change :chown -R www-data:www-data/.
You did this already: https://github.com/MichaIng/DietPi/issues/3798#issuecomment-702327690
But now I am re-thinking the errors you faced, probably there is simply a file system corruption that breaks access to some app data. E.g. how does the following look like?
ls -al /datastore/appdata_oc5cbhxlsgns/preview/40420
And did we already ask to check for kernel errors?
dmesg -l emerg,alert,crit,err
And did we already ask to check for kernel errors?
No
dietpi-launcher : All the DietPi programs in one place.
dietpi-config : Feature rich configuration tool for your device.
dietpi-software : Select optimized software for installation.
htop : Resource monitor.
cpu : Shows CPU information and stats.
root@DietPi:~# dmesg -l emerg,alert,crit,err
[ 0.972965] vc_vchi_sm_init: failed to open VCHI service (-1)
[ 0.972974] [vc_sm_connected_init]: failed to initialize shared memory service
[ 3.811878] vc_sm_cma_vchi_init: failed to open VCHI service (-1)
[ 3.811897] [vc_sm_connected_init]: failed to initialize shared memory service
[ 481.673776] sd 1:0:0:0: [sdb] No Caching mode page found
[ 481.673788] sd 1:0:0:0: [sdb] Assuming drive cache: write through
root@DietPi:~#
Okay, no kernel errors. What does the following show?
ls -al /datastore/appdata_oc5cbhxlsgns/preview/40420
ls -al /datastore/appdata_oc5cbhxlsgns/js/core/merged-template-prepend.js.deps
Also I recognise now the browser console screenshot that indeed shows failing Google translator request from your Nextcloud site. Do you have something like automated website translation enabled in your browser(s)? Try to disable this, also I would render it kind off a privacy/security issue to send the whole private Nextcloud site content, probably including private keys and passwords (e.g. when opening the admin panel) over to a Google server. You should definitely try to disable this, even that it seems to be (partly) blocked anyway 😉.
btw I'm able to get the logon page without issues.
i have disabled google extentions
root@DietPi:~# ls -al /datastore/appdata_oc5cbhxlsgns/preview/40420
ls: impossible d'accéder à '/datastore/appdata_oc5cbhxlsgns/preview/40420': Aucun fichier ou dossier de ce type
root@DietPi:~# ls -al /datastore/appdata_oc5cbhxlsgns/js/core/merged-template-prepend.js.deps
ls: impossible d'accéder à '/datastore/appdata_oc5cbhxlsgns/js/core/merged-template-prepend.js.deps': Aucun fichier ou dossier de ce type
root@DietPi:~#
Now I also cannot reach the website. Can you please paste:
getent hosts nextcloud-myweb.ddns.net
curl https://dietpi.com/myip.php;echo
is there a problem with my dietpi I have to remove my backup disk to have access to the putty?
Do not remove any backups at this stage. The SSH access to your server should not be affected in any way.
Now I see the file not found errors you pasted. Does the directory actually exist, in case your instance ID is wrong. When you have SSH access in addition to the above, please paste the output of the below commands as well:
ls -Al /datastore/appdata_*
grep instanceid /var/www/nextcloud/config/config.php
hmm quite strange, yesterday I was able to connect to that side. Today not. 🤔
my raspberryPi doesn't want to know anything anymore no more connection no more recognised ssd disk no more indicator light
I think I have to buy another one.
did you try to remove power? Do you have a spare SD card?
Marking this as closed. Feel free to reopen if further help is required.
DietPi Version | ```cat /DietPi/dietpi/.version 6.32.2 SBC Device (EG: RPi 3) Power supply used (EG: 5v 1A RAVpower) yes SD card used EG: Sandisk ultra 32 Go Distro (EG: Jessie) | François
hello for a few days I can no longer open nextcloud could - you help me thank you