diff options
27 files changed, 2347 insertions, 1403 deletions
diff --git a/apps/files/css/files.css b/apps/files/css/files.css index abe4a64758e..ee370c2ea70 100644 --- a/apps/files/css/files.css +++ b/apps/files/css/files.css @@ -1 +1 @@ -.actions{padding:3px;height:100%;display:inline-block;float:left}.actions input,.actions button,.actions .button{margin:0;float:left}.actions .button a{color:#555}.actions .button a:hover,.actions .button a:focus{background-color:var(--color-background-hover)}.actions .button a:active{background-color:var(--color-primary-light)}.actions.creatable{position:relative;display:flex;flex:1 1}.actions.creatable .button:not(:last-child){margin-right:3px}.actions.hidden{display:none}#trash{margin-right:8px;float:right;z-index:1010;padding:10px;font-weight:normal}.newFileMenu .error,.newFileMenu .error+.icon-confirm,.files-fileList .error{color:var(--color-error);border-color:var(--color-error)}.files-filestable{position:relative;width:100%;min-width:250px;display:block;flex-direction:column}.emptycontent:not(.hidden)~.files-filestable{display:none}.files-filestable thead{position:-webkit-sticky;position:sticky;top:44px;z-index:60;display:block;background-color:var(--color-main-background-translucent)}.files-filestable tbody{display:table;width:100%}.files-filestable tbody tr[data-permissions="0"],.files-filestable tbody tr[data-permissions="16"]{background-color:var(--color-background-dark)}.files-filestable tbody tr[data-permissions="0"] td.filename .nametext .innernametext,.files-filestable tbody tr[data-permissions="16"] td.filename .nametext .innernametext{color:var(--color-text-maxcontrast)}.files-filestable tbody tr[data-e2eencrypted=true] .selection{pointer-events:none}.files-filestable.hidden{display:none}.app-files #app-content>.viewcontainer{min-height:0%;width:100%}.app-files #app-content{width:calc(100% - 300px)}.file-drag,.file-drag .files-filestable tbody tr,.file-drag .files-filestable tbody tr:hover{background-color:var(--color-primary-light) !important}.app-files #app-content.dir-drop{background-color:var(--color-main-background) !important}.file-drag .files-filestable tbody tr,.file-drag .files-filestable tbody tr:hover{background-color:rgba(0,0,0,0) !important}.app-files #app-content.dir-drop .files-filestable tbody tr.dropping-to-dir{background-color:var(--color-primary-light) !important}.nav-icon-files{background-image:var(--icon-folder-dark)}.nav-icon-recent{background-image:var(--icon-recent-dark)}.nav-icon-favorites{background-image:var(--icon-starred-dark)}.nav-icon-sharingin,.nav-icon-sharingout,.nav-icon-pendingshares,.nav-icon-shareoverview{background-image:var(--icon-share-dark)}.nav-icon-sharinglinks{background-image:var(--icon-public-dark)}.nav-icon-extstoragemounts{background-image:var(--icon-external-dark)}.nav-icon-trashbin{background-image:var(--icon-delete-dark)}.nav-icon-trashbin-starred{background-image:var(--icon-delete-#ff0000)}.nav-icon-deletedshares{background-image:var(--icon-unshare-dark)}.nav-icon-favorites-starred{background-image:var(--icon-starred-yellow)}#app-navigation .nav-files a.nav-icon-files{width:auto}#app-navigation .nav-files a.new{width:40px;height:32px;padding:0 10px;margin:0;cursor:pointer}#app-navigation .nav-files a.new.hidden{display:none}#app-navigation .nav-files a.new.disabled{opacity:.3}.files-filestable tbody tr{height:51px}.files-filestable tbody tr:hover,.files-filestable tbody tr:focus,.files-filestable tbody .name:focus,.files-filestable tbody tr:hover .filename form,table tr.mouseOver td{background-color:var(--color-background-hover)}.files-filestable tbody tr:active,.files-filestable tbody tr.highlighted,.files-filestable tbody tr.highlighted .name:focus,.files-filestable tbody tr.selected,.files-filestable tbody tr.searchresult{background-color:var(--color-primary-light)}tbody a{color:var(--color-main-text)}span.conflict-path,span.extension,span.uploading,td.date{color:var(--color-text-maxcontrast)}span.conflict-path,span.extension{-webkit-transition:opacity 300ms;-moz-transition:opacity 300ms;-o-transition:opacity 300ms;transition:opacity 300ms;vertical-align:top}tr:hover span.conflict-path,tr:focus span.conflict-path,tr:hover span.extension,tr:focus span.extension{opacity:1;color:var(--color-text-maxcontrast)}table th,table th a{color:var(--color-text-maxcontrast)}table.multiselect th a{color:var(--color-main-text)}table th .columntitle{display:block;padding:15px;height:50px;box-sizing:border-box;-moz-box-sizing:border-box;vertical-align:middle}table th .columntitle:focus-visible{border-radius:2px}table.multiselect th .columntitle{display:inline-block;margin-right:-20px}table th .columntitle.name{padding-left:0;margin-left:44px}table.multiselect th .columntitle.name{margin-left:0}table th .sort-indicator{width:10px;height:8px;margin-left:5px;display:inline-block;vertical-align:text-bottom;opacity:.3}.sort-indicator.hidden,.multiselect .sort-indicator,table.multiselect th:hover .sort-indicator.hidden,table.multiselect th:focus .sort-indicator.hidden{visibility:hidden}.multiselect .sort,.multiselect .sort span{cursor:default}table th:hover .sort-indicator.hidden,table th:focus .sort-indicator.hidden{visibility:visible}table th,table td{border-bottom:1px solid var(--color-border);text-align:left;font-weight:normal}table td{padding:0 15px;font-style:normal;background-position:8px center;background-repeat:no-repeat}table th.column-name{position:relative;width:9999px;padding:0}.column-name-container{position:relative;height:50px}table th.column-selection{padding-top:2px}table th.column-size,table td.filesize{text-align:right}table th.column-mtime,table td.date,table th.column-last,table td.column-last{-moz-box-sizing:border-box;box-sizing:border-box;position:relative;min-width:130px}#app-content-recent,#app-content-favorites,#app-content-shareoverview,#app-content-sharingout,#app-content-sharingin,#app-content-sharinglinks,#app-content-deletedshares,#app-content-pendingshares{margin-top:22px}#app-content-recent thead,#app-content-favorites thead,#app-content-shareoverview thead,#app-content-sharingout thead,#app-content-sharingin thead,#app-content-sharinglinks thead,#app-content-deletedshares thead,#app-content-pendingshares thead{top:0}table.multiselect thead th{background-color:var(--color-main-background-translucent);font-weight:bold}#app-content.with-app-sidebar table.multiselect thead{margin-right:27%}table.multiselect .column-name{position:relative;width:9999px}table.multiselect .column-mtime>a{display:none}table td.selection,table th.selection,table td.fileaction{width:32px;text-align:center}table td.filename a.name,table td.filename p.name{display:flex;position:relative;-moz-box-sizing:border-box;box-sizing:border-box;height:50px;line-height:50px;padding:0}table td.filename .thumbnail-wrapper{width:0;min-width:50px;max-width:50px;height:50px}table td.filename .thumbnail-wrapper.icon-loading-small:after{z-index:10}table td.filename .thumbnail-wrapper.icon-loading-small .thumbnail{opacity:.2}table td.filename .thumbnail{display:inline-block;width:32px;height:32px;background-size:contain;background-position:center;background-repeat:no-repeat;margin-left:9px;margin-top:9px;border-radius:var(--border-radius);cursor:pointer;position:absolute;z-index:4}table td.filename p.name .thumbnail{cursor:default}table tr[data-has-preview=true] .thumbnail{border:1px solid var(--color-border)}table:not(.view-grid) td.filename input.filename{width:70% !important;margin-left:48px !important;cursor:text}table td.filename form{margin-top:-40px;position:relative;top:-6px}table td.filename a,table td.login,table td.logout,table td.download,table td.upload,table td.create,table td.delete{padding:3px 8px 8px 3px}table td.filename .nametext,.modified,.column-last>span:first-child{float:left;padding:15px 0}.modified,.column-last>span:first-child{position:relative;overflow:hidden;text-overflow:ellipsis;width:110px}table td.filename{max-width:0}table td.filename .nametext{width:0;flex-grow:1;display:flex;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;height:100%;z-index:10;padding:0 20px 0 0}.hide-hidden-files .files-filestable .files-fileList tr.hidden-file,.hide-hidden-files .files-filestable .files-fileList tr.hidden-file.dragging{display:none !important}.files-fileList tr.animate-opacity{-webkit-transition:opacity 250ms;-moz-transition:opacity 250ms;-o-transition:opacity 250ms;transition:opacity 250ms}.files-fileList tr.dragging{opacity:.2}table td.filename .nametext .innernametext{text-overflow:ellipsis;overflow:hidden;position:relative;vertical-align:top}table td.filename .uploadtext{position:absolute;font-weight:normal;margin-left:50px;left:0;bottom:0;height:20px;padding:0 4px;padding-left:1px;font-size:11px;line-height:22px;color:var(--color-text-maxcontrast);text-overflow:ellipsis;white-space:nowrap}table td.selection{padding:0}.files-fileList tr td.selection>.selectCheckBox+label:before{opacity:.3;margin-right:0}.files-fileList tr:hover td.selection>.selectCheckBox+label:before,.files-fileList tr:focus td.selection>.selectCheckBox+label:before,.files-fileList tr td.selection>.selectCheckBox:checked+label:before,.files-fileList tr.selected td.selection>.selectCheckBox+label:before{opacity:1}.files-fileList tr.halfselected td.selection>.selectCheckBox+label:before{opacity:.5}.files-fileList tr td.selection>.selectCheckBox+label,.select-all+label{padding:16px}.files-fileList tr td.selection>.selectCheckBox:focus-visible+label,.select-all:focus-visible+label{background-color:var(--color-background-hover);border-radius:var(--border-radius-pill);outline:none !important;border:2px solid var(--color-primary) !important;padding:14px}.files-fileList tr td.selection>.selectCheckBox:focus-visible+label,.select-all:focus-visible+label{outline-offset:0px}.files-fileList tr td.filename{position:relative;width:100%;padding-left:0;padding-right:0;-webkit-transition:background-image 500ms;-moz-transition:background-image 500ms;-o-transition:background-image 500ms;transition:background-image 500ms}.files-fileList tr td.filename a.name label,.files-fileList tr td.filename p.name label{position:absolute;width:80%;height:50px}.files-fileList tr td.filename .favorite{display:inline-block;float:left}.files-fileList tr td.filename .favorite-mark{position:absolute;display:block;top:-6px;right:-6px;line-height:100%;text-align:center}#uploadsize-message,#delete-confirm{display:none}.fileactions{z-index:50}.busy .fileactions,.busy .action{visibility:hidden}.bubble,#app-navigation .app-navigation-entry-menu{min-width:100px}.files-fileList .icon-loading-small{opacity:1 !important;display:inline !important}.files-fileList .action.action-share-notification span,.files-fileList a.name{cursor:default !important}.files-fileList a.name.disabled *{cursor:default}.files-fileList a.name.disabled a,.files-fileList a.name.disabled a *{cursor:pointer}.files-fileList a.name.disabled:focus{background:none}a.action>img{height:16px;width:16px;vertical-align:text-bottom}a.action.action-editlocally img.icon{filter:var(--background-invert-if-dark)}.selectedActions{position:relative;display:inline-block;vertical-align:middle}.selectedActions.hidden{display:none}.selectedActions a{display:inline;line-height:50px;padding:16px 5px}.selectedActions a.hidden{display:none}.selectedActions a img{position:relative;vertical-align:text-bottom;margin-bottom:-1px}.selectedActions .actions-selected .icon-more{margin-top:-3px}.files-fileList td a a.action{display:inline;padding:17px 8px;line-height:50px;opacity:.3}.files-fileList td a a.action.action-share{padding:17px 14px}.files-fileList td a a.action.action-share.permanent:not(.shared-style) .icon-shared+span{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.files-fileList td a a.action.action-share .avatar{display:inline-block;vertical-align:middle}.files-fileList td a a.action.action-menu{padding-top:17px;padding-bottom:17px;padding-left:14px;padding-right:14px}.files-fileList td a a.action.no-permission:hover,.files-fileList td a a.action.no-permission:focus{opacity:.3}.files-fileList td a a.action.disabled:hover,.files-fileList td a a.action.disabled:focus,.files-fileList td a a.action.disabled img{opacity:.3}.files-fileList td a a.action.disabled.action-download{opacity:.7}.files-fileList td a a.action.disabled.action-download:hover,.files-fileList td a a.action.disabled.action-download:focus{opacity:.7}.files-fileList td a a.action:hover,.files-fileList td a a.action:focus{opacity:1}.files-fileList td a a.action:focus{background-color:var(--color-background-hover);border-radius:var(--border-radius-pill)}.files-fileList td a .fileActionsMenu a.action,.files-fileList td a a.action.action-share.shared-style{opacity:.7}.files-fileList td a .fileActionsMenu .action.permanent{opacity:1}.files-fileList .action.action-share.permanent.shared-style span:not(.icon){display:inline-block;max-width:70px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;margin-left:6px}.files-fileList .remoteAddress .userDomain{margin-left:0 !important}.files-fileList .favorite-mark.permanent{opacity:1}.files-fileList .fileActionsMenu a.action:hover,.files-fileList .fileActionsMenu a.action:focus,.files-fileList a.action.action-share.shared-style:hover,.files-fileList a.action.action-share.shared-style:focus{opacity:1}.files-fileList tr a.action.disabled{background:none}.selectedActions a.download.disabled,.files-fileList tr a.action.action-download.disabled{color:#000}.files-fileList tr:hover a.action.disabled:hover *{cursor:default}.summary{color:var(--color-text-maxcontrast);height:330px}.files-filestable .summary .filesummary{width:100%;padding-left:101px}#body-public .summary{height:180px}.summary:hover,.summary:focus,.summary,table tr.summary td{background-color:rgba(0,0,0,0)}.summary td{border-bottom:none;vertical-align:top;padding-top:20px}.summary td:first-child{padding:0}.hiddeninfo{white-space:pre-line}table.dragshadow{width:auto;z-index:2000}table.dragshadow td.filename{padding-left:60px;padding-right:16px;height:36px;max-width:unset}table.dragshadow td.size{padding-right:8px}.mask{z-index:50;position:absolute;top:0;left:0;right:0;bottom:0;background-color:var(--color-main-background);background-repeat:no-repeat no-repeat;background-position:50%;opacity:.7;transition:opacity 100ms;-moz-transition:opacity 100ms;-o-transition:opacity 100ms;-ms-transition:opacity 100ms;-webkit-transition:opacity 100ms}.mask.transparent{opacity:0}.newFileMenu{font-weight:300;top:100%;left:-48px !important;margin-top:4px;min-width:100px;z-index:1001}.newFileMenu::after{left:61px !important}.files-controls{box-sizing:border-box;position:-webkit-sticky;position:sticky;height:50px;padding:0;margin:0;background-color:var(--color-main-background-translucent);z-index:62;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;top:0;padding-left:50px}.files-controls .actions>div>.button,.files-controls .actions>div button,.files-controls .actions>.button,.files-controls .actions button{box-sizing:border-box;display:inline-block;display:flex;height:44px;width:44px;padding:9px;align-items:center;justify-content:center}.files-controls .actions>div .button.hidden,.files-controls .actions .button.hidden{display:none}.viewer-mode #app-navigation+#app-content .files-controls{left:0}.files-filestable .filename .action .icon,.files-filestable .selectedActions a .icon,.files-filestable .filename .favorite-mark .icon,.files-controls .actions .button .icon{display:inline-block;vertical-align:middle;background-size:16px 16px}.files-filestable .filename .favorite-mark .icon-star{background-image:none}.files-filestable .filename .favorite-mark .icon-starred{background-image:var(--icon-starred-yellow) !important}.files-filestable .filename .action .icon.hidden,.files-filestable .selectedActions a .icon.hidden,.files-controls .actions .button .icon.hidden{display:none}.files-filestable .filename .action .icon.loading,.files-filestable .selectedActions a .icon.loading,.files-controls .actions .button .icon.loading{width:15px;height:15px}.app-files .actions .button.new{position:relative}.breadcrumb{align-items:center}.breadcrumb .icon-home{border-radius:var(--border-radius)}.breadcrumb .canDrop>a,.files-filestable tbody tr.canDrop{background-color:rgba(0,130,201,.3)}.dropzone-background{background-color:rgba(0,130,201,.3)}.dropzone-background :hover{box-shadow:none !important}.notCreatable{margin-left:12px;margin-right:44px;margin-top:12px;color:var(--color-main-text);overflow:auto;min-width:160px;height:54px}.notCreatable:not(.hidden){display:flex}.notCreatable .icon-alert-outline{top:-15px;position:relative;margin-right:4px}.quota-navigation-item{margin:0 !important;border:none;border-radius:0;background-color:rgba(0,0,0,0);z-index:1;height:44px;display:flex !important;flex-direction:column}.quota-navigation-item__text{height:30px}.quota-navigation-item[href="#"],.quota-navigation-item[href="#"] *{cursor:default !important}.quota-navigation-item__container{height:5px;border-radius:var(--border-radius)}.files-filestable.view-grid:not(.hidden) thead tr{display:block;border-bottom:1px solid var(--color-border);background-color:var(--color-main-background-translucent)}.files-filestable.view-grid:not(.hidden) thead tr th{width:auto;border:none}.files-filestable.view-grid:not(.hidden) tbody{display:grid;grid-template-columns:repeat(auto-fill, 160px);justify-content:space-around;row-gap:15px;margin:15px 0}.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden){display:block;position:relative;height:190px;border-radius:var(--border-radius)}.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted{background-color:rgba(0,0,0,0)}.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .fileactions{background-color:var(--color-background-hover)}.files-filestable.view-grid:not(.hidden) tbody td{display:inline;border-bottom:none}.files-filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper{min-width:0;max-width:none;position:absolute;width:160px;height:160px;padding:14px;top:0;left:0;z-index:-1}.files-filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper .thumbnail{width:calc(100% - 2 * 14px);height:calc(100% - 2 * 14px);background-size:contain;margin:0;border-radius:var(--border-radius);background-repeat:no-repeat;background-position:center}.files-filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper .thumbnail .favorite-mark{padding:14px;left:auto;top:-22px;right:-22px}.files-filestable.view-grid:not(.hidden) tbody td.filename .uploadtext{width:100%;margin:0;top:0;bottom:auto;height:28px;padding-top:4px;padding-left:28px}.files-filestable.view-grid:not(.hidden) tbody td.filename .name{height:100%;border-radius:var(--border-radius);overflow:hidden;cursor:pointer !important}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext{display:flex;height:44px;margin-top:146px;text-align:center;line-height:44px;padding:0}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .innernametext{display:inline-block;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext:before{content:"";flex:1;min-width:14px}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext:after{content:"";flex:1;min-width:44px}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .extension{display:none}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions{height:initial;margin-top:146px;display:flex;align-items:center;position:absolute;right:0}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions .action{padding:14px;width:44px;height:44px;display:flex;align-items:center;justify-content:center}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions .action:not(.action-menu){display:none}.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-share-container.hidden{display:block !important}.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-share-container.hidden .action-share img{padding:6px;border-radius:50%}.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-restore-container.hidden{display:block !important}.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-comment-container.hidden{display:block !important}.files-filestable.view-grid:not(.hidden) tbody td.filename form{padding:3px 14px;border-radius:var(--border-radius)}.files-filestable.view-grid:not(.hidden) tbody td.filename form input.filename{width:100%;margin-left:0;cursor:text}.files-filestable.view-grid:not(.hidden) tbody td.filesize,.files-filestable.view-grid:not(.hidden) tbody td.date{display:none}.files-filestable.view-grid:not(.hidden) tbody td.selection,.files-filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark{position:absolute;top:-8px;left:-8px;display:flex;width:44px;height:44px;z-index:10;background:rgba(0,0,0,0)}.files-filestable.view-grid:not(.hidden) tbody td.selection label,.files-filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark label{width:44px;height:44px;display:inline-flex;padding:14px}.files-filestable.view-grid:not(.hidden) tbody td.selection label::before,.files-filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark label::before{margin:0;width:14px;height:14px}.files-filestable.view-grid:not(.hidden) tbody td .popovermenu{left:0;width:150px;margin:0 5px}.files-filestable.view-grid:not(.hidden) tbody td .popovermenu .menuitem span:not(.icon){overflow:hidden;text-overflow:ellipsis}.files-filestable.view-grid:not(.hidden) tr.hidden-file td.filename .name .nametext .extension{display:block}.files-filestable.view-grid:not(.hidden) tfoot{display:grid}.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden){display:inline-block;margin:0 auto;height:418px}.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td{padding-top:50px}.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td:first-child,.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td.date{display:none}.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td .info{margin-left:0}#view-toggle{background-color:var(--color-main-background-translucent);border:none;margin:0;padding:22px;opacity:.5;float:right;right:var(--default-grid-baseline);top:var(--default-grid-baseline);z-index:100;position:sticky}#view-toggle:hover,#view-toggle:focus,#showgridview:focus+#view-toggle{opacity:1}#view-toggle:focus-visible,#showgridview:focus-visible+#view-toggle{box-shadow:inset 0 0 0 2px var(--color-primary) !important}#showgridview{position:fixed;top:0}#body-public .files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .innernametext{max-width:124px}#body-public .files-filestable.view-grid:not(.hidden) tbody td .popovermenu{left:-80px}#body-public #view-toggle{position:absolute;right:0;top:0}#gallery-button{display:none}#tag_multiple_files_container{overflow:hidden;background-color:#fff;border-radius:3px;position:relative;display:flex;flex-wrap:wrap;margin-bottom:10px}#tag_multiple_files_container h3{width:100%;padding:0 18px}#tag_multiple_files_container .systemTagsInputFieldContainer{flex:1 1 80%;min-width:0;margin:0 12px}/*# sourceMappingURL=files.css.map */ +.actions{padding:3px;height:100%;display:inline-block;float:left}.actions input,.actions button,.actions .button{margin:0;float:left}.actions .button a{color:#555}.actions .button a:hover,.actions .button a:focus{background-color:var(--color-background-hover)}.actions .button a:active{background-color:var(--color-primary-light)}.actions.creatable{position:relative;display:flex;flex:1 1}.actions.creatable .button:not(:last-child){margin-right:3px}.actions.hidden{display:none}#trash{margin-right:8px;float:right;z-index:1010;padding:10px;font-weight:normal}.newFileMenu .error,.newFileMenu .error+.icon-confirm,.files-fileList .error{color:var(--color-error);border-color:var(--color-error)}.files-filestable{position:relative;width:100%;min-width:250px;display:block;flex-direction:column}.emptycontent:not(.hidden)~.files-filestable{display:none}.files-filestable thead{position:-webkit-sticky;position:sticky;top:44px;z-index:60;display:block;background-color:var(--color-main-background-translucent)}.files-filestable tbody{display:table;width:100%}.files-filestable tbody tr[data-permissions="0"],.files-filestable tbody tr[data-permissions="16"]{background-color:var(--color-background-dark)}.files-filestable tbody tr[data-permissions="0"] td.filename .nametext .innernametext,.files-filestable tbody tr[data-permissions="16"] td.filename .nametext .innernametext{color:var(--color-text-maxcontrast)}.files-filestable tbody tr[data-e2eencrypted=true] .selection{pointer-events:none}.files-filestable.hidden{display:none}.app-files #app-content>.viewcontainer{min-height:0%;width:100%}.app-files #app-content{width:calc(100% - 300px)}.file-drag,.file-drag .files-filestable tbody tr,.file-drag .files-filestable tbody tr:hover{background-color:var(--color-primary-light) !important}.app-files #app-content.dir-drop{background-color:var(--color-main-background) !important}.file-drag .files-filestable tbody tr,.file-drag .files-filestable tbody tr:hover{background-color:rgba(0,0,0,0) !important}.app-files #app-content.dir-drop .files-filestable tbody tr.dropping-to-dir{background-color:var(--color-primary-light) !important}.nav-icon-files{background-image:var(--icon-folder-dark)}.nav-icon-recent{background-image:var(--icon-recent-dark)}.nav-icon-favorites{background-image:var(--icon-starred-dark)}.nav-icon-sharingin,.nav-icon-sharingout,.nav-icon-pendingshares,.nav-icon-shareoverview{background-image:var(--icon-share-dark)}.nav-icon-sharinglinks{background-image:var(--icon-public-dark)}.nav-icon-extstoragemounts{background-image:var(--icon-external-dark)}.nav-icon-trashbin{background-image:var(--icon-delete-dark)}.nav-icon-trashbin-starred{background-image:var(--icon-delete-#ff0000)}.nav-icon-deletedshares{background-image:var(--icon-unshare-dark)}.nav-icon-favorites-starred{background-image:var(--icon-starred-yellow)}#app-navigation .nav-files a.nav-icon-files{width:auto}#app-navigation .nav-files a.new{width:40px;height:32px;padding:0 10px;margin:0;cursor:pointer}#app-navigation .nav-files a.new.hidden{display:none}#app-navigation .nav-files a.new.disabled{opacity:.3}.files-filestable tbody tr{height:51px}.files-filestable tbody tr:hover,.files-filestable tbody tr:focus,.files-filestable tbody .name:focus,.files-filestable tbody tr:hover .filename form,table tr.mouseOver td{background-color:var(--color-background-hover)}.files-filestable tbody tr:active,.files-filestable tbody tr.highlighted,.files-filestable tbody tr.highlighted .name:focus,.files-filestable tbody tr.selected,.files-filestable tbody tr.searchresult{background-color:var(--color-primary-light)}tbody a{color:var(--color-main-text)}span.conflict-path,span.extension,span.uploading,td.date{color:var(--color-text-maxcontrast)}span.conflict-path,span.extension{-webkit-transition:opacity 300ms;-moz-transition:opacity 300ms;-o-transition:opacity 300ms;transition:opacity 300ms;vertical-align:top}tr:hover span.conflict-path,tr:focus span.conflict-path,tr:hover span.extension,tr:focus span.extension{opacity:1;color:var(--color-text-maxcontrast)}table th,table th a{color:var(--color-text-maxcontrast)}table.multiselect th a{color:var(--color-main-text)}table th .columntitle{display:block;padding:15px;height:50px;box-sizing:border-box;-moz-box-sizing:border-box;vertical-align:middle}table th .columntitle:focus-visible{border-radius:2px}table.multiselect th .columntitle{display:inline-block;margin-right:-20px}table th .columntitle.name{padding-left:0;margin-left:44px}table.multiselect th .columntitle.name{margin-left:0}table th .sort-indicator{width:10px;height:8px;margin-left:5px;display:inline-block;vertical-align:text-bottom;opacity:.3}.sort-indicator.hidden,.multiselect .sort-indicator,table.multiselect th:hover .sort-indicator.hidden,table.multiselect th:focus .sort-indicator.hidden{visibility:hidden}.multiselect .sort,.multiselect .sort span{cursor:default}table th:hover .sort-indicator.hidden,table th:focus .sort-indicator.hidden{visibility:visible}table th,table td{border-bottom:1px solid var(--color-border);text-align:left;font-weight:normal}table td{padding:0 15px;font-style:normal;background-position:8px center;background-repeat:no-repeat}table th.column-name{position:relative;width:9999px;padding:0}.column-name-container{position:relative;height:50px}table th.column-selection{padding-top:2px}table th.column-size,table td.filesize{text-align:right}table th.column-mtime,table td.date,table th.column-last,table td.column-last{-moz-box-sizing:border-box;box-sizing:border-box;position:relative;min-width:130px}#app-content-recent,#app-content-favorites,#app-content-shareoverview,#app-content-sharingout,#app-content-sharingin,#app-content-sharinglinks,#app-content-deletedshares,#app-content-pendingshares{margin-top:22px}#app-content-recent thead,#app-content-favorites thead,#app-content-shareoverview thead,#app-content-sharingout thead,#app-content-sharingin thead,#app-content-sharinglinks thead,#app-content-deletedshares thead,#app-content-pendingshares thead{top:0}table.multiselect thead th{background-color:var(--color-main-background-translucent);font-weight:bold}#app-content.with-app-sidebar table.multiselect thead{margin-right:27%}table.multiselect .column-name{position:relative;width:9999px}table.multiselect .column-mtime>a{display:none}table td.selection,table th.selection,table td.fileaction{width:32px;text-align:center}table td.filename a.name,table td.filename p.name{display:flex;position:relative;-moz-box-sizing:border-box;box-sizing:border-box;height:50px;line-height:50px;padding:0}table td.filename .thumbnail-wrapper{width:0;min-width:50px;max-width:50px;height:50px}table td.filename .thumbnail-wrapper.icon-loading-small:after{z-index:10}table td.filename .thumbnail-wrapper.icon-loading-small .thumbnail{opacity:.2}table td.filename .thumbnail{display:inline-block;width:32px;height:32px;background-size:contain;background-position:center;background-repeat:no-repeat;margin-left:9px;margin-top:9px;border-radius:var(--border-radius);cursor:pointer;position:absolute;z-index:4}table td.filename p.name .thumbnail{cursor:default}table tr[data-has-preview=true] .thumbnail{border:1px solid var(--color-border)}table:not(.view-grid) td.filename input.filename{width:70% !important;margin-left:48px !important;cursor:text}table td.filename form{margin-top:-40px;position:relative;top:-6px}table td.filename a,table td.login,table td.logout,table td.download,table td.upload,table td.create,table td.delete{padding:3px 8px 8px 3px}table td.filename .nametext,.modified,.column-last>span:first-child{float:left;padding:15px 0}.modified,.column-last>span:first-child{position:relative;overflow:hidden;text-overflow:ellipsis;width:110px}table td.filename{max-width:0}table td.filename .nametext{width:0;flex-grow:1;display:flex;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;height:100%;z-index:10;padding:0 20px 0 0}table td.filename .system-tags{--min-size: 32px;display:flex;justify-content:center;align-items:center;flex:1 1 100%;min-width:calc(var(--min-size)*2);max-width:300px}table td.filename .system-tags .system-tags__tag{padding:5px 10px;border:1px solid;border-radius:var(--border-radius-pill);border-color:var(--color-border);color:var(--color-text-maxcontrast);height:var(--min-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:22px;text-align:center}table td.filename .system-tags .system-tags__tag--more{overflow:visible;text-overflow:initial}table td.filename .system-tags .system-tags__tag+.system-tags__tag{margin-left:5px}.hide-hidden-files .files-filestable .files-fileList tr.hidden-file,.hide-hidden-files .files-filestable .files-fileList tr.hidden-file.dragging{display:none !important}.files-fileList tr.animate-opacity{-webkit-transition:opacity 250ms;-moz-transition:opacity 250ms;-o-transition:opacity 250ms;transition:opacity 250ms}.files-fileList tr.dragging{opacity:.2}table td.filename .nametext .innernametext{text-overflow:ellipsis;overflow:hidden;position:relative;vertical-align:top}table td.filename .uploadtext{position:absolute;font-weight:normal;margin-left:50px;left:0;bottom:0;height:20px;padding:0 4px;padding-left:1px;font-size:11px;line-height:22px;color:var(--color-text-maxcontrast);text-overflow:ellipsis;white-space:nowrap}table td.selection{padding:0}.files-fileList tr td.selection>.selectCheckBox+label:before{opacity:.3;margin-right:0}.files-fileList tr:hover td.selection>.selectCheckBox+label:before,.files-fileList tr:focus td.selection>.selectCheckBox+label:before,.files-fileList tr td.selection>.selectCheckBox:checked+label:before,.files-fileList tr.selected td.selection>.selectCheckBox+label:before{opacity:1}.files-fileList tr.halfselected td.selection>.selectCheckBox+label:before{opacity:.5}.files-fileList tr td.selection>.selectCheckBox+label,.select-all+label{padding:16px}.files-fileList tr td.selection>.selectCheckBox:focus-visible+label,.select-all:focus-visible+label{background-color:var(--color-background-hover);border-radius:var(--border-radius-pill);outline:none !important;border:2px solid var(--color-primary) !important;padding:14px}.files-fileList tr td.selection>.selectCheckBox:focus-visible+label,.select-all:focus-visible+label{outline-offset:0px}.files-fileList tr td.filename{position:relative;width:100%;padding-left:0;padding-right:0;-webkit-transition:background-image 500ms;-moz-transition:background-image 500ms;-o-transition:background-image 500ms;transition:background-image 500ms}.files-fileList tr td.filename a.name label,.files-fileList tr td.filename p.name label{position:absolute;width:80%;height:50px}.files-fileList tr td.filename .favorite{display:inline-block;float:left}.files-fileList tr td.filename .favorite-mark{position:absolute;display:block;top:-6px;right:-6px;line-height:100%;text-align:center}#uploadsize-message,#delete-confirm{display:none}.fileactions{z-index:50}.busy .fileactions,.busy .action{visibility:hidden}.bubble,#app-navigation .app-navigation-entry-menu{min-width:100px}.files-fileList .icon-loading-small{opacity:1 !important;display:inline !important}.files-fileList .action.action-share-notification span,.files-fileList a.name{cursor:default !important}.files-fileList a.name.disabled *{cursor:default}.files-fileList a.name.disabled a,.files-fileList a.name.disabled a *{cursor:pointer}.files-fileList a.name.disabled:focus{background:none}a.action>img{height:16px;width:16px;vertical-align:text-bottom}a.action.action-editlocally img.icon{filter:var(--background-invert-if-dark)}.selectedActions{position:relative;display:inline-block;vertical-align:middle}.selectedActions.hidden{display:none}.selectedActions a{display:inline;line-height:50px;padding:16px 5px}.selectedActions a.hidden{display:none}.selectedActions a img{position:relative;vertical-align:text-bottom;margin-bottom:-1px}.selectedActions .actions-selected .icon-more{margin-top:-3px}.files-fileList td a a.action{display:inline;padding:17px 8px;line-height:50px;opacity:.3}.files-fileList td a a.action.action-share{padding:17px 14px}.files-fileList td a a.action.action-share.permanent:not(.shared-style) .icon-shared+span{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.files-fileList td a a.action.action-share .avatar{display:inline-block;vertical-align:middle}.files-fileList td a a.action.action-menu{padding-top:17px;padding-bottom:17px;padding-left:14px;padding-right:14px}.files-fileList td a a.action.no-permission:hover,.files-fileList td a a.action.no-permission:focus{opacity:.3}.files-fileList td a a.action.disabled:hover,.files-fileList td a a.action.disabled:focus,.files-fileList td a a.action.disabled img{opacity:.3}.files-fileList td a a.action.disabled.action-download{opacity:.7}.files-fileList td a a.action.disabled.action-download:hover,.files-fileList td a a.action.disabled.action-download:focus{opacity:.7}.files-fileList td a a.action:hover,.files-fileList td a a.action:focus{opacity:1}.files-fileList td a a.action:focus{background-color:var(--color-background-hover);border-radius:var(--border-radius-pill)}.files-fileList td a .fileActionsMenu a.action,.files-fileList td a a.action.action-share.shared-style{opacity:.7}.files-fileList td a .fileActionsMenu .action.permanent{opacity:1}.files-fileList .action.action-share.permanent.shared-style span:not(.icon){display:inline-block;max-width:70px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;margin-left:6px}.files-fileList .remoteAddress .userDomain{margin-left:0 !important}.files-fileList .favorite-mark.permanent{opacity:1}.files-fileList .fileActionsMenu a.action:hover,.files-fileList .fileActionsMenu a.action:focus,.files-fileList a.action.action-share.shared-style:hover,.files-fileList a.action.action-share.shared-style:focus{opacity:1}.files-fileList tr a.action.disabled{background:none}.selectedActions a.download.disabled,.files-fileList tr a.action.action-download.disabled{color:#000}.files-fileList tr:hover a.action.disabled:hover *{cursor:default}.summary{color:var(--color-text-maxcontrast);height:330px}.files-filestable .summary .filesummary{width:100%;padding-left:101px}#body-public .summary{height:180px}.summary:hover,.summary:focus,.summary,table tr.summary td{background-color:rgba(0,0,0,0)}.summary td{border-bottom:none;vertical-align:top;padding-top:20px}.summary td:first-child{padding:0}.hiddeninfo{white-space:pre-line}table.dragshadow{width:auto;z-index:2000}table.dragshadow td.filename{padding-left:60px;padding-right:16px;height:36px;max-width:unset}table.dragshadow td.size{padding-right:8px}.mask{z-index:50;position:absolute;top:0;left:0;right:0;bottom:0;background-color:var(--color-main-background);background-repeat:no-repeat no-repeat;background-position:50%;opacity:.7;transition:opacity 100ms;-moz-transition:opacity 100ms;-o-transition:opacity 100ms;-ms-transition:opacity 100ms;-webkit-transition:opacity 100ms}.mask.transparent{opacity:0}.newFileMenu{font-weight:300;top:100%;left:-48px !important;margin-top:4px;min-width:100px;z-index:1001}.newFileMenu::after{left:61px !important}.files-controls{box-sizing:border-box;position:-webkit-sticky;position:sticky;height:50px;padding:0;margin:0;background-color:var(--color-main-background-translucent);z-index:62;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;top:0;padding-left:50px}.files-controls .actions>div>.button,.files-controls .actions>div button,.files-controls .actions>.button,.files-controls .actions button{box-sizing:border-box;display:inline-block;display:flex;height:44px;width:44px;padding:9px;align-items:center;justify-content:center}.files-controls .actions>div .button.hidden,.files-controls .actions .button.hidden{display:none}.viewer-mode #app-navigation+#app-content .files-controls{left:0}.files-filestable .filename .action .icon,.files-filestable .selectedActions a .icon,.files-filestable .filename .favorite-mark .icon,.files-controls .actions .button .icon{display:inline-block;vertical-align:middle;background-size:16px 16px}.files-filestable .filename .favorite-mark .icon-star{background-image:none}.files-filestable .filename .favorite-mark .icon-starred{background-image:var(--icon-starred-yellow) !important}.files-filestable .filename .action .icon.hidden,.files-filestable .selectedActions a .icon.hidden,.files-controls .actions .button .icon.hidden{display:none}.files-filestable .filename .action .icon.loading,.files-filestable .selectedActions a .icon.loading,.files-controls .actions .button .icon.loading{width:15px;height:15px}.app-files .actions .button.new{position:relative}.breadcrumb{align-items:center}.breadcrumb .icon-home{border-radius:var(--border-radius)}.breadcrumb .canDrop>a,.files-filestable tbody tr.canDrop{background-color:rgba(0,130,201,.3)}.dropzone-background{background-color:rgba(0,130,201,.3)}.dropzone-background :hover{box-shadow:none !important}.notCreatable{margin-left:12px;margin-right:44px;margin-top:12px;color:var(--color-main-text);overflow:auto;min-width:160px;height:54px}.notCreatable:not(.hidden){display:flex}.notCreatable .icon-alert-outline{top:-15px;position:relative;margin-right:4px}.quota-navigation-item{margin:0 !important;border:none;border-radius:0;background-color:rgba(0,0,0,0);z-index:1;height:44px;display:flex !important;flex-direction:column}.quota-navigation-item__text{height:30px}.quota-navigation-item[href="#"],.quota-navigation-item[href="#"] *{cursor:default !important}.quota-navigation-item__container{height:5px;border-radius:var(--border-radius)}.files-filestable.view-grid:not(.hidden) thead tr{display:block;border-bottom:1px solid var(--color-border);background-color:var(--color-main-background-translucent)}.files-filestable.view-grid:not(.hidden) thead tr th{width:auto;border:none}.files-filestable.view-grid:not(.hidden) tbody{display:grid;grid-template-columns:repeat(auto-fill, 160px);justify-content:space-around;row-gap:15px;margin:15px 0}.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden){display:block;position:relative;height:190px;border-radius:var(--border-radius)}.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted{background-color:rgba(0,0,0,0)}.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .fileactions{background-color:var(--color-background-hover)}.files-filestable.view-grid:not(.hidden) tbody td{display:inline;border-bottom:none}.files-filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper{min-width:0;max-width:none;position:absolute;width:160px;height:160px;padding:14px;top:0;left:0;z-index:-1}.files-filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper .thumbnail{width:calc(100% - 2 * 14px);height:calc(100% - 2 * 14px);background-size:contain;margin:0;border-radius:var(--border-radius);background-repeat:no-repeat;background-position:center}.files-filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper .thumbnail .favorite-mark{padding:14px;left:auto;top:-22px;right:-22px}.files-filestable.view-grid:not(.hidden) tbody td.filename .uploadtext{width:100%;margin:0;top:0;bottom:auto;height:28px;padding-top:4px;padding-left:28px}.files-filestable.view-grid:not(.hidden) tbody td.filename .name{height:100%;border-radius:var(--border-radius);overflow:hidden;cursor:pointer !important}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext{display:flex;height:44px;margin-top:146px;text-align:center;line-height:44px;padding:0}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .innernametext{display:inline-block;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext:before{content:"";flex:1;min-width:14px}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext:after{content:"";flex:1;min-width:44px}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .extension{display:none}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .system-tags{display:none}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions{height:initial;margin-top:146px;display:flex;align-items:center;position:absolute;right:0}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions .action{padding:14px;width:44px;height:44px;display:flex;align-items:center;justify-content:center}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions .action:not(.action-menu){display:none}.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-share-container.hidden{display:block !important}.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-share-container.hidden .action-share img{padding:6px;border-radius:50%}.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-restore-container.hidden{display:block !important}.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-comment-container.hidden{display:block !important}.files-filestable.view-grid:not(.hidden) tbody td.filename form{padding:3px 14px;border-radius:var(--border-radius)}.files-filestable.view-grid:not(.hidden) tbody td.filename form input.filename{width:100%;margin-left:0;cursor:text}.files-filestable.view-grid:not(.hidden) tbody td.filesize,.files-filestable.view-grid:not(.hidden) tbody td.date{display:none}.files-filestable.view-grid:not(.hidden) tbody td.selection,.files-filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark{position:absolute;top:-8px;left:-8px;display:flex;width:44px;height:44px;z-index:10;background:rgba(0,0,0,0)}.files-filestable.view-grid:not(.hidden) tbody td.selection label,.files-filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark label{width:44px;height:44px;display:inline-flex;padding:14px}.files-filestable.view-grid:not(.hidden) tbody td.selection label::before,.files-filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark label::before{margin:0;width:14px;height:14px}.files-filestable.view-grid:not(.hidden) tbody td .popovermenu{left:0;width:150px;margin:0 5px}.files-filestable.view-grid:not(.hidden) tbody td .popovermenu .menuitem span:not(.icon){overflow:hidden;text-overflow:ellipsis}.files-filestable.view-grid:not(.hidden) tr.hidden-file td.filename .name .nametext .extension{display:block}.files-filestable.view-grid:not(.hidden) tfoot{display:grid}.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden){display:inline-block;margin:0 auto;height:418px}.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td{padding-top:50px}.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td:first-child,.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td.date{display:none}.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td .info{margin-left:0}#view-toggle{background-color:var(--color-main-background-translucent);border:none;margin:0;padding:22px;opacity:.5;float:right;right:var(--default-grid-baseline);top:var(--default-grid-baseline);z-index:100;position:sticky}#view-toggle:hover,#view-toggle:focus,#showgridview:focus+#view-toggle{opacity:1}#view-toggle:focus-visible,#showgridview:focus-visible+#view-toggle{box-shadow:inset 0 0 0 2px var(--color-primary) !important}#showgridview{position:fixed;top:0}#body-public .files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .innernametext{max-width:124px}#body-public .files-filestable.view-grid:not(.hidden) tbody td .popovermenu{left:-80px}#body-public #view-toggle{position:absolute;right:0;top:0}#gallery-button{display:none}#tag_multiple_files_container{overflow:hidden;background-color:#fff;border-radius:3px;position:relative;display:flex;flex-wrap:wrap;margin-bottom:10px}#tag_multiple_files_container h3{width:100%;padding:0 18px}#tag_multiple_files_container .systemTagsInputFieldContainer{flex:1 1 80%;min-width:0;margin:0 12px}/*# sourceMappingURL=files.css.map */ diff --git a/apps/files/css/files.css.map b/apps/files/css/files.css.map index 60f978b2a09..84dcb9c9921 100644 --- a/apps/files/css/files.css.map +++ b/apps/files/css/files.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["files.scss","../../../core/css/functions.scss"],"names":[],"mappings":"AAWA,SAEC,YACA,YACA,qBACA,WAED,oEACA,8BACA,kDAEC,+CAED,0BACC,4CAGD,mBACC,kBACA,aACA,SACA,4CACC,iBAIF,gBACC,aAGD,OACC,iBACA,YACA,aACA,aACA,mBAGD,6EAGC,yBACA,gCAID,kBACC,kBACA,WACA,gBACA,cACA,sBAEA,6CACC,aAGD,wBACC,wBACA,gBAEA,SAEA,WACA,cACA,0DAMD,wBACC,cACA,WAEA,mGAEC,8CAEA,6KACC,oCAKF,8DACC,oBAKH,yBACC,aAID,uCACC,cACA,WAGD,wBAGC,yBAGD,6FACC,uDAGD,iCACC,yDAGD,kFACC,0CAGD,4EACC,uDAID,gBCtEC,yCDyED,iBCzEC,yCD4ED,oBC5EC,0CD+ED,yFC/EC,wCDqFD,uBCrFC,yCDwFD,2BCxFC,2CD2FD,mBC3FC,yCD8FD,2BC9FC,4CDiGD,wBCjGC,0CDoGD,4BCpGC,4CDwGD,4CACC,WAGD,iCACC,WACA,YACA,eACA,SACA,eAGD,wCACC,aAGD,0CACC,WAGD,2BACC,YAED,4KAKC,+CAED,wMAKC,4CAGD,qCAEA,yDACC,oCAED,kCACC,iCACA,8BACA,4BACA,yBACA,mBAED,wGAIC,UACA,oCAGD,oBACC,oCAED,uBACC,6BAED,sBACC,cACA,aACA,YACA,sBACA,2BACA,sBACA,oCACC,kBAGF,kCACC,qBACA,mBAED,2BACC,eACA,iBAGD,uCACC,cAGD,yBACC,WACA,WACA,gBACA,qBACA,2BACA,WAED,wJAIC,kBAED,2CACC,eAED,4EAEC,mBAGD,kBAEC,4CACA,gBACA,mBAED,SACC,eACA,kBACA,+BACA,4BAED,qBACC,kBACA,aACA,UAGD,uBACC,kBACA,YAGD,0BACC,gBAED,uCACC,iBAED,8EAEC,2BACA,sBACA,kBAEA,gBAGD,qMAQC,gBACA,qPACC,MAIF,2BACC,0DACA,iBAGD,sDACC,iBAGD,+BACC,kBACA,aAED,kCACC,aAGD,0DAGC,WACA,kBAED,kDAEC,aACA,kBACA,2BACA,sBACA,YACA,iBACA,UAED,qCAEC,QACA,eACA,eACA,YAGA,8DACC,WAED,mEACC,WAGF,6BACC,qBACA,WACA,YACA,wBACA,2BACA,4BACA,gBACA,eACA,mCACA,eACA,kBACA,UAED,oCACC,eAID,2CACC,qCAGD,iDACC,qBACA,4BACA,YAED,uBACC,iBACA,kBACA,SAGD,6IACA,8FAEA,wCACC,kBACA,gBACA,uBACA,YAKA,kBACC,YACA,4BACC,QACA,YACA,aACA,gBACA,mBACA,uBACA,YACA,WACA,mBAKH,iJAEC,wBAGD,mCACC,iCACA,8BACA,4BACA,yBAED,4BACC,WAGD,2CACC,uBACA,gBACA,kBACA,mBAKD,8BACC,kBACA,mBAEA,iBACA,OACA,SACA,YACA,cAEA,iBACA,eAEA,iBACA,oCACA,uBACA,mBAGD,mBACC,UAID,6DACC,WACA,eAID,iRAIC,UAID,0EACC,WAMA,wEACC,aAGD,oGACC,+CACA,wCACA,wBACA,iDACA,aAIF,oGAEC,mBAGD,+BACC,kBACA,WACA,eACA,gBACA,wJAGD,wFAEC,kBACA,UACA,YAGD,yCACC,qBACA,WAED,8CACC,kBACA,cACA,SACA,WACA,iBACA,kBAGD,iDAGA,aACC,WAGD,iCACC,kBAID,mDAEC,gBAID,oCACC,qBACA,0BAGD,8EACC,0BAOA,kCACC,eAGD,sEACC,eAGD,sCACC,gBAIF,aACC,YACA,WACA,2BAGD,qCACC,wCAID,iBACI,kBACA,qBACA,sBAEJ,wBACI,aAEJ,mBACC,eACA,iBACA,iBAGD,0BACC,aAED,uBACC,kBACA,2BACA,mBAGD,8CACC,gBAIA,8BACC,eACA,iBACA,iBACA,WACA,2CACC,kBACA,0FAGC,kBACA,cACA,SACA,UACA,WACA,gBAED,mDACC,qBACA,sBAGF,0CACC,iBACA,oBACA,kBACA,mBAGA,oGACC,WAID,qIAEC,WAED,uDACC,WACA,0HACC,WAIH,wEACC,UAED,oCACC,+CACA,wCAGF,uGACC,WAED,wDACC,UAKF,4EACC,qBACA,eACA,gBACA,uBACA,sBACA,gBAGD,2CACC,yBAGD,yCACC,UAGD,kNAKC,UAGD,qCACC,gBAGD,0FAEC,WAGD,mDACC,eAGD,SACC,oCAGA,aAED,wCACC,WAEA,mBAKD,sBACC,aAED,2DAIC,+BAED,YACC,mBACA,mBACA,iBAED,wBACC,UAED,YACC,qBAGD,iBACC,WACA,aAED,6BACC,kBACA,mBACA,YAGA,gBAED,yBACC,kBAED,MACC,WACA,kBACA,MACA,OACA,QACA,SACA,8CACA,sCACA,wBACA,WACA,yBACA,8BACA,4BACA,6BACA,iCAED,kBACC,UAGD,aACC,gBACA,SACA,sBACA,eACA,gBACA,aAGA,oBACC,qBAKF,gBACC,sBACA,wBACA,gBACA,YACA,UACA,SACA,0DACA,WACA,yBACA,sBACA,qBACA,iBACA,aACA,MACA,kBAKE,0IACC,sBACA,qBACA,aACA,YACA,WACA,YACA,mBACA,uBAED,oFACC,aAQJ,0DACC,OAGD,6KAIC,qBACA,sBACA,0BAMA,sDACC,sBAED,yDACC,uDAIF,iJAGC,aAGD,oJAGC,WACA,YAGD,gCACC,kBAGD,YACC,mBAEA,uBACC,mCAIF,0DAEC,oCAED,qBACC,oCACA,4BACC,2BAIF,cACC,iBACA,kBACA,gBACA,6BACA,cACA,gBACA,YAEA,2BACC,aAGD,kCACC,UACA,kBACA,iBAIF,uBACC,oBACA,YACA,gBACA,+BACA,UACA,YACA,wBACA,sBAEA,6BACC,YAKA,oEACC,0BAIF,kCACC,WACA,mCAWA,kDACC,cACA,4CACA,0DACA,qDACC,WACA,YAMH,+CACC,aACA,+CACA,6BACA,aACA,cAGA,+DACC,cACA,kBACA,aACA,mCAEA,0fAKC,+BAEA,oxDAGC,+CAKH,kDACC,eACA,mBAGC,8EACC,YACA,eACA,kBACA,MAvDQ,MAwDR,OAxDQ,MAyDR,QAxDO,KAyDP,MACA,OACA,WAEA,yFACC,4BACA,6BACA,wBACA,SACA,mCACA,4BACA,2BAKA,wGACC,QA1EK,KA2EL,UACA,UACA,YAKH,uEACC,WACA,SACA,MACA,YAEA,YACA,gBAEA,kBAGD,iEACC,YACA,mCAIA,gBAKA,0BAEA,2EACC,aACA,YACA,iBACA,kBACA,iBACA,UAEA,0FACC,qBACA,kBACA,gBACA,uBACA,mBAED,kFACC,WACA,OACA,eAED,iFACC,WACA,OACA,eAID,sFACC,aAIF,8EACC,eACA,iBACA,aACA,mBACA,kBACA,QAEA,sFACC,QApJK,KAqJL,WACA,YACA,aACA,mBACA,uBAGA,wGACC,aAQH,2GACC,yBAEA,6HACC,YACA,kBAIF,6GACC,yBAGD,6GACC,yBAIF,gEACC,iBACA,mCAEA,+EACC,WACA,cACA,YAMH,kHAEC,aAGD,sIAEC,kBACA,SACA,UACA,aACA,WACA,YACA,WACA,yBAEA,kJACC,WACA,YACA,oBACA,QAxNO,KAyNP,kKACC,SACA,MA3NM,KA4NN,OA5NM,KAkOT,+DACC,OACA,YACA,aAGA,yFACC,gBACA,uBAMJ,+FACC,cAID,+CACC,aAEA,qEACC,qBACA,cAEA,aAEA,wEACC,iBAEA,iKAEC,aAGD,8EACI,cAQR,aACC,0DACA,YACA,SACA,aACA,WACA,YACA,mCACA,iCACA,YACA,gBAEA,uEAGC,UAGD,oEAEC,2DASF,cACC,eACA,MAOC,uGACC,gBAID,4EACC,WAKF,0BACC,kBACA,QACA,MAKF,gBACC,aAGD,8BACC,gBACA,sBACA,kBACA,kBACA,aACA,eACA,mBAEA,iCACC,WACA,eAGD,6DACC,aACA,YACA","file":"files.css"}
\ No newline at end of file +{"version":3,"sourceRoot":"","sources":["files.scss","../../../core/css/functions.scss"],"names":[],"mappings":"AAWA,SAEC,YACA,YACA,qBACA,WAED,oEACA,8BACA,kDAEC,+CAED,0BACC,4CAGD,mBACC,kBACA,aACA,SACA,4CACC,iBAIF,gBACC,aAGD,OACC,iBACA,YACA,aACA,aACA,mBAGD,6EAGC,yBACA,gCAID,kBACC,kBACA,WACA,gBACA,cACA,sBAEA,6CACC,aAGD,wBACC,wBACA,gBAEA,SAEA,WACA,cACA,0DAMD,wBACC,cACA,WAEA,mGAEC,8CAEA,6KACC,oCAKF,8DACC,oBAKH,yBACC,aAID,uCACC,cACA,WAGD,wBAGC,yBAGD,6FACC,uDAGD,iCACC,yDAGD,kFACC,0CAGD,4EACC,uDAID,gBCtEC,yCDyED,iBCzEC,yCD4ED,oBC5EC,0CD+ED,yFC/EC,wCDqFD,uBCrFC,yCDwFD,2BCxFC,2CD2FD,mBC3FC,yCD8FD,2BC9FC,4CDiGD,wBCjGC,0CDoGD,4BCpGC,4CDwGD,4CACC,WAGD,iCACC,WACA,YACA,eACA,SACA,eAGD,wCACC,aAGD,0CACC,WAGD,2BACC,YAED,4KAKC,+CAED,wMAKC,4CAGD,qCAEA,yDACC,oCAED,kCACC,iCACA,8BACA,4BACA,yBACA,mBAED,wGAIC,UACA,oCAGD,oBACC,oCAED,uBACC,6BAED,sBACC,cACA,aACA,YACA,sBACA,2BACA,sBACA,oCACC,kBAGF,kCACC,qBACA,mBAED,2BACC,eACA,iBAGD,uCACC,cAGD,yBACC,WACA,WACA,gBACA,qBACA,2BACA,WAED,wJAIC,kBAED,2CACC,eAED,4EAEC,mBAGD,kBAEC,4CACA,gBACA,mBAED,SACC,eACA,kBACA,+BACA,4BAED,qBACC,kBACA,aACA,UAGD,uBACC,kBACA,YAGD,0BACC,gBAED,uCACC,iBAED,8EAEC,2BACA,sBACA,kBAEA,gBAGD,qMAQC,gBACA,qPACC,MAIF,2BACC,0DACA,iBAGD,sDACC,iBAGD,+BACC,kBACA,aAED,kCACC,aAGD,0DAGC,WACA,kBAED,kDAEC,aACA,kBACA,2BACA,sBACA,YACA,iBACA,UAED,qCAEC,QACA,eACA,eACA,YAGA,8DACC,WAED,mEACC,WAGF,6BACC,qBACA,WACA,YACA,wBACA,2BACA,4BACA,gBACA,eACA,mCACA,eACA,kBACA,UAED,oCACC,eAID,2CACC,qCAGD,iDACC,qBACA,4BACA,YAED,uBACC,iBACA,kBACA,SAGD,6IACA,8FAEA,wCACC,kBACA,gBACA,uBACA,YAKA,kBACC,YACA,4BACC,QACA,YACA,aACA,gBACA,mBACA,uBACA,YACA,WACA,mBAID,+BACC,iBACA,aACA,uBACA,mBACA,cACA,kCACA,gBAEA,iDACC,iBACA,iBACA,wCACA,iCACA,oCACA,uBACA,mBACA,gBACA,uBACA,iBACA,kBAEA,uDACC,iBACA,sBAID,mEACC,gBAOL,iJAEC,wBAGD,mCACC,iCACA,8BACA,4BACA,yBAED,4BACC,WAGD,2CACC,uBACA,gBACA,kBACA,mBAKD,8BACC,kBACA,mBAEA,iBACA,OACA,SACA,YACA,cAEA,iBACA,eAEA,iBACA,oCACA,uBACA,mBAGD,mBACC,UAID,6DACC,WACA,eAID,iRAIC,UAID,0EACC,WAMA,wEACC,aAGD,oGACC,+CACA,wCACA,wBACA,iDACA,aAIF,oGAEC,mBAGD,+BACC,kBACA,WACA,eACA,gBACA,wJAGD,wFAEC,kBACA,UACA,YAGD,yCACC,qBACA,WAED,8CACC,kBACA,cACA,SACA,WACA,iBACA,kBAGD,iDAGA,aACC,WAGD,iCACC,kBAID,mDAEC,gBAID,oCACC,qBACA,0BAGD,8EACC,0BAOA,kCACC,eAGD,sEACC,eAGD,sCACC,gBAIF,aACC,YACA,WACA,2BAGD,qCACC,wCAID,iBACI,kBACA,qBACA,sBAEJ,wBACI,aAEJ,mBACC,eACA,iBACA,iBAGD,0BACC,aAED,uBACC,kBACA,2BACA,mBAGD,8CACC,gBAIA,8BACC,eACA,iBACA,iBACA,WACA,2CACC,kBACA,0FAGC,kBACA,cACA,SACA,UACA,WACA,gBAED,mDACC,qBACA,sBAGF,0CACC,iBACA,oBACA,kBACA,mBAGA,oGACC,WAID,qIAEC,WAED,uDACC,WACA,0HACC,WAIH,wEACC,UAED,oCACC,+CACA,wCAGF,uGACC,WAED,wDACC,UAKF,4EACC,qBACA,eACA,gBACA,uBACA,sBACA,gBAGD,2CACC,yBAGD,yCACC,UAGD,kNAKC,UAGD,qCACC,gBAGD,0FAEC,WAGD,mDACC,eAGD,SACC,oCAGA,aAED,wCACC,WAEA,mBAKD,sBACC,aAED,2DAIC,+BAED,YACC,mBACA,mBACA,iBAED,wBACC,UAED,YACC,qBAGD,iBACC,WACA,aAED,6BACC,kBACA,mBACA,YAGA,gBAED,yBACC,kBAED,MACC,WACA,kBACA,MACA,OACA,QACA,SACA,8CACA,sCACA,wBACA,WACA,yBACA,8BACA,4BACA,6BACA,iCAED,kBACC,UAGD,aACC,gBACA,SACA,sBACA,eACA,gBACA,aAGA,oBACC,qBAKF,gBACC,sBACA,wBACA,gBACA,YACA,UACA,SACA,0DACA,WACA,yBACA,sBACA,qBACA,iBACA,aACA,MACA,kBAKE,0IACC,sBACA,qBACA,aACA,YACA,WACA,YACA,mBACA,uBAED,oFACC,aAQJ,0DACC,OAGD,6KAIC,qBACA,sBACA,0BAMA,sDACC,sBAED,yDACC,uDAIF,iJAGC,aAGD,oJAGC,WACA,YAGD,gCACC,kBAGD,YACC,mBAEA,uBACC,mCAIF,0DAEC,oCAED,qBACC,oCACA,4BACC,2BAIF,cACC,iBACA,kBACA,gBACA,6BACA,cACA,gBACA,YAEA,2BACC,aAGD,kCACC,UACA,kBACA,iBAIF,uBACC,oBACA,YACA,gBACA,+BACA,UACA,YACA,wBACA,sBAEA,6BACC,YAKA,oEACC,0BAIF,kCACC,WACA,mCAWA,kDACC,cACA,4CACA,0DACA,qDACC,WACA,YAMH,+CACC,aACA,+CACA,6BACA,aACA,cAGA,+DACC,cACA,kBACA,aACA,mCAEA,0fAKC,+BAEA,oxDAGC,+CAKH,kDACC,eACA,mBAGC,8EACC,YACA,eACA,kBACA,MAvDQ,MAwDR,OAxDQ,MAyDR,QAxDO,KAyDP,MACA,OACA,WAEA,yFACC,4BACA,6BACA,wBACA,SACA,mCACA,4BACA,2BAKA,wGACC,QA1EK,KA2EL,UACA,UACA,YAKH,uEACC,WACA,SACA,MACA,YAEA,YACA,gBAEA,kBAGD,iEACC,YACA,mCAIA,gBAKA,0BAEA,2EACC,aACA,YACA,iBACA,kBACA,iBACA,UAEA,0FACC,qBACA,kBACA,gBACA,uBACA,mBAED,kFACC,WACA,OACA,eAED,iFACC,WACA,OACA,eAID,sFACC,aAKF,8EACC,aAGD,8EACC,eACA,iBACA,aACA,mBACA,kBACA,QAEA,sFACC,QAzJK,KA0JL,WACA,YACA,aACA,mBACA,uBAGA,wGACC,aAQH,2GACC,yBAEA,6HACC,YACA,kBAIF,6GACC,yBAGD,6GACC,yBAIF,gEACC,iBACA,mCAEA,+EACC,WACA,cACA,YAMH,kHAEC,aAGD,sIAEC,kBACA,SACA,UACA,aACA,WACA,YACA,WACA,yBAEA,kJACC,WACA,YACA,oBACA,QA7NO,KA8NP,kKACC,SACA,MAhOM,KAiON,OAjOM,KAuOT,+DACC,OACA,YACA,aAGA,yFACC,gBACA,uBAMJ,+FACC,cAID,+CACC,aAEA,qEACC,qBACA,cAEA,aAEA,wEACC,iBAEA,iKAEC,aAGD,8EACI,cAQR,aACC,0DACA,YACA,SACA,aACA,WACA,YACA,mCACA,iCACA,YACA,gBAEA,uEAGC,UAGD,oEAEC,2DASF,cACC,eACA,MAOC,uGACC,gBAID,4EACC,WAKF,0BACC,kBACA,QACA,MAKF,gBACC,aAGD,8BACC,gBACA,sBACA,kBACA,kBACA,aACA,eACA,mBAEA,iCACC,WACA,eAGD,6DACC,aACA,YACA","file":"files.css"}
\ No newline at end of file diff --git a/apps/files/css/files.scss b/apps/files/css/files.scss index 8205c63fc2c..67c8adff897 100644 --- a/apps/files/css/files.scss +++ b/apps/files/css/files.scss @@ -436,6 +436,41 @@ table { z-index: 10; padding: 0 20px 0 0; } + + /* System tags */ + .system-tags { + --min-size: 32px; + display: flex; + justify-content: center; + align-items: center; + flex: 1 1 100%; + min-width: calc(var(--min-size) * 2); + max-width: 300px; + + .system-tags__tag { + padding: 5px 10px; + border: 1px solid; + border-radius: var(--border-radius-pill); + border-color: var(--color-border); + color: var(--color-text-maxcontrast); + height: var(--min-size); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + line-height: 22px; // min-size - 2 * 5px padding + text-align: center; + + &--more { + overflow: visible; + text-overflow: initial; + } + + // Proper spacing if multiple shown + & + .system-tags__tag { + margin-left: 5px; + } + } + } } } @@ -1111,6 +1146,11 @@ table.dragshadow td.size { } } + /* System tags */ + .system-tags { + display: none; + } + .fileactions { height: initial; margin-top: $grid-size - $grid-pad; diff --git a/apps/files/css/merged.css b/apps/files/css/merged.css index 48c8ff1eac0..75615a7c34d 100644 --- a/apps/files/css/merged.css +++ b/apps/files/css/merged.css @@ -1 +1 @@ -.actions{padding:3px;height:100%;display:inline-block;float:left}.actions input,.actions button,.actions .button{margin:0;float:left}.actions .button a{color:#555}.actions .button a:hover,.actions .button a:focus{background-color:var(--color-background-hover)}.actions .button a:active{background-color:var(--color-primary-light)}.actions.creatable{position:relative;display:flex;flex:1 1}.actions.creatable .button:not(:last-child){margin-right:3px}.actions.hidden{display:none}#trash{margin-right:8px;float:right;z-index:1010;padding:10px;font-weight:normal}.newFileMenu .error,.newFileMenu .error+.icon-confirm,.files-fileList .error{color:var(--color-error);border-color:var(--color-error)}.files-filestable{position:relative;width:100%;min-width:250px;display:block;flex-direction:column}.emptycontent:not(.hidden)~.files-filestable{display:none}.files-filestable thead{position:-webkit-sticky;position:sticky;top:44px;z-index:60;display:block;background-color:var(--color-main-background-translucent)}.files-filestable tbody{display:table;width:100%}.files-filestable tbody tr[data-permissions="0"],.files-filestable tbody tr[data-permissions="16"]{background-color:var(--color-background-dark)}.files-filestable tbody tr[data-permissions="0"] td.filename .nametext .innernametext,.files-filestable tbody tr[data-permissions="16"] td.filename .nametext .innernametext{color:var(--color-text-maxcontrast)}.files-filestable tbody tr[data-e2eencrypted=true] .selection{pointer-events:none}.files-filestable.hidden{display:none}.app-files #app-content>.viewcontainer{min-height:0%;width:100%}.app-files #app-content{width:calc(100% - 300px)}.file-drag,.file-drag .files-filestable tbody tr,.file-drag .files-filestable tbody tr:hover{background-color:var(--color-primary-light) !important}.app-files #app-content.dir-drop{background-color:var(--color-main-background) !important}.file-drag .files-filestable tbody tr,.file-drag .files-filestable tbody tr:hover{background-color:rgba(0,0,0,0) !important}.app-files #app-content.dir-drop .files-filestable tbody tr.dropping-to-dir{background-color:var(--color-primary-light) !important}.nav-icon-files{background-image:var(--icon-folder-dark)}.nav-icon-recent{background-image:var(--icon-recent-dark)}.nav-icon-favorites{background-image:var(--icon-starred-dark)}.nav-icon-sharingin,.nav-icon-sharingout,.nav-icon-pendingshares,.nav-icon-shareoverview{background-image:var(--icon-share-dark)}.nav-icon-sharinglinks{background-image:var(--icon-public-dark)}.nav-icon-extstoragemounts{background-image:var(--icon-external-dark)}.nav-icon-trashbin{background-image:var(--icon-delete-dark)}.nav-icon-trashbin-starred{background-image:var(--icon-delete-#ff0000)}.nav-icon-deletedshares{background-image:var(--icon-unshare-dark)}.nav-icon-favorites-starred{background-image:var(--icon-starred-yellow)}#app-navigation .nav-files a.nav-icon-files{width:auto}#app-navigation .nav-files a.new{width:40px;height:32px;padding:0 10px;margin:0;cursor:pointer}#app-navigation .nav-files a.new.hidden{display:none}#app-navigation .nav-files a.new.disabled{opacity:.3}.files-filestable tbody tr{height:51px}.files-filestable tbody tr:hover,.files-filestable tbody tr:focus,.files-filestable tbody .name:focus,.files-filestable tbody tr:hover .filename form,table tr.mouseOver td{background-color:var(--color-background-hover)}.files-filestable tbody tr:active,.files-filestable tbody tr.highlighted,.files-filestable tbody tr.highlighted .name:focus,.files-filestable tbody tr.selected,.files-filestable tbody tr.searchresult{background-color:var(--color-primary-light)}tbody a{color:var(--color-main-text)}span.conflict-path,span.extension,span.uploading,td.date{color:var(--color-text-maxcontrast)}span.conflict-path,span.extension{-webkit-transition:opacity 300ms;-moz-transition:opacity 300ms;-o-transition:opacity 300ms;transition:opacity 300ms;vertical-align:top}tr:hover span.conflict-path,tr:focus span.conflict-path,tr:hover span.extension,tr:focus span.extension{opacity:1;color:var(--color-text-maxcontrast)}table th,table th a{color:var(--color-text-maxcontrast)}table.multiselect th a{color:var(--color-main-text)}table th .columntitle{display:block;padding:15px;height:50px;box-sizing:border-box;-moz-box-sizing:border-box;vertical-align:middle}table th .columntitle:focus-visible{border-radius:2px}table.multiselect th .columntitle{display:inline-block;margin-right:-20px}table th .columntitle.name{padding-left:0;margin-left:44px}table.multiselect th .columntitle.name{margin-left:0}table th .sort-indicator{width:10px;height:8px;margin-left:5px;display:inline-block;vertical-align:text-bottom;opacity:.3}.sort-indicator.hidden,.multiselect .sort-indicator,table.multiselect th:hover .sort-indicator.hidden,table.multiselect th:focus .sort-indicator.hidden{visibility:hidden}.multiselect .sort,.multiselect .sort span{cursor:default}table th:hover .sort-indicator.hidden,table th:focus .sort-indicator.hidden{visibility:visible}table th,table td{border-bottom:1px solid var(--color-border);text-align:left;font-weight:normal}table td{padding:0 15px;font-style:normal;background-position:8px center;background-repeat:no-repeat}table th.column-name{position:relative;width:9999px;padding:0}.column-name-container{position:relative;height:50px}table th.column-selection{padding-top:2px}table th.column-size,table td.filesize{text-align:right}table th.column-mtime,table td.date,table th.column-last,table td.column-last{-moz-box-sizing:border-box;box-sizing:border-box;position:relative;min-width:130px}#app-content-recent,#app-content-favorites,#app-content-shareoverview,#app-content-sharingout,#app-content-sharingin,#app-content-sharinglinks,#app-content-deletedshares,#app-content-pendingshares{margin-top:22px}#app-content-recent thead,#app-content-favorites thead,#app-content-shareoverview thead,#app-content-sharingout thead,#app-content-sharingin thead,#app-content-sharinglinks thead,#app-content-deletedshares thead,#app-content-pendingshares thead{top:0}table.multiselect thead th{background-color:var(--color-main-background-translucent);font-weight:bold}#app-content.with-app-sidebar table.multiselect thead{margin-right:27%}table.multiselect .column-name{position:relative;width:9999px}table.multiselect .column-mtime>a{display:none}table td.selection,table th.selection,table td.fileaction{width:32px;text-align:center}table td.filename a.name,table td.filename p.name{display:flex;position:relative;-moz-box-sizing:border-box;box-sizing:border-box;height:50px;line-height:50px;padding:0}table td.filename .thumbnail-wrapper{width:0;min-width:50px;max-width:50px;height:50px}table td.filename .thumbnail-wrapper.icon-loading-small:after{z-index:10}table td.filename .thumbnail-wrapper.icon-loading-small .thumbnail{opacity:.2}table td.filename .thumbnail{display:inline-block;width:32px;height:32px;background-size:contain;background-position:center;background-repeat:no-repeat;margin-left:9px;margin-top:9px;border-radius:var(--border-radius);cursor:pointer;position:absolute;z-index:4}table td.filename p.name .thumbnail{cursor:default}table tr[data-has-preview=true] .thumbnail{border:1px solid var(--color-border)}table:not(.view-grid) td.filename input.filename{width:70% !important;margin-left:48px !important;cursor:text}table td.filename form{margin-top:-40px;position:relative;top:-6px}table td.filename a,table td.login,table td.logout,table td.download,table td.upload,table td.create,table td.delete{padding:3px 8px 8px 3px}table td.filename .nametext,.modified,.column-last>span:first-child{float:left;padding:15px 0}.modified,.column-last>span:first-child{position:relative;overflow:hidden;text-overflow:ellipsis;width:110px}table td.filename{max-width:0}table td.filename .nametext{width:0;flex-grow:1;display:flex;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;height:100%;z-index:10;padding:0 20px 0 0}.hide-hidden-files .files-filestable .files-fileList tr.hidden-file,.hide-hidden-files .files-filestable .files-fileList tr.hidden-file.dragging{display:none !important}.files-fileList tr.animate-opacity{-webkit-transition:opacity 250ms;-moz-transition:opacity 250ms;-o-transition:opacity 250ms;transition:opacity 250ms}.files-fileList tr.dragging{opacity:.2}table td.filename .nametext .innernametext{text-overflow:ellipsis;overflow:hidden;position:relative;vertical-align:top}table td.filename .uploadtext{position:absolute;font-weight:normal;margin-left:50px;left:0;bottom:0;height:20px;padding:0 4px;padding-left:1px;font-size:11px;line-height:22px;color:var(--color-text-maxcontrast);text-overflow:ellipsis;white-space:nowrap}table td.selection{padding:0}.files-fileList tr td.selection>.selectCheckBox+label:before{opacity:.3;margin-right:0}.files-fileList tr:hover td.selection>.selectCheckBox+label:before,.files-fileList tr:focus td.selection>.selectCheckBox+label:before,.files-fileList tr td.selection>.selectCheckBox:checked+label:before,.files-fileList tr.selected td.selection>.selectCheckBox+label:before{opacity:1}.files-fileList tr.halfselected td.selection>.selectCheckBox+label:before{opacity:.5}.files-fileList tr td.selection>.selectCheckBox+label,.select-all+label{padding:16px}.files-fileList tr td.selection>.selectCheckBox:focus-visible+label,.select-all:focus-visible+label{background-color:var(--color-background-hover);border-radius:var(--border-radius-pill);outline:none !important;border:2px solid var(--color-primary) !important;padding:14px}.files-fileList tr td.selection>.selectCheckBox:focus-visible+label,.select-all:focus-visible+label{outline-offset:0px}.files-fileList tr td.filename{position:relative;width:100%;padding-left:0;padding-right:0;-webkit-transition:background-image 500ms;-moz-transition:background-image 500ms;-o-transition:background-image 500ms;transition:background-image 500ms}.files-fileList tr td.filename a.name label,.files-fileList tr td.filename p.name label{position:absolute;width:80%;height:50px}.files-fileList tr td.filename .favorite{display:inline-block;float:left}.files-fileList tr td.filename .favorite-mark{position:absolute;display:block;top:-6px;right:-6px;line-height:100%;text-align:center}#uploadsize-message,#delete-confirm{display:none}.fileactions{z-index:50}.busy .fileactions,.busy .action{visibility:hidden}.bubble,#app-navigation .app-navigation-entry-menu{min-width:100px}.files-fileList .icon-loading-small{opacity:1 !important;display:inline !important}.files-fileList .action.action-share-notification span,.files-fileList a.name{cursor:default !important}.files-fileList a.name.disabled *{cursor:default}.files-fileList a.name.disabled a,.files-fileList a.name.disabled a *{cursor:pointer}.files-fileList a.name.disabled:focus{background:none}a.action>img{height:16px;width:16px;vertical-align:text-bottom}a.action.action-editlocally img.icon{filter:var(--background-invert-if-dark)}.selectedActions{position:relative;display:inline-block;vertical-align:middle}.selectedActions.hidden{display:none}.selectedActions a{display:inline;line-height:50px;padding:16px 5px}.selectedActions a.hidden{display:none}.selectedActions a img{position:relative;vertical-align:text-bottom;margin-bottom:-1px}.selectedActions .actions-selected .icon-more{margin-top:-3px}.files-fileList td a a.action{display:inline;padding:17px 8px;line-height:50px;opacity:.3}.files-fileList td a a.action.action-share{padding:17px 14px}.files-fileList td a a.action.action-share.permanent:not(.shared-style) .icon-shared+span{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.files-fileList td a a.action.action-share .avatar{display:inline-block;vertical-align:middle}.files-fileList td a a.action.action-menu{padding-top:17px;padding-bottom:17px;padding-left:14px;padding-right:14px}.files-fileList td a a.action.no-permission:hover,.files-fileList td a a.action.no-permission:focus{opacity:.3}.files-fileList td a a.action.disabled:hover,.files-fileList td a a.action.disabled:focus,.files-fileList td a a.action.disabled img{opacity:.3}.files-fileList td a a.action.disabled.action-download{opacity:.7}.files-fileList td a a.action.disabled.action-download:hover,.files-fileList td a a.action.disabled.action-download:focus{opacity:.7}.files-fileList td a a.action:hover,.files-fileList td a a.action:focus{opacity:1}.files-fileList td a a.action:focus{background-color:var(--color-background-hover);border-radius:var(--border-radius-pill)}.files-fileList td a .fileActionsMenu a.action,.files-fileList td a a.action.action-share.shared-style{opacity:.7}.files-fileList td a .fileActionsMenu .action.permanent{opacity:1}.files-fileList .action.action-share.permanent.shared-style span:not(.icon){display:inline-block;max-width:70px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;margin-left:6px}.files-fileList .remoteAddress .userDomain{margin-left:0 !important}.files-fileList .favorite-mark.permanent{opacity:1}.files-fileList .fileActionsMenu a.action:hover,.files-fileList .fileActionsMenu a.action:focus,.files-fileList a.action.action-share.shared-style:hover,.files-fileList a.action.action-share.shared-style:focus{opacity:1}.files-fileList tr a.action.disabled{background:none}.selectedActions a.download.disabled,.files-fileList tr a.action.action-download.disabled{color:#000}.files-fileList tr:hover a.action.disabled:hover *{cursor:default}.summary{color:var(--color-text-maxcontrast);height:330px}.files-filestable .summary .filesummary{width:100%;padding-left:101px}#body-public .summary{height:180px}.summary:hover,.summary:focus,.summary,table tr.summary td{background-color:rgba(0,0,0,0)}.summary td{border-bottom:none;vertical-align:top;padding-top:20px}.summary td:first-child{padding:0}.hiddeninfo{white-space:pre-line}table.dragshadow{width:auto;z-index:2000}table.dragshadow td.filename{padding-left:60px;padding-right:16px;height:36px;max-width:unset}table.dragshadow td.size{padding-right:8px}.mask{z-index:50;position:absolute;top:0;left:0;right:0;bottom:0;background-color:var(--color-main-background);background-repeat:no-repeat no-repeat;background-position:50%;opacity:.7;transition:opacity 100ms;-moz-transition:opacity 100ms;-o-transition:opacity 100ms;-ms-transition:opacity 100ms;-webkit-transition:opacity 100ms}.mask.transparent{opacity:0}.newFileMenu{font-weight:300;top:100%;left:-48px !important;margin-top:4px;min-width:100px;z-index:1001}.newFileMenu::after{left:61px !important}.files-controls{box-sizing:border-box;position:-webkit-sticky;position:sticky;height:50px;padding:0;margin:0;background-color:var(--color-main-background-translucent);z-index:62;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;top:0;padding-left:50px}.files-controls .actions>div>.button,.files-controls .actions>div button,.files-controls .actions>.button,.files-controls .actions button{box-sizing:border-box;display:inline-block;display:flex;height:44px;width:44px;padding:9px;align-items:center;justify-content:center}.files-controls .actions>div .button.hidden,.files-controls .actions .button.hidden{display:none}.viewer-mode #app-navigation+#app-content .files-controls{left:0}.files-filestable .filename .action .icon,.files-filestable .selectedActions a .icon,.files-filestable .filename .favorite-mark .icon,.files-controls .actions .button .icon{display:inline-block;vertical-align:middle;background-size:16px 16px}.files-filestable .filename .favorite-mark .icon-star{background-image:none}.files-filestable .filename .favorite-mark .icon-starred{background-image:var(--icon-starred-yellow) !important}.files-filestable .filename .action .icon.hidden,.files-filestable .selectedActions a .icon.hidden,.files-controls .actions .button .icon.hidden{display:none}.files-filestable .filename .action .icon.loading,.files-filestable .selectedActions a .icon.loading,.files-controls .actions .button .icon.loading{width:15px;height:15px}.app-files .actions .button.new{position:relative}.breadcrumb{align-items:center}.breadcrumb .icon-home{border-radius:var(--border-radius)}.breadcrumb .canDrop>a,.files-filestable tbody tr.canDrop{background-color:rgba(0,130,201,.3)}.dropzone-background{background-color:rgba(0,130,201,.3)}.dropzone-background :hover{box-shadow:none !important}.notCreatable{margin-left:12px;margin-right:44px;margin-top:12px;color:var(--color-main-text);overflow:auto;min-width:160px;height:54px}.notCreatable:not(.hidden){display:flex}.notCreatable .icon-alert-outline{top:-15px;position:relative;margin-right:4px}.quota-navigation-item{margin:0 !important;border:none;border-radius:0;background-color:rgba(0,0,0,0);z-index:1;height:44px;display:flex !important;flex-direction:column}.quota-navigation-item__text{height:30px}.quota-navigation-item[href="#"],.quota-navigation-item[href="#"] *{cursor:default !important}.quota-navigation-item__container{height:5px;border-radius:var(--border-radius)}.files-filestable.view-grid:not(.hidden) thead tr{display:block;border-bottom:1px solid var(--color-border);background-color:var(--color-main-background-translucent)}.files-filestable.view-grid:not(.hidden) thead tr th{width:auto;border:none}.files-filestable.view-grid:not(.hidden) tbody{display:grid;grid-template-columns:repeat(auto-fill, 160px);justify-content:space-around;row-gap:15px;margin:15px 0}.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden){display:block;position:relative;height:190px;border-radius:var(--border-radius)}.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted{background-color:rgba(0,0,0,0)}.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .fileactions{background-color:var(--color-background-hover)}.files-filestable.view-grid:not(.hidden) tbody td{display:inline;border-bottom:none}.files-filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper{min-width:0;max-width:none;position:absolute;width:160px;height:160px;padding:14px;top:0;left:0;z-index:-1}.files-filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper .thumbnail{width:calc(100% - 2 * 14px);height:calc(100% - 2 * 14px);background-size:contain;margin:0;border-radius:var(--border-radius);background-repeat:no-repeat;background-position:center}.files-filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper .thumbnail .favorite-mark{padding:14px;left:auto;top:-22px;right:-22px}.files-filestable.view-grid:not(.hidden) tbody td.filename .uploadtext{width:100%;margin:0;top:0;bottom:auto;height:28px;padding-top:4px;padding-left:28px}.files-filestable.view-grid:not(.hidden) tbody td.filename .name{height:100%;border-radius:var(--border-radius);overflow:hidden;cursor:pointer !important}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext{display:flex;height:44px;margin-top:146px;text-align:center;line-height:44px;padding:0}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .innernametext{display:inline-block;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext:before{content:"";flex:1;min-width:14px}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext:after{content:"";flex:1;min-width:44px}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .extension{display:none}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions{height:initial;margin-top:146px;display:flex;align-items:center;position:absolute;right:0}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions .action{padding:14px;width:44px;height:44px;display:flex;align-items:center;justify-content:center}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions .action:not(.action-menu){display:none}.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-share-container.hidden{display:block !important}.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-share-container.hidden .action-share img{padding:6px;border-radius:50%}.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-restore-container.hidden{display:block !important}.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-comment-container.hidden{display:block !important}.files-filestable.view-grid:not(.hidden) tbody td.filename form{padding:3px 14px;border-radius:var(--border-radius)}.files-filestable.view-grid:not(.hidden) tbody td.filename form input.filename{width:100%;margin-left:0;cursor:text}.files-filestable.view-grid:not(.hidden) tbody td.filesize,.files-filestable.view-grid:not(.hidden) tbody td.date{display:none}.files-filestable.view-grid:not(.hidden) tbody td.selection,.files-filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark{position:absolute;top:-8px;left:-8px;display:flex;width:44px;height:44px;z-index:10;background:rgba(0,0,0,0)}.files-filestable.view-grid:not(.hidden) tbody td.selection label,.files-filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark label{width:44px;height:44px;display:inline-flex;padding:14px}.files-filestable.view-grid:not(.hidden) tbody td.selection label::before,.files-filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark label::before{margin:0;width:14px;height:14px}.files-filestable.view-grid:not(.hidden) tbody td .popovermenu{left:0;width:150px;margin:0 5px}.files-filestable.view-grid:not(.hidden) tbody td .popovermenu .menuitem span:not(.icon){overflow:hidden;text-overflow:ellipsis}.files-filestable.view-grid:not(.hidden) tr.hidden-file td.filename .name .nametext .extension{display:block}.files-filestable.view-grid:not(.hidden) tfoot{display:grid}.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden){display:inline-block;margin:0 auto;height:418px}.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td{padding-top:50px}.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td:first-child,.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td.date{display:none}.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td .info{margin-left:0}#view-toggle{background-color:var(--color-main-background-translucent);border:none;margin:0;padding:22px;opacity:.5;float:right;right:var(--default-grid-baseline);top:var(--default-grid-baseline);z-index:100;position:sticky}#view-toggle:hover,#view-toggle:focus,#showgridview:focus+#view-toggle{opacity:1}#view-toggle:focus-visible,#showgridview:focus-visible+#view-toggle{box-shadow:inset 0 0 0 2px var(--color-primary) !important}#showgridview{position:fixed;top:0}#body-public .files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .innernametext{max-width:124px}#body-public .files-filestable.view-grid:not(.hidden) tbody td .popovermenu{left:-80px}#body-public #view-toggle{position:absolute;right:0;top:0}#gallery-button{display:none}#tag_multiple_files_container{overflow:hidden;background-color:#fff;border-radius:3px;position:relative;display:flex;flex-wrap:wrap;margin-bottom:10px}#tag_multiple_files_container h3{width:100%;padding:0 18px}#tag_multiple_files_container .systemTagsInputFieldContainer{flex:1 1 80%;min-width:0;margin:0 12px}#upload{box-sizing:border-box;height:36px;width:39px;padding:0 !important;margin-left:3px;overflow:hidden;vertical-align:top;position:relative;z-index:-20}#upload .icon-upload{position:relative;display:block;width:100%;height:44px;width:44px;margin:-5px -3px;cursor:pointer;z-index:10;opacity:.65}.file_upload_target{display:none}.file_upload_form{display:inline;float:left;margin:0;padding:0;cursor:pointer;overflow:visible}.uploadprogresswrapper,.uploadprogresswrapper *{box-sizing:border-box}.uploadprogresswrapper{display:inline-block;vertical-align:top;height:36px;margin-left:3px}.uploadprogresswrapper>input[type=button]{height:36px;margin-left:3px}#uploadprogressbar{border-color:var(--color-border-dark);border-radius:var(--border-radius-pill) 0 0 var(--border-radius-pill);border-right:0;position:relative;float:left;width:200px;height:44px;display:inline-block;text-align:center}#uploadprogressbar .ui-progressbar-value{margin-top:.1em}#uploadprogressbar .ui-progressbar-value.ui-widget-header.ui-corner-left{height:calc(100% + 2px);top:-1px;left:-1px;position:absolute;overflow:hidden;background-color:var(--color-primary)}#uploadprogressbar .label{top:8px;opacity:1;overflow:hidden;white-space:nowrap;font-weight:normal}#uploadprogressbar .label.inner{color:var(--color-primary-text);position:absolute;display:block;width:200px}#uploadprogressbar .label.outer{position:relative;color:var(--color-main-text)}#uploadprogressbar .desktop{display:block}#uploadprogressbar .mobile{display:none}#uploadprogressbar+.stop{border-top-left-radius:0;border-bottom-left-radius:0}.oc-dialog .fileexists{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-bottom:30px}.oc-dialog .fileexists .conflict .filename,.oc-dialog .fileexists .conflict .mtime,.oc-dialog .fileexists .conflict .size{-webkit-touch-callout:initial;-webkit-user-select:initial;-khtml-user-select:initial;-moz-user-select:initial;-ms-user-select:initial;user-select:initial}.oc-dialog .fileexists .conflict .message{color:#e9322d}.oc-dialog .fileexists table{width:100%}.oc-dialog .fileexists th{padding-left:0;padding-right:0}.oc-dialog .fileexists th input[type=checkbox]{margin-right:3px}.oc-dialog .fileexists th:first-child{width:225px}.oc-dialog .fileexists th label{font-weight:normal;color:var(--color-main-text)}.oc-dialog .fileexists th .count{margin-left:3px}.oc-dialog .fileexists .conflicts .template{display:none}.oc-dialog .fileexists .conflict{width:100%;height:85px}.oc-dialog .fileexists .conflict .filename{color:#777;word-break:break-all;clear:left}.oc-dialog .fileexists .icon{width:64px;height:64px;margin:0px 5px 5px 5px;background-repeat:no-repeat;background-size:64px 64px;float:left}.oc-dialog .fileexists .original,.oc-dialog .fileexists .replacement{float:left;width:50%}.oc-dialog .fileexists .conflicts{overflow-y:auto;max-height:225px}.oc-dialog .fileexists .conflict input[type=checkbox]{float:left}.oc-dialog .fileexists #allfileslabel{float:right}.oc-dialog .fileexists #allfiles{vertical-align:bottom;position:relative;top:-3px}.oc-dialog .fileexists #allfiles+span{vertical-align:bottom}.oc-dialog .oc-dialog-buttonrow{width:100%;text-align:right}.oc-dialog .oc-dialog-buttonrow .cancel{float:left}.highlightUploaded{-webkit-animation:highlightAnimation 2s 1;-moz-animation:highlightAnimation 2s 1;-o-animation:highlightAnimation 2s 1;animation:highlightAnimation 2s 1}@-webkit-keyframes highlightAnimation{0%{background-color:#ffff8c}100%{background-color:rgba(0,0,0,0)}}@-moz-keyframes highlightAnimation{0%{background-color:#ffff8c}100%{background-color:rgba(0,0,0,0)}}@-o-keyframes highlightAnimation{0%{background-color:#ffff8c}100%{background-color:rgba(0,0,0,0)}}@keyframes highlightAnimation{0%{background-color:#ffff8c}100%{background-color:rgba(0,0,0,0)}}@media only screen and (max-width: 988px)and (min-width: 1025px),only screen and (max-width: 688px){.app-files #app-content.dir-drop{background-color:#fff !important}table th.column-size,table td.filesize,table th.column-mtime,table td.date{display:none}table td{padding:0}table.multiselect thead{padding-left:0}.fileList a.action.action-menu img{padding-left:0}.fileList .fileActionsMenu{margin-right:6px}.fileList a.action-share span:not(.icon):not(.avatar){position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}#uploadprogressbar,#uploadprogressbar .label.inner{width:50px}#uploadprogressbar .desktop{display:none !important}#uploadprogressbar .mobile{display:block !important}table.dragshadow{z-index:1000}}@media only screen and (max-width: 480px){table th .selectedActions{float:right}table th .selectedActions>a span:not(.icon){display:none}table th .selectedActions a{padding:17px 14px}table.multiselect th .columntitle.name{margin-left:0}}.app-sidebar .detailFileInfoContainer{min-height:50px;padding:15px}.app-sidebar .detailFileInfoContainer>div{clear:both}.app-sidebar .mainFileInfoView .icon{display:inline-block;background-size:16px 16px}.app-sidebar .mainFileInfoView .permalink{padding:6px 10px;vertical-align:top;opacity:.6}.app-sidebar .mainFileInfoView .permalink:hover,.app-sidebar .mainFileInfoView .permalink:focus{opacity:1}.app-sidebar .mainFileInfoView .permalink-field>input{clear:both;width:90%}.app-sidebar .thumbnailContainer.large{margin-left:-15px;margin-right:-35px;margin-top:-15px}.app-sidebar .thumbnailContainer.large.portrait{margin:0}.app-sidebar .large .thumbnail{width:100%;display:block;background-repeat:no-repeat;background-position:center;background-size:100%;float:none;margin:0;height:auto}.app-sidebar .large .thumbnail .stretcher{content:"";display:block;padding-bottom:56.25%}.app-sidebar .large.portrait .thumbnail{background-position:50% top}.app-sidebar .large.portrait .thumbnail{background-size:contain}.app-sidebar .large.text{overflow-y:scroll;overflow-x:hidden;padding-top:14px;font-size:80%;margin-left:0}.app-sidebar .thumbnail{width:100%;min-height:75px;display:inline-block;float:left;margin-right:10px;background-size:contain;background-repeat:no-repeat}.app-sidebar .ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.app-sidebar .fileName{font-size:16px;padding-top:13px;padding-bottom:3px}.app-sidebar .fileName h3{width:calc(100% - 42px);display:inline-block;padding:5px 0;margin:-5px 0}.app-sidebar .file-details{color:var(--color-text-maxcontrast)}.app-sidebar .action-favorite{vertical-align:sub;padding:10px;margin:-10px}.app-sidebar .action-favorite>span{opacity:.7 !important}.app-sidebar .detailList{float:left}.app-sidebar .close{position:absolute;top:0;right:0;opacity:.5;z-index:1;width:44px;height:44px}.whatsNewPopover{bottom:35px !important;left:15px !important;width:270px;z-index:700}.whatsNewPopover p{width:auto !important}.whatsNewPopover .caption{font-weight:bold;cursor:auto !important}.whatsNewPopover .icon-close{position:absolute;right:0}.whatsNewPopover::after{content:none}/*# sourceMappingURL=merged.css.map */ +.actions{padding:3px;height:100%;display:inline-block;float:left}.actions input,.actions button,.actions .button{margin:0;float:left}.actions .button a{color:#555}.actions .button a:hover,.actions .button a:focus{background-color:var(--color-background-hover)}.actions .button a:active{background-color:var(--color-primary-light)}.actions.creatable{position:relative;display:flex;flex:1 1}.actions.creatable .button:not(:last-child){margin-right:3px}.actions.hidden{display:none}#trash{margin-right:8px;float:right;z-index:1010;padding:10px;font-weight:normal}.newFileMenu .error,.newFileMenu .error+.icon-confirm,.files-fileList .error{color:var(--color-error);border-color:var(--color-error)}.files-filestable{position:relative;width:100%;min-width:250px;display:block;flex-direction:column}.emptycontent:not(.hidden)~.files-filestable{display:none}.files-filestable thead{position:-webkit-sticky;position:sticky;top:44px;z-index:60;display:block;background-color:var(--color-main-background-translucent)}.files-filestable tbody{display:table;width:100%}.files-filestable tbody tr[data-permissions="0"],.files-filestable tbody tr[data-permissions="16"]{background-color:var(--color-background-dark)}.files-filestable tbody tr[data-permissions="0"] td.filename .nametext .innernametext,.files-filestable tbody tr[data-permissions="16"] td.filename .nametext .innernametext{color:var(--color-text-maxcontrast)}.files-filestable tbody tr[data-e2eencrypted=true] .selection{pointer-events:none}.files-filestable.hidden{display:none}.app-files #app-content>.viewcontainer{min-height:0%;width:100%}.app-files #app-content{width:calc(100% - 300px)}.file-drag,.file-drag .files-filestable tbody tr,.file-drag .files-filestable tbody tr:hover{background-color:var(--color-primary-light) !important}.app-files #app-content.dir-drop{background-color:var(--color-main-background) !important}.file-drag .files-filestable tbody tr,.file-drag .files-filestable tbody tr:hover{background-color:rgba(0,0,0,0) !important}.app-files #app-content.dir-drop .files-filestable tbody tr.dropping-to-dir{background-color:var(--color-primary-light) !important}.nav-icon-files{background-image:var(--icon-folder-dark)}.nav-icon-recent{background-image:var(--icon-recent-dark)}.nav-icon-favorites{background-image:var(--icon-starred-dark)}.nav-icon-sharingin,.nav-icon-sharingout,.nav-icon-pendingshares,.nav-icon-shareoverview{background-image:var(--icon-share-dark)}.nav-icon-sharinglinks{background-image:var(--icon-public-dark)}.nav-icon-extstoragemounts{background-image:var(--icon-external-dark)}.nav-icon-trashbin{background-image:var(--icon-delete-dark)}.nav-icon-trashbin-starred{background-image:var(--icon-delete-#ff0000)}.nav-icon-deletedshares{background-image:var(--icon-unshare-dark)}.nav-icon-favorites-starred{background-image:var(--icon-starred-yellow)}#app-navigation .nav-files a.nav-icon-files{width:auto}#app-navigation .nav-files a.new{width:40px;height:32px;padding:0 10px;margin:0;cursor:pointer}#app-navigation .nav-files a.new.hidden{display:none}#app-navigation .nav-files a.new.disabled{opacity:.3}.files-filestable tbody tr{height:51px}.files-filestable tbody tr:hover,.files-filestable tbody tr:focus,.files-filestable tbody .name:focus,.files-filestable tbody tr:hover .filename form,table tr.mouseOver td{background-color:var(--color-background-hover)}.files-filestable tbody tr:active,.files-filestable tbody tr.highlighted,.files-filestable tbody tr.highlighted .name:focus,.files-filestable tbody tr.selected,.files-filestable tbody tr.searchresult{background-color:var(--color-primary-light)}tbody a{color:var(--color-main-text)}span.conflict-path,span.extension,span.uploading,td.date{color:var(--color-text-maxcontrast)}span.conflict-path,span.extension{-webkit-transition:opacity 300ms;-moz-transition:opacity 300ms;-o-transition:opacity 300ms;transition:opacity 300ms;vertical-align:top}tr:hover span.conflict-path,tr:focus span.conflict-path,tr:hover span.extension,tr:focus span.extension{opacity:1;color:var(--color-text-maxcontrast)}table th,table th a{color:var(--color-text-maxcontrast)}table.multiselect th a{color:var(--color-main-text)}table th .columntitle{display:block;padding:15px;height:50px;box-sizing:border-box;-moz-box-sizing:border-box;vertical-align:middle}table th .columntitle:focus-visible{border-radius:2px}table.multiselect th .columntitle{display:inline-block;margin-right:-20px}table th .columntitle.name{padding-left:0;margin-left:44px}table.multiselect th .columntitle.name{margin-left:0}table th .sort-indicator{width:10px;height:8px;margin-left:5px;display:inline-block;vertical-align:text-bottom;opacity:.3}.sort-indicator.hidden,.multiselect .sort-indicator,table.multiselect th:hover .sort-indicator.hidden,table.multiselect th:focus .sort-indicator.hidden{visibility:hidden}.multiselect .sort,.multiselect .sort span{cursor:default}table th:hover .sort-indicator.hidden,table th:focus .sort-indicator.hidden{visibility:visible}table th,table td{border-bottom:1px solid var(--color-border);text-align:left;font-weight:normal}table td{padding:0 15px;font-style:normal;background-position:8px center;background-repeat:no-repeat}table th.column-name{position:relative;width:9999px;padding:0}.column-name-container{position:relative;height:50px}table th.column-selection{padding-top:2px}table th.column-size,table td.filesize{text-align:right}table th.column-mtime,table td.date,table th.column-last,table td.column-last{-moz-box-sizing:border-box;box-sizing:border-box;position:relative;min-width:130px}#app-content-recent,#app-content-favorites,#app-content-shareoverview,#app-content-sharingout,#app-content-sharingin,#app-content-sharinglinks,#app-content-deletedshares,#app-content-pendingshares{margin-top:22px}#app-content-recent thead,#app-content-favorites thead,#app-content-shareoverview thead,#app-content-sharingout thead,#app-content-sharingin thead,#app-content-sharinglinks thead,#app-content-deletedshares thead,#app-content-pendingshares thead{top:0}table.multiselect thead th{background-color:var(--color-main-background-translucent);font-weight:bold}#app-content.with-app-sidebar table.multiselect thead{margin-right:27%}table.multiselect .column-name{position:relative;width:9999px}table.multiselect .column-mtime>a{display:none}table td.selection,table th.selection,table td.fileaction{width:32px;text-align:center}table td.filename a.name,table td.filename p.name{display:flex;position:relative;-moz-box-sizing:border-box;box-sizing:border-box;height:50px;line-height:50px;padding:0}table td.filename .thumbnail-wrapper{width:0;min-width:50px;max-width:50px;height:50px}table td.filename .thumbnail-wrapper.icon-loading-small:after{z-index:10}table td.filename .thumbnail-wrapper.icon-loading-small .thumbnail{opacity:.2}table td.filename .thumbnail{display:inline-block;width:32px;height:32px;background-size:contain;background-position:center;background-repeat:no-repeat;margin-left:9px;margin-top:9px;border-radius:var(--border-radius);cursor:pointer;position:absolute;z-index:4}table td.filename p.name .thumbnail{cursor:default}table tr[data-has-preview=true] .thumbnail{border:1px solid var(--color-border)}table:not(.view-grid) td.filename input.filename{width:70% !important;margin-left:48px !important;cursor:text}table td.filename form{margin-top:-40px;position:relative;top:-6px}table td.filename a,table td.login,table td.logout,table td.download,table td.upload,table td.create,table td.delete{padding:3px 8px 8px 3px}table td.filename .nametext,.modified,.column-last>span:first-child{float:left;padding:15px 0}.modified,.column-last>span:first-child{position:relative;overflow:hidden;text-overflow:ellipsis;width:110px}table td.filename{max-width:0}table td.filename .nametext{width:0;flex-grow:1;display:flex;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;height:100%;z-index:10;padding:0 20px 0 0}table td.filename .system-tags{--min-size: 32px;display:flex;justify-content:center;align-items:center;flex:1 1 100%;min-width:calc(var(--min-size)*2);max-width:300px}table td.filename .system-tags .system-tags__tag{padding:5px 10px;border:1px solid;border-radius:var(--border-radius-pill);border-color:var(--color-border);color:var(--color-text-maxcontrast);height:var(--min-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:22px;text-align:center}table td.filename .system-tags .system-tags__tag--more{overflow:visible;text-overflow:initial}table td.filename .system-tags .system-tags__tag+.system-tags__tag{margin-left:5px}.hide-hidden-files .files-filestable .files-fileList tr.hidden-file,.hide-hidden-files .files-filestable .files-fileList tr.hidden-file.dragging{display:none !important}.files-fileList tr.animate-opacity{-webkit-transition:opacity 250ms;-moz-transition:opacity 250ms;-o-transition:opacity 250ms;transition:opacity 250ms}.files-fileList tr.dragging{opacity:.2}table td.filename .nametext .innernametext{text-overflow:ellipsis;overflow:hidden;position:relative;vertical-align:top}table td.filename .uploadtext{position:absolute;font-weight:normal;margin-left:50px;left:0;bottom:0;height:20px;padding:0 4px;padding-left:1px;font-size:11px;line-height:22px;color:var(--color-text-maxcontrast);text-overflow:ellipsis;white-space:nowrap}table td.selection{padding:0}.files-fileList tr td.selection>.selectCheckBox+label:before{opacity:.3;margin-right:0}.files-fileList tr:hover td.selection>.selectCheckBox+label:before,.files-fileList tr:focus td.selection>.selectCheckBox+label:before,.files-fileList tr td.selection>.selectCheckBox:checked+label:before,.files-fileList tr.selected td.selection>.selectCheckBox+label:before{opacity:1}.files-fileList tr.halfselected td.selection>.selectCheckBox+label:before{opacity:.5}.files-fileList tr td.selection>.selectCheckBox+label,.select-all+label{padding:16px}.files-fileList tr td.selection>.selectCheckBox:focus-visible+label,.select-all:focus-visible+label{background-color:var(--color-background-hover);border-radius:var(--border-radius-pill);outline:none !important;border:2px solid var(--color-primary) !important;padding:14px}.files-fileList tr td.selection>.selectCheckBox:focus-visible+label,.select-all:focus-visible+label{outline-offset:0px}.files-fileList tr td.filename{position:relative;width:100%;padding-left:0;padding-right:0;-webkit-transition:background-image 500ms;-moz-transition:background-image 500ms;-o-transition:background-image 500ms;transition:background-image 500ms}.files-fileList tr td.filename a.name label,.files-fileList tr td.filename p.name label{position:absolute;width:80%;height:50px}.files-fileList tr td.filename .favorite{display:inline-block;float:left}.files-fileList tr td.filename .favorite-mark{position:absolute;display:block;top:-6px;right:-6px;line-height:100%;text-align:center}#uploadsize-message,#delete-confirm{display:none}.fileactions{z-index:50}.busy .fileactions,.busy .action{visibility:hidden}.bubble,#app-navigation .app-navigation-entry-menu{min-width:100px}.files-fileList .icon-loading-small{opacity:1 !important;display:inline !important}.files-fileList .action.action-share-notification span,.files-fileList a.name{cursor:default !important}.files-fileList a.name.disabled *{cursor:default}.files-fileList a.name.disabled a,.files-fileList a.name.disabled a *{cursor:pointer}.files-fileList a.name.disabled:focus{background:none}a.action>img{height:16px;width:16px;vertical-align:text-bottom}a.action.action-editlocally img.icon{filter:var(--background-invert-if-dark)}.selectedActions{position:relative;display:inline-block;vertical-align:middle}.selectedActions.hidden{display:none}.selectedActions a{display:inline;line-height:50px;padding:16px 5px}.selectedActions a.hidden{display:none}.selectedActions a img{position:relative;vertical-align:text-bottom;margin-bottom:-1px}.selectedActions .actions-selected .icon-more{margin-top:-3px}.files-fileList td a a.action{display:inline;padding:17px 8px;line-height:50px;opacity:.3}.files-fileList td a a.action.action-share{padding:17px 14px}.files-fileList td a a.action.action-share.permanent:not(.shared-style) .icon-shared+span{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.files-fileList td a a.action.action-share .avatar{display:inline-block;vertical-align:middle}.files-fileList td a a.action.action-menu{padding-top:17px;padding-bottom:17px;padding-left:14px;padding-right:14px}.files-fileList td a a.action.no-permission:hover,.files-fileList td a a.action.no-permission:focus{opacity:.3}.files-fileList td a a.action.disabled:hover,.files-fileList td a a.action.disabled:focus,.files-fileList td a a.action.disabled img{opacity:.3}.files-fileList td a a.action.disabled.action-download{opacity:.7}.files-fileList td a a.action.disabled.action-download:hover,.files-fileList td a a.action.disabled.action-download:focus{opacity:.7}.files-fileList td a a.action:hover,.files-fileList td a a.action:focus{opacity:1}.files-fileList td a a.action:focus{background-color:var(--color-background-hover);border-radius:var(--border-radius-pill)}.files-fileList td a .fileActionsMenu a.action,.files-fileList td a a.action.action-share.shared-style{opacity:.7}.files-fileList td a .fileActionsMenu .action.permanent{opacity:1}.files-fileList .action.action-share.permanent.shared-style span:not(.icon){display:inline-block;max-width:70px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;margin-left:6px}.files-fileList .remoteAddress .userDomain{margin-left:0 !important}.files-fileList .favorite-mark.permanent{opacity:1}.files-fileList .fileActionsMenu a.action:hover,.files-fileList .fileActionsMenu a.action:focus,.files-fileList a.action.action-share.shared-style:hover,.files-fileList a.action.action-share.shared-style:focus{opacity:1}.files-fileList tr a.action.disabled{background:none}.selectedActions a.download.disabled,.files-fileList tr a.action.action-download.disabled{color:#000}.files-fileList tr:hover a.action.disabled:hover *{cursor:default}.summary{color:var(--color-text-maxcontrast);height:330px}.files-filestable .summary .filesummary{width:100%;padding-left:101px}#body-public .summary{height:180px}.summary:hover,.summary:focus,.summary,table tr.summary td{background-color:rgba(0,0,0,0)}.summary td{border-bottom:none;vertical-align:top;padding-top:20px}.summary td:first-child{padding:0}.hiddeninfo{white-space:pre-line}table.dragshadow{width:auto;z-index:2000}table.dragshadow td.filename{padding-left:60px;padding-right:16px;height:36px;max-width:unset}table.dragshadow td.size{padding-right:8px}.mask{z-index:50;position:absolute;top:0;left:0;right:0;bottom:0;background-color:var(--color-main-background);background-repeat:no-repeat no-repeat;background-position:50%;opacity:.7;transition:opacity 100ms;-moz-transition:opacity 100ms;-o-transition:opacity 100ms;-ms-transition:opacity 100ms;-webkit-transition:opacity 100ms}.mask.transparent{opacity:0}.newFileMenu{font-weight:300;top:100%;left:-48px !important;margin-top:4px;min-width:100px;z-index:1001}.newFileMenu::after{left:61px !important}.files-controls{box-sizing:border-box;position:-webkit-sticky;position:sticky;height:50px;padding:0;margin:0;background-color:var(--color-main-background-translucent);z-index:62;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;top:0;padding-left:50px}.files-controls .actions>div>.button,.files-controls .actions>div button,.files-controls .actions>.button,.files-controls .actions button{box-sizing:border-box;display:inline-block;display:flex;height:44px;width:44px;padding:9px;align-items:center;justify-content:center}.files-controls .actions>div .button.hidden,.files-controls .actions .button.hidden{display:none}.viewer-mode #app-navigation+#app-content .files-controls{left:0}.files-filestable .filename .action .icon,.files-filestable .selectedActions a .icon,.files-filestable .filename .favorite-mark .icon,.files-controls .actions .button .icon{display:inline-block;vertical-align:middle;background-size:16px 16px}.files-filestable .filename .favorite-mark .icon-star{background-image:none}.files-filestable .filename .favorite-mark .icon-starred{background-image:var(--icon-starred-yellow) !important}.files-filestable .filename .action .icon.hidden,.files-filestable .selectedActions a .icon.hidden,.files-controls .actions .button .icon.hidden{display:none}.files-filestable .filename .action .icon.loading,.files-filestable .selectedActions a .icon.loading,.files-controls .actions .button .icon.loading{width:15px;height:15px}.app-files .actions .button.new{position:relative}.breadcrumb{align-items:center}.breadcrumb .icon-home{border-radius:var(--border-radius)}.breadcrumb .canDrop>a,.files-filestable tbody tr.canDrop{background-color:rgba(0,130,201,.3)}.dropzone-background{background-color:rgba(0,130,201,.3)}.dropzone-background :hover{box-shadow:none !important}.notCreatable{margin-left:12px;margin-right:44px;margin-top:12px;color:var(--color-main-text);overflow:auto;min-width:160px;height:54px}.notCreatable:not(.hidden){display:flex}.notCreatable .icon-alert-outline{top:-15px;position:relative;margin-right:4px}.quota-navigation-item{margin:0 !important;border:none;border-radius:0;background-color:rgba(0,0,0,0);z-index:1;height:44px;display:flex !important;flex-direction:column}.quota-navigation-item__text{height:30px}.quota-navigation-item[href="#"],.quota-navigation-item[href="#"] *{cursor:default !important}.quota-navigation-item__container{height:5px;border-radius:var(--border-radius)}.files-filestable.view-grid:not(.hidden) thead tr{display:block;border-bottom:1px solid var(--color-border);background-color:var(--color-main-background-translucent)}.files-filestable.view-grid:not(.hidden) thead tr th{width:auto;border:none}.files-filestable.view-grid:not(.hidden) tbody{display:grid;grid-template-columns:repeat(auto-fill, 160px);justify-content:space-around;row-gap:15px;margin:15px 0}.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden){display:block;position:relative;height:190px;border-radius:var(--border-radius)}.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted{background-color:rgba(0,0,0,0)}.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .fileactions{background-color:var(--color-background-hover)}.files-filestable.view-grid:not(.hidden) tbody td{display:inline;border-bottom:none}.files-filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper{min-width:0;max-width:none;position:absolute;width:160px;height:160px;padding:14px;top:0;left:0;z-index:-1}.files-filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper .thumbnail{width:calc(100% - 2 * 14px);height:calc(100% - 2 * 14px);background-size:contain;margin:0;border-radius:var(--border-radius);background-repeat:no-repeat;background-position:center}.files-filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper .thumbnail .favorite-mark{padding:14px;left:auto;top:-22px;right:-22px}.files-filestable.view-grid:not(.hidden) tbody td.filename .uploadtext{width:100%;margin:0;top:0;bottom:auto;height:28px;padding-top:4px;padding-left:28px}.files-filestable.view-grid:not(.hidden) tbody td.filename .name{height:100%;border-radius:var(--border-radius);overflow:hidden;cursor:pointer !important}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext{display:flex;height:44px;margin-top:146px;text-align:center;line-height:44px;padding:0}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .innernametext{display:inline-block;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext:before{content:"";flex:1;min-width:14px}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext:after{content:"";flex:1;min-width:44px}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .extension{display:none}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .system-tags{display:none}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions{height:initial;margin-top:146px;display:flex;align-items:center;position:absolute;right:0}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions .action{padding:14px;width:44px;height:44px;display:flex;align-items:center;justify-content:center}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions .action:not(.action-menu){display:none}.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-share-container.hidden{display:block !important}.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-share-container.hidden .action-share img{padding:6px;border-radius:50%}.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-restore-container.hidden{display:block !important}.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-comment-container.hidden{display:block !important}.files-filestable.view-grid:not(.hidden) tbody td.filename form{padding:3px 14px;border-radius:var(--border-radius)}.files-filestable.view-grid:not(.hidden) tbody td.filename form input.filename{width:100%;margin-left:0;cursor:text}.files-filestable.view-grid:not(.hidden) tbody td.filesize,.files-filestable.view-grid:not(.hidden) tbody td.date{display:none}.files-filestable.view-grid:not(.hidden) tbody td.selection,.files-filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark{position:absolute;top:-8px;left:-8px;display:flex;width:44px;height:44px;z-index:10;background:rgba(0,0,0,0)}.files-filestable.view-grid:not(.hidden) tbody td.selection label,.files-filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark label{width:44px;height:44px;display:inline-flex;padding:14px}.files-filestable.view-grid:not(.hidden) tbody td.selection label::before,.files-filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark label::before{margin:0;width:14px;height:14px}.files-filestable.view-grid:not(.hidden) tbody td .popovermenu{left:0;width:150px;margin:0 5px}.files-filestable.view-grid:not(.hidden) tbody td .popovermenu .menuitem span:not(.icon){overflow:hidden;text-overflow:ellipsis}.files-filestable.view-grid:not(.hidden) tr.hidden-file td.filename .name .nametext .extension{display:block}.files-filestable.view-grid:not(.hidden) tfoot{display:grid}.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden){display:inline-block;margin:0 auto;height:418px}.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td{padding-top:50px}.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td:first-child,.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td.date{display:none}.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td .info{margin-left:0}#view-toggle{background-color:var(--color-main-background-translucent);border:none;margin:0;padding:22px;opacity:.5;float:right;right:var(--default-grid-baseline);top:var(--default-grid-baseline);z-index:100;position:sticky}#view-toggle:hover,#view-toggle:focus,#showgridview:focus+#view-toggle{opacity:1}#view-toggle:focus-visible,#showgridview:focus-visible+#view-toggle{box-shadow:inset 0 0 0 2px var(--color-primary) !important}#showgridview{position:fixed;top:0}#body-public .files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .innernametext{max-width:124px}#body-public .files-filestable.view-grid:not(.hidden) tbody td .popovermenu{left:-80px}#body-public #view-toggle{position:absolute;right:0;top:0}#gallery-button{display:none}#tag_multiple_files_container{overflow:hidden;background-color:#fff;border-radius:3px;position:relative;display:flex;flex-wrap:wrap;margin-bottom:10px}#tag_multiple_files_container h3{width:100%;padding:0 18px}#tag_multiple_files_container .systemTagsInputFieldContainer{flex:1 1 80%;min-width:0;margin:0 12px}#upload{box-sizing:border-box;height:36px;width:39px;padding:0 !important;margin-left:3px;overflow:hidden;vertical-align:top;position:relative;z-index:-20}#upload .icon-upload{position:relative;display:block;width:100%;height:44px;width:44px;margin:-5px -3px;cursor:pointer;z-index:10;opacity:.65}.file_upload_target{display:none}.file_upload_form{display:inline;float:left;margin:0;padding:0;cursor:pointer;overflow:visible}.uploadprogresswrapper,.uploadprogresswrapper *{box-sizing:border-box}.uploadprogresswrapper{display:inline-block;vertical-align:top;height:36px;margin-left:3px}.uploadprogresswrapper>input[type=button]{height:36px;margin-left:3px}#uploadprogressbar{border-color:var(--color-border-dark);border-radius:var(--border-radius-pill) 0 0 var(--border-radius-pill);border-right:0;position:relative;float:left;width:200px;height:44px;display:inline-block;text-align:center}#uploadprogressbar .ui-progressbar-value{margin-top:.1em}#uploadprogressbar .ui-progressbar-value.ui-widget-header.ui-corner-left{height:calc(100% + 2px);top:-1px;left:-1px;position:absolute;overflow:hidden;background-color:var(--color-primary)}#uploadprogressbar .label{top:8px;opacity:1;overflow:hidden;white-space:nowrap;font-weight:normal}#uploadprogressbar .label.inner{color:var(--color-primary-text);position:absolute;display:block;width:200px}#uploadprogressbar .label.outer{position:relative;color:var(--color-main-text)}#uploadprogressbar .desktop{display:block}#uploadprogressbar .mobile{display:none}#uploadprogressbar+.stop{border-top-left-radius:0;border-bottom-left-radius:0}.oc-dialog .fileexists{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-bottom:30px}.oc-dialog .fileexists .conflict .filename,.oc-dialog .fileexists .conflict .mtime,.oc-dialog .fileexists .conflict .size{-webkit-touch-callout:initial;-webkit-user-select:initial;-khtml-user-select:initial;-moz-user-select:initial;-ms-user-select:initial;user-select:initial}.oc-dialog .fileexists .conflict .message{color:#e9322d}.oc-dialog .fileexists table{width:100%}.oc-dialog .fileexists th{padding-left:0;padding-right:0}.oc-dialog .fileexists th input[type=checkbox]{margin-right:3px}.oc-dialog .fileexists th:first-child{width:225px}.oc-dialog .fileexists th label{font-weight:normal;color:var(--color-main-text)}.oc-dialog .fileexists th .count{margin-left:3px}.oc-dialog .fileexists .conflicts .template{display:none}.oc-dialog .fileexists .conflict{width:100%;height:85px}.oc-dialog .fileexists .conflict .filename{color:#777;word-break:break-all;clear:left}.oc-dialog .fileexists .icon{width:64px;height:64px;margin:0px 5px 5px 5px;background-repeat:no-repeat;background-size:64px 64px;float:left}.oc-dialog .fileexists .original,.oc-dialog .fileexists .replacement{float:left;width:50%}.oc-dialog .fileexists .conflicts{overflow-y:auto;max-height:225px}.oc-dialog .fileexists .conflict input[type=checkbox]{float:left}.oc-dialog .fileexists #allfileslabel{float:right}.oc-dialog .fileexists #allfiles{vertical-align:bottom;position:relative;top:-3px}.oc-dialog .fileexists #allfiles+span{vertical-align:bottom}.oc-dialog .oc-dialog-buttonrow{width:100%;text-align:right}.oc-dialog .oc-dialog-buttonrow .cancel{float:left}.highlightUploaded{-webkit-animation:highlightAnimation 2s 1;-moz-animation:highlightAnimation 2s 1;-o-animation:highlightAnimation 2s 1;animation:highlightAnimation 2s 1}@-webkit-keyframes highlightAnimation{0%{background-color:#ffff8c}100%{background-color:rgba(0,0,0,0)}}@-moz-keyframes highlightAnimation{0%{background-color:#ffff8c}100%{background-color:rgba(0,0,0,0)}}@-o-keyframes highlightAnimation{0%{background-color:#ffff8c}100%{background-color:rgba(0,0,0,0)}}@keyframes highlightAnimation{0%{background-color:#ffff8c}100%{background-color:rgba(0,0,0,0)}}@media only screen and (max-width: 988px)and (min-width: 1025px),only screen and (max-width: 688px){.app-files #app-content.dir-drop{background-color:#fff !important}table th.column-size,table td.filesize,table th.column-mtime,table td.date{display:none}table td{padding:0}table.multiselect thead{padding-left:0}.fileList a.action.action-menu img{padding-left:0}.fileList .fileActionsMenu{margin-right:6px}.fileList a.action-share span:not(.icon):not(.avatar){position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}td.filename a.name .system-tags{display:none}#uploadprogressbar,#uploadprogressbar .label.inner{width:50px}#uploadprogressbar .desktop{display:none !important}#uploadprogressbar .mobile{display:block !important}table.dragshadow{z-index:1000}}@media only screen and (max-width: 480px){table th .selectedActions{float:right}table th .selectedActions>a span:not(.icon){display:none}table th .selectedActions a{padding:17px 14px}table.multiselect th .columntitle.name{margin-left:0}}.app-sidebar .detailFileInfoContainer{min-height:50px;padding:15px}.app-sidebar .detailFileInfoContainer>div{clear:both}.app-sidebar .mainFileInfoView .icon{display:inline-block;background-size:16px 16px}.app-sidebar .mainFileInfoView .permalink{padding:6px 10px;vertical-align:top;opacity:.6}.app-sidebar .mainFileInfoView .permalink:hover,.app-sidebar .mainFileInfoView .permalink:focus{opacity:1}.app-sidebar .mainFileInfoView .permalink-field>input{clear:both;width:90%}.app-sidebar .thumbnailContainer.large{margin-left:-15px;margin-right:-35px;margin-top:-15px}.app-sidebar .thumbnailContainer.large.portrait{margin:0}.app-sidebar .large .thumbnail{width:100%;display:block;background-repeat:no-repeat;background-position:center;background-size:100%;float:none;margin:0;height:auto}.app-sidebar .large .thumbnail .stretcher{content:"";display:block;padding-bottom:56.25%}.app-sidebar .large.portrait .thumbnail{background-position:50% top}.app-sidebar .large.portrait .thumbnail{background-size:contain}.app-sidebar .large.text{overflow-y:scroll;overflow-x:hidden;padding-top:14px;font-size:80%;margin-left:0}.app-sidebar .thumbnail{width:100%;min-height:75px;display:inline-block;float:left;margin-right:10px;background-size:contain;background-repeat:no-repeat}.app-sidebar .ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.app-sidebar .fileName{font-size:16px;padding-top:13px;padding-bottom:3px}.app-sidebar .fileName h3{width:calc(100% - 42px);display:inline-block;padding:5px 0;margin:-5px 0}.app-sidebar .file-details{color:var(--color-text-maxcontrast)}.app-sidebar .action-favorite{vertical-align:sub;padding:10px;margin:-10px}.app-sidebar .action-favorite>span{opacity:.7 !important}.app-sidebar .detailList{float:left}.app-sidebar .close{position:absolute;top:0;right:0;opacity:.5;z-index:1;width:44px;height:44px}.whatsNewPopover{bottom:35px !important;left:15px !important;width:270px;z-index:700}.whatsNewPopover p{width:auto !important}.whatsNewPopover .caption{font-weight:bold;cursor:auto !important}.whatsNewPopover .icon-close{position:absolute;right:0}.whatsNewPopover::after{content:none}/*# sourceMappingURL=merged.css.map */ diff --git a/apps/files/css/merged.css.map b/apps/files/css/merged.css.map index 077ccbd7b27..5b260ebdcd4 100644 --- a/apps/files/css/merged.css.map +++ b/apps/files/css/merged.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["files.scss","../../../core/css/functions.scss","upload.scss","mobile.scss","detailsView.scss","../../../core/css/whatsnew.scss"],"names":[],"mappings":"AAWA,SAEC,YACA,YACA,qBACA,WAED,oEACA,8BACA,kDAEC,+CAED,0BACC,4CAGD,mBACC,kBACA,aACA,SACA,4CACC,iBAIF,gBACC,aAGD,OACC,iBACA,YACA,aACA,aACA,mBAGD,6EAGC,yBACA,gCAID,kBACC,kBACA,WACA,gBACA,cACA,sBAEA,6CACC,aAGD,wBACC,wBACA,gBAEA,SAEA,WACA,cACA,0DAMD,wBACC,cACA,WAEA,mGAEC,8CAEA,6KACC,oCAKF,8DACC,oBAKH,yBACC,aAID,uCACC,cACA,WAGD,wBAGC,yBAGD,6FACC,uDAGD,iCACC,yDAGD,kFACC,0CAGD,4EACC,uDAID,gBCtEC,yCDyED,iBCzEC,yCD4ED,oBC5EC,0CD+ED,yFC/EC,wCDqFD,uBCrFC,yCDwFD,2BCxFC,2CD2FD,mBC3FC,yCD8FD,2BC9FC,4CDiGD,wBCjGC,0CDoGD,4BCpGC,4CDwGD,4CACC,WAGD,iCACC,WACA,YACA,eACA,SACA,eAGD,wCACC,aAGD,0CACC,WAGD,2BACC,YAED,4KAKC,+CAED,wMAKC,4CAGD,qCAEA,yDACC,oCAED,kCACC,iCACA,8BACA,4BACA,yBACA,mBAED,wGAIC,UACA,oCAGD,oBACC,oCAED,uBACC,6BAED,sBACC,cACA,aACA,YACA,sBACA,2BACA,sBACA,oCACC,kBAGF,kCACC,qBACA,mBAED,2BACC,eACA,iBAGD,uCACC,cAGD,yBACC,WACA,WACA,gBACA,qBACA,2BACA,WAED,wJAIC,kBAED,2CACC,eAED,4EAEC,mBAGD,kBAEC,4CACA,gBACA,mBAED,SACC,eACA,kBACA,+BACA,4BAED,qBACC,kBACA,aACA,UAGD,uBACC,kBACA,YAGD,0BACC,gBAED,uCACC,iBAED,8EAEC,2BACA,sBACA,kBAEA,gBAGD,qMAQC,gBACA,qPACC,MAIF,2BACC,0DACA,iBAGD,sDACC,iBAGD,+BACC,kBACA,aAED,kCACC,aAGD,0DAGC,WACA,kBAED,kDAEC,aACA,kBACA,2BACA,sBACA,YACA,iBACA,UAED,qCAEC,QACA,eACA,eACA,YAGA,8DACC,WAED,mEACC,WAGF,6BACC,qBACA,WACA,YACA,wBACA,2BACA,4BACA,gBACA,eACA,mCACA,eACA,kBACA,UAED,oCACC,eAID,2CACC,qCAGD,iDACC,qBACA,4BACA,YAED,uBACC,iBACA,kBACA,SAGD,6IACA,8FAEA,wCACC,kBACA,gBACA,uBACA,YAKA,kBACC,YACA,4BACC,QACA,YACA,aACA,gBACA,mBACA,uBACA,YACA,WACA,mBAKH,iJAEC,wBAGD,mCACC,iCACA,8BACA,4BACA,yBAED,4BACC,WAGD,2CACC,uBACA,gBACA,kBACA,mBAKD,8BACC,kBACA,mBAEA,iBACA,OACA,SACA,YACA,cAEA,iBACA,eAEA,iBACA,oCACA,uBACA,mBAGD,mBACC,UAID,6DACC,WACA,eAID,iRAIC,UAID,0EACC,WAMA,wEACC,aAGD,oGACC,+CACA,wCACA,wBACA,iDACA,aAIF,oGAEC,mBAGD,+BACC,kBACA,WACA,eACA,gBACA,wJAGD,wFAEC,kBACA,UACA,YAGD,yCACC,qBACA,WAED,8CACC,kBACA,cACA,SACA,WACA,iBACA,kBAGD,iDAGA,aACC,WAGD,iCACC,kBAID,mDAEC,gBAID,oCACC,qBACA,0BAGD,8EACC,0BAOA,kCACC,eAGD,sEACC,eAGD,sCACC,gBAIF,aACC,YACA,WACA,2BAGD,qCACC,wCAID,iBACI,kBACA,qBACA,sBAEJ,wBACI,aAEJ,mBACC,eACA,iBACA,iBAGD,0BACC,aAED,uBACC,kBACA,2BACA,mBAGD,8CACC,gBAIA,8BACC,eACA,iBACA,iBACA,WACA,2CACC,kBACA,0FAGC,kBACA,cACA,SACA,UACA,WACA,gBAED,mDACC,qBACA,sBAGF,0CACC,iBACA,oBACA,kBACA,mBAGA,oGACC,WAID,qIAEC,WAED,uDACC,WACA,0HACC,WAIH,wEACC,UAED,oCACC,+CACA,wCAGF,uGACC,WAED,wDACC,UAKF,4EACC,qBACA,eACA,gBACA,uBACA,sBACA,gBAGD,2CACC,yBAGD,yCACC,UAGD,kNAKC,UAGD,qCACC,gBAGD,0FAEC,WAGD,mDACC,eAGD,SACC,oCAGA,aAED,wCACC,WAEA,mBAKD,sBACC,aAED,2DAIC,+BAED,YACC,mBACA,mBACA,iBAED,wBACC,UAED,YACC,qBAGD,iBACC,WACA,aAED,6BACC,kBACA,mBACA,YAGA,gBAED,yBACC,kBAED,MACC,WACA,kBACA,MACA,OACA,QACA,SACA,8CACA,sCACA,wBACA,WACA,yBACA,8BACA,4BACA,6BACA,iCAED,kBACC,UAGD,aACC,gBACA,SACA,sBACA,eACA,gBACA,aAGA,oBACC,qBAKF,gBACC,sBACA,wBACA,gBACA,YACA,UACA,SACA,0DACA,WACA,yBACA,sBACA,qBACA,iBACA,aACA,MACA,kBAKE,0IACC,sBACA,qBACA,aACA,YACA,WACA,YACA,mBACA,uBAED,oFACC,aAQJ,0DACC,OAGD,6KAIC,qBACA,sBACA,0BAMA,sDACC,sBAED,yDACC,uDAIF,iJAGC,aAGD,oJAGC,WACA,YAGD,gCACC,kBAGD,YACC,mBAEA,uBACC,mCAIF,0DAEC,oCAED,qBACC,oCACA,4BACC,2BAIF,cACC,iBACA,kBACA,gBACA,6BACA,cACA,gBACA,YAEA,2BACC,aAGD,kCACC,UACA,kBACA,iBAIF,uBACC,oBACA,YACA,gBACA,+BACA,UACA,YACA,wBACA,sBAEA,6BACC,YAKA,oEACC,0BAIF,kCACC,WACA,mCAWA,kDACC,cACA,4CACA,0DACA,qDACC,WACA,YAMH,+CACC,aACA,+CACA,6BACA,aACA,cAGA,+DACC,cACA,kBACA,aACA,mCAEA,0fAKC,+BAEA,oxDAGC,+CAKH,kDACC,eACA,mBAGC,8EACC,YACA,eACA,kBACA,MAvDQ,MAwDR,OAxDQ,MAyDR,QAxDO,KAyDP,MACA,OACA,WAEA,yFACC,4BACA,6BACA,wBACA,SACA,mCACA,4BACA,2BAKA,wGACC,QA1EK,KA2EL,UACA,UACA,YAKH,uEACC,WACA,SACA,MACA,YAEA,YACA,gBAEA,kBAGD,iEACC,YACA,mCAIA,gBAKA,0BAEA,2EACC,aACA,YACA,iBACA,kBACA,iBACA,UAEA,0FACC,qBACA,kBACA,gBACA,uBACA,mBAED,kFACC,WACA,OACA,eAED,iFACC,WACA,OACA,eAID,sFACC,aAIF,8EACC,eACA,iBACA,aACA,mBACA,kBACA,QAEA,sFACC,QApJK,KAqJL,WACA,YACA,aACA,mBACA,uBAGA,wGACC,aAQH,2GACC,yBAEA,6HACC,YACA,kBAIF,6GACC,yBAGD,6GACC,yBAIF,gEACC,iBACA,mCAEA,+EACC,WACA,cACA,YAMH,kHAEC,aAGD,sIAEC,kBACA,SACA,UACA,aACA,WACA,YACA,WACA,yBAEA,kJACC,WACA,YACA,oBACA,QAxNO,KAyNP,kKACC,SACA,MA3NM,KA4NN,OA5NM,KAkOT,+DACC,OACA,YACA,aAGA,yFACC,gBACA,uBAMJ,+FACC,cAID,+CACC,aAEA,qEACC,qBACA,cAEA,aAEA,wEACC,iBAEA,iKAEC,aAGD,8EACI,cAQR,aACC,0DACA,YACA,SACA,aACA,WACA,YACA,mCACA,iCACA,YACA,gBAEA,uEAGC,UAGD,oEAEC,2DASF,cACC,eACA,MAOC,uGACC,gBAID,4EACC,WAKF,0BACC,kBACA,QACA,MAKF,gBACC,aAGD,8BACC,gBACA,sBACA,kBACA,kBACA,aACA,eACA,mBAEA,iCACC,WACA,eAGD,6DACC,aACA,YACA,cE3yCF,QACC,sBACA,YACA,WACA,qBACA,gBACA,gBACA,mBACA,kBACA,YAED,qBACC,kBACA,cACA,WACA,YACA,WACA,iBACA,eACA,WACA,YAED,iCACA,+FAEA,gDACC,sBAGD,uBACC,qBACA,mBACA,YACA,gBAED,0CACC,YACA,gBAED,mBACC,sCACA,sEACA,eACA,kBACA,WACA,YACA,YACA,qBACA,kBAEA,yCACC,gBAGF,yEACC,wBACA,SACA,UACA,kBACA,gBACA,sCAED,0BACC,QACA,UACA,gBACA,mBACA,mBAED,gCACC,gCACA,kBACA,cACA,YAED,gCACC,kBACA,6BAED,4BACC,cAED,2BACC,aAGD,yBACC,yBACA,4BAGD,uBACC,2BACA,yBACA,wBACA,sBACA,qBACA,iBACA,mBAGD,0HAGC,8BACA,4BACA,2BACA,yBACA,wBACA,oBAED,0CACC,cAED,6BACC,WAED,0BACC,eACA,gBAED,+CACC,iBAED,sCACC,YAED,gCACC,mBACA,6BAED,iCACC,gBAED,4CACC,aAED,iCACC,WACA,YAED,2CACC,WACA,qBACA,WAED,6BACC,WACA,YACA,uBACA,4BACA,0BACA,WAGD,qEAEC,WACA,UAED,kCACC,gBACA,iBAED,sDACC,WAED,sCACC,YAED,iCACC,sBACA,kBACA,SAED,sCACC,sBAGD,gCACC,WACA,iBAEA,wCACC,WAIF,mBACC,0CACA,uCACA,qCACA,kCAGD,sCACE,4BACA,qCAEF,mCACE,4BACA,qCAEF,iCACE,4BACA,qCAEF,8BACE,4BACA,qCC3MF,oGAEA,iCACC,iCAGD,2EAIC,aAID,SACC,UAID,wBACC,eAGD,mCACC,eAGD,2BACC,iBAID,sDACC,kBACA,cACA,SACA,UACA,WACA,gBAKD,mDACC,WAGD,4BACC,wBAED,2BACC,yBAID,iBACC,cAID,0CAEC,0BACC,YAED,4CACC,aAID,4BACC,kBAID,uCACC,eClFF,sCACC,gBACA,aAGD,0CACC,WAID,qCACC,qBACA,0BAGD,0CACC,iBACA,mBACA,WAEA,gGAEC,UAGF,sDACC,WACA,UAGD,uCACC,kBACA,mBACA,iBAGD,gDACC,SAGD,+BACC,WACA,cACA,4BACA,2BACA,qBACA,WACA,SACA,YAGD,0CACC,WACA,cACA,sBAGD,wCACC,4BAGD,wCACC,wBAGD,yBACC,kBACA,kBACA,iBACA,cACA,cAGD,wBACC,WACA,gBACA,qBACA,WACA,kBACA,wBACA,4BAGD,uBACC,mBACA,uBACA,gBAGD,uBACC,eACA,iBACA,mBAGD,0BACC,wBACA,qBACA,cACA,cAGD,2BACC,oCAGD,8BACC,mBACA,aACA,aAGD,mCACC,sBAGD,yBACC,WAGD,oBACC,kBACA,MACA,QACA,WACA,UACA,WACA,YCxHD,iBACE,uBACA,qBACA,YACA,YAGF,mBACE,sBAGF,0BACE,iBACA,uBAGF,6BACE,kBACA,QAGF,wBACE","file":"merged.css"}
\ No newline at end of file +{"version":3,"sourceRoot":"","sources":["files.scss","../../../core/css/functions.scss","upload.scss","mobile.scss","detailsView.scss","../../../core/css/whatsnew.scss"],"names":[],"mappings":"AAWA,SAEC,YACA,YACA,qBACA,WAED,oEACA,8BACA,kDAEC,+CAED,0BACC,4CAGD,mBACC,kBACA,aACA,SACA,4CACC,iBAIF,gBACC,aAGD,OACC,iBACA,YACA,aACA,aACA,mBAGD,6EAGC,yBACA,gCAID,kBACC,kBACA,WACA,gBACA,cACA,sBAEA,6CACC,aAGD,wBACC,wBACA,gBAEA,SAEA,WACA,cACA,0DAMD,wBACC,cACA,WAEA,mGAEC,8CAEA,6KACC,oCAKF,8DACC,oBAKH,yBACC,aAID,uCACC,cACA,WAGD,wBAGC,yBAGD,6FACC,uDAGD,iCACC,yDAGD,kFACC,0CAGD,4EACC,uDAID,gBCtEC,yCDyED,iBCzEC,yCD4ED,oBC5EC,0CD+ED,yFC/EC,wCDqFD,uBCrFC,yCDwFD,2BCxFC,2CD2FD,mBC3FC,yCD8FD,2BC9FC,4CDiGD,wBCjGC,0CDoGD,4BCpGC,4CDwGD,4CACC,WAGD,iCACC,WACA,YACA,eACA,SACA,eAGD,wCACC,aAGD,0CACC,WAGD,2BACC,YAED,4KAKC,+CAED,wMAKC,4CAGD,qCAEA,yDACC,oCAED,kCACC,iCACA,8BACA,4BACA,yBACA,mBAED,wGAIC,UACA,oCAGD,oBACC,oCAED,uBACC,6BAED,sBACC,cACA,aACA,YACA,sBACA,2BACA,sBACA,oCACC,kBAGF,kCACC,qBACA,mBAED,2BACC,eACA,iBAGD,uCACC,cAGD,yBACC,WACA,WACA,gBACA,qBACA,2BACA,WAED,wJAIC,kBAED,2CACC,eAED,4EAEC,mBAGD,kBAEC,4CACA,gBACA,mBAED,SACC,eACA,kBACA,+BACA,4BAED,qBACC,kBACA,aACA,UAGD,uBACC,kBACA,YAGD,0BACC,gBAED,uCACC,iBAED,8EAEC,2BACA,sBACA,kBAEA,gBAGD,qMAQC,gBACA,qPACC,MAIF,2BACC,0DACA,iBAGD,sDACC,iBAGD,+BACC,kBACA,aAED,kCACC,aAGD,0DAGC,WACA,kBAED,kDAEC,aACA,kBACA,2BACA,sBACA,YACA,iBACA,UAED,qCAEC,QACA,eACA,eACA,YAGA,8DACC,WAED,mEACC,WAGF,6BACC,qBACA,WACA,YACA,wBACA,2BACA,4BACA,gBACA,eACA,mCACA,eACA,kBACA,UAED,oCACC,eAID,2CACC,qCAGD,iDACC,qBACA,4BACA,YAED,uBACC,iBACA,kBACA,SAGD,6IACA,8FAEA,wCACC,kBACA,gBACA,uBACA,YAKA,kBACC,YACA,4BACC,QACA,YACA,aACA,gBACA,mBACA,uBACA,YACA,WACA,mBAID,+BACC,iBACA,aACA,uBACA,mBACA,cACA,kCACA,gBAEA,iDACC,iBACA,iBACA,wCACA,iCACA,oCACA,uBACA,mBACA,gBACA,uBACA,iBACA,kBAEA,uDACC,iBACA,sBAID,mEACC,gBAOL,iJAEC,wBAGD,mCACC,iCACA,8BACA,4BACA,yBAED,4BACC,WAGD,2CACC,uBACA,gBACA,kBACA,mBAKD,8BACC,kBACA,mBAEA,iBACA,OACA,SACA,YACA,cAEA,iBACA,eAEA,iBACA,oCACA,uBACA,mBAGD,mBACC,UAID,6DACC,WACA,eAID,iRAIC,UAID,0EACC,WAMA,wEACC,aAGD,oGACC,+CACA,wCACA,wBACA,iDACA,aAIF,oGAEC,mBAGD,+BACC,kBACA,WACA,eACA,gBACA,wJAGD,wFAEC,kBACA,UACA,YAGD,yCACC,qBACA,WAED,8CACC,kBACA,cACA,SACA,WACA,iBACA,kBAGD,iDAGA,aACC,WAGD,iCACC,kBAID,mDAEC,gBAID,oCACC,qBACA,0BAGD,8EACC,0BAOA,kCACC,eAGD,sEACC,eAGD,sCACC,gBAIF,aACC,YACA,WACA,2BAGD,qCACC,wCAID,iBACI,kBACA,qBACA,sBAEJ,wBACI,aAEJ,mBACC,eACA,iBACA,iBAGD,0BACC,aAED,uBACC,kBACA,2BACA,mBAGD,8CACC,gBAIA,8BACC,eACA,iBACA,iBACA,WACA,2CACC,kBACA,0FAGC,kBACA,cACA,SACA,UACA,WACA,gBAED,mDACC,qBACA,sBAGF,0CACC,iBACA,oBACA,kBACA,mBAGA,oGACC,WAID,qIAEC,WAED,uDACC,WACA,0HACC,WAIH,wEACC,UAED,oCACC,+CACA,wCAGF,uGACC,WAED,wDACC,UAKF,4EACC,qBACA,eACA,gBACA,uBACA,sBACA,gBAGD,2CACC,yBAGD,yCACC,UAGD,kNAKC,UAGD,qCACC,gBAGD,0FAEC,WAGD,mDACC,eAGD,SACC,oCAGA,aAED,wCACC,WAEA,mBAKD,sBACC,aAED,2DAIC,+BAED,YACC,mBACA,mBACA,iBAED,wBACC,UAED,YACC,qBAGD,iBACC,WACA,aAED,6BACC,kBACA,mBACA,YAGA,gBAED,yBACC,kBAED,MACC,WACA,kBACA,MACA,OACA,QACA,SACA,8CACA,sCACA,wBACA,WACA,yBACA,8BACA,4BACA,6BACA,iCAED,kBACC,UAGD,aACC,gBACA,SACA,sBACA,eACA,gBACA,aAGA,oBACC,qBAKF,gBACC,sBACA,wBACA,gBACA,YACA,UACA,SACA,0DACA,WACA,yBACA,sBACA,qBACA,iBACA,aACA,MACA,kBAKE,0IACC,sBACA,qBACA,aACA,YACA,WACA,YACA,mBACA,uBAED,oFACC,aAQJ,0DACC,OAGD,6KAIC,qBACA,sBACA,0BAMA,sDACC,sBAED,yDACC,uDAIF,iJAGC,aAGD,oJAGC,WACA,YAGD,gCACC,kBAGD,YACC,mBAEA,uBACC,mCAIF,0DAEC,oCAED,qBACC,oCACA,4BACC,2BAIF,cACC,iBACA,kBACA,gBACA,6BACA,cACA,gBACA,YAEA,2BACC,aAGD,kCACC,UACA,kBACA,iBAIF,uBACC,oBACA,YACA,gBACA,+BACA,UACA,YACA,wBACA,sBAEA,6BACC,YAKA,oEACC,0BAIF,kCACC,WACA,mCAWA,kDACC,cACA,4CACA,0DACA,qDACC,WACA,YAMH,+CACC,aACA,+CACA,6BACA,aACA,cAGA,+DACC,cACA,kBACA,aACA,mCAEA,0fAKC,+BAEA,oxDAGC,+CAKH,kDACC,eACA,mBAGC,8EACC,YACA,eACA,kBACA,MAvDQ,MAwDR,OAxDQ,MAyDR,QAxDO,KAyDP,MACA,OACA,WAEA,yFACC,4BACA,6BACA,wBACA,SACA,mCACA,4BACA,2BAKA,wGACC,QA1EK,KA2EL,UACA,UACA,YAKH,uEACC,WACA,SACA,MACA,YAEA,YACA,gBAEA,kBAGD,iEACC,YACA,mCAIA,gBAKA,0BAEA,2EACC,aACA,YACA,iBACA,kBACA,iBACA,UAEA,0FACC,qBACA,kBACA,gBACA,uBACA,mBAED,kFACC,WACA,OACA,eAED,iFACC,WACA,OACA,eAID,sFACC,aAKF,8EACC,aAGD,8EACC,eACA,iBACA,aACA,mBACA,kBACA,QAEA,sFACC,QAzJK,KA0JL,WACA,YACA,aACA,mBACA,uBAGA,wGACC,aAQH,2GACC,yBAEA,6HACC,YACA,kBAIF,6GACC,yBAGD,6GACC,yBAIF,gEACC,iBACA,mCAEA,+EACC,WACA,cACA,YAMH,kHAEC,aAGD,sIAEC,kBACA,SACA,UACA,aACA,WACA,YACA,WACA,yBAEA,kJACC,WACA,YACA,oBACA,QA7NO,KA8NP,kKACC,SACA,MAhOM,KAiON,OAjOM,KAuOT,+DACC,OACA,YACA,aAGA,yFACC,gBACA,uBAMJ,+FACC,cAID,+CACC,aAEA,qEACC,qBACA,cAEA,aAEA,wEACC,iBAEA,iKAEC,aAGD,8EACI,cAQR,aACC,0DACA,YACA,SACA,aACA,WACA,YACA,mCACA,iCACA,YACA,gBAEA,uEAGC,UAGD,oEAEC,2DASF,cACC,eACA,MAOC,uGACC,gBAID,4EACC,WAKF,0BACC,kBACA,QACA,MAKF,gBACC,aAGD,8BACC,gBACA,sBACA,kBACA,kBACA,aACA,eACA,mBAEA,iCACC,WACA,eAGD,6DACC,aACA,YACA,cEn1CF,QACC,sBACA,YACA,WACA,qBACA,gBACA,gBACA,mBACA,kBACA,YAED,qBACC,kBACA,cACA,WACA,YACA,WACA,iBACA,eACA,WACA,YAED,iCACA,+FAEA,gDACC,sBAGD,uBACC,qBACA,mBACA,YACA,gBAED,0CACC,YACA,gBAED,mBACC,sCACA,sEACA,eACA,kBACA,WACA,YACA,YACA,qBACA,kBAEA,yCACC,gBAGF,yEACC,wBACA,SACA,UACA,kBACA,gBACA,sCAED,0BACC,QACA,UACA,gBACA,mBACA,mBAED,gCACC,gCACA,kBACA,cACA,YAED,gCACC,kBACA,6BAED,4BACC,cAED,2BACC,aAGD,yBACC,yBACA,4BAGD,uBACC,2BACA,yBACA,wBACA,sBACA,qBACA,iBACA,mBAGD,0HAGC,8BACA,4BACA,2BACA,yBACA,wBACA,oBAED,0CACC,cAED,6BACC,WAED,0BACC,eACA,gBAED,+CACC,iBAED,sCACC,YAED,gCACC,mBACA,6BAED,iCACC,gBAED,4CACC,aAED,iCACC,WACA,YAED,2CACC,WACA,qBACA,WAED,6BACC,WACA,YACA,uBACA,4BACA,0BACA,WAGD,qEAEC,WACA,UAED,kCACC,gBACA,iBAED,sDACC,WAED,sCACC,YAED,iCACC,sBACA,kBACA,SAED,sCACC,sBAGD,gCACC,WACA,iBAEA,wCACC,WAIF,mBACC,0CACA,uCACA,qCACA,kCAGD,sCACE,4BACA,qCAEF,mCACE,4BACA,qCAEF,iCACE,4BACA,qCAEF,8BACE,4BACA,qCC3MF,oGAEA,iCACC,iCAGD,2EAIC,aAID,SACC,UAID,wBACC,eAGD,mCACC,eAGD,2BACC,iBAID,sDACC,kBACA,cACA,SACA,UACA,WACA,gBAID,gCACC,aAKD,mDACC,WAGD,4BACC,wBAED,2BACC,yBAID,iBACC,cAID,0CAEC,0BACC,YAED,4CACC,aAID,4BACC,kBAID,uCACC,eCvFF,sCACC,gBACA,aAGD,0CACC,WAID,qCACC,qBACA,0BAGD,0CACC,iBACA,mBACA,WAEA,gGAEC,UAGF,sDACC,WACA,UAGD,uCACC,kBACA,mBACA,iBAGD,gDACC,SAGD,+BACC,WACA,cACA,4BACA,2BACA,qBACA,WACA,SACA,YAGD,0CACC,WACA,cACA,sBAGD,wCACC,4BAGD,wCACC,wBAGD,yBACC,kBACA,kBACA,iBACA,cACA,cAGD,wBACC,WACA,gBACA,qBACA,WACA,kBACA,wBACA,4BAGD,uBACC,mBACA,uBACA,gBAGD,uBACC,eACA,iBACA,mBAGD,0BACC,wBACA,qBACA,cACA,cAGD,2BACC,oCAGD,8BACC,mBACA,aACA,aAGD,mCACC,sBAGD,yBACC,WAGD,oBACC,kBACA,MACA,QACA,WACA,UACA,WACA,YCxHD,iBACE,uBACA,qBACA,YACA,YAGF,mBACE,sBAGF,0BACE,iBACA,uBAGF,6BACE,kBACA,QAGF,wBACE","file":"merged.css"}
\ No newline at end of file diff --git a/apps/files/css/mobile.css b/apps/files/css/mobile.css index 4074fe59147..b6634703e8d 100644 --- a/apps/files/css/mobile.css +++ b/apps/files/css/mobile.css @@ -1 +1 @@ -@media only screen and (max-width: 988px)and (min-width: 1025px),only screen and (max-width: 688px){.app-files #app-content.dir-drop{background-color:#fff !important}table th.column-size,table td.filesize,table th.column-mtime,table td.date{display:none}table td{padding:0}table.multiselect thead{padding-left:0}.fileList a.action.action-menu img{padding-left:0}.fileList .fileActionsMenu{margin-right:6px}.fileList a.action-share span:not(.icon):not(.avatar){position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}#uploadprogressbar,#uploadprogressbar .label.inner{width:50px}#uploadprogressbar .desktop{display:none !important}#uploadprogressbar .mobile{display:block !important}table.dragshadow{z-index:1000}}@media only screen and (max-width: 480px){table th .selectedActions{float:right}table th .selectedActions>a span:not(.icon){display:none}table th .selectedActions a{padding:17px 14px}table.multiselect th .columntitle.name{margin-left:0}}/*# sourceMappingURL=mobile.css.map */ +@media only screen and (max-width: 988px)and (min-width: 1025px),only screen and (max-width: 688px){.app-files #app-content.dir-drop{background-color:#fff !important}table th.column-size,table td.filesize,table th.column-mtime,table td.date{display:none}table td{padding:0}table.multiselect thead{padding-left:0}.fileList a.action.action-menu img{padding-left:0}.fileList .fileActionsMenu{margin-right:6px}.fileList a.action-share span:not(.icon):not(.avatar){position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}td.filename a.name .system-tags{display:none}#uploadprogressbar,#uploadprogressbar .label.inner{width:50px}#uploadprogressbar .desktop{display:none !important}#uploadprogressbar .mobile{display:block !important}table.dragshadow{z-index:1000}}@media only screen and (max-width: 480px){table th .selectedActions{float:right}table th .selectedActions>a span:not(.icon){display:none}table th .selectedActions a{padding:17px 14px}table.multiselect th .columntitle.name{margin-left:0}}/*# sourceMappingURL=mobile.css.map */ diff --git a/apps/files/css/mobile.css.map b/apps/files/css/mobile.css.map index 7437b1cd034..231d7d9890d 100644 --- a/apps/files/css/mobile.css.map +++ b/apps/files/css/mobile.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["mobile.scss"],"names":[],"mappings":"AAMA,oGAEA,iCACC,iCAGD,2EAIC,aAID,SACC,UAID,wBACC,eAGD,mCACC,eAGD,2BACC,iBAID,sDACC,kBACA,cACA,SACA,UACA,WACA,gBAKD,mDACC,WAGD,4BACC,wBAED,2BACC,yBAID,iBACC,cAID,0CAEC,0BACC,YAED,4CACC,aAID,4BACC,kBAID,uCACC","file":"mobile.css"}
\ No newline at end of file +{"version":3,"sourceRoot":"","sources":["mobile.scss"],"names":[],"mappings":"AAMA,oGAEA,iCACC,iCAGD,2EAIC,aAID,SACC,UAID,wBACC,eAGD,mCACC,eAGD,2BACC,iBAID,sDACC,kBACA,cACA,SACA,UACA,WACA,gBAID,gCACC,aAKD,mDACC,WAGD,4BACC,wBAED,2BACC,yBAID,iBACC,cAID,0CAEC,0BACC,YAED,4CACC,aAID,4BACC,kBAID,uCACC","file":"mobile.css"}
\ No newline at end of file diff --git a/apps/files/css/mobile.scss b/apps/files/css/mobile.scss index ffaf5c68965..ee451f6d099 100644 --- a/apps/files/css/mobile.scss +++ b/apps/files/css/mobile.scss @@ -45,6 +45,11 @@ table.multiselect thead { overflow: hidden; } +// Hide system tags on mobile +td.filename a.name .system-tags { + display: none; +} + /* shorten elements for mobile */ #uploadprogressbar, #uploadprogressbar .label.inner { diff --git a/apps/files/js/merged-index.json b/apps/files/js/merged-index.json index 01a46958d8b..2b7d6ec7d6d 100644 --- a/apps/files/js/merged-index.json +++ b/apps/files/js/merged-index.json @@ -27,5 +27,6 @@ "sidebarpreviewmanager.js", "sidebarpreviewtext.js", "tagsplugin.js", + "systemtagsplugin.js", "templates.js" ] diff --git a/apps/files/js/systemtagsplugin.js b/apps/files/js/systemtagsplugin.js new file mode 100644 index 00000000000..f92e6879a3f --- /dev/null +++ b/apps/files/js/systemtagsplugin.js @@ -0,0 +1,128 @@ +/* + * Copyright (c) 2014 Vincent Petry <pvince81@owncloud.com> + * + * This file is licensed under the Affero General Public License version 3 + * or later. + * + * See the COPYING-README file. + * + */ + +/* global Handlebars */ + +(function (OCA) { + + _.extend(OC.Files.Client, { + PROPERTY_SYSTEM_TAGS: '{' + OC.Files.Client.NS_NEXTCLOUD + '}system-tags', + }); + + OCA.Files = OCA.Files || {}; + + /** + * Extends the file actions and file list to add system tags inline + * + * @namespace OCA.Files.SystemTagsPlugin + */ + OCA.Files.SystemTagsPlugin = { + name: 'SystemTags', + + allowedLists: [ + 'files', + 'favorites', + 'shares.self', + 'shares.others', + 'shares.link' + ], + + _buildTagSpan: function(tag, isMore = false) { + var $tag = $('<li class="system-tags__tag"></li>'); + $tag.text(tag).addClass(isMore ? 'system-tags__tag--more' : ''); + return $tag; + }, + + _buildTagsUI: function(tags) { + $systemTags = $('<ul class="system-tags"></ul>'); + if (tags.length === 1) { + $systemTags.attr('aria-label', t('files', 'This file has the tag {tag}', { tag: tags[0] })); + } else if (tags.length > 1) { + var firstTags = tags.slice(0, -1).join(', '); + var lastTag = tags[tags.length - 1]; + $systemTags.attr('aria-label', t('files', 'This file has the tags {firstTags} and {lastTag}', { firstTags, lastTag })); + } + + if (tags.length > 0) { + $systemTags.append(this._buildTagSpan(tags[0])); + } + + // More tags than the one we're showing + if (tags.length > 1) { + $moreTag = this._buildTagSpan('+' + (tags.length - 1), true) + $moreTag.attr('title', tags.slice(1).join(', ')); + $systemTags.append($moreTag); + } + + return $systemTags; + }, + + _extendFileList: function(fileList) { + var self = this; + + // extend row prototype + var oldCreateRow = fileList._createRow; + fileList._createRow = function(fileData) { + var $tr = oldCreateRow.apply(this, arguments); + var systemTags = fileData.systemTags || []; + + // Update tr data list + $tr.attr('data-systemTags', systemTags.join('|')); + + // No tags, no need to do anything + if (systemTags.length === 0) { + return $tr; + } + + // Build tags ui and inject + $systemTags = self._buildTagsUI.apply(self, [systemTags]) + $systemTags.insertAfter($tr.find('td.filename .nametext')); + return $tr; + }; + + var oldElementToFile = fileList.elementToFile; + fileList.elementToFile = function ($el) { + var fileInfo = oldElementToFile.apply(this, arguments); + var systemTags = $el.attr('data-systemTags'); + fileInfo.systemTags = systemTags?.split?.('|') || []; + return fileInfo; + }; + + var oldGetWebdavProperties = fileList._getWebdavProperties; + fileList._getWebdavProperties = function () { + var props = oldGetWebdavProperties.apply(this, arguments); + props.push(OC.Files.Client.PROPERTY_SYSTEM_TAGS); + return props; + }; + + fileList.filesClient.addFileInfoParser(function (response) { + var data = {}; + var props = response.propStat[0].properties; + var systemTags = props[OC.Files.Client.PROPERTY_SYSTEM_TAGS] || []; + if (systemTags && systemTags.length) { + data.systemTags = systemTags + .filter(xmlvalue => xmlvalue.namespaceURI === OC.Files.Client.NS_NEXTCLOUD && xmlvalue.nodeName.split(':')[1] === 'system-tag') + .map(xmlvalue => xmlvalue.textContent || xmlvalue.text); + } + return data; + }); + }, + + attach: function(fileList) { + if (this.allowedLists.indexOf(fileList.id) < 0) { + return; + } + this._extendFileList(fileList); + }, + }; +}) +(OCA); + +OC.Plugins.register('OCA.Files.FileList', OCA.Files.SystemTagsPlugin); diff --git a/build/integration/features/contacts-menu.feature b/build/integration/features/contacts-menu.feature index 845d4d35925..b8e2f7b30c5 100644 --- a/build/integration/features/contacts-menu.feature +++ b/build/integration/features/contacts-menu.feature @@ -100,10 +100,11 @@ Feature: contacts-menu And Sending a "PUT" to "/settings/users/user2/settings" with requesttoken | email | another_test@example.com | | emailScope | contacts | - When Logging in using web as "user0" - And searching for contacts matching with "test" - Then the list of searched contacts has "1" contacts - And searched contact "0" is named "user2" + # Disabled because it regularly breaks on drone: + # When Logging in using web as "user0" + # And searching for contacts matching with "test" + # Then the list of searched contacts has "1" contacts + # And searched contact "0" is named "user2" Scenario: users can be found by other properties if the visibility of one is private Given user "user0" exists @@ -152,10 +153,11 @@ Feature: contacts-menu | emailScope | private | And Sending a "PUT" to "/settings/users/user1/settings" with requesttoken | emailScope | contacts | - When Logging in using web as "user0" - And searching for contacts matching with "test" - Then the list of searched contacts has "1" contacts - And searched contact "0" is named "user1" + # Disabled because it regularly fails on drone: + # When Logging in using web as "user0" + # And searching for contacts matching with "test" + # Then the list of searched contacts has "1" contacts + # And searched contact "0" is named "user1" diff --git a/build/psalm-baseline-ocp.xml b/build/psalm-baseline-ocp.xml index e993e85e5a2..21a2ce27001 100644 --- a/build/psalm-baseline-ocp.xml +++ b/build/psalm-baseline-ocp.xml @@ -1,130 +1,152 @@ <?xml version="1.0" encoding="UTF-8"?> -<files psalm-version="4.30.0@d0bc6e25d89f649e4f36a534f330f8bb4643dd69"> +<files psalm-version="5.9.0@8b9ad1eb9e8b7d3101f949291da2b9f7767cd163"> <file src="lib/private/legacy/OC_Template.php"> - <UndefinedClass occurrences="1"> + <UndefinedClass> <code>OC</code> </UndefinedClass> </file> <file src="lib/public/AppFramework/ApiController.php"> - <NoInterfaceProperties occurrences="1"> - <code>$this->request->server</code> + <NoInterfaceProperties> + <code><![CDATA[$this->request->server]]></code> </NoInterfaceProperties> </file> <file src="lib/public/AppFramework/App.php"> - <InternalMethod occurrences="1"> - <code>new RouteConfig($this->container, $router, $routes)</code> + <InternalMethod> + <code><![CDATA[new RouteConfig($this->container, $router, $routes)]]></code> </InternalMethod> - <UndefinedClass occurrences="1"> + <UndefinedClass> <code>\OC</code> </UndefinedClass> </file> <file src="lib/public/AppFramework/Db/Entity.php"> - <InvalidNullableReturnType occurrences="1"> + <InvalidNullableReturnType> <code>string</code> </InvalidNullableReturnType> - <NullableReturnStatement occurrences="1"> + <NullableReturnStatement> <code>$column</code> </NullableReturnStatement> </file> <file src="lib/public/AppFramework/Http/JSONResponse.php"> - <InvalidReturnStatement occurrences="1"> - <code>$this->data</code> + <InvalidReturnStatement> + <code><![CDATA[$this->data]]></code> </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>array</code> </InvalidReturnType> </file> <file src="lib/public/AppFramework/Http/RedirectToDefaultAppResponse.php"> - <UndefinedClass occurrences="1"> + <UndefinedClass> <code>\OC</code> </UndefinedClass> </file> <file src="lib/public/AppFramework/Http/Response.php"> - <UndefinedClass occurrences="2"> + <UndefinedClass> <code>\OC</code> <code>\OC</code> </UndefinedClass> </file> <file src="lib/public/BackgroundJob/TimedJob.php"> - <MoreSpecificImplementedParamType occurrences="1"> + <MoreSpecificImplementedParamType> + <code>$jobList</code> <code>$jobList</code> </MoreSpecificImplementedParamType> </file> + <file src="lib/public/Cache/CappedMemoryCache.php"> + <MissingTemplateParam> + <code>\ArrayAccess</code> + </MissingTemplateParam> + </file> <file src="lib/public/Defaults.php"> - <UndefinedClass occurrences="1"> + <UndefinedClass> <code>\OC</code> </UndefinedClass> </file> <file src="lib/public/Diagnostics/IQueryLogger.php"> - <LessSpecificImplementedReturnType occurrences="1"> + <LessSpecificImplementedReturnType> <code>mixed</code> </LessSpecificImplementedReturnType> </file> + <file src="lib/public/EventDispatcher/GenericEvent.php"> + <MissingTemplateParam> + <code>ArrayAccess</code> + <code>IteratorAggregate</code> + </MissingTemplateParam> + </file> <file src="lib/public/Federation/Exceptions/ActionNotSupportedException.php"> - <UndefinedClass occurrences="1"> + <UndefinedClass> <code>\OC</code> </UndefinedClass> </file> <file src="lib/public/Federation/Exceptions/AuthenticationFailedException.php"> - <UndefinedClass occurrences="1"> + <UndefinedClass> <code>\OC</code> </UndefinedClass> </file> <file src="lib/public/Federation/Exceptions/BadRequestException.php"> - <UndefinedClass occurrences="1"> + <UndefinedClass> <code>\OC</code> </UndefinedClass> </file> <file src="lib/public/Federation/Exceptions/ProviderAlreadyExistsException.php"> - <UndefinedClass occurrences="1"> + <UndefinedClass> <code>\OC</code> </UndefinedClass> </file> <file src="lib/public/Federation/Exceptions/ProviderDoesNotExistsException.php"> - <UndefinedClass occurrences="1"> + <UndefinedClass> <code>\OC</code> </UndefinedClass> </file> <file src="lib/public/Files.php"> - <FalsableReturnStatement occurrences="1"> + <FalsableReturnStatement> <code>\OC_App::getStorage($app)</code> </FalsableReturnStatement> - <UndefinedClass occurrences="1"> + <UndefinedClass> <code>\OC</code> </UndefinedClass> </file> + <file src="lib/public/Files/Cache/ICacheEntry.php"> + <MissingTemplateParam> + <code>ArrayAccess</code> + </MissingTemplateParam> + </file> <file src="lib/public/Files/LockNotAcquiredException.php"> - <UndefinedClass occurrences="1"> + <UndefinedClass> <code>\OC</code> </UndefinedClass> </file> <file src="lib/public/Files/StorageAuthException.php"> - <UndefinedClass occurrences="1"> + <UndefinedClass> <code>\OC</code> </UndefinedClass> </file> <file src="lib/public/Files/StorageBadConfigException.php"> - <UndefinedClass occurrences="1"> + <UndefinedClass> <code>\OC</code> </UndefinedClass> </file> <file src="lib/public/Files/StorageConnectionException.php"> - <UndefinedClass occurrences="1"> + <UndefinedClass> <code>\OC</code> </UndefinedClass> </file> <file src="lib/public/Files/StorageNotAvailableException.php"> - <UndefinedClass occurrences="1"> + <UndefinedClass> <code>\OC</code> </UndefinedClass> </file> <file src="lib/public/Files/StorageTimeoutException.php"> - <UndefinedClass occurrences="1"> + <UndefinedClass> <code>\OC</code> </UndefinedClass> </file> + <file src="lib/public/L10N/ILanguageIterator.php"> + <MissingTemplateParam> + <code>\Iterator</code> + </MissingTemplateParam> + </file> <file src="lib/public/Template.php"> - <UndefinedFunction occurrences="7"> + <UndefinedFunction> <code>\html_select_options($options, $selected, $params)</code> <code>\human_file_size($bytes)</code> <code>\image_path($app, $image)</code> @@ -135,7 +157,7 @@ </UndefinedFunction> </file> <file src="lib/public/Util.php"> - <UndefinedClass occurrences="14"> + <UndefinedClass> <code>\OC</code> <code>\OC</code> <code>\OC</code> diff --git a/build/psalm-baseline.xml b/build/psalm-baseline.xml index 88720fa5b0c..ac20e6ffbad 100644 --- a/build/psalm-baseline.xml +++ b/build/psalm-baseline.xml @@ -1,222 +1,348 @@ <?xml version="1.0" encoding="UTF-8"?> -<files psalm-version="4.30.0@d0bc6e25d89f649e4f36a534f330f8bb4643dd69"> +<files psalm-version="5.9.0@8b9ad1eb9e8b7d3101f949291da2b9f7767cd163"> <file src="3rdparty/sabre/dav/lib/CalDAV/Calendar.php"> - <MoreSpecificImplementedParamType occurrences="1"> + <MoreSpecificImplementedParamType> <code>$calendarData</code> </MoreSpecificImplementedParamType> </file> <file src="3rdparty/sabre/dav/lib/CalDAV/CalendarHome.php"> - <MoreSpecificImplementedParamType occurrences="1"> + <MoreSpecificImplementedParamType> <code>$data</code> </MoreSpecificImplementedParamType> </file> <file src="3rdparty/sabre/dav/lib/CalDAV/Principal/User.php"> - <MoreSpecificImplementedParamType occurrences="1"> + <MoreSpecificImplementedParamType> <code>$data</code> </MoreSpecificImplementedParamType> </file> <file src="3rdparty/sabre/dav/lib/CardDAV/AddressBook.php"> - <LessSpecificImplementedReturnType occurrences="1"> + <LessSpecificImplementedReturnType> <code>array</code> </LessSpecificImplementedReturnType> - <MoreSpecificImplementedParamType occurrences="1"> + <MoreSpecificImplementedParamType> <code>$vcardData</code> </MoreSpecificImplementedParamType> </file> <file src="3rdparty/sabre/dav/lib/CardDAV/AddressBookHome.php"> - <InvalidPropertyAssignmentValue occurrences="1"> + <InvalidPropertyAssignmentValue> <code>$principalUri</code> </InvalidPropertyAssignmentValue> - <MoreSpecificImplementedParamType occurrences="1"> + <MoreSpecificImplementedParamType> <code>$data</code> </MoreSpecificImplementedParamType> </file> <file src="3rdparty/sabre/dav/lib/DAVACL/AbstractPrincipalCollection.php"> - <LessSpecificImplementedReturnType occurrences="1"> + <LessSpecificImplementedReturnType> <code>array</code> </LessSpecificImplementedReturnType> </file> + <file src="apps/admin_audit/lib/Listener/CriticalActionPerformedEventListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> <file src="apps/cloud_federation_api/lib/Controller/RequestHandlerController.php"> - <TypeDoesNotContainType occurrences="1"> + <TypeDoesNotContainType> <code>!is_array($notification)</code> </TypeDoesNotContainType> </file> + <file src="apps/comments/lib/Listener/CommentsEntityEventListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/comments/lib/Listener/LoadAdditionalScripts.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/comments/lib/Listener/LoadSidebarScripts.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> <file src="apps/comments/lib/Search/Result.php"> - <InvalidScalarArgument occurrences="1"> - <code>(int) $comment->getId()</code> - </InvalidScalarArgument> + <InvalidArgument> + <code><![CDATA[(int) $comment->getId()]]></code> + </InvalidArgument> + </file> + <file src="apps/contactsinteraction/lib/Listeners/ContactInteractionListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> </file> <file src="apps/dav/appinfo/v1/caldav.php"> - <UndefinedGlobalVariable occurrences="1"> + <UndefinedGlobalVariable> <code>$baseuri</code> </UndefinedGlobalVariable> </file> <file src="apps/dav/appinfo/v1/carddav.php"> - <UndefinedGlobalVariable occurrences="1"> + <UndefinedGlobalVariable> <code>$baseuri</code> </UndefinedGlobalVariable> </file> <file src="apps/dav/appinfo/v1/publicwebdav.php"> - <InternalMethod occurrences="2"> + <InternalMethod> <code>\OC\Files\Filesystem::logWarningWhenAddingStorageWrapper($previousLog)</code> <code>\OC\Files\Filesystem::logWarningWhenAddingStorageWrapper(false)</code> </InternalMethod> - <UndefinedGlobalVariable occurrences="1"> + <UndefinedGlobalVariable> <code>$baseuri</code> </UndefinedGlobalVariable> </file> <file src="apps/dav/appinfo/v1/webdav.php"> - <InvalidArgument occurrences="1"> - <code>'OCA\DAV\Connector\Sabre::addPlugin'</code> + <InvalidArgument> + <code><![CDATA['OCA\DAV\Connector\Sabre::addPlugin']]></code> </InvalidArgument> - <TooManyArguments occurrences="1"> + <TooManyArguments> <code>dispatch</code> </TooManyArguments> - <UndefinedGlobalVariable occurrences="1"> + <UndefinedGlobalVariable> <code>$baseuri</code> </UndefinedGlobalVariable> </file> <file src="apps/dav/appinfo/v2/direct.php"> - <UndefinedGlobalVariable occurrences="1"> + <UndefinedGlobalVariable> <code>$baseuri</code> </UndefinedGlobalVariable> </file> <file src="apps/dav/appinfo/v2/remote.php"> - <UndefinedGlobalVariable occurrences="1"> + <UndefinedGlobalVariable> <code>$baseuri</code> </UndefinedGlobalVariable> </file> <file src="apps/dav/lib/AppInfo/Application.php"> - <InvalidArgument occurrences="1"> + <InvalidArgument> <code>CalendarDeletionDefaultUpdaterListener::class</code> </InvalidArgument> </file> <file src="apps/dav/lib/CalDAV/BirthdayService.php"> - <UndefinedMethod occurrences="2"> + <UndefinedMethod> <code>setDateTime</code> <code>setDateTime</code> </UndefinedMethod> - <UndefinedPropertyFetch occurrences="4"> - <code>$existingBirthday->VEVENT->DTSTART</code> - <code>$existingBirthday->VEVENT->SUMMARY</code> - <code>$newCalendarData->VEVENT->DTSTART</code> - <code>$newCalendarData->VEVENT->SUMMARY</code> + <UndefinedPropertyFetch> + <code><![CDATA[$existingBirthday->VEVENT->DTSTART]]></code> + <code><![CDATA[$existingBirthday->VEVENT->SUMMARY]]></code> + <code><![CDATA[$newCalendarData->VEVENT->DTSTART]]></code> + <code><![CDATA[$newCalendarData->VEVENT->SUMMARY]]></code> </UndefinedPropertyFetch> </file> <file src="apps/dav/lib/CalDAV/CachedSubscription.php"> - <ParamNameMismatch occurrences="1"> + <ParamNameMismatch> <code>$calendarData</code> </ParamNameMismatch> </file> <file src="apps/dav/lib/CalDAV/CachedSubscriptionObject.php"> - <NullableReturnStatement occurrences="1"> - <code>$this->objectData['calendardata']</code> + <NullableReturnStatement> + <code><![CDATA[$this->objectData['calendardata']]]></code> </NullableReturnStatement> - <ParamNameMismatch occurrences="1"> + <ParamNameMismatch> + <code>$calendarData</code> <code>$calendarData</code> </ParamNameMismatch> </file> <file src="apps/dav/lib/CalDAV/CalDavBackend.php"> - <InvalidNullableReturnType occurrences="2"> + <InvalidNullableReturnType> <code>array</code> <code>array</code> </InvalidNullableReturnType> - <MoreSpecificImplementedParamType occurrences="2"> + <MoreSpecificImplementedParamType> <code>$objectData</code> <code>$uris</code> + <code>$uris</code> </MoreSpecificImplementedParamType> - <NullableReturnStatement occurrences="2"> + <NullableReturnStatement> + <code><![CDATA[$this->atomic(function () use ($calendarId, $syncToken, $syncLevel, $limit, $calendarType) { + // Current synctoken + $qb = $this->db->getQueryBuilder(); + $qb->select('synctoken') + ->from('calendars') + ->where( + $qb->expr()->eq('id', $qb->createNamedParameter($calendarId)) + ); + $stmt = $qb->executeQuery(); + $currentToken = $stmt->fetchOne(); + + if ($currentToken === false) { + return null; + } + + $result = [ + 'syncToken' => $currentToken, + 'added' => [], + 'modified' => [], + 'deleted' => [], + ]; + + if ($syncToken) { + $qb = $this->db->getQueryBuilder(); + + $qb->select('uri', 'operation') + ->from('calendarchanges') + ->where( + $qb->expr()->andX( + $qb->expr()->gte('synctoken', $qb->createNamedParameter($syncToken)), + $qb->expr()->lt('synctoken', $qb->createNamedParameter($currentToken)), + $qb->expr()->eq('calendarid', $qb->createNamedParameter($calendarId)), + $qb->expr()->eq('calendartype', $qb->createNamedParameter($calendarType)) + ) + )->orderBy('synctoken'); + if (is_int($limit) && $limit > 0) { + $qb->setMaxResults($limit); + } + + // Fetching all changes + $stmt = $qb->executeQuery(); + $changes = []; + + // This loop ensures that any duplicates are overwritten, only the + // last change on a node is relevant. + while ($row = $stmt->fetch()) { + $changes[$row['uri']] = $row['operation']; + } + $stmt->closeCursor(); + + foreach ($changes as $uri => $operation) { + switch ($operation) { + case 1: + $result['added'][] = $uri; + break; + case 2: + $result['modified'][] = $uri; + break; + case 3: + $result['deleted'][] = $uri; + break; + } + } + } else { + // No synctoken supplied, this is the initial sync. + $qb = $this->db->getQueryBuilder(); + $qb->select('uri') + ->from('calendarobjects') + ->where( + $qb->expr()->andX( + $qb->expr()->eq('calendarid', $qb->createNamedParameter($calendarId)), + $qb->expr()->eq('calendartype', $qb->createNamedParameter($calendarType)) + ) + ); + $stmt = $qb->executeQuery(); + $result['added'] = $stmt->fetchAll(\PDO::FETCH_COLUMN); + $stmt->closeCursor(); + } + return $result; + }, $this->db)]]></code> <code>null</code> </NullableReturnStatement> </file> <file src="apps/dav/lib/CalDAV/CalendarHome.php"> - <InvalidNullableReturnType occurrences="1"> + <InvalidNullableReturnType> <code>INode</code> </InvalidNullableReturnType> - <LessSpecificImplementedReturnType occurrences="1"> + <LessSpecificImplementedReturnType> <code>INode</code> </LessSpecificImplementedReturnType> - <NullableReturnStatement occurrences="1"> - <code>$calendarPlugin->getCalendarInCalendarHome($this->principalInfo['uri'], $calendarUri)</code> + <NullableReturnStatement> + <code><![CDATA[$calendarPlugin->getCalendarInCalendarHome($this->principalInfo['uri'], $calendarUri)]]></code> </NullableReturnStatement> - <UndefinedInterfaceMethod occurrences="1"> + <UndefinedInterfaceMethod> <code>calendarSearch</code> </UndefinedInterfaceMethod> </file> <file src="apps/dav/lib/CalDAV/CalendarRoot.php"> - <ParamNameMismatch occurrences="1"> + <ParamNameMismatch> <code>$principal</code> </ParamNameMismatch> </file> <file src="apps/dav/lib/CalDAV/Plugin.php"> - <ImplementedReturnTypeMismatch occurrences="1"> + <ImplementedReturnTypeMismatch> <code>string|null</code> </ImplementedReturnTypeMismatch> </file> <file src="apps/dav/lib/CalDAV/Principal/Collection.php"> - <ParamNameMismatch occurrences="1"> + <ParamNameMismatch> <code>$principalInfo</code> </ParamNameMismatch> </file> <file src="apps/dav/lib/CalDAV/PublicCalendar.php"> - <MoreSpecificImplementedParamType occurrences="1"> + <MoreSpecificImplementedParamType> <code>$paths</code> </MoreSpecificImplementedParamType> </file> <file src="apps/dav/lib/CalDAV/Reminder/NotificationProvider/AbstractProvider.php"> - <UndefinedMethod occurrences="3"> + <UndefinedMethod> <code>hasTime</code> <code>isFloating</code> <code>isFloating</code> </UndefinedMethod> </file> <file src="apps/dav/lib/CalDAV/Reminder/NotificationProvider/EmailProvider.php"> - <UndefinedMethod occurrences="3"> + <UndefinedMethod> <code>getDateTime</code> <code>getDateTime</code> <code>isFloating</code> </UndefinedMethod> </file> <file src="apps/dav/lib/CalDAV/Reminder/NotificationProviderManager.php"> - <UndefinedConstant occurrences="1"> + <UndefinedConstant> <code>$provider::NOTIFICATION_TYPE</code> </UndefinedConstant> </file> + <file src="apps/dav/lib/CalDAV/Reminder/Notifier.php"> + <TypeDoesNotContainType> + <code>$diff === false</code> + </TypeDoesNotContainType> + </file> <file src="apps/dav/lib/CalDAV/Reminder/ReminderService.php"> - <UndefinedMethod occurrences="3"> - <code>getDateInterval</code> + <UndefinedMethod> <code>getDateTime</code> <code>getDateTime</code> </UndefinedMethod> - <UndefinedPropertyFetch occurrences="1"> - <code>$valarm->parent->UID</code> + <UndefinedPropertyFetch> + <code><![CDATA[$valarm->parent->UID]]></code> </UndefinedPropertyFetch> </file> <file src="apps/dav/lib/CalDAV/ResourceBooking/AbstractPrincipalBackend.php"> - <InvalidNullableReturnType occurrences="1"> + <InvalidNullableReturnType> <code>array</code> </InvalidNullableReturnType> - <InvalidReturnStatement occurrences="1"> + <InvalidReturnStatement> <code>$principals</code> </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>string[]</code> </InvalidReturnType> - <NullableReturnStatement occurrences="2"> + <NullableReturnStatement> <code>null</code> <code>null</code> </NullableReturnStatement> </file> + <file src="apps/dav/lib/CalDAV/Schedule/IMipPlugin.php"> + <RedundantCast> + <code><![CDATA[(string)$iTipMessage->recipientName]]></code> + </RedundantCast> + <RedundantCondition> + <code><![CDATA[!empty($modified['old']) && is_array($modified['old'])]]></code> + <code><![CDATA[is_array($modified['old'])]]></code> + </RedundantCondition> + </file> + <file src="apps/dav/lib/CalDAV/Schedule/IMipService.php"> + <UndefinedMethod> + <code>getNormalizedValue</code> + <code>getNormalizedValue</code> + </UndefinedMethod> + </file> <file src="apps/dav/lib/CalDAV/Schedule/Plugin.php"> - <InvalidArgument occurrences="2"> - <code>[$aclPlugin, 'propFind']</code> - <code>[$aclPlugin, 'propFind']</code> + <InvalidArgument> + <code><![CDATA[[$aclPlugin, 'propFind']]]></code> + <code><![CDATA[[$aclPlugin, 'propFind']]]></code> </InvalidArgument> - <UndefinedInterfaceMethod occurrences="2"> + <UndefinedInterfaceMethod> <code>get</code> <code>getChildren</code> </UndefinedInterfaceMethod> - <UndefinedMethod occurrences="5"> + <UndefinedMethod> <code>getDateTime</code> <code>hasTime</code> <code>isFloating</code> @@ -225,186 +351,206 @@ </UndefinedMethod> </file> <file src="apps/dav/lib/CalDAV/Search/SearchPlugin.php"> - <InvalidNullableReturnType occurrences="1"> + <InvalidNullableReturnType> <code>bool</code> </InvalidNullableReturnType> </file> <file src="apps/dav/lib/CalDAV/Search/Xml/Filter/ParamFilter.php"> - <InvalidReturnStatement occurrences="1"/> - <InvalidReturnType occurrences="1"> + <InvalidReturnStatement> + <code><![CDATA[[ + 'property' => $property, + 'parameter' => $parameter, + ]]]></code> + </InvalidReturnStatement> + <InvalidReturnType> <code>string</code> </InvalidReturnType> </file> <file src="apps/dav/lib/CalDAV/Search/Xml/Request/CalendarSearchReport.php"> - <TypeDoesNotContainType occurrences="3"> - <code>!is_array($newProps['filters']['comps'])</code> - <code>!is_array($newProps['filters']['params'])</code> - <code>!is_array($newProps['filters']['props'])</code> + <TypeDoesNotContainType> + <code><![CDATA[!is_array($newProps['filters']['comps'])]]></code> + <code><![CDATA[!is_array($newProps['filters']['params'])]]></code> + <code><![CDATA[!is_array($newProps['filters']['props'])]]></code> + <code><![CDATA[!isset($newProps['filters']['comps']) || !is_array($newProps['filters']['comps'])]]></code> + <code><![CDATA[!isset($newProps['filters']['params']) || !is_array($newProps['filters']['params'])]]></code> + <code><![CDATA[!isset($newProps['filters']['props']) || !is_array($newProps['filters']['props'])]]></code> </TypeDoesNotContainType> </file> <file src="apps/dav/lib/CalDAV/WebcalCaching/RefreshWebcalService.php"> - <InvalidArgument occurrences="1"> + <InvalidArgument> <code>$webcalData</code> </InvalidArgument> </file> <file src="apps/dav/lib/CardDAV/AddressBookImpl.php"> - <InvalidScalarArgument occurrences="2"> - <code>$this->getKey()</code> - <code>$this->getKey()</code> - </InvalidScalarArgument> + <InvalidArgument> + <code><![CDATA[$this->getKey()]]></code> + <code><![CDATA[$this->getKey()]]></code> + </InvalidArgument> </file> <file src="apps/dav/lib/CardDAV/AddressBookRoot.php"> - <ParamNameMismatch occurrences="1"> + <ParamNameMismatch> <code>$principal</code> </ParamNameMismatch> </file> <file src="apps/dav/lib/CardDAV/CardDavBackend.php"> - <FalsableReturnStatement occurrences="1"> + <FalsableReturnStatement> <code>false</code> </FalsableReturnStatement> - <TypeDoesNotContainType occurrences="1"> - <code>$addressBooks[$row['id']][$readOnlyPropertyName] === 0</code> + <TypeDoesNotContainType> + <code><![CDATA[$addressBooks[$row['id']][$readOnlyPropertyName] === 0]]></code> </TypeDoesNotContainType> </file> <file src="apps/dav/lib/CardDAV/MultiGetExportPlugin.php"> - <InvalidNullableReturnType occurrences="1"> + <InvalidNullableReturnType> <code>bool</code> </InvalidNullableReturnType> </file> <file src="apps/dav/lib/CardDAV/PhotoCache.php"> - <InvalidNullableReturnType occurrences="1"> + <InvalidNullableReturnType> <code>string</code> </InvalidNullableReturnType> - <NullableReturnStatement occurrences="1"> + <NullableReturnStatement> <code>$type</code> </NullableReturnStatement> </file> <file src="apps/dav/lib/CardDAV/Plugin.php"> - <ImplementedReturnTypeMismatch occurrences="1"> + <ImplementedReturnTypeMismatch> <code>string|null</code> </ImplementedReturnTypeMismatch> </file> <file src="apps/dav/lib/CardDAV/UserAddressBooks.php"> - <InvalidArgument occurrences="2"> - <code>$this->principalUri</code> - <code>$this->principalUri</code> + <InvalidArgument> + <code><![CDATA[$this->principalUri]]></code> + <code><![CDATA[$this->principalUri]]></code> </InvalidArgument> </file> <file src="apps/dav/lib/CardDAV/Xml/Groups.php"> - <InvalidPropertyAssignmentValue occurrences="1"> + <InvalidPropertyAssignmentValue> <code>$groups</code> </InvalidPropertyAssignmentValue> </file> <file src="apps/dav/lib/Comments/CommentNode.php"> - <InvalidNullableReturnType occurrences="1"> + <InvalidNullableReturnType> <code>int</code> </InvalidNullableReturnType> - <NullableReturnStatement occurrences="1"> + <NullableReturnStatement> <code>null</code> </NullableReturnStatement> </file> <file src="apps/dav/lib/Comments/CommentsPlugin.php"> - <InvalidScalarArgument occurrences="2"> - <code>$args['datetime']</code> + <InvalidArgument> <code>200</code> + </InvalidArgument> + <InvalidScalarArgument> + <code><![CDATA[$args['datetime']]]></code> </InvalidScalarArgument> - <UndefinedFunction occurrences="1"> + <UndefinedFunction> <code>\Sabre\HTTP\toDate($value)</code> </UndefinedFunction> </file> + <file src="apps/dav/lib/Comments/EntityTypeCollection.php"> + <TypeDoesNotContainType> + <code>!is_string($name)</code> + </TypeDoesNotContainType> + </file> <file src="apps/dav/lib/Comments/RootCollection.php"> - <InvalidArgument occurrences="1"> + <InvalidArgument> <code>CommentsEntityEvent::EVENT_ENTITY</code> </InvalidArgument> - <InvalidNullableReturnType occurrences="2"> + <InvalidNullableReturnType> <code>\Sabre\DAV\INode[]</code> <code>int</code> </InvalidNullableReturnType> - <NullableReturnStatement occurrences="2"> - <code>$this->entityTypeCollections</code> + <NullableReturnStatement> + <code><![CDATA[$this->entityTypeCollections]]></code> <code>null</code> </NullableReturnStatement> - <TooManyArguments occurrences="1"> + <TooManyArguments> <code>dispatch</code> </TooManyArguments> </file> <file src="apps/dav/lib/Connector/Sabre/AnonymousOptionsPlugin.php"> - <InvalidNullableReturnType occurrences="1"> + <InvalidNullableReturnType> <code>bool</code> </InvalidNullableReturnType> </file> <file src="apps/dav/lib/Connector/Sabre/BearerAuth.php"> - <UndefinedInterfaceMethod occurrences="1"> + <UndefinedInterfaceMethod> <code>tryTokenLogin</code> </UndefinedInterfaceMethod> </file> <file src="apps/dav/lib/Connector/Sabre/Directory.php"> - <InvalidPropertyAssignmentValue occurrences="1"> + <InvalidPropertyAssignmentValue> <code>$nodes</code> </InvalidPropertyAssignmentValue> - <InvalidReturnStatement occurrences="1"> - <code>$this->dirContent</code> + <InvalidReturnStatement> + <code><![CDATA[$this->dirContent]]></code> </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>\Sabre\DAV\INode[]</code> </InvalidReturnType> - <NullArgument occurrences="3"> + <NullArgument> <code>null</code> <code>null</code> <code>null</code> </NullArgument> - <ParamNameMismatch occurrences="1"> + <ParamNameMismatch> <code>$fullSourcePath</code> </ParamNameMismatch> </file> <file src="apps/dav/lib/Connector/Sabre/File.php"> - <MoreSpecificImplementedParamType occurrences="1"> + <MoreSpecificImplementedParamType> <code>$data</code> </MoreSpecificImplementedParamType> </file> <file src="apps/dav/lib/Connector/Sabre/FilesReportPlugin.php"> - <InvalidNullableReturnType occurrences="1"> - <code>bool</code> - </InvalidNullableReturnType> - <InvalidScalarArgument occurrences="2"> + <InvalidArgument> <code>0</code> <code>200</code> - </InvalidScalarArgument> - <NullableReturnStatement occurrences="1"> + </InvalidArgument> + <InvalidNullableReturnType> + <code>bool</code> + </InvalidNullableReturnType> + <NullableReturnStatement> <code>$resultFileIds</code> </NullableReturnStatement> - <TooManyArguments occurrences="1"> - <code>new PreconditionFailed('Cannot filter by non-existing tag', 0, $e)</code> + <TooManyArguments> + <code><![CDATA[new PreconditionFailed('Cannot filter by non-existing tag', 0, $e)]]></code> </TooManyArguments> - <UndefinedClass occurrences="1"> + <UndefinedClass> <code>\OCA\Circles\Api\v1\Circles</code> </UndefinedClass> - <UndefinedInterfaceMethod occurrences="2"> + <UndefinedInterfaceMethod> <code>getById</code> <code>getPath</code> </UndefinedInterfaceMethod> </file> <file src="apps/dav/lib/Connector/Sabre/Node.php"> - <InvalidNullableReturnType occurrences="2"> + <InvalidNullableReturnType> <code>int</code> <code>integer</code> </InvalidNullableReturnType> - <NullableReturnStatement occurrences="2"> - <code>$this->info->getId()</code> - <code>$this->info->getId()</code> + <NullableReturnStatement> + <code><![CDATA[$this->info->getId()]]></code> + <code><![CDATA[$this->info->getId()]]></code> </NullableReturnStatement> </file> <file src="apps/dav/lib/Connector/Sabre/Principal.php"> - <InvalidNullableReturnType occurrences="1"> + <InvalidNullableReturnType> <code>array</code> </InvalidNullableReturnType> - <InvalidReturnStatement occurrences="1"> + <InvalidReturnStatement> <code>$principals</code> </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>string[]</code> </InvalidReturnType> - <NullableReturnStatement occurrences="8"> + <InvalidScalarArgument> + <code>$results</code> + </InvalidScalarArgument> + <NullableReturnStatement> + <code><![CDATA[$this->circleToPrincipal($decodedName) + ?: $this->circleToPrincipal($name)]]></code> <code>null</code> <code>null</code> <code>null</code> @@ -413,65 +559,65 @@ <code>null</code> <code>null</code> </NullableReturnStatement> - <UndefinedClass occurrences="2"> + <UndefinedClass> <code>\OCA\Circles\Api\v1\Circles</code> <code>\OCA\Circles\Api\v1\Circles</code> </UndefinedClass> </file> <file src="apps/dav/lib/Connector/Sabre/QuotaPlugin.php"> - <UndefinedInterfaceMethod occurrences="2"> + <UndefinedInterfaceMethod> <code>getPath</code> <code>getPath</code> </UndefinedInterfaceMethod> </file> <file src="apps/dav/lib/Connector/Sabre/ServerFactory.php"> - <TooManyArguments occurrences="1"> + <TooManyArguments> <code>new \OCA\DAV\Connector\Sabre\QuotaPlugin($view, true)</code> </TooManyArguments> </file> <file src="apps/dav/lib/Connector/Sabre/ShareTypeList.php"> - <InvalidScalarArgument occurrences="1"> + <InvalidArgument> <code>$shareType</code> - </InvalidScalarArgument> + </InvalidArgument> </file> <file src="apps/dav/lib/Connector/Sabre/ShareeList.php"> - <InvalidScalarArgument occurrences="1"> - <code>$share->getShareType()</code> - </InvalidScalarArgument> + <InvalidArgument> + <code><![CDATA[$share->getShareType()]]></code> + </InvalidArgument> </file> <file src="apps/dav/lib/Connector/Sabre/TagsPlugin.php"> - <NullableReturnStatement occurrences="1"> + <NullableReturnStatement> <code>null</code> </NullableReturnStatement> - <UndefinedInterfaceMethod occurrences="1"> + <UndefinedInterfaceMethod> <code>getId</code> </UndefinedInterfaceMethod> </file> <file src="apps/dav/lib/Controller/InvitationResponseController.php"> - <UndefinedPropertyAssignment occurrences="1"> - <code>$vEvent->DTSTAMP</code> + <UndefinedPropertyAssignment> + <code><![CDATA[$vEvent->DTSTAMP]]></code> </UndefinedPropertyAssignment> </file> <file src="apps/dav/lib/DAV/CustomPropertiesBackend.php"> - <InvalidArgument occurrences="1"> + <InvalidArgument> <code>$whereValues</code> </InvalidArgument> </file> <file src="apps/dav/lib/DAV/GroupPrincipalBackend.php"> - <InvalidNullableReturnType occurrences="2"> + <InvalidNullableReturnType> <code>array</code> <code>string</code> </InvalidNullableReturnType> - <InvalidReturnStatement occurrences="1"> + <InvalidReturnStatement> <code>$principals</code> </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>string[]</code> </InvalidReturnType> - <MoreSpecificImplementedParamType occurrences="1"> + <MoreSpecificImplementedParamType> <code>$members</code> </MoreSpecificImplementedParamType> - <NullableReturnStatement occurrences="7"> + <NullableReturnStatement> <code>null</code> <code>null</code> <code>null</code> @@ -482,73 +628,145 @@ </NullableReturnStatement> </file> <file src="apps/dav/lib/DAV/SystemPrincipalBackend.php"> - <InvalidNullableReturnType occurrences="1"> + <InvalidNullableReturnType> <code>array</code> </InvalidNullableReturnType> - <NullableReturnStatement occurrences="1"> + <NullableReturnStatement> <code>null</code> </NullableReturnStatement> </file> <file src="apps/dav/lib/Direct/Server.php"> - <UndefinedThisPropertyAssignment occurrences="1"> - <code>$this->enablePropfindDepthInfinityf</code> + <UndefinedThisPropertyAssignment> + <code><![CDATA[$this->enablePropfindDepthInfinityf]]></code> </UndefinedThisPropertyAssignment> </file> - <file src="apps/dav/lib/Files/BrowserErrorPagePlugin.php"> - <InvalidScalarArgument occurrences="1"> - <code>$body</code> - </InvalidScalarArgument> - </file> <file src="apps/dav/lib/Files/FileSearchBackend.php"> - <InvalidReturnStatement occurrences="1"> + <InvalidReturnStatement> <code>$value</code> </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>?string</code> </InvalidReturnType> - <ParamNameMismatch occurrences="1"> + <ParamNameMismatch> <code>$search</code> </ParamNameMismatch> - <UndefinedPropertyFetch occurrences="1"> - <code>$operator->arguments[0]->name</code> + <RedundantCondition> + <code><![CDATA[$date->getTimestamp() !== false]]></code> + </RedundantCondition> + <UndefinedPropertyFetch> + <code><![CDATA[$operator->arguments[0]->name]]></code> + <code><![CDATA[$operator->arguments[0]->name]]></code> </UndefinedPropertyFetch> </file> <file src="apps/dav/lib/Files/LazySearchBackend.php"> - <InvalidReturnStatement occurrences="1"> - <code>$this->backend->getArbiterPath()</code> + <InvalidReturnStatement> + <code><![CDATA[$this->backend->getArbiterPath()]]></code> </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>bool</code> </InvalidReturnType> </file> <file src="apps/dav/lib/HookManager.php"> - <InvalidPropertyAssignmentValue occurrences="2"> - <code>$this->usersToDelete</code> - <code>$this->usersToDelete</code> + <InvalidPropertyAssignmentValue> + <code><![CDATA[$this->usersToDelete]]></code> + <code><![CDATA[$this->usersToDelete]]></code> </InvalidPropertyAssignmentValue> </file> + <file src="apps/dav/lib/Listener/ActivityUpdaterListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/dav/lib/Listener/AddressbookListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/dav/lib/Listener/BirthdayListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/dav/lib/Listener/CalendarContactInteractionListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/dav/lib/Listener/CalendarObjectReminderUpdaterListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/dav/lib/Listener/CalendarPublicationListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/dav/lib/Listener/CalendarShareUpdateListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/dav/lib/Listener/CardListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/dav/lib/Listener/ClearPhotoCacheListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/dav/lib/Listener/SubscriptionListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/dav/lib/Listener/TrustedServerRemovedListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/dav/lib/Listener/UserPreferenceListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> <file src="apps/dav/lib/Migration/BuildCalendarSearchIndexBackgroundJob.php"> - <ParamNameMismatch occurrences="1"> + <ParamNameMismatch> <code>$arguments</code> </ParamNameMismatch> </file> <file src="apps/dav/lib/Migration/BuildSocialSearchIndexBackgroundJob.php"> - <ParamNameMismatch occurrences="1"> + <ParamNameMismatch> <code>$arguments</code> </ParamNameMismatch> </file> + <file src="apps/dav/lib/Search/ContactsSearchProvider.php"> + <InvalidOperand> + <code><![CDATA[$query->getCursor()]]></code> + </InvalidOperand> + </file> <file src="apps/dav/lib/Search/EventsSearchProvider.php"> - <FalsableReturnStatement occurrences="1"> - <code>$this->l10n->l('date', $startDateTime, ['width' => 'medium'])</code> + <FalsableReturnStatement> + <code><![CDATA[$this->l10n->l('date', $startDateTime, ['width' => 'medium'])]]></code> </FalsableReturnStatement> - <InvalidPropertyAssignmentValue occurrences="1"/> - <InvalidReturnStatement occurrences="1"> - <code>$this->l10n->l('date', $startDateTime, ['width' => 'medium'])</code> + <InvalidOperand> + <code><![CDATA[$query->getCursor()]]></code> + </InvalidOperand> + <InvalidPropertyAssignmentValue> + <code><![CDATA[[ + 'ATTENDEE' => ['CN'], + 'ORGANIZER' => ['CN'], + ]]]></code> + </InvalidPropertyAssignmentValue> + <InvalidReturnStatement> + <code><![CDATA[$this->l10n->l('date', $startDateTime, ['width' => 'medium'])]]></code> </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>string</code> </InvalidReturnType> - <UndefinedMethod occurrences="5"> + <UndefinedMethod> <code>getDateTime</code> <code>getDateTime</code> <code>hasTime</code> @@ -557,126 +775,116 @@ </UndefinedMethod> </file> <file src="apps/dav/lib/Search/TasksSearchProvider.php"> - <UndefinedMethod occurrences="3"> + <InvalidOperand> + <code><![CDATA[$query->getCursor()]]></code> + </InvalidOperand> + <UndefinedMethod> <code>getDateTime</code> <code>getDateTime</code> <code>hasTime</code> </UndefinedMethod> </file> <file src="apps/dav/lib/Server.php"> - <InvalidArgument occurrences="2"> - <code>'OCA\DAV\Connector\Sabre::addPlugin'</code> - <code>'OCA\DAV\Connector\Sabre::authInit'</code> + <InvalidArgument> + <code><![CDATA['OCA\DAV\Connector\Sabre::addPlugin']]></code> + <code><![CDATA['OCA\DAV\Connector\Sabre::authInit']]></code> </InvalidArgument> - <TooManyArguments occurrences="2"> + <TooManyArguments> <code>dispatch</code> <code>dispatch</code> </TooManyArguments> </file> - <file src="apps/dav/lib/SystemTag/SystemTagsByIdCollection.php"> - <InvalidNullableReturnType occurrences="1"> - <code>int</code> - </InvalidNullableReturnType> - <NullableReturnStatement occurrences="1"> - <code>null</code> - </NullableReturnStatement> - </file> <file src="apps/dav/lib/SystemTag/SystemTagsObjectMappingCollection.php"> - <InvalidNullableReturnType occurrences="1"> - <code>int</code> - </InvalidNullableReturnType> - <NullableReturnStatement occurrences="1"> - <code>null</code> - </NullableReturnStatement> - <ParamNameMismatch occurrences="2"> + <ParamNameMismatch> <code>$tagId</code> <code>$tagName</code> </ParamNameMismatch> </file> <file src="apps/dav/lib/SystemTag/SystemTagsObjectTypeCollection.php"> - <InvalidNullableReturnType occurrences="1"> - <code>int</code> - </InvalidNullableReturnType> - <NullableReturnStatement occurrences="1"> - <code>null</code> - </NullableReturnStatement> - <ParamNameMismatch occurrences="1"> + <ParamNameMismatch> <code>$objectName</code> </ParamNameMismatch> </file> <file src="apps/dav/lib/SystemTag/SystemTagsRelationsCollection.php"> - <InvalidArgument occurrences="1"> + <InvalidArgument> <code>SystemTagsEntityEvent::EVENT_ENTITY</code> </InvalidArgument> - <TooManyArguments occurrences="1"> + <TooManyArguments> <code>dispatch</code> </TooManyArguments> </file> <file src="apps/dav/lib/Traits/PrincipalProxyTrait.php"> - <MoreSpecificImplementedParamType occurrences="1"> + <MoreSpecificImplementedParamType> <code>$members</code> </MoreSpecificImplementedParamType> </file> <file src="apps/dav/lib/Upload/AssemblyStream.php"> - <FalsableReturnStatement occurrences="1"> + <FalsableReturnStatement> <code>false</code> </FalsableReturnStatement> - <InvalidPropertyAssignmentValue occurrences="1"> - <code>$this->currentStream</code> + <InvalidPropertyAssignmentValue> + <code><![CDATA[$this->currentStream]]></code> </InvalidPropertyAssignmentValue> - <InvalidReturnStatement occurrences="1"> + <InvalidReturnStatement> <code>$context</code> </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>array</code> </InvalidReturnType> - <RedundantFunctionCall occurrences="1"> + <RedundantFunctionCall> <code>array_values</code> </RedundantFunctionCall> </file> + <file src="apps/dav/lib/Upload/ChunkingV2Plugin.php"> + <UndefinedInterfaceMethod> + <code>getId</code> + <code>getId</code> + <code>getId</code> + <code>getInternalPath</code> + <code>getNode</code> + <code>getSize</code> + </UndefinedInterfaceMethod> + </file> <file src="apps/encryption/lib/Command/ScanLegacyFormat.php"> - <InvalidOperand occurrences="1"> - <code>$this->scanFolder($output, '/' . $user)</code> + <InvalidOperand> + <code><![CDATA[$this->scanFolder($output, '/' . $user)]]></code> </InvalidOperand> </file> <file src="apps/encryption/lib/Crypto/Crypt.php"> - <RedundantCondition occurrences="2"> - <code>$userSession</code> + <RedundantCondition> <code>$userSession</code> </RedundantCondition> - <TypeDoesNotContainType occurrences="1"> - <code>get_class($res) === 'OpenSSLAsymmetricKey'</code> + <TypeDoesNotContainType> + <code><![CDATA[get_class($res) === 'OpenSSLAsymmetricKey']]></code> </TypeDoesNotContainType> </file> <file src="apps/encryption/lib/Crypto/Encryption.php"> - <ImplementedParamTypeMismatch occurrences="1"> - <code>$position</code> + <ImplementedParamTypeMismatch> <code>$position</code> </ImplementedParamTypeMismatch> </file> <file src="apps/encryption/lib/KeyManager.php"> - <InvalidScalarArgument occurrences="3"> + <InvalidScalarArgument> <code>time()</code> <code>time()</code> <code>time()</code> </InvalidScalarArgument> - <InvalidThrow occurrences="1"> + <InvalidThrow> <code>throw $exception;</code> </InvalidThrow> </file> <file src="apps/encryption/lib/Session.php"> - <TooManyArguments occurrences="1"> - <code>new Exceptions\PrivateKeyMissingException('please try to log-out and log-in again', 0)</code> + <TooManyArguments> + <code><![CDATA[new Exceptions\PrivateKeyMissingException('please try to log-out and log-in again', 0)]]></code> </TooManyArguments> </file> <file src="apps/encryption/lib/Util.php"> - <RedundantCondition occurrences="2"> - <code>$userSession</code> + <RedundantCondition> <code>$userSession</code> </RedundantCondition> </file> <file src="apps/federatedfilesharing/lib/Controller/RequestHandlerController.php"> - <InvalidScalarArgument occurrences="7"> + <InvalidArgument> <code>$id</code> <code>$id</code> <code>$id</code> @@ -684,97 +892,117 @@ <code>$id</code> <code>$id</code> <code>$remoteId</code> - </InvalidScalarArgument> - <TypeDoesNotContainNull occurrences="3"> + </InvalidArgument> + <TypeDoesNotContainNull> + <code>$id === null || + $token === null || + $shareWith === null || + $permission === null</code> <code>$permission === null</code> <code>$remoteId === null</code> </TypeDoesNotContainNull> </file> <file src="apps/federatedfilesharing/lib/FederatedShareProvider.php"> - <InvalidScalarArgument occurrences="5"> + <InvalidArgument> <code>$shareId</code> <code>$shareId</code> <code>$shareId</code> <code>$shareId</code> - <code>(int)$data['id']</code> - </InvalidScalarArgument> + <code><![CDATA[(int)$data['id']]]></code> + </InvalidArgument> + </file> + <file src="apps/federatedfilesharing/lib/Listeners/LoadAdditionalScriptsListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> </file> <file src="apps/federatedfilesharing/lib/Notifications.php"> - <InvalidReturnType occurrences="3"> + <InvalidReturnType> <code>bool</code> <code>bool</code> <code>bool</code> </InvalidReturnType> </file> <file src="apps/federatedfilesharing/lib/OCM/CloudFederationProviderFiles.php"> - <InvalidReturnStatement occurrences="1"> - <code>$shareId</code> - </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> - <code>string</code> - </InvalidReturnType> - <InvalidScalarArgument occurrences="5"> + <InvalidArgument> <code>$id</code> <code>$id</code> <code>$id</code> <code>$id</code> - <code>(int)$share['id']</code> + </InvalidArgument> + <InvalidReturnStatement> + <code>$shareId</code> + </InvalidReturnStatement> + <InvalidReturnType> + <code>string</code> + </InvalidReturnType> + <InvalidScalarArgument> + <code><![CDATA[(int)$share['id']]]></code> </InvalidScalarArgument> </file> + <file src="apps/federation/lib/Listener/SabrePluginAuthInitListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> <file src="apps/files/ajax/download.php"> - <InvalidArgument occurrences="1"> + <InvalidArgument> <code>$files_list</code> </InvalidArgument> </file> <file src="apps/files/lib/Activity/Provider.php"> - <FalsableReturnStatement occurrences="1"> - <code>$this->fileEncrypted[$fileId]</code> + <FalsableReturnStatement> + <code><![CDATA[$this->fileEncrypted[$fileId]]]></code> </FalsableReturnStatement> - <InvalidScalarArgument occurrences="1"> - <code>$id</code> - </InvalidScalarArgument> - <TypeDoesNotContainType occurrences="7"> - <code>$this->fileIsEncrypted</code> - <code>$this->fileIsEncrypted</code> - <code>$this->fileIsEncrypted</code> - <code>$this->fileIsEncrypted</code> - <code>$this->fileIsEncrypted</code> - <code>$this->fileIsEncrypted</code> - <code>$this->fileIsEncrypted</code> + <TypeDoesNotContainType> + <code><![CDATA[$this->fileIsEncrypted]]></code> + <code><![CDATA[$this->fileIsEncrypted]]></code> + <code><![CDATA[$this->fileIsEncrypted]]></code> + <code><![CDATA[$this->fileIsEncrypted]]></code> + <code><![CDATA[$this->fileIsEncrypted]]></code> + <code><![CDATA[$this->fileIsEncrypted]]></code> + <code><![CDATA[$this->fileIsEncrypted]]></code> + <code><![CDATA[$this->fileIsEncrypted]]></code> + <code><![CDATA[$this->fileIsEncrypted]]></code> + <code><![CDATA[$this->fileIsEncrypted]]></code> + <code><![CDATA[$this->fileIsEncrypted]]></code> + <code><![CDATA[$this->fileIsEncrypted]]></code> + <code><![CDATA[$this->fileIsEncrypted]]></code> + <code><![CDATA[$this->fileIsEncrypted]]></code> </TypeDoesNotContainType> </file> <file src="apps/files/lib/Command/Scan.php"> - <NullArgument occurrences="1"> + <NullArgument> <code>null</code> </NullArgument> </file> <file src="apps/files/lib/Command/ScanAppData.php"> - <NullArgument occurrences="2"> + <NullArgument> <code>null</code> <code>null</code> </NullArgument> </file> <file src="apps/files/lib/Controller/DirectEditingController.php"> - <InvalidArgument occurrences="1"> + <InvalidArgument> <code>$templateId</code> </InvalidArgument> - <UndefinedInterfaceMethod occurrences="2"> + <UndefinedInterfaceMethod> <code>getTemplates</code> <code>open</code> </UndefinedInterfaceMethod> </file> <file src="apps/files/lib/Controller/ViewController.php"> - <InvalidScalarArgument occurrences="1"> + <InvalidArgument> <code>$fileId</code> - </InvalidScalarArgument> - <UndefinedInterfaceMethod occurrences="3"> + </InvalidArgument> + <UndefinedInterfaceMethod> <code>getById</code> <code>getRelativePath</code> <code>getRelativePath</code> </UndefinedInterfaceMethod> </file> <file src="apps/files/lib/Helper.php"> - <UndefinedInterfaceMethod occurrences="13"> + <UndefinedInterfaceMethod> <code>$file</code> <code>$i</code> <code>$i</code> @@ -791,509 +1019,745 @@ </UndefinedInterfaceMethod> </file> <file src="apps/files/lib/Listener/LegacyLoadAdditionalScriptsAdapter.php"> - <InvalidArgument occurrences="1"> + <InvalidArgument> <code>$legacyEvent</code> </InvalidArgument> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/files/lib/Listener/LoadSidebarListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/files/lib/Listener/RenderReferenceEventListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> </file> <file src="apps/files/lib/Service/OwnershipTransferService.php"> - <InvalidIterator occurrences="1"> - <code>$encryptedFiles</code> - </InvalidIterator> - <TypeDoesNotContainType occurrences="1"> + <TypeDoesNotContainType> <code>empty($encryptedFiles)</code> </TypeDoesNotContainType> - <UndefinedInterfaceMethod occurrences="1"> + <UndefinedInterfaceMethod> <code>isReadyForUser</code> </UndefinedInterfaceMethod> </file> <file src="apps/files/lib/Service/TagService.php"> - <InvalidArgument occurrences="1"> - <code>self::class . '::' . $eventName</code> + <InvalidArgument> + <code><![CDATA[self::class . '::' . $eventName]]></code> </InvalidArgument> - <TooManyArguments occurrences="1"> + <TooManyArguments> <code>dispatch</code> </TooManyArguments> </file> <file src="apps/files_external/appinfo/routes.php"> - <InvalidScope occurrences="1"> + <InvalidScope> <code>$this</code> </InvalidScope> </file> - <file src="apps/files_external/lib/Config/ConfigAdapter.php"> - <UndefinedClass occurrences="1"> - <code>new $objectClass($objectStore)</code> - </UndefinedClass> + <file src="apps/files_external/lib/Controller/StoragesController.php"> + <RedundantCast> + <code><![CDATA[(int)$e->getCode()]]></code> + <code>(int)$status</code> + </RedundantCast> </file> <file src="apps/files_external/lib/Controller/UserGlobalStoragesController.php"> - <UndefinedMethod occurrences="1"> + <UndefinedMethod> <code>getUniqueStorages</code> </UndefinedMethod> </file> - <file src="apps/files_external/lib/Lib/Auth/Password/LoginCredentials.php"> - <InvalidArgument occurrences="2"> - <code>addServiceListener</code> - <code>addServiceListener</code> - </InvalidArgument> + <file src="apps/files_external/lib/Lib/Storage/AmazonS3.php"> + <InvalidReturnStatement> + <code><![CDATA[IteratorDirectory::wrap(array_map(function (array $item) { + return $item['name']; + }, $content))]]></code> + </InvalidReturnStatement> + <InvalidReturnType> + <code>opendir</code> + </InvalidReturnType> </file> <file src="apps/files_external/lib/Lib/Storage/SFTP.php"> - <InternalMethod occurrences="1"> + <InternalMethod> <code>put</code> </InternalMethod> + <InvalidReturnStatement> + <code>IteratorDirectory::wrap($dirStream)</code> + </InvalidReturnStatement> + <InvalidReturnType> + <code>opendir</code> + </InvalidReturnType> + </file> + <file src="apps/files_external/lib/Lib/Storage/SMB.php"> + <InvalidReturnStatement> + <code>IteratorDirectory::wrap($names)</code> + </InvalidReturnStatement> + <InvalidReturnType> + <code>opendir</code> + </InvalidReturnType> + <RedundantCast> + <code><![CDATA[(int)$e->getCode()]]></code> + <code><![CDATA[(int)$e->getCode()]]></code> + <code><![CDATA[(int)$e->getCode()]]></code> + <code><![CDATA[(int)$e->getCode()]]></code> + <code><![CDATA[(int)$e->getCode()]]></code> + <code><![CDATA[(int)$e->getCode()]]></code> + <code><![CDATA[(int)$e->getCode()]]></code> + </RedundantCast> </file> <file src="apps/files_external/lib/Lib/Storage/Swift.php"> - <InvalidArgument occurrences="1"> - <code>$object->lastModified</code> + <InvalidArgument> + <code><![CDATA[$object->lastModified]]></code> </InvalidArgument> - <InvalidNullableReturnType occurrences="2"> + <InvalidNullableReturnType> <code>filetype</code> <code>fopen</code> </InvalidNullableReturnType> + <InvalidReturnStatement> + <code>IteratorDirectory::wrap($files)</code> + </InvalidReturnStatement> + <InvalidReturnType> + <code>opendir</code> + </InvalidReturnType> + </file> + <file src="apps/files_external/lib/Listener/GroupDeletedListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/files_external/lib/Listener/StorePasswordListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/files_external/lib/Listener/UserDeletedListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> </file> <file src="apps/files_external/lib/Migration/DummyUserSession.php"> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>login</code> </InvalidReturnType> </file> <file src="apps/files_external/lib/MountConfig.php"> - <InternalMethod occurrences="4"> + <InternalMethod> <code>decrypt</code> <code>encrypt</code> <code>setIV</code> <code>setIV</code> </InternalMethod> - <TooManyArguments occurrences="1"> + <TooManyArguments> <code>test</code> </TooManyArguments> </file> <file src="apps/files_external/lib/Service/BackendService.php"> - <InvalidArgument occurrences="1"> - <code>'OCA\\Files_External::loadAdditionalBackends'</code> + <InvalidArgument> + <code><![CDATA['OCA\\Files_External::loadAdditionalBackends']]></code> </InvalidArgument> - <TooManyArguments occurrences="1"> + <TooManyArguments> <code>dispatch</code> </TooManyArguments> </file> - <file src="apps/files_sharing/lib/AppInfo/Application.php"> - <InvalidArgument occurrences="6"> - <code>addServiceListener</code> - <code>addServiceListener</code> - <code>addServiceListener</code> - <code>addServiceListener</code> - <code>addServiceListener</code> - <code>addServiceListener</code> - </InvalidArgument> - </file> <file src="apps/files_sharing/lib/Controller/ShareAPIController.php"> - <UndefinedClass occurrences="2"> + <RedundantCast> + <code>(int)$code</code> + <code>(int)$code</code> + </RedundantCast> + <UndefinedClass> <code>\OCA\Circles\Api\v1\Circles</code> <code>\OCA\Circles\Api\v1\Circles</code> </UndefinedClass> - <UndefinedDocblockClass occurrences="4"> - <code>$this->getRoomShareHelper()</code> - <code>$this->getRoomShareHelper()</code> - <code>$this->getRoomShareHelper()</code> + <UndefinedDocblockClass> + <code><![CDATA[$this->getRoomShareHelper()]]></code> + <code><![CDATA[$this->getRoomShareHelper()]]></code> + <code><![CDATA[$this->getRoomShareHelper()]]></code> <code>\OCA\Talk\Share\Helper\ShareAPIController</code> </UndefinedDocblockClass> </file> <file src="apps/files_sharing/lib/Controller/ShareController.php"> - <InvalidArgument occurrences="1"> + <InvalidArgument> <code>$files_list</code> </InvalidArgument> </file> <file src="apps/files_sharing/lib/External/Scanner.php"> - <MoreSpecificImplementedParamType occurrences="1"> + <MoreSpecificImplementedParamType> <code>$cacheData</code> </MoreSpecificImplementedParamType> </file> <file src="apps/files_sharing/lib/Listener/LegacyBeforeTemplateRenderedListener.php"> - <InvalidArgument occurrences="1"> + <InvalidArgument> <code>$legacyEvent</code> </InvalidArgument> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/files_sharing/lib/Listener/LoadAdditionalListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/files_sharing/lib/Listener/LoadSidebarListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/files_sharing/lib/Listener/ShareInteractionListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/files_sharing/lib/Listener/UserAddedToGroupListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/files_sharing/lib/Listener/UserShareAcceptanceListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> </file> <file src="apps/files_sharing/lib/Middleware/SharingCheckMiddleware.php"> - <InvalidArgument occurrences="1"> - <code>$exception->getMessage()</code> + <InvalidArgument> + <code><![CDATA[$exception->getMessage()]]></code> </InvalidArgument> </file> <file src="apps/files_sharing/lib/MountProvider.php"> - <RedundantFunctionCall occurrences="1"> + <RedundantFunctionCall> <code>array_values</code> </RedundantFunctionCall> </file> <file src="apps/files_sharing/lib/ShareBackend/File.php"> - <InvalidScalarArgument occurrences="2"> + <InvalidArgument> <code>$itemSource</code> <code>$itemSource</code> - </InvalidScalarArgument> - <MoreSpecificImplementedParamType occurrences="1"> + </InvalidArgument> + <MoreSpecificImplementedParamType> <code>$shareWith</code> </MoreSpecificImplementedParamType> </file> <file src="apps/files_sharing/lib/ShareBackend/Folder.php"> - <UndefinedInterfaceMethod occurrences="1"> + <UndefinedInterfaceMethod> <code>fetchRow</code> </UndefinedInterfaceMethod> </file> <file src="apps/files_sharing/lib/SharedMount.php"> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>bool</code> </InvalidReturnType> </file> <file src="apps/files_sharing/lib/SharedStorage.php"> - <FalsableReturnStatement occurrences="1"> - <code>$this->sourceRootInfo</code> + <FalsableReturnStatement> + <code><![CDATA[$this->sourceRootInfo]]></code> </FalsableReturnStatement> - <InvalidNullableReturnType occurrences="1"> + <InvalidNullableReturnType> <code>ICacheEntry</code> </InvalidNullableReturnType> - <InvalidReturnStatement occurrences="1"> + <InvalidReturnStatement> <code>new FailedCache()</code> </InvalidReturnStatement> - <NullableReturnStatement occurrences="1"> - <code>$this->sourceRootInfo</code> + <NullableReturnStatement> + <code><![CDATA[$this->sourceRootInfo]]></code> </NullableReturnStatement> </file> <file src="apps/files_sharing/lib/Updater.php"> - <UndefinedMethod occurrences="1"> + <UndefinedMethod> <code>moveMount</code> </UndefinedMethod> </file> + <file src="apps/files_sharing/templates/public.php"> + <RedundantCondition> + <code><![CDATA[$_['hideFileList'] !== true]]></code> + <code><![CDATA[isset($_['hideFileList']) && $_['hideFileList'] !== true]]></code> + </RedundantCondition> + </file> + <file src="apps/files_trashbin/lib/Listeners/LoadAdditionalScripts.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> <file src="apps/files_trashbin/lib/Sabre/AbstractTrash.php"> - <InvalidNullableReturnType occurrences="1"> + <InvalidNullableReturnType> <code>int</code> </InvalidNullableReturnType> - <NullableReturnStatement occurrences="1"> - <code>$this->data->getId()</code> + <NullableReturnStatement> + <code><![CDATA[$this->data->getId()]]></code> </NullableReturnStatement> </file> <file src="apps/files_trashbin/lib/Sabre/AbstractTrashFolder.php"> - <InvalidReturnStatement occurrences="1"> + <InvalidReturnStatement> <code>$entry</code> </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>ITrash</code> </InvalidReturnType> </file> <file src="apps/files_trashbin/lib/Sabre/RestoreFolder.php"> - <InvalidNullableReturnType occurrences="1"> + <InvalidNullableReturnType> <code>getChild</code> </InvalidNullableReturnType> - <NullableReturnStatement occurrences="1"> + <NullableReturnStatement> <code>null</code> </NullableReturnStatement> </file> <file src="apps/files_trashbin/lib/Sabre/RootCollection.php"> - <MismatchingDocblockReturnType occurrences="1"> + <MismatchingDocblockReturnType> <code>INode</code> </MismatchingDocblockReturnType> </file> <file src="apps/files_trashbin/lib/Sabre/TrashRoot.php"> - <InvalidReturnStatement occurrences="1"> + <InvalidReturnStatement> <code>$entry</code> </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>ITrash</code> </InvalidReturnType> </file> <file src="apps/files_trashbin/lib/Storage.php"> - <InvalidArgument occurrences="1"> - <code>'OCA\Files_Trashbin::moveToTrash'</code> + <InvalidArgument> + <code><![CDATA['OCA\Files_Trashbin::moveToTrash']]></code> </InvalidArgument> - <InvalidOperand occurrences="1"> - <code>$this->mountPoint</code> + <InvalidOperand> + <code><![CDATA[$this->mountPoint]]></code> </InvalidOperand> - <TooManyArguments occurrences="1"> + <TooManyArguments> <code>dispatch</code> </TooManyArguments> </file> <file src="apps/files_trashbin/lib/Trash/LegacyTrashBackend.php"> - <RedundantCondition occurrences="2"> - <code>$trashFiles</code> + <RedundantCondition> <code>$trashFiles</code> </RedundantCondition> - <TypeDoesNotContainType occurrences="1"> + <TypeDoesNotContainType> <code>null</code> </TypeDoesNotContainType> - <UndefinedInterfaceMethod occurrences="2"> + <UndefinedInterfaceMethod> <code>$file</code> <code>getById</code> </UndefinedInterfaceMethod> </file> <file src="apps/files_trashbin/lib/Trashbin.php"> - <FalsableReturnStatement occurrences="1"> + <FalsableReturnStatement> <code>false</code> </FalsableReturnStatement> - <InvalidScalarArgument occurrences="2"> + <InvalidArgument> <code>$timestamp</code> + </InvalidArgument> + <InvalidScalarArgument> <code>$timestamp</code> </InvalidScalarArgument> </file> <file src="apps/files_versions/appinfo/routes.php"> - <InvalidScope occurrences="2"> + <InvalidScope> <code>$this</code> <code>$this</code> </InvalidScope> </file> + <file src="apps/files_versions/lib/Listener/FileEventsListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/files_versions/lib/Listener/LoadAdditionalListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/files_versions/lib/Listener/LoadSidebarListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> <file src="apps/files_versions/lib/Sabre/RestoreFolder.php"> - <InvalidNullableReturnType occurrences="1"> + <InvalidNullableReturnType> <code>getChild</code> </InvalidNullableReturnType> - <NullableReturnStatement occurrences="1"> + <NullableReturnStatement> <code>null</code> </NullableReturnStatement> </file> <file src="apps/files_versions/lib/Sabre/VersionHome.php"> - <InvalidNullableReturnType occurrences="1"> + <InvalidNullableReturnType> <code>getChild</code> </InvalidNullableReturnType> </file> + <file src="apps/files_versions/lib/Storage.php"> + <RedundantCondition> + <code><![CDATA[$storage1->instanceOfStorage('\OC\Files\ObjectStore\ObjectStoreStorage')]]></code> + </RedundantCondition> + </file> <file src="apps/lookup_server_connector/lib/BackgroundJobs/RetryJob.php"> - <InvalidScalarArgument occurrences="1"> - <code>$this->retries + 1</code> - </InvalidScalarArgument> + <InvalidArgument> + <code><![CDATA[$this->retries + 1]]></code> + </InvalidArgument> </file> <file src="apps/oauth2/lib/Controller/OauthApiController.php"> - <NoInterfaceProperties occurrences="1"> - <code>$this->request->server</code> + <NoInterfaceProperties> + <code><![CDATA[$this->request->server]]></code> </NoInterfaceProperties> </file> <file src="apps/provisioning_api/lib/Controller/UsersController.php"> - <TypeDoesNotContainNull occurrences="2"> + <TypeDoesNotContainNull> <code>$groupid === null</code> <code>$groupid === null</code> </TypeDoesNotContainNull> </file> + <file src="apps/provisioning_api/lib/Listener/UserDeletedListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/provisioning_api/lib/Middleware/ProvisioningApiMiddleware.php"> + <InvalidReturnType> + <code>Response</code> + </InvalidReturnType> + </file> <file src="apps/settings/lib/AppInfo/Application.php"> - <InvalidArgument occurrences="1"> + <InvalidArgument> <code>AppPasswordCreatedActivityListener::class</code> </InvalidArgument> - <UndefinedInterfaceMethod occurrences="1"> + <UndefinedInterfaceMethod> <code>getSettingsManager</code> </UndefinedInterfaceMethod> </file> <file src="apps/settings/lib/Controller/AppSettingsController.php"> - <UndefinedInterfaceMethod occurrences="1"> + <UndefinedInterfaceMethod> <code>ignoreNextcloudRequirementForApp</code> </UndefinedInterfaceMethod> </file> <file src="apps/settings/lib/Controller/CheckSetupController.php"> - <InvalidArgument occurrences="3"> + <InvalidArgument> <code>IDBConnection::CHECK_MISSING_COLUMNS_EVENT</code> <code>IDBConnection::CHECK_MISSING_INDEXES_EVENT</code> <code>IDBConnection::CHECK_MISSING_PRIMARY_KEYS_EVENT</code> </InvalidArgument> - <TooManyArguments occurrences="3"> + <TooManyArguments> <code>dispatch</code> <code>dispatch</code> <code>dispatch</code> </TooManyArguments> </file> <file src="apps/settings/lib/Hooks.php"> - <InvalidArrayOffset occurrences="1"> - <code>[$user->getEMailAddress() => $user->getDisplayName()]</code> + <InvalidArrayOffset> + <code><![CDATA[[$user->getEMailAddress() => $user->getDisplayName()]]]></code> </InvalidArrayOffset> </file> + <file src="apps/settings/lib/Listener/GroupRemovedListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/settings/lib/Listener/UserAddedToGroupActivityListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/settings/lib/Listener/UserRemovedFromGroupActivityListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> <file src="apps/settings/lib/Settings/Admin/Security.php"> - <UndefinedInterfaceMethod occurrences="1"> + <UndefinedInterfaceMethod> <code>isReady</code> </UndefinedInterfaceMethod> </file> <file src="apps/settings/lib/Settings/Admin/Sharing.php"> - <NullArgument occurrences="1"> + <NullArgument> <code>null</code> </NullArgument> </file> <file src="apps/sharebymail/lib/ShareByMailProvider.php"> - <InvalidScalarArgument occurrences="2"> - <code>$share->getId()</code> - <code>(int)$data['id']</code> - </InvalidScalarArgument> + <InvalidArgument> + <code><![CDATA[$share->getId()]]></code> + <code><![CDATA[(int)$data['id']]]></code> + </InvalidArgument> </file> <file src="apps/systemtags/lib/Activity/Listener.php"> - <InvalidScalarArgument occurrences="2"> - <code>$event->getObjectId()</code> - <code>$event->getObjectId()</code> - </InvalidScalarArgument> + <InvalidArgument> + <code><![CDATA[$event->getObjectId()]]></code> + <code><![CDATA[$event->getObjectId()]]></code> + </InvalidArgument> + </file> + <file src="apps/theming/lib/Jobs/MigrateBackgroundImages.php"> + <OverriddenInterfaceConstant> + <code>TIME_SENSITIVE</code> + </OverriddenInterfaceConstant> + </file> + <file src="apps/theming/lib/Listener/BeforePreferenceListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/theming/lib/Listener/BeforeTemplateRenderedListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/theming/lib/Util.php"> + <InvalidReturnStatement> + <code><![CDATA[array_values($color->getRgb())]]></code> + </InvalidReturnStatement> + <InvalidReturnType> + <code>array{0: int, 1: int, 2: int}</code> + </InvalidReturnType> + </file> + <file src="apps/twofactor_backupcodes/lib/Listener/ActivityPublisher.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/twofactor_backupcodes/lib/Listener/ClearNotifications.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/twofactor_backupcodes/lib/Listener/ProviderDisabled.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/twofactor_backupcodes/lib/Listener/ProviderEnabled.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/twofactor_backupcodes/lib/Listener/RegistryUpdater.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/twofactor_backupcodes/lib/Listener/UserDeleted.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> </file> <file src="apps/updatenotification/lib/Notification/BackgroundJob.php"> - <InvalidArgument occurrences="1"> + <InvalidArgument> <code>false</code> </InvalidArgument> - <InvalidPropertyAssignmentValue occurrences="1"> - <code>$this->users</code> + <InvalidPropertyAssignmentValue> + <code><![CDATA[$this->users]]></code> </InvalidPropertyAssignmentValue> </file> <file src="apps/user_ldap/ajax/getNewServerConfigPrefix.php"> - <InvalidScalarArgument occurrences="1"> + <InvalidScalarArgument> <code>$ln + 1</code> </InvalidScalarArgument> </file> <file src="apps/user_ldap/appinfo/routes.php"> - <InvalidScope occurrences="1"> + <InvalidScope> <code>$this</code> </InvalidScope> </file> <file src="apps/user_ldap/lib/Access.php"> - <InvalidReturnStatement occurrences="2"> + <InvalidReturnStatement> <code>$uuid</code> <code>$values</code> </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>string[]</code> </InvalidReturnType> + <RedundantCast> + <code><![CDATA[(int)$e->getCode()]]></code> + </RedundantCast> </file> <file src="apps/user_ldap/lib/AppInfo/Application.php"> - <InvalidArgument occurrences="1"> - <code>'OCA\\User_LDAP\\User\\User::postLDAPBackendAdded'</code> + <InvalidArgument> + <code><![CDATA['OCA\\User_LDAP\\User\\User::postLDAPBackendAdded']]></code> </InvalidArgument> - <TooManyArguments occurrences="1"> + <TooManyArguments> <code>dispatch</code> </TooManyArguments> </file> <file src="apps/user_ldap/lib/Connection.php"> - <ParadoxicalCondition occurrences="1"/> + <NoValue> + <code>$subj</code> + </NoValue> + <ParadoxicalCondition> + <code>default: + $subj = $key; + break;</code> + </ParadoxicalCondition> </file> <file src="apps/user_ldap/lib/Group_LDAP.php"> - <InvalidScalarArgument occurrences="1"> + <InvalidScalarArgument> <code>$groupID</code> </InvalidScalarArgument> </file> <file src="apps/user_ldap/lib/Group_Proxy.php"> - <ParamNameMismatch occurrences="1"> + <ParamNameMismatch> <code>$gid</code> </ParamNameMismatch> </file> <file src="apps/user_ldap/lib/Jobs/Sync.php"> - <InvalidOperand occurrences="1"> + <InvalidOperand> <code>$i</code> </InvalidOperand> - <NullArgument occurrences="1"> + <NullArgument> <code>null</code> </NullArgument> </file> <file src="apps/user_ldap/lib/Mapping/AbstractMapping.php"> - <RedundantCondition occurrences="1"> + <RedundantCondition> <code>isset($qb)</code> </RedundantCondition> - <TypeDoesNotContainNull occurrences="1"> + <TypeDoesNotContainNull> <code>isset($qb)</code> </TypeDoesNotContainNull> </file> <file src="apps/user_ldap/lib/Proxy.php"> - <InvalidDocblock occurrences="1"> + <InvalidDocblock> <code>protected function handleRequest($id, $method, $parameters, $passOnWhen = false) {</code> </InvalidDocblock> </file> <file src="apps/user_ldap/lib/User/Manager.php"> - <InvalidDocblock occurrences="1"> + <InvalidDocblock> <code>public function setLdapAccess(Access $access) {</code> </InvalidDocblock> </file> <file src="apps/user_ldap/lib/User/User.php"> - <FalsableReturnStatement occurrences="1"> - <code>$this->avatarImage</code> + <FalsableReturnStatement> + <code><![CDATA[$this->avatarImage]]></code> </FalsableReturnStatement> - <InvalidPropertyAssignmentValue occurrences="1"> - <code>$this->refreshedFeatures</code> + <InvalidPropertyAssignmentValue> + <code><![CDATA[$this->refreshedFeatures]]></code> </InvalidPropertyAssignmentValue> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>null</code> </InvalidReturnType> + <RedundantCondition> + <code><![CDATA[$aQuota && (count($aQuota) > 0)]]></code> + </RedundantCondition> </file> <file src="apps/user_ldap/lib/User_LDAP.php"> - <ImplementedReturnTypeMismatch occurrences="1"> + <ImplementedReturnTypeMismatch> <code>string|false</code> </ImplementedReturnTypeMismatch> - <MoreSpecificImplementedParamType occurrences="2"> + <MoreSpecificImplementedParamType> <code>$limit</code> <code>$offset</code> </MoreSpecificImplementedParamType> - <NullableReturnStatement occurrences="1"> + <NullableReturnStatement> <code>null</code> </NullableReturnStatement> + <RedundantCondition> + <code><![CDATA[$displayName && (count($displayName) > 0)]]></code> + <code>is_string($dn)</code> + </RedundantCondition> </file> <file src="apps/user_ldap/lib/User_Proxy.php"> - <ParamNameMismatch occurrences="1"> + <ParamNameMismatch> <code>$uid</code> </ParamNameMismatch> </file> + <file src="apps/user_ldap/lib/Wizard.php"> + <InvalidArrayOffset> + <code>$possibleAttrs[$i]</code> + </InvalidArrayOffset> + </file> <file src="apps/user_status/lib/AppInfo/Application.php"> - <UndefinedInterfaceMethod occurrences="1"> + <UndefinedInterfaceMethod> <code>registerProvider</code> </UndefinedInterfaceMethod> </file> + <file src="apps/user_status/lib/Listener/BeforeTemplateRenderedListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/user_status/lib/Listener/UserDeletedListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="apps/user_status/lib/Listener/UserLiveStatusListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> <file src="apps/workflowengine/lib/Check/AbstractStringCheck.php"> - <NullArgument occurrences="1"> + <NullArgument> <code>null</code> </NullArgument> </file> <file src="apps/workflowengine/lib/Check/FileSize.php"> - <FalsableReturnStatement occurrences="1"> - <code>$this->size</code> + <FalsableReturnStatement> + <code><![CDATA[$this->size]]></code> </FalsableReturnStatement> - <InvalidPropertyAssignmentValue occurrences="1"> + <InvalidPropertyAssignmentValue> <code>$size</code> </InvalidPropertyAssignmentValue> - <InvalidReturnStatement occurrences="1"> - <code>$this->size</code> + <InvalidReturnStatement> + <code><![CDATA[$this->size]]></code> </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>string</code> </InvalidReturnType> </file> + <file src="apps/workflowengine/lib/Check/FileSystemTags.php"> + <UndefinedDocblockClass> + <code><![CDATA[$this->storage]]></code> + </UndefinedDocblockClass> + </file> <file src="apps/workflowengine/lib/Check/RequestRemoteAddress.php"> - <InvalidScalarArgument occurrences="4"> + <InvalidArgument> <code>$decodedValue[1]</code> <code>$decodedValue[1]</code> <code>$decodedValue[1]</code> <code>$decodedValue[1]</code> - </InvalidScalarArgument> + </InvalidArgument> </file> <file src="apps/workflowengine/lib/Check/RequestTime.php"> - <InvalidScalarArgument occurrences="2"> + <InvalidScalarArgument> <code>$hour1</code> <code>$minute1</code> </InvalidScalarArgument> </file> <file src="apps/workflowengine/lib/Check/TFileCheck.php"> - <InvalidArgument occurrences="1"> - <code>['app' => Application::APP_ID, 'class' => get_class($subject)]</code> + <InvalidArgument> + <code><![CDATA[['app' => Application::APP_ID, 'class' => get_class($subject)]]]></code> </InvalidArgument> </file> <file src="apps/workflowengine/lib/Entity/File.php"> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>string</code> </InvalidReturnType> - <ParamNameMismatch occurrences="1"> + <ParamNameMismatch> <code>$uid</code> </ParamNameMismatch> </file> + <file src="apps/workflowengine/lib/Listener/LoadAdditionalSettingsScriptsListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> <file src="apps/workflowengine/lib/Manager.php"> - <InvalidArgument occurrences="3"> + <InvalidArgument> + <code>$missingCheck</code> <code>IManager::EVENT_NAME_REG_CHECK</code> <code>IManager::EVENT_NAME_REG_ENTITY</code> <code>IManager::EVENT_NAME_REG_OPERATION</code> </InvalidArgument> - <InvalidOperand occurrences="1"> + <InvalidOperand> <code>$result</code> </InvalidOperand> - <InvalidReturnStatement occurrences="1"> + <InvalidReturnStatement> <code>$result</code> </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>bool</code> </InvalidReturnType> - <InvalidScalarArgument occurrences="1"> - <code>$missingCheck</code> - </InvalidScalarArgument> - <TooManyArguments occurrences="3"> + <TooManyArguments> <code>dispatch</code> <code>dispatch</code> <code>dispatch</code> </TooManyArguments> </file> <file src="apps/workflowengine/lib/Service/RuleMatcher.php"> - <UndefinedInterfaceMethod occurrences="5"> + <UndefinedInterfaceMethod> <code>getAllConfiguredScopesForOperation</code> <code>getChecks</code> <code>getOperations</code> @@ -1301,805 +1765,919 @@ <code>isUserScopeEnabled</code> </UndefinedInterfaceMethod> </file> - <file src="core/Application.php"> - <InvalidArgument occurrences="10"> - <code>addServiceListener</code> - <code>addServiceListener</code> - <code>addServiceListener</code> - <code>addServiceListener</code> - <code>addServiceListener</code> - <code>addServiceListener</code> - <code>addServiceListener</code> - <code>addServiceListener</code> - <code>addServiceListener</code> - <code>addServiceListener</code> - </InvalidArgument> - </file> <file src="core/BackgroundJobs/BackgroundCleanupUpdaterBackupsJob.php"> - <ParamNameMismatch occurrences="1"> + <ParamNameMismatch> <code>$arguments</code> </ParamNameMismatch> </file> <file src="core/BackgroundJobs/CheckForUserCertificates.php"> - <ParamNameMismatch occurrences="1"> + <ParamNameMismatch> <code>$arguments</code> </ParamNameMismatch> </file> <file src="core/BackgroundJobs/LookupServerSendCheckBackgroundJob.php"> - <ParamNameMismatch occurrences="1"> + <ParamNameMismatch> <code>$arguments</code> </ParamNameMismatch> </file> <file src="core/Command/App/Install.php"> - <TypeDoesNotContainType occurrences="1"> + <TypeDoesNotContainType> <code>$result === false</code> </TypeDoesNotContainType> </file> <file src="core/Command/App/ListApps.php"> - <LessSpecificImplementedReturnType occurrences="1"> + <LessSpecificImplementedReturnType> <code>array</code> </LessSpecificImplementedReturnType> </file> + <file src="core/Command/App/Update.php"> + <RedundantCondition> + <code>$result === true</code> + </RedundantCondition> + </file> <file src="core/Command/Config/Import.php"> - <InvalidScalarArgument occurrences="2"> + <InvalidScalarArgument> <code>0</code> <code>1</code> </InvalidScalarArgument> </file> <file src="core/Command/Config/ListConfigs.php"> - <FalsableReturnStatement occurrences="1"> - <code>$this->appConfig->getValues($app, false)</code> + <FalsableReturnStatement> + <code><![CDATA[$this->appConfig->getValues($app, false)]]></code> </FalsableReturnStatement> - <TooManyArguments occurrences="1"> + <TooManyArguments> <code>getFilteredValues</code> </TooManyArguments> </file> <file src="core/Command/Db/AddMissingColumns.php"> - <InvalidArgument occurrences="1"> + <InvalidArgument> <code>IDBConnection::ADD_MISSING_COLUMNS_EVENT</code> </InvalidArgument> - <TooManyArguments occurrences="1"> + <TooManyArguments> <code>dispatch</code> </TooManyArguments> </file> <file src="core/Command/Db/AddMissingIndices.php"> - <InvalidArgument occurrences="1"> + <InvalidArgument> <code>IDBConnection::ADD_MISSING_INDEXES_EVENT</code> </InvalidArgument> - <TooManyArguments occurrences="1"> + <TooManyArguments> <code>dispatch</code> </TooManyArguments> </file> <file src="core/Command/Db/AddMissingPrimaryKeys.php"> - <InvalidArgument occurrences="1"> + <InvalidArgument> <code>IDBConnection::ADD_MISSING_PRIMARY_KEYS_EVENT</code> </InvalidArgument> - <TooManyArguments occurrences="1"> + <TooManyArguments> <code>dispatch</code> </TooManyArguments> </file> <file src="core/Command/Db/ConvertType.php"> - <InvalidScalarArgument occurrences="2"> + <InvalidScalarArgument> <code>0</code> <code>1</code> </InvalidScalarArgument> </file> <file src="core/Command/Encryption/Enable.php"> - <NullArgument occurrences="1"> + <NullArgument> <code>null</code> </NullArgument> </file> <file src="core/Command/Log/File.php"> - <InvalidReturnStatement occurrences="1"> + <InvalidReturnStatement> <code>[0]</code> </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>string[]</code> </InvalidReturnType> </file> <file src="core/Command/Log/Manage.php"> - <InvalidScalarArgument occurrences="1"> + <InvalidArgument> <code>$levelNum</code> - </InvalidScalarArgument> + </InvalidArgument> </file> <file src="core/Command/Maintenance/DataFingerprint.php"> - <InvalidScalarArgument occurrences="1"> - <code>$this->timeFactory->getTime()</code> + <InvalidScalarArgument> + <code><![CDATA[$this->timeFactory->getTime()]]></code> </InvalidScalarArgument> </file> <file src="core/Command/Maintenance/Mimetype/UpdateDB.php"> - <UndefinedInterfaceMethod occurrences="2"> + <UndefinedInterfaceMethod> <code>getAllMappings</code> <code>updateFilecache</code> </UndefinedInterfaceMethod> </file> <file src="core/Command/Maintenance/Mimetype/UpdateJS.php"> - <UndefinedInterfaceMethod occurrences="1"> + <UndefinedInterfaceMethod> <code>getAllAliases</code> </UndefinedInterfaceMethod> </file> <file src="core/Command/Preview/Repair.php"> - <UndefinedInterfaceMethod occurrences="2"> + <UndefinedInterfaceMethod> <code>section</code> <code>section</code> </UndefinedInterfaceMethod> </file> <file src="core/Command/Preview/ResetRenderedTexts.php"> - <InvalidReturnStatement occurrences="1"> + <InvalidReturnStatement> <code>[]</code> </InvalidReturnStatement> </file> <file src="core/Controller/ClientFlowLoginV2Controller.php"> - <TypeDoesNotContainType occurrences="1"> + <TypeDoesNotContainType> <code>!is_string($stateToken)</code> </TypeDoesNotContainType> </file> <file src="core/Controller/CollaborationResourcesController.php"> - <UndefinedInterfaceMethod occurrences="1"> + <UndefinedInterfaceMethod> <code>searchCollections</code> </UndefinedInterfaceMethod> </file> + <file src="core/Controller/LostController.php"> + <RedundantCast> + <code><![CDATA[(int)$e->getCode()]]></code> + </RedundantCast> + </file> <file src="core/Controller/UnifiedSearchController.php"> - <NullArgument occurrences="1"> + <NullArgument> <code>null</code> </NullArgument> - <UndefinedInterfaceMethod occurrences="1"> + <UndefinedInterfaceMethod> <code>findMatchingRoute</code> </UndefinedInterfaceMethod> </file> + <file src="core/Listener/BeforeTemplateRenderedListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> <file src="core/Middleware/TwoFactorMiddleware.php"> - <NoInterfaceProperties occurrences="1"> - <code>$this->request->server</code> + <NoInterfaceProperties> + <code><![CDATA[$this->request->server]]></code> </NoInterfaceProperties> </file> <file src="core/routes.php"> - <InvalidScope occurrences="2"> + <InvalidScope> <code>$this</code> + <code>$this</code> + <code><![CDATA[$this->create('core_ajax_update', '/core/ajax/update.php')]]></code> </InvalidScope> </file> <file src="core/templates/layout.public.php"> - <UndefinedInterfaceMethod occurrences="1"> + <UndefinedInterfaceMethod> <code>getIcon</code> </UndefinedInterfaceMethod> </file> <file src="lib/autoloader.php"> - <RedundantCondition occurrences="2"> - <code>$this->memoryCache</code> - <code>$this->memoryCache</code> + <RedundantCondition> + <code><![CDATA[$this->memoryCache]]></code> </RedundantCondition> </file> <file src="lib/base.php"> - <InvalidArgument occurrences="1"> + <InvalidArgument> <code>$restrictions</code> </InvalidArgument> </file> <file src="lib/private/Accounts/AccountManager.php"> - <InvalidArgument occurrences="1"> - <code>'OC\AccountManager::userUpdated'</code> + <InvalidArgument> + <code><![CDATA['OC\AccountManager::userUpdated']]></code> </InvalidArgument> - <TooManyArguments occurrences="1"> + <TooManyArguments> <code>dispatch</code> </TooManyArguments> </file> <file src="lib/private/Activity/Event.php"> - <ParamNameMismatch occurrences="1"> + <ParamNameMismatch> <code>$affectedUser</code> </ParamNameMismatch> </file> <file src="lib/private/Activity/Manager.php"> - <InvalidPropertyAssignmentValue occurrences="3"> - <code>$this->filterClasses</code> - <code>$this->providerClasses</code> - <code>$this->settingsClasses</code> + <InvalidPropertyAssignmentValue> + <code><![CDATA[$this->filterClasses]]></code> + <code><![CDATA[$this->providerClasses]]></code> + <code><![CDATA[$this->settingsClasses]]></code> </InvalidPropertyAssignmentValue> - <TypeDoesNotContainType occurrences="1"> - <code>!is_string($currentUserId) && $currentUserId !== null</code> + <TypeDoesNotContainType> + <code><![CDATA[!is_string($currentUserId) && $currentUserId !== null]]></code> </TypeDoesNotContainType> </file> <file src="lib/private/AllConfig.php"> - <MoreSpecificImplementedParamType occurrences="1"> + <MoreSpecificImplementedParamType> <code>$key</code> </MoreSpecificImplementedParamType> + <TypeDoesNotContainType> + <code>!is_array($userIds)</code> + </TypeDoesNotContainType> </file> <file src="lib/private/App/AppManager.php"> - <InvalidArgument occurrences="3"> + <InvalidArgument> <code>ManagerEvent::EVENT_APP_DISABLE</code> <code>ManagerEvent::EVENT_APP_ENABLE</code> <code>ManagerEvent::EVENT_APP_ENABLE_FOR_GROUPS</code> </InvalidArgument> - <LessSpecificImplementedReturnType occurrences="2"> + <LessSpecificImplementedReturnType> <code>array</code> <code>array</code> </LessSpecificImplementedReturnType> - <TooManyArguments occurrences="3"> + <TooManyArguments> <code>dispatch</code> <code>dispatch</code> <code>dispatch</code> </TooManyArguments> </file> <file src="lib/private/App/AppStore/Fetcher/Fetcher.php"> - <TooManyArguments occurrences="1"> + <TooManyArguments> <code>fetch</code> </TooManyArguments> </file> <file src="lib/private/App/DependencyAnalyzer.php"> - <InvalidNullableReturnType occurrences="1"> + <InvalidNullableReturnType> <code>bool</code> </InvalidNullableReturnType> - <NullableReturnStatement occurrences="1"> + <NullableReturnStatement> <code>version_compare($first, $second, $operator)</code> </NullableReturnStatement> </file> <file src="lib/private/App/InfoParser.php"> - <InvalidArrayOffset occurrences="2"> + <InvalidArrayOffset> <code>$array[$element][]</code> <code>$array[$element][]</code> </InvalidArrayOffset> - <InvalidReturnStatement occurrences="1"> + <InvalidReturnStatement> <code>(string)$xml</code> </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>array</code> </InvalidReturnType> </file> <file src="lib/private/AppConfig.php"> - <FalsableReturnStatement occurrences="1"> + <FalsableReturnStatement> <code>$values</code> </FalsableReturnStatement> - <NullableReturnStatement occurrences="1"> + <NullableReturnStatement> <code>$default</code> </NullableReturnStatement> </file> <file src="lib/private/AppFramework/Bootstrap/Coordinator.php"> - <InvalidPropertyAssignmentValue occurrences="1"> - <code>$this->bootedApps</code> + <InvalidPropertyAssignmentValue> + <code><![CDATA[$this->bootedApps]]></code> </InvalidPropertyAssignmentValue> </file> <file src="lib/private/AppFramework/Bootstrap/FunctionInjector.php"> - <UndefinedMethod occurrences="1"> + <UndefinedMethod> <code>getName</code> </UndefinedMethod> </file> <file src="lib/private/AppFramework/DependencyInjection/DIContainer.php"> - <ImplementedReturnTypeMismatch occurrences="1"> + <ImplementedReturnTypeMismatch> <code>boolean|null</code> </ImplementedReturnTypeMismatch> - <InvalidReturnStatement occurrences="1"> - <code>$this->server</code> + <InvalidReturnStatement> + <code><![CDATA[$this->server]]></code> </InvalidReturnStatement> - <InvalidReturnType occurrences="2"> + <InvalidReturnType> <code>\OCP\IServerContainer</code> <code>mixed</code> </InvalidReturnType> - <UndefinedInterfaceMethod occurrences="1"> + <UndefinedInterfaceMethod> <code>getAppDataDir</code> </UndefinedInterfaceMethod> </file> <file src="lib/private/AppFramework/Http/Dispatcher.php"> - <InvalidScalarArgument occurrences="1"> - <code>$throwable->getCode()</code> - </InvalidScalarArgument> - <NoInterfaceProperties occurrences="1"> - <code>$this->request->method</code> + <NoInterfaceProperties> + <code><![CDATA[$this->request->method]]></code> </NoInterfaceProperties> - <NullArgument occurrences="1"> + <NullArgument> <code>null</code> </NullArgument> </file> <file src="lib/private/AppFramework/Http/Output.php"> - <InvalidReturnStatement occurrences="2"> + <InvalidReturnStatement> <code>@readfile($path)</code> <code>http_response_code()</code> </InvalidReturnStatement> - <InvalidReturnType occurrences="2"> + <InvalidReturnType> <code>bool</code> <code>int</code> </InvalidReturnType> </file> <file src="lib/private/AppFramework/Http/Request.php"> - <NullableReturnStatement occurrences="9"> - <code>$host</code> + <MissingTemplateParam> + <code>\ArrayAccess</code> + </MissingTemplateParam> + <NullableReturnStatement> <code>$name</code> <code>$remoteAddress</code> - <code>$this->getOverwriteHost()</code> - <code>$this->method</code> + <code><![CDATA[$this->getOverwriteHost()]]></code> + <code><![CDATA[$this->method]]></code> <code>$uri</code> - <code>isset($this->cookies[$key]) ? $this->cookies[$key] : null</code> - <code>isset($this->env[$key]) ? $this->env[$key] : null</code> - <code>isset($this->files[$key]) ? $this->files[$key] : null</code> + <code><![CDATA[isset($this->cookies[$key]) ? $this->cookies[$key] : null]]></code> + <code><![CDATA[isset($this->env[$key]) ? $this->env[$key] : null]]></code> + <code><![CDATA[isset($this->files[$key]) ? $this->files[$key] : null]]></code> </NullableReturnStatement> - <RedundantCondition occurrences="1"> + <RedundantCondition> <code>\is_array($params)</code> </RedundantCondition> - <UndefinedFunction occurrences="1"> + <UndefinedFunction> <code>\Sabre\HTTP\decodePath($pathInfo)</code> </UndefinedFunction> </file> <file src="lib/private/AppFramework/Logger.php"> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>log</code> </InvalidReturnType> </file> <file src="lib/private/AppFramework/Middleware/AdditionalScriptsMiddleware.php"> - <InvalidArgument occurrences="2"> + <InvalidArgument> <code>TemplateResponse::EVENT_LOAD_ADDITIONAL_SCRIPTS</code> <code>TemplateResponse::EVENT_LOAD_ADDITIONAL_SCRIPTS_LOGGEDIN</code> </InvalidArgument> - <TooManyArguments occurrences="2"> + <TooManyArguments> <code>dispatch</code> <code>dispatch</code> </TooManyArguments> </file> <file src="lib/private/AppFramework/Middleware/OCSMiddleware.php"> - <InternalMethod occurrences="1"> + <InternalMethod> <code>setOCSVersion</code> </InternalMethod> </file> <file src="lib/private/AppFramework/Middleware/Security/CORSMiddleware.php"> - <NoInterfaceProperties occurrences="2"> - <code>$this->request->server</code> - <code>$this->request->server</code> + <NoInterfaceProperties> + <code><![CDATA[$this->request->server]]></code> + <code><![CDATA[$this->request->server]]></code> </NoInterfaceProperties> </file> <file src="lib/private/AppFramework/Middleware/Security/SecurityMiddleware.php"> - <NoInterfaceProperties occurrences="1"> - <code>$this->request->server</code> + <NoInterfaceProperties> + <code><![CDATA[$this->request->server]]></code> </NoInterfaceProperties> - <UndefinedClass occurrences="1"> + <UndefinedClass> <code>\OCA\Talk\Controller\PageController</code> </UndefinedClass> </file> <file src="lib/private/AppFramework/Routing/RouteConfig.php"> - <InvalidArrayOffset occurrences="1"> - <code>$action['url-postfix']</code> + <InvalidArrayOffset> + <code><![CDATA[$action['url-postfix']]]></code> </InvalidArrayOffset> </file> <file src="lib/private/AppFramework/Services/AppConfig.php"> - <MoreSpecificImplementedParamType occurrences="1"> + <MoreSpecificImplementedParamType> <code>$default</code> </MoreSpecificImplementedParamType> </file> + <file src="lib/private/AppFramework/Utility/SimpleContainer.php"> + <MissingTemplateParam> + <code>ArrayAccess</code> + </MissingTemplateParam> + <RedundantCast> + <code><![CDATA[(int) $e->getCode()]]></code> + </RedundantCast> + </file> <file src="lib/private/Archive/TAR.php"> - <UndefinedDocblockClass occurrences="1"> - <code>$this->tar->extractInString($path)</code> + <UndefinedDocblockClass> + <code><![CDATA[$this->tar->extractInString($path)]]></code> </UndefinedDocblockClass> </file> + <file src="lib/private/Authentication/Listeners/UserDeletedFilesCleanupListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> + <file src="lib/private/Authentication/Listeners/UserDeletedWebAuthnCleanupListener.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> <file src="lib/private/Authentication/LoginCredentials/Store.php"> - <RedundantCondition occurrences="1"> + <RedundantCondition> <code>$trySession</code> </RedundantCondition> </file> + <file src="lib/private/Authentication/Token/IToken.php"> + <AmbiguousConstantInheritance> + <code>DO_NOT_REMEMBER</code> + <code>PERMANENT_TOKEN</code> + <code>REMEMBER</code> + <code>TEMPORARY_TOKEN</code> + <code>WIPE_TOKEN</code> + </AmbiguousConstantInheritance> + </file> <file src="lib/private/Authentication/Token/PublicKeyToken.php"> - <UndefinedMagicMethod occurrences="16"/> + <UndefinedMagicMethod> + <code>getExpires</code> + <code>getLastCheck</code> + <code>getLoginName</code> + <code>getName</code> + <code>getPassword</code> + <code>getRemember</code> + <code>getScope</code> + <code>setExpires</code> + <code>setLastCheck</code> + <code>setName</code> + <code>setPassword</code> + <code>setPasswordInvalid</code> + <code>setScope</code> + <code>setScope</code> + <code>setToken</code> + <code>setType</code> + </UndefinedMagicMethod> </file> <file src="lib/private/Authentication/TwoFactorAuth/Db/ProviderUserAssignmentDao.php"> - <InvalidReturnStatement occurrences="1"/> - <InvalidReturnType occurrences="1"> + <InvalidReturnStatement> + <code><![CDATA[array_map(function (array $row) { + return [ + 'provider_id' => $row['provider_id'], + 'uid' => $row['uid'], + 'enabled' => 1 === (int) $row['enabled'], + ]; + }, $rows)]]></code> + </InvalidReturnStatement> + <InvalidReturnType> <code>int[]</code> </InvalidReturnType> </file> <file src="lib/private/Authentication/TwoFactorAuth/Manager.php"> - <InvalidArgument occurrences="2"> + <InvalidArgument> <code>IProvider::EVENT_FAILED</code> <code>IProvider::EVENT_SUCCESS</code> </InvalidArgument> - <TooManyArguments occurrences="2"> + <TooManyArguments> <code>dispatch</code> <code>dispatch</code> </TooManyArguments> </file> <file src="lib/private/Authentication/TwoFactorAuth/ProviderSet.php"> - <InvalidArgument occurrences="1"> - <code>$this->providers</code> + <InvalidArgument> + <code><![CDATA[$this->providers]]></code> </InvalidArgument> - <InvalidPropertyAssignmentValue occurrences="2"> - <code>$this->providers</code> + <InvalidPropertyAssignmentValue> + <code><![CDATA[$this->providers]]></code> <code>[]</code> </InvalidPropertyAssignmentValue> - <InvalidReturnStatement occurrences="1"> - <code>$this->providers</code> + <InvalidReturnStatement> + <code><![CDATA[$this->providers]]></code> </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>IProvider[]</code> </InvalidReturnType> - <UndefinedInterfaceMethod occurrences="1"> - <code>$this->providers</code> + <UndefinedInterfaceMethod> + <code><![CDATA[$this->providers]]></code> </UndefinedInterfaceMethod> </file> <file src="lib/private/Authentication/TwoFactorAuth/Registry.php"> - <InvalidArrayAccess occurrences="1"> - <code>$provider['provider_id']</code> + <InvalidArrayAccess> + <code><![CDATA[$provider['provider_id']]]></code> </InvalidArrayAccess> </file> <file src="lib/private/BackgroundJob/QueuedJob.php"> - <MoreSpecificImplementedParamType occurrences="1"> + <MoreSpecificImplementedParamType> + <code>$jobList</code> <code>$jobList</code> </MoreSpecificImplementedParamType> </file> + <file src="lib/private/Cache/CappedMemoryCache.php"> + <MissingTemplateParam> + <code>\ArrayAccess</code> + </MissingTemplateParam> + </file> <file src="lib/private/Cache/File.php"> - <LessSpecificImplementedReturnType occurrences="2"> + <LessSpecificImplementedReturnType> <code>bool|mixed</code> <code>bool|mixed</code> </LessSpecificImplementedReturnType> </file> - <file src="lib/private/Collaboration/Reference/File/FileReferenceEventListener.php"> - <InvalidArgument occurrences="3"> - <code>addServiceListener</code> - <code>addServiceListener</code> - <code>addServiceListener</code> - </InvalidArgument> - </file> - <file src="lib/private/Collaboration/Reference/RenderReferenceEventListener.php"> - <InvalidArgument occurrences="1"> - <code>addServiceListener</code> - </InvalidArgument> + <file src="lib/private/Calendar/Manager.php"> + <NamedArgumentNotAllowed> + <code><![CDATA[array_map(function ($registration) use ($principalUri, $calendarUris) { + try { + /** @var ICalendarProvider $provider */ + $provider = $this->container->get($registration->getService()); + } catch (Throwable $e) { + $this->logger->error('Could not load calendar provider ' . $registration->getService() . ': ' . $e->getMessage(), [ + 'exception' => $e, + ]); + return []; + } + + return $provider->getCalendars($principalUri, $calendarUris); + }, $context->getCalendarProviders())]]></code> + </NamedArgumentNotAllowed> </file> <file src="lib/private/Command/CallableJob.php"> - <ParamNameMismatch occurrences="1"> + <ParamNameMismatch> <code>$serializedCallable</code> </ParamNameMismatch> </file> <file src="lib/private/Command/ClosureJob.php"> - <ParamNameMismatch occurrences="1"> + <InvalidArgument> + <code>[LaravelClosure::class, OpisClosure::class]</code> + </InvalidArgument> + <ParamNameMismatch> <code>$serializedCallable</code> </ParamNameMismatch> </file> <file src="lib/private/Command/CommandJob.php"> - <ParamNameMismatch occurrences="1"> + <ParamNameMismatch> <code>$serializedCommand</code> </ParamNameMismatch> </file> <file src="lib/private/Comments/Comment.php"> - <ImplementedReturnTypeMismatch occurrences="1"> + <ImplementedReturnTypeMismatch> <code>\DateTime|null</code> </ImplementedReturnTypeMismatch> - <ParamNameMismatch occurrences="1"> + <ParamNameMismatch> <code>$timestamp</code> </ParamNameMismatch> - <TypeDoesNotContainType occurrences="1"> + <TypeDoesNotContainType> <code>!is_array($mentions[0])</code> </TypeDoesNotContainType> </file> <file src="lib/private/Comments/Manager.php"> - <InvalidDocblock occurrences="1"> + <InvalidDocblock> <code>public function getForObjectSince(</code> </InvalidDocblock> + <RedundantCast> + <code>(string)$id</code> + </RedundantCast> </file> <file src="lib/private/Config.php"> - <InvalidOperand occurrences="2"> - <code>$this->delete($key)</code> - <code>$this->set($key, $value)</code> + <InvalidOperand> + <code><![CDATA[$this->delete($key)]]></code> + <code><![CDATA[$this->set($key, $value)]]></code> </InvalidOperand> - <UndefinedVariable occurrences="2"> + <UndefinedVariable> <code>$CONFIG</code> <code>$CONFIG</code> </UndefinedVariable> </file> <file src="lib/private/Console/Application.php"> - <InvalidArgument occurrences="1"> + <InvalidArgument> <code>ConsoleEvent::EVENT_RUN</code> </InvalidArgument> - <NoInterfaceProperties occurrences="1"> - <code>$this->request->server</code> + <NoInterfaceProperties> + <code><![CDATA[$this->request->server]]></code> </NoInterfaceProperties> - <TooManyArguments occurrences="1"> + <TooManyArguments> <code>dispatch</code> </TooManyArguments> </file> <file src="lib/private/ContactsManager.php"> - <InvalidNullableReturnType occurrences="3"> + <InvalidArgument> + <code>$searchOptions</code> + </InvalidArgument> + <InvalidNullableReturnType> <code>IAddressBook</code> <code>array</code> <code>bool</code> </InvalidNullableReturnType> - <NullableReturnStatement occurrences="5"> + <NullableReturnStatement> <code>null</code> <code>null</code> <code>null</code> <code>null</code> <code>null</code> </NullableReturnStatement> - <ParamNameMismatch occurrences="2"> + <ParamNameMismatch> <code>$addressBook</code> <code>$addressBook</code> </ParamNameMismatch> </file> <file src="lib/private/DB/Adapter.php"> - <InvalidReturnStatement occurrences="1"> - <code>$builder->execute()</code> + <InvalidReturnStatement> + <code><![CDATA[$builder->execute()]]></code> </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>int</code> </InvalidReturnType> </file> <file src="lib/private/DB/AdapterMySQL.php"> - <InternalMethod occurrences="1"> + <InternalMethod> <code>getParams</code> </InternalMethod> + <InvalidArrayOffset> + <code><![CDATA[$params['collation']]]></code> + </InvalidArrayOffset> </file> <file src="lib/private/DB/Connection.php"> - <InternalMethod occurrences="1"> + <InternalMethod> <code>getParams</code> </InternalMethod> - <InvalidReturnStatement occurrences="1"> - <code>$this->adapter->lastInsertId($seqName)</code> + <InvalidArgument> + <code>$params</code> + </InvalidArgument> + <InvalidArrayOffset> + <code><![CDATA[$params['adapter']]]></code> + <code><![CDATA[$params['tablePrefix']]]></code> + </InvalidArrayOffset> + <InvalidReturnStatement> + <code><![CDATA[$this->adapter->lastInsertId($seqName)]]></code> </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>string</code> </InvalidReturnType> - <ParamNameMismatch occurrences="2"> + <ParamNameMismatch> <code>$seqName</code> <code>$statement</code> </ParamNameMismatch> </file> + <file src="lib/private/DB/Exceptions/DbalException.php"> + <RedundantCondition> + <code><![CDATA[is_int($original->getCode())]]></code> + </RedundantCondition> + <TypeDoesNotContainType> + <code>0</code> + </TypeDoesNotContainType> + </file> <file src="lib/private/DB/MigrationService.php"> - <InvalidOperand occurrences="2"> + <InvalidOperand> <code>$offset</code> <code>$offset</code> </InvalidOperand> </file> <file src="lib/private/DB/OracleConnection.php"> - <InvalidArrayAccess occurrences="1"> + <InvalidArrayAccess> <code>$key[0]</code> </InvalidArrayAccess> </file> <file src="lib/private/DB/QueryBuilder/ExpressionBuilder/ExpressionBuilder.php"> - <ImplicitToStringCast occurrences="1"> - <code>$this->functionBuilder->lower($x)</code> + <ImplicitToStringCast> + <code><![CDATA[$this->functionBuilder->lower($x)]]></code> </ImplicitToStringCast> - <InvalidScalarArgument occurrences="2"> + <InvalidArgument> <code>$y</code> <code>$y</code> - </InvalidScalarArgument> + </InvalidArgument> </file> <file src="lib/private/DB/QueryBuilder/ExpressionBuilder/MySqlExpressionBuilder.php"> - <InternalMethod occurrences="1"> + <InternalMethod> <code>getParams</code> </InternalMethod> + <InvalidArrayOffset> + <code><![CDATA[$params['collation']]]></code> + </InvalidArrayOffset> </file> <file src="lib/private/DB/QueryBuilder/QueryBuilder.php"> - <InvalidNullableReturnType occurrences="1"> + <InvalidNullableReturnType> <code>string</code> </InvalidNullableReturnType> - <NullableReturnStatement occurrences="1"> + <NullableReturnStatement> <code>$alias</code> </NullableReturnStatement> - <ParamNameMismatch occurrences="2"> + <ParamNameMismatch> <code>$groupBys</code> <code>$selects</code> </ParamNameMismatch> </file> <file src="lib/private/DB/QueryBuilder/QuoteHelper.php"> - <InvalidNullableReturnType occurrences="1"> + <InvalidNullableReturnType> <code>string</code> </InvalidNullableReturnType> - <NullableReturnStatement occurrences="1"> + <NullableReturnStatement> <code>$string</code> </NullableReturnStatement> </file> <file src="lib/private/DateTimeFormatter.php"> - <FalsableReturnStatement occurrences="1"/> - <InvalidDocblock occurrences="2"> + <FalsableReturnStatement> + <code><![CDATA[$l->l($type, $timestamp, [ + 'width' => $format, + ])]]></code> + </FalsableReturnStatement> + <InvalidDocblock> <code>public function formatDateSpan($timestamp, $baseTimestamp = null, \OCP\IL10N $l = null) {</code> <code>public function formatTimeSpan($timestamp, $baseTimestamp = null, \OCP\IL10N $l = null) {</code> </InvalidDocblock> - <InvalidReturnStatement occurrences="1"/> - <InvalidReturnType occurrences="1"> + <InvalidReturnStatement> + <code><![CDATA[$l->l($type, $timestamp, [ + 'width' => $format, + ])]]></code> + </InvalidReturnStatement> + <InvalidReturnType> <code>string</code> </InvalidReturnType> </file> <file src="lib/private/DateTimeZone.php"> - <InvalidScalarArgument occurrences="1"> + <InvalidScalarArgument> <code>$timestamp</code> </InvalidScalarArgument> </file> <file src="lib/private/Diagnostics/Query.php"> - <ImplementedReturnTypeMismatch occurrences="1"> + <ImplementedReturnTypeMismatch> <code>float</code> </ImplementedReturnTypeMismatch> </file> <file src="lib/private/Diagnostics/QueryLogger.php"> - <InvalidReturnType occurrences="1"> + <InvalidArgument> + <code>microtime(true)</code> + </InvalidArgument> + <InvalidReturnType> <code>stopQuery</code> </InvalidReturnType> - <InvalidScalarArgument occurrences="1"> - <code>microtime(true)</code> - </InvalidScalarArgument> </file> <file src="lib/private/DirectEditing/Manager.php"> - <InvalidReturnStatement occurrences="1"> - <code>$query->execute()</code> + <InvalidReturnStatement> + <code><![CDATA[$query->execute()]]></code> </InvalidReturnStatement> - <InvalidReturnType occurrences="2"> + <InvalidReturnType> <code>TemplateResponse</code> <code>int</code> </InvalidReturnType> - <UndefinedMethod occurrences="2"> + <UndefinedMethod> + <code>$template</code> + <code>$template</code> <code>$template</code> <code>$template</code> </UndefinedMethod> </file> <file src="lib/private/DirectEditing/Token.php"> - <UndefinedMethod occurrences="1"> + <UndefinedMethod> <code>getShareForToken</code> </UndefinedMethod> </file> <file src="lib/private/Encryption/Keys/Storage.php"> - <InvalidNullableReturnType occurrences="1"> + <InvalidNullableReturnType> <code>deleteUserKey</code> </InvalidNullableReturnType> - <NullArgument occurrences="3"> + <NullArgument> <code>null</code> <code>null</code> <code>null</code> </NullArgument> </file> <file src="lib/private/Encryption/Manager.php"> - <ImplementedReturnTypeMismatch occurrences="1"> + <ImplementedReturnTypeMismatch> <code>bool</code> </ImplementedReturnTypeMismatch> </file> <file src="lib/private/EventDispatcher/EventDispatcher.php"> - <TooManyArguments occurrences="1"> + <TooManyArguments> <code>dispatch</code> </TooManyArguments> </file> <file src="lib/private/EventDispatcher/SymfonyAdapter.php"> - <ImplementedParamTypeMismatch occurrences="1"> + <ImplementedParamTypeMismatch> <code>$eventName</code> </ImplementedParamTypeMismatch> - <ParamNameMismatch occurrences="1"> + <NoValue> + <code>$listener</code> + </NoValue> + <ParamNameMismatch> <code>$eventName</code> </ParamNameMismatch> - <TooManyArguments occurrences="1"> + <TooManyArguments> <code>dispatch</code> </TooManyArguments> </file> <file src="lib/private/Federation/CloudFederationProviderManager.php"> - <ParamNameMismatch occurrences="1"> + <ParamNameMismatch> <code>$providerId</code> </ParamNameMismatch> </file> <file src="lib/private/Files/Cache/Cache.php"> - <InvalidArgument occurrences="1"> + <InvalidArgument> <code>$parentData</code> </InvalidArgument> - <InvalidNullableReturnType occurrences="1"> + <InvalidNullableReturnType> <code>array</code> </InvalidNullableReturnType> - <InvalidScalarArgument occurrences="3"> - <code>$path</code> + <InvalidScalarArgument> <code>$path</code> <code>\OC_Util::normalizeUnicode($path)</code> </InvalidScalarArgument> - <NullableReturnStatement occurrences="2"> + <NullableReturnStatement> <code>null</code> <code>null</code> </NullableReturnStatement> - <ParamNameMismatch occurrences="1"> + <ParamNameMismatch> <code>$searchQuery</code> </ParamNameMismatch> </file> <file src="lib/private/Files/Cache/FailedCache.php"> - <InvalidReturnStatement occurrences="1"> + <InvalidReturnStatement> <code>[]</code> </InvalidReturnStatement> - <InvalidReturnType occurrences="3"> + <InvalidReturnType> <code>getIncomplete</code> <code>insert</code> <code>put</code> </InvalidReturnType> </file> <file src="lib/private/Files/Cache/HomeCache.php"> - <FalsableReturnStatement occurrences="1"> + <FalsableReturnStatement> <code>$data</code> </FalsableReturnStatement> - <MoreSpecificImplementedParamType occurrences="1"/> + <MoreSpecificImplementedParamType> + <code>$file</code> + <code>$file</code> + </MoreSpecificImplementedParamType> </file> <file src="lib/private/Files/Cache/Scanner.php"> - <InvalidReturnStatement occurrences="1"> + <InvalidArgument> + <code>self::SCAN_RECURSIVE_INCOMPLETE</code> + </InvalidArgument> + <InvalidReturnStatement> <code>$existingChildren</code> </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>array[]</code> </InvalidReturnType> - <InvalidScalarArgument occurrences="1"> - <code>self::SCAN_RECURSIVE_INCOMPLETE</code> - </InvalidScalarArgument> </file> <file src="lib/private/Files/Cache/Storage.php"> - <InvalidNullableReturnType occurrences="1"> + <InvalidNullableReturnType> <code>array</code> </InvalidNullableReturnType> - <NullableReturnStatement occurrences="1"> - <code>self::getGlobalCache()->getStorageInfo($storageId)</code> + <NullableReturnStatement> + <code><![CDATA[self::getGlobalCache()->getStorageInfo($storageId)]]></code> </NullableReturnStatement> </file> <file src="lib/private/Files/Cache/Updater.php"> - <RedundantCondition occurrences="1"> - <code>$this->cache instanceof Cache</code> + <RedundantCondition> + <code><![CDATA[$this->cache instanceof Cache]]></code> </RedundantCondition> </file> <file src="lib/private/Files/Cache/Wrapper/CacheWrapper.php"> - <LessSpecificImplementedReturnType occurrences="1"> + <LessSpecificImplementedReturnType> + <code>array</code> <code>array</code> </LessSpecificImplementedReturnType> - <ParamNameMismatch occurrences="1"> + <ParamNameMismatch> <code>$searchQuery</code> </ParamNameMismatch> </file> <file src="lib/private/Files/Config/MountProviderCollection.php"> - <InvalidOperand occurrences="1"> + <InvalidOperand> <code>$user</code> </InvalidOperand> - <RedundantCondition occurrences="1"> - <code>get_class($provider) !== 'OCA\Files_Sharing\MountProvider'</code> + <RedundantCondition> + <code><![CDATA[get_class($provider) !== 'OCA\Files_Sharing\MountProvider']]></code> </RedundantCondition> - <TypeDoesNotContainType occurrences="1"> - <code>get_class($provider) === 'OCA\Files_Sharing\MountProvider'</code> + <TypeDoesNotContainType> + <code><![CDATA[get_class($provider) === 'OCA\Files_Sharing\MountProvider']]></code> </TypeDoesNotContainType> </file> <file src="lib/private/Files/Config/UserMountCache.php"> - <InvalidReturnType occurrences="2"> + <InvalidReturnType> <code>remoteStorageMounts</code> <code>removeUserStorageMount</code> </InvalidReturnType> - <LessSpecificImplementedReturnType occurrences="1"> + <LessSpecificImplementedReturnType> <code>array</code> </LessSpecificImplementedReturnType> </file> + <file src="lib/private/Files/FileInfo.php"> + <MissingTemplateParam> + <code>\ArrayAccess</code> + </MissingTemplateParam> + </file> <file src="lib/private/Files/Filesystem.php"> - <TooManyArguments occurrences="1"> + <TooManyArguments> <code>addStorageWrapper</code> </TooManyArguments> </file> <file src="lib/private/Files/Mount/MountPoint.php"> - <InvalidScalarArgument occurrences="1"> - <code>$exception->getCode()</code> - </InvalidScalarArgument> - <UndefinedInterfaceMethod occurrences="1"> + <UndefinedInterfaceMethod> <code>wrap</code> </UndefinedInterfaceMethod> </file> <file src="lib/private/Files/Mount/ObjectHomeMountProvider.php"> - <InvalidNullableReturnType occurrences="1"> + <InvalidNullableReturnType> <code>\OCP\Files\Mount\IMountPoint</code> </InvalidNullableReturnType> - <NullableReturnStatement occurrences="1"> + <NullableReturnStatement> <code>null</code> </NullableReturnStatement> </file> <file src="lib/private/Files/Node/File.php"> - <InvalidReturnStatement occurrences="1"> - <code>$this->view->hash($type, $this->path, $raw)</code> + <InvalidReturnStatement> + <code><![CDATA[$this->view->hash($type, $this->path, $raw)]]></code> </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> - <code>string</code> + <InvalidReturnType> <code>string</code> </InvalidReturnType> </file> <file src="lib/private/Files/Node/Folder.php"> - <MoreSpecificImplementedParamType occurrences="1"> + <MoreSpecificImplementedParamType> <code>$node</code> </MoreSpecificImplementedParamType> </file> <file src="lib/private/Files/Node/HookConnector.php"> - <InvalidArgument occurrences="13"> - <code>'\OCP\Files::postCopy'</code> - <code>'\OCP\Files::postCreate'</code> - <code>'\OCP\Files::postDelete'</code> - <code>'\OCP\Files::postRename'</code> - <code>'\OCP\Files::postTouch'</code> - <code>'\OCP\Files::postWrite'</code> - <code>'\OCP\Files::preCopy'</code> - <code>'\OCP\Files::preCreate'</code> - <code>'\OCP\Files::preDelete'</code> - <code>'\OCP\Files::preRename'</code> - <code>'\OCP\Files::preTouch'</code> - <code>'\OCP\Files::preWrite'</code> - <code>'\OCP\Files::read'</code> + <InvalidArgument> + <code><![CDATA['\OCP\Files::postCopy']]></code> + <code><![CDATA['\OCP\Files::postCreate']]></code> + <code><![CDATA['\OCP\Files::postDelete']]></code> + <code><![CDATA['\OCP\Files::postRename']]></code> + <code><![CDATA['\OCP\Files::postTouch']]></code> + <code><![CDATA['\OCP\Files::postWrite']]></code> + <code><![CDATA['\OCP\Files::preCopy']]></code> + <code><![CDATA['\OCP\Files::preCreate']]></code> + <code><![CDATA['\OCP\Files::preDelete']]></code> + <code><![CDATA['\OCP\Files::preRename']]></code> + <code><![CDATA['\OCP\Files::preTouch']]></code> + <code><![CDATA['\OCP\Files::preWrite']]></code> + <code><![CDATA['\OCP\Files::read']]></code> </InvalidArgument> - <TooManyArguments occurrences="13"> + <TooManyArguments> <code>dispatch</code> <code>dispatch</code> <code>dispatch</code> @@ -2114,7 +2692,7 @@ <code>dispatch</code> <code>dispatch</code> </TooManyArguments> - <UndefinedInterfaceMethod occurrences="13"> + <UndefinedInterfaceMethod> <code>emit</code> <code>emit</code> <code>emit</code> @@ -2131,344 +2709,317 @@ </UndefinedInterfaceMethod> </file> <file src="lib/private/Files/Node/LazyFolder.php"> - <InvalidReturnStatement occurrences="1"> - <code>$this->__call(__FUNCTION__, func_get_args())</code> + <InvalidReturnStatement> + <code><![CDATA[$this->__call(__FUNCTION__, func_get_args())]]></code> </InvalidReturnStatement> </file> <file src="lib/private/Files/Node/Node.php"> - <ImplementedReturnTypeMismatch occurrences="1"> + <ImplementedReturnTypeMismatch> <code>Node</code> </ImplementedReturnTypeMismatch> - <InvalidArgument occurrences="1"> - <code>'\OCP\Files::' . $hook</code> + <InvalidArgument> + <code><![CDATA['\OCP\Files::' . $hook]]></code> </InvalidArgument> - <InvalidNullableReturnType occurrences="1"/> - <InvalidReturnType occurrences="1"> + <InvalidNullableReturnType> + <code>FileInfo</code> + </InvalidNullableReturnType> + <InvalidReturnType> <code>getChecksum</code> </InvalidReturnType> - <NullableReturnStatement occurrences="1"/> - <ParamNameMismatch occurrences="1"> + <NullableReturnStatement> + <code><![CDATA[$this->fileInfo]]></code> + </NullableReturnStatement> + <ParamNameMismatch> <code>$type</code> </ParamNameMismatch> - <TooManyArguments occurrences="1"> + <TooManyArguments> <code>dispatch</code> </TooManyArguments> - <UndefinedInterfaceMethod occurrences="1"> - <code>$this->fileInfo</code> + <UndefinedInterfaceMethod> + <code><![CDATA[$this->fileInfo]]></code> + <code><![CDATA[$this->fileInfo]]></code> </UndefinedInterfaceMethod> </file> <file src="lib/private/Files/Node/Root.php"> - <ImplementedReturnTypeMismatch occurrences="1"> + <ImplementedReturnTypeMismatch> <code>Node</code> </ImplementedReturnTypeMismatch> - <InvalidNullableReturnType occurrences="1"> + <InvalidNullableReturnType> <code>\OC\User\User</code> </InvalidNullableReturnType> - <NullableReturnStatement occurrences="1"> - <code>$this->user</code> + <NullableReturnStatement> + <code><![CDATA[$this->user]]></code> </NullableReturnStatement> - <UndefinedMethod occurrences="1"> + <UndefinedMethod> <code>remove</code> </UndefinedMethod> </file> <file src="lib/private/Files/ObjectStore/HomeObjectStoreStorage.php"> - <ImplementedReturnTypeMismatch occurrences="1"> + <ImplementedReturnTypeMismatch> <code>false|string</code> </ImplementedReturnTypeMismatch> </file> <file src="lib/private/Files/ObjectStore/NoopScanner.php"> - <MoreSpecificImplementedParamType occurrences="1"> + <MoreSpecificImplementedParamType> <code>$cacheData</code> </MoreSpecificImplementedParamType> </file> <file src="lib/private/Files/ObjectStore/ObjectStoreStorage.php"> - <InvalidScalarArgument occurrences="1"> + <InvalidScalarArgument> <code>$source</code> </InvalidScalarArgument> </file> <file src="lib/private/Files/ObjectStore/S3ConnectionTrait.php"> - <InternalClass occurrences="1"> + <InternalClass> + <code>ClientResolver::_default_signature_provider()</code> <code>ClientResolver::_default_signature_provider()</code> </InternalClass> - <InternalMethod occurrences="1"> + <InternalMethod> <code>ClientResolver::_default_signature_provider()</code> </InternalMethod> - <UndefinedFunction occurrences="2"> - <code>\Aws\or_chain([self::class, 'legacySignatureProvider'], ClientResolver::_default_signature_provider())</code> + <UndefinedFunction> + <code>Promise\promise_for( + new Credentials($key, $secret) + )</code> + <code><![CDATA[\Aws\or_chain([self::class, 'legacySignatureProvider'], ClientResolver::_default_signature_provider())]]></code> </UndefinedFunction> </file> <file src="lib/private/Files/ObjectStore/S3ObjectTrait.php"> - <InternalMethod occurrences="1"> + <InternalMethod> <code>upload</code> </InternalMethod> - <UndefinedFunction occurrences="1"> + <UndefinedFunction> <code>\Aws\serialize($command)</code> </UndefinedFunction> </file> <file src="lib/private/Files/ObjectStore/S3Signature.php"> - <NullArgument occurrences="1"> + <NullArgument> <code>null</code> </NullArgument> </file> <file src="lib/private/Files/ObjectStore/StorageObjectStore.php"> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>string</code> </InvalidReturnType> </file> <file src="lib/private/Files/Storage/Common.php"> - <ImplementedReturnTypeMismatch occurrences="1"> + <ImplementedReturnTypeMismatch> <code>string|false</code> </ImplementedReturnTypeMismatch> - <InvalidOperand occurrences="2"> + <InvalidOperand> <code>!$permissions</code> - <code>$this->copyFromStorage($sourceStorage, $sourceInternalPath . '/' . $file, $targetInternalPath . '/' . $file)</code> + <code><![CDATA[$this->copyFromStorage($sourceStorage, $sourceInternalPath . '/' . $file, $targetInternalPath . '/' . $file)]]></code> </InvalidOperand> - <NoInterfaceProperties occurrences="8"> - <code>$storage->cache</code> - <code>$storage->cache</code> - <code>$storage->propagator</code> - <code>$storage->propagator</code> - <code>$storage->scanner</code> - <code>$storage->scanner</code> - <code>$storage->updater</code> - <code>$storage->updater</code> + <NoInterfaceProperties> + <code><![CDATA[$storage->cache]]></code> + <code><![CDATA[$storage->cache]]></code> + <code><![CDATA[$storage->propagator]]></code> + <code><![CDATA[$storage->propagator]]></code> + <code><![CDATA[$storage->scanner]]></code> + <code><![CDATA[$storage->scanner]]></code> + <code><![CDATA[$storage->updater]]></code> + <code><![CDATA[$storage->updater]]></code> </NoInterfaceProperties> </file> <file src="lib/private/Files/Storage/DAV.php"> - <InvalidClass occurrences="2"> + <InvalidClass> <code>ArrayCache</code> <code>ArrayCache</code> </InvalidClass> - <InvalidNullableReturnType occurrences="1"> + <InvalidNullableReturnType> <code>getETag</code> </InvalidNullableReturnType> - <InvalidReturnStatement occurrences="1"> - <code>$response->getBody()</code> + <InvalidReturnStatement> + <code><![CDATA[$response->getBody()]]></code> + <code>IteratorDirectory::wrap($content)</code> </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>fopen</code> + <code>opendir</code> </InvalidReturnType> - <NullableReturnStatement occurrences="1"> + <NullableReturnStatement> <code>null</code> </NullableReturnStatement> </file> <file src="lib/private/Files/Storage/FailedStorage.php"> - <InvalidReturnStatement occurrences="2"> + <InvalidReturnStatement> <code>new FailedCache()</code> <code>true</code> </InvalidReturnStatement> - <InvalidReturnType occurrences="2"> + <InvalidReturnType> <code>getCache</code> <code>verifyPath</code> </InvalidReturnType> - <InvalidScalarArgument occurrences="38"> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - <code>$this->e->getCode()</code> - </InvalidScalarArgument> </file> <file src="lib/private/Files/Storage/Local.php"> - <ImplicitToStringCast occurrences="1"> + <ImplicitToStringCast> <code>$file</code> </ImplicitToStringCast> - <InvalidOperand occurrences="1"> + <InvalidOperand> <code>$result</code> </InvalidOperand> - <InvalidReturnStatement occurrences="1"> + <InvalidReturnStatement> <code>$result</code> </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>rename</code> </InvalidReturnType> - <TypeDoesNotContainNull occurrences="2"> + <TypeDoesNotContainNull> <code>$space === false || is_null($space)</code> <code>is_null($space)</code> </TypeDoesNotContainNull> - <TypeDoesNotContainType occurrences="1"> + <TypeDoesNotContainType> <code>$stat === false</code> </TypeDoesNotContainType> </file> <file src="lib/private/Files/Storage/LocalRootStorage.php"> - <NoInterfaceProperties occurrences="2"> - <code>$storage->scanner</code> - <code>$storage->scanner</code> + <NoInterfaceProperties> + <code><![CDATA[$storage->scanner]]></code> + <code><![CDATA[$storage->scanner]]></code> </NoInterfaceProperties> </file> <file src="lib/private/Files/Storage/Wrapper/Encoding.php"> - <InvalidScalarArgument occurrences="3"> + <InvalidArgument> <code>\Normalizer::FORM_C</code> <code>\Normalizer::FORM_C</code> <code>\Normalizer::FORM_D</code> - </InvalidScalarArgument> - <UndefinedInterfaceMethod occurrences="13"> - <code>$this->namesCache</code> - <code>$this->namesCache</code> - <code>$this->namesCache</code> - <code>$this->namesCache</code> - <code>$this->namesCache</code> - <code>$this->namesCache</code> - <code>$this->namesCache</code> - <code>$this->namesCache</code> - <code>$this->namesCache</code> - <code>$this->namesCache</code> - <code>$this->namesCache</code> - <code>$this->namesCache</code> - <code>$this->namesCache</code> + </InvalidArgument> + <UndefinedInterfaceMethod> + <code><![CDATA[$this->namesCache]]></code> + <code><![CDATA[$this->namesCache]]></code> + <code><![CDATA[$this->namesCache]]></code> + <code><![CDATA[$this->namesCache]]></code> + <code><![CDATA[$this->namesCache]]></code> + <code><![CDATA[$this->namesCache]]></code> + <code><![CDATA[$this->namesCache]]></code> + <code><![CDATA[$this->namesCache]]></code> + <code><![CDATA[$this->namesCache]]></code> + <code><![CDATA[$this->namesCache]]></code> + <code><![CDATA[$this->namesCache]]></code> + <code><![CDATA[$this->namesCache]]></code> + <code><![CDATA[$this->namesCache]]></code> + <code><![CDATA[$this->namesCache]]></code> + <code><![CDATA[$this->namesCache]]></code> + <code><![CDATA[$this->namesCache]]></code> + <code><![CDATA[$this->namesCache]]></code> </UndefinedInterfaceMethod> </file> <file src="lib/private/Files/Storage/Wrapper/Encryption.php"> - <FalsableReturnStatement occurrences="1"> + <FalsableReturnStatement> <code>false</code> </FalsableReturnStatement> - <InvalidOperand occurrences="3"> + <InvalidOperand> <code>$result</code> <code>$result</code> - <code>$this->copyFromStorage($sourceStorage, $sourceInternalPath . '/' . $file, $targetInternalPath . '/' . $file, false, $isRename)</code> + <code><![CDATA[$this->copyFromStorage($sourceStorage, $sourceInternalPath . '/' . $file, $targetInternalPath . '/' . $file, false, $isRename)]]></code> </InvalidOperand> - <InvalidReturnStatement occurrences="3"> + <InvalidReturnStatement> <code>$newUnencryptedSize</code> <code>$result</code> - <code>$this->storage->file_get_contents($path)</code> + <code><![CDATA[$this->storage->file_get_contents($path)]]></code> </InvalidReturnStatement> - <InvalidReturnType occurrences="3"> + <InvalidReturnType> <code>bool</code> <code>int</code> <code>string</code> </InvalidReturnType> - <InvalidScalarArgument occurrences="4"> + <InvalidScalarArgument> <code>$lastChunkPos</code> - <code>$newUnencryptedSize</code> - <code>$size</code> <code>$size</code> - <code>$sourceStorage->filemtime($sourceInternalPath)</code> </InvalidScalarArgument> </file> <file src="lib/private/Files/Storage/Wrapper/Jail.php"> - <InvalidReturnStatement occurrences="1"> - <code>$this->getWrapperStorage()->filetype($this->getUnjailedPath($path))</code> + <InvalidReturnStatement> + <code><![CDATA[$this->getWrapperStorage()->filetype($this->getUnjailedPath($path))]]></code> </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>bool</code> </InvalidReturnType> </file> - <file src="lib/private/Files/Storage/Wrapper/Quota.php"> - <InvalidScalarArgument occurrences="1"> - <code>$free</code> - </InvalidScalarArgument> - </file> <file src="lib/private/Files/Storage/Wrapper/Wrapper.php"> - <InvalidReturnStatement occurrences="1"> - <code>$this->getWrapperStorage()->test()</code> + <InvalidReturnStatement> + <code><![CDATA[$this->getWrapperStorage()->test()]]></code> </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>true</code> </InvalidReturnType> </file> <file src="lib/private/Files/Stream/SeekableHttpStream.php"> - <InvalidReturnType occurrences="2"> + <InvalidReturnType> <code>stream_close</code> <code>stream_flush</code> </InvalidReturnType> </file> <file src="lib/private/Files/Template/TemplateManager.php"> - <RedundantCondition occurrences="1"> + <RedundantCondition> <code>!$isDefaultTemplates</code> </RedundantCondition> </file> <file src="lib/private/Files/Type/Detection.php"> - <ParamNameMismatch occurrences="1"> + <ParamNameMismatch> <code>$mimetype</code> </ParamNameMismatch> </file> <file src="lib/private/Files/Type/Loader.php"> - <InvalidReturnStatement occurrences="1"> - <code>$update->execute()</code> + <InvalidReturnStatement> + <code><![CDATA[$update->execute()]]></code> </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>int</code> </InvalidReturnType> </file> <file src="lib/private/Files/View.php"> - <InvalidScalarArgument occurrences="1"> + <InvalidScalarArgument> <code>$mtime</code> </InvalidScalarArgument> + <UndefinedInterfaceMethod> + <code>acquireLock</code> + <code>changeLock</code> + <code>releaseLock</code> + </UndefinedInterfaceMethod> </file> <file src="lib/private/FullTextSearch/Model/IndexDocument.php"> - <TypeDoesNotContainNull occurrences="1"> - <code>is_null($this->getContent())</code> + <TypeDoesNotContainNull> + <code><![CDATA[is_null($this->getContent())]]></code> </TypeDoesNotContainNull> </file> <file src="lib/private/Group/Database.php"> - <InvalidArrayOffset occurrences="1"> - <code>$this->groupCache[$gid]['displayname']</code> + <InvalidArrayOffset> + <code><![CDATA[$this->groupCache[$gid]['displayname']]]></code> </InvalidArrayOffset> - <InvalidPropertyAssignmentValue occurrences="3"> - <code>$this->groupCache</code> - <code>$this->groupCache</code> - <code>$this->groupCache</code> + <InvalidPropertyAssignmentValue> + <code><![CDATA[$this->groupCache]]></code> + <code><![CDATA[$this->groupCache]]></code> + <code><![CDATA[$this->groupCache]]></code> </InvalidPropertyAssignmentValue> </file> + <file src="lib/private/Group/DisplayNameCache.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> <file src="lib/private/Group/Group.php"> - <InvalidArgument occurrences="7"> - <code>IGroup::class . '::postAddUser'</code> - <code>IGroup::class . '::postDelete'</code> - <code>IGroup::class . '::postRemoveUser'</code> - <code>IGroup::class . '::preAddUser'</code> - <code>IGroup::class . '::preDelete'</code> - <code>IGroup::class . '::preRemoveUser'</code> + <InvalidArgument> + <code><![CDATA[IGroup::class . '::postAddUser']]></code> + <code><![CDATA[IGroup::class . '::postDelete']]></code> + <code><![CDATA[IGroup::class . '::postRemoveUser']]></code> + <code><![CDATA[IGroup::class . '::preAddUser']]></code> + <code><![CDATA[IGroup::class . '::preDelete']]></code> + <code><![CDATA[IGroup::class . '::preRemoveUser']]></code> <code>bool</code> </InvalidArgument> - <InvalidOperand occurrences="1"> + <InvalidOperand> <code>$hide</code> </InvalidOperand> - <MoreSpecificImplementedParamType occurrences="1"> + <MoreSpecificImplementedParamType> <code>$user</code> </MoreSpecificImplementedParamType> - <RedundantCondition occurrences="6"> - <code>$this->emitter</code> - <code>$this->emitter</code> - <code>$this->emitter</code> - <code>$this->emitter</code> - <code>$this->emitter</code> - <code>$this->emitter</code> + <RedundantCondition> + <code><![CDATA[$this->emitter]]></code> + <code><![CDATA[$this->emitter]]></code> + <code><![CDATA[$this->emitter]]></code> </RedundantCondition> - <TooManyArguments occurrences="6"> + <TooManyArguments> <code>dispatch</code> <code>dispatch</code> <code>dispatch</code> @@ -2476,7 +3027,7 @@ <code>dispatch</code> <code>dispatch</code> </TooManyArguments> - <UndefinedMethod occurrences="4"> + <UndefinedMethod> <code>addToGroup</code> <code>countUsersInGroup</code> <code>deleteGroup</code> @@ -2484,170 +3035,225 @@ </UndefinedMethod> </file> <file src="lib/private/Group/Manager.php"> - <UndefinedInterfaceMethod occurrences="3"> + <UndefinedInterfaceMethod> <code>createGroup</code> <code>getGroupDetails</code> <code>isAdmin</code> </UndefinedInterfaceMethod> </file> <file src="lib/private/Http/Client/Response.php"> - <InvalidNullableReturnType occurrences="1"> + <InvalidNullableReturnType> <code>string|resource</code> </InvalidNullableReturnType> - <NullableReturnStatement occurrences="1"/> + <NullableReturnStatement> + <code><![CDATA[$this->stream ? + $this->response->getBody()->detach(): + $this->response->getBody()->getContents()]]></code> + </NullableReturnStatement> </file> <file src="lib/private/Installer.php"> - <FalsableReturnStatement occurrences="1"> + <FalsableReturnStatement> <code>false</code> </FalsableReturnStatement> - <InvalidArgument occurrences="2"> + <InvalidArgument> <code>false</code> <code>false</code> </InvalidArgument> - <InvalidArrayOffset occurrences="2"> - <code>$app['path']</code> - <code>$app['path']</code> + <InvalidArrayOffset> + <code><![CDATA[$app['path']]]></code> + <code><![CDATA[$app['path']]]></code> </InvalidArrayOffset> - <NullArgument occurrences="1"> + <NullArgument> <code>null</code> </NullArgument> </file> <file src="lib/private/IntegrityCheck/Checker.php"> - <InvalidArrayAccess occurrences="3"> - <code>$x509->getDN(X509::DN_OPENSSL)['CN']</code> - <code>$x509->getDN(X509::DN_OPENSSL)['CN']</code> - <code>$x509->getDN(true)['CN']</code> + <InvalidArrayAccess> + <code><![CDATA[$x509->getDN(X509::DN_OPENSSL)['CN']]]></code> + <code><![CDATA[$x509->getDN(X509::DN_OPENSSL)['CN']]]></code> + <code><![CDATA[$x509->getDN(true)['CN']]]></code> </InvalidArrayAccess> - <UndefinedInterfaceMethod occurrences="2"> + <UndefinedInterfaceMethod> <code>getAllAliases</code> <code>getOnlyDefaultAliases</code> </UndefinedInterfaceMethod> </file> + <file src="lib/private/IntegrityCheck/Iterator/ExcludeFileByNameFilterIterator.php"> + <MissingTemplateParam> + <code>ExcludeFileByNameFilterIterator</code> + </MissingTemplateParam> + </file> + <file src="lib/private/IntegrityCheck/Iterator/ExcludeFoldersByPathFilterIterator.php"> + <MissingTemplateParam> + <code>ExcludeFoldersByPathFilterIterator</code> + </MissingTemplateParam> + </file> <file src="lib/private/L10N/Factory.php"> - <ImplementedReturnTypeMismatch occurrences="1"> + <ImplementedReturnTypeMismatch> <code>null|string</code> </ImplementedReturnTypeMismatch> - <LessSpecificImplementedReturnType occurrences="1"> + <LessSpecificImplementedReturnType> <code>array|mixed</code> </LessSpecificImplementedReturnType> </file> <file src="lib/private/LargeFileHelper.php"> - <InvalidOperand occurrences="1"> + <InvalidOperand> <code>$matches[1]</code> </InvalidOperand> - <InvalidScalarArgument occurrences="1"> - <code>$data</code> - </InvalidScalarArgument> </file> <file src="lib/private/Lockdown/Filesystem/NullCache.php"> - <InvalidNullableReturnType occurrences="1"> + <InvalidNullableReturnType> <code>get</code> </InvalidNullableReturnType> - <InvalidReturnStatement occurrences="1"> + <InvalidReturnStatement> <code>[]</code> </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>getIncomplete</code> </InvalidReturnType> - <NullableReturnStatement occurrences="1"/> + <NullableReturnStatement> + <code><![CDATA[$file !== '' ? null : + new CacheEntry([ + 'fileid' => -1, + 'parent' => -1, + 'name' => '', + 'path' => '', + 'size' => '0', + 'mtime' => time(), + 'storage_mtime' => time(), + 'etag' => '', + 'mimetype' => FileInfo::MIMETYPE_FOLDER, + 'mimepart' => 'httpd', + 'permissions' => Constants::PERMISSION_READ + ])]]></code> + </NullableReturnStatement> </file> <file src="lib/private/Lockdown/Filesystem/NullStorage.php"> - <InvalidNullableReturnType occurrences="2"> + <InvalidNullableReturnType> <code>getOwner</code> <code>getPermissions</code> </InvalidNullableReturnType> - <InvalidReturnStatement occurrences="2"> + <InvalidReturnStatement> <code>new IteratorDirectory([])</code> <code>new NullCache()</code> </InvalidReturnStatement> - <InvalidReturnType occurrences="2"> + <InvalidReturnType> <code>getCache</code> <code>opendir</code> </InvalidReturnType> - <NullableReturnStatement occurrences="2"> + <NullableReturnStatement> <code>null</code> <code>null</code> </NullableReturnStatement> - <TooManyArguments occurrences="1"> + <TooManyArguments> <code>new IteratorDirectory([])</code> </TooManyArguments> </file> <file src="lib/private/Lockdown/LockdownManager.php"> - <InvalidFunctionCall occurrences="1"> + <InvalidFunctionCall> <code>$callback()</code> </InvalidFunctionCall> - <InvalidPropertyAssignmentValue occurrences="1"> + <InvalidPropertyAssignmentValue> <code>$sessionCallback</code> </InvalidPropertyAssignmentValue> </file> <file src="lib/private/Log.php"> - <RedundantCondition occurrences="2"> - <code>$request</code> + <RedundantCondition> <code>$request</code> </RedundantCondition> </file> <file src="lib/private/Log/File.php"> - <TypeDoesNotContainNull occurrences="1"> + <TypeDoesNotContainNull> <code>$limit === null</code> </TypeDoesNotContainNull> </file> <file src="lib/private/Log/LogDetails.php"> - <RedundantCondition occurrences="1"> - <code>is_string($request->getMethod())</code> + <RedundantCondition> + <code><![CDATA[is_string($request->getMethod())]]></code> </RedundantCondition> </file> <file src="lib/private/Log/Rotate.php"> - <ParamNameMismatch occurrences="1"> + <ParamNameMismatch> <code>$dummy</code> </ParamNameMismatch> </file> <file src="lib/private/Log/Systemdlog.php"> - <UndefinedFunction occurrences="1"/> + <UndefinedFunction> + <code><![CDATA[sd_journal_send('PRIORITY='.$journal_level, + 'SYSLOG_IDENTIFIER='.$this->syslogId, + 'MESSAGE=' . $this->logDetailsAsJSON($app, $message, $level))]]></code> + </UndefinedFunction> </file> <file src="lib/private/Memcache/APCu.php"> - <InvalidReturnStatement occurrences="1"> - <code>apcu_add($this->getPrefix() . $key, $value, $ttl)</code> + <InvalidClass> + <code>\APCUIterator</code> + </InvalidClass> + <InvalidReturnStatement> + <code><![CDATA[apcu_add($this->getPrefix() . $key, $value, $ttl)]]></code> </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>bool</code> </InvalidReturnType> </file> <file src="lib/private/Memcache/Cache.php"> - <LessSpecificImplementedReturnType occurrences="4"> + <LessSpecificImplementedReturnType> <code>mixed</code> <code>mixed</code> <code>mixed</code> <code>mixed</code> </LessSpecificImplementedReturnType> + <MissingTemplateParam> + <code>\ArrayAccess</code> + </MissingTemplateParam> + </file> + <file src="lib/private/Memcache/ProfilerWrapperCache.php"> + <MissingTemplateParam> + <code>\ArrayAccess</code> + </MissingTemplateParam> </file> <file src="lib/private/Memcache/Redis.php"> - <InvalidMethodCall occurrences="2"> + <InvalidMethodCall> <code>exec</code> <code>exec</code> </InvalidMethodCall> </file> + <file src="lib/private/Metadata/Provider/ExifProvider.php"> + <InvalidReturnStatement> + <code>$exifData</code> + </InvalidReturnStatement> + <InvalidReturnType> + <code><![CDATA[array{'gps': FileMetadata, 'size': FileMetadata}]]></code> + </InvalidReturnType> + </file> <file src="lib/private/NavigationManager.php"> - <ParamNameMismatch occurrences="1"> + <ParamNameMismatch> <code>$id</code> </ParamNameMismatch> </file> <file src="lib/private/Preview/BackgroundCleanupJob.php"> - <InvalidReturnStatement occurrences="1"> + <InvalidReturnStatement> <code>[]</code> </InvalidReturnStatement> </file> <file src="lib/private/Preview/Generator.php"> - <InvalidArgument occurrences="2"> + <InvalidArgument> <code>$maxPreviewImage</code> + <code>$semId</code> <code>IPreview::EVENT</code> </InvalidArgument> - <MismatchingDocblockParamType occurrences="1"> + <InvalidReturnStatement> + <code>$sem</code> + </InvalidReturnStatement> + <InvalidReturnType> + <code>false|resource</code> + </InvalidReturnType> + <MismatchingDocblockParamType> <code>ISimpleFile</code> </MismatchingDocblockParamType> - <TooManyArguments occurrences="1"> + <TooManyArguments> <code>dispatch</code> </TooManyArguments> - <UndefinedInterfaceMethod occurrences="7"> + <UndefinedInterfaceMethod> <code>height</code> <code>height</code> <code>preciseResizeCopy</code> @@ -2658,118 +3264,123 @@ </UndefinedInterfaceMethod> </file> <file src="lib/private/Preview/ProviderV1Adapter.php"> - <InvalidReturnStatement occurrences="1"> + <InvalidReturnStatement> <code>$thumbnail === false ? null: $thumbnail</code> </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>?IImage</code> </InvalidReturnType> </file> <file src="lib/private/RedisFactory.php"> - <InvalidScalarArgument occurrences="1"> + <InvalidArgument> <code>\RedisCluster::OPT_SLAVE_FAILOVER</code> - </InvalidScalarArgument> + </InvalidArgument> </file> <file src="lib/private/Remote/Api/OCS.php"> - <ImplementedReturnTypeMismatch occurrences="1"> + <ImplementedReturnTypeMismatch> <code>array</code> </ImplementedReturnTypeMismatch> </file> <file src="lib/private/Remote/Instance.php"> - <InvalidReturnStatement occurrences="1"> - <code>$request->getBody()</code> + <InvalidReturnStatement> + <code><![CDATA[$request->getBody()]]></code> </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>bool|string</code> </InvalidReturnType> - <InvalidScalarArgument occurrences="1"> + <InvalidScalarArgument> <code>$response</code> </InvalidScalarArgument> </file> <file src="lib/private/Repair/Owncloud/CleanPreviews.php"> - <InvalidArgument occurrences="1"> + <InvalidArgument> <code>false</code> </InvalidArgument> </file> <file src="lib/private/Repair/Owncloud/CleanPreviewsBackgroundJob.php"> - <ParamNameMismatch occurrences="1"> + <ParamNameMismatch> <code>$arguments</code> </ParamNameMismatch> </file> <file src="lib/private/Repair/Owncloud/MoveAvatarsBackgroundJob.php"> - <ParamNameMismatch occurrences="1"> + <ParamNameMismatch> <code>$arguments</code> </ParamNameMismatch> - <TypeDoesNotContainType occurrences="1"> + <TypeDoesNotContainType> <code>$counter % 100 === 0</code> </TypeDoesNotContainType> </file> <file src="lib/private/Repair/RemoveLinkShares.php"> - <InvalidPropertyAssignmentValue occurrences="1"> - <code>$this->userToNotify</code> + <InvalidPropertyAssignmentValue> + <code><![CDATA[$this->userToNotify]]></code> </InvalidPropertyAssignmentValue> </file> <file src="lib/private/Repair/RepairInvalidShares.php"> - <ParamNameMismatch occurrences="1"> + <ParamNameMismatch> <code>$out</code> </ParamNameMismatch> </file> <file src="lib/private/Repair/RepairMimeTypes.php"> - <ParamNameMismatch occurrences="1"> + <ParamNameMismatch> <code>$out</code> </ParamNameMismatch> </file> <file src="lib/private/Repair/SqliteAutoincrement.php"> - <ParamNameMismatch occurrences="1"> + <ParamNameMismatch> <code>$out</code> </ParamNameMismatch> </file> <file src="lib/private/Route/Router.php"> - <InvalidClass occurrences="1"> + <InvalidClass> <code>\OC_APP</code> </InvalidClass> - <InvalidNullableReturnType occurrences="1"> + <InvalidNullableReturnType> <code>string</code> </InvalidNullableReturnType> - <NullableReturnStatement occurrences="1"> - <code>$this->collectionName</code> + <NullableReturnStatement> + <code><![CDATA[$this->collectionName]]></code> </NullableReturnStatement> </file> <file src="lib/private/Search.php"> - <RedundantCondition occurrences="1"> + <RedundantCondition> <code>$provider instanceof Provider</code> </RedundantCondition> </file> <file src="lib/private/Search/Result/File.php"> - <InvalidPropertyAssignmentValue occurrences="4"> - <code>$data->getId()</code> - <code>$data->getMtime()</code> - <code>$data->getPermissions()</code> - <code>$this->hasPreview($data)</code> + <InvalidPropertyAssignmentValue> + <code><![CDATA[$data->getId()]]></code> + <code><![CDATA[$data->getMtime()]]></code> + <code><![CDATA[$data->getPermissions()]]></code> + <code><![CDATA[$this->hasPreview($data)]]></code> </InvalidPropertyAssignmentValue> </file> <file src="lib/private/Security/Bruteforce/Throttler.php"> - <NullArgument occurrences="1"> + <NullArgument> <code>null</code> </NullArgument> </file> <file src="lib/private/Security/CSP/ContentSecurityPolicyNonceManager.php"> - <NoInterfaceProperties occurrences="1"> - <code>$this->request->server</code> + <NoInterfaceProperties> + <code><![CDATA[$this->request->server]]></code> </NoInterfaceProperties> </file> + <file src="lib/private/Security/CSRF/CsrfToken.php"> + <InvalidArgument> + <code><![CDATA[\strlen($this->value)]]></code> + </InvalidArgument> + </file> <file src="lib/private/Security/CredentialsManager.php"> - <InvalidReturnStatement occurrences="2"> - <code>$qb->execute()</code> - <code>$qb->execute()</code> + <InvalidReturnStatement> + <code><![CDATA[$qb->execute()]]></code> + <code><![CDATA[$qb->execute()]]></code> </InvalidReturnStatement> - <InvalidReturnType occurrences="2"> + <InvalidReturnType> <code>int</code> <code>int</code> </InvalidReturnType> </file> <file src="lib/private/Security/Crypto.php"> - <InternalMethod occurrences="6"> + <InternalMethod> <code>decrypt</code> <code>encrypt</code> <code>setIV</code> @@ -2779,85 +3390,99 @@ </InternalMethod> </file> <file src="lib/private/Server.php"> - <ImplementedReturnTypeMismatch occurrences="3"> + <ImplementedReturnTypeMismatch> <code>\OCP\Calendar\Resource\IManager</code> <code>\OCP\Calendar\Room\IManager</code> <code>\OCP\Files\Folder|null</code> </ImplementedReturnTypeMismatch> - <InvalidArgument occurrences="1"> + <InvalidArgument> <code>new GenericEvent($user)</code> </InvalidArgument> - <UndefinedDocblockClass occurrences="1"> + <UndefinedDocblockClass> <code>\OC\OCSClient</code> </UndefinedDocblockClass> </file> <file src="lib/private/ServerContainer.php"> - <InvalidPropertyAssignmentValue occurrences="1"> - <code>$this->hasNoAppContainer</code> + <InvalidPropertyAssignmentValue> + <code><![CDATA[$this->hasNoAppContainer]]></code> </InvalidPropertyAssignmentValue> + <NoValue> + <code><![CDATA[return $this->appContainers[$namespace];]]></code> + </NoValue> + </file> + <file src="lib/private/Session/CryptoSessionData.php"> + <MissingTemplateParam> + <code>\ArrayAccess</code> + </MissingTemplateParam> </file> <file src="lib/private/Session/Internal.php"> - <MoreSpecificImplementedParamType occurrences="1"> + <MoreSpecificImplementedParamType> <code>$value</code> </MoreSpecificImplementedParamType> </file> <file src="lib/private/Session/Memory.php"> - <MoreSpecificImplementedParamType occurrences="1"> + <MoreSpecificImplementedParamType> <code>$value</code> </MoreSpecificImplementedParamType> </file> + <file src="lib/private/Session/Session.php"> + <MissingTemplateParam> + <code>\ArrayAccess</code> + </MissingTemplateParam> + </file> <file src="lib/private/Setup.php"> - <RedundantCondition occurrences="2"> - <code>$content !== ''</code> - <code>$type === 'pdo'</code> + <RedundantCondition> + <code><![CDATA[$content !== '']]></code> + <code><![CDATA[$type === 'pdo']]></code> </RedundantCondition> - <UndefinedVariable occurrences="1"> + <UndefinedVariable> <code>$vendor</code> </UndefinedVariable> </file> <file src="lib/private/Setup/AbstractDatabase.php"> - <UndefinedThisPropertyFetch occurrences="4"> - <code>$this->dbprettyname</code> - <code>$this->dbprettyname</code> - <code>$this->dbprettyname</code> - <code>$this->dbprettyname</code> + <TypeDoesNotContainType> + <code><![CDATA[ctype_digit($this->dbPort)]]></code> + </TypeDoesNotContainType> + <UndefinedThisPropertyFetch> + <code><![CDATA[$this->dbprettyname]]></code> + <code><![CDATA[$this->dbprettyname]]></code> + <code><![CDATA[$this->dbprettyname]]></code> + <code><![CDATA[$this->dbprettyname]]></code> </UndefinedThisPropertyFetch> </file> <file src="lib/private/Share/Share.php"> - <InvalidOperand occurrences="1"> + <InvalidOperand> <code>!self::isResharingAllowed()</code> </InvalidOperand> - <UndefinedInterfaceMethod occurrences="2"> + <UndefinedInterfaceMethod> <code>getParents</code> <code>getParents</code> </UndefinedInterfaceMethod> </file> <file src="lib/private/Share20/DefaultShareProvider.php"> - <InvalidScalarArgument occurrences="3"> - <code>$share->getId()</code> - <code>$share->getId()</code> - <code>(int)$data['id']</code> - </InvalidScalarArgument> - <TooManyArguments occurrences="1"> + <InvalidArgument> + <code><![CDATA[$share->getId()]]></code> + <code><![CDATA[$share->getId()]]></code> + <code><![CDATA[(int)$data['id']]]></code> + </InvalidArgument> + <TooManyArguments> <code>set</code> </TooManyArguments> - <UndefinedInterfaceMethod occurrences="1"> + <UndefinedInterfaceMethod> <code>getParent</code> </UndefinedInterfaceMethod> </file> <file src="lib/private/Share20/Manager.php"> - <InvalidArgument occurrences="6"> - <code>'OCP\Share::postAcceptShare'</code> - <code>'OCP\Share::postShare'</code> - <code>'OCP\Share::postUnshare'</code> - <code>'OCP\Share::postUnshareFromSelf'</code> - <code>'OCP\Share::preShare'</code> - <code>'OCP\Share::preUnshare'</code> - </InvalidArgument> - <InvalidScalarArgument occurrences="1"> + <InvalidArgument> <code>$id</code> - </InvalidScalarArgument> - <TooManyArguments occurrences="7"> + <code><![CDATA['OCP\Share::postAcceptShare']]></code> + <code><![CDATA['OCP\Share::postShare']]></code> + <code><![CDATA['OCP\Share::postUnshare']]></code> + <code><![CDATA['OCP\Share::postUnshareFromSelf']]></code> + <code><![CDATA['OCP\Share::preShare']]></code> + <code><![CDATA['OCP\Share::preUnshare']]></code> + </InvalidArgument> + <TooManyArguments> <code>dispatch</code> <code>dispatch</code> <code>dispatch</code> @@ -2866,27 +3491,27 @@ <code>dispatch</code> <code>update</code> </TooManyArguments> - <UndefinedClass occurrences="1"> + <UndefinedClass> <code>\OCA\Circles\Api\v1\Circles</code> </UndefinedClass> - <UndefinedInterfaceMethod occurrences="1"> + <UndefinedInterfaceMethod> <code>getChildren</code> </UndefinedInterfaceMethod> </file> <file src="lib/private/Share20/ProviderFactory.php"> - <InvalidNullableReturnType occurrences="2"> + <InvalidNullableReturnType> <code>FederatedShareProvider</code> <code>ShareByMailProvider</code> </InvalidNullableReturnType> - <InvalidReturnStatement occurrences="3"> + <InvalidReturnStatement> <code>$provider</code> <code>$provider</code> - <code>$this->shareByCircleProvider</code> + <code><![CDATA[$this->shareByCircleProvider]]></code> </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>getProviderForType</code> </InvalidReturnType> - <NullableReturnStatement occurrences="6"> + <NullableReturnStatement> <code>null</code> <code>null</code> <code>null</code> @@ -2894,20 +3519,20 @@ <code>null</code> <code>null</code> </NullableReturnStatement> - <ParamNameMismatch occurrences="1"> + <ParamNameMismatch> <code>$shareProviderClass</code> </ParamNameMismatch> - <UndefinedClass occurrences="1"> + <UndefinedClass> <code>\OCA\Circles\ShareByCircleProvider</code> </UndefinedClass> - <UndefinedDocblockClass occurrences="5"> + <UndefinedDocblockClass> <code>RoomShareProvider</code> <code>\OCA\Circles\ShareByCircleProvider</code> <code>\OCA\Talk\Share\RoomShareProvider</code> <code>private $roomShareProvider = null;</code> <code>private $shareByCircleProvider = null;</code> </UndefinedDocblockClass> - <UndefinedInterfaceMethod occurrences="4"> + <UndefinedInterfaceMethod> <code>getLazyRootFolder</code> <code>getLazyRootFolder</code> <code>getLazyRootFolder</code> @@ -2915,271 +3540,317 @@ </UndefinedInterfaceMethod> </file> <file src="lib/private/Streamer.php"> - <InvalidArgument occurrences="1"> + <InvalidArgument> <code>$stream</code> </InvalidArgument> - <UndefinedInterfaceMethod occurrences="1"> + <UndefinedInterfaceMethod> <code>get</code> </UndefinedInterfaceMethod> </file> <file src="lib/private/SubAdmin.php"> - <UndefinedInterfaceMethod occurrences="2"> + <UndefinedInterfaceMethod> <code>listen</code> <code>listen</code> </UndefinedInterfaceMethod> </file> <file src="lib/private/Support/Subscription/Registry.php"> - <UndefinedInterfaceMethod occurrences="1"> + <UndefinedInterfaceMethod> <code>getSupportedApps</code> </UndefinedInterfaceMethod> </file> <file src="lib/private/SystemTag/SystemTagManager.php"> - <FalsableReturnStatement occurrences="3"> - <code>false</code> - <code>false</code> - <code>false</code> - </FalsableReturnStatement> - <InvalidArgument occurrences="3"> + <InvalidArgument> <code>ManagerEvent::EVENT_CREATE</code> <code>ManagerEvent::EVENT_DELETE</code> <code>ManagerEvent::EVENT_UPDATE</code> </InvalidArgument> - <InvalidReturnType occurrences="2"> - <code>bool</code> - <code>bool</code> - </InvalidReturnType> - <TooManyArguments occurrences="3"> + <TooManyArguments> <code>dispatch</code> <code>dispatch</code> <code>dispatch</code> </TooManyArguments> </file> <file src="lib/private/SystemTag/SystemTagObjectMapper.php"> - <InvalidArgument occurrences="2"> + <InvalidArgument> <code>MapperEvent::EVENT_ASSIGN</code> <code>MapperEvent::EVENT_UNASSIGN</code> </InvalidArgument> - <TooManyArguments occurrences="2"> + <TooManyArguments> <code>dispatch</code> <code>dispatch</code> </TooManyArguments> </file> <file src="lib/private/TagManager.php"> - <InvalidNullableReturnType occurrences="1"> + <InvalidNullableReturnType> <code>\OCP\ITags</code> </InvalidNullableReturnType> - <NullableReturnStatement occurrences="1"> + <NullableReturnStatement> <code>null</code> </NullableReturnStatement> </file> <file src="lib/private/Tags.php"> - <InvalidScalarArgument occurrences="2"> + <InvalidScalarArgument> <code>$from</code> <code>$names</code> </InvalidScalarArgument> - <MoreSpecificImplementedParamType occurrences="1"> + <MoreSpecificImplementedParamType> <code>$tag</code> </MoreSpecificImplementedParamType> </file> <file src="lib/private/TempManager.php"> - <FalsableReturnStatement occurrences="2"> + <FalsableReturnStatement> <code>false</code> <code>false</code> </FalsableReturnStatement> </file> <file src="lib/private/Template/CSSResourceLocator.php"> - <ParamNameMismatch occurrences="2"> + <ParamNameMismatch> <code>$style</code> <code>$style</code> </ParamNameMismatch> </file> <file src="lib/private/Template/JSConfigHelper.php"> - <NullArgument occurrences="2"> + <NullArgument> <code>null</code> <code>null</code> </NullArgument> </file> <file src="lib/private/Template/JSResourceLocator.php"> - <InvalidArgument occurrences="1"> + <InvalidArgument> <code>false</code> </InvalidArgument> - <ParamNameMismatch occurrences="2"> + <ParamNameMismatch> <code>$script</code> <code>$script</code> </ParamNameMismatch> </file> <file src="lib/private/TemplateLayout.php"> - <InvalidParamDefault occurrences="2"> + <InvalidParamDefault> <code>string</code> <code>string</code> </InvalidParamDefault> - <InvalidScalarArgument occurrences="2"> + <InvalidScalarArgument> <code>$appName</code> <code>$appName</code> </InvalidScalarArgument> - <UndefinedInterfaceMethod occurrences="1"> + <UndefinedInterfaceMethod> <code>getInitialStates</code> </UndefinedInterfaceMethod> </file> <file src="lib/private/URLGenerator.php"> - <InvalidReturnStatement occurrences="1"> + <InvalidReturnStatement> <code>$path</code> </InvalidReturnStatement> </file> <file src="lib/private/User/Database.php"> - <FalsableReturnStatement occurrences="1"> + <FalsableReturnStatement> <code>false</code> </FalsableReturnStatement> </file> + <file src="lib/private/User/DisplayNameCache.php"> + <MissingTemplateParam> + <code>IEventListener</code> + </MissingTemplateParam> + </file> <file src="lib/private/User/Manager.php"> - <ImplementedReturnTypeMismatch occurrences="1"> + <ImplementedReturnTypeMismatch> <code>IUser|false</code> </ImplementedReturnTypeMismatch> - <InvalidArgument occurrences="1"> + <InvalidArgument> <code>$backend</code> </InvalidArgument> - <UndefinedInterfaceMethod occurrences="2"> + <UndefinedInterfaceMethod> <code>createUser</code> <code>getUsersForUserValueCaseInsensitive</code> </UndefinedInterfaceMethod> </file> <file src="lib/private/User/Session.php"> - <ImplementedReturnTypeMismatch occurrences="1"> + <ImplementedReturnTypeMismatch> <code>boolean|null</code> </ImplementedReturnTypeMismatch> - <InvalidArgument occurrences="1"> - <code>IUser::class . '::firstLogin'</code> + <InvalidArgument> + <code><![CDATA[IUser::class . '::firstLogin']]></code> </InvalidArgument> - <NoInterfaceProperties occurrences="2"> - <code>$request->server</code> - <code>$request->server</code> + <NoInterfaceProperties> + <code><![CDATA[$request->server]]></code> + <code><![CDATA[$request->server]]></code> </NoInterfaceProperties> - <TooManyArguments occurrences="1"> + <TooManyArguments> <code>dispatch</code> </TooManyArguments> </file> <file src="lib/private/User/User.php"> - <InvalidArgument occurrences="5"> - <code>IUser::class . '::changeUser'</code> - <code>IUser::class . '::postDelete'</code> - <code>IUser::class . '::postSetPassword'</code> - <code>IUser::class . '::preDelete'</code> - <code>IUser::class . '::preSetPassword'</code> + <InvalidArgument> + <code><![CDATA[IUser::class . '::changeUser']]></code> + <code><![CDATA[IUser::class . '::postDelete']]></code> + <code><![CDATA[IUser::class . '::postSetPassword']]></code> + <code><![CDATA[IUser::class . '::preDelete']]></code> + <code><![CDATA[IUser::class . '::preSetPassword']]></code> </InvalidArgument> - <TooManyArguments occurrences="5"> + <TooManyArguments> <code>dispatch</code> <code>dispatch</code> <code>dispatch</code> <code>dispatch</code> <code>dispatch</code> </TooManyArguments> + <UndefinedInterfaceMethod> + <code>emit</code> + <code>emit</code> + <code>emit</code> + <code>emit</code> + <code>emit</code> + </UndefinedInterfaceMethod> </file> <file src="lib/private/legacy/OC_API.php"> - <InvalidNullableReturnType occurrences="1"> + <InvalidNullableReturnType> <code>int</code> </InvalidNullableReturnType> - <NullableReturnStatement occurrences="1"> + <NullableReturnStatement> <code>null</code> </NullableReturnStatement> </file> <file src="lib/private/legacy/OC_App.php"> - <InvalidArgument occurrences="2"> + <InvalidArgument> <code>$groupsList</code> <code>ManagerEvent::EVENT_APP_UPDATE</code> </InvalidArgument> - <InvalidArrayOffset occurrences="2"> - <code>$dir['path']</code> - <code>$dir['url']</code> + <InvalidArrayOffset> + <code><![CDATA[$dir['path']]]></code> + <code><![CDATA[$dir['url']]]></code> </InvalidArrayOffset> - <NullArgument occurrences="1"> + <NullArgument> <code>null</code> </NullArgument> - <NullableReturnStatement occurrences="1"> + <NullableReturnStatement> <code>null</code> </NullableReturnStatement> - <TooManyArguments occurrences="1"> + <TooManyArguments> <code>dispatch</code> </TooManyArguments> - <TypeDoesNotContainNull occurrences="2"> + <TypeDoesNotContainNull> <code>$appId === null</code> <code>$appId === null</code> </TypeDoesNotContainNull> </file> <file src="lib/private/legacy/OC_FileChunking.php"> - <UndefinedDocblockClass occurrences="1"> + <UndefinedDocblockClass> <code>\OC\InsufficientStorageException</code> </UndefinedDocblockClass> </file> <file src="lib/private/legacy/OC_Files.php"> - <RedundantCondition occurrences="2"> + <RedundantCondition> <code>$getType === self::ZIP_DIR</code> <code>$getType === self::ZIP_DIR</code> </RedundantCondition> - <UndefinedInterfaceMethod occurrences="2"> + <UndefinedInterfaceMethod> <code>get</code> <code>get</code> </UndefinedInterfaceMethod> </file> <file src="lib/private/legacy/OC_Helper.php"> - <InvalidOperand occurrences="1"> - <code>$matches[1][$last_match][0]</code> - </InvalidOperand> - <InvalidScalarArgument occurrences="1"> + <InvalidArrayOffset> + <code>$matches[0][$last_match]</code> + <code>$matches[1][$last_match]</code> + </InvalidArrayOffset> + <InvalidScalarArgument> <code>$path</code> </InvalidScalarArgument> - <RedundantCondition occurrences="1"> - <code>count($obd_values) > 0</code> - </RedundantCondition> + <UndefinedInterfaceMethod> + <code>getQuota</code> + </UndefinedInterfaceMethod> + </file> + <file src="lib/private/legacy/OC_Template.php"> + <InvalidReturnType> + <code>bool|string</code> + </InvalidReturnType> </file> <file src="lib/private/legacy/OC_User.php"> - <UndefinedClass occurrences="1"> + <UndefinedClass> <code>\Test\Util\User\Dummy</code> </UndefinedClass> </file> + <file src="lib/private/legacy/OC_Util.php"> + <InvalidOperand> + <code>$version</code> + <code>$version</code> + </InvalidOperand> + <InvalidReturnType> + <code>void</code> + </InvalidReturnType> + </file> <file src="lib/public/AppFramework/ApiController.php"> - <NoInterfaceProperties occurrences="1"> - <code>$this->request->server</code> + <NoInterfaceProperties> + <code><![CDATA[$this->request->server]]></code> </NoInterfaceProperties> </file> <file src="lib/public/AppFramework/App.php"> - <InternalMethod occurrences="1"> - <code>new RouteConfig($this->container, $router, $routes)</code> + <InternalMethod> + <code><![CDATA[new RouteConfig($this->container, $router, $routes)]]></code> </InternalMethod> </file> <file src="lib/public/AppFramework/Db/Entity.php"> - <InvalidNullableReturnType occurrences="1"> + <InvalidNullableReturnType> <code>string</code> </InvalidNullableReturnType> - <NullableReturnStatement occurrences="1"> + <NullableReturnStatement> <code>$column</code> </NullableReturnStatement> </file> <file src="lib/public/AppFramework/Http/JSONResponse.php"> - <InvalidReturnStatement occurrences="1"> - <code>$this->data</code> + <InvalidReturnStatement> + <code><![CDATA[$this->data]]></code> </InvalidReturnStatement> - <InvalidReturnType occurrences="1"> + <InvalidReturnType> <code>array</code> </InvalidReturnType> </file> + <file src="lib/public/Authentication/TwoFactorAuth/IProvider.php"> + <AmbiguousConstantInheritance> + <code>EVENT_FAILED</code> + <code>EVENT_SUCCESS</code> + </AmbiguousConstantInheritance> + </file> <file src="lib/public/BackgroundJob/TimedJob.php"> - <MoreSpecificImplementedParamType occurrences="1"> + <MoreSpecificImplementedParamType> + <code>$jobList</code> <code>$jobList</code> </MoreSpecificImplementedParamType> </file> + <file src="lib/public/Cache/CappedMemoryCache.php"> + <MissingTemplateParam> + <code>\ArrayAccess</code> + </MissingTemplateParam> + </file> <file src="lib/public/Diagnostics/IQueryLogger.php"> - <LessSpecificImplementedReturnType occurrences="1"> + <LessSpecificImplementedReturnType> <code>mixed</code> </LessSpecificImplementedReturnType> </file> + <file src="lib/public/EventDispatcher/GenericEvent.php"> + <MissingTemplateParam> + <code>ArrayAccess</code> + <code>IteratorAggregate</code> + </MissingTemplateParam> + </file> <file src="lib/public/Files.php"> - <FalsableReturnStatement occurrences="1"> + <FalsableReturnStatement> <code>\OC_App::getStorage($app)</code> </FalsableReturnStatement> </file> + <file src="lib/public/Files/Cache/ICacheEntry.php"> + <MissingTemplateParam> + <code>ArrayAccess</code> + </MissingTemplateParam> + </file> <file src="lib/public/Files/Storage.php"> - <InvalidParamDefault occurrences="1"> + <InvalidParamDefault> <code>array</code> </InvalidParamDefault> </file> + <file src="lib/public/L10N/ILanguageIterator.php"> + <MissingTemplateParam> + <code>\Iterator</code> + </MissingTemplateParam> + </file> </files> diff --git a/core/Application.php b/core/Application.php index 4ebbada95e6..2e354610154 100644 --- a/core/Application.php +++ b/core/Application.php @@ -239,6 +239,9 @@ class Application extends App { if (!$table->hasIndex('mounts_class_index')) { $subject->addHintForMissingSubject($table->getName(), 'mounts_class_index'); } + if (!$table->hasIndex('mounts_user_root_path_index')) { + $subject->addHintForMissingSubject($table->getName(), 'mounts_user_root_path_index'); + } } } ); diff --git a/core/Command/Db/AddMissingIndices.php b/core/Command/Db/AddMissingIndices.php index e22d0fddeca..b317f44b499 100644 --- a/core/Command/Db/AddMissingIndices.php +++ b/core/Command/Db/AddMissingIndices.php @@ -465,6 +465,14 @@ class AddMissingIndices extends Command { $updated = true; $output->writeln('<info>oc_mounts table updated successfully.</info>'); } + if (!$table->hasIndex('mounts_user_root_path_index')) { + $output->writeln('<info>Adding mounts_user_root_path_index index to the oc_mounts table, this can take some time...</info>'); + + $table->addIndex(['user_id', 'root_id', 'mount_point'], 'mounts_user_root_path_index', [], ['lengths' => [null, null, 128]]); + $this->connection->migrateToSchema($schema->getWrappedSchema()); + $updated = true; + $output->writeln('<info>oc_mounts table updated successfully.</info>'); + } } if (!$updated) { diff --git a/core/Migrations/Version13000Date20170718121200.php b/core/Migrations/Version13000Date20170718121200.php index 0924e0590d3..34a249814fb 100644 --- a/core/Migrations/Version13000Date20170718121200.php +++ b/core/Migrations/Version13000Date20170718121200.php @@ -149,7 +149,7 @@ class Version13000Date20170718121200 extends SimpleMigrationStep { $table->addIndex(['storage_id'], 'mounts_storage_index'); $table->addIndex(['root_id'], 'mounts_root_index'); $table->addIndex(['mount_id'], 'mounts_mount_id_index'); - $table->addUniqueIndex(['user_id', 'root_id'], 'mounts_user_root_index'); + $table->addIndex(['user_id', 'root_id', 'mount_point'], 'mounts_user_root_path_index', [], ['lengths' => [null, null, 128]]); } else { $table = $schema->getTable('mounts'); $table->addColumn('mount_id', Types::BIGINT, [ diff --git a/core/Migrations/Version27000Date20220613163520.php b/core/Migrations/Version27000Date20220613163520.php new file mode 100644 index 00000000000..4217f3b3270 --- /dev/null +++ b/core/Migrations/Version27000Date20220613163520.php @@ -0,0 +1,51 @@ +<?php + +declare(strict_types=1); + +/** + * @copyright Copyright (c) 2022 Your name <your@email.com> + * + * @author Your name <your@email.com> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OC\Core\Migrations; + +use Closure; +use OCP\DB\ISchemaWrapper; +use OCP\Migration\IOutput; +use OCP\Migration\SimpleMigrationStep; + +class Version27000Date20220613163520 extends SimpleMigrationStep { + public function name(): string { + return "Add mountpoint path to mounts table unique index"; + } + + public function changeSchema(IOutput $output, Closure $schemaClosure, array $options): ?ISchemaWrapper { + /** @var ISchemaWrapper $schema */ + $schema = $schemaClosure(); + + $table = $schema->getTable('mounts'); + if ($table->hasIndex('mounts_user_root_index')) { + $table->dropIndex('mounts_user_root_index'); + // new index gets added with "add missing indexes" + } + + return $schema; + } +} diff --git a/lib/composer/composer/autoload_classmap.php b/lib/composer/composer/autoload_classmap.php index eb2f3e46354..90164534da1 100644 --- a/lib/composer/composer/autoload_classmap.php +++ b/lib/composer/composer/autoload_classmap.php @@ -1108,6 +1108,7 @@ return array( 'OC\\Core\\Migrations\\Version25000Date20220602190540' => $baseDir . '/core/Migrations/Version25000Date20220602190540.php', 'OC\\Core\\Migrations\\Version25000Date20220905140840' => $baseDir . '/core/Migrations/Version25000Date20220905140840.php', 'OC\\Core\\Migrations\\Version25000Date20221007010957' => $baseDir . '/core/Migrations/Version25000Date20221007010957.php', + 'OC\\Core\\Migrations\\Version27000Date20220613163520' => $baseDir . '/core/Migrations/Version27000Date20220613163520.php', 'OC\\Core\\Migrations\\Version27000Date20230309104325' => $baseDir . '/core/Migrations/Version27000Date20230309104325.php', 'OC\\Core\\Migrations\\Version27000Date20230309104802' => $baseDir . '/core/Migrations/Version27000Date20230309104802.php', 'OC\\Core\\Notification\\CoreNotifier' => $baseDir . '/core/Notification/CoreNotifier.php', diff --git a/lib/composer/composer/autoload_static.php b/lib/composer/composer/autoload_static.php index 9343231a55b..43cdde51734 100644 --- a/lib/composer/composer/autoload_static.php +++ b/lib/composer/composer/autoload_static.php @@ -1141,6 +1141,7 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2 'OC\\Core\\Migrations\\Version25000Date20220602190540' => __DIR__ . '/../../..' . '/core/Migrations/Version25000Date20220602190540.php', 'OC\\Core\\Migrations\\Version25000Date20220905140840' => __DIR__ . '/../../..' . '/core/Migrations/Version25000Date20220905140840.php', 'OC\\Core\\Migrations\\Version25000Date20221007010957' => __DIR__ . '/../../..' . '/core/Migrations/Version25000Date20221007010957.php', + 'OC\\Core\\Migrations\\Version27000Date20220613163520' => __DIR__ . '/../../..' . '/core/Migrations/Version27000Date20220613163520.php', 'OC\\Core\\Migrations\\Version27000Date20230309104325' => __DIR__ . '/../../..' . '/core/Migrations/Version27000Date20230309104325.php', 'OC\\Core\\Migrations\\Version27000Date20230309104802' => __DIR__ . '/../../..' . '/core/Migrations/Version27000Date20230309104802.php', 'OC\\Core\\Notification\\CoreNotifier' => __DIR__ . '/../../..' . '/core/Notification/CoreNotifier.php', diff --git a/lib/private/Files/Config/UserMountCache.php b/lib/private/Files/Config/UserMountCache.php index a60b39823c5..9838b0a213c 100644 --- a/lib/private/Files/Config/UserMountCache.php +++ b/lib/private/Files/Config/UserMountCache.php @@ -92,38 +92,39 @@ class UserMountCache implements IUserMountCache { } }, $mounts); $newMounts = array_values(array_filter($newMounts)); - $newMountRootIds = array_map(function (ICachedMountInfo $mount) { - return $mount->getRootId(); + $newMountKeys = array_map(function (ICachedMountInfo $mount) { + return $mount->getRootId() . '::' . $mount->getMountPoint(); }, $newMounts); - $newMounts = array_combine($newMountRootIds, $newMounts); + $newMounts = array_combine($newMountKeys, $newMounts); $cachedMounts = $this->getMountsForUser($user); if (is_array($mountProviderClasses)) { $cachedMounts = array_filter($cachedMounts, function (ICachedMountInfo $mountInfo) use ($mountProviderClasses, $newMounts) { // for existing mounts that didn't have a mount provider set // we still want the ones that map to new mounts - if ($mountInfo->getMountProvider() === '' && isset($newMounts[$mountInfo->getRootId()])) { + $mountKey = $mountInfo->getRootId() . '::' . $mountInfo->getMountPoint(); + if ($mountInfo->getMountProvider() === '' && isset($newMounts[$mountKey])) { return true; } return in_array($mountInfo->getMountProvider(), $mountProviderClasses); }); } - $cachedMountRootIds = array_map(function (ICachedMountInfo $mount) { - return $mount->getRootId(); + $cachedRootKeys = array_map(function (ICachedMountInfo $mount) { + return $mount->getRootId() . '::' . $mount->getMountPoint(); }, $cachedMounts); - $cachedMounts = array_combine($cachedMountRootIds, $cachedMounts); + $cachedMounts = array_combine($cachedRootKeys, $cachedMounts); $addedMounts = []; $removedMounts = []; - foreach ($newMounts as $rootId => $newMount) { - if (!isset($cachedMounts[$rootId])) { + foreach ($newMounts as $mountKey => $newMount) { + if (!isset($cachedMounts[$mountKey])) { $addedMounts[] = $newMount; } } - foreach ($cachedMounts as $rootId => $cachedMount) { - if (!isset($newMounts[$rootId])) { + foreach ($cachedMounts as $mountKey => $cachedMount) { + if (!isset($newMounts[$mountKey])) { $removedMounts[] = $cachedMount; } } @@ -161,13 +162,13 @@ class UserMountCache implements IUserMountCache { private function findChangedMounts(array $newMounts, array $cachedMounts) { $new = []; foreach ($newMounts as $mount) { - $new[$mount->getRootId()] = $mount; + $new[$mount->getRootId() . '::' . $mount->getMountPoint()] = $mount; } $changed = []; foreach ($cachedMounts as $cachedMount) { - $rootId = $cachedMount->getRootId(); - if (isset($new[$rootId])) { - $newMount = $new[$rootId]; + $key = $cachedMount->getRootId() . '::' . $cachedMount->getMountPoint(); + if (isset($new[$key])) { + $newMount = $new[$key]; if ( $newMount->getMountPoint() !== $cachedMount->getMountPoint() || $newMount->getStorageId() !== $cachedMount->getStorageId() || @@ -190,7 +191,7 @@ class UserMountCache implements IUserMountCache { 'mount_point' => $mount->getMountPoint(), 'mount_id' => $mount->getMountId(), 'mount_provider_class' => $mount->getMountProvider(), - ], ['root_id', 'user_id']); + ], ['root_id', 'user_id', 'mount_point']); } else { // in some cases this is legitimate, like orphaned shares $this->logger->debug('Could not get storage info for mount at ' . $mount->getMountPoint()); @@ -216,7 +217,8 @@ class UserMountCache implements IUserMountCache { $query = $builder->delete('mounts') ->where($builder->expr()->eq('user_id', $builder->createNamedParameter($mount->getUser()->getUID()))) - ->andWhere($builder->expr()->eq('root_id', $builder->createNamedParameter($mount->getRootId(), IQueryBuilder::PARAM_INT))); + ->andWhere($builder->expr()->eq('root_id', $builder->createNamedParameter($mount->getRootId(), IQueryBuilder::PARAM_INT))) + ->andWhere($builder->expr()->eq('mount_point', $builder->createNamedParameter($mount->getMountPoint()))); $query->execute(); } diff --git a/package-lock.json b/package-lock.json index 3a5ec68a038..a8410311395 100644 --- a/package-lock.json +++ b/package-lock.json @@ -106,10 +106,10 @@ "@testing-library/vue": "^5.8.3", "@types/dockerode": "^3.3.14", "@typescript-eslint/eslint-plugin": "^5.59.1", - "@typescript-eslint/parser": "^5.44.0", + "@typescript-eslint/parser": "^5.59.2", "@vue/test-utils": "^1.3.5", "@vue/tsconfig": "^0.1.3", - "@vue/vue2-jest": "^29.2.3", + "@vue/vue2-jest": "^29.2.4", "babel-jest": "^29.5.0", "babel-loader": "^9.1.0", "babel-loader-exclude-node-modules-except": "^1.2.1", @@ -5551,14 +5551,14 @@ "dev": true }, "node_modules/@typescript-eslint/parser": { - "version": "5.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.0.tgz", - "integrity": "sha512-qK9TZ70eJtjojSUMrrEwA9ZDQ4N0e/AuoOIgXuNBorXYcBDk397D2r5MIe1B3cok/oCtdNC5j+lUUpVB+Dpb+w==", + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.2.tgz", + "integrity": "sha512-uq0sKyw6ao1iFOZZGk9F8Nro/8+gfB5ezl1cA06SrqbgJAt0SRoFhb9pXaHvkrxUpZaoLxt8KlovHNk8Gp6/HQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.59.0", - "@typescript-eslint/types": "5.59.0", - "@typescript-eslint/typescript-estree": "5.59.0", + "@typescript-eslint/scope-manager": "5.59.2", + "@typescript-eslint/types": "5.59.2", + "@typescript-eslint/typescript-estree": "5.59.2", "debug": "^4.3.4" }, "engines": { @@ -5578,13 +5578,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.0.tgz", - "integrity": "sha512-tsoldKaMh7izN6BvkK6zRMINj4Z2d6gGhO2UsI8zGZY3XhLq1DndP3Ycjhi1JwdwPRwtLMW4EFPgpuKhbCGOvQ==", + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.2.tgz", + "integrity": "sha512-dB1v7ROySwQWKqQ8rEWcdbTsFjh2G0vn8KUyvTXdPoyzSL6lLGkiXEV5CvpJsEe9xIdKV+8Zqb7wif2issoOFA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.59.0", - "@typescript-eslint/visitor-keys": "5.59.0" + "@typescript-eslint/types": "5.59.2", + "@typescript-eslint/visitor-keys": "5.59.2" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -5724,9 +5724,9 @@ "dev": true }, "node_modules/@typescript-eslint/types": { - "version": "5.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.0.tgz", - "integrity": "sha512-yR2h1NotF23xFFYKHZs17QJnB51J/s+ud4PYU4MqdZbzeNxpgUr05+dNeCN/bb6raslHvGdd6BFCkVhpPk/ZeA==", + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.2.tgz", + "integrity": "sha512-LbJ/HqoVs2XTGq5shkiKaNTuVv5tTejdHgfdjqRUGdYhjW1crm/M7og2jhVskMt8/4wS3T1+PfFvL1K3wqYj4w==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -5737,13 +5737,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.0.tgz", - "integrity": "sha512-sUNnktjmI8DyGzPdZ8dRwW741zopGxltGs/SAPgGL/AAgDpiLsCFLcMNSpbfXfmnNeHmK9h3wGmCkGRGAoUZAg==", + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.2.tgz", + "integrity": "sha512-+j4SmbwVmZsQ9jEyBMgpuBD0rKwi9RxRpjX71Brr73RsYnEr3Lt5QZ624Bxphp8HUkSKfqGnPJp1kA5nl0Sh7Q==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.59.0", - "@typescript-eslint/visitor-keys": "5.59.0", + "@typescript-eslint/types": "5.59.2", + "@typescript-eslint/visitor-keys": "5.59.2", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -5942,12 +5942,12 @@ "dev": true }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.0.tgz", - "integrity": "sha512-qZ3iXxQhanchCeaExlKPV3gDQFxMUmU35xfd5eCXB6+kUw1TUAbIy2n7QIrwz9s98DQLzNWyHp61fY0da4ZcbA==", + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.2.tgz", + "integrity": "sha512-EEpsO8m3RASrKAHI9jpavNv9NlEUebV4qmF1OWxSTtKSFBpC1NCmWazDQHFivRf0O1DV11BA645yrLEVQ0/Lig==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.59.0", + "@typescript-eslint/types": "5.59.2", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -6124,9 +6124,9 @@ } }, "node_modules/@vue/vue2-jest": { - "version": "29.2.3", - "resolved": "https://registry.npmjs.org/@vue/vue2-jest/-/vue2-jest-29.2.3.tgz", - "integrity": "sha512-q0mAc+ILQfegSLkD6eaopmMU2nd4rO2bzsbKtCe1y4tkvHH3UMO7g1OSYvcEffTIEEPh306NYTV02z1W2t813Q==", + "version": "29.2.4", + "resolved": "https://registry.npmjs.org/@vue/vue2-jest/-/vue2-jest-29.2.4.tgz", + "integrity": "sha512-oU/Ai4sufLlrhsj8GqRqfhMr6Ud4rehmwYP358/SjKcvUqOCoKa2lOBndDzG4uZVMNnQqQbKWIg7wqL3aRYPBA==", "dev": true, "dependencies": { "@babel/plugin-transform-modules-commonjs": "^7.2.0", @@ -30651,25 +30651,25 @@ } }, "@typescript-eslint/parser": { - "version": "5.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.0.tgz", - "integrity": "sha512-qK9TZ70eJtjojSUMrrEwA9ZDQ4N0e/AuoOIgXuNBorXYcBDk397D2r5MIe1B3cok/oCtdNC5j+lUUpVB+Dpb+w==", + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.2.tgz", + "integrity": "sha512-uq0sKyw6ao1iFOZZGk9F8Nro/8+gfB5ezl1cA06SrqbgJAt0SRoFhb9pXaHvkrxUpZaoLxt8KlovHNk8Gp6/HQ==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.59.0", - "@typescript-eslint/types": "5.59.0", - "@typescript-eslint/typescript-estree": "5.59.0", + "@typescript-eslint/scope-manager": "5.59.2", + "@typescript-eslint/types": "5.59.2", + "@typescript-eslint/typescript-estree": "5.59.2", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.0.tgz", - "integrity": "sha512-tsoldKaMh7izN6BvkK6zRMINj4Z2d6gGhO2UsI8zGZY3XhLq1DndP3Ycjhi1JwdwPRwtLMW4EFPgpuKhbCGOvQ==", + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.2.tgz", + "integrity": "sha512-dB1v7ROySwQWKqQ8rEWcdbTsFjh2G0vn8KUyvTXdPoyzSL6lLGkiXEV5CvpJsEe9xIdKV+8Zqb7wif2issoOFA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.0", - "@typescript-eslint/visitor-keys": "5.59.0" + "@typescript-eslint/types": "5.59.2", + "@typescript-eslint/visitor-keys": "5.59.2" } }, "@typescript-eslint/type-utils": { @@ -30748,19 +30748,19 @@ } }, "@typescript-eslint/types": { - "version": "5.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.0.tgz", - "integrity": "sha512-yR2h1NotF23xFFYKHZs17QJnB51J/s+ud4PYU4MqdZbzeNxpgUr05+dNeCN/bb6raslHvGdd6BFCkVhpPk/ZeA==", + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.2.tgz", + "integrity": "sha512-LbJ/HqoVs2XTGq5shkiKaNTuVv5tTejdHgfdjqRUGdYhjW1crm/M7og2jhVskMt8/4wS3T1+PfFvL1K3wqYj4w==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.0.tgz", - "integrity": "sha512-sUNnktjmI8DyGzPdZ8dRwW741zopGxltGs/SAPgGL/AAgDpiLsCFLcMNSpbfXfmnNeHmK9h3wGmCkGRGAoUZAg==", + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.2.tgz", + "integrity": "sha512-+j4SmbwVmZsQ9jEyBMgpuBD0rKwi9RxRpjX71Brr73RsYnEr3Lt5QZ624Bxphp8HUkSKfqGnPJp1kA5nl0Sh7Q==", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.0", - "@typescript-eslint/visitor-keys": "5.59.0", + "@typescript-eslint/types": "5.59.2", + "@typescript-eslint/visitor-keys": "5.59.2", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -30884,12 +30884,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "5.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.0.tgz", - "integrity": "sha512-qZ3iXxQhanchCeaExlKPV3gDQFxMUmU35xfd5eCXB6+kUw1TUAbIy2n7QIrwz9s98DQLzNWyHp61fY0da4ZcbA==", + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.2.tgz", + "integrity": "sha512-EEpsO8m3RASrKAHI9jpavNv9NlEUebV4qmF1OWxSTtKSFBpC1NCmWazDQHFivRf0O1DV11BA645yrLEVQ0/Lig==", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.0", + "@typescript-eslint/types": "5.59.2", "eslint-visitor-keys": "^3.3.0" }, "dependencies": { @@ -31010,9 +31010,9 @@ "requires": {} }, "@vue/vue2-jest": { - "version": "29.2.3", - "resolved": "https://registry.npmjs.org/@vue/vue2-jest/-/vue2-jest-29.2.3.tgz", - "integrity": "sha512-q0mAc+ILQfegSLkD6eaopmMU2nd4rO2bzsbKtCe1y4tkvHH3UMO7g1OSYvcEffTIEEPh306NYTV02z1W2t813Q==", + "version": "29.2.4", + "resolved": "https://registry.npmjs.org/@vue/vue2-jest/-/vue2-jest-29.2.4.tgz", + "integrity": "sha512-oU/Ai4sufLlrhsj8GqRqfhMr6Ud4rehmwYP358/SjKcvUqOCoKa2lOBndDzG4uZVMNnQqQbKWIg7wqL3aRYPBA==", "dev": true, "requires": { "@babel/plugin-transform-modules-commonjs": "^7.2.0", diff --git a/package.json b/package.json index 5bfb4c0a558..c15b802e725 100644 --- a/package.json +++ b/package.json @@ -131,10 +131,10 @@ "@testing-library/vue": "^5.8.3", "@types/dockerode": "^3.3.14", "@typescript-eslint/eslint-plugin": "^5.59.1", - "@typescript-eslint/parser": "^5.44.0", + "@typescript-eslint/parser": "^5.59.2", "@vue/test-utils": "^1.3.5", "@vue/tsconfig": "^0.1.3", - "@vue/vue2-jest": "^29.2.3", + "@vue/vue2-jest": "^29.2.4", "babel-jest": "^29.5.0", "babel-loader": "^9.1.0", "babel-loader-exclude-node-modules-except": "^1.2.1", diff --git a/psalm-ocp.xml b/psalm-ocp.xml index 47804e30fde..e5cef0a28b0 100644 --- a/psalm-ocp.xml +++ b/psalm-ocp.xml @@ -6,7 +6,7 @@ xmlns="https://getpsalm.org/schema/config" xsi:schemaLocation="https://getpsalm.org/schema/config" errorBaseline="build/psalm-baseline-ocp.xml" - findUnusedBaselineEntry="true" + findUnusedBaselineEntry="false" findUnusedCode="false" > <plugins> diff --git a/psalm.xml b/psalm.xml index cd50a2722da..dbe6d1f29df 100644 --- a/psalm.xml +++ b/psalm.xml @@ -6,7 +6,7 @@ xmlns="https://getpsalm.org/schema/config" xsi:schemaLocation="https://getpsalm.org/schema/config" errorBaseline="build/psalm-baseline.xml" - findUnusedBaselineEntry="true" + findUnusedBaselineEntry="false" findUnusedCode="false" > <plugins> diff --git a/vendor-bin/psalm/composer.json b/vendor-bin/psalm/composer.json index 4274f9323ab..b342aeedd91 100644 --- a/vendor-bin/psalm/composer.json +++ b/vendor-bin/psalm/composer.json @@ -1,6 +1,6 @@ { "require": { - "vimeo/psalm": "^4.30" + "vimeo/psalm": "^5.9" }, "config": { "platform": { diff --git a/vendor-bin/psalm/composer.lock b/vendor-bin/psalm/composer.lock index 617f6cf5075..1794df5aa8d 100644 --- a/vendor-bin/psalm/composer.lock +++ b/vendor-bin/psalm/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "74200460a7dbe18316eb477367d697a8", + "content-hash": "3c6bc45f8cc92ede530a2a5c08b4ad70", "packages": [ { "name": "amphp/amp", @@ -173,79 +173,6 @@ "time": "2021-03-30T17:13:30+00:00" }, { - "name": "composer/package-versions-deprecated", - "version": "1.11.99.5", - "source": { - "type": "git", - "url": "https://github.com/composer/package-versions-deprecated.git", - "reference": "b4f54f74ef3453349c24a845d22392cd31e65f1d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/b4f54f74ef3453349c24a845d22392cd31e65f1d", - "reference": "b4f54f74ef3453349c24a845d22392cd31e65f1d", - "shasum": "" - }, - "require": { - "composer-plugin-api": "^1.1.0 || ^2.0", - "php": "^7 || ^8" - }, - "replace": { - "ocramius/package-versions": "1.11.99" - }, - "require-dev": { - "composer/composer": "^1.9.3 || ^2.0@dev", - "ext-zip": "^1.13", - "phpunit/phpunit": "^6.5 || ^7" - }, - "type": "composer-plugin", - "extra": { - "class": "PackageVersions\\Installer", - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "PackageVersions\\": "src/PackageVersions" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be" - } - ], - "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)", - "support": { - "issues": "https://github.com/composer/package-versions-deprecated/issues", - "source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.5" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2022-01-17T14:14:24+00:00" - }, - { "name": "composer/pcre", "version": "3.0.2", "source": { @@ -602,6 +529,67 @@ "time": "2022-03-02T22:36:06+00:00" }, { + "name": "fidry/cpu-core-counter", + "version": "0.5.1", + "source": { + "type": "git", + "url": "https://github.com/theofidry/cpu-core-counter.git", + "reference": "b58e5a3933e541dc286cc91fc4f3898bbc6f1623" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/b58e5a3933e541dc286cc91fc4f3898bbc6f1623", + "reference": "b58e5a3933e541dc286cc91fc4f3898bbc6f1623", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "fidry/makefile": "^0.2.0", + "phpstan/extension-installer": "^1.2.0", + "phpstan/phpstan": "^1.9.2", + "phpstan/phpstan-deprecation-rules": "^1.0.0", + "phpstan/phpstan-phpunit": "^1.2.2", + "phpstan/phpstan-strict-rules": "^1.4.4", + "phpunit/phpunit": "^9.5.26 || ^8.5.31", + "theofidry/php-cs-fixer-config": "^1.0", + "webmozarts/strict-phpunit": "^7.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Fidry\\CpuCoreCounter\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Théo FIDRY", + "email": "theo.fidry@gmail.com" + } + ], + "description": "Tiny utility to get the number of CPU cores.", + "keywords": [ + "CPU", + "core" + ], + "support": { + "issues": "https://github.com/theofidry/cpu-core-counter/issues", + "source": "https://github.com/theofidry/cpu-core-counter/tree/0.5.1" + }, + "funding": [ + { + "url": "https://github.com/theofidry", + "type": "github" + } + ], + "time": "2022-12-24T12:35:10+00:00" + }, + { "name": "netresearch/jsonmapper", "version": "v4.0.0", "source": { @@ -709,59 +697,6 @@ "time": "2022-09-04T07:30:47+00:00" }, { - "name": "openlss/lib-array2xml", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/nullivex/lib-array2xml.git", - "reference": "a91f18a8dfc69ffabe5f9b068bc39bb202c81d90" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nullivex/lib-array2xml/zipball/a91f18a8dfc69ffabe5f9b068bc39bb202c81d90", - "reference": "a91f18a8dfc69ffabe5f9b068bc39bb202c81d90", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "type": "library", - "autoload": { - "psr-0": { - "LSS": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Bryan Tong", - "email": "bryan@nullivex.com", - "homepage": "https://www.nullivex.com" - }, - { - "name": "Tony Butler", - "email": "spudz76@gmail.com", - "homepage": "https://www.nullivex.com" - } - ], - "description": "Array2XML conversion library credit to lalit.org", - "homepage": "https://www.nullivex.com", - "keywords": [ - "array", - "array conversion", - "xml", - "xml conversion" - ], - "support": { - "issues": "https://github.com/nullivex/lib-array2xml/issues", - "source": "https://github.com/nullivex/lib-array2xml/tree/master" - }, - "time": "2019-03-29T20:06:56+00:00" - }, - { "name": "phpdocumentor/reflection-common", "version": "2.2.0", "source": { @@ -1091,6 +1026,69 @@ "time": "2020-10-26T13:10:38+00:00" }, { + "name": "spatie/array-to-xml", + "version": "3.1.5", + "source": { + "type": "git", + "url": "https://github.com/spatie/array-to-xml.git", + "reference": "13f76acef5362d15c71ae1ac6350cc3df5e25e43" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/13f76acef5362d15c71ae1ac6350cc3df5e25e43", + "reference": "13f76acef5362d15c71ae1ac6350cc3df5e25e43", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "php": "^8.0" + }, + "require-dev": { + "mockery/mockery": "^1.2", + "pestphp/pest": "^1.21", + "spatie/pest-plugin-snapshots": "^1.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\ArrayToXml\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://freek.dev", + "role": "Developer" + } + ], + "description": "Convert an array to xml", + "homepage": "https://github.com/spatie/array-to-xml", + "keywords": [ + "array", + "convert", + "xml" + ], + "support": { + "source": "https://github.com/spatie/array-to-xml/tree/3.1.5" + }, + "funding": [ + { + "url": "https://spatie.be/open-source/support-us", + "type": "custom" + }, + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2022-12-24T13:43:51+00:00" + }, + { "name": "symfony/console", "version": "v5.4.15", "source": { @@ -1257,6 +1255,70 @@ "time": "2022-01-02T09:53:40+00:00" }, { + "name": "symfony/filesystem", + "version": "v5.4.21", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "e75960b1bbfd2b8c9e483e0d74811d555ca3de9f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/e75960b1bbfd2b8c9e483e0d74811d555ca3de9f", + "reference": "e75960b1bbfd2b8c9e483e0d74811d555ca3de9f", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.8", + "symfony/polyfill-php80": "^1.16" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides basic utilities for the filesystem", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/filesystem/tree/v5.4.21" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-02-14T08:03:56+00:00" + }, + { "name": "symfony/polyfill-ctype", "version": "v1.26.0", "source": { @@ -1919,24 +1981,24 @@ }, { "name": "vimeo/psalm", - "version": "4.30.0", + "version": "5.9.0", "source": { "type": "git", "url": "https://github.com/vimeo/psalm.git", - "reference": "d0bc6e25d89f649e4f36a534f330f8bb4643dd69" + "reference": "8b9ad1eb9e8b7d3101f949291da2b9f7767cd163" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vimeo/psalm/zipball/d0bc6e25d89f649e4f36a534f330f8bb4643dd69", - "reference": "d0bc6e25d89f649e4f36a534f330f8bb4643dd69", + "url": "https://api.github.com/repos/vimeo/psalm/zipball/8b9ad1eb9e8b7d3101f949291da2b9f7767cd163", + "reference": "8b9ad1eb9e8b7d3101f949291da2b9f7767cd163", "shasum": "" }, "require": { "amphp/amp": "^2.4.2", "amphp/byte-stream": "^1.5", - "composer/package-versions-deprecated": "^1.8.0", + "composer-runtime-api": "^2", "composer/semver": "^1.4 || ^2.0 || ^3.0", - "composer/xdebug-handler": "^1.1 || ^2.0 || ^3.0", + "composer/xdebug-handler": "^2.0 || ^3.0", "dnoegel/php-xdg-base-dir": "^0.1.1", "ext-ctype": "*", "ext-dom": "*", @@ -1945,35 +2007,35 @@ "ext-mbstring": "*", "ext-simplexml": "*", "ext-tokenizer": "*", - "felixfbecker/advanced-json-rpc": "^3.0.3", - "felixfbecker/language-server-protocol": "^1.5", + "felixfbecker/advanced-json-rpc": "^3.1", + "felixfbecker/language-server-protocol": "^1.5.2", + "fidry/cpu-core-counter": "^0.4.1 || ^0.5.1", "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0", - "nikic/php-parser": "^4.13", - "openlss/lib-array2xml": "^1.0", - "php": "^7.1|^8", - "sebastian/diff": "^3.0 || ^4.0", - "symfony/console": "^3.4.17 || ^4.1.6 || ^5.0 || ^6.0", - "symfony/polyfill-php80": "^1.25", - "webmozart/path-util": "^2.3" + "nikic/php-parser": "^4.14", + "php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0", + "sebastian/diff": "^4.0 || ^5.0", + "spatie/array-to-xml": "^2.17.0 || ^3.0", + "symfony/console": "^4.1.6 || ^5.0 || ^6.0", + "symfony/filesystem": "^5.4 || ^6.0" }, "provide": { "psalm/psalm": "self.version" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.2", - "brianium/paratest": "^4.0||^6.0", + "amphp/phpunit-util": "^2.0", + "bamarni/composer-bin-plugin": "^1.4", + "brianium/paratest": "^6.9", "ext-curl": "*", + "mockery/mockery": "^1.5", + "nunomaduro/mock-final-classes": "^1.1", "php-parallel-lint/php-parallel-lint": "^1.2", - "phpdocumentor/reflection-docblock": "^5", - "phpmyadmin/sql-parser": "5.1.0||dev-master", - "phpspec/prophecy": ">=1.9.0", - "phpstan/phpdoc-parser": "1.2.* || 1.6.4", - "phpunit/phpunit": "^9.0", - "psalm/plugin-phpunit": "^0.16", - "slevomat/coding-standard": "^7.0", - "squizlabs/php_codesniffer": "^3.5", - "symfony/process": "^4.3 || ^5.0 || ^6.0", - "weirdan/prophecy-shim": "^1.0 || ^2.0" + "phpstan/phpdoc-parser": "^1.6", + "phpunit/phpunit": "^9.6", + "psalm/plugin-mockery": "^1.1", + "psalm/plugin-phpunit": "^0.18", + "slevomat/coding-standard": "^8.4", + "squizlabs/php_codesniffer": "^3.6", + "symfony/process": "^4.4 || ^5.0 || ^6.0" }, "suggest": { "ext-curl": "In order to send data to shepherd", @@ -1989,17 +2051,14 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.x-dev", + "dev-master": "5.x-dev", + "dev-4.x": "4.x-dev", "dev-3.x": "3.x-dev", "dev-2.x": "2.x-dev", "dev-1.x": "1.x-dev" } }, "autoload": { - "files": [ - "src/functions.php", - "src/spl_object_id.php" - ], "psr-4": { "Psalm\\": "src/Psalm/" } @@ -2017,13 +2076,14 @@ "keywords": [ "code", "inspection", - "php" + "php", + "static analysis" ], "support": { "issues": "https://github.com/vimeo/psalm/issues", - "source": "https://github.com/vimeo/psalm/tree/4.30.0" + "source": "https://github.com/vimeo/psalm/tree/5.9.0" }, - "time": "2022-11-06T20:37:08+00:00" + "time": "2023-03-29T21:38:21+00:00" }, { "name": "webmozart/assert", @@ -2082,57 +2142,6 @@ "source": "https://github.com/webmozarts/assert/tree/1.11.0" }, "time": "2022-06-03T18:03:27+00:00" - }, - { - "name": "webmozart/path-util", - "version": "2.3.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/path-util.git", - "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/path-util/zipball/d939f7edc24c9a1bb9c0dee5cb05d8e859490725", - "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "webmozart/assert": "~1.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev" - } - }, - "autoload": { - "psr-4": { - "Webmozart\\PathUtil\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "A robust cross-platform utility for normalizing, comparing and modifying file paths.", - "support": { - "issues": "https://github.com/webmozart/path-util/issues", - "source": "https://github.com/webmozart/path-util/tree/2.3.0" - }, - "abandoned": "symfony/filesystem", - "time": "2015-12-17T08:42:14+00:00" } ], "packages-dev": [], diff --git a/version.php b/version.php index d20714276b1..44889f77860 100644 --- a/version.php +++ b/version.php @@ -30,7 +30,7 @@ // between betas, final and RCs. This is _not_ the public version number. Reset minor/patch level // when updating major/minor version number. -$OC_Version = [27, 0, 0, 0]; +$OC_Version = [27, 0, 0, 1]; // The human-readable string $OC_VersionString = '27.0.0 dev'; |