From cfc8ecb208d0688735fe018f4c55a7447200cda8 Mon Sep 17 00:00:00 2001 From: Manuel Tagliapietra Date: Wed, 20 Aug 2025 12:58:45 +0200 Subject: [PATCH] vtenext ce 20.04.3: FIX SEC apply 20250714, 20250814; backport htaccess, misc; remove sass-cache --- htaccess.txt | 76 ++-- include/Webservices/Language.php | 20 +- .../GDPRWS/templates/privacy_policy.html | 253 +------------ include/utils/RequestHandler.php | 313 ++++++++++------ include/utils/UserAuthtoken.php | 28 +- modules/Calendar/ActivityAjax.php | 7 +- modules/Calendar/wdCalendar.php | 5 +- modules/Fax/EditView.php | 69 ++-- modules/Home/HomeWidgetBlockList.php | 20 +- .../Import_ListView_Controller.php | 6 +- modules/Import/resources/Utils.php | 4 +- modules/Morphsuit/RequestMorphsuit.php | 2 +- modules/SDK/src/205/SaveCrop.php | 6 + modules/Touch/ws.php | 7 + modules/Update/changes/2135_2136.php | 4 + modules/Update/changes/2136_2137.php | 4 +- modules/Update/changes/2218_2219.php | 13 + modules/Users/DetailViewAjax.php | 26 +- modules/Users/GetUserName.php | 14 +- modules/Users/RecoverPwd.php | 326 ++++++++++------- modules/Users/Save.php | 333 +++++++++--------- modules/Users/Users.php | 39 ++ restapi/v1/index.php | 85 ++++- .../_alerts.scssc | Bin 4025 -> 0 bytes .../_background-variant.scssc | Bin 3332 -> 0 bytes .../_border-radius.scssc | Bin 4188 -> 0 bytes .../_buttons.scssc | Bin 16521 -> 0 bytes .../_center-block.scssc | Bin 1838 -> 0 bytes .../_clearfix.scssc | Bin 3848 -> 0 bytes .../_forms.scssc | Bin 22336 -> 0 bytes .../_gradients.scssc | Bin 38529 -> 0 bytes .../_grid-framework.scssc | Bin 29472 -> 0 bytes .../_grid.scssc | Bin 29699 -> 0 bytes .../_hide-text.scssc | Bin 3534 -> 0 bytes .../_image.scssc | Bin 9359 -> 0 bytes .../_labels.scssc | Bin 3048 -> 0 bytes .../_list-group.scssc | Bin 7303 -> 0 bytes .../_nav-divider.scssc | Bin 3202 -> 0 bytes .../_nav-vertical-align.scssc | Bin 2884 -> 0 bytes .../_opacity.scssc | Bin 2671 -> 0 bytes .../_pagination.scssc | Bin 5730 -> 0 bytes .../_panels.scssc | Bin 5932 -> 0 bytes .../_progress-bar.scssc | Bin 2311 -> 0 bytes .../_reset-filter.scssc | Bin 1647 -> 0 bytes .../_reset-text.scssc | Bin 5329 -> 0 bytes .../_resize.scssc | Bin 2062 -> 0 bytes .../_responsive-visibility.scssc | Bin 5227 -> 0 bytes .../_size.scssc | Bin 2245 -> 0 bytes .../_tab-focus.scssc | Bin 2065 -> 0 bytes .../_table-row.scssc | Bin 7048 -> 0 bytes .../_text-emphasis.scssc | Bin 3281 -> 0 bytes .../_text-overflow.scssc | Bin 1923 -> 0 bytes .../_vendor-prefixes.scssc | Bin 52535 -> 0 bytes .../_align.scssc | Bin 4473 -> 0 bytes .../_bootstrap_utilities.scssc | Bin 259102 -> 0 bytes .../_colors.scssc | Bin 93705 -> 0 bytes .../_colors_dm.scssc | Bin 103700 -> 0 bytes .../_icons.scssc | Bin 18081 -> 0 bytes .../_mixins.scssc | Bin 10939 -> 0 bytes .../_sdk_overrides.scssc | Bin 1523 -> 0 bytes .../_sdk_overrides_dm.scssc | Bin 1554 -> 0 bytes .../_variables.scssc | Bin 3618 -> 0 bytes .../_bootstrap.scssc | Bin 6624 -> 0 bytes .../_animated.scssc | Bin 8254 -> 0 bytes .../_bordered-pulled.scssc | Bin 8296 -> 0 bytes .../_core.scssc | Bin 4682 -> 0 bytes .../_fixed-width.scssc | Bin 2305 -> 0 bytes .../_icons.scssc | Bin 439943 -> 0 bytes .../_larger.scssc | Bin 5280 -> 0 bytes .../_list.scssc | Bin 6005 -> 0 bytes .../_mixins.scssc | Bin 9078 -> 0 bytes .../_path.scssc | Bin 17081 -> 0 bytes .../_rotated-flipped.scssc | Bin 6858 -> 0 bytes .../_stacked.scssc | Bin 6514 -> 0 bytes .../_variables.scssc | Bin 152394 -> 0 bytes .../font-awesome.scssc | Bin 2582 -> 0 bytes .../_circle.scssc | Bin 20272 -> 0 bytes .../_linear.scssc | Bin 13684 -> 0 bytes .../_loaders.scssc | Bin 871 -> 0 bytes .../_veil.scssc | Bin 19120 -> 0 bytes .../_color.scssc | Bin 83190 -> 0 bytes .../_tabs.scssc | Bin 19684 -> 0 bytes .../_variables.scssc | Bin 66158 -> 0 bytes .../_bootstrap_select.scssc | Bin 3743 -> 0 bytes .../_ckeditor.scssc | Bin 1962 -> 0 bytes .../_datatables.scssc | Bin 3116 -> 0 bytes .../_dp.scssc | Bin 68284 -> 0 bytes .../_gantt.scssc | Bin 3124 -> 0 bytes .../_jquery-ui.scssc | Bin 162433 -> 0 bytes .../_plugins.scssc | Bin 1835 -> 0 bytes .../_plupload.scssc | Bin 9430 -> 0 bytes .../_wdcalendar.scssc | Bin 189357 -> 0 bytes .../_wdcalendar_flags.scssc | Bin 154843 -> 0 bytes .../_layouteditor.scssc | Bin 7995 -> 0 bytes .../_settings.scssc | Bin 1183 -> 0 bytes .../_alerts.scssc | Bin 12616 -> 0 bytes .../_badges.scssc | Bin 13786 -> 0 bytes .../_breadcrumbs.scssc | Bin 6196 -> 0 bytes .../_button-groups.scssc | Bin 50991 -> 0 bytes .../_buttons.scssc | Bin 33249 -> 0 bytes .../_carousel.scssc | Bin 53133 -> 0 bytes .../_close.scssc | Bin 7657 -> 0 bytes .../_code.scssc | Bin 16444 -> 0 bytes .../_component-animations.scssc | Bin 7794 -> 0 bytes .../_dropdowns.scssc | Bin 44340 -> 0 bytes .../_forms.scssc | Bin 118677 -> 0 bytes .../_glyphicons.scssc | Bin 247909 -> 0 bytes .../_grid.scssc | Bin 8503 -> 0 bytes .../_input-groups.scssc | Bin 35731 -> 0 bytes .../_jumbotron.scssc | Bin 11282 -> 0 bytes .../_labels.scssc | Bin 11366 -> 0 bytes .../_list-group.scssc | Bin 23613 -> 0 bytes .../_media.scssc | Bin 10757 -> 0 bytes .../_mixins.scssc | Bin 4899 -> 0 bytes .../_modals.scssc | Bin 33900 -> 0 bytes .../_navbar.scssc | Bin 123222 -> 0 bytes .../_navs.scssc | Bin 42904 -> 0 bytes .../_normalize.scssc | Bin 50880 -> 0 bytes .../_pager.scssc | Bin 10594 -> 0 bytes .../_pagination.scssc | Bin 20096 -> 0 bytes .../_panels.scssc | Bin 57204 -> 0 bytes .../_popovers.scssc | Bin 35933 -> 0 bytes .../_print.scssc | Bin 17304 -> 0 bytes .../_progress-bars.scssc | Bin 17207 -> 0 bytes .../_responsive-embed.scssc | Bin 6810 -> 0 bytes .../_responsive-utilities.scssc | Bin 30204 -> 0 bytes .../_scaffolding.scssc | Bin 26034 -> 0 bytes .../_tables.scssc | Bin 40118 -> 0 bytes .../_thumbnails.scssc | Bin 8513 -> 0 bytes .../_tooltip.scssc | Bin 30910 -> 0 bytes .../_type.scssc | Bin 60685 -> 0 bytes .../_utilities.scssc | Bin 7056 -> 0 bytes .../_variables.scssc | Bin 156585 -> 0 bytes .../_wells.scssc | Bin 7749 -> 0 bytes .../_calendar.scssc | Bin 21152 -> 0 bytes .../_calendar_resources.scssc | Bin 54474 -> 0 bytes .../_charts.scssc | Bin 17679 -> 0 bytes .../_dashboard.scssc | Bin 18081 -> 0 bytes .../_home.scssc | Bin 20981 -> 0 bytes .../_messages.scssc | Bin 71407 -> 0 bytes .../_modcomments.scssc | Bin 14287 -> 0 bytes .../_modules.scssc | Bin 2673 -> 0 bytes .../_mynotes.scssc | Bin 87658 -> 0 bytes .../_newsletter.scssc | Bin 58186 -> 0 bytes .../_pdfmaker.scssc | Bin 7750 -> 0 bytes .../_reports.scssc | Bin 20560 -> 0 bytes .../_rss.scssc | Bin 11293 -> 0 bytes .../_animations.scssc | Bin 9220 -> 0 bytes .../_autocomplete.scssc | Bin 20065 -> 0 bytes .../_buttons.scssc | Bin 91155 -> 0 bytes .../_calculator.scssc | Bin 19668 -> 0 bytes .../_clock.scssc | Bin 15498 -> 0 bytes .../_detailview.scssc | Bin 76004 -> 0 bytes .../_droparea.scssc | Bin 26102 -> 0 bytes .../_editreport.scssc | Bin 9063 -> 0 bytes .../_eventspop.scssc | Bin 18859 -> 0 bytes .../_fancybox.scssc | Bin 3550 -> 0 bytes .../_fonts.scssc | Bin 21743 -> 0 bytes .../_history.scssc | Bin 10203 -> 0 bytes .../_icons.scssc | Bin 43361 -> 0 bytes .../_kanban.scssc | Bin 15299 -> 0 bytes .../_lateralmenu.scssc | Bin 100244 -> 0 bytes .../_listview.scssc | Bin 47169 -> 0 bytes .../_notification.scssc | Bin 3273 -> 0 bytes .../_popup.scssc | Bin 26079 -> 0 bytes .../_progressbar.scssc | Bin 23808 -> 0 bytes .../_reminder.scssc | Bin 26484 -> 0 bytes .../_settings.scssc | Bin 56566 -> 0 bytes .../_simplelistview.scssc | Bin 18000 -> 0 bytes .../_tables.scssc | Bin 9274 -> 0 bytes .../_turbolift.scssc | Bin 26641 -> 0 bytes .../_utilities.scssc | Bin 36781 -> 0 bytes .../_vte_bootstrap.scssc | Bin 89635 -> 0 bytes .../_vte_material.scssc | Bin 48120 -> 0 bytes .../_vte_materialize.scssc | Bin 44664 -> 0 bytes .../_vte_style.scssc | Bin 304161 -> 0 bytes .../_wizard.scssc | Bin 16283 -> 0 bytes .../datetimepicker.scssc | Bin 65557 -> 0 bytes .../dp.scssc | Bin 1742 -> 0 bytes .../dp_dm.scssc | Bin 1751 -> 0 bytes .../install.scssc | Bin 18064 -> 0 bytes .../jquery-ui.scssc | Bin 1652 -> 0 bytes .../jquery.dropdown.scssc | Bin 35552 -> 0 bytes .../morphsuit.scssc | Bin 10401 -> 0 bytes .../processmaker.scssc | Bin 16599 -> 0 bytes .../recover.scssc | Bin 11189 -> 0 bytes .../reportpdf.scssc | Bin 17140 -> 0 bytes .../reportprint.scssc | Bin 12295 -> 0 bytes .../style.scssc | Bin 2230 -> 0 bytes .../style_dm.scssc | Bin 17040 -> 0 bytes .../style_login.scssc | Bin 45029 -> 0 bytes .../style_print.scssc | Bin 7260 -> 0 bytes .../vte_bootstrap.scssc | Bin 2925 -> 0 bytes .../vte_bootstrap_dm.scssc | Bin 2931 -> 0 bytes .../vte_materialize.scssc | Bin 1767 -> 0 bytes .../vte_materialize_dm.scssc | Bin 1776 -> 0 bytes .../wdcalendar.scssc | Bin 1655 -> 0 bytes .../wdcalendar_dm.scssc | Bin 1664 -> 0 bytes .../_alerts.scssc | Bin 4820 -> 0 bytes .../_buttons.scssc | Bin 36211 -> 0 bytes .../_cards.scssc | Bin 14040 -> 0 bytes .../_checkboxes.scssc | Bin 43975 -> 0 bytes .../_colors.scssc | Bin 69421 -> 0 bytes .../_core.scssc | Bin 22072 -> 0 bytes .../_dialogs.scssc | Bin 11958 -> 0 bytes .../_dividers.scssc | Bin 17506 -> 0 bytes .../_icons-material-design.scssc | Bin 15566 -> 0 bytes .../_icons.scssc | Bin 2835 -> 0 bytes .../_inputs.scssc | Bin 68848 -> 0 bytes .../_labels.scssc | Bin 2411 -> 0 bytes .../_lists.scssc | Bin 27921 -> 0 bytes .../_mixins-shared.scssc | Bin 77294 -> 0 bytes .../_mixins-utilities.scssc | Bin 11568 -> 0 bytes .../_mixins.scssc | Bin 7970 -> 0 bytes .../_navbar.scssc | Bin 37897 -> 0 bytes .../_panels.scssc | Bin 5643 -> 0 bytes .../_plugin-dropdownjs.scssc | Bin 6149 -> 0 bytes .../_plugin-nouislider.scssc | Bin 26464 -> 0 bytes .../_plugin-selectize.scssc | Bin 24333 -> 0 bytes .../_plugin-snackbarjs.scssc | Bin 7177 -> 0 bytes .../_popups.scssc | Bin 4988 -> 0 bytes .../_progress.scssc | Bin 3755 -> 0 bytes .../_radios.scssc | Bin 23637 -> 0 bytes .../_shadows.scssc | Bin 14386 -> 0 bytes .../_tabs.scssc | Bin 7631 -> 0 bytes .../_togglebutton.scssc | Bin 21408 -> 0 bytes .../_variables.scssc | Bin 20737 -> 0 bytes .../_vtematerial.scssc | Bin 986 -> 0 bytes .../_welljumbo.scssc | Bin 5955 -> 0 bytes .../material.scssc | Bin 2061 -> 0 bytes .../_jquery-ui.scssc | Bin 162437 -> 0 bytes .../_wdcalendar.scssc | Bin 189361 -> 0 bytes .../_wdcalendar_flags.scssc | Bin 154847 -> 0 bytes .../_alerts.scssc | Bin 12620 -> 0 bytes .../_badges.scssc | Bin 13790 -> 0 bytes .../_breadcrumbs.scssc | Bin 6200 -> 0 bytes .../_button-groups.scssc | Bin 50995 -> 0 bytes .../_buttons.scssc | Bin 33253 -> 0 bytes .../_carousel.scssc | Bin 53139 -> 0 bytes .../_close.scssc | Bin 7661 -> 0 bytes .../_code.scssc | Bin 16448 -> 0 bytes .../_component-animations.scssc | Bin 7798 -> 0 bytes .../_dropdowns.scssc | Bin 44348 -> 0 bytes .../_forms.scssc | Bin 118685 -> 0 bytes .../_glyphicons.scssc | Bin 247913 -> 0 bytes .../_grid.scssc | Bin 8507 -> 0 bytes .../_input-groups.scssc | Bin 35735 -> 0 bytes .../_jumbotron.scssc | Bin 11286 -> 0 bytes .../_labels.scssc | Bin 11370 -> 0 bytes .../_list-group.scssc | Bin 23617 -> 0 bytes .../_media.scssc | Bin 10761 -> 0 bytes .../_mixins.scssc | Bin 4903 -> 0 bytes .../_modals.scssc | Bin 33904 -> 0 bytes .../_navbar.scssc | Bin 123226 -> 0 bytes .../_navs.scssc | Bin 42908 -> 0 bytes .../_normalize.scssc | Bin 50884 -> 0 bytes .../_pager.scssc | Bin 10598 -> 0 bytes .../_pagination.scssc | Bin 20100 -> 0 bytes .../_panels.scssc | Bin 57208 -> 0 bytes .../_popovers.scssc | Bin 35937 -> 0 bytes .../_print.scssc | Bin 17308 -> 0 bytes .../_progress-bars.scssc | Bin 17211 -> 0 bytes .../_responsive-embed.scssc | Bin 6814 -> 0 bytes .../_responsive-utilities.scssc | Bin 30208 -> 0 bytes .../_scaffolding.scssc | Bin 26038 -> 0 bytes .../_tables.scssc | Bin 40122 -> 0 bytes .../_thumbnails.scssc | Bin 8517 -> 0 bytes .../_tooltip.scssc | Bin 30914 -> 0 bytes .../_type.scssc | Bin 60689 -> 0 bytes .../_utilities.scssc | Bin 7060 -> 0 bytes .../_variables.scssc | Bin 156589 -> 0 bytes .../_wells.scssc | Bin 7753 -> 0 bytes .../_layouteditor.scssc | Bin 7999 -> 0 bytes .../_settings.scssc | Bin 1187 -> 0 bytes .../_alerts.scssc | Bin 4824 -> 0 bytes .../_buttons.scssc | Bin 36215 -> 0 bytes .../_cards.scssc | Bin 14044 -> 0 bytes .../_checkboxes.scssc | Bin 43979 -> 0 bytes .../_colors.scssc | Bin 69425 -> 0 bytes .../_core.scssc | Bin 22076 -> 0 bytes .../_dialogs.scssc | Bin 11962 -> 0 bytes .../_dividers.scssc | Bin 17510 -> 0 bytes .../_icons-material-design.scssc | Bin 15570 -> 0 bytes .../_icons.scssc | Bin 2839 -> 0 bytes .../_inputs.scssc | Bin 68650 -> 0 bytes .../_labels.scssc | Bin 2415 -> 0 bytes .../_lists.scssc | Bin 27925 -> 0 bytes .../_mixins-shared.scssc | Bin 77346 -> 0 bytes .../_mixins-utilities.scssc | Bin 11592 -> 0 bytes .../_mixins.scssc | Bin 7974 -> 0 bytes .../_navbar.scssc | Bin 37901 -> 0 bytes .../_panels.scssc | Bin 5647 -> 0 bytes .../_plugin-dropdownjs.scssc | Bin 6153 -> 0 bytes .../_plugin-nouislider.scssc | Bin 26468 -> 0 bytes .../_plugin-selectize.scssc | Bin 24337 -> 0 bytes .../_plugin-snackbarjs.scssc | Bin 7181 -> 0 bytes .../_popups.scssc | Bin 4992 -> 0 bytes .../_progress.scssc | Bin 3759 -> 0 bytes .../_radios.scssc | Bin 23586 -> 0 bytes .../_shadows.scssc | Bin 14390 -> 0 bytes .../_tabs.scssc | Bin 7635 -> 0 bytes .../_togglebutton.scssc | Bin 21412 -> 0 bytes .../_variables.scssc | Bin 20741 -> 0 bytes .../_vtematerial.scssc | Bin 990 -> 0 bytes .../_welljumbo.scssc | Bin 5959 -> 0 bytes .../material.scssc | Bin 2065 -> 0 bytes .../font-awesome.scssc | Bin 2586 -> 0 bytes .../_circle.scssc | Bin 20595 -> 0 bytes .../_veil.scssc | Bin 21343 -> 0 bytes .../_animated.scssc | Bin 8258 -> 0 bytes .../_bordered-pulled.scssc | Bin 8300 -> 0 bytes .../_core.scssc | Bin 4686 -> 0 bytes .../_fixed-width.scssc | Bin 2309 -> 0 bytes .../_icons.scssc | Bin 439947 -> 0 bytes .../_larger.scssc | Bin 5284 -> 0 bytes .../_list.scssc | Bin 6009 -> 0 bytes .../_mixins.scssc | Bin 9082 -> 0 bytes .../_path.scssc | Bin 17085 -> 0 bytes .../_rotated-flipped.scssc | Bin 6862 -> 0 bytes .../_stacked.scssc | Bin 6518 -> 0 bytes .../_variables.scssc | Bin 152326 -> 0 bytes .../_colors.scssc | Bin 34020 -> 0 bytes .../_icons.scssc | Bin 18085 -> 0 bytes .../_mixins.scssc | Bin 8762 -> 0 bytes .../_sdk_overrides.scssc | Bin 1527 -> 0 bytes .../_variables.scssc | Bin 2897 -> 0 bytes .../_autocomplete.scssc | Bin 22255 -> 0 bytes .../_buttons.scssc | Bin 58360 -> 0 bytes .../_calculator.scssc | Bin 17727 -> 0 bytes .../_calendar.scssc | Bin 21781 -> 0 bytes .../_calendar_resources.scssc | Bin 54361 -> 0 bytes .../_charts.scssc | Bin 17459 -> 0 bytes .../_clock.scssc | Bin 15502 -> 0 bytes .../_dashboard.scssc | Bin 18077 -> 0 bytes .../_droparea.scssc | Bin 9418 -> 0 bytes .../_droparea_form.scssc | Bin 18223 -> 0 bytes .../_editreport.scssc | Bin 8341 -> 0 bytes .../_eventspop.scssc | Bin 17916 -> 0 bytes .../_fancybox.scssc | Bin 3554 -> 0 bytes .../_fonts.scssc | Bin 12172 -> 0 bytes .../_home.scssc | Bin 16789 -> 0 bytes .../_icons.scssc | Bin 42091 -> 0 bytes .../_kanban.scssc | Bin 12620 -> 0 bytes .../_listview.scssc | Bin 30508 -> 0 bytes .../_messages.scssc | Bin 70871 -> 0 bytes .../_modulehome.scssc | Bin 5414 -> 0 bytes .../_mynotes.scssc | Bin 89089 -> 0 bytes .../_newsletter.scssc | Bin 41831 -> 0 bytes .../_notification.scssc | Bin 3277 -> 0 bytes .../_popup.scssc | Bin 26083 -> 0 bytes .../_progressbar.scssc | Bin 23812 -> 0 bytes .../_reminder.scssc | Bin 24891 -> 0 bytes .../_reports.scssc | Bin 20454 -> 0 bytes .../_rss.scssc | Bin 11289 -> 0 bytes .../_simplelistview.scssc | Bin 17078 -> 0 bytes .../_tables.scssc | Bin 9278 -> 0 bytes .../_utilities.scssc | Bin 17479 -> 0 bytes .../_vte_material.scssc | Bin 8434 -> 0 bytes .../_wizard.scssc | Bin 44541 -> 0 bytes .../datetimepicker.scssc | Bin 65561 -> 0 bytes .../dp.scssc | Bin 66983 -> 0 bytes .../install.scssc | Bin 17451 -> 0 bytes .../jquery-ui.scssc | Bin 1656 -> 0 bytes .../jquery.dropdown.scssc | Bin 35556 -> 0 bytes .../morphsuit.scssc | Bin 9812 -> 0 bytes .../processmaker.scssc | Bin 16603 -> 0 bytes .../recover.scssc | Bin 10665 -> 0 bytes .../reportpdf.scssc | Bin 17143 -> 0 bytes .../reportprint.scssc | Bin 12299 -> 0 bytes .../style.scssc | Bin 497851 -> 0 bytes .../style_login.scssc | Bin 10575 -> 0 bytes .../style_print.scssc | Bin 10338 -> 0 bytes .../vte_bootstrap.scssc | Bin 93816 -> 0 bytes .../wdcalendar.scssc | Bin 1659 -> 0 bytes .../_alerts.scssc | Bin 4029 -> 0 bytes .../_background-variant.scssc | Bin 3336 -> 0 bytes .../_border-radius.scssc | Bin 4192 -> 0 bytes .../_buttons.scssc | Bin 16525 -> 0 bytes .../_center-block.scssc | Bin 1842 -> 0 bytes .../_clearfix.scssc | Bin 3852 -> 0 bytes .../_forms.scssc | Bin 22340 -> 0 bytes .../_gradients.scssc | Bin 38533 -> 0 bytes .../_grid-framework.scssc | Bin 29500 -> 0 bytes .../_grid.scssc | Bin 29703 -> 0 bytes .../_hide-text.scssc | Bin 3538 -> 0 bytes .../_image.scssc | Bin 9363 -> 0 bytes .../_labels.scssc | Bin 3052 -> 0 bytes .../_list-group.scssc | Bin 7307 -> 0 bytes .../_nav-divider.scssc | Bin 3206 -> 0 bytes .../_nav-vertical-align.scssc | Bin 2888 -> 0 bytes .../_opacity.scssc | Bin 2675 -> 0 bytes .../_pagination.scssc | Bin 5734 -> 0 bytes .../_panels.scssc | Bin 5936 -> 0 bytes .../_progress-bar.scssc | Bin 2315 -> 0 bytes .../_reset-filter.scssc | Bin 1651 -> 0 bytes .../_reset-text.scssc | Bin 5333 -> 0 bytes .../_resize.scssc | Bin 2066 -> 0 bytes .../_responsive-visibility.scssc | Bin 5231 -> 0 bytes .../_size.scssc | Bin 2249 -> 0 bytes .../_tab-focus.scssc | Bin 2069 -> 0 bytes .../_table-row.scssc | Bin 7052 -> 0 bytes .../_text-emphasis.scssc | Bin 3285 -> 0 bytes .../_text-overflow.scssc | Bin 1927 -> 0 bytes .../_vendor-prefixes.scssc | Bin 52539 -> 0 bytes .../_align.scssc | Bin 4477 -> 0 bytes .../_bootstrap_utilities.scssc | Bin 259106 -> 0 bytes .../_bootstrap.scssc | Bin 6628 -> 0 bytes vteversion.php | 4 +- vtlib/ModuleDir/20.04.3/DetailViewAjax.php | 43 +++ vtlib/ModuleDir/20.04.3/EditView.php | 19 + vtlib/ModuleDir/20.04.3/ModuleFile.js | 16 + vtlib/ModuleDir/20.04.3/ModuleFile.php | 232 ++++++++++++ vtlib/ModuleDir/20.04.3/ModuleFileAjax.php | 6 + vtlib/ModuleDir/20.04.3/Save.php | 64 ++++ .../ModuleDir/20.04.3/language/en_us.lang.php | 16 + .../ModuleDir/20.04.3/language/it_it.lang.php | 16 + 416 files changed, 1316 insertions(+), 760 deletions(-) create mode 100644 modules/Update/changes/2218_2219.php delete mode 100644 themes/next/.sass-cache/1a466e45025880886e055ffa04bbcde2b009154d/_alerts.scssc delete mode 100644 themes/next/.sass-cache/1a466e45025880886e055ffa04bbcde2b009154d/_background-variant.scssc delete mode 100644 themes/next/.sass-cache/1a466e45025880886e055ffa04bbcde2b009154d/_border-radius.scssc delete mode 100644 themes/next/.sass-cache/1a466e45025880886e055ffa04bbcde2b009154d/_buttons.scssc delete mode 100644 themes/next/.sass-cache/1a466e45025880886e055ffa04bbcde2b009154d/_center-block.scssc delete mode 100644 themes/next/.sass-cache/1a466e45025880886e055ffa04bbcde2b009154d/_clearfix.scssc delete mode 100644 themes/next/.sass-cache/1a466e45025880886e055ffa04bbcde2b009154d/_forms.scssc delete mode 100644 themes/next/.sass-cache/1a466e45025880886e055ffa04bbcde2b009154d/_gradients.scssc delete mode 100644 themes/next/.sass-cache/1a466e45025880886e055ffa04bbcde2b009154d/_grid-framework.scssc delete mode 100644 themes/next/.sass-cache/1a466e45025880886e055ffa04bbcde2b009154d/_grid.scssc delete mode 100644 themes/next/.sass-cache/1a466e45025880886e055ffa04bbcde2b009154d/_hide-text.scssc delete mode 100644 themes/next/.sass-cache/1a466e45025880886e055ffa04bbcde2b009154d/_image.scssc delete mode 100644 themes/next/.sass-cache/1a466e45025880886e055ffa04bbcde2b009154d/_labels.scssc delete mode 100644 themes/next/.sass-cache/1a466e45025880886e055ffa04bbcde2b009154d/_list-group.scssc delete mode 100644 themes/next/.sass-cache/1a466e45025880886e055ffa04bbcde2b009154d/_nav-divider.scssc delete mode 100644 themes/next/.sass-cache/1a466e45025880886e055ffa04bbcde2b009154d/_nav-vertical-align.scssc delete mode 100644 themes/next/.sass-cache/1a466e45025880886e055ffa04bbcde2b009154d/_opacity.scssc delete mode 100644 themes/next/.sass-cache/1a466e45025880886e055ffa04bbcde2b009154d/_pagination.scssc delete mode 100644 themes/next/.sass-cache/1a466e45025880886e055ffa04bbcde2b009154d/_panels.scssc delete mode 100644 themes/next/.sass-cache/1a466e45025880886e055ffa04bbcde2b009154d/_progress-bar.scssc delete mode 100644 themes/next/.sass-cache/1a466e45025880886e055ffa04bbcde2b009154d/_reset-filter.scssc delete mode 100644 themes/next/.sass-cache/1a466e45025880886e055ffa04bbcde2b009154d/_reset-text.scssc delete mode 100644 themes/next/.sass-cache/1a466e45025880886e055ffa04bbcde2b009154d/_resize.scssc delete mode 100644 themes/next/.sass-cache/1a466e45025880886e055ffa04bbcde2b009154d/_responsive-visibility.scssc delete mode 100644 themes/next/.sass-cache/1a466e45025880886e055ffa04bbcde2b009154d/_size.scssc delete mode 100644 themes/next/.sass-cache/1a466e45025880886e055ffa04bbcde2b009154d/_tab-focus.scssc delete mode 100644 themes/next/.sass-cache/1a466e45025880886e055ffa04bbcde2b009154d/_table-row.scssc delete mode 100644 themes/next/.sass-cache/1a466e45025880886e055ffa04bbcde2b009154d/_text-emphasis.scssc delete mode 100644 themes/next/.sass-cache/1a466e45025880886e055ffa04bbcde2b009154d/_text-overflow.scssc delete mode 100644 themes/next/.sass-cache/1a466e45025880886e055ffa04bbcde2b009154d/_vendor-prefixes.scssc delete mode 100644 themes/next/.sass-cache/28b6ab0628cc6c17878a611f4496423afff84b89/_align.scssc delete mode 100644 themes/next/.sass-cache/28b6ab0628cc6c17878a611f4496423afff84b89/_bootstrap_utilities.scssc delete mode 100644 themes/next/.sass-cache/487b06ab498a50e569c1beba5d2ef3360f4e01f2/_colors.scssc delete mode 100644 themes/next/.sass-cache/487b06ab498a50e569c1beba5d2ef3360f4e01f2/_colors_dm.scssc delete mode 100644 themes/next/.sass-cache/487b06ab498a50e569c1beba5d2ef3360f4e01f2/_icons.scssc delete mode 100644 themes/next/.sass-cache/487b06ab498a50e569c1beba5d2ef3360f4e01f2/_mixins.scssc delete mode 100644 themes/next/.sass-cache/487b06ab498a50e569c1beba5d2ef3360f4e01f2/_sdk_overrides.scssc delete mode 100644 themes/next/.sass-cache/487b06ab498a50e569c1beba5d2ef3360f4e01f2/_sdk_overrides_dm.scssc delete mode 100644 themes/next/.sass-cache/487b06ab498a50e569c1beba5d2ef3360f4e01f2/_variables.scssc delete mode 100644 themes/next/.sass-cache/5214a5e34ea55fefa7b24829c9c4193e078cd79b/_bootstrap.scssc delete mode 100644 themes/next/.sass-cache/697d815e280bb097e2c52ba2f445f664f487afc3/_animated.scssc delete mode 100644 themes/next/.sass-cache/697d815e280bb097e2c52ba2f445f664f487afc3/_bordered-pulled.scssc delete mode 100644 themes/next/.sass-cache/697d815e280bb097e2c52ba2f445f664f487afc3/_core.scssc delete mode 100644 themes/next/.sass-cache/697d815e280bb097e2c52ba2f445f664f487afc3/_fixed-width.scssc delete mode 100644 themes/next/.sass-cache/697d815e280bb097e2c52ba2f445f664f487afc3/_icons.scssc delete mode 100644 themes/next/.sass-cache/697d815e280bb097e2c52ba2f445f664f487afc3/_larger.scssc delete mode 100644 themes/next/.sass-cache/697d815e280bb097e2c52ba2f445f664f487afc3/_list.scssc delete mode 100644 themes/next/.sass-cache/697d815e280bb097e2c52ba2f445f664f487afc3/_mixins.scssc delete mode 100644 themes/next/.sass-cache/697d815e280bb097e2c52ba2f445f664f487afc3/_path.scssc delete mode 100644 themes/next/.sass-cache/697d815e280bb097e2c52ba2f445f664f487afc3/_rotated-flipped.scssc delete mode 100644 themes/next/.sass-cache/697d815e280bb097e2c52ba2f445f664f487afc3/_stacked.scssc delete mode 100644 themes/next/.sass-cache/697d815e280bb097e2c52ba2f445f664f487afc3/_variables.scssc delete mode 100644 themes/next/.sass-cache/6d39505bbef2787a89d3cf8280aeae8f7ac3c4fc/font-awesome.scssc delete mode 100644 themes/next/.sass-cache/87b89ef1d36a8641ae55e83dcb77350940ae3f19/_circle.scssc delete mode 100644 themes/next/.sass-cache/87b89ef1d36a8641ae55e83dcb77350940ae3f19/_linear.scssc delete mode 100644 themes/next/.sass-cache/87b89ef1d36a8641ae55e83dcb77350940ae3f19/_loaders.scssc delete mode 100644 themes/next/.sass-cache/87b89ef1d36a8641ae55e83dcb77350940ae3f19/_veil.scssc delete mode 100644 themes/next/.sass-cache/88cc8cb7c5f7a17e7e2b4564702ecd1de1c05f8d/_color.scssc delete mode 100644 themes/next/.sass-cache/88cc8cb7c5f7a17e7e2b4564702ecd1de1c05f8d/_tabs.scssc delete mode 100644 themes/next/.sass-cache/88cc8cb7c5f7a17e7e2b4564702ecd1de1c05f8d/_variables.scssc delete mode 100644 themes/next/.sass-cache/93b4dbf556d3755f566d1dfb467110ed299af5dd/_bootstrap_select.scssc delete mode 100644 themes/next/.sass-cache/93b4dbf556d3755f566d1dfb467110ed299af5dd/_ckeditor.scssc delete mode 100644 themes/next/.sass-cache/93b4dbf556d3755f566d1dfb467110ed299af5dd/_datatables.scssc delete mode 100644 themes/next/.sass-cache/93b4dbf556d3755f566d1dfb467110ed299af5dd/_dp.scssc delete mode 100644 themes/next/.sass-cache/93b4dbf556d3755f566d1dfb467110ed299af5dd/_gantt.scssc delete mode 100644 themes/next/.sass-cache/93b4dbf556d3755f566d1dfb467110ed299af5dd/_jquery-ui.scssc delete mode 100644 themes/next/.sass-cache/93b4dbf556d3755f566d1dfb467110ed299af5dd/_plugins.scssc delete mode 100644 themes/next/.sass-cache/93b4dbf556d3755f566d1dfb467110ed299af5dd/_plupload.scssc delete mode 100644 themes/next/.sass-cache/93b4dbf556d3755f566d1dfb467110ed299af5dd/_wdcalendar.scssc delete mode 100644 themes/next/.sass-cache/93b4dbf556d3755f566d1dfb467110ed299af5dd/_wdcalendar_flags.scssc delete mode 100644 themes/next/.sass-cache/adf039464ac9ceb75d55151a8be33fbc7740efdb/_layouteditor.scssc delete mode 100644 themes/next/.sass-cache/adf039464ac9ceb75d55151a8be33fbc7740efdb/_settings.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_alerts.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_badges.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_breadcrumbs.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_button-groups.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_buttons.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_carousel.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_close.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_code.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_component-animations.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_dropdowns.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_forms.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_glyphicons.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_grid.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_input-groups.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_jumbotron.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_labels.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_list-group.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_media.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_mixins.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_modals.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_navbar.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_navs.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_normalize.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_pager.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_pagination.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_panels.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_popovers.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_print.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_progress-bars.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_responsive-embed.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_responsive-utilities.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_scaffolding.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_tables.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_thumbnails.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_tooltip.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_type.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_utilities.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_variables.scssc delete mode 100644 themes/next/.sass-cache/b561ff102df62942cb83f1e3c3713abfd28c05b5/_wells.scssc delete mode 100644 themes/next/.sass-cache/cb32d3f3519a406a1d653b2549fff30ed38f2446/_calendar.scssc delete mode 100644 themes/next/.sass-cache/cb32d3f3519a406a1d653b2549fff30ed38f2446/_calendar_resources.scssc delete mode 100644 themes/next/.sass-cache/cb32d3f3519a406a1d653b2549fff30ed38f2446/_charts.scssc delete mode 100644 themes/next/.sass-cache/cb32d3f3519a406a1d653b2549fff30ed38f2446/_dashboard.scssc delete mode 100644 themes/next/.sass-cache/cb32d3f3519a406a1d653b2549fff30ed38f2446/_home.scssc delete mode 100644 themes/next/.sass-cache/cb32d3f3519a406a1d653b2549fff30ed38f2446/_messages.scssc delete mode 100644 themes/next/.sass-cache/cb32d3f3519a406a1d653b2549fff30ed38f2446/_modcomments.scssc delete mode 100644 themes/next/.sass-cache/cb32d3f3519a406a1d653b2549fff30ed38f2446/_modules.scssc delete mode 100644 themes/next/.sass-cache/cb32d3f3519a406a1d653b2549fff30ed38f2446/_mynotes.scssc delete mode 100644 themes/next/.sass-cache/cb32d3f3519a406a1d653b2549fff30ed38f2446/_newsletter.scssc delete mode 100644 themes/next/.sass-cache/cb32d3f3519a406a1d653b2549fff30ed38f2446/_pdfmaker.scssc delete mode 100644 themes/next/.sass-cache/cb32d3f3519a406a1d653b2549fff30ed38f2446/_reports.scssc delete mode 100644 themes/next/.sass-cache/cb32d3f3519a406a1d653b2549fff30ed38f2446/_rss.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/_animations.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/_autocomplete.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/_buttons.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/_calculator.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/_clock.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/_detailview.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/_droparea.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/_editreport.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/_eventspop.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/_fancybox.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/_fonts.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/_history.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/_icons.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/_kanban.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/_lateralmenu.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/_listview.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/_notification.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/_popup.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/_progressbar.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/_reminder.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/_settings.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/_simplelistview.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/_tables.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/_turbolift.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/_utilities.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/_vte_bootstrap.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/_vte_material.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/_vte_materialize.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/_vte_style.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/_wizard.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/datetimepicker.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/dp.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/dp_dm.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/install.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/jquery-ui.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/jquery.dropdown.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/morphsuit.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/processmaker.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/recover.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/reportpdf.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/reportprint.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/style.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/style_dm.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/style_login.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/style_print.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/vte_bootstrap.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/vte_bootstrap_dm.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/vte_materialize.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/vte_materialize_dm.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/wdcalendar.scssc delete mode 100644 themes/next/.sass-cache/d1835c4339c295d6fd6b242be1565f51bef26bd1/wdcalendar_dm.scssc delete mode 100644 themes/next/.sass-cache/e82f16f8d130e5aa68828a5e1fd7c01d4bde0dbb/_alerts.scssc delete mode 100644 themes/next/.sass-cache/e82f16f8d130e5aa68828a5e1fd7c01d4bde0dbb/_buttons.scssc delete mode 100644 themes/next/.sass-cache/e82f16f8d130e5aa68828a5e1fd7c01d4bde0dbb/_cards.scssc delete mode 100644 themes/next/.sass-cache/e82f16f8d130e5aa68828a5e1fd7c01d4bde0dbb/_checkboxes.scssc delete mode 100644 themes/next/.sass-cache/e82f16f8d130e5aa68828a5e1fd7c01d4bde0dbb/_colors.scssc delete mode 100644 themes/next/.sass-cache/e82f16f8d130e5aa68828a5e1fd7c01d4bde0dbb/_core.scssc delete mode 100644 themes/next/.sass-cache/e82f16f8d130e5aa68828a5e1fd7c01d4bde0dbb/_dialogs.scssc delete mode 100644 themes/next/.sass-cache/e82f16f8d130e5aa68828a5e1fd7c01d4bde0dbb/_dividers.scssc delete mode 100644 themes/next/.sass-cache/e82f16f8d130e5aa68828a5e1fd7c01d4bde0dbb/_icons-material-design.scssc delete mode 100644 themes/next/.sass-cache/e82f16f8d130e5aa68828a5e1fd7c01d4bde0dbb/_icons.scssc delete mode 100644 themes/next/.sass-cache/e82f16f8d130e5aa68828a5e1fd7c01d4bde0dbb/_inputs.scssc delete mode 100644 themes/next/.sass-cache/e82f16f8d130e5aa68828a5e1fd7c01d4bde0dbb/_labels.scssc delete mode 100644 themes/next/.sass-cache/e82f16f8d130e5aa68828a5e1fd7c01d4bde0dbb/_lists.scssc delete mode 100644 themes/next/.sass-cache/e82f16f8d130e5aa68828a5e1fd7c01d4bde0dbb/_mixins-shared.scssc delete mode 100644 themes/next/.sass-cache/e82f16f8d130e5aa68828a5e1fd7c01d4bde0dbb/_mixins-utilities.scssc delete mode 100644 themes/next/.sass-cache/e82f16f8d130e5aa68828a5e1fd7c01d4bde0dbb/_mixins.scssc delete mode 100644 themes/next/.sass-cache/e82f16f8d130e5aa68828a5e1fd7c01d4bde0dbb/_navbar.scssc delete mode 100644 themes/next/.sass-cache/e82f16f8d130e5aa68828a5e1fd7c01d4bde0dbb/_panels.scssc delete mode 100644 themes/next/.sass-cache/e82f16f8d130e5aa68828a5e1fd7c01d4bde0dbb/_plugin-dropdownjs.scssc delete mode 100644 themes/next/.sass-cache/e82f16f8d130e5aa68828a5e1fd7c01d4bde0dbb/_plugin-nouislider.scssc delete mode 100644 themes/next/.sass-cache/e82f16f8d130e5aa68828a5e1fd7c01d4bde0dbb/_plugin-selectize.scssc delete mode 100644 themes/next/.sass-cache/e82f16f8d130e5aa68828a5e1fd7c01d4bde0dbb/_plugin-snackbarjs.scssc delete mode 100644 themes/next/.sass-cache/e82f16f8d130e5aa68828a5e1fd7c01d4bde0dbb/_popups.scssc delete mode 100644 themes/next/.sass-cache/e82f16f8d130e5aa68828a5e1fd7c01d4bde0dbb/_progress.scssc delete mode 100644 themes/next/.sass-cache/e82f16f8d130e5aa68828a5e1fd7c01d4bde0dbb/_radios.scssc delete mode 100644 themes/next/.sass-cache/e82f16f8d130e5aa68828a5e1fd7c01d4bde0dbb/_shadows.scssc delete mode 100644 themes/next/.sass-cache/e82f16f8d130e5aa68828a5e1fd7c01d4bde0dbb/_tabs.scssc delete mode 100644 themes/next/.sass-cache/e82f16f8d130e5aa68828a5e1fd7c01d4bde0dbb/_togglebutton.scssc delete mode 100644 themes/next/.sass-cache/e82f16f8d130e5aa68828a5e1fd7c01d4bde0dbb/_variables.scssc delete mode 100644 themes/next/.sass-cache/e82f16f8d130e5aa68828a5e1fd7c01d4bde0dbb/_vtematerial.scssc delete mode 100644 themes/next/.sass-cache/e82f16f8d130e5aa68828a5e1fd7c01d4bde0dbb/_welljumbo.scssc delete mode 100644 themes/next/.sass-cache/e82f16f8d130e5aa68828a5e1fd7c01d4bde0dbb/material.scssc delete mode 100644 themes/softed/.sass-cache/06967ba69782d6c801d59dfc24632b576463c614/_jquery-ui.scssc delete mode 100644 themes/softed/.sass-cache/06967ba69782d6c801d59dfc24632b576463c614/_wdcalendar.scssc delete mode 100644 themes/softed/.sass-cache/06967ba69782d6c801d59dfc24632b576463c614/_wdcalendar_flags.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_alerts.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_badges.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_breadcrumbs.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_button-groups.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_buttons.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_carousel.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_close.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_code.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_component-animations.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_dropdowns.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_forms.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_glyphicons.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_grid.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_input-groups.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_jumbotron.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_labels.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_list-group.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_media.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_mixins.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_modals.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_navbar.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_navs.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_normalize.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_pager.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_pagination.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_panels.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_popovers.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_print.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_progress-bars.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_responsive-embed.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_responsive-utilities.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_scaffolding.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_tables.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_thumbnails.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_tooltip.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_type.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_utilities.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_variables.scssc delete mode 100644 themes/softed/.sass-cache/0b38a255beb92412bf7aef911e54e7dec2f956ff/_wells.scssc delete mode 100644 themes/softed/.sass-cache/259e0ebb933cd570427a1e1d9b49f65530527db7/_layouteditor.scssc delete mode 100644 themes/softed/.sass-cache/259e0ebb933cd570427a1e1d9b49f65530527db7/_settings.scssc delete mode 100644 themes/softed/.sass-cache/27ac4d5098dcad26e8f54736249cd1985c544e1c/_alerts.scssc delete mode 100644 themes/softed/.sass-cache/27ac4d5098dcad26e8f54736249cd1985c544e1c/_buttons.scssc delete mode 100644 themes/softed/.sass-cache/27ac4d5098dcad26e8f54736249cd1985c544e1c/_cards.scssc delete mode 100644 themes/softed/.sass-cache/27ac4d5098dcad26e8f54736249cd1985c544e1c/_checkboxes.scssc delete mode 100644 themes/softed/.sass-cache/27ac4d5098dcad26e8f54736249cd1985c544e1c/_colors.scssc delete mode 100644 themes/softed/.sass-cache/27ac4d5098dcad26e8f54736249cd1985c544e1c/_core.scssc delete mode 100644 themes/softed/.sass-cache/27ac4d5098dcad26e8f54736249cd1985c544e1c/_dialogs.scssc delete mode 100644 themes/softed/.sass-cache/27ac4d5098dcad26e8f54736249cd1985c544e1c/_dividers.scssc delete mode 100644 themes/softed/.sass-cache/27ac4d5098dcad26e8f54736249cd1985c544e1c/_icons-material-design.scssc delete mode 100644 themes/softed/.sass-cache/27ac4d5098dcad26e8f54736249cd1985c544e1c/_icons.scssc delete mode 100644 themes/softed/.sass-cache/27ac4d5098dcad26e8f54736249cd1985c544e1c/_inputs.scssc delete mode 100644 themes/softed/.sass-cache/27ac4d5098dcad26e8f54736249cd1985c544e1c/_labels.scssc delete mode 100644 themes/softed/.sass-cache/27ac4d5098dcad26e8f54736249cd1985c544e1c/_lists.scssc delete mode 100644 themes/softed/.sass-cache/27ac4d5098dcad26e8f54736249cd1985c544e1c/_mixins-shared.scssc delete mode 100644 themes/softed/.sass-cache/27ac4d5098dcad26e8f54736249cd1985c544e1c/_mixins-utilities.scssc delete mode 100644 themes/softed/.sass-cache/27ac4d5098dcad26e8f54736249cd1985c544e1c/_mixins.scssc delete mode 100644 themes/softed/.sass-cache/27ac4d5098dcad26e8f54736249cd1985c544e1c/_navbar.scssc delete mode 100644 themes/softed/.sass-cache/27ac4d5098dcad26e8f54736249cd1985c544e1c/_panels.scssc delete mode 100644 themes/softed/.sass-cache/27ac4d5098dcad26e8f54736249cd1985c544e1c/_plugin-dropdownjs.scssc delete mode 100644 themes/softed/.sass-cache/27ac4d5098dcad26e8f54736249cd1985c544e1c/_plugin-nouislider.scssc delete mode 100644 themes/softed/.sass-cache/27ac4d5098dcad26e8f54736249cd1985c544e1c/_plugin-selectize.scssc delete mode 100644 themes/softed/.sass-cache/27ac4d5098dcad26e8f54736249cd1985c544e1c/_plugin-snackbarjs.scssc delete mode 100644 themes/softed/.sass-cache/27ac4d5098dcad26e8f54736249cd1985c544e1c/_popups.scssc delete mode 100644 themes/softed/.sass-cache/27ac4d5098dcad26e8f54736249cd1985c544e1c/_progress.scssc delete mode 100644 themes/softed/.sass-cache/27ac4d5098dcad26e8f54736249cd1985c544e1c/_radios.scssc delete mode 100644 themes/softed/.sass-cache/27ac4d5098dcad26e8f54736249cd1985c544e1c/_shadows.scssc delete mode 100644 themes/softed/.sass-cache/27ac4d5098dcad26e8f54736249cd1985c544e1c/_tabs.scssc delete mode 100644 themes/softed/.sass-cache/27ac4d5098dcad26e8f54736249cd1985c544e1c/_togglebutton.scssc delete mode 100644 themes/softed/.sass-cache/27ac4d5098dcad26e8f54736249cd1985c544e1c/_variables.scssc delete mode 100644 themes/softed/.sass-cache/27ac4d5098dcad26e8f54736249cd1985c544e1c/_vtematerial.scssc delete mode 100644 themes/softed/.sass-cache/27ac4d5098dcad26e8f54736249cd1985c544e1c/_welljumbo.scssc delete mode 100644 themes/softed/.sass-cache/27ac4d5098dcad26e8f54736249cd1985c544e1c/material.scssc delete mode 100644 themes/softed/.sass-cache/311e67f8bf38c6578ff84963f8dc393205c640d5/font-awesome.scssc delete mode 100644 themes/softed/.sass-cache/3b6457d0918a0a70d9cd72d2aad59fc476ca4111/_circle.scssc delete mode 100644 themes/softed/.sass-cache/3b6457d0918a0a70d9cd72d2aad59fc476ca4111/_veil.scssc delete mode 100644 themes/softed/.sass-cache/947fa3d44bc53842ffd48e302f089a4ff546bbd1/_animated.scssc delete mode 100644 themes/softed/.sass-cache/947fa3d44bc53842ffd48e302f089a4ff546bbd1/_bordered-pulled.scssc delete mode 100644 themes/softed/.sass-cache/947fa3d44bc53842ffd48e302f089a4ff546bbd1/_core.scssc delete mode 100644 themes/softed/.sass-cache/947fa3d44bc53842ffd48e302f089a4ff546bbd1/_fixed-width.scssc delete mode 100644 themes/softed/.sass-cache/947fa3d44bc53842ffd48e302f089a4ff546bbd1/_icons.scssc delete mode 100644 themes/softed/.sass-cache/947fa3d44bc53842ffd48e302f089a4ff546bbd1/_larger.scssc delete mode 100644 themes/softed/.sass-cache/947fa3d44bc53842ffd48e302f089a4ff546bbd1/_list.scssc delete mode 100644 themes/softed/.sass-cache/947fa3d44bc53842ffd48e302f089a4ff546bbd1/_mixins.scssc delete mode 100644 themes/softed/.sass-cache/947fa3d44bc53842ffd48e302f089a4ff546bbd1/_path.scssc delete mode 100644 themes/softed/.sass-cache/947fa3d44bc53842ffd48e302f089a4ff546bbd1/_rotated-flipped.scssc delete mode 100644 themes/softed/.sass-cache/947fa3d44bc53842ffd48e302f089a4ff546bbd1/_stacked.scssc delete mode 100644 themes/softed/.sass-cache/947fa3d44bc53842ffd48e302f089a4ff546bbd1/_variables.scssc delete mode 100644 themes/softed/.sass-cache/acddc935de6499636a5d640bf69e711e91b2d0f3/_colors.scssc delete mode 100644 themes/softed/.sass-cache/acddc935de6499636a5d640bf69e711e91b2d0f3/_icons.scssc delete mode 100644 themes/softed/.sass-cache/acddc935de6499636a5d640bf69e711e91b2d0f3/_mixins.scssc delete mode 100644 themes/softed/.sass-cache/acddc935de6499636a5d640bf69e711e91b2d0f3/_sdk_overrides.scssc delete mode 100644 themes/softed/.sass-cache/acddc935de6499636a5d640bf69e711e91b2d0f3/_variables.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_autocomplete.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_buttons.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_calculator.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_calendar.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_calendar_resources.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_charts.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_clock.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_dashboard.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_droparea.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_droparea_form.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_editreport.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_eventspop.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_fancybox.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_fonts.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_home.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_icons.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_kanban.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_listview.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_messages.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_modulehome.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_mynotes.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_newsletter.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_notification.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_popup.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_progressbar.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_reminder.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_reports.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_rss.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_simplelistview.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_tables.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_utilities.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_vte_material.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/_wizard.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/datetimepicker.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/dp.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/install.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/jquery-ui.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/jquery.dropdown.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/morphsuit.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/processmaker.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/recover.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/reportpdf.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/reportprint.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/style.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/style_login.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/style_print.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/vte_bootstrap.scssc delete mode 100644 themes/softed/.sass-cache/b51af08a00d7983f6a72fa3d7b6dd0dbbd6f178d/wdcalendar.scssc delete mode 100644 themes/softed/.sass-cache/e2ca3dd3e08d0a395af9846a4cd6a6e2bd401927/_alerts.scssc delete mode 100644 themes/softed/.sass-cache/e2ca3dd3e08d0a395af9846a4cd6a6e2bd401927/_background-variant.scssc delete mode 100644 themes/softed/.sass-cache/e2ca3dd3e08d0a395af9846a4cd6a6e2bd401927/_border-radius.scssc delete mode 100644 themes/softed/.sass-cache/e2ca3dd3e08d0a395af9846a4cd6a6e2bd401927/_buttons.scssc delete mode 100644 themes/softed/.sass-cache/e2ca3dd3e08d0a395af9846a4cd6a6e2bd401927/_center-block.scssc delete mode 100644 themes/softed/.sass-cache/e2ca3dd3e08d0a395af9846a4cd6a6e2bd401927/_clearfix.scssc delete mode 100644 themes/softed/.sass-cache/e2ca3dd3e08d0a395af9846a4cd6a6e2bd401927/_forms.scssc delete mode 100644 themes/softed/.sass-cache/e2ca3dd3e08d0a395af9846a4cd6a6e2bd401927/_gradients.scssc delete mode 100644 themes/softed/.sass-cache/e2ca3dd3e08d0a395af9846a4cd6a6e2bd401927/_grid-framework.scssc delete mode 100644 themes/softed/.sass-cache/e2ca3dd3e08d0a395af9846a4cd6a6e2bd401927/_grid.scssc delete mode 100644 themes/softed/.sass-cache/e2ca3dd3e08d0a395af9846a4cd6a6e2bd401927/_hide-text.scssc delete mode 100644 themes/softed/.sass-cache/e2ca3dd3e08d0a395af9846a4cd6a6e2bd401927/_image.scssc delete mode 100644 themes/softed/.sass-cache/e2ca3dd3e08d0a395af9846a4cd6a6e2bd401927/_labels.scssc delete mode 100644 themes/softed/.sass-cache/e2ca3dd3e08d0a395af9846a4cd6a6e2bd401927/_list-group.scssc delete mode 100644 themes/softed/.sass-cache/e2ca3dd3e08d0a395af9846a4cd6a6e2bd401927/_nav-divider.scssc delete mode 100644 themes/softed/.sass-cache/e2ca3dd3e08d0a395af9846a4cd6a6e2bd401927/_nav-vertical-align.scssc delete mode 100644 themes/softed/.sass-cache/e2ca3dd3e08d0a395af9846a4cd6a6e2bd401927/_opacity.scssc delete mode 100644 themes/softed/.sass-cache/e2ca3dd3e08d0a395af9846a4cd6a6e2bd401927/_pagination.scssc delete mode 100644 themes/softed/.sass-cache/e2ca3dd3e08d0a395af9846a4cd6a6e2bd401927/_panels.scssc delete mode 100644 themes/softed/.sass-cache/e2ca3dd3e08d0a395af9846a4cd6a6e2bd401927/_progress-bar.scssc delete mode 100644 themes/softed/.sass-cache/e2ca3dd3e08d0a395af9846a4cd6a6e2bd401927/_reset-filter.scssc delete mode 100644 themes/softed/.sass-cache/e2ca3dd3e08d0a395af9846a4cd6a6e2bd401927/_reset-text.scssc delete mode 100644 themes/softed/.sass-cache/e2ca3dd3e08d0a395af9846a4cd6a6e2bd401927/_resize.scssc delete mode 100644 themes/softed/.sass-cache/e2ca3dd3e08d0a395af9846a4cd6a6e2bd401927/_responsive-visibility.scssc delete mode 100644 themes/softed/.sass-cache/e2ca3dd3e08d0a395af9846a4cd6a6e2bd401927/_size.scssc delete mode 100644 themes/softed/.sass-cache/e2ca3dd3e08d0a395af9846a4cd6a6e2bd401927/_tab-focus.scssc delete mode 100644 themes/softed/.sass-cache/e2ca3dd3e08d0a395af9846a4cd6a6e2bd401927/_table-row.scssc delete mode 100644 themes/softed/.sass-cache/e2ca3dd3e08d0a395af9846a4cd6a6e2bd401927/_text-emphasis.scssc delete mode 100644 themes/softed/.sass-cache/e2ca3dd3e08d0a395af9846a4cd6a6e2bd401927/_text-overflow.scssc delete mode 100644 themes/softed/.sass-cache/e2ca3dd3e08d0a395af9846a4cd6a6e2bd401927/_vendor-prefixes.scssc delete mode 100644 themes/softed/.sass-cache/e77c6d21fb60f6104bfee9b9b2c2d2fbf3bfff92/_align.scssc delete mode 100644 themes/softed/.sass-cache/e77c6d21fb60f6104bfee9b9b2c2d2fbf3bfff92/_bootstrap_utilities.scssc delete mode 100644 themes/softed/.sass-cache/ea0db1ed22ee08e4f5b96de64e8925b832e2ffd8/_bootstrap.scssc create mode 100644 vtlib/ModuleDir/20.04.3/DetailViewAjax.php create mode 100644 vtlib/ModuleDir/20.04.3/EditView.php create mode 100644 vtlib/ModuleDir/20.04.3/ModuleFile.js create mode 100644 vtlib/ModuleDir/20.04.3/ModuleFile.php create mode 100644 vtlib/ModuleDir/20.04.3/ModuleFileAjax.php create mode 100644 vtlib/ModuleDir/20.04.3/Save.php create mode 100644 vtlib/ModuleDir/20.04.3/language/en_us.lang.php create mode 100644 vtlib/ModuleDir/20.04.3/language/it_it.lang.php diff --git a/htaccess.txt b/htaccess.txt index c105bc7..b3d3c45 100644 --- a/htaccess.txt +++ b/htaccess.txt @@ -1,26 +1,50 @@ - - - ExpiresActive On - ExpiresDefault "access plus 10 years" - - - - RewriteEngine On - - RewriteCond %{REQUEST_FILENAME} !-f - RewriteCond %{REQUEST_FILENAME} !-d - RewriteRule ^(.*\.(js|css))$ smartoptimizer/?$1 - - - RewriteCond %{REQUEST_FILENAME} -f - RewriteRule ^(.*\.(js|css|html?|xml|txt))$ smartoptimizer/?$1 - - - - RewriteCond %{REQUEST_FILENAME} -f - RewriteRule ^(.*\.(gif|jpg|jpeg|png|swf|css|js|html?|xml|txt|ico))$ smartoptimizer/?$1 - - - - FileETag none - +# crmv@272658 + + # disable access to composer files, to avoid library enumeration + Order Allow,Deny + Deny from all + + +# crmv@301301 +# disable the server signature for server generated pages +# beware: this is not hiding the header "Server" +ServerSignature Off + +# crmv@343310 + + + + Header set Content-Type "application/manifest+json" + + + +# crmv@343310e + +# Enable this if you want to use smartoptimizer (can be buggy with some files) +# +# +# +# ExpiresActive On +# ExpiresDefault "access plus 10 years" +# +# +# +# RewriteEngine On +# +# RewriteCond %{REQUEST_FILENAME} !-f +# RewriteCond %{REQUEST_FILENAME} !-d +# RewriteRule ^(.*\.(js|css))$ smartoptimizer/?$1 +# +# +# RewriteCond %{REQUEST_FILENAME} -f +# RewriteRule ^(.*\.(js|css|html?|xml|txt))$ smartoptimizer/?$1 +# +# +# +# RewriteCond %{REQUEST_FILENAME} -f +# RewriteRule ^(.*\.(gif|jpg|jpeg|png|swf|css|js|html?|xml|txt|ico))$ smartoptimizer/?$1 +# +# +# +# FileETag none +# diff --git a/include/Webservices/Language.php b/include/Webservices/Language.php index 47f596f..a49edd0 100644 --- a/include/Webservices/Language.php +++ b/include/Webservices/Language.php @@ -15,13 +15,21 @@ function vte_get_labels($username, $language, $module){ $language = $user->default_language; } - $query = "SELECT label,trans_label - FROM sdk_language - WHERE language = ? "; - if($module != ''){ - $query .= " AND module = '$module' "; + // crmv@341207 + $query = " + SELECT label,trans_label + FROM sdk_language + WHERE language = ? + "; + $params = [$language]; + + if ($module != '') { + $query .= " AND module = ? "; + $params[] = $module; } - $res = $adb->pquery($query, array($language)); + + $res = $adb->pquery($query, $params); + // crmv@341207e $labels = Array(); diff --git a/include/utils/GDPRWS/templates/privacy_policy.html b/include/utils/GDPRWS/templates/privacy_policy.html index 518e981..b55dce8 100644 --- a/include/utils/GDPRWS/templates/privacy_policy.html +++ b/include/utils/GDPRWS/templates/privacy_policy.html @@ -1,252 +1 @@ -

INFORMATIVA PRIVACY FINALIZZATA ALL’AUTORIZZAZIONE AL TRATTAMENTO DI DATI PERSONALI

- -

 

- -

Ai sensi del combinato disposto del Decreto Legislativo 30 giugno 2003, n. 196 recante “Codice in materia di protezione dei dati personali” (Testo Unico in materia di Privacy)

- -

e del Regolamento (UE) 2016/679 del Parlamento Europeo e del Consiglio del 27 aprile 2016

- -

relativo alla protezione delle persone fisiche con riguardo al trattamento dei dati personali

- -

nonché alla libera circolazione di tali dati da qui in poi anche soltanto “GDPR

- -

 

- -

 

- -

P R E M E S S O

- -

 

- -
    -
  1. -

    che il GDPR, pubblicato nella Gazzetta Ufficiale dell’Unione Europea (GUUE) L. 119 del 4 maggio 2016 e, ai sensi dell’art. 99 del GDPR, è entrato in vigore il 25 maggio 2016 e si applicherà obbligatoriamente in ciascuno Stato membro a far data dal 25 maggio 2018;

    -
  2. -
- -

 

- -
    -
  1. -

    che, fino all’emanazione di provvedimenti diretti ad adeguare il quadro normativo nazionale alle disposizioni del Regolamento UE n. 679/2016 (GDPR), si rende necessaria, anche, l’applicazione del Codice della Privacy (D.lgs.n.196/2003), ancorché, nei limiti di quanto ciò non risulterà incompatibile con le previsioni contenute nel GDPR stesso;

    -
  2. -
- -

 

- -
    -
  1. -

    che, pertanto, fermo restando quanto già previsto e disciplinato dal D.lgs.n.196/2003, il GDPR, con le eccezioni previste all’articolo 2, trova applicazione al trattamento interamente o parzialmente automatizzato di dati personali e al trattamento non automatizzato di dati personali contenuti in un archivio o destinati a figurarvi;

    -
  2. -
- -

 

- -
    -
  1. -

    che, secondo quanto previsto dall’art. 5 GDPR (“Principi applicabili al trattamento di dati personali”), i dati personali dell’interessato sono trattati secondo principi di

    -
  2. -
- -

 

- - - -

 

- -
    -
  1. -

    che, in particolare, il trattamento è “lecito” se, e nella misura in cui, cfr. art. 6 GDPR (“Liceità del trattamento”) ricorra almeno una delle seguenti condizioni:

    -
  2. -
- -

 

- - - -

 

- -

tutto quanto sopra premesso, in ottemperanza al disposto normativo di cui all’art. 13 (“Informazioni da fornire qualora i dati personali siano raccolti presso l’interessato”) – Sezione 2 (“Informazioni e accesso ai dati personali”) del GDPR, e di cui all’art. 13 (“Informativa”) del D.lgs.n.196/2003

- -

 

- -

Identificazione del “Titolare del Trattamento”

- -

 

- -

(cfr. definizione “Titolare del trattamento” punto 7 – art. 4 “Definizioni” GDPR: “persona fisica o giuridica, autorità pubblica, il servizio o altro organismo che, singolarmente o insieme ad altri, determina le finalità e i mezzi del trattamento di dati personali” e definizione “Titolare” lettera f) – art. 4 “Definizioni” D.lgs.n.196/2003: “la persona fisica, la persona giuridica, la pubblica amministrazione e qualsiasi altro ente associazione od organismo, cui competono anche unitamente a ad altro titolare, le decisioni in ordine alle finalità, alle modalità del trattamento di dati personali e agli strumenti utilizzati, ivi compreso il profilo della sicurezza”):

- -

 

- -

Oggetto e Modalità del Trattamento:

- -

 

- -

(cfr. definizione “Trattamento” – art. 4 “Definizioni” GDPR: “qualsiasi operazione o insieme di operazioni, compiute con o senza l’ausilio di processi automatizzati e applicati a dati personali o insiemi di dati personali, come la raccolta, la registrazione, l’organizzazione, la strutturazione, la conservazione, l’adattamento o la modifica, l’estrazione, la consultazione, l’uso, la comunicazione meditante trasmissione, diffusione o qualsiasi altra forma di messa a disposizione, il raffronto o l’interconnessione, la limitazione, la cancellazione o la distruzione” e definizione “Trattamento” – lettera a) art. 4, D.lgs.n.196/2003: “qualunque operazione o complesso di operazioni, effettuati anche senza l’ausilio di strumenti elettronici, concernenti la raccolta, la registrazione, l’organizzazione, la conservazione, la consultazione, l’elaborazione, la modificazione, la selezione, l’estrazione, il raffronto, l’utilizzo, l’interconnessione, il blocco, la comunicazione, la diffusione, la cancellazione e la distruzione di dati, anche, se non registrati in una banca dati” cfr. definizione di “Dato Personalepunto 1 – art. 4 “Definizioni” GDPR: “qualsiasi informazione riguardante una persona identificata o identificabile (“interessato”) considerandosi per “identificabile” la persona fisica che può essere identificata, direttamente o indirettamente, con particolare riferimento a un identificativo come il nome, un numero di identificazione, dati relativi all’ubicazione, un identificativo online o a uno o più elementi caratteristici della sua identità fisica, fisiologica, generica, psichica, economica, culturale o sociale”); e definizione “Dato Personale” – lettera b), art. 4, D.lgs.n.196/2003: “qualunque informazione relativa a persona fisica, persona giuridica, ente od associazione, identificati o identificabili, anche indirettamente, mediante riferimento a qualsiasi altra informazione, ivi compreso un numero di identificazione personale”;

- -

 

- -

Il titolare tratta i dati personali identificativi forniti dall’interessato.

- -

Il trattamento dei dati personali è realizzato sulla base delle operazioni indicate all’articolo 4, n.2), GDPR e dall’art. 4, lettera a), D.lgs.n.196/2003 e precisamente: raccolta, anche, attraverso l’ausilio di strumenti elettronici ed automatizzati; registrazione per scopi determinati, espliciti e legittimi ed utilizzo in ulteriori operazioni di trattamento, comunque, compatibili con tali scopi; organizzazione, conservazione, consultazione, elaborazione, modificazione, selezione, estrazione, raffronto, utilizzo, interconnessione, blocco, comunicazione, cancellazione e distruzione dei dati.

- -

I dati verranno trattati nel rispetto della sicurezza e riservatezza necessaire e saranno sottoposti a trattamento sia cartaceo che elettronico e/o automatizzato.

- -

Il Titolare tratterà i dati personali per il tempo necessario per adempiere alle finalità di cui sopra avendo cura di conservarli, comunque, nei limiti di quanto di seguito specificato.

- -

 

- -

Finalità del trattamento a cui sono destinati i dati personali:

- -

 

- -

I dati vengono qui raccolti e trattati:

- -

 

- -
    -
  1. -

    senza consenso espresso (cfr. art. 24, D.lgs.n.196/2003 e cfr. art. 6 GDPR), per le seguenti finalità di Servizio:

    -
  2. -
- -

 

- - - -

 

- -
    -
  1. -

    solo previo specifico e distinto consenso (cfr. art. 7 GDPR), per le seguenti finalità di Marketing:

    -
  2. -
- -

 

- - - -

 

- -

Precisazioni in ordine al trattamento per “Finalità di Marketing” e di “Profilazione

- -

 

- -

A beneficio dell’interessato, si precisa quanto segue:

- -

 

- -
    -
  1. -

    I dati personali raccolti saranno trattati anche per perseguire finalità di promozione commerciale, comunicazione pubblicitaria, sollecitazione a comportamenti di acquisto, ricerche di mercato, sondaggi (anche telefonici, on-line o mediante formulari), elaborazioni statistiche (in forma identificativa), altre ricerche campionarie di marketing in senso lato di prodotti e/o servizi riferibili alla Società (di seguito, complessivamente, “Trattamento per Finalità di Marketing”) sia attraverso marketing “generico” sia “profilatoconseguente cioè all’ “attività di profilazione(cfr. definizione “Profilazione” – art. 4 “Definizioni”: “qualsiasi forma di trattamento automatizzato di dati personali consistente nell’utilizzo di tali dati personali per valutare determinati aspetti personali relativi a una persona fisica […]”)

    -
  2. -
  3. -

    In ogni caso, anche laddove l’interessato abbia prestato il consenso, resterà comunque libero in ogni momento di revocarlo, modificando le impostazioni dei consensi nell’area “Comunicazione e Privacy” del sito. A seguito della ricezione di tale richiesta di opt-out, il Titolare del Trattamento procederà tempestivamente alla rimozione e cancellazione dei dati dai database utilizzati per il “Trattamento per Finalità di Marketing” e di “Profilazione” e informerà per le medesime finalità di cancellazione eventuali terzi cui i dati siano stati comunicati.

    -
  4. -
  5. -

    Nel caso sia richiesta – per le finalità sopra illustrate – l’indicazione del numero di utenza telefonica dell’interessato e questi abbia prestato il consenso opzionale e specifico (che copre anche il trattamento di tale dato personale) per le finalità di promozione commerciale, di marketing e di profilazione sopra illustrate, il Titolare del Trattamento informa l’interessato che potrà legalmente trattare l’utenza telefonica per scopi marketing e di profilazione anche se essa risulti iscritta al Registro Pubblico delle Opposizioni, in quanto tratta da fonte diversa dagli elenchi telefonici pubblici e coperta da specifico consenso, salvo il diritto di opposizione successiva al trattamento ove sia formalmente revocato il consenso.

    -
  6. -
  7. -

    Si informa specificatamente e separatamente, come richiesto dall’art. 21 del GDPR che l'interessato ha il diritto di opporsi in qualsiasi momento al trattamento dei dati personali che lo riguardano effettuato per tali finalità e che qualora l'interessato si opponga al trattamento per finalità di marketing diretto e profilazione, i dati personali non potranno più essere oggetto di trattamento per tali finalità.

    -
  8. -
- -

 

- -

Diritti dell’interessato:

- -

 

- -

In conformità a quanto previsto dall’art. 7, D.lgs.n.196/2003 e GDPR l’interessato potrà esercitare i seguenti diritti

- -

 

- - - -

 

+Before usage read: https://usermanual.vtenext.com/books/user-manual-vtenext-2205/page/71-how-to-create-contact-campaigns diff --git a/include/utils/RequestHandler.php b/include/utils/RequestHandler.php index 3f52433..47db1b1 100644 --- a/include/utils/RequestHandler.php +++ b/include/utils/RequestHandler.php @@ -8,106 +8,219 @@ class RequestHandler { - // crmv@177677 - /** - * Return a "unique" id for each requests - * Remember: not guaranteed to be 100% unique, but enough for common use - */ - static public function getId() { - static $requestId = null; - if (is_null($requestId)) { - global $application_unique_key; - $cliflag = (php_sapi_name() == 'cli' ? 'C' : 'W'); - $prefix = substr($application_unique_key, 0, 2) . $cliflag; - $requestId = uniqid($prefix, true); - } - return $requestId; - } - // crmv@177677e + // crmv@177677 + /** + * Return a "unique" id for each requests + * Remember: not guaranteed to be 100% unique, but enough for common use + */ + static public function getId() { + static $requestId = null; + if (is_null($requestId)) { + global $application_unique_key; + $cliflag = (php_sapi_name() == 'cli' ? 'C' : 'W'); + $prefix = substr($application_unique_key, 0, 2) . $cliflag; + $requestId = uniqid($prefix, true); + } + return $requestId; + } + // crmv@177677e - static public function processCompressedRequest() { - $compressedData = $_REQUEST['compressedData'] ?? ''; - - if ($compressedData === 'true' && isset($_FILES['payload'])) { - if ($_FILES['payload']['error'] != 0) throw new Exception('File upload error'); - - $fmt = $_REQUEST['compressFormat']; - $serial = $_REQUEST['serializeFormat']; + static public function processCompressedRequest() { + $compressedData = $_REQUEST['compressedData'] ?? ''; - // uncompress - if ($fmt === 'gzip') { - $zp = gzopen($_FILES['payload']['tmp_name'], 'rb'); - if ($zp) { - $rawdata = ''; - while (!gzeof($zp)) { - $rawdata .= gzread($zp, 10000); - } - gzclose($zp); - } else { - throw new Exception('Unable to open compressed data'); - } - } else { - throw new Exception('Unknown compression format'); - } - - // decode - $payload = null; - if ($serial === 'serialize') { - // beware, this is still subjected to max_input_vars :( - // see http://php.net/manual/en/function.parse-str.php#108642 - parse_str($rawdata, $payload); - } elseif ($serial === 'json') { - $payload = json_decode($rawdata, true); - } else { - throw new Exception('Unknown serialization format'); - } - - // merge with request - if (is_array($payload)) { - // crmv@162674 - // Using replace to keep numeric keys - $_REQUEST = array_replace($_REQUEST, $payload); - if ($_SERVER['REQUEST_METHOD'] === 'POST') { - $_POST = array_replace($_POST, $payload); - } - // crmv@162674e - } - } - } - - static public function outputRedirect($url, $rformat = null) { - if (!$rformat) $rformat = $_REQUEST['responseFormat']; - - if ($rformat === 'json') { - $result = array('success' => true, 'redirect' => $url); - header('Content-type: application/json'); - echo json_encode($result); - exit(); - } - - header("Location: $url"); - } - - // crmv@171581 - static public function getCSRFToken() { - $VP = VTEProperties::getInstance(); - if ($VP->getProperty('security.csrf.enabled')) { - $VTECSRF = new VteCsrf(); - return $VTECSRF->csrf_get_tokens(); - } else { - return ''; - } - } + if ($compressedData === 'true' && isset($_FILES['payload'])) { + if ($_FILES['payload']['error'] != 0) throw new Exception('File upload error'); - static public function validateCSRFToken() { - $VP = VTEProperties::getInstance(); - if ($VP->getProperty('security.csrf.enabled')) { - $VTECSRF = new VteCsrf(); - return $VTECSRF->csrf_check(); - } else { - return true; - } - } - // crmv@171581e - -} \ No newline at end of file + $fmt = $_REQUEST['compressFormat']; + $serial = $_REQUEST['serializeFormat']; + + // uncompress + if ($fmt === 'gzip') { + $zp = gzopen($_FILES['payload']['tmp_name'], 'rb'); + if ($zp) { + $rawdata = ''; + while (!gzeof($zp)) { + $rawdata .= gzread($zp, 10000); + } + gzclose($zp); + } else { + throw new Exception('Unable to open compressed data'); + } + } else { + throw new Exception('Unknown compression format'); + } + + // decode + $payload = null; + if ($serial === 'serialize') { + // beware, this is still subjected to max_input_vars :( + // see http://php.net/manual/en/function.parse-str.php#108642 + parse_str($rawdata, $payload); + } elseif ($serial === 'json') { + $payload = json_decode($rawdata, true); + } else { + throw new Exception('Unknown serialization format'); + } + + // merge with request + if (is_array($payload)) { + // crmv@162674 + // Using replace to keep numeric keys + $_REQUEST = array_replace($_REQUEST, $payload); + if ($_SERVER['REQUEST_METHOD'] === 'POST') { + $_POST = array_replace($_POST, $payload); + } + // crmv@162674e + } + } + } + + static public function outputRedirect($url, $rformat = null) { + if (!$rformat) $rformat = $_REQUEST['responseFormat']; + + if ($rformat === 'json') { + $result = array('success' => true, 'redirect' => $url); + header('Content-type: application/json'); + echo json_encode($result); + exit(); + } + + header("Location: $url"); + } + + // crmv@171581 + static public function getCSRFToken() { + $VP = VTEProperties::getInstance(); + if ($VP->getProperty('security.csrf.enabled')) { + $VTECSRF = new VteCsrf(); + return $VTECSRF->csrf_get_tokens(); + } else { + return ''; + } + } + + static public function validateCSRFToken() { + $VP = VTEProperties::getInstance(); + if ($VP->getProperty('security.csrf.enabled')) { + $VTECSRF = new VteCsrf(); + return $VTECSRF->csrf_check(); + } else { + return true; + } + } + // crmv@171581e + + //crmv@211287 + static public function paramGet($name){ + return $_GET[$name]; + } + + static public function paramPost($name){ + return $_POST[$name]; + } + + static public function param($name){ + return $_REQUEST[$name]; + } + + static public function filterIntParam($value){ + return intval($value); + } + + static public function filterStringParam($value, $maxLength=100){ + return substr(strip_tags($value), 0, $maxLength); + } + + static public function filterHtmlParam($value){ + return vtlib_purify($value); + } + + static public function filterFloatParam($value){ + return floatval($value); + } + + static public function filterBoolParam($value){ + return filter_var($value, FILTER_VALIDATE_BOOLEAN); + } + static public function filterModuleParam($value){ + return preg_replace("/[^a-zA-Z0-9_\-\s]/", '', $value);//allow only letters, numbers and '-' '_' ' ' + } + + static public function paramInt($name){ + return self::filterIntParam(self::param($name)); + } + + static public function paramString($name, $maxLength = 100){ + return self::filterStringParam(self::param($name), $maxLength); + } + + static public function paramFloat($name){ + return self::filterFloatParam(self::param($name)); + } + + static public function paramHtml($name){ + return self::filterHtmlParam(self::param($name)); + } + + static public function paramBool($name){ + return self::filterBoolParam(self::param($name)); + } + + static public function paramGetInt($name){ + return self::filterIntParam(self::paramGet($name)); + } + + static public function paramGetString($name, $maxLength = 100){ + return self::filterStringParam(self::paramGet($name), $maxLength); + } + + static public function paramGetFloat($name){ + return self::filterFloatParam(self::paramGet($name)); + } + + static public function paramGetHtml($name){ + return self::filterHtmlParam(self::paramGet($name)); + } + + static public function paramGetBool($name){ + return self::filterBoolParam(self::paramGet($name)); + } + + static public function paramPostInt($name){ + return self::filterIntParam(self::paramPost($name)); + } + + static public function paramPostString($name, $maxLength = 100){ + return self::filterStringParam(self::paramPost($name), $maxLength); + } + + static public function paramPostFloat($name){ + return self::filterFloatParam(self::paramPost($name)); + } + + static public function paramPostHtml($name){ + return self::filterHtmlParam(self::paramPost($name)); + } + + static public function paramPostBool($name){ + return self::filterBoolParam(self::paramPost($name)); + } + + static public function paramModule($name){ + return self::filterModuleParam(self::param($name)); + } + + static public function paramAction($name){ + return self::filterModuleParam(self::param($name)); + } + + static public function paramField($name){ + return self::filterModuleParam(self::param($name)); + } + + static public function paramParentTab($name){ + return self::filterModuleParam(self::param($name)); + } + //crmv@211287 + +} diff --git a/include/utils/UserAuthtoken.php b/include/utils/UserAuthtoken.php index 9099d2b..066c82a 100644 --- a/include/utils/UserAuthtoken.php +++ b/include/utils/UserAuthtoken.php @@ -9,7 +9,7 @@ function getUserAuthtokenKey($type,$user_id,$seconds_to_expire, $securetoken = f global $adb; emptyUserAuthtokenKey($type,$user_id); //crmv@29377 - //genera un token più sicuro + //genera un token pi? sicuro if ($securetoken){ $authToken = md5(crypt(strval(microtime(true)+(mt_rand(0, 10000) / 10.0)).strval($user_id).$type)); // crmv@179766 } else { @@ -26,26 +26,28 @@ function getUserAuthtokenKey($type,$user_id,$seconds_to_expire, $securetoken = f } } -function validateUserAuthtokenKey($type,$key) { +// crmv@341733: always check key as string, move check into query +function validateUserAuthtokenKey($type, $key) { global $adb; $tmp = Zend_Json::decode(base64_decode($key)); $user_id = (int)$tmp['userid']; - $token = $tmp['token']; - $sql_d = "delete from vte_userauthtoken where type=? and userid=? and expiretime < ?"; - $result_d = $adb->pquery($sql_d,array($type,$user_id,time())); - $sql = "select * from vte_userauthtoken where type=? and userid=? and expiretime >= ?"; - $result = $adb->pquery($sql,array($type,$user_id,time())); - if($result != null && isset($result) && $adb->num_rows($result)>0){ - $token_saved = $adb->query_result($result,0,'token'); - if ($token_saved == $token) { - return $user_id; - } + $token = strval($tmp['token']); + + $sql_d = "delete from vte_userauthtoken where type = ? and userid = ? and expiretime < ?"; + $result_d = $adb->pquery($sql_d, [$type, $user_id, time()]); + + $sql = "select * from vte_userauthtoken where type = ? and userid = ? and token = ? and expiretime >= ?"; + $result = $adb->pquery($sql, [$type, $user_id, $token, time()]); + + if ($result && $adb->num_rows($result) > 0) { + return $user_id; } return false; } +// crmv@341733e function emptyUserAuthtokenKey($type,$user_id) { global $adb; $sql = "delete from vte_userauthtoken where type=? and userid=?"; $adb->pquery($sql,array($type,$user_id)); -} \ No newline at end of file +} diff --git a/modules/Calendar/ActivityAjax.php b/modules/Calendar/ActivityAjax.php index d64e1b2..83afdaf 100644 --- a/modules/Calendar/ActivityAjax.php +++ b/modules/Calendar/ActivityAjax.php @@ -4,9 +4,11 @@ * SPDX-License-Identifier: AGPL-3.0-only ************************************/ +require_once('include/utils/utils.php'); require_once("modules/Calendar/calendarLayout.php"); require_once("modules/Calendar/Calendar.php"); + global $theme,$mod_strings,$app_strings, $current_language,$currentModule,$current_user; global $adb, $table_prefix; @@ -178,7 +180,10 @@ if((isset($_REQUEST['type']) && $_REQUEST['type'] !='') || (isset($_REQUEST['n_t echo constructTodoListView($todo_list,$calendar_arr,$subtab,$navigation_arr)."####".getTodoInfo($calendar_arr,'listcnt'); } } elseif($type == 'view') { - require_once('modules/Calendar/'.$_REQUEST['file'].'.php'); + // crmv@345820 + $reqfile = preg_replace("/[^a-zA-Z0-9_\-\/]/", '', $_REQUEST['file']); + require_once("modules/Calendar/{$reqfile}.php"); + // crmv@345820e } else { die("View option is not defined"); } diff --git a/modules/Calendar/wdCalendar.php b/modules/Calendar/wdCalendar.php index 6ed5b58..43d2ce7 100644 --- a/modules/Calendar/wdCalendar.php +++ b/modules/Calendar/wdCalendar.php @@ -26,6 +26,9 @@ if ($theme === 'next') { } // crmv@187406e -include("modules/Calendar/wdCalendar/$file.php"); +// crmv@345820 +$file = preg_replace("/[^a-zA-Z0-9_\-\/]/", '', $file); +include("modules/Calendar/wdCalendar/{$file}.php"); +// crmv@345820e //crmv@17001e ?> \ No newline at end of file diff --git a/modules/Fax/EditView.php b/modules/Fax/EditView.php index 6577118..ef76deb 100644 --- a/modules/Fax/EditView.php +++ b/modules/Fax/EditView.php @@ -19,15 +19,15 @@ if($_REQUEST['fax_error'] != '') } //added to select the module in combobox of compose-popup if(isset($_REQUEST['par_module']) && $_REQUEST['par_module']!=''){ - $smarty->assign('select_module',$_REQUEST['par_module']); + $smarty->assign('select_module',RequestHandler::paramModule("par_module"));//crmv@211287 } elseif(isset($_REQUEST['pmodule']) && $_REQUEST['pmodule']!='') { - $smarty->assign('select_module',$_REQUEST['pmodule']); + $smarty->assign('select_module',RequestHandler::paramModule("pmodule"));//crmv@211287 } if(isset($_REQUEST['record']) && $_REQUEST['record'] !='') { - $focus->id = $_REQUEST['record']; + $focus->id = RequestHandler::paramInt("record");//crmv@211287 $focus->mode = 'edit'; $focus->retrieve_entity_info($_REQUEST['record'],"Fax"); if(isset($_REQUEST['forward']) && $_REQUEST['forward'] != '') @@ -62,37 +62,54 @@ if($_REQUEST["internal_mailer"] == "true") { $rec_type = $_REQUEST["type"]; $rec_id = $_REQUEST["rec_id"]; $fieldname = $_REQUEST["fieldname"]; + + //crmv@345820 + function get_entity_fax($modulename, $fieldname, $id, $html = false) { + global $current_user; + $fail = ''; + + if ($modulename == 'Users') { + if (!preg_match('/^phone/', $fieldname)) { + return $fail; + } + } elseif (isPermitted($modulename, 'DetailView', $id) !== 'yes') { + return $fail; + } elseif (!in_array(getFieldVisibilityPermission($modulename, $current_user->id, $fieldname), [0, '0'], true)) { + return $fail; + } + + $fieldinfo = FieldUtils::getField($modulename, $fieldname); + if (!$fieldinfo) { + return $fail; + } + $tablename = $fieldinfo['tablename']; + + switch ($modulename) { + case "Users": $keycol = "id"; break; + case "Leads": $keycol = "leadaddressid"; break; + case "Contacts": $keycol = "contactid"; break; + case "Accounts": $keycol = "accountid"; break; + case "Vendors": $keycol = "vendorid"; break; + default: return $fail; + } + + return getSingleFieldValue($tablename, $fieldinfo['columnname'], $keycol, $id, $html) ?? $fail; + } + //crmv@345820e //added for getting list-ids to compose email popup from list view(Accounts,Contacts,Leads) if(isset($_REQUEST['field_id']) && strlen($_REQUEST['field_id']) != 0) { if($_REQUEST['par_module'] == "Users") $id_list = $_REQUEST['rec_id'].'@'.'-1|'; else - $id_list = $_REQUEST['rec_id'].'@'.$_REQUEST['field_id'].'|'; + $id_list = RequestHandler::paramString("rec_id").'@'.RequestHandler::paramString("field_id").'|';//crmv@211287 $smarty->assign("IDLISTS", $id_list); } if($rec_type == "record_id") { $type = $_REQUEST['par_module']; - //check added for email link in user detail view - // crmv@64542 - $modInstance = CRMEntity::getInstance($type); - if(substr($fieldname,0,2)=="cf") - $tablename = $modInstance->customFieldTable[0]; - else - $tablename = $modInstance->table_name; - // crmv@64542e - if($type == "Users") - $q = "select $fieldname from $tablename where id=?"; - elseif($type == "Leads") - $q = "select $fieldname from $tablename where leadaddressid=?"; - elseif ($type == "Contacts") - $q = "select $fieldname from $tablename where contactid=?"; - elseif ($type == "Accounts") - $q = "select $fieldname from $tablename where accountid=?"; - elseif ($type == "Vendors") - $q = "select $fieldname from $tablename where vendorid=?"; - $to_fax = $adb->query_result($adb->pquery($q, array($rec_id)),0,$fieldname); + $to_fax = get_entity_fax($type, $fieldname, $rec_id, true); //crmv@345820 + } elseif ($rec_type == "email_addy") { $to_fax = $_REQUEST["email_addy"]; } @@ -140,15 +157,15 @@ if (isset($_REQUEST['parent_type'])) } if (isset($_REQUEST['filename']) && $_REQUEST['isDuplicate'] != 'true') { - $focus->filename = $_REQUEST['filename']; + $focus->filename = RequestHandler::paramString("filename"); } elseif (is_null($focus->parent_type)) { $focus->parent_type = $app_list_strings['record_type_default_key']; } -$smarty->assign("ENTITY_ID", $_REQUEST["record"]); -$smarty->assign("ENTITY_TYPE",$_REQUEST["fax_directing_module"]); +$smarty->assign("ENTITY_ID", RequestHandler::paramInt("record"));//crmv@211287 +$smarty->assign("ENTITY_TYPE",RequestHandler::paramModule("fax_directing_module"));//crmv@211287 $smarty->assign("OLD_ID", $old_id ); //Display the FCKEditor or not? -- configure $FCKEDITOR_DISPLAY in config.php $smarty->assign("FCKEDITOR_DISPLAY",$FCKEDITOR_DISPLAY); diff --git a/modules/Home/HomeWidgetBlockList.php b/modules/Home/HomeWidgetBlockList.php index c4f1de6..477faa3 100644 --- a/modules/Home/HomeWidgetBlockList.php +++ b/modules/Home/HomeWidgetBlockList.php @@ -19,6 +19,8 @@ require_once('include/home.php'); $homeObj=new Homestuff; +$widgetTypes = ['URL','SDKIframe','Iframe','Charts','Module','RSS','Default']; // crmv@345820 + Zend_Json::$useBuiltinEncoderDecoder = true; $widgetInfoList = Zend_Json::decode($_REQUEST['widgetInfoList']); $widgetHTML = array(); @@ -28,9 +30,21 @@ $smarty->assign("APP",$app_strings); $smarty->assign("THEME", $theme); $smarty->assign("IMAGE_PATH",$image_path); +// crmv@345820 +$accessibleWidgets = []; +$homedetails = $homeObj->getHomePageFrame(); +if (!empty($homedetails)) { + foreach($homedetails as $homedetail) { + $accessibleWidgets[] = $homedetail['Stuffid']; + } +} +// crmv@345820e + foreach ($widgetInfoList as $widgetInfo) { - $widgetType = $widgetInfo['widgetType']; - $widgetId = $widgetInfo['widgetId']; + $widgetType = array_intersect([$widgetInfo['widgetType']], $widgetTypes)[0] ?? ''; // crmv@345820 + $widgetId = intval($widgetInfo['widgetId']); // crmv@345820 + if (!in_array($widgetId, $accessibleWidgets)) continue; // crmv@345820 + if($widgetType == 'URL'){ $url = $homeObj->getWidgetURL($widgetId); if(strpos($url, "://") === false){ @@ -106,5 +120,7 @@ foreach ($widgetInfoList as $widgetInfo) { $html .= $smarty->fetch("Home/HomeBlock.tpl"); $widgetHTML[$widgetId] = $html; } + +header('Content-Type: application/json'); // crmv@345820 echo Zend_JSON::encode($widgetHTML); ?> \ No newline at end of file diff --git a/modules/Import/controllers/Import_ListView_Controller.php b/modules/Import/controllers/Import_ListView_Controller.php index 40363ea..051cd51 100644 --- a/modules/Import/controllers/Import_ListView_Controller.php +++ b/modules/Import/controllers/Import_ListView_Controller.php @@ -31,11 +31,11 @@ class Import_ListView_Controller { $viewer = new Import_UI_Viewer(); - $ownerId = $userInputObject->get('foruser'); + $ownerId = intval($userInputObject->get('foruser')); // crmv@341226 $owner = CRMEntity::getInstance('Users'); $owner->id = $ownerId; $owner->retrieve_entity_info($ownerId, 'Users'); - if(!is_admin($user) && $user->id != $owner->id) { + if (!is_admin($user) && $user->id !== $owner->id) { // crmv@341226 $viewer->display('OperationNotPermitted.tpl', 'VteCore'); exit; } @@ -96,4 +96,4 @@ class Import_ListView_Controller { } } } -?> \ No newline at end of file +?> diff --git a/modules/Import/resources/Utils.php b/modules/Import/resources/Utils.php index 70a0e3f..b3d4133 100644 --- a/modules/Import/resources/Utils.php +++ b/modules/Import/resources/Utils.php @@ -49,7 +49,7 @@ class Import_Utils { public static function getImportFilePath($user) { $importDirectory = self::getImportDirectory(); - return $importDirectory. "IMPORT_".$user->id; + return $importDirectory. "IMPORT_".intval($user->id); // crmv@341226 } @@ -82,7 +82,7 @@ class Import_Utils { public static function getDbTableName($user) { $configReader = new ConfigReader('modules/Import/config.inc', 'ImportConfig'); $userImportTablePrefix = $configReader->getConfig('userImportTablePrefix'); - return $userImportTablePrefix . $user->id; + return $userImportTablePrefix . intval($user->id); // crmv@341226 } public static function showErrorPage($errorMessage, $errorDetails=false, $customActions=false) { diff --git a/modules/Morphsuit/RequestMorphsuit.php b/modules/Morphsuit/RequestMorphsuit.php index c9d3d24..88b2dc6 100644 --- a/modules/Morphsuit/RequestMorphsuit.php +++ b/modules/Morphsuit/RequestMorphsuit.php @@ -29,7 +29,7 @@ if ($_REQUEST['morph_mode'] == 'installation' || VteSession::get('morph_mode') = if ($enterprise_mode == 'VTENEXTCE') { // crmv@192073 // recalc application_unique_key - $application_unique_key = md5(time() + rand(1,9999999) + md5($root_directory)); + $application_unique_key = md5(time() . rand(1,9999999) . md5($root_directory)); $configInc = file_get_contents('config.inc.php'); $configInc = preg_replace('/^\$application_unique_key.*$/m', "\$application_unique_key = '{$application_unique_key}';", $configInc); if (is_writable('config.inc.php')) file_put_contents('config.inc.php', $configInc); diff --git a/modules/SDK/src/205/SaveCrop.php b/modules/SDK/src/205/SaveCrop.php index 8df5b9e..cd50b2c 100644 --- a/modules/SDK/src/205/SaveCrop.php +++ b/modules/SDK/src/205/SaveCrop.php @@ -13,6 +13,12 @@ if ($_REQUEST['mode'] == 'save' && $_REQUEST['avatar'] != '') { $focus->id = $record; $focus->mode = 'edit'; $focus->column_fields['avatar'] = $_REQUEST['avatar']; + // crmv@341228 + if (!$focus->filterOrDenySave()) { + RequestHandler::outputRedirect("index.php?module=Users&action=Logout"); + exit; + } + // crmv@341228e $focus->save("Users"); echo "