diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b315ae4..93dd100a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,15 @@ developers to maintain and readjust their custom modifications on the main proje The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## [1.3.2] - Unreleased + +## Fixed + +- #480: Make the app GDPR - new EU privacy regulations compliant. +- #485: Make REST API search check with "q" parameter case insensitive. +- #489: REST API response headers must use the Content-Type application/json value. +- #500: Performance optimization in backend calendar page, after the user clicks the insert appointment button. + ## [1.3.1] ### Added diff --git a/package-lock.json b/package-lock.json index d43cbbfd..2119fcc0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,7 @@ "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", "dev": true, "requires": { - "acorn": "3.3.0" + "acorn": "^3.0.4" }, "dependencies": { "acorn": { @@ -33,8 +33,8 @@ "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", "dev": true, "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" } }, "ajv-keywords": { @@ -73,7 +73,7 @@ "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", "dev": true, "requires": { - "sprintf-js": "1.0.3" + "sprintf-js": "~1.0.2" } }, "arr-diff": { @@ -82,7 +82,7 @@ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { - "arr-flatten": "1.1.0" + "arr-flatten": "^1.0.1" } }, "arr-flatten": { @@ -115,7 +115,7 @@ "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "dev": true, "requires": { - "array-uniq": "1.0.3" + "array-uniq": "^1.0.1" } }, "array-uniq": { @@ -177,7 +177,7 @@ "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -187,9 +187,9 @@ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" } }, "caller-path": { @@ -198,7 +198,7 @@ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { - "callsites": "0.2.0" + "callsites": "^0.2.0" } }, "callsites": { @@ -213,7 +213,7 @@ "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=", "dev": true, "requires": { - "underscore-contrib": "0.3.0" + "underscore-contrib": "~0.3.0" } }, "chalk": { @@ -222,11 +222,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "circular-json": { @@ -242,7 +242,7 @@ "dev": true, "requires": { "exit": "0.1.2", - "glob": "7.1.2" + "glob": "^7.1.1" }, "dependencies": { "glob": { @@ -251,12 +251,12 @@ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "minimatch": { @@ -265,7 +265,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "^1.1.7" } } } @@ -276,7 +276,7 @@ "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", "dev": true, "requires": { - "restore-cursor": "1.0.1" + "restore-cursor": "^1.0.1" } }, "cli-width": { @@ -327,9 +327,9 @@ "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.3", - "typedarray": "0.0.6" + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" }, "dependencies": { "isarray": { @@ -344,13 +344,13 @@ "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.0.3", + "util-deprecate": "~1.0.1" } }, "string_decoder": { @@ -359,7 +359,7 @@ "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "dev": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } } } @@ -370,9 +370,14 @@ "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", "dev": true, "requires": { - "date-now": "0.1.4" + "date-now": "^0.1.4" } }, + "cookieconsent": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/cookieconsent/-/cookieconsent-3.0.6.tgz", + "integrity": "sha512-itjtWcF5LcVgyBWfHGcmU0n9LfNZ6BzlKwm02lOqMvjacim9+83gNzsuxJc61+8tjvBXM3hfMl4jnquhHJbpxg==" + }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", @@ -385,7 +390,7 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "0.10.35" + "es5-ext": "^0.10.9" } }, "datatables": { @@ -393,7 +398,7 @@ "resolved": "https://registry.npmjs.org/datatables/-/datatables-1.10.13.tgz", "integrity": "sha1-m7Lexvfc8CBJoA5PDn0/4AnDk0Y=", "requires": { - "jquery": "3.2.1" + "jquery": ">=1.7" } }, "date-now": { @@ -413,7 +418,7 @@ "resolved": "https://registry.npmjs.org/datejs/-/datejs-0.0.2.tgz", "integrity": "sha1-JCzy4cczjZUCpa5Blv1p4jQhH0o=", "requires": { - "vows": "0.8.1" + "vows": ">=0.5.2" } }, "debug": { @@ -437,7 +442,7 @@ "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", "dev": true, "requires": { - "clone": "1.0.2" + "clone": "^1.0.2" } }, "del": { @@ -446,13 +451,13 @@ "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "dev": true, "requires": { - "globby": "5.0.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.0", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "rimraf": "2.6.2" + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" } }, "deprecated": { @@ -467,7 +472,7 @@ "integrity": "sha1-STXe39lIhkjgBrASlWbpOGcR6mM=", "dev": true, "requires": { - "fs-exists-sync": "0.1.0" + "fs-exists-sync": "^0.1.0" } }, "diff": { @@ -481,8 +486,8 @@ "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", "dev": true, "requires": { - "esutils": "2.0.2", - "isarray": "1.0.0" + "esutils": "^2.0.2", + "isarray": "^1.0.0" }, "dependencies": { "isarray": { @@ -499,8 +504,8 @@ "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", "dev": true, "requires": { - "domelementtype": "1.1.3", - "entities": "1.1.1" + "domelementtype": "~1.1.1", + "entities": "~1.1.1" }, "dependencies": { "domelementtype": { @@ -529,7 +534,7 @@ "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", "dev": true, "requires": { - "domelementtype": "1.3.0" + "domelementtype": "1" } }, "domutils": { @@ -538,8 +543,8 @@ "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", "dev": true, "requires": { - "dom-serializer": "0.1.0", - "domelementtype": "1.3.0" + "dom-serializer": "0", + "domelementtype": "1" } }, "duplexer2": { @@ -548,7 +553,7 @@ "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", "dev": true, "requires": { - "readable-stream": "1.1.14" + "readable-stream": "~1.1.9" } }, "end-of-stream": { @@ -557,7 +562,7 @@ "integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=", "dev": true, "requires": { - "once": "1.3.3" + "once": "~1.3.0" }, "dependencies": { "once": { @@ -566,7 +571,7 @@ "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } } } @@ -583,8 +588,8 @@ "integrity": "sha1-GO6FjOajxFx9eekcFfzKnsVoSU8=", "dev": true, "requires": { - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1" + "es6-iterator": "~2.0.1", + "es6-symbol": "~3.1.1" } }, "es6-iterator": { @@ -593,9 +598,9 @@ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.35", - "es6-symbol": "3.1.1" + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" } }, "es6-map": { @@ -604,12 +609,12 @@ "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.35", - "es6-iterator": "2.0.3", - "es6-set": "0.1.5", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-set": "~0.1.5", + "es6-symbol": "~3.1.1", + "event-emitter": "~0.3.5" } }, "es6-set": { @@ -618,11 +623,11 @@ "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.35", - "es6-iterator": "2.0.3", + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" + "event-emitter": "~0.3.5" } }, "es6-symbol": { @@ -631,8 +636,8 @@ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.35" + "d": "1", + "es5-ext": "~0.10.14" } }, "es6-weak-map": { @@ -641,10 +646,10 @@ "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.35", - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1" + "d": "1", + "es5-ext": "^0.10.14", + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" } }, "escape-string-regexp": { @@ -659,7 +664,7 @@ "integrity": "sha1-6pZ8sSwSOCDSTnrATkJ4oZvPzoM=", "dev": true, "requires": { - "typhonjs-escomplex-commons": "0.0.14" + "typhonjs-escomplex-commons": "^0.0.14" } }, "escomplex-plugin-metrics-project": { @@ -668,7 +673,7 @@ "integrity": "sha1-Z6Y1wctV4vO+y3dO/mpANOYjiqg=", "dev": true, "requires": { - "typhonjs-escomplex-commons": "0.0.14" + "typhonjs-escomplex-commons": "^0.0.14" } }, "escomplex-plugin-syntax-babylon": { @@ -677,8 +682,8 @@ "integrity": "sha1-sUcBSYHP57yKK0NJfmsyiRqD5yA=", "dev": true, "requires": { - "escomplex-plugin-syntax-estree": "0.0.10", - "typhonjs-escomplex-commons": "0.0.14" + "escomplex-plugin-syntax-estree": "^0.0.10", + "typhonjs-escomplex-commons": "^0.0.14" } }, "escomplex-plugin-syntax-estree": { @@ -687,7 +692,7 @@ "integrity": "sha1-b1MfnZM/vB68lDjpwQGxtGNs/Gg=", "dev": true, "requires": { - "typhonjs-escomplex-commons": "0.0.14" + "typhonjs-escomplex-commons": "^0.0.14" } }, "escope": { @@ -696,10 +701,10 @@ "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", "dev": true, "requires": { - "es6-map": "0.1.5", - "es6-weak-map": "2.0.2", - "esrecurse": "4.2.0", - "estraverse": "4.2.0" + "es6-map": "^0.1.3", + "es6-weak-map": "^2.0.1", + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, "eslint": { @@ -708,39 +713,39 @@ "integrity": "sha1-/xLq/cBOpx0XOgmdRlihNucVeTQ=", "dev": true, "requires": { - "chalk": "1.1.3", - "concat-stream": "1.6.0", - "debug": "2.6.9", - "doctrine": "1.5.0", - "es6-map": "0.1.5", - "escope": "3.6.0", - "espree": "3.5.1", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "file-entry-cache": "1.3.1", - "glob": "7.1.2", - "globals": "9.18.0", - "ignore": "3.3.7", - "imurmurhash": "0.1.4", - "inquirer": "0.12.0", - "is-my-json-valid": "2.16.1", - "is-resolvable": "1.0.0", - "js-yaml": "3.10.0", - "json-stable-stringify": "1.0.1", - "levn": "0.3.0", - "lodash": "4.17.4", - "mkdirp": "0.5.1", - "optionator": "0.8.2", - "path-is-inside": "1.0.2", - "pluralize": "1.2.1", - "progress": "1.1.8", - "require-uncached": "1.0.3", - "shelljs": "0.6.1", - "strip-bom": "3.0.0", - "strip-json-comments": "1.0.4", - "table": "3.8.3", - "text-table": "0.2.0", - "user-home": "2.0.0" + "chalk": "^1.1.3", + "concat-stream": "^1.4.6", + "debug": "^2.1.1", + "doctrine": "^1.2.2", + "es6-map": "^0.1.3", + "escope": "^3.6.0", + "espree": "^3.1.6", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^1.1.1", + "glob": "^7.0.3", + "globals": "^9.2.0", + "ignore": "^3.1.2", + "imurmurhash": "^0.1.4", + "inquirer": "^0.12.0", + "is-my-json-valid": "^2.10.0", + "is-resolvable": "^1.0.0", + "js-yaml": "^3.5.1", + "json-stable-stringify": "^1.0.0", + "levn": "^0.3.0", + "lodash": "^4.0.0", + "mkdirp": "^0.5.0", + "optionator": "^0.8.1", + "path-is-inside": "^1.0.1", + "pluralize": "^1.2.1", + "progress": "^1.1.8", + "require-uncached": "^1.0.2", + "shelljs": "^0.6.0", + "strip-bom": "^3.0.0", + "strip-json-comments": "~1.0.1", + "table": "^3.7.8", + "text-table": "~0.2.0", + "user-home": "^2.0.0" }, "dependencies": { "glob": { @@ -749,12 +754,12 @@ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "lodash": { @@ -769,7 +774,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "^1.1.7" } }, "strip-bom": { @@ -790,7 +795,7 @@ "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", "dev": true, "requires": { - "os-homedir": "1.0.2" + "os-homedir": "^1.0.0" } } } @@ -801,8 +806,8 @@ "integrity": "sha1-DJiLirRttTEAoZVK5LqZXd0n2H4=", "dev": true, "requires": { - "acorn": "5.2.1", - "acorn-jsx": "3.0.1" + "acorn": "^5.1.1", + "acorn-jsx": "^3.0.0" } }, "esprima": { @@ -817,8 +822,8 @@ "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", "dev": true, "requires": { - "estraverse": "4.2.0", - "object-assign": "4.1.1" + "estraverse": "^4.1.0", + "object-assign": "^4.0.1" } }, "estraverse": { @@ -844,8 +849,8 @@ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.35" + "d": "1", + "es5-ext": "~0.10.14" } }, "exit": { @@ -866,7 +871,7 @@ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { - "is-posix-bracket": "0.1.1" + "is-posix-bracket": "^0.1.0" } }, "expand-range": { @@ -875,7 +880,7 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { - "fill-range": "2.2.3" + "fill-range": "^2.1.0" } }, "expand-tilde": { @@ -884,7 +889,7 @@ "integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=", "dev": true, "requires": { - "os-homedir": "1.0.2" + "os-homedir": "^1.0.1" } }, "extend": { @@ -899,7 +904,7 @@ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "eyes": { @@ -913,8 +918,8 @@ "integrity": "sha1-Rb4X0Cu5kX1gzP/UmVyZnmyMmUg=", "dev": true, "requires": { - "chalk": "1.1.3", - "time-stamp": "1.1.0" + "chalk": "^1.1.1", + "time-stamp": "^1.0.0" } }, "fast-levenshtein": { @@ -929,8 +934,8 @@ "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", "dev": true, "requires": { - "escape-string-regexp": "1.0.5", - "object-assign": "4.1.1" + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" } }, "file-entry-cache": { @@ -939,8 +944,8 @@ "integrity": "sha1-RMYepgeuS+nBQC9B9EJwy/4zT/g=", "dev": true, "requires": { - "flat-cache": "1.3.0", - "object-assign": "4.1.1" + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" } }, "filename-regex": { @@ -955,11 +960,11 @@ "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", "dev": true, "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "1.1.7", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^1.1.3", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" } }, "find-index": { @@ -974,10 +979,10 @@ "integrity": "sha1-QAQ5Kee8YK3wt/SCfExudaDeyhI=", "dev": true, "requires": { - "detect-file": "0.1.0", - "is-glob": "2.0.1", - "micromatch": "2.3.11", - "resolve-dir": "0.1.1" + "detect-file": "^0.1.0", + "is-glob": "^2.0.1", + "micromatch": "^2.3.7", + "resolve-dir": "^0.1.0" } }, "fined": { @@ -986,11 +991,11 @@ "integrity": "sha1-s33IRLdqL15wgeiE98CuNE8VNHY=", "dev": true, "requires": { - "expand-tilde": "2.0.2", - "is-plain-object": "2.0.4", - "object.defaults": "1.1.0", - "object.pick": "1.3.0", - "parse-filepath": "1.0.1" + "expand-tilde": "^2.0.2", + "is-plain-object": "^2.0.3", + "object.defaults": "^1.1.0", + "object.pick": "^1.2.0", + "parse-filepath": "^1.0.1" }, "dependencies": { "expand-tilde": { @@ -999,7 +1004,7 @@ "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", "dev": true, "requires": { - "homedir-polyfill": "1.0.1" + "homedir-polyfill": "^1.0.1" } } } @@ -1022,10 +1027,10 @@ "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", "dev": true, "requires": { - "circular-json": "0.3.3", - "del": "2.2.2", - "graceful-fs": "4.1.11", - "write": "0.2.1" + "circular-json": "^0.3.1", + "del": "^2.0.2", + "graceful-fs": "^4.1.2", + "write": "^0.2.1" }, "dependencies": { "graceful-fs": { @@ -1048,7 +1053,7 @@ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, "fs-exists-sync": { @@ -1063,11 +1068,11 @@ "integrity": "sha1-muH92UiXeY7at20JGM9C0MMYT6k=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "2.4.0", - "klaw": "1.3.1", - "path-is-absolute": "1.0.1", - "rimraf": "2.6.2" + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" }, "dependencies": { "graceful-fs": { @@ -1089,8 +1094,8 @@ "resolved": "https://registry.npmjs.org/fullcalendar/-/fullcalendar-3.6.1.tgz", "integrity": "sha1-C5tiseaX1S05wRGK+eTkEeUEVZA=", "requires": { - "jquery": "3.2.1", - "moment": "2.21.0" + "jquery": "2 - 3", + "moment": "^2.9.0" }, "dependencies": { "jquery": { @@ -1106,7 +1111,7 @@ "integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=", "dev": true, "requires": { - "globule": "0.1.0" + "globule": "~0.1.0" } }, "generate-function": { @@ -1121,7 +1126,7 @@ "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", "dev": true, "requires": { - "is-property": "1.0.2" + "is-property": "^1.0.0" } }, "glob": { @@ -1129,10 +1134,10 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-4.0.6.tgz", "integrity": "sha1-aVxQvdTi+1xdNwsJHziNNwfikac=", "requires": { - "graceful-fs": "3.0.11", - "inherits": "2.0.3", - "minimatch": "1.0.0", - "once": "1.4.0" + "graceful-fs": "^3.0.2", + "inherits": "2", + "minimatch": "^1.0.0", + "once": "^1.3.0" } }, "glob-base": { @@ -1141,8 +1146,8 @@ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "dev": true, "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" } }, "glob-parent": { @@ -1151,7 +1156,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "glob-stream": { @@ -1160,12 +1165,12 @@ "integrity": "sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=", "dev": true, "requires": { - "glob": "4.5.3", - "glob2base": "0.0.12", - "minimatch": "2.0.10", - "ordered-read-streams": "0.1.0", - "through2": "0.6.5", - "unique-stream": "1.0.0" + "glob": "^4.3.1", + "glob2base": "^0.0.12", + "minimatch": "^2.0.1", + "ordered-read-streams": "^0.1.0", + "through2": "^0.6.1", + "unique-stream": "^1.0.0" }, "dependencies": { "glob": { @@ -1174,10 +1179,10 @@ "integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=", "dev": true, "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "2.0.10", - "once": "1.4.0" + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^2.0.1", + "once": "^1.3.0" } }, "minimatch": { @@ -1186,7 +1191,7 @@ "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=", "dev": true, "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "^1.0.0" } }, "readable-stream": { @@ -1195,10 +1200,10 @@ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", "isarray": "0.0.1", - "string_decoder": "0.10.31" + "string_decoder": "~0.10.x" } }, "through2": { @@ -1207,8 +1212,8 @@ "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", "dev": true, "requires": { - "readable-stream": "1.0.34", - "xtend": "4.0.1" + "readable-stream": ">=1.0.33-1 <1.1.0-0", + "xtend": ">=4.0.0 <4.1.0-0" } } } @@ -1219,7 +1224,7 @@ "integrity": "sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=", "dev": true, "requires": { - "gaze": "0.5.2" + "gaze": "^0.5.1" } }, "glob2base": { @@ -1228,7 +1233,7 @@ "integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=", "dev": true, "requires": { - "find-index": "0.1.1" + "find-index": "^0.1.1" } }, "global-modules": { @@ -1237,8 +1242,8 @@ "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=", "dev": true, "requires": { - "global-prefix": "0.1.5", - "is-windows": "0.2.0" + "global-prefix": "^0.1.4", + "is-windows": "^0.2.0" } }, "global-prefix": { @@ -1247,10 +1252,10 @@ "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=", "dev": true, "requires": { - "homedir-polyfill": "1.0.1", - "ini": "1.3.4", - "is-windows": "0.2.0", - "which": "1.3.0" + "homedir-polyfill": "^1.0.0", + "ini": "^1.3.4", + "is-windows": "^0.2.0", + "which": "^1.2.12" } }, "globals": { @@ -1265,12 +1270,12 @@ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "dev": true, "requires": { - "array-union": "1.0.2", - "arrify": "1.0.1", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" }, "dependencies": { "glob": { @@ -1279,12 +1284,12 @@ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "minimatch": { @@ -1293,7 +1298,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "^1.1.7" } } } @@ -1304,9 +1309,9 @@ "integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=", "dev": true, "requires": { - "glob": "3.1.21", - "lodash": "1.0.2", - "minimatch": "0.2.14" + "glob": "~3.1.21", + "lodash": "~1.0.1", + "minimatch": "~0.2.11" }, "dependencies": { "glob": { @@ -1315,9 +1320,9 @@ "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=", "dev": true, "requires": { - "graceful-fs": "1.2.3", - "inherits": "1.0.2", - "minimatch": "0.2.14" + "graceful-fs": "~1.2.0", + "inherits": "1", + "minimatch": "~0.2.11" } }, "graceful-fs": { @@ -1338,8 +1343,8 @@ "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=", "dev": true, "requires": { - "lru-cache": "2.7.3", - "sigmund": "1.0.1" + "lru-cache": "2", + "sigmund": "~1.0.0" } } } @@ -1350,7 +1355,7 @@ "integrity": "sha1-f+DxmfV6yQbPUS/urY+Q7kooT8U=", "dev": true, "requires": { - "sparkles": "1.0.0" + "sparkles": "^1.0.0" } }, "graceful-fs": { @@ -1358,7 +1363,7 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", "requires": { - "natives": "1.1.0" + "natives": "^1.1.0" } }, "gulp": { @@ -1367,19 +1372,19 @@ "integrity": "sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=", "dev": true, "requires": { - "archy": "1.0.0", - "chalk": "1.1.3", - "deprecated": "0.0.1", - "gulp-util": "3.0.8", - "interpret": "1.0.4", - "liftoff": "2.3.0", - "minimist": "1.2.0", - "orchestrator": "0.3.8", - "pretty-hrtime": "1.0.3", - "semver": "4.3.6", - "tildify": "1.2.0", - "v8flags": "2.1.1", - "vinyl-fs": "0.3.14" + "archy": "^1.0.0", + "chalk": "^1.0.0", + "deprecated": "^0.0.1", + "gulp-util": "^3.0.0", + "interpret": "^1.0.0", + "liftoff": "^2.1.0", + "minimist": "^1.1.0", + "orchestrator": "^0.3.0", + "pretty-hrtime": "^1.0.0", + "semver": "^4.1.0", + "tildify": "^1.0.0", + "v8flags": "^2.0.2", + "vinyl-fs": "^0.3.0" } }, "gulp-util": { @@ -1388,24 +1393,24 @@ "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=", "dev": true, "requires": { - "array-differ": "1.0.0", - "array-uniq": "1.0.3", - "beeper": "1.1.1", - "chalk": "1.1.3", - "dateformat": "2.2.0", - "fancy-log": "1.3.0", - "gulplog": "1.0.0", - "has-gulplog": "0.1.0", - "lodash._reescape": "3.0.0", - "lodash._reevaluate": "3.0.0", - "lodash._reinterpolate": "3.0.0", - "lodash.template": "3.6.2", - "minimist": "1.2.0", - "multipipe": "0.1.2", - "object-assign": "3.0.0", + "array-differ": "^1.0.0", + "array-uniq": "^1.0.2", + "beeper": "^1.0.0", + "chalk": "^1.0.0", + "dateformat": "^2.0.0", + "fancy-log": "^1.1.0", + "gulplog": "^1.0.0", + "has-gulplog": "^0.1.0", + "lodash._reescape": "^3.0.0", + "lodash._reevaluate": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.template": "^3.0.0", + "minimist": "^1.1.0", + "multipipe": "^0.1.2", + "object-assign": "^3.0.0", "replace-ext": "0.0.1", - "through2": "2.0.3", - "vinyl": "0.5.3" + "through2": "^2.0.0", + "vinyl": "^0.5.0" }, "dependencies": { "object-assign": { @@ -1422,7 +1427,7 @@ "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", "dev": true, "requires": { - "glogg": "1.0.0" + "glogg": "^1.0.0" } }, "has-ansi": { @@ -1431,7 +1436,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-gulplog": { @@ -1440,7 +1445,7 @@ "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", "dev": true, "requires": { - "sparkles": "1.0.0" + "sparkles": "^1.0.0" } }, "homedir-polyfill": { @@ -1449,7 +1454,7 @@ "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", "dev": true, "requires": { - "parse-passwd": "1.0.0" + "parse-passwd": "^1.0.0" } }, "htmlparser2": { @@ -1458,11 +1463,11 @@ "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", "dev": true, "requires": { - "domelementtype": "1.3.0", - "domhandler": "2.3.0", - "domutils": "1.5.1", - "entities": "1.0.0", - "readable-stream": "1.1.14" + "domelementtype": "1", + "domhandler": "2.3", + "domutils": "1.5", + "entities": "1.0", + "readable-stream": "1.1" } }, "ignore": { @@ -1476,7 +1481,7 @@ "resolved": "https://registry.npmjs.org/imagesloaded/-/imagesloaded-4.1.3.tgz", "integrity": "sha512-cjwkbOXFgDAuh1kpAwIvWfcUkQF9NXLlzS38L4szgiYeNCFFyNetblG5/OFzo4JweNxuDOk+5AIPlqFVIBIInA==", "requires": { - "ev-emitter": "1.1.1" + "ev-emitter": "^1.0.0" } }, "imurmurhash": { @@ -1491,8 +1496,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -1512,19 +1517,19 @@ "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", "dev": true, "requires": { - "ansi-escapes": "1.4.0", - "ansi-regex": "2.1.1", - "chalk": "1.1.3", - "cli-cursor": "1.0.2", - "cli-width": "2.2.0", - "figures": "1.7.0", - "lodash": "4.17.4", - "readline2": "1.0.1", - "run-async": "0.1.0", - "rx-lite": "3.1.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "through": "2.3.8" + "ansi-escapes": "^1.1.0", + "ansi-regex": "^2.0.0", + "chalk": "^1.0.0", + "cli-cursor": "^1.0.1", + "cli-width": "^2.0.0", + "figures": "^1.3.5", + "lodash": "^4.3.0", + "readline2": "^1.0.1", + "run-async": "^0.1.0", + "rx-lite": "^3.1.2", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.0", + "through": "^2.3.6" }, "dependencies": { "lodash": { @@ -1547,8 +1552,8 @@ "integrity": "sha1-IN5p89uULvLYe5wto28XIjWxtes=", "dev": true, "requires": { - "is-relative": "0.2.1", - "is-windows": "0.2.0" + "is-relative": "^0.2.1", + "is-windows": "^0.2.0" } }, "is-buffer": { @@ -1569,7 +1574,7 @@ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { - "is-primitive": "2.0.0" + "is-primitive": "^2.0.0" } }, "is-extendable": { @@ -1590,7 +1595,7 @@ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-glob": { @@ -1599,7 +1604,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "is-my-json-valid": { @@ -1608,10 +1613,10 @@ "integrity": "sha512-ochPsqWS1WXj8ZnMIV0vnNXooaMhp7cyL4FMSIPKTtnV0Ha/T19G2b9kkhcNsabV9bxYkze7/aLZJb/bYuFduQ==", "dev": true, "requires": { - "generate-function": "2.0.0", - "generate-object-property": "1.2.0", - "jsonpointer": "4.0.1", - "xtend": "4.0.1" + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "jsonpointer": "^4.0.0", + "xtend": "^4.0.0" } }, "is-number": { @@ -1620,7 +1625,7 @@ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-path-cwd": { @@ -1635,7 +1640,7 @@ "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", "dev": true, "requires": { - "is-path-inside": "1.0.0" + "is-path-inside": "^1.0.0" } }, "is-path-inside": { @@ -1644,7 +1649,7 @@ "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", "dev": true, "requires": { - "path-is-inside": "1.0.2" + "path-is-inside": "^1.0.1" } }, "is-plain-object": { @@ -1653,7 +1658,7 @@ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" }, "dependencies": { "isobject": { @@ -1688,7 +1693,7 @@ "integrity": "sha1-0n9MfVFtF1+2ENuEu+7yPDvJeqU=", "dev": true, "requires": { - "is-unc-path": "0.1.2" + "is-unc-path": "^0.1.1" } }, "is-resolvable": { @@ -1697,7 +1702,7 @@ "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=", "dev": true, "requires": { - "tryit": "1.0.3" + "tryit": "^1.0.1" } }, "is-unc-path": { @@ -1706,7 +1711,7 @@ "integrity": "sha1-arBTpyVzwQJQ/0FqOBTDUXivObk=", "dev": true, "requires": { - "unc-path-regex": "0.1.2" + "unc-path-regex": "^0.1.0" } }, "is-utf8": { @@ -1766,8 +1771,8 @@ "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", "dev": true, "requires": { - "argparse": "1.0.9", - "esprima": "4.0.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, "js2xmlparser": { @@ -1776,7 +1781,7 @@ "integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=", "dev": true, "requires": { - "xmlcreate": "1.0.2" + "xmlcreate": "^1.0.1" } }, "jsdoc": { @@ -1786,17 +1791,17 @@ "dev": true, "requires": { "babylon": "7.0.0-beta.19", - "bluebird": "3.5.1", - "catharsis": "0.8.9", - "escape-string-regexp": "1.0.5", - "js2xmlparser": "3.0.0", - "klaw": "2.0.0", - "marked": "0.3.17", - "mkdirp": "0.5.1", - "requizzle": "0.2.1", - "strip-json-comments": "2.0.1", + "bluebird": "~3.5.0", + "catharsis": "~0.8.9", + "escape-string-regexp": "~1.0.5", + "js2xmlparser": "~3.0.0", + "klaw": "~2.0.0", + "marked": "~0.3.6", + "mkdirp": "~0.5.1", + "requizzle": "~0.2.1", + "strip-json-comments": "~2.0.1", "taffydb": "2.6.2", - "underscore": "1.8.3" + "underscore": "~1.8.3" }, "dependencies": { "graceful-fs": { @@ -1811,7 +1816,7 @@ "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.9" } } } @@ -1822,14 +1827,14 @@ "integrity": "sha1-HnJSkVzmgbQIJ+4UJIxG006apiw=", "dev": true, "requires": { - "cli": "1.0.1", - "console-browserify": "1.1.0", - "exit": "0.1.2", - "htmlparser2": "3.8.3", - "lodash": "3.7.0", - "minimatch": "3.0.4", - "shelljs": "0.3.0", - "strip-json-comments": "1.0.4" + "cli": "~1.0.0", + "console-browserify": "1.1.x", + "exit": "0.1.x", + "htmlparser2": "3.8.x", + "lodash": "3.7.x", + "minimatch": "~3.0.2", + "shelljs": "0.3.x", + "strip-json-comments": "1.0.x" }, "dependencies": { "lodash": { @@ -1844,7 +1849,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "^1.1.7" } }, "shelljs": { @@ -1867,7 +1872,7 @@ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "dev": true, "requires": { - "jsonify": "0.0.0" + "jsonify": "~0.0.0" } }, "jsonfile": { @@ -1876,7 +1881,7 @@ "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.6" }, "dependencies": { "graceful-fs": { @@ -1906,7 +1911,7 @@ "integrity": "sha1-uI86ey5noqBIFSmCx6N1bZxIKPA=", "dev": true, "requires": { - "pako": "1.0.6" + "pako": "~1.0.2" } }, "kind-of": { @@ -1915,7 +1920,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "klaw": { @@ -1924,7 +1929,7 @@ "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.9" }, "dependencies": { "graceful-fs": { @@ -1942,8 +1947,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" } }, "liftoff": { @@ -1952,15 +1957,15 @@ "integrity": "sha1-qY8v9nGD2Lp8+soQVIvX/wVQs4U=", "dev": true, "requires": { - "extend": "3.0.1", - "findup-sync": "0.4.3", - "fined": "1.1.0", - "flagged-respawn": "0.3.2", - "lodash.isplainobject": "4.0.6", - "lodash.isstring": "4.0.1", - "lodash.mapvalues": "4.6.0", - "rechoir": "0.6.2", - "resolve": "1.5.0" + "extend": "^3.0.0", + "findup-sync": "^0.4.2", + "fined": "^1.0.1", + "flagged-respawn": "^0.3.2", + "lodash.isplainobject": "^4.0.4", + "lodash.isstring": "^4.0.1", + "lodash.mapvalues": "^4.4.0", + "rechoir": "^0.6.2", + "resolve": "^1.1.7" } }, "lodash": { @@ -2029,7 +2034,7 @@ "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", "dev": true, "requires": { - "lodash._root": "3.0.1" + "lodash._root": "^3.0.0" } }, "lodash.isarguments": { @@ -2062,9 +2067,9 @@ "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", "dev": true, "requires": { - "lodash._getnative": "3.9.1", - "lodash.isarguments": "3.1.0", - "lodash.isarray": "3.0.4" + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" } }, "lodash.mapvalues": { @@ -2085,15 +2090,15 @@ "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", "dev": true, "requires": { - "lodash._basecopy": "3.0.1", - "lodash._basetostring": "3.0.1", - "lodash._basevalues": "3.0.0", - "lodash._isiterateecall": "3.0.9", - "lodash._reinterpolate": "3.0.0", - "lodash.escape": "3.2.0", - "lodash.keys": "3.1.2", - "lodash.restparam": "3.6.1", - "lodash.templatesettings": "3.1.1" + "lodash._basecopy": "^3.0.0", + "lodash._basetostring": "^3.0.0", + "lodash._basevalues": "^3.0.0", + "lodash._isiterateecall": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0", + "lodash.keys": "^3.0.0", + "lodash.restparam": "^3.0.0", + "lodash.templatesettings": "^3.0.0" } }, "lodash.templatesettings": { @@ -2102,8 +2107,8 @@ "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", "dev": true, "requires": { - "lodash._reinterpolate": "3.0.0", - "lodash.escape": "3.2.0" + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0" } }, "lru-cache": { @@ -2129,19 +2134,19 @@ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "dev": true, "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" } }, "minimatch": { @@ -2149,8 +2154,8 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz", "integrity": "sha1-4N0hILSeG3JM6NcUxSCCKpQ4V20=", "requires": { - "lru-cache": "2.7.3", - "sigmund": "1.0.1" + "lru-cache": "2", + "sigmund": "~1.0.0" } }, "minimist": { @@ -2213,7 +2218,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "number-is-nan": { @@ -2234,10 +2239,10 @@ "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", "dev": true, "requires": { - "array-each": "1.0.1", - "array-slice": "1.0.0", - "for-own": "1.0.0", - "isobject": "3.0.1" + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" }, "dependencies": { "for-own": { @@ -2246,7 +2251,7 @@ "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", "dev": true, "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, "isobject": { @@ -2263,8 +2268,8 @@ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "dev": true, "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" } }, "object.pick": { @@ -2273,7 +2278,7 @@ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" }, "dependencies": { "isobject": { @@ -2289,7 +2294,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "onetime": { @@ -2304,12 +2309,12 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" } }, "orchestrator": { @@ -2318,9 +2323,9 @@ "integrity": "sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4=", "dev": true, "requires": { - "end-of-stream": "0.1.5", - "sequencify": "0.0.7", - "stream-consume": "0.1.0" + "end-of-stream": "~0.1.5", + "sequencify": "~0.0.7", + "stream-consume": "~0.1.0" } }, "ordered-read-streams": { @@ -2347,9 +2352,9 @@ "integrity": "sha1-FZ1hVdQ5BNFsEO9piRHaHpGWm3M=", "dev": true, "requires": { - "is-absolute": "0.2.6", - "map-cache": "0.2.2", - "path-root": "0.1.1" + "is-absolute": "^0.2.3", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" } }, "parse-glob": { @@ -2358,10 +2363,10 @@ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "dev": true, "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" } }, "parse-passwd": { @@ -2394,7 +2399,7 @@ "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", "dev": true, "requires": { - "path-root-regex": "0.1.2" + "path-root-regex": "^0.1.0" } }, "path-root-regex": { @@ -2421,7 +2426,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "plato": { @@ -2430,12 +2435,12 @@ "integrity": "sha1-mQCltJEKoZDeCKRbrmF1M0/WRqc=", "dev": true, "requires": { - "eslint": "3.0.1", - "fs-extra": "0.30.0", - "glob": "7.0.6", - "jshint": "2.9.5", - "lodash": "4.13.1", - "posix-getopt": "1.2.0", + "eslint": "~3.0.1", + "fs-extra": "~0.30.0", + "glob": "~7.0.5", + "jshint": "~2.9.2", + "lodash": "~4.13.1", + "posix-getopt": "~1.2.0", "typhonjs-escomplex": "0.0.9" }, "dependencies": { @@ -2445,11 +2450,11 @@ "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "2.4.0", - "klaw": "1.3.1", - "path-is-absolute": "1.0.1", - "rimraf": "2.6.2" + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" } }, "glob": { @@ -2458,12 +2463,12 @@ "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "graceful-fs": { @@ -2484,7 +2489,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "^1.1.7" } } } @@ -2536,8 +2541,8 @@ "resolved": "https://registry.npmjs.org/qtip2/-/qtip2-3.0.3.tgz", "integrity": "sha1-ffCIrkQSwkpAZN5p6CTLPPdiENw=", "requires": { - "imagesloaded": "4.1.3", - "jquery": "3.2.1" + "imagesloaded": ">=3.0.0", + "jquery": ">=1.6.0" } }, "randomatic": { @@ -2546,8 +2551,8 @@ "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", "dev": true, "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "is-number": { @@ -2556,7 +2561,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -2565,7 +2570,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -2576,7 +2581,7 @@ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -2587,10 +2592,10 @@ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", "isarray": "0.0.1", - "string_decoder": "0.10.31" + "string_decoder": "~0.10.x" } }, "readline2": { @@ -2599,8 +2604,8 @@ "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", "mute-stream": "0.0.5" } }, @@ -2610,7 +2615,7 @@ "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", "dev": true, "requires": { - "resolve": "1.5.0" + "resolve": "^1.1.6" } }, "regex-cache": { @@ -2619,7 +2624,7 @@ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { - "is-equal-shallow": "0.1.3" + "is-equal-shallow": "^0.1.3" } }, "remove-trailing-separator": { @@ -2652,8 +2657,8 @@ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { - "caller-path": "0.1.0", - "resolve-from": "1.0.1" + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" } }, "requizzle": { @@ -2662,7 +2667,7 @@ "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=", "dev": true, "requires": { - "underscore": "1.6.0" + "underscore": "~1.6.0" }, "dependencies": { "underscore": { @@ -2679,7 +2684,7 @@ "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", "dev": true, "requires": { - "path-parse": "1.0.5" + "path-parse": "^1.0.5" } }, "resolve-dir": { @@ -2688,8 +2693,8 @@ "integrity": "sha1-shklmlYC+sXFxJatiUpujMQwJh4=", "dev": true, "requires": { - "expand-tilde": "1.2.2", - "global-modules": "0.2.3" + "expand-tilde": "^1.2.2", + "global-modules": "^0.2.3" } }, "resolve-from": { @@ -2704,8 +2709,8 @@ "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", "dev": true, "requires": { - "exit-hook": "1.1.1", - "onetime": "1.1.0" + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" } }, "rimraf": { @@ -2714,7 +2719,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" }, "dependencies": { "glob": { @@ -2723,12 +2728,12 @@ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "minimatch": { @@ -2737,7 +2742,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "^1.1.7" } } } @@ -2748,7 +2753,7 @@ "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", "dev": true, "requires": { - "once": "1.4.0" + "once": "^1.3.0" } }, "rx-lite": { @@ -2821,9 +2826,9 @@ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "string_decoder": { @@ -2838,7 +2843,7 @@ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -2847,8 +2852,8 @@ "integrity": "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=", "dev": true, "requires": { - "first-chunk-stream": "1.0.0", - "is-utf8": "0.2.1" + "first-chunk-stream": "^1.0.0", + "is-utf8": "^0.2.0" } }, "strip-json-comments": { @@ -2869,12 +2874,12 @@ "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", "dev": true, "requires": { - "ajv": "4.11.8", - "ajv-keywords": "1.5.1", - "chalk": "1.1.3", - "lodash": "4.17.4", + "ajv": "^4.7.0", + "ajv-keywords": "^1.0.0", + "chalk": "^1.1.1", + "lodash": "^4.0.0", "slice-ansi": "0.0.4", - "string-width": "2.1.1" + "string-width": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -2901,8 +2906,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -2911,7 +2916,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -2940,8 +2945,8 @@ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "dev": true, "requires": { - "readable-stream": "2.3.3", - "xtend": "4.0.1" + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" }, "dependencies": { "isarray": { @@ -2956,13 +2961,13 @@ "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.0.3", + "util-deprecate": "~1.0.1" } }, "string_decoder": { @@ -2971,7 +2976,7 @@ "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "dev": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } } } @@ -2982,7 +2987,7 @@ "integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=", "dev": true, "requires": { - "os-homedir": "1.0.2" + "os-homedir": "^1.0.0" } }, "time-stamp": { @@ -2991,6 +2996,11 @@ "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", "dev": true }, + "trumbowyg": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/trumbowyg/-/trumbowyg-2.10.0.tgz", + "integrity": "sha512-wd+VpIyCc6EyDp/iV+MjOCKTnLlzRiArOu+cDP1mtIWNoHGqlG1nQ184hmYl5rmMCFl1BxAbmWrXeVcByNreNQ==" + }, "tryit": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz", @@ -3003,7 +3013,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "1.1.2" + "prelude-ls": "~1.1.2" } }, "typedarray": { @@ -3024,10 +3034,10 @@ "integrity": "sha1-1Phd0oOOeiioVNnyVhbLxyo/Dg8=", "dev": true, "requires": { - "babylon": "6.18.0", - "commander": "2.11.0", - "typhonjs-escomplex-module": "0.0.9", - "typhonjs-escomplex-project": "0.0.9" + "babylon": "^6.0.0", + "commander": "^2.0.0", + "typhonjs-escomplex-module": "^0.0.9", + "typhonjs-escomplex-project": "^0.0.9" }, "dependencies": { "babylon": { @@ -3050,11 +3060,11 @@ "integrity": "sha1-31vDYLJg/zbi1pvFu0O3PvPzNlw=", "dev": true, "requires": { - "escomplex-plugin-metrics-module": "0.0.10", - "escomplex-plugin-syntax-babylon": "0.0.10", - "typhonjs-ast-walker": "0.1.1", - "typhonjs-escomplex-commons": "0.0.14", - "typhonjs-plugin-manager": "0.0.3" + "escomplex-plugin-metrics-module": "^0.0.10", + "escomplex-plugin-syntax-babylon": "^0.0.10", + "typhonjs-ast-walker": "^0.1.0", + "typhonjs-escomplex-commons": "^0.0.14", + "typhonjs-plugin-manager": "^0.0.3" } }, "typhonjs-escomplex-project": { @@ -3063,10 +3073,10 @@ "integrity": "sha1-C6bwzDq6hiwjqXGpCa6rQR6+G/Q=", "dev": true, "requires": { - "escomplex-plugin-metrics-project": "0.0.10", - "typhonjs-escomplex-commons": "0.0.14", - "typhonjs-escomplex-module": "0.0.9", - "typhonjs-plugin-manager": "0.0.3" + "escomplex-plugin-metrics-project": "^0.0.10", + "typhonjs-escomplex-commons": "^0.0.14", + "typhonjs-escomplex-module": "^0.0.9", + "typhonjs-plugin-manager": "^0.0.3" } }, "typhonjs-plugin-manager": { @@ -3128,7 +3138,7 @@ "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", "dev": true, "requires": { - "user-home": "1.1.1" + "user-home": "^1.1.1" } }, "vinyl": { @@ -3137,8 +3147,8 @@ "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", "dev": true, "requires": { - "clone": "1.0.2", - "clone-stats": "0.0.1", + "clone": "^1.0.0", + "clone-stats": "^0.0.1", "replace-ext": "0.0.1" } }, @@ -3148,14 +3158,14 @@ "integrity": "sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=", "dev": true, "requires": { - "defaults": "1.0.3", - "glob-stream": "3.1.18", - "glob-watcher": "0.0.6", - "graceful-fs": "3.0.11", - "mkdirp": "0.5.1", - "strip-bom": "1.0.0", - "through2": "0.6.5", - "vinyl": "0.4.6" + "defaults": "^1.0.0", + "glob-stream": "^3.1.5", + "glob-watcher": "^0.0.6", + "graceful-fs": "^3.0.0", + "mkdirp": "^0.5.0", + "strip-bom": "^1.0.0", + "through2": "^0.6.1", + "vinyl": "^0.4.0" }, "dependencies": { "clone": { @@ -3170,10 +3180,10 @@ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", "isarray": "0.0.1", - "string_decoder": "0.10.31" + "string_decoder": "~0.10.x" } }, "through2": { @@ -3182,8 +3192,8 @@ "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", "dev": true, "requires": { - "readable-stream": "1.0.34", - "xtend": "4.0.1" + "readable-stream": ">=1.0.33-1 <1.1.0-0", + "xtend": ">=4.0.0 <4.1.0-0" } }, "vinyl": { @@ -3192,8 +3202,8 @@ "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", "dev": true, "requires": { - "clone": "0.2.0", - "clone-stats": "0.0.1" + "clone": "^0.2.0", + "clone-stats": "^0.0.1" } } } @@ -3203,9 +3213,9 @@ "resolved": "https://registry.npmjs.org/vows/-/vows-0.8.1.tgz", "integrity": "sha1-4J6YjOWUygWgjXKrzKNOiNtVkTE=", "requires": { - "diff": "1.0.8", - "eyes": "0.1.8", - "glob": "4.0.6" + "diff": "~1.0.8", + "eyes": "~0.1.6", + "glob": "~4.0.6" } }, "which": { @@ -3214,7 +3224,7 @@ "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "wordwrap": { @@ -3234,7 +3244,7 @@ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { - "mkdirp": "0.5.1" + "mkdirp": "^0.5.1" } }, "xmlcreate": { @@ -3255,8 +3265,8 @@ "integrity": "sha1-JT+QeurWKiGs2HIdi4gDKyQRwFE=", "dev": true, "requires": { - "async": "1.5.2", - "jszip": "2.6.1" + "async": "^1.5.2", + "jszip": "^2.4.0" } } } diff --git a/package.json b/package.json index f6d36131..7474cc66 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ }, "dependencies": { "bootstrap": "^3.3.6", + "cookieconsent": "^3.0.6", "datatables": "^1.10.12", "datejs": "0.0.2", "fullcalendar": "^3.6.1", @@ -38,6 +39,7 @@ "jquery-ui": "^1.12.0", "moment": "^2.21.0", "qtip2": "^3.0.3", - "sticky-table-headers": "^0.1.19" + "sticky-table-headers": "^0.1.19", + "trumbowyg": "^2.10.0" } } diff --git a/src/application/config/config.php b/src/application/config/config.php index 9962a551..61ffc8b4 100644 --- a/src/application/config/config.php +++ b/src/application/config/config.php @@ -8,8 +8,8 @@ | Declare some of the global config values of Easy!Appointments. | */ -$config['version'] = '1.3.1'; // This must be changed manually. -$config['release_label'] = ''; // Leave empty for no title or add Alpha, Beta etc ... +$config['version'] = '1.3.2'; // This must be changed manually. +$config['release_label'] = 'Beta 1'; // Leave empty for no title or add Alpha, Beta etc ... $config['google_sync_feature'] = Config::GOOGLE_SYNC_FEATURE; /* @@ -273,7 +273,7 @@ $config['cache_path'] = __DIR__ . '/../../storage/cache/'; | new release. | */ -$config['cache_busting_token'] = '93GE1'; +$config['cache_busting_token'] = '93GT3'; /* |-------------------------------------------------------------------------- diff --git a/src/application/config/migration.php b/src/application/config/migration.php index 98964bd8..9f9804dd 100644 --- a/src/application/config/migration.php +++ b/src/application/config/migration.php @@ -37,7 +37,7 @@ $config['migration_table'] = 'ea_migrations'; | be upgraded / downgraded to. | */ -$config['migration_version'] = 11; // current +$config['migration_version'] = 12; // current /* diff --git a/src/application/controllers/Appointments.php b/src/application/controllers/Appointments.php index 2fffbf9f..a13bdbbe 100755 --- a/src/application/controllers/Appointments.php +++ b/src/application/controllers/Appointments.php @@ -76,6 +76,12 @@ class Appointments extends CI_Controller { $company_name = $this->settings_model->get_setting('company_name'); $date_format = $this->settings_model->get_setting('date_format'); $time_format = $this->settings_model->get_setting('time_format'); + $display_cookie_notice = $this->settings_model->get_setting('display_cookie_notice'); + $cookie_notice_content = $this->settings_model->get_setting('cookie_notice_content'); + $display_terms_and_conditions = $this->settings_model->get_setting('display_terms_and_conditions'); + $terms_and_conditions_content = $this->settings_model->get_setting('terms_and_conditions_content'); + $display_privacy_policy = $this->settings_model->get_setting('display_privacy_policy'); + $privacy_policy_content = $this->settings_model->get_setting('privacy_policy_content'); // Remove the data that are not needed inside the $available_providers array. foreach ($available_providers as $index => $provider) @@ -115,12 +121,18 @@ class Appointments extends CI_Controller { $provider = $this->providers_model->get_row($appointment['id_users_provider']); $customer = $this->customers_model->get_row($appointment['id_users_customer']); + $customer_token = md5(uniqid(mt_rand(), true)); + + $this->load->driver('cache', ['adapter' => 'file']); + + $this->cache->save('customer-token-' . $customer_token, $customer['id'], 600); // save for 10 minutes } else { // The customer is going to book a new appointment so there is no // need for the manage functionality to be initialized. $manage_mode = FALSE; + $customer_token = FALSE; $appointment = []; $provider = []; $customer = []; @@ -132,11 +144,18 @@ class Appointments extends CI_Controller { 'available_providers' => $available_providers, 'company_name' => $company_name, 'manage_mode' => $manage_mode, + 'customer_token' => $customer_token, 'date_format' => $date_format, 'time_format' => $time_format, 'appointment_data' => $appointment, 'provider_data' => $provider, - 'customer_data' => $customer + 'customer_data' => $customer, + 'display_cookie_notice' => $display_cookie_notice, + 'cookie_notice_content' => $cookie_notice_content, + 'display_terms_and_conditions' => $display_terms_and_conditions, + 'terms_and_conditions_content' => $terms_and_conditions_content, + 'display_privacy_policy' => $display_privacy_policy, + 'privacy_policy_content' => $privacy_policy_content, ]; } catch (Exception $exc) diff --git a/src/application/controllers/Consents.php b/src/application/controllers/Consents.php new file mode 100644 index 00000000..22487844 --- /dev/null +++ b/src/application/controllers/Consents.php @@ -0,0 +1,51 @@ + + * @copyright Copyright (c) 2013 - 2018, Alex Tselegidis + * @license http://opensource.org/licenses/GPL-3.0 - GPLv3 + * @link http://easyappointments.org + * @since v1.3.2 + * ---------------------------------------------------------------------------- */ + +/** + * Class Consent + * + * Handles user consent related operations. + */ +class Consents extends CI_Controller { + /** + * Save the user's consent. + */ + public function ajax_save_consent() + { + try + { + $consent = $this->input->post('consent'); + + $this->load->model('consents_model'); + + $consent['ip'] = $this->input->ip_address(); + + $consent['id'] = $this->consents_model->add($consent); + + $this->output + ->set_content_type('application/json') + ->set_output(json_encode([ + 'success' => TRUE, + 'id' => $consent['id'] + ])); + } + catch (Exception $exc) + { + $this->output + ->set_content_type('application/json') + ->set_output(json_encode([ + 'exceptions' => [exceptionToJavaScript($exc)] + ])); + } + } +} diff --git a/src/application/controllers/Privacy.php b/src/application/controllers/Privacy.php new file mode 100644 index 00000000..7ace6546 --- /dev/null +++ b/src/application/controllers/Privacy.php @@ -0,0 +1,62 @@ + + * @copyright Copyright (c) 2013 - 2018, Alex Tselegidis + * @license http://opensource.org/licenses/GPL-3.0 - GPLv3 + * @link http://easyappointments.org + * @since v1.3.2 + * ---------------------------------------------------------------------------- */ + +/** + * Class Privacy + * + * @package Controllers + */ +class Privacy extends CI_Controller { + /** + * Remove all customer data (including appointments from the system). + */ + public function ajax_delete_personal_information() + { + try + { + $customer_token = $this->input->post('customer_token'); + + if (empty($customer_token)) + { + throw new InvalidArgumentException('Invalid customer token value provided.'); + } + + $this->load->driver('cache', ['adapter' => 'file']); + + $customer_id = $this->cache->get('customer-token-' . $customer_token); + + if (empty($customer_id)) + { + throw new InvalidArgumentException('Customer ID could not be found, please reload the page and try again.'); + } + + $this->load->model('customers_model'); + + $this->customers_model->delete($customer_id); + + $this->output + ->set_content_type('application/json') + ->set_output(json_encode([ + 'success' => TRUE + ])); + } + catch (Exception $exc) + { + $this->output + ->set_content_type('application/json') + ->set_output(json_encode([ + 'exceptions' => [exceptionToJavaScript($exc)] + ])); + } + } +} diff --git a/src/application/language/arabic/translations_lang.php b/src/application/language/arabic/translations_lang.php index bfc7e818..19fdd8f0 100755 --- a/src/application/language/arabic/translations_lang.php +++ b/src/application/language/arabic/translations_lang.php @@ -281,3 +281,20 @@ $lang['availabilities_type'] = 'نوع التوفر أو الإتاحة'; $lang['flexible'] = 'مرن'; $lang['fixed'] = 'ثابت'; $lang['attendants_number'] = 'عدد الحاضرين'; +$lang['reset_working_plan'] = 'Reset the working plan back to the default values.'; +$lang['legal_contents'] = 'Legal Contents'; +$lang['cookie_notice'] = 'Cookie Notice'; +$lang['display_cookie_notice'] = 'Display Cookie Notice'; +$lang['cookie_notice_content'] = 'Cookie Notice Content'; +$lang['terms_and_conditions'] = 'Terms & Conditions'; +$lang['display_terms_and_conditions'] = 'Display Terms & Conditions'; +$lang['terms_and_conditions_content'] = 'Terms & Conditions Content'; +$lang['privacy_policy'] = 'Privacy Policy'; +$lang['display_privacy_policy'] = 'Display Privacy Policy'; +$lang['privacy_policy_content'] = 'Privacy Policy Content'; +$lang['website_using_cookies_to_ensure_best_experience'] = 'This website uses cookies to ensure you get the best experience on our website.'; +$lang['read_and_agree_to_terms_and_conditions'] = 'I have read and agree to the {$link}Terms & Conditions{/$link}.'; +$lang['read_and_agree_to_privacy_policy'] = 'I have read and agree to the {$link}Privacy Policy{/$link}.'; +$lang['delete_personal_information_hint'] = 'Delete all personal information from the system.'; +$lang['delete_personal_information'] = 'Delete Personal Information'; +$lang['delete_personal_information_prompt'] = 'Are you sure that you want to delete your personal information? This action cannot be undone.'; diff --git a/src/application/language/bulgarian/translations_lang.php b/src/application/language/bulgarian/translations_lang.php index 04adb985..ddc7dd70 100755 --- a/src/application/language/bulgarian/translations_lang.php +++ b/src/application/language/bulgarian/translations_lang.php @@ -282,3 +282,19 @@ $lang['flexible'] = 'Гъвкав'; $lang['fixed'] = 'Фиксиран'; $lang['attendants_number'] = 'Брой Посетители'; $lang['reset_working_plan'] = 'Reset the working plan back to the default values.'; +$lang['legal_contents'] = 'Legal Contents'; +$lang['cookie_notice'] = 'Cookie Notice'; +$lang['display_cookie_notice'] = 'Display Cookie Notice'; +$lang['cookie_notice_content'] = 'Cookie Notice Content'; +$lang['terms_and_conditions'] = 'Terms & Conditions'; +$lang['display_terms_and_conditions'] = 'Display Terms & Conditions'; +$lang['terms_and_conditions_content'] = 'Terms & Conditions Content'; +$lang['privacy_policy'] = 'Privacy Policy'; +$lang['display_privacy_policy'] = 'Display Privacy Policy'; +$lang['privacy_policy_content'] = 'Privacy Policy Content'; +$lang['website_using_cookies_to_ensure_best_experience'] = 'This website uses cookies to ensure you get the best experience on our website.'; +$lang['read_and_agree_to_terms_and_conditions'] = 'I have read and agree to the {$link}Terms & Conditions{/$link}.'; +$lang['read_and_agree_to_privacy_policy'] = 'I have read and agree to the {$link}Privacy Policy{/$link}.'; +$lang['delete_personal_information_hint'] = 'Delete all personal information from the system.'; +$lang['delete_personal_information'] = 'Delete Personal Information'; +$lang['delete_personal_information_prompt'] = 'Are you sure that you want to delete your personal information? This action cannot be undone.'; diff --git a/src/application/language/chinese/translations_lang.php b/src/application/language/chinese/translations_lang.php index 71135caf..edc0951a 100755 --- a/src/application/language/chinese/translations_lang.php +++ b/src/application/language/chinese/translations_lang.php @@ -282,3 +282,19 @@ $lang['flexible'] = 'Flexible'; $lang['fixed'] = 'Fixed'; $lang['attendants_number'] = 'Attendants Number'; $lang['reset_working_plan'] = 'Reset the working plan back to the default values.'; +$lang['legal_contents'] = 'Legal Contents'; +$lang['cookie_notice'] = 'Cookie Notice'; +$lang['display_cookie_notice'] = 'Display Cookie Notice'; +$lang['cookie_notice_content'] = 'Cookie Notice Content'; +$lang['terms_and_conditions'] = 'Terms & Conditions'; +$lang['display_terms_and_conditions'] = 'Display Terms & Conditions'; +$lang['terms_and_conditions_content'] = 'Terms & Conditions Content'; +$lang['privacy_policy'] = 'Privacy Policy'; +$lang['display_privacy_policy'] = 'Display Privacy Policy'; +$lang['privacy_policy_content'] = 'Privacy Policy Content'; +$lang['website_using_cookies_to_ensure_best_experience'] = 'This website uses cookies to ensure you get the best experience on our website.'; +$lang['read_and_agree_to_terms_and_conditions'] = 'I have read and agree to the {$link}Terms & Conditions{/$link}.'; +$lang['read_and_agree_to_privacy_policy'] = 'I have read and agree to the {$link}Privacy Policy{/$link}.'; +$lang['delete_personal_information_hint'] = 'Delete all personal information from the system.'; +$lang['delete_personal_information'] = 'Delete Personal Information'; +$lang['delete_personal_information_prompt'] = 'Are you sure that you want to delete your personal information? This action cannot be undone.'; diff --git a/src/application/language/danish/translations_lang.php b/src/application/language/danish/translations_lang.php index f460aaca..5e4ac1ac 100755 --- a/src/application/language/danish/translations_lang.php +++ b/src/application/language/danish/translations_lang.php @@ -282,3 +282,19 @@ $lang['flexible'] = 'Flexible'; $lang['fixed'] = 'Fixed'; $lang['attendants_number'] = 'Attendants Number'; $lang['reset_working_plan'] = 'Reset the working plan back to the default values.'; +$lang['legal_contents'] = 'Legal Contents'; +$lang['cookie_notice'] = 'Cookie Notice'; +$lang['display_cookie_notice'] = 'Display Cookie Notice'; +$lang['cookie_notice_content'] = 'Cookie Notice Content'; +$lang['terms_and_conditions'] = 'Terms & Conditions'; +$lang['display_terms_and_conditions'] = 'Display Terms & Conditions'; +$lang['terms_and_conditions_content'] = 'Terms & Conditions Content'; +$lang['privacy_policy'] = 'Privacy Policy'; +$lang['display_privacy_policy'] = 'Display Privacy Policy'; +$lang['privacy_policy_content'] = 'Privacy Policy Content'; +$lang['website_using_cookies_to_ensure_best_experience'] = 'This website uses cookies to ensure you get the best experience on our website.'; +$lang['read_and_agree_to_terms_and_conditions'] = 'I have read and agree to the {$link}Terms & Conditions{/$link}.'; +$lang['read_and_agree_to_privacy_policy'] = 'I have read and agree to the {$link}Privacy Policy{/$link}.'; +$lang['delete_personal_information_hint'] = 'Delete all personal information from the system.'; +$lang['delete_personal_information'] = 'Delete Personal Information'; +$lang['delete_personal_information_prompt'] = 'Are you sure that you want to delete your personal information? This action cannot be undone.'; diff --git a/src/application/language/dutch/translations_lang.php b/src/application/language/dutch/translations_lang.php index 9f9c177e..a1dbd5e8 100755 --- a/src/application/language/dutch/translations_lang.php +++ b/src/application/language/dutch/translations_lang.php @@ -282,3 +282,19 @@ $lang['flexible'] = 'Flexibel'; $lang['fixed'] = 'Vast'; $lang['attendants_number'] = 'Aantal deelnemers'; $lang['reset_working_plan'] = 'Reset the working plan back to the default values.'; +$lang['legal_contents'] = 'Legal Contents'; +$lang['cookie_notice'] = 'Cookie Notice'; +$lang['display_cookie_notice'] = 'Display Cookie Notice'; +$lang['cookie_notice_content'] = 'Cookie Notice Content'; +$lang['terms_and_conditions'] = 'Terms & Conditions'; +$lang['display_terms_and_conditions'] = 'Display Terms & Conditions'; +$lang['terms_and_conditions_content'] = 'Terms & Conditions Content'; +$lang['privacy_policy'] = 'Privacy Policy'; +$lang['display_privacy_policy'] = 'Display Privacy Policy'; +$lang['privacy_policy_content'] = 'Privacy Policy Content'; +$lang['website_using_cookies_to_ensure_best_experience'] = 'This website uses cookies to ensure you get the best experience on our website.'; +$lang['read_and_agree_to_terms_and_conditions'] = 'I have read and agree to the {$link}Terms & Conditions{/$link}.'; +$lang['read_and_agree_to_privacy_policy'] = 'I have read and agree to the {$link}Privacy Policy{/$link}.'; +$lang['delete_personal_information_hint'] = 'Delete all personal information from the system.'; +$lang['delete_personal_information'] = 'Delete Personal Information'; +$lang['delete_personal_information_prompt'] = 'Are you sure that you want to delete your personal information? This action cannot be undone.'; diff --git a/src/application/language/english/translations_lang.php b/src/application/language/english/translations_lang.php index 066223ca..fcb7c6e5 100755 --- a/src/application/language/english/translations_lang.php +++ b/src/application/language/english/translations_lang.php @@ -282,3 +282,19 @@ $lang['flexible'] = 'Flexible'; $lang['fixed'] = 'Fixed'; $lang['attendants_number'] = 'Attendants Number'; $lang['reset_working_plan'] = 'Reset the working plan back to the default values.'; +$lang['legal_contents'] = 'Legal Contents'; +$lang['cookie_notice'] = 'Cookie Notice'; +$lang['display_cookie_notice'] = 'Display Cookie Notice'; +$lang['cookie_notice_content'] = 'Cookie Notice Content'; +$lang['terms_and_conditions'] = 'Terms & Conditions'; +$lang['display_terms_and_conditions'] = 'Display Terms & Conditions'; +$lang['terms_and_conditions_content'] = 'Terms & Conditions Content'; +$lang['privacy_policy'] = 'Privacy Policy'; +$lang['display_privacy_policy'] = 'Display Privacy Policy'; +$lang['privacy_policy_content'] = 'Privacy Policy Content'; +$lang['website_using_cookies_to_ensure_best_experience'] = 'This website uses cookies to ensure you get the best experience on our website.'; +$lang['read_and_agree_to_terms_and_conditions'] = 'I have read and agree to the {$link}Terms & Conditions{/$link}.'; +$lang['read_and_agree_to_privacy_policy'] = 'I have read and agree to the {$link}Privacy Policy{/$link}.'; +$lang['delete_personal_information_hint'] = 'Delete all personal information from the system.'; +$lang['delete_personal_information'] = 'Delete Personal Information'; +$lang['delete_personal_information_prompt'] = 'Are you sure that you want to delete your personal information? This action cannot be undone.'; diff --git a/src/application/language/finnish/translations_lang.php b/src/application/language/finnish/translations_lang.php index 7ec7e8e3..3112c095 100755 --- a/src/application/language/finnish/translations_lang.php +++ b/src/application/language/finnish/translations_lang.php @@ -282,3 +282,19 @@ $lang['flexible'] = 'Flexible'; $lang['fixed'] = 'Fixed'; $lang['attendants_number'] = 'Attendants Number'; $lang['reset_working_plan'] = 'Reset the working plan back to the default values.'; +$lang['legal_contents'] = 'Legal Contents'; +$lang['cookie_notice'] = 'Cookie Notice'; +$lang['display_cookie_notice'] = 'Display Cookie Notice'; +$lang['cookie_notice_content'] = 'Cookie Notice Content'; +$lang['terms_and_conditions'] = 'Terms & Conditions'; +$lang['display_terms_and_conditions'] = 'Display Terms & Conditions'; +$lang['terms_and_conditions_content'] = 'Terms & Conditions Content'; +$lang['privacy_policy'] = 'Privacy Policy'; +$lang['display_privacy_policy'] = 'Display Privacy Policy'; +$lang['privacy_policy_content'] = 'Privacy Policy Content'; +$lang['website_using_cookies_to_ensure_best_experience'] = 'This website uses cookies to ensure you get the best experience on our website.'; +$lang['read_and_agree_to_terms_and_conditions'] = 'I have read and agree to the {$link}Terms & Conditions{/$link}.'; +$lang['read_and_agree_to_privacy_policy'] = 'I have read and agree to the {$link}Privacy Policy{/$link}.'; +$lang['delete_personal_information_hint'] = 'Delete all personal information from the system.'; +$lang['delete_personal_information'] = 'Delete Personal Information'; +$lang['delete_personal_information_prompt'] = 'Are you sure that you want to delete your personal information? This action cannot be undone.'; diff --git a/src/application/language/french/translations_lang.php b/src/application/language/french/translations_lang.php index 3b908a97..355ae447 100755 --- a/src/application/language/french/translations_lang.php +++ b/src/application/language/french/translations_lang.php @@ -280,3 +280,19 @@ $lang['flexible'] = 'Flexible'; $lang['fixed'] = 'Fixe'; $lang['attendants_number'] = 'Nombre de participants'; $lang['reset_working_plan'] = 'Restaurer les valeurs d\'origine du planning de travail.'; +$lang['legal_contents'] = 'Legal Contents'; +$lang['cookie_notice'] = 'Cookie Notice'; +$lang['display_cookie_notice'] = 'Display Cookie Notice'; +$lang['cookie_notice_content'] = 'Cookie Notice Content'; +$lang['terms_and_conditions'] = 'Terms & Conditions'; +$lang['display_terms_and_conditions'] = 'Display Terms & Conditions'; +$lang['terms_and_conditions_content'] = 'Terms & Conditions Content'; +$lang['privacy_policy'] = 'Privacy Policy'; +$lang['display_privacy_policy'] = 'Display Privacy Policy'; +$lang['privacy_policy_content'] = 'Privacy Policy Content'; +$lang['website_using_cookies_to_ensure_best_experience'] = 'This website uses cookies to ensure you get the best experience on our website.'; +$lang['read_and_agree_to_terms_and_conditions'] = 'I have read and agree to the {$link}Terms & Conditions{/$link}.'; +$lang['read_and_agree_to_privacy_policy'] = 'I have read and agree to the {$link}Privacy Policy{/$link}.'; +$lang['delete_personal_information_hint'] = 'Delete all personal information from the system.'; +$lang['delete_personal_information'] = 'Delete Personal Information'; +$lang['delete_personal_information_prompt'] = 'Are you sure that you want to delete your personal information? This action cannot be undone.'; diff --git a/src/application/language/german/translations_lang.php b/src/application/language/german/translations_lang.php index 365022bb..c6e469ed 100755 --- a/src/application/language/german/translations_lang.php +++ b/src/application/language/german/translations_lang.php @@ -282,3 +282,19 @@ $lang['flexible'] = 'Flexibel'; $lang['fixed'] = 'Fest'; $lang['attendants_number'] = 'Begleiternummer'; $lang['reset_working_plan'] = 'Setzen Sie das Arbeitsplan zu die Standard Werte.'; +$lang['legal_contents'] = 'Rechtliche Inhalte'; +$lang['cookie_notice'] = 'Cookie Hinweis'; +$lang['display_cookie_notice'] = 'Cookie Hinweis zeigen'; +$lang['cookie_notice_content'] = 'Cookie Hinweis Inhalt'; +$lang['terms_and_conditions'] = 'Allgemeine Geschäftsbedingungen'; +$lang['display_terms_and_conditions'] = 'Allgemeine Geschäftsbedingungen zeigen'; +$lang['terms_and_conditions_content'] = 'Allgemeine Geschäftsbedingungen Inhalt'; +$lang['privacy_policy'] = 'Datenschutzbestimmungen'; +$lang['display_privacy_policy'] = 'Datenschutzbestimmungen zeigen'; +$lang['privacy_policy_content'] = 'Datenschutzbestimmungen Inhalt'; +$lang['website_using_cookies_to_ensure_best_experience'] = 'Diese Website verwendet Cookies, um sicherzustellen, dass Sie die beste Erfahrung auf unserer Website erhalten.'; +$lang['read_and_agree_to_terms_and_conditions'] = 'Ich habe die {$link}Allgemeinen Geschäftsbedingungen{/$link} gelesen und stimme ihnen zu.'; +$lang['read_and_agree_to_privacy_policy'] = 'Ich habe die {$link}Datenschutzerklärung{/$link} gelesen und stimme ihr zu.'; +$lang['delete_personal_information_hint'] = 'Alle persönlichen Informationen aus dem System löschen.'; +$lang['delete_personal_information'] = 'Persönlichen Informationen löschen'; +$lang['delete_personal_information_prompt'] = 'Sind Sie sicher, dass Sie Ihre persönlichen Daten löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden.'; diff --git a/src/application/language/greek/translations_lang.php b/src/application/language/greek/translations_lang.php index 741a6ad4..f09c8115 100755 --- a/src/application/language/greek/translations_lang.php +++ b/src/application/language/greek/translations_lang.php @@ -282,3 +282,19 @@ $lang['flexible'] = 'Ευέλικτος'; $lang['fixed'] = 'Σταθερός'; $lang['attendants_number'] = 'Αριθμός Παραστατών'; $lang['reset_working_plan'] = 'Επαναρυθμήστε το πλάνο εργασίας στις αρχικές του τιμές.'; +$lang['legal_contents'] = 'Νομικά Περιεχόμενα'; +$lang['cookie_notice'] = 'Ειδοποίηση Cookie'; +$lang['display_cookie_notice'] = 'Εμφάνιση Cookie Ειδοποίησης'; +$lang['cookie_notice_content'] = 'Περιεχόμενο Cookie Ειδοποίησης'; +$lang['terms_and_conditions'] = 'Όροι & Προϋποθέσεις'; +$lang['display_terms_and_conditions'] = 'Εμφάνιση Όρων & Προϋποθέσεων'; +$lang['terms_and_conditions_content'] = 'Περιεχόμενο Όρων & Προϋποθέσεων'; +$lang['privacy_policy'] = 'Πολιτική Απορρήτου'; +$lang['display_privacy_policy'] = 'Εμφάνιση Πολιτική Απορρήτου'; +$lang['privacy_policy_content'] = 'Περιεχόμενο Πολιτικής Απορρήτου'; +$lang['website_using_cookies_to_ensure_best_experience'] = 'Αυτή η ιστοσελίδα χρησιμοποιεί cookies για την παροχή της καλύτερης δυνατής εμπειρίας χρήστη.'; +$lang['read_and_agree_to_terms_and_conditions'] = 'Διάβασα και αποδέχομαι τους {$link}Όρους & Προϋποθέσεις{/$link}.'; +$lang['read_and_agree_to_privacy_policy'] = 'Διάβασα και αποδέχομαι την {$link}Πολιτική Απορρήτου{/$link}.'; +$lang['delete_personal_information_hint'] = 'Διαγραφή όλων των προσωπικών πληροφοριών από το σύστημα.'; +$lang['delete_personal_information'] = 'Διαγραφή Προσωπικών Πληροφοριών'; +$lang['delete_personal_information_prompt'] = 'Είστε σίγουρος ότι θέλετε να διαγράψετε τις προσωπικές σας πληροφορίες; Αυτή η ενέργεια δεν μπορεί να αναιρεθεί.'; diff --git a/src/application/language/hindi/translations_lang.php b/src/application/language/hindi/translations_lang.php index a69e2b4e..0f0906b7 100755 --- a/src/application/language/hindi/translations_lang.php +++ b/src/application/language/hindi/translations_lang.php @@ -282,3 +282,19 @@ $lang['flexible'] = 'Flexible'; $lang['fixed'] = 'Fixed'; $lang['attendants_number'] = 'Attendants Number'; $lang['reset_working_plan'] = 'Reset the working plan back to the default values.'; +$lang['legal_contents'] = 'Legal Contents'; +$lang['cookie_notice'] = 'Cookie Notice'; +$lang['display_cookie_notice'] = 'Display Cookie Notice'; +$lang['cookie_notice_content'] = 'Cookie Notice Content'; +$lang['terms_and_conditions'] = 'Terms & Conditions'; +$lang['display_terms_and_conditions'] = 'Display Terms & Conditions'; +$lang['terms_and_conditions_content'] = 'Terms & Conditions Content'; +$lang['privacy_policy'] = 'Privacy Policy'; +$lang['display_privacy_policy'] = 'Display Privacy Policy'; +$lang['privacy_policy_content'] = 'Privacy Policy Content'; +$lang['website_using_cookies_to_ensure_best_experience'] = 'This website uses cookies to ensure you get the best experience on our website.'; +$lang['read_and_agree_to_terms_and_conditions'] = 'I have read and agree to the {$link}Terms & Conditions{/$link}.'; +$lang['read_and_agree_to_privacy_policy'] = 'I have read and agree to the {$link}Privacy Policy{/$link}.'; +$lang['delete_personal_information_hint'] = 'Delete all personal information from the system.'; +$lang['delete_personal_information'] = 'Delete Personal Information'; +$lang['delete_personal_information_prompt'] = 'Are you sure that you want to delete your personal information? This action cannot be undone.'; diff --git a/src/application/language/hungarian/translations_lang.php b/src/application/language/hungarian/translations_lang.php index fb55ae82..7acf24a7 100755 --- a/src/application/language/hungarian/translations_lang.php +++ b/src/application/language/hungarian/translations_lang.php @@ -282,3 +282,19 @@ $lang['flexible'] = 'Flexible'; $lang['fixed'] = 'Fixed'; $lang['attendants_number'] = 'Attendants Number'; $lang['reset_working_plan'] = 'Reset the working plan back to the default values.'; +$lang['legal_contents'] = 'Legal Contents'; +$lang['cookie_notice'] = 'Cookie Notice'; +$lang['display_cookie_notice'] = 'Display Cookie Notice'; +$lang['cookie_notice_content'] = 'Cookie Notice Content'; +$lang['terms_and_conditions'] = 'Terms & Conditions'; +$lang['display_terms_and_conditions'] = 'Display Terms & Conditions'; +$lang['terms_and_conditions_content'] = 'Terms & Conditions Content'; +$lang['privacy_policy'] = 'Privacy Policy'; +$lang['display_privacy_policy'] = 'Display Privacy Policy'; +$lang['privacy_policy_content'] = 'Privacy Policy Content'; +$lang['website_using_cookies_to_ensure_best_experience'] = 'This website uses cookies to ensure you get the best experience on our website.'; +$lang['read_and_agree_to_terms_and_conditions'] = 'I have read and agree to the {$link}Terms & Conditions{/$link}.'; +$lang['read_and_agree_to_privacy_policy'] = 'I have read and agree to the {$link}Privacy Policy{/$link}.'; +$lang['delete_personal_information_hint'] = 'Delete all personal information from the system.'; +$lang['delete_personal_information'] = 'Delete Personal Information'; +$lang['delete_personal_information_prompt'] = 'Are you sure that you want to delete your personal information? This action cannot be undone.'; diff --git a/src/application/language/italian/translations_lang.php b/src/application/language/italian/translations_lang.php index 5203bd2f..1de9ad9c 100755 --- a/src/application/language/italian/translations_lang.php +++ b/src/application/language/italian/translations_lang.php @@ -288,3 +288,19 @@ $lang['flexible'] = 'Flexible'; $lang['fixed'] = 'Fixed'; $lang['attendants_number'] = 'Attendants Number'; $lang['reset_working_plan'] = 'Reset the working plan back to the default values.'; +$lang['legal_contents'] = 'Legal Contents'; +$lang['cookie_notice'] = 'Cookie Notice'; +$lang['display_cookie_notice'] = 'Display Cookie Notice'; +$lang['cookie_notice_content'] = 'Cookie Notice Content'; +$lang['terms_and_conditions'] = 'Terms & Conditions'; +$lang['display_terms_and_conditions'] = 'Display Terms & Conditions'; +$lang['terms_and_conditions_content'] = 'Terms & Conditions Content'; +$lang['privacy_policy'] = 'Privacy Policy'; +$lang['display_privacy_policy'] = 'Display Privacy Policy'; +$lang['privacy_policy_content'] = 'Privacy Policy Content'; +$lang['website_using_cookies_to_ensure_best_experience'] = 'This website uses cookies to ensure you get the best experience on our website.'; +$lang['read_and_agree_to_terms_and_conditions'] = 'I have read and agree to the {$link}Terms & Conditions{/$link}.'; +$lang['read_and_agree_to_privacy_policy'] = 'I have read and agree to the {$link}Privacy Policy{/$link}.'; +$lang['delete_personal_information_hint'] = 'Delete all personal information from the system.'; +$lang['delete_personal_information'] = 'Delete Personal Information'; +$lang['delete_personal_information_prompt'] = 'Are you sure that you want to delete your personal information? This action cannot be undone.'; diff --git a/src/application/language/japanese/translations_lang.php b/src/application/language/japanese/translations_lang.php index 78b5e48a..71100c88 100755 --- a/src/application/language/japanese/translations_lang.php +++ b/src/application/language/japanese/translations_lang.php @@ -282,3 +282,19 @@ $lang['flexible'] = 'Flexible'; $lang['fixed'] = 'Fixed'; $lang['attendants_number'] = 'Attendants Number'; $lang['reset_working_plan'] = 'Reset the working plan back to the default values.'; +$lang['legal_contents'] = 'Legal Contents'; +$lang['cookie_notice'] = 'Cookie Notice'; +$lang['display_cookie_notice'] = 'Display Cookie Notice'; +$lang['cookie_notice_content'] = 'Cookie Notice Content'; +$lang['terms_and_conditions'] = 'Terms & Conditions'; +$lang['display_terms_and_conditions'] = 'Display Terms & Conditions'; +$lang['terms_and_conditions_content'] = 'Terms & Conditions Content'; +$lang['privacy_policy'] = 'Privacy Policy'; +$lang['display_privacy_policy'] = 'Display Privacy Policy'; +$lang['privacy_policy_content'] = 'Privacy Policy Content'; +$lang['website_using_cookies_to_ensure_best_experience'] = 'This website uses cookies to ensure you get the best experience on our website.'; +$lang['read_and_agree_to_terms_and_conditions'] = 'I have read and agree to the {$link}Terms & Conditions{/$link}.'; +$lang['read_and_agree_to_privacy_policy'] = 'I have read and agree to the {$link}Privacy Policy{/$link}.'; +$lang['delete_personal_information_hint'] = 'Delete all personal information from the system.'; +$lang['delete_personal_information'] = 'Delete Personal Information'; +$lang['delete_personal_information_prompt'] = 'Are you sure that you want to delete your personal information? This action cannot be undone.'; diff --git a/src/application/language/luxembourgish/translations_lang.php b/src/application/language/luxembourgish/translations_lang.php index ab116abe..c6404b37 100755 --- a/src/application/language/luxembourgish/translations_lang.php +++ b/src/application/language/luxembourgish/translations_lang.php @@ -282,3 +282,19 @@ $lang['flexible'] = 'Flexible'; $lang['fixed'] = 'Fixed'; $lang['attendants_number'] = 'Attendants Number'; $lang['reset_working_plan'] = 'Reset the working plan back to the default values.'; +$lang['legal_contents'] = 'Legal Contents'; +$lang['cookie_notice'] = 'Cookie Notice'; +$lang['display_cookie_notice'] = 'Display Cookie Notice'; +$lang['cookie_notice_content'] = 'Cookie Notice Content'; +$lang['terms_and_conditions'] = 'Terms & Conditions'; +$lang['display_terms_and_conditions'] = 'Display Terms & Conditions'; +$lang['terms_and_conditions_content'] = 'Terms & Conditions Content'; +$lang['privacy_policy'] = 'Privacy Policy'; +$lang['display_privacy_policy'] = 'Display Privacy Policy'; +$lang['privacy_policy_content'] = 'Privacy Policy Content'; +$lang['website_using_cookies_to_ensure_best_experience'] = 'This website uses cookies to ensure you get the best experience on our website.'; +$lang['read_and_agree_to_terms_and_conditions'] = 'I have read and agree to the {$link}Terms & Conditions{/$link}.'; +$lang['read_and_agree_to_privacy_policy'] = 'I have read and agree to the {$link}Privacy Policy{/$link}.'; +$lang['delete_personal_information_hint'] = 'Delete all personal information from the system.'; +$lang['delete_personal_information'] = 'Delete Personal Information'; +$lang['delete_personal_information_prompt'] = 'Are you sure that you want to delete your personal information? This action cannot be undone.'; diff --git a/src/application/language/polish/translations_lang.php b/src/application/language/polish/translations_lang.php index bcdb5d62..5d3e3f78 100755 --- a/src/application/language/polish/translations_lang.php +++ b/src/application/language/polish/translations_lang.php @@ -282,3 +282,19 @@ $lang['flexible'] = 'Flexible'; $lang['fixed'] = 'Fixed'; $lang['attendants_number'] = 'Attendants Number'; $lang['reset_working_plan'] = 'Reset the working plan back to the default values.'; +$lang['legal_contents'] = 'Legal Contents'; +$lang['cookie_notice'] = 'Cookie Notice'; +$lang['display_cookie_notice'] = 'Display Cookie Notice'; +$lang['cookie_notice_content'] = 'Cookie Notice Content'; +$lang['terms_and_conditions'] = 'Terms & Conditions'; +$lang['display_terms_and_conditions'] = 'Display Terms & Conditions'; +$lang['terms_and_conditions_content'] = 'Terms & Conditions Content'; +$lang['privacy_policy'] = 'Privacy Policy'; +$lang['display_privacy_policy'] = 'Display Privacy Policy'; +$lang['privacy_policy_content'] = 'Privacy Policy Content'; +$lang['website_using_cookies_to_ensure_best_experience'] = 'This website uses cookies to ensure you get the best experience on our website.'; +$lang['read_and_agree_to_terms_and_conditions'] = 'I have read and agree to the {$link}Terms & Conditions{/$link}.'; +$lang['read_and_agree_to_privacy_policy'] = 'I have read and agree to the {$link}Privacy Policy{/$link}.'; +$lang['delete_personal_information_hint'] = 'Delete all personal information from the system.'; +$lang['delete_personal_information'] = 'Delete Personal Information'; +$lang['delete_personal_information_prompt'] = 'Are you sure that you want to delete your personal information? This action cannot be undone.'; diff --git a/src/application/language/portuguese-br/translations_lang.php b/src/application/language/portuguese-br/translations_lang.php index 5d47d75a..f106171b 100755 --- a/src/application/language/portuguese-br/translations_lang.php +++ b/src/application/language/portuguese-br/translations_lang.php @@ -282,3 +282,19 @@ $lang['flexible'] = 'Flexible'; $lang['fixed'] = 'Fixed'; $lang['attendants_number'] = 'Attendants Number'; $lang['reset_working_plan'] = 'Reset the working plan back to the default values.'; +$lang['legal_contents'] = 'Legal Contents'; +$lang['cookie_notice'] = 'Cookie Notice'; +$lang['display_cookie_notice'] = 'Display Cookie Notice'; +$lang['cookie_notice_content'] = 'Cookie Notice Content'; +$lang['terms_and_conditions'] = 'Terms & Conditions'; +$lang['display_terms_and_conditions'] = 'Display Terms & Conditions'; +$lang['terms_and_conditions_content'] = 'Terms & Conditions Content'; +$lang['privacy_policy'] = 'Privacy Policy'; +$lang['display_privacy_policy'] = 'Display Privacy Policy'; +$lang['privacy_policy_content'] = 'Privacy Policy Content'; +$lang['website_using_cookies_to_ensure_best_experience'] = 'This website uses cookies to ensure you get the best experience on our website.'; +$lang['read_and_agree_to_terms_and_conditions'] = 'I have read and agree to the {$link}Terms & Conditions{/$link}.'; +$lang['read_and_agree_to_privacy_policy'] = 'I have read and agree to the {$link}Privacy Policy{/$link}.'; +$lang['delete_personal_information_hint'] = 'Delete all personal information from the system.'; +$lang['delete_personal_information'] = 'Delete Personal Information'; +$lang['delete_personal_information_prompt'] = 'Are you sure that you want to delete your personal information? This action cannot be undone.'; diff --git a/src/application/language/portuguese/translations_lang.php b/src/application/language/portuguese/translations_lang.php index df836058..39550c76 100755 --- a/src/application/language/portuguese/translations_lang.php +++ b/src/application/language/portuguese/translations_lang.php @@ -282,3 +282,19 @@ $lang['flexible'] = 'Flexible'; $lang['fixed'] = 'Fixed'; $lang['attendants_number'] = 'Attendants Number'; $lang['reset_working_plan'] = 'Reset the working plan back to the default values.'; +$lang['legal_contents'] = 'Legal Contents'; +$lang['cookie_notice'] = 'Cookie Notice'; +$lang['display_cookie_notice'] = 'Display Cookie Notice'; +$lang['cookie_notice_content'] = 'Cookie Notice Content'; +$lang['terms_and_conditions'] = 'Terms & Conditions'; +$lang['display_terms_and_conditions'] = 'Display Terms & Conditions'; +$lang['terms_and_conditions_content'] = 'Terms & Conditions Content'; +$lang['privacy_policy'] = 'Privacy Policy'; +$lang['display_privacy_policy'] = 'Display Privacy Policy'; +$lang['privacy_policy_content'] = 'Privacy Policy Content'; +$lang['website_using_cookies_to_ensure_best_experience'] = 'This website uses cookies to ensure you get the best experience on our website.'; +$lang['read_and_agree_to_terms_and_conditions'] = 'I have read and agree to the {$link}Terms & Conditions{/$link}.'; +$lang['read_and_agree_to_privacy_policy'] = 'I have read and agree to the {$link}Privacy Policy{/$link}.'; +$lang['delete_personal_information_hint'] = 'Delete all personal information from the system.'; +$lang['delete_personal_information'] = 'Delete Personal Information'; +$lang['delete_personal_information_prompt'] = 'Are you sure that you want to delete your personal information? This action cannot be undone.'; diff --git a/src/application/language/romanian/translations_lang.php b/src/application/language/romanian/translations_lang.php index aba0ad53..43ea9d19 100755 --- a/src/application/language/romanian/translations_lang.php +++ b/src/application/language/romanian/translations_lang.php @@ -288,3 +288,19 @@ $lang['flexible'] = 'Flexible'; $lang['fixed'] = 'Fixed'; $lang['attendants_number'] = 'Attendants Number'; $lang['reset_working_plan'] = 'Reset the working plan back to the default values.'; +$lang['legal_contents'] = 'Legal Contents'; +$lang['cookie_notice'] = 'Cookie Notice'; +$lang['display_cookie_notice'] = 'Display Cookie Notice'; +$lang['cookie_notice_content'] = 'Cookie Notice Content'; +$lang['terms_and_conditions'] = 'Terms & Conditions'; +$lang['display_terms_and_conditions'] = 'Display Terms & Conditions'; +$lang['terms_and_conditions_content'] = 'Terms & Conditions Content'; +$lang['privacy_policy'] = 'Privacy Policy'; +$lang['display_privacy_policy'] = 'Display Privacy Policy'; +$lang['privacy_policy_content'] = 'Privacy Policy Content'; +$lang['website_using_cookies_to_ensure_best_experience'] = 'This website uses cookies to ensure you get the best experience on our website.'; +$lang['read_and_agree_to_terms_and_conditions'] = 'I have read and agree to the {$link}Terms & Conditions{/$link}.'; +$lang['read_and_agree_to_privacy_policy'] = 'I have read and agree to the {$link}Privacy Policy{/$link}.'; +$lang['delete_personal_information_hint'] = 'Delete all personal information from the system.'; +$lang['delete_personal_information'] = 'Delete Personal Information'; +$lang['delete_personal_information_prompt'] = 'Are you sure that you want to delete your personal information? This action cannot be undone.'; diff --git a/src/application/language/russian/translations_lang.php b/src/application/language/russian/translations_lang.php index d51c2c9e..3d267e23 100755 --- a/src/application/language/russian/translations_lang.php +++ b/src/application/language/russian/translations_lang.php @@ -282,3 +282,19 @@ $lang['flexible'] = 'Flexible'; $lang['fixed'] = 'Fixed'; $lang['attendants_number'] = 'Attendants Number'; $lang['reset_working_plan'] = 'Reset the working plan back to the default values.'; +$lang['legal_contents'] = 'Legal Contents'; +$lang['cookie_notice'] = 'Cookie Notice'; +$lang['display_cookie_notice'] = 'Display Cookie Notice'; +$lang['cookie_notice_content'] = 'Cookie Notice Content'; +$lang['terms_and_conditions'] = 'Terms & Conditions'; +$lang['display_terms_and_conditions'] = 'Display Terms & Conditions'; +$lang['terms_and_conditions_content'] = 'Terms & Conditions Content'; +$lang['privacy_policy'] = 'Privacy Policy'; +$lang['display_privacy_policy'] = 'Display Privacy Policy'; +$lang['privacy_policy_content'] = 'Privacy Policy Content'; +$lang['website_using_cookies_to_ensure_best_experience'] = 'This website uses cookies to ensure you get the best experience on our website.'; +$lang['read_and_agree_to_terms_and_conditions'] = 'I have read and agree to the {$link}Terms & Conditions{/$link}.'; +$lang['read_and_agree_to_privacy_policy'] = 'I have read and agree to the {$link}Privacy Policy{/$link}.'; +$lang['delete_personal_information_hint'] = 'Delete all personal information from the system.'; +$lang['delete_personal_information'] = 'Delete Personal Information'; +$lang['delete_personal_information_prompt'] = 'Are you sure that you want to delete your personal information? This action cannot be undone.'; diff --git a/src/application/language/slovak/translations_lang.php b/src/application/language/slovak/translations_lang.php index 18a9499f..17e0b90b 100755 --- a/src/application/language/slovak/translations_lang.php +++ b/src/application/language/slovak/translations_lang.php @@ -282,3 +282,19 @@ $lang['flexible'] = 'Flexibilný'; $lang['fixed'] = 'Fixný'; $lang['attendants_number'] = 'Počet účastníkov'; $lang['reset_working_plan'] = 'Obnovte pracovný plán späť na predvolené hodnoty.'; +$lang['legal_contents'] = 'Legal Contents'; +$lang['cookie_notice'] = 'Cookie Notice'; +$lang['display_cookie_notice'] = 'Display Cookie Notice'; +$lang['cookie_notice_content'] = 'Cookie Notice Content'; +$lang['terms_and_conditions'] = 'Terms & Conditions'; +$lang['display_terms_and_conditions'] = 'Display Terms & Conditions'; +$lang['terms_and_conditions_content'] = 'Terms & Conditions Content'; +$lang['privacy_policy'] = 'Privacy Policy'; +$lang['display_privacy_policy'] = 'Display Privacy Policy'; +$lang['privacy_policy_content'] = 'Privacy Policy Content'; +$lang['website_using_cookies_to_ensure_best_experience'] = 'This website uses cookies to ensure you get the best experience on our website.'; +$lang['read_and_agree_to_terms_and_conditions'] = 'I have read and agree to the {$link}Terms & Conditions{/$link}.'; +$lang['read_and_agree_to_privacy_policy'] = 'I have read and agree to the {$link}Privacy Policy{/$link}.'; +$lang['delete_personal_information_hint'] = 'Delete all personal information from the system.'; +$lang['delete_personal_information'] = 'Delete Personal Information'; +$lang['delete_personal_information_prompt'] = 'Are you sure that you want to delete your personal information? This action cannot be undone.'; diff --git a/src/application/language/spanish/translations_lang.php b/src/application/language/spanish/translations_lang.php index 237401e9..c8659ff6 100755 --- a/src/application/language/spanish/translations_lang.php +++ b/src/application/language/spanish/translations_lang.php @@ -282,3 +282,19 @@ $lang['flexible'] = 'Flexible'; $lang['fixed'] = 'Fixed'; $lang['attendants_number'] = 'Número de Atenciones'; $lang['reset_working_plan'] = 'Reinicia el plan de trabajo a los valores por defecto.'; +$lang['legal_contents'] = 'Legal Contents'; +$lang['cookie_notice'] = 'Cookie Notice'; +$lang['display_cookie_notice'] = 'Display Cookie Notice'; +$lang['cookie_notice_content'] = 'Cookie Notice Content'; +$lang['terms_and_conditions'] = 'Terms & Conditions'; +$lang['display_terms_and_conditions'] = 'Display Terms & Conditions'; +$lang['terms_and_conditions_content'] = 'Terms & Conditions Content'; +$lang['privacy_policy'] = 'Privacy Policy'; +$lang['display_privacy_policy'] = 'Display Privacy Policy'; +$lang['privacy_policy_content'] = 'Privacy Policy Content'; +$lang['website_using_cookies_to_ensure_best_experience'] = 'This website uses cookies to ensure you get the best experience on our website.'; +$lang['read_and_agree_to_terms_and_conditions'] = 'I have read and agree to the {$link}Terms & Conditions{/$link}.'; +$lang['read_and_agree_to_privacy_policy'] = 'I have read and agree to the {$link}Privacy Policy{/$link}.'; +$lang['delete_personal_information_hint'] = 'Delete all personal information from the system.'; +$lang['delete_personal_information'] = 'Delete Personal Information'; +$lang['delete_personal_information_prompt'] = 'Are you sure that you want to delete your personal information? This action cannot be undone.'; diff --git a/src/application/language/turkish/translations_lang.php b/src/application/language/turkish/translations_lang.php index 2d78e152..48bb8e0c 100755 --- a/src/application/language/turkish/translations_lang.php +++ b/src/application/language/turkish/translations_lang.php @@ -282,3 +282,19 @@ $lang['flexible'] = 'Flexible'; $lang['fixed'] = 'Fixed'; $lang['attendants_number'] = 'Attendants Number'; $lang['reset_working_plan'] = 'Reset the working plan back to the default values.'; +$lang['legal_contents'] = 'Legal Contents'; +$lang['cookie_notice'] = 'Cookie Notice'; +$lang['display_cookie_notice'] = 'Display Cookie Notice'; +$lang['cookie_notice_content'] = 'Cookie Notice Content'; +$lang['terms_and_conditions'] = 'Terms & Conditions'; +$lang['display_terms_and_conditions'] = 'Display Terms & Conditions'; +$lang['terms_and_conditions_content'] = 'Terms & Conditions Content'; +$lang['privacy_policy'] = 'Privacy Policy'; +$lang['display_privacy_policy'] = 'Display Privacy Policy'; +$lang['privacy_policy_content'] = 'Privacy Policy Content'; +$lang['website_using_cookies_to_ensure_best_experience'] = 'This website uses cookies to ensure you get the best experience on our website.'; +$lang['read_and_agree_to_terms_and_conditions'] = 'I have read and agree to the {$link}Terms & Conditions{/$link}.'; +$lang['read_and_agree_to_privacy_policy'] = 'I have read and agree to the {$link}Privacy Policy{/$link}.'; +$lang['delete_personal_information_hint'] = 'Delete all personal information from the system.'; +$lang['delete_personal_information'] = 'Delete Personal Information'; +$lang['delete_personal_information_prompt'] = 'Are you sure that you want to delete your personal information? This action cannot be undone.'; diff --git a/src/application/migrations/012_legal_contents.php b/src/application/migrations/012_legal_contents.php new file mode 100644 index 00000000..59ccfacf --- /dev/null +++ b/src/application/migrations/012_legal_contents.php @@ -0,0 +1,54 @@ + + * @copyright Copyright (c) 2013 - 2018, Alex Tselegidis + * @license http://opensource.org/licenses/GPL-3.0 - GPLv3 + * @link http://easyappointments.org + * @since v1.3.2 + * ---------------------------------------------------------------------------- */ + +class Migration_Legal_contents extends CI_Migration { + public function up() + { + $this->db->insert('ea_settings', ['name' => 'display_cookie_notice', 'value' => '0']); + $this->db->insert('ea_settings', ['name' => 'cookie_notice_content', 'value' => 'Cookie notice content.']); + $this->db->insert('ea_settings', ['name' => 'display_terms_and_conditions', 'value' => '0']); + $this->db->insert('ea_settings', + ['name' => 'terms_and_conditions_content', 'value' => 'Terms and conditions content.']); + $this->db->insert('ea_settings', ['name' => 'display_privacy_policy', 'value' => '0']); + $this->db->insert('ea_settings', ['name' => 'privacy_policy_content', 'value' => 'Privacy policy content.']); + + $this->db->query(' + CREATE TABLE IF NOT EXISTS `ea_consents` ( + `id` INT(11) NOT NULL AUTO_INCREMENT, + `created` DATETIME DEFAULT CURRENT_TIMESTAMP, + `modified` DATETIME DEFAULT CURRENT_TIMESTAMP + ON UPDATE CURRENT_TIMESTAMP, + `first_name` VARCHAR(256), + `last_name` VARCHAR(256), + `email` VARCHAR(512), + `ip` VARCHAR(256), + `type` VARCHAR(256), + PRIMARY KEY (`id`) + ) + ENGINE = InnoDB + DEFAULT CHARSET = utf8; + '); + } + + public function down() + { + $this->db->delete('ea_settings', ['name' => 'display_cookie_notice']); + $this->db->delete('ea_settings', ['name' => 'cookie_notice_content']); + $this->db->delete('ea_settings', ['name' => 'display_terms_and_conditions']); + $this->db->delete('ea_settings', ['name' => 'terms_and_conditions_content']); + $this->db->delete('ea_settings', ['name' => 'display_privacy_policy']); + $this->db->delete('ea_settings', ['name' => 'privacy_policy_content']); + + $this->db->query('DROP TABLE `ea_consents`;'); + } +} diff --git a/src/application/models/Consents_model.php b/src/application/models/Consents_model.php new file mode 100644 index 00000000..399706a2 --- /dev/null +++ b/src/application/models/Consents_model.php @@ -0,0 +1,105 @@ + + * @copyright Copyright (c) 2013 - 2018, Alex Tselegidis + * @license http://opensource.org/licenses/GPL-3.0 - GPLv3 + * @link http://easyappointments.org + * @since v1.3.2 + * ---------------------------------------------------------------------------- */ + +/** + * Class Consents_model + * + * @package Models + */ +class Consents_model extends CI_Model { + /** + * Add a consent record to the database. + * + * This method adds a consent to the database. + * + * @param array $consent Associative array with the consent's data. + * + * @return int Returns the consent ID. + */ + public function add($consent) + { + $this->validate($consent); + + if ( ! isset($consent['id'])) + { + $consent['id'] = $this->_insert($consent); + } + else + { + $this->_update($consent); + } + + return $consent['id']; + } + + + /** + * Validate consent data before the insert or update operation is executed. + * + * @param array $consent Contains the consent data. + * + * @throws Exception If customer validation fails. + */ + public function validate($consent) + { + if ( ! isset($consent['first_name']) + || ! isset($consent['last_name']) + || ! isset($consent['email']) + || ! isset($consent['ip']) + || ! isset($consent['type'])) + { + throw new Exception('Not all required fields are provided: ' + . print_r($consent, TRUE)); + } + } + + /** + * Insert a new consent record to the database. + * + * @param array $consent Associative array with the consent's data. + * + * @return int Returns the ID of the new record. + * + * @throws Exception If consent record could not be inserted. + */ + protected function _insert($consent) + { + if ( ! $this->db->insert('ea_consents', $consent)) + { + throw new Exception('Could not insert consent to the database.'); + } + + return (int)$this->db->insert_id(); + } + + /** + * Update an existing consent record in the database. + * + * The consent data argument should already include the record ID in order to process the update operation. + * + * @param array $consent Associative array with the consent's data. + * + * @return int Returns the updated record ID. + * + * @throws Exception If consent record could not be updated. + */ + protected function _update($consent) + { + if ( ! $this->db->update('ea_consents', $consent, ['id' => $consent['id']])) + { + throw new Exception('Could not update consent to the database.'); + } + + return (int)$consent['id']; + } +} diff --git a/src/application/views/appointments/book.php b/src/application/views/appointments/book.php index 2aca05ab..20b99982 100755 --- a/src/application/views/appointments/book.php +++ b/src/application/views/appointments/book.php @@ -11,6 +11,7 @@ + @@ -45,27 +46,29 @@ - -
-

' . - lang('cancel_appointment_hint') . - '

-
-
-
- - - -
-
- '; - } - ?> + +
+
+

+
+
+
+ + + +
+
+
+
+
+

+
+
+ +
+
+ - + + +
+ + + + +
+ + + @@ -320,14 +349,28 @@ + + + + + + + + + + + + + diff --git a/src/application/views/appointments/cookie_notice_modal.php b/src/application/views/appointments/cookie_notice_modal.php new file mode 100644 index 00000000..7910ee0c --- /dev/null +++ b/src/application/views/appointments/cookie_notice_modal.php @@ -0,0 +1,16 @@ + diff --git a/src/application/views/appointments/privacy_policy_modal.php b/src/application/views/appointments/privacy_policy_modal.php new file mode 100644 index 00000000..77e59c8a --- /dev/null +++ b/src/application/views/appointments/privacy_policy_modal.php @@ -0,0 +1,16 @@ + diff --git a/src/application/views/appointments/terms_and_conditions_modal.php b/src/application/views/appointments/terms_and_conditions_modal.php new file mode 100644 index 00000000..9a5a81fb --- /dev/null +++ b/src/application/views/appointments/terms_and_conditions_modal.php @@ -0,0 +1,16 @@ + diff --git a/src/application/views/backend/header.php b/src/application/views/backend/header.php index b1a13cbd..40d53d30 100755 --- a/src/application/views/backend/header.php +++ b/src/application/views/backend/header.php @@ -10,6 +10,7 @@ + @@ -19,6 +20,7 @@ +