mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-05-09 13:06:14 +00:00
Merge branch 'seeddms-5.1.x' into seeddms-6.0.x
This commit is contained in:
commit
ee656527c2
|
@ -177,7 +177,7 @@
|
||||||
- open the right page or tab after a document version has been removed
|
- open the right page or tab after a document version has been removed
|
||||||
(go to folder page if the whole document was removed, go to previous tab
|
(go to folder page if the whole document was removed, go to previous tab
|
||||||
if an old version was removed and there are other older version, otherwise
|
if an old version was removed and there are other older version, otherwise
|
||||||
to to current tab)
|
go to current tab)
|
||||||
- expiration of document can be set through webdav
|
- expiration of document can be set through webdav
|
||||||
- prefix each attribute with 'attr_' when read through webdav
|
- prefix each attribute with 'attr_' when read through webdav
|
||||||
- actually set owner as notified user, not the logged in user,
|
- actually set owner as notified user, not the logged in user,
|
||||||
|
|
179
Gruntfile.js
179
Gruntfile.js
|
@ -1,205 +1,191 @@
|
||||||
module.exports = function (grunt) {
|
module.exports = function (grunt) {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var vendorDir = 'views/bootstrap/vendors',
|
var bootstrapDir = 'views/bootstrap/vendors',
|
||||||
|
tdkDir = 'views/tdk/vendors',
|
||||||
nodeDir = 'node_modules';
|
nodeDir = 'node_modules';
|
||||||
|
|
||||||
grunt.initConfig({
|
grunt.initConfig({
|
||||||
clean: {
|
clean: {
|
||||||
vendors: [ vendorDir ]
|
vendors: [ bootstrapDir ]
|
||||||
},
|
},
|
||||||
copy: {
|
copy: {
|
||||||
'jquery': {
|
'bootstrap': {
|
||||||
files: [{
|
files: [{
|
||||||
expand: true,
|
expand: true,
|
||||||
src: [
|
src: [
|
||||||
nodeDir + '/jquery/dist/*'
|
nodeDir + '/jquery/dist/*'
|
||||||
],
|
],
|
||||||
dest: vendorDir + '/jquery',
|
dest: bootstrapDir + '/jquery',
|
||||||
flatten: true
|
flatten: true
|
||||||
}]
|
}, {
|
||||||
},
|
|
||||||
'chartjs': {
|
|
||||||
files: [{
|
|
||||||
expand: true,
|
expand: true,
|
||||||
src: [
|
src: [
|
||||||
nodeDir + '/chartjs/chart.js',
|
nodeDir + '/chartjs/chart.js',
|
||||||
nodeDir + '/chartjs/README.md',
|
nodeDir + '/chartjs/README.md',
|
||||||
nodeDir + '/chartjs/LICENSE'
|
nodeDir + '/chartjs/LICENSE'
|
||||||
],
|
],
|
||||||
dest: vendorDir + '/chartjs',
|
dest: bootstrapDir + '/chartjs',
|
||||||
flatten: true
|
flatten: true
|
||||||
}]
|
},{
|
||||||
},
|
|
||||||
'cytoscape': {
|
|
||||||
files: [{
|
|
||||||
expand: true,
|
expand: true,
|
||||||
src: [
|
src: [
|
||||||
nodeDir + '/cytoscape/dist/*',
|
nodeDir + '/cytoscape/dist/*',
|
||||||
nodeDir + '/cytoscape-grid-guide/cytoscape-grid-guide.js'
|
nodeDir + '/cytoscape-grid-guide/cytoscape-grid-guide.js'
|
||||||
],
|
],
|
||||||
dest: vendorDir + '/cytoscape',
|
dest: bootstrapDir + '/cytoscape',
|
||||||
flatten: true
|
flatten: true
|
||||||
}]
|
},{
|
||||||
},
|
|
||||||
'jqtree': {
|
|
||||||
files: [{
|
|
||||||
expand: true,
|
expand: true,
|
||||||
src: [
|
src: [
|
||||||
nodeDir + '/jqtree/tree.jquery.js',
|
nodeDir + '/jqtree/tree.jquery.js',
|
||||||
nodeDir + '/jqtree/jqtree.css'
|
nodeDir + '/jqtree/jqtree.css'
|
||||||
],
|
],
|
||||||
dest: vendorDir + '/jqtree',
|
dest: bootstrapDir + '/jqtree',
|
||||||
flatten: true
|
flatten: true
|
||||||
}]
|
},{
|
||||||
},
|
|
||||||
'noty': {
|
|
||||||
files: [{
|
|
||||||
expand: true,
|
expand: true,
|
||||||
src: [
|
src: [
|
||||||
nodeDir + '/noty/js/noty/jquery.noty.js'
|
nodeDir + '/noty/js/noty/jquery.noty.js'
|
||||||
],
|
],
|
||||||
dest: vendorDir + '/noty',
|
dest: bootstrapDir + '/noty',
|
||||||
flatten: true
|
flatten: true
|
||||||
},{
|
},{
|
||||||
expand: true,
|
expand: true,
|
||||||
src: [
|
src: [
|
||||||
nodeDir + '/noty/js/noty/themes/*'
|
nodeDir + '/noty/js/noty/themes/*'
|
||||||
],
|
],
|
||||||
dest: vendorDir + '/noty/themes',
|
dest: bootstrapDir + '/noty/themes',
|
||||||
flatten: true
|
flatten: true
|
||||||
},{
|
},{
|
||||||
expand: true,
|
expand: true,
|
||||||
src: [
|
src: [
|
||||||
nodeDir + '/noty/js/noty/layouts/*'
|
nodeDir + '/noty/js/noty/layouts/*'
|
||||||
],
|
],
|
||||||
dest: vendorDir + '/noty/layouts',
|
dest: bootstrapDir + '/noty/layouts',
|
||||||
flatten: true
|
flatten: true
|
||||||
}]
|
},{
|
||||||
},
|
|
||||||
'select2': {
|
|
||||||
files: [{
|
|
||||||
expand: true,
|
expand: true,
|
||||||
src: [
|
src: [
|
||||||
nodeDir + '/select2/dist/js/*'
|
nodeDir + '/select2/dist/js/*'
|
||||||
],
|
],
|
||||||
dest: vendorDir + '/select2/js',
|
dest: bootstrapDir + '/select2/js',
|
||||||
flatten: true
|
flatten: true
|
||||||
},{
|
},{
|
||||||
expand: true,
|
expand: true,
|
||||||
src: [
|
src: [
|
||||||
nodeDir + '/select2/dist/css/*'
|
nodeDir + '/select2/dist/css/*'
|
||||||
],
|
],
|
||||||
dest: vendorDir + '/select2/css',
|
dest: bootstrapDir + '/select2/css',
|
||||||
flatten: true
|
flatten: true
|
||||||
}]
|
},{
|
||||||
},
|
|
||||||
'fine-uploader': {
|
|
||||||
files: [{
|
|
||||||
expand: true,
|
expand: true,
|
||||||
src: [
|
src: [
|
||||||
nodeDir + '/fine-uploader/jquery.fine-uploader/*'
|
nodeDir + '/fine-uploader/jquery.fine-uploader/*'
|
||||||
],
|
],
|
||||||
dest: vendorDir + '/fine-uploader',
|
dest: bootstrapDir + '/fine-uploader',
|
||||||
flatten: true
|
flatten: true
|
||||||
}]
|
},{
|
||||||
},
|
|
||||||
'jquery-validation': {
|
|
||||||
files: [{
|
|
||||||
expand: true,
|
expand: true,
|
||||||
src: [
|
src: [
|
||||||
nodeDir + '/jquery-validation/dist/*'
|
nodeDir + '/jquery-validation/dist/*'
|
||||||
],
|
],
|
||||||
dest: vendorDir + '/jquery-validation',
|
dest: bootstrapDir + '/jquery-validation',
|
||||||
flatten: true
|
flatten: true
|
||||||
}]
|
},{
|
||||||
},
|
|
||||||
'flot': {
|
|
||||||
files: [{
|
|
||||||
expand: true,
|
expand: true,
|
||||||
src: [
|
src: [
|
||||||
nodeDir + '/flot/source/jquery.canvaswrapper.js',
|
nodeDir + '/flot/source/jquery.canvaswrapper.js',
|
||||||
nodeDir + '/flot/source/jquery.colorhelpers.js',
|
nodeDir + '/flot/source/jquery.colorhelpers.js',
|
||||||
nodeDir + '/flot/source/jquery.flot.*'
|
nodeDir + '/flot/source/jquery.flot.*'
|
||||||
],
|
],
|
||||||
dest: vendorDir + '/flot',
|
dest: bootstrapDir + '/flot',
|
||||||
flatten: true
|
flatten: true
|
||||||
}]
|
},{
|
||||||
},
|
|
||||||
'font-awesome': {
|
|
||||||
files: [{
|
|
||||||
expand: true,
|
expand: true,
|
||||||
src: [
|
src: [
|
||||||
nodeDir + '/font-awesome/fonts/*'
|
nodeDir + '/font-awesome/fonts/*'
|
||||||
],
|
],
|
||||||
dest: vendorDir + '/font-awesome/fonts',
|
dest: bootstrapDir + '/font-awesome/fonts',
|
||||||
flatten: true
|
flatten: true
|
||||||
},{
|
},{
|
||||||
expand: true,
|
expand: true,
|
||||||
src: [
|
src: [
|
||||||
nodeDir + '/font-awesome/css/*'
|
nodeDir + '/font-awesome/css/*'
|
||||||
],
|
],
|
||||||
dest: vendorDir + '/font-awesome/css',
|
dest: bootstrapDir + '/font-awesome/css',
|
||||||
flatten: true
|
flatten: true
|
||||||
}]
|
},{
|
||||||
},
|
|
||||||
'fullcalendar': {
|
|
||||||
files: [{
|
|
||||||
expand: true,
|
expand: true,
|
||||||
src: [
|
src: [
|
||||||
nodeDir + '/fullcalendar/LICENSE.txt',
|
nodeDir + '/fullcalendar/LICENSE.txt',
|
||||||
nodeDir + '/fullcalendar/dist/*'
|
nodeDir + '/fullcalendar/dist/*'
|
||||||
],
|
],
|
||||||
dest: vendorDir + '/fullcalendar',
|
dest: bootstrapDir + '/fullcalendar',
|
||||||
flatten: true
|
flatten: true
|
||||||
},{
|
},{
|
||||||
expand: true,
|
expand: true,
|
||||||
src: [
|
src: [
|
||||||
nodeDir + '/fullcalendar/dist/locale/*'
|
nodeDir + '/fullcalendar/dist/locale/*'
|
||||||
],
|
],
|
||||||
dest: vendorDir + '/fullcalendar/locale',
|
dest: bootstrapDir + '/fullcalendar/locale',
|
||||||
flatten: true
|
flatten: true
|
||||||
}]
|
},{
|
||||||
},
|
|
||||||
'moment': {
|
|
||||||
files: [{
|
|
||||||
expand: true,
|
expand: true,
|
||||||
src: [
|
src: [
|
||||||
nodeDir + '/moment/LICENSE.txt',
|
nodeDir + '/moment/LICENSE.txt',
|
||||||
nodeDir + '/moment/min/*'
|
nodeDir + '/moment/min/*'
|
||||||
],
|
],
|
||||||
dest: vendorDir + '/moment',
|
dest: bootstrapDir + '/moment',
|
||||||
flatten: true
|
flatten: true
|
||||||
},{
|
},{
|
||||||
expand: true,
|
expand: true,
|
||||||
src: [
|
src: [
|
||||||
nodeDir + '/moment/dist/locale/*'
|
nodeDir + '/moment/dist/locale/*'
|
||||||
],
|
],
|
||||||
dest: vendorDir + '/moment/locale',
|
dest: bootstrapDir + '/moment/locale',
|
||||||
flatten: true
|
flatten: true
|
||||||
}]
|
},{
|
||||||
},
|
expand: true,
|
||||||
'bootstrap-datepicker': {
|
src: [
|
||||||
files: [{
|
nodeDir + '/perfect-scrollbar/dist/*'
|
||||||
|
],
|
||||||
|
dest: bootstrapDir + '/perfect-scrollbar',
|
||||||
|
flatten: true
|
||||||
|
},{
|
||||||
expand: true,
|
expand: true,
|
||||||
src: [
|
src: [
|
||||||
nodeDir + '/bootstrap-datepicker/dist/js/*'
|
nodeDir + '/bootstrap-datepicker/dist/js/*'
|
||||||
],
|
],
|
||||||
dest: vendorDir + '/bootstrap-datepicker/js',
|
dest: bootstrapDir + '/bootstrap-datepicker/js',
|
||||||
flatten: true
|
flatten: true
|
||||||
},{
|
},{
|
||||||
expand: true,
|
expand: true,
|
||||||
src: [
|
src: [
|
||||||
nodeDir + '/bootstrap-datepicker/dist/css/*'
|
nodeDir + '/bootstrap-datepicker/dist/css/*'
|
||||||
],
|
],
|
||||||
dest: vendorDir + '/bootstrap-datepicker/css',
|
dest: bootstrapDir + '/bootstrap-datepicker/css',
|
||||||
flatten: true
|
flatten: true
|
||||||
},{
|
},{
|
||||||
expand: true,
|
expand: true,
|
||||||
src: [
|
src: [
|
||||||
nodeDir + '/bootstrap-datepicker/dist/locales/*'
|
nodeDir + '/bootstrap-datepicker/dist/locales/*'
|
||||||
],
|
],
|
||||||
dest: vendorDir + '/bootstrap-datepicker/locales',
|
dest: bootstrapDir + '/bootstrap-datepicker/locales',
|
||||||
|
flatten: true
|
||||||
|
},{
|
||||||
|
expand: true,
|
||||||
|
src: [
|
||||||
|
nodeDir + '/@coreui/coreui/dist/js/*'
|
||||||
|
],
|
||||||
|
dest: bootstrapDir + '/coreui/js',
|
||||||
|
flatten: true
|
||||||
|
},{
|
||||||
|
expand: true,
|
||||||
|
src: [
|
||||||
|
nodeDir + '/@coreui/coreui/dist/css/*'
|
||||||
|
],
|
||||||
|
dest: bootstrapDir + '/coreui/css',
|
||||||
flatten: true
|
flatten: true
|
||||||
}]
|
}]
|
||||||
},
|
},
|
||||||
|
@ -209,29 +195,64 @@ module.exports = function (grunt) {
|
||||||
src: [
|
src: [
|
||||||
nodeDir + '/@coreui/coreui/dist/js/*'
|
nodeDir + '/@coreui/coreui/dist/js/*'
|
||||||
],
|
],
|
||||||
dest: vendorDir + '/coreui/js',
|
dest: tdkDir + '/coreui/js',
|
||||||
flatten: true
|
flatten: true
|
||||||
},{
|
},{
|
||||||
expand: true,
|
expand: true,
|
||||||
src: [
|
src: [
|
||||||
nodeDir + '/@coreui/coreui/dist/css/*'
|
nodeDir + '/@coreui/coreui/dist/css/*'
|
||||||
],
|
],
|
||||||
dest: vendorDir + '/coreui/css',
|
dest: tdkDir + '/coreui/css',
|
||||||
|
flatten: true
|
||||||
|
},{
|
||||||
|
expand: true,
|
||||||
|
src: [
|
||||||
|
nodeDir + '/perfect-scrollbar/dist/*'
|
||||||
|
],
|
||||||
|
dest: tdkDir + '/perfect-scrollbar',
|
||||||
|
flatten: true
|
||||||
|
},{
|
||||||
|
expand: true,
|
||||||
|
src: [
|
||||||
|
nodeDir + '/bootstrap/dist/js/*'
|
||||||
|
],
|
||||||
|
dest: tdkDir + '/bootstrap/js',
|
||||||
|
flatten: true
|
||||||
|
},{
|
||||||
|
expand: true,
|
||||||
|
src: [
|
||||||
|
nodeDir + '/bootstrap/dist/css/*'
|
||||||
|
],
|
||||||
|
dest: tdkDir + '/bootstrap/css',
|
||||||
|
flatten: true
|
||||||
|
},{
|
||||||
|
expand: true,
|
||||||
|
src: [
|
||||||
|
nodeDir + '/font-awesome/fonts/*'
|
||||||
|
],
|
||||||
|
dest: tdkDir + '/font-awesome/fonts',
|
||||||
|
flatten: true
|
||||||
|
},{
|
||||||
|
expand: true,
|
||||||
|
src: [
|
||||||
|
nodeDir + '/font-awesome/css/*'
|
||||||
|
],
|
||||||
|
dest: tdkDir + '/font-awesome/css',
|
||||||
flatten: true
|
flatten: true
|
||||||
}]
|
}]
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
grunt.registerTask('createVendorDir', 'Creates the necessary vendor directory', function() {
|
grunt.registerTask('createVendorDir', 'Creates the necessary vendor directory', function() {
|
||||||
// Create the vendorDir when it doesn't exists.
|
// Create the bootstrapDir when it doesn't exists.
|
||||||
if (!grunt.file.isDir(vendorDir)) {
|
if (!grunt.file.isDir(bootstrapDir)) {
|
||||||
grunt.file.mkdir(vendorDir);
|
grunt.file.mkdir(bootstrapDir);
|
||||||
|
|
||||||
// Output a success message
|
// Output a success message
|
||||||
grunt.log.oklns(grunt.template.process(
|
grunt.log.oklns(grunt.template.process(
|
||||||
'Directory "<%= directory %>" was created successfully.',
|
'Directory "<%= directory %>" was created successfully.',
|
||||||
{ data: { directory: vendorDir } }
|
{ data: { directory: bootstrapDir } }
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -94,7 +94,7 @@ if (isset($_COOKIE["mydms_session"])) {
|
||||||
*/
|
*/
|
||||||
header("Cache-Control: no-cache,no-store");
|
header("Cache-Control: no-cache,no-store");
|
||||||
|
|
||||||
$command = $_REQUEST["command"];
|
$command = isset($_REQUEST["command"]) ? $_REQUEST["command"] : '';
|
||||||
switch($command) {
|
switch($command) {
|
||||||
case 'checkpwstrength': /* {{{ */
|
case 'checkpwstrength': /* {{{ */
|
||||||
$ps = new Password_Strength();
|
$ps = new Password_Strength();
|
||||||
|
|
|
@ -36,7 +36,7 @@ if (!$settings->_backupDir) {
|
||||||
}
|
}
|
||||||
|
|
||||||
$v = new SeedDMS_Version;
|
$v = new SeedDMS_Version;
|
||||||
$dump_name = addDirSep($settings->_backupDir).date('Y-m-d\TH-i-s')."_".$v->_number.".sql";
|
$dump_name = addDirSep($settings->_backupDir).date('Y-m-d\TH-i-s')."_".$v->version().".sql";
|
||||||
if(!$dms->createDump($dump_name))
|
if(!$dms->createDump($dump_name))
|
||||||
UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));
|
UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,8 @@
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@coreui/coreui": "^3.2.2",
|
"@coreui/coreui": "^3.2.2",
|
||||||
|
"@popperjs/core": "^2.4.4",
|
||||||
|
"bootstrap": "^4.5.2",
|
||||||
"bootstrap-datepicker": "^1.9.0",
|
"bootstrap-datepicker": "^1.9.0",
|
||||||
"chartjs": "^0.3.24",
|
"chartjs": "^0.3.24",
|
||||||
"cytoscape": "^3.15.2",
|
"cytoscape": "^3.15.2",
|
||||||
|
@ -26,6 +28,7 @@
|
||||||
"jquery-validation": "^1.19.2",
|
"jquery-validation": "^1.19.2",
|
||||||
"moment": "^2.17.1",
|
"moment": "^2.17.1",
|
||||||
"noty": "^2.4.1",
|
"noty": "^2.4.1",
|
||||||
|
"perfect-scrollbar": "^1.5.0",
|
||||||
"select2": "^4.0.13"
|
"select2": "^4.0.13"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -411,7 +411,10 @@ console.log(element);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if($tmp) {
|
if($tmp) {
|
||||||
$fieldwrap[1] .= '<div class="mandatories"><span>'.getMLText('mandatory_reviewers').':</span> '.implode(', ', $tmp)."</div>\n";
|
if(isset($fieldwrap[1]))
|
||||||
|
$fieldwrap[1] .= '<div class="mandatories"><span>'.getMLText('mandatory_reviewers').':</span> '.implode(', ', $tmp)."</div>\n";
|
||||||
|
else
|
||||||
|
$fieldwrap[1] = '<div class="mandatories"><span>'.getMLText('mandatory_reviewers').':</span> '.implode(', ', $tmp)."</div>\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user