Skip to content

Commit

Permalink
Merge branch '5.1' into 5.1.1-to-5.x
Browse files Browse the repository at this point in the history
  • Loading branch information
escopecz committed Sep 19, 2024
2 parents 93db721 + 8fa5a71 commit cc82bea
Show file tree
Hide file tree
Showing 378 changed files with 2,689 additions and 7,676 deletions.
5 changes: 2 additions & 3 deletions .ddev/config.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
type: php
docroot: ""
php_version: "8.3"
php_version: "8.2"
webserver_type: apache-fpm
router_http_port: "80"
router_https_port: "443"
Expand All @@ -13,11 +13,10 @@ provider: default
upload_dir: "media/files, media/images" # Specify the directories containing user-generated uploads
use_dns_when_possible: true
composer_version: "2"
webimage_extra_packages: [php8.3-imap]
webimage_extra_packages: [php8.2-imap]
hooks:
post-start:
# Fix line endings on Windows
- exec: sed -i -e 's/\r$//' ./.ddev/mautic-setup.sh
- exec: sed -i -e 's/\r$//' ./.git/hooks/*
- exec: "chmod +x ./.ddev/mautic-setup.sh"
- exec: "yes | ./.ddev/mautic-setup.sh"
Binary file added app/assets/images/avatar.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 0 additions & 4 deletions app/assets/images/avatar.svg

This file was deleted.

93 changes: 3 additions & 90 deletions app/assets/js/mautic-form-src.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,3 @@
/**
* Autocomplete library.
*
* @see https://github.com/TarekRaafat/autoComplete.js/blob/master/dist/autoComplete.min.js
* @version 10.2.8
*/
var t,e;t=this,e=function(){"use strict";function t(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function e(e){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?t(Object(i),!0).forEach((function(t){r(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):t(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function i(t){return function(t){if(Array.isArray(t))return s(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||o(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(t,e){if(t){if("string"==typeof t)return s(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(t,e):void 0}}function s(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var u=function(t){return"string"==typeof t?document.querySelector(t):t()},a=function(t,e){var n="string"==typeof t?document.createElement(t):t;for(var r in e){var i=e[r];if("inside"===r)i.append(n);else if("dest"===r)u(i[0]).insertAdjacentElement(i[1],n);else if("around"===r){var o=i;o.parentNode.insertBefore(n,o),n.append(o),null!=o.getAttribute("autofocus")&&o.focus()}else r in n?n[r]=i:n.setAttribute(r,i)}return n},c=function(t,e){return t=String(t).toLowerCase(),e?t.normalize("NFD").replace(/[\u0300-\u036f]/g,"").normalize("NFC"):t},l=function(t,n){return a("mark",e({innerHTML:t},"string"==typeof n&&{class:n})).outerHTML},f=function(t,e){e.input.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:e.feedback,cancelable:!0}))},p=function(t,e,n){var r=n||{},i=r.mode,o=r.diacritics,s=r.highlight,u=c(e,o);if(e=String(e),t=c(t,o),"loose"===i){var a=(t=t.replace(/ /g,"")).length,f=0,p=Array.from(e).map((function(e,n){return f<a&&u[n]===t[f]&&(e=s?l(e,s):e,f++),e})).join("");if(f===a)return p}else{var d=u.indexOf(t);if(~d)return t=e.substring(d,d+t.length),d=s?e.replace(t,l(t,s)):e}},d=function(t,e){return new Promise((function(n,r){var i;return(i=t.data).cache&&i.store?n():new Promise((function(t,n){return"function"==typeof i.src?new Promise((function(t,n){return"AsyncFunction"===i.src.constructor.name?i.src(e).then(t,n):t(i.src(e))})).then(t,n):t(i.src)})).then((function(e){try{return t.feedback=i.store=e,f("response",t),n()}catch(t){return r(t)}}),r)}))},h=function(t,e){var n=e.data,r=e.searchEngine,i=[];n.store.forEach((function(s,u){var a=function(n){var o=n?s[n]:s,u="function"==typeof r?r(t,o):p(t,o,{mode:r,diacritics:e.diacritics,highlight:e.resultItem.highlight});if(u){var a={match:u,value:s};n&&(a.key=n),i.push(a)}};if(n.keys){var c,l=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=o(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,u=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return u=t.done,t},e:function(t){a=!0,s=t},f:function(){try{u||null==n.return||n.return()}finally{if(a)throw s}}}}(n.keys);try{for(l.s();!(c=l.n()).done;)a(c.value)}catch(t){l.e(t)}finally{l.f()}}else a()})),n.filter&&(i=n.filter(i));var s=i.slice(0,e.resultsList.maxResults);e.feedback={query:t,matches:i,results:s},f("results",e)},m="aria-expanded",b="aria-activedescendant",y="aria-selected",v=function(t,n){t.feedback.selection=e({index:n},t.feedback.results[n])},g=function(t){t.isOpen||((t.wrapper||t.input).setAttribute(m,!0),t.list.removeAttribute("hidden"),t.isOpen=!0,f("open",t))},w=function(t){t.isOpen&&((t.wrapper||t.input).setAttribute(m,!1),t.input.setAttribute(b,""),t.list.setAttribute("hidden",""),t.isOpen=!1,f("close",t))},O=function(t,e){var n=e.resultItem,r=e.list.getElementsByTagName(n.tag),o=!!n.selected&&n.selected.split(" ");if(e.isOpen&&r.length){var s,u,a=e.cursor;t>=r.length&&(t=0),t<0&&(t=r.length-1),e.cursor=t,a>-1&&(r[a].removeAttribute(y),o&&(u=r[a].classList).remove.apply(u,i(o))),r[t].setAttribute(y,!0),o&&(s=r[t].classList).add.apply(s,i(o)),e.input.setAttribute(b,r[e.cursor].id),e.list.scrollTop=r[t].offsetTop-e.list.clientHeight+r[t].clientHeight+5,e.feedback.cursor=e.cursor,v(e,t),f("navigate",e)}},A=function(t){O(t.cursor+1,t)},k=function(t){O(t.cursor-1,t)},L=function(t,e,n){(n=n>=0?n:t.cursor)<0||(t.feedback.event=e,v(t,n),f("selection",t),w(t))};function j(t,n){var r=this;return new Promise((function(i,o){var s,u;return s=n||((u=t.input)instanceof HTMLInputElement||u instanceof HTMLTextAreaElement?u.value:u.innerHTML),function(t,e,n){return e?e(t):t.length>=n}(s=t.query?t.query(s):s,t.trigger,t.threshold)?d(t,s).then((function(n){try{return t.feedback instanceof Error?i():(h(s,t),t.resultsList&&function(t){var n=t.resultsList,r=t.list,i=t.resultItem,o=t.feedback,s=o.matches,u=o.results;if(t.cursor=-1,r.innerHTML="",s.length||n.noResults){var c=new DocumentFragment;u.forEach((function(t,n){var r=a(i.tag,e({id:"".concat(i.id,"_").concat(n),role:"option",innerHTML:t.match,inside:c},i.class&&{class:i.class}));i.element&&i.element(r,t)})),r.append(c),n.element&&n.element(r,o),g(t)}else w(t)}(t),c.call(r))}catch(t){return o(t)}}),o):(w(t),c.call(r));function c(){return i()}}))}var S=function(t,e){for(var n in t)for(var r in t[n])e(n,r)},T=function(t){var n,r,i,o=t.events,s=(n=function(){return j(t)},r=t.debounce,function(){clearTimeout(i),i=setTimeout((function(){return n()}),r)}),u=t.events=e({input:e({},o&&o.input)},t.resultsList&&{list:o?e({},o.list):{}}),a={input:{input:function(){s()},keydown:function(e){!function(t,e){switch(t.keyCode){case 40:case 38:t.preventDefault(),40===t.keyCode?A(e):k(e);break;case 13:e.submit||t.preventDefault(),e.cursor>=0&&L(e,t);break;case 9:e.resultsList.tabSelect&&e.cursor>=0&&L(e,t);break;case 27:e.input.value="",w(e)}}(e,t)},blur:function(){w(t)}},list:{mousedown:function(t){t.preventDefault()},click:function(e){!function(t,e){var n=e.resultItem.tag.toUpperCase(),r=Array.from(e.list.querySelectorAll(n)),i=t.target.closest(n);i&&i.nodeName===n&&L(e,t,r.indexOf(i))}(e,t)}}};S(a,(function(e,n){(t.resultsList||"input"===n)&&(u[e][n]||(u[e][n]=a[e][n]))})),S(u,(function(e,n){t[e].addEventListener(n,u[e][n])}))};function E(t){var n=this;return new Promise((function(r,i){var o,s,u;if(o=t.placeHolder,u={role:"combobox","aria-owns":(s=t.resultsList).id,"aria-haspopup":!0,"aria-expanded":!1},a(t.input,e(e({"aria-controls":s.id,"aria-autocomplete":"both"},o&&{placeholder:o}),!t.wrapper&&e({},u))),t.wrapper&&(t.wrapper=a("div",e({around:t.input,class:t.name+"_wrapper"},u))),s&&(t.list=a(s.tag,e({dest:[s.destination,s.position],id:s.id,role:"listbox",hidden:"hidden"},s.class&&{class:s.class}))),T(t),t.data.cache)return d(t).then((function(t){try{return c.call(n)}catch(t){return i(t)}}),i);function c(){return f("init",t),r()}return c.call(n)}))}function x(t){var e=t.prototype;e.init=function(){E(this)},e.start=function(t){j(this,t)},e.unInit=function(){if(this.wrapper){var t=this.wrapper.parentNode;t.insertBefore(this.input,this.wrapper),t.removeChild(this.wrapper)}var e;S((e=this).events,(function(t,n){e[t].removeEventListener(n,e.events[t][n])}))},e.open=function(){g(this)},e.close=function(){w(this)},e.goTo=function(t){O(t,this)},e.next=function(){A(this)},e.previous=function(){k(this)},e.select=function(t){L(this,null,t)},e.search=function(t,e,n){return p(t,e,n)}}return function t(e){this.options=e,this.id=t.instances=(t.instances||0)+1,this.name="autoComplete",this.wrapper=1,this.threshold=1,this.debounce=0,this.resultsList={position:"afterend",tag:"ul",maxResults:5},this.resultItem={tag:"li"},function(t){var e=t.name,r=t.options,i=t.resultsList,o=t.resultItem;for(var s in r)if("object"===n(r[s]))for(var a in t[s]||(t[s]={}),r[s])t[s][a]=r[s][a];else t[s]=r[s];t.selector=t.selector||"#"+e,i.destination=i.destination||t.selector,i.id=i.id||e+"_list_"+t.id,o.id=o.id||e+"_result",t.input=u(t.selector)}(this),x.call(this,t),E(this)}},"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).autoComplete=e();

/**
* Mautic form embed.
*/
(function( window ) {
'use strict';
function define_library(){
Expand Down Expand Up @@ -84,76 +73,6 @@ var t,e;t=this,e=function(){"use strict";function t(t,e){var n=Object.keys(t);if

this.bindClickEvents();
Profiler.runTime();
Form.initCompanyLookup();
};

Form.initCompanyLookup = function() {
// Do not initialize if the company lookup field is not in the DOM.
if (!document.querySelector('input[data-toggle=field-company-lookup]')) {
return;
}

const autoCompleteJS = new autoComplete(
{
selector: 'input[data-toggle=field-company-lookup]',
data: {
src: async (query) => {
try {
const source = await fetch(

MauticDomain + '/form/company-lookup/autocomplete',
{
method: 'POST',
body: JSON.stringify({
search: query,
formId: autoCompleteJS.input.closest('form').querySelector('input[name="mauticform[formId]"]').value
})
}
);
return await source.json();
} catch (error) {
return error;
}
},
keys: ['companyname']
},
resultItem: {
highlight: true,
tag: 'li',
element: (item, data) => {
const detailsWrapper = document.createElement('span');
const city = data.value.companycity ?? '';
const state = data.value.companystate ?? '';
const comma = city && state ? ', ' : '';
detailsWrapper.textContent = city + comma + state;
item.appendChild(detailsWrapper);
},
},
resultsList: {
element: (list, data) => {
if (!data.results.length) {
const message = document.createElement('li');
message.setAttribute('class', 'no-result');
message.innerHTML = '<span>Found No Results for "' + data.query + '"</span>';
list.prepend(message);
}
},
noResults: true,
maxResults: 50,
},
threshold: 3,
debounce: 300,
events: {
input: {
selection: (event) => {
const company = event.detail.selection.value;
autoCompleteJS.input.value = company.companyname;
document.getElementById(autoCompleteJS.input.getAttribute('data-set-id')).value = company.id;
}
}
}
}
);
};

Form.bindClickEvents = function() {
Expand Down Expand Up @@ -1033,7 +952,6 @@ var t,e;t=this,e=function(){"use strict";function t(t,e){var n=Object.keys(t);if
config.mautic_base_url = base_url.split('/').slice(0,-3).join('/')+'/';
};

// Be aware that this base URL may contain asset_prefix if set.
Core.getMauticBaseUrl = function() {
return config.mautic_base_url;
};
Expand All @@ -1044,15 +962,10 @@ var t,e;t=this,e=function(){"use strict";function t(t,e){var n=Object.keys(t);if
if (typeof(config.mautic_base_url) == 'undefined') Core.setMauticBaseUrl(base_url);
if (Core.debug()) console.log('Automatic setup mautic_base_url as: ' + config.mautic_base_url);
Modal.loadStyle();

if (document.readyState !== 'loading') {
document.addEventListener("DOMContentLoaded", function(e){
if (Core.debug()) console.log('DOMContentLoaded dispatched as DOM is ready');
Form.initialize();
} else {
document.addEventListener("DOMContentLoaded", function(e){
if (Core.debug()) console.log('DOMContentLoaded dispatched as DOM is ready');
Form.initialize();
});
}
});
};

Core.openModal = function(options){
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<input type="text" id="username" name="_username" class="form-control input-lg" value="{{ last_username }}" required autofocus placeholder="{{ 'mautic.user.auth.form.loginusername'|trans }}" />
</div>
<div class="input-group mb-md">
<span class="input-group-addon"><i class="ri-key-2-line"></i></span>
<span class="input-group-addon"><i class="fa fa-key"></i></span>
<label for="password" class="sr-only">{{ 'mautic.core.password'|trans }}:</label>
<input type="password" id="password" name="_password" class="form-control input-lg" required placeholder="{{ 'mautic.core.password'|trans }}" />
</div>
Expand Down
3 changes: 1 addition & 2 deletions app/bundles/AssetBundle/Assets/css/asset.css
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,7 @@
20% { -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); -o-transform: scale(1); transform: scale(1); } }
.mdropzone, .mdropzone * { box-sizing: border-box; }

.mdropzone { min-height: 150px; border: none; background: var(--field); padding: 30px 30px; transition: var(--transition-all-productive); }
.mdropzone:hover { background: var(--field-hover); }
.mdropzone { min-height: 150px; border: 2px solid rgba(0, 0, 0, 0.3); background: white; padding: 30px 30px; }
.has-error .mdropzone {border: 2px solid #a94442;}
.is-success .mdropzone {border: 2px solid #00a08a;}
.mdropzone.dz-clickable { cursor: pointer; }
Expand Down
4 changes: 2 additions & 2 deletions app/bundles/AssetBundle/Entity/Asset.php
Original file line number Diff line number Diff line change
Expand Up @@ -953,7 +953,7 @@ public function getIconClass(): string

// return missing file icon if file type is empty
if (!$fileType) {
return 'ri-prohibited-line';
return 'fa fa-ban';
}

$fileTypes = $this->getFileExtensions();
Expand All @@ -966,7 +966,7 @@ public function getIconClass(): string
}

// File extension is unknown, display general file icon.
return 'ri-file-line';
return 'fa fa-file-o';
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
</div>
<!--/ asset detail header -->
<!-- asset detail collapseable -->
<div class="collapse pr-md pl-md" id="asset-details">
<div class="collapse" id="asset-details">
<div class="pr-md pl-md pb-md">
<div class="panel shd-none mb-0">
<table class="table table-hover mb-0">
Expand Down
4 changes: 2 additions & 2 deletions app/bundles/AssetBundle/Resources/views/Asset/form.html.twig
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,8 @@
{{ form_row(form.category) }}
{{ form_row(form.language) }}
{{ form_row(form.isPublished) }}
{{ form_row(form.publishUp, {'label': 'mautic.core.form.available.available_from'}) }}
{{ form_row(form.publishDown, {'label': 'mautic.core.form.available.unavailable_from'}) }}
{{ form_row(form.publishUp) }}
{{ form_row(form.publishDown) }}
{{ form_row(form.disallow) }}
</div>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
{% trans %}mautic.asset.no_audio_support{% endtrans %}
</audio>
{% else %}
<i class="{{ activeAsset.getIconClass() }} ri-5x"></i>
<i class="{{ activeAsset.getIconClass() }} fa-5x"></i>
{% endif %}
</div>
<div class="clearfix"></div>
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
<ul class="list-group list-group-tabs">
{% for integration in integrations %}
<li class="list-group-item{% if loop.index0 is same as(0) %} active{% endif %}" id="tab{{ integration.getName() }}">
<a href="javascript: void(0);" class="list-group-item-text steps" onclick="Mautic.updateRemoteBrowser('{{ integration.getName() }}');">
<a href="javascript: void(0);" class="steps" onclick="Mautic.updateRemoteBrowser('{{ integration.getName() }}');">
{{ integration.getDisplayName() }}
</a>
</li>
Expand Down
Loading

0 comments on commit cc82bea

Please sign in to comment.