This commit is contained in:
diashalabi 2021-08-09 12:04:02 +03:00
commit f342d47ea6
87 changed files with 739 additions and 270 deletions

View File

@ -65,3 +65,6 @@ ADV_WATERMARK_TEXT="openclassify.com"
ADV_WATERMARK_POSITION="top-right" ADV_WATERMARK_POSITION="top-right"
ADV_WATERMARK_OPACITY=80 ADV_WATERMARK_OPACITY=80
ADV_ENABLED_CURRENCIES='a:1:{i:0;s:3:"USD";}' ADV_ENABLED_CURRENCIES='a:1:{i:0;s:3:"USD";}'
ENABLE_SENTRY_LARAVEL=true

View File

@ -1,12 +1,15 @@
{ {
"name": "visiosoft/advs-module", "name": "visiosoft/advs-module",
"type": "streams-addon", "type": "streams-addon",
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"Visiosoft\\AdvsModule\\": "src/" "Visiosoft\\AdvsModule\\": "src/"
}, },
"files": [ "files": [
"src/Support/_helpers.php" "src/Support/_helpers.php"
] ]
} },
"require": {
"fruitcake/laravel-cors": "^2.0"
}
} }

View File

@ -17,7 +17,6 @@ return [
'hide_price_categories', 'hide_price_categories',
'tcmb_exchange_url', 'tcmb_exchange_url',
'enabled_currencies', 'enabled_currencies',
'disable_sentry',
'hide_ad_cat', 'hide_ad_cat',
], ],
], ],
@ -66,6 +65,7 @@ return [
'make_map_required', 'make_map_required',
'show_breadcrumb_when_creating_ad', 'show_breadcrumb_when_creating_ad',
'show_post_ad_agreement', 'show_post_ad_agreement',
'show_input_flag',
], ],
], ],
'ads_image' => [ 'ads_image' => [
@ -98,7 +98,7 @@ return [
'title' => 'visiosoft.module.advs::section.filter', 'title' => 'visiosoft.module.advs::section.filter',
'fields' => [ 'fields' => [
'hide_filter_section', 'hide_price_filter', 'hide_date_filter', 'hide_photo_filter', 'hide_map_filter', 'hide_filter_section', 'hide_price_filter', 'hide_date_filter', 'hide_photo_filter', 'hide_map_filter',
'hide_listing_header', 'user_filter_limit', 'hide_listing_header', 'user_filter_limit','hide_out_of_stock_products_without_listing'
], ],
], ],
'translations' => [ 'translations' => [

View File

@ -430,7 +430,6 @@ return [
'default_value' => false, 'default_value' => false,
] ]
], ],
'disable_sentry' => 'anomaly.field_type.boolean',
'detailed_product_options' => [ 'detailed_product_options' => [
'type' => 'anomaly.field_type.boolean', 'type' => 'anomaly.field_type.boolean',
'config' => [ 'config' => [
@ -474,5 +473,17 @@ return [
'config' => [ 'config' => [
'default_value' => false, 'default_value' => false,
] ]
] ],
'show_input_flag' => [
'type' => 'anomaly.field_type.boolean',
'config' => [
'default_value' => false,
]
],
'hide_out_of_stock_products_without_listing' => [
'type' => 'anomaly.field_type.boolean',
'config' => [
'default_value' => false,
]
],
]; ];

View File

@ -262,3 +262,28 @@ label {
} }
} }
} }
.btn-configuration {
background-color: #6E5DDB;
padding: 1rem 2rem;
font-family: 'Poppins', sans-serif;
font-size: calc(18rem / 16);
border-radius: .25rem;
border: 0;
color: #fff;
display: inline-flex;
align-items: center;
margin-bottom: 2rem;
&:hover,
&:active,
&:focus {
background-color: #6E5DDB;
color: #fff;
}
svg {
width: 1.5rem;
height: auto;
}
}

View File

@ -0,0 +1,6 @@
<svg id="Group_42321" data-name="Group 42321" xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30">
<g id="Group_15874" data-name="Group 15874">
<path id="Path_10381" data-name="Path 10381" d="M15,0A15,15,0,1,1,0,15,15,15,0,0,1,15,0Z" fill="#f8f8f8"/>
<path id="close" d="M10.557.6l-.6-.6L5.278,4.675.6,0,0,.6,4.675,5.278,0,9.953l.6.6L5.278,5.882l4.675,4.675.6-.6L5.882,5.278Z" transform="translate(9.5 9.5)" fill="#c7c7c7" stroke="#c7c7c7" stroke-linecap="round" stroke-linejoin="round" stroke-width="0.7"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 570 B

View File

@ -0,0 +1,12 @@
<svg id="add_5_" data-name="add (5)" xmlns="http://www.w3.org/2000/svg" width="19.96" height="19.96" viewBox="0 0 19.96 19.96">
<g id="Group_16519" data-name="Group 16519">
<g id="Group_16518" data-name="Group 16518">
<path id="Path_10382" data-name="Path 10382" d="M9.98,0a9.98,9.98,0,1,0,9.98,9.98A9.991,9.991,0,0,0,9.98,0Zm0,18.414A8.434,8.434,0,1,1,18.414,9.98,8.444,8.444,0,0,1,9.98,18.414Z" fill="#fff"/>
</g>
</g>
<g id="Group_16521" data-name="Group 16521" transform="translate(5.342 5.272)">
<g id="Group_16520" data-name="Group 16520">
<path id="Path_10383" data-name="Path 10383" d="M145.526,139.1h-3.092v-3.092a.773.773,0,0,0-1.546,0V139.1H137.8a.773.773,0,0,0,0,1.546h3.092v3.092a.773.773,0,0,0,1.546,0v-3.092h3.092a.773.773,0,1,0,0-1.546Z" transform="translate(-137.022 -135.238)" fill="#fff"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 898 B

View File

@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" width="58.492" height="39.208" viewBox="0 0 58.492 39.208">
<g id="birlesik_arap" transform="translate(0.05 0.05)">
<path id="Path_17119" data-name="Path 17119" d="M0,0H58.392V39.108H0Z" transform="translate(0 0)" fill="#008837"/>
<path id="Path_17120" data-name="Path 17120" d="M0,0H58.392V26.072H0Z" transform="translate(0 13.036)" fill="#fff"/>
<rect id="Rectangle_2051" data-name="Rectangle 2051" width="58.392" height="13.04" transform="translate(0 26.068)"/>
<rect id="Rectangle_2052" data-name="Rectangle 2052" width="58.392" height="39.108" transform="translate(0 0)" fill="none" stroke="#000" stroke-width="0.1"/>
<rect id="Rectangle_3462" data-name="Rectangle 3462" width="14.392" height="39.108" fill="#d00027"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 800 B

View File

@ -0,0 +1,8 @@
<svg xmlns="http://www.w3.org/2000/svg" width="58.492" height="39.208" viewBox="0 0 58.492 39.208">
<g id="germany" transform="translate(0.05 0.05)">
<rect id="Rectangle_2049" data-name="Rectangle 2049" width="58.392" height="39.108" transform="translate(0 0)"/>
<rect id="Rectangle_2050" data-name="Rectangle 2050" width="58.392" height="26.072" transform="translate(0 13.036)" fill="red"/>
<rect id="Rectangle_2051" data-name="Rectangle 2051" width="58.392" height="13.04" transform="translate(0 26.068)" fill="#fc0"/>
<rect id="Rectangle_2052" data-name="Rectangle 2052" width="58.392" height="39.108" transform="translate(0 0)" fill="none" stroke="#000" stroke-width="0.1"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 711 B

View File

@ -0,0 +1,72 @@
<svg xmlns="http://www.w3.org/2000/svg" width="58.492" height="39.207" viewBox="0 0 58.492 39.207">
<g id="greece" transform="translate(2968.889 -9838.745)">
<g id="Group_42612" data-name="Group 42612" transform="translate(65.503)">
<g id="ne" transform="translate(-3034.342 9838.795)">
<rect id="Rectangle_2198" data-name="Rectangle 2198" width="58.392" height="11.036" transform="translate(0 28.071)" fill="#d00027"/>
<path id="Path_17265" data-name="Path 17265" d="M0,0H58.392V28.072H0Z" transform="translate(0 0)" fill="#fc0"/>
<rect id="Rectangle_2201" data-name="Rectangle 2201" width="58.392" height="39.107" transform="translate(0 0)" fill="none" stroke="#000" stroke-width="0.1"/>
<rect id="Rectangle_3480" data-name="Rectangle 3480" width="58.392" height="11.036" fill="#d00027"/>
</g>
<g id="Group_42605" data-name="Group 42605" transform="translate(-296.977 -171.082)">
<path id="Path_17266" data-name="Path 17266" d="M209.363,219.89l.681-3.064a.452.452,0,0,0-.441-.55h-.48a.452.452,0,0,0-.441.55Z" transform="translate(-2922.823 9809.543)" fill="#c8414b"/>
<rect id="Rectangle_3481" data-name="Rectangle 3481" width="1.606" height="6.825" transform="translate(-2714.263 10027.827)" fill="#f5f5f5"/>
<rect id="Rectangle_3482" data-name="Rectangle 3482" width="2.409" height="0.803" transform="translate(-2714.666 10027.024)" fill="#fab446"/>
<g id="Group_42597" data-name="Group 42597" transform="translate(-2726.198 10025.819)">
<rect id="Rectangle_3466" data-name="Rectangle 3466" width="4.015" height="0.803" transform="translate(9.926 3.614)" fill="#c8414b"/>
<path id="Path_17249" data-name="Path 17249" d="M205.443,275.262l-2.409-.8v-.8l2.409.8Z" transform="translate(-191.502 -268.436)" fill="#c8414b"/>
<path id="Path_17250" data-name="Path 17250" d="M76.949,219.89l.681-3.064a.452.452,0,0,0-.441-.55h-.48a.452.452,0,0,0-.441.55Z" transform="translate(-76.257 -216.276)" fill="#c8414b"/>
</g>
<path id="Path_17267" data-name="Path 17267" d="M106.734,229.518a.8.8,0,0,0-.8.8v5.22c0,.976.911,2.811,4.015,2.811s4.015-1.835,4.015-2.811v-5.22a.8.8,0,0,0-.8-.8Z" transform="translate(-2829.429 9797.507)" fill="#f5f5f5"/>
<g id="Group_42598" data-name="Group 42598" transform="translate(-2723.498 10027.024)">
<path id="Path_17252" data-name="Path 17252" d="M109.946,233.533h-4.015v-3.212a.8.8,0,0,1,.8-.8h3.212Z" transform="translate(-105.931 -229.518)" fill="#c8414b"/>
<path id="Path_17253" data-name="Path 17253" d="M150.069,273.656h4.015v2.008a2.007,2.007,0,0,1-2.008,2.008h0a2.007,2.007,0,0,1-2.008-2.008Z" transform="translate(-146.054 -269.641)" fill="#c8414b"/>
</g>
<path id="Path_17268" data-name="Path 17268" d="M105.931,273.656h4.015v2.008a2.007,2.007,0,0,1-2.008,2.008h0a2.007,2.007,0,0,1-2.008-2.008Z" transform="translate(-2829.429 9757.383)" fill="#fab446"/>
<g id="Group_42599" data-name="Group 42599" transform="translate(-2722.695 10031.039)">
<path id="Path_17255" data-name="Path 17255" d="M133.216,277.261v-3.6h-.8v3.975A1.987,1.987,0,0,0,133.216,277.261Z" transform="translate(-130.807 -273.656)" fill="#c8414b"/>
<path id="Path_17256" data-name="Path 17256" d="M115.561,277.631v-3.975h-.8v3.6A1.988,1.988,0,0,0,115.561,277.631Z" transform="translate(-114.758 -273.656)" fill="#c8414b"/>
</g>
<rect id="Rectangle_3483" data-name="Rectangle 3483" width="2.409" height="0.803" transform="translate(-2722.695 10029.434)" fill="#ffb441"/>
<g id="Group_42600" data-name="Group 42600" transform="translate(-2722.695 10027.827)">
<rect id="Rectangle_3468" data-name="Rectangle 3468" width="2.409" height="0.803" transform="translate(0 0)" fill="#fab446"/>
<rect id="Rectangle_3469" data-name="Rectangle 3469" width="1.606" height="1.455" transform="translate(0.401 0.478)" fill="#fab446"/>
</g>
<rect id="Rectangle_3484" data-name="Rectangle 3484" width="1.606" height="6.825" transform="translate(-2726.309 10027.827)" fill="#f5f5f5"/>
<g id="Group_42601" data-name="Group 42601" transform="translate(-2726.71 10027.024)">
<rect id="Rectangle_3471" data-name="Rectangle 3471" width="2.409" height="0.803" transform="translate(0 7.227)" fill="#fab446"/>
<rect id="Rectangle_3472" data-name="Rectangle 3472" width="2.409" height="0.803" transform="translate(0 0)" fill="#fab446"/>
</g>
<rect id="Rectangle_3485" data-name="Rectangle 3485" width="3.212" height="0.803" transform="translate(-2727.112 10035.054)" fill="#5064aa"/>
<rect id="Rectangle_3486" data-name="Rectangle 3486" width="2.409" height="0.803" transform="translate(-2714.263 10034.252)" fill="#fab446"/>
<rect id="Rectangle_3487" data-name="Rectangle 3487" width="3.212" height="0.803" transform="translate(-2715.067 10035.054)" fill="#5064aa"/>
<rect id="Rectangle_3488" data-name="Rectangle 3488" width="4.818" height="0.803" transform="translate(-2721.892 10026.222)" fill="#fab446"/>
<rect id="Rectangle_3489" data-name="Rectangle 3489" width="0.803" height="2.409" transform="translate(-2719.884 10023.813)" fill="#ffb441"/>
<g id="Group_42602" data-name="Group 42602" transform="translate(-2723.097 10022.608)">
<path id="Path_17257" data-name="Path 17257" d="M129.2,183.376a1.2,1.2,0,1,1,1.2-1.2A1.206,1.206,0,0,1,129.2,183.376Zm0-1.606a.4.4,0,1,0,.4.4A.4.4,0,0,0,129.2,181.77Z" transform="translate(-126.394 -180.967)" fill="#f5f5f5"/>
<path id="Path_17258" data-name="Path 17258" d="M146.86,183.376a1.2,1.2,0,1,1,1.2-1.2A1.206,1.206,0,0,1,146.86,183.376Zm0-1.606a.4.4,0,1,0,.4.4A.4.4,0,0,0,146.86,181.77Z" transform="translate(-142.444 -180.967)" fill="#f5f5f5"/>
<path id="Path_17259" data-name="Path 17259" d="M164.515,192.2a1.2,1.2,0,1,1,1.2-1.2A1.206,1.206,0,0,1,164.515,192.2Zm0-1.606a.4.4,0,1,0,.4.4A.4.4,0,0,0,164.515,190.6Z" transform="translate(-158.493 -188.992)" fill="#f5f5f5"/>
<path id="Path_17260" data-name="Path 17260" d="M111.549,192.2a1.2,1.2,0,1,1,1.2-1.2A1.206,1.206,0,0,1,111.549,192.2Zm0-1.606a.4.4,0,1,0,.4.4A.4.4,0,0,0,111.549,190.6Z" transform="translate(-110.345 -188.992)" fill="#f5f5f5"/>
</g>
<path id="Path_17269" data-name="Path 17269" d="M160.5,283.287v.4a.4.4,0,0,1-.8,0v-.4h.8m.8-.8H158.9v1.2a1.2,1.2,0,0,0,2.409,0v-1.2Z" transform="translate(-2877.576 9749.358)" fill="#fab446"/>
<path id="Path_17270" data-name="Path 17270" d="M164.113,240.754h0a.8.8,0,0,1-.8-.8v-.8a.8.8,0,0,1,.8-.8h0a.8.8,0,0,1,.8.8v.8A.8.8,0,0,1,164.113,240.754Z" transform="translate(-2881.589 9789.482)" fill="#ffa0d2"/>
<circle id="Ellipse_455" data-name="Ellipse 455" cx="1.204" cy="1.204" r="1.204" transform="translate(-2720.688 10029.835)" fill="#5064aa"/>
<rect id="Rectangle_3490" data-name="Rectangle 3490" width="0.803" height="2.409" transform="translate(-2719.884 10022.206)" fill="#fab446"/>
<path id="Path_17271" data-name="Path 17271" d="M115.561,196.617l-.8-.8.47-.47a3.877,3.877,0,0,1,2.742-1.136h0a3.878,3.878,0,0,1,2.742,1.136l.47.47-.8.8Z" transform="translate(-2837.453 9829.604)" fill="#c8414b"/>
<g id="Group_42603" data-name="Group 42603" transform="translate(-2721.491 10025.017)">
<circle id="Ellipse_456" data-name="Ellipse 456" cx="0.402" cy="0.402" r="0.402" transform="translate(1.606 0)" fill="#ffd250"/>
<circle id="Ellipse_457" data-name="Ellipse 457" cx="0.402" cy="0.402" r="0.402" transform="translate(0 0)" fill="#ffd250"/>
<circle id="Ellipse_458" data-name="Ellipse 458" cx="0.402" cy="0.402" r="0.402" transform="translate(3.212 0)" fill="#ffd250"/>
</g>
<g id="Group_42604" data-name="Group 42604" transform="translate(-2726.71 10029.434)">
<rect id="Rectangle_3479" data-name="Rectangle 3479" width="4.015" height="0.803" transform="translate(0 0)" fill="#c8414b"/>
<path id="Path_17264" data-name="Path 17264" d="M70.621,275.262l2.409-.8v-.8l-2.409.8Z" transform="translate(-70.621 -272.05)" fill="#c8414b"/>
</g>
</g>
</g>
<g id="Group_42611" data-name="Group 42611" transform="translate(-5.503 2)">
<path id="Subtraction_21" data-name="Subtraction 21" d="M58.392,42.762H0V38.417H58.392v4.344Zm0-8.69H0V29.727H58.392V34.07Zm0-8.691H0V21.036H58.392v4.343Zm0-8.689H0V12.345H58.392V16.69Z" transform="translate(-2963.336 9828.795)" fill="#f5f5f5"/>
<path id="Subtraction_20" data-name="Subtraction 20" d="M58.392,47.108H1.03a1.065,1.065,0,0,1-.187-.017H0V42.763H58.392v4.344Zm0-8.69H0V34.072H58.392v4.344Zm0-8.691H0V8H58.392v4.345H20.583v4.345H58.392v4.345H20.583v4.345H58.392v4.344Z" transform="translate(-2963.336 9828.795)" fill="#4b54cf"/>
<path id="Path_17274" data-name="Path 17274" d="M20.583,96.968H12.464V88.277H8.119v8.691H0v4.345H8.119V110h4.345v-8.691h8.119Z" transform="translate(-2963.336 9748.518)" fill="#f5f5f5"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.8 KiB

View File

@ -0,0 +1,12 @@
<svg xmlns="http://www.w3.org/2000/svg" width="58.499" height="39.21" viewBox="0 0 58.499 39.21">
<g id="en" transform="translate(0.05 0.05)">
<rect id="Rectangle_2042" data-name="Rectangle 2042" width="58.399" height="39.111" transform="translate(0 0)" fill="#110070"/>
<path id="Path_1607" data-name="Path 1607" d="M861.7,381.007h7.318l15.322,10.261V381.007h13.128v10.258l15.314-10.258H920.1v4.9L908.022,394H920.1v13.13H908.022l12.081,8.092v4.9h-7.314l-15.317-10.259v10.259H884.344V409.854L869.02,420.118H861.7v-4.9l12.083-8.093H861.7V394h12.085L861.7,385.9Z" transform="translate(-861.704 -381.007)" fill="#fff"/>
<path id="Path_1608" data-name="Path 1608" d="M884.344,419.98v-.938H881.1l-19.4,12.991h4.64Z" transform="translate(-861.704 -392.922)" fill="red"/>
<path id="Path_1609" data-name="Path 1609" d="M913.79,393.056V394h3.235l19.4-12.99h-4.641Z" transform="translate(-878.022 -381.007)" fill="red"/>
<path id="Path_1610" data-name="Path 1610" d="M861.7,384.111,876.463,394h4.64l-19.4-12.99h0Z" transform="translate(-861.704 -381.007)" fill="red"/>
<path id="Path_1611" data-name="Path 1611" d="M918.5,419.042,937.9,432.033v-3.108l-14.756-9.883Z" transform="translate(-879.498 -392.922)" fill="red"/>
<path id="Path_1612" data-name="Path 1612" d="M894.846,396.624V381.007h-7.878v15.617H861.7V404.5h25.264v15.616h7.878V404.5H920.1v-7.877Z" transform="translate(-861.704 -381.007)" fill="red"/>
<rect id="Rectangle_2043" data-name="Rectangle 2043" width="58.399" height="39.111" transform="translate(0 0)" fill="none" stroke="#000" stroke-width="0.1"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1,65 @@
<svg xmlns="http://www.w3.org/2000/svg" width="58.492" height="39.207" viewBox="0 0 58.492 39.207">
<g id="spain" transform="translate(3034.392 -9838.745)">
<g id="ne" transform="translate(-3034.342 9838.795)">
<rect id="Rectangle_2198" data-name="Rectangle 2198" width="58.392" height="11.036" transform="translate(0 28.071)" fill="#d00027"/>
<path id="Path_17265" data-name="Path 17265" d="M0,0H58.392V28.072H0Z" transform="translate(0 0)" fill="#fc0"/>
<rect id="Rectangle_2201" data-name="Rectangle 2201" width="58.392" height="39.107" transform="translate(0 0)" fill="none" stroke="#000" stroke-width="0.1"/>
<rect id="Rectangle_3480" data-name="Rectangle 3480" width="58.392" height="11.036" fill="#d00027"/>
</g>
<g id="Group_42605" data-name="Group 42605" transform="translate(-296.977 -171.082)">
<path id="Path_17266" data-name="Path 17266" d="M209.363,219.89l.681-3.064a.452.452,0,0,0-.441-.55h-.48a.452.452,0,0,0-.441.55Z" transform="translate(-2922.823 9809.543)" fill="#c8414b"/>
<rect id="Rectangle_3481" data-name="Rectangle 3481" width="1.606" height="6.825" transform="translate(-2714.263 10027.827)" fill="#f5f5f5"/>
<rect id="Rectangle_3482" data-name="Rectangle 3482" width="2.409" height="0.803" transform="translate(-2714.666 10027.024)" fill="#fab446"/>
<g id="Group_42597" data-name="Group 42597" transform="translate(-2726.198 10025.819)">
<rect id="Rectangle_3466" data-name="Rectangle 3466" width="4.015" height="0.803" transform="translate(9.926 3.614)" fill="#c8414b"/>
<path id="Path_17249" data-name="Path 17249" d="M205.443,275.262l-2.409-.8v-.8l2.409.8Z" transform="translate(-191.502 -268.436)" fill="#c8414b"/>
<path id="Path_17250" data-name="Path 17250" d="M76.949,219.89l.681-3.064a.452.452,0,0,0-.441-.55h-.48a.452.452,0,0,0-.441.55Z" transform="translate(-76.257 -216.276)" fill="#c8414b"/>
</g>
<path id="Path_17267" data-name="Path 17267" d="M106.734,229.518a.8.8,0,0,0-.8.8v5.22c0,.976.911,2.811,4.015,2.811s4.015-1.835,4.015-2.811v-5.22a.8.8,0,0,0-.8-.8Z" transform="translate(-2829.429 9797.507)" fill="#f5f5f5"/>
<g id="Group_42598" data-name="Group 42598" transform="translate(-2723.498 10027.024)">
<path id="Path_17252" data-name="Path 17252" d="M109.946,233.533h-4.015v-3.212a.8.8,0,0,1,.8-.8h3.212Z" transform="translate(-105.931 -229.518)" fill="#c8414b"/>
<path id="Path_17253" data-name="Path 17253" d="M150.069,273.656h4.015v2.008a2.007,2.007,0,0,1-2.008,2.008h0a2.007,2.007,0,0,1-2.008-2.008Z" transform="translate(-146.054 -269.641)" fill="#c8414b"/>
</g>
<path id="Path_17268" data-name="Path 17268" d="M105.931,273.656h4.015v2.008a2.007,2.007,0,0,1-2.008,2.008h0a2.007,2.007,0,0,1-2.008-2.008Z" transform="translate(-2829.429 9757.383)" fill="#fab446"/>
<g id="Group_42599" data-name="Group 42599" transform="translate(-2722.695 10031.039)">
<path id="Path_17255" data-name="Path 17255" d="M133.216,277.261v-3.6h-.8v3.975A1.987,1.987,0,0,0,133.216,277.261Z" transform="translate(-130.807 -273.656)" fill="#c8414b"/>
<path id="Path_17256" data-name="Path 17256" d="M115.561,277.631v-3.975h-.8v3.6A1.988,1.988,0,0,0,115.561,277.631Z" transform="translate(-114.758 -273.656)" fill="#c8414b"/>
</g>
<rect id="Rectangle_3483" data-name="Rectangle 3483" width="2.409" height="0.803" transform="translate(-2722.695 10029.434)" fill="#ffb441"/>
<g id="Group_42600" data-name="Group 42600" transform="translate(-2722.695 10027.827)">
<rect id="Rectangle_3468" data-name="Rectangle 3468" width="2.409" height="0.803" transform="translate(0 0)" fill="#fab446"/>
<rect id="Rectangle_3469" data-name="Rectangle 3469" width="1.606" height="1.455" transform="translate(0.401 0.478)" fill="#fab446"/>
</g>
<rect id="Rectangle_3484" data-name="Rectangle 3484" width="1.606" height="6.825" transform="translate(-2726.309 10027.827)" fill="#f5f5f5"/>
<g id="Group_42601" data-name="Group 42601" transform="translate(-2726.71 10027.024)">
<rect id="Rectangle_3471" data-name="Rectangle 3471" width="2.409" height="0.803" transform="translate(0 7.227)" fill="#fab446"/>
<rect id="Rectangle_3472" data-name="Rectangle 3472" width="2.409" height="0.803" transform="translate(0 0)" fill="#fab446"/>
</g>
<rect id="Rectangle_3485" data-name="Rectangle 3485" width="3.212" height="0.803" transform="translate(-2727.112 10035.054)" fill="#5064aa"/>
<rect id="Rectangle_3486" data-name="Rectangle 3486" width="2.409" height="0.803" transform="translate(-2714.263 10034.252)" fill="#fab446"/>
<rect id="Rectangle_3487" data-name="Rectangle 3487" width="3.212" height="0.803" transform="translate(-2715.067 10035.054)" fill="#5064aa"/>
<rect id="Rectangle_3488" data-name="Rectangle 3488" width="4.818" height="0.803" transform="translate(-2721.892 10026.222)" fill="#fab446"/>
<rect id="Rectangle_3489" data-name="Rectangle 3489" width="0.803" height="2.409" transform="translate(-2719.884 10023.813)" fill="#ffb441"/>
<g id="Group_42602" data-name="Group 42602" transform="translate(-2723.097 10022.608)">
<path id="Path_17257" data-name="Path 17257" d="M129.2,183.376a1.2,1.2,0,1,1,1.2-1.2A1.206,1.206,0,0,1,129.2,183.376Zm0-1.606a.4.4,0,1,0,.4.4A.4.4,0,0,0,129.2,181.77Z" transform="translate(-126.394 -180.967)" fill="#f5f5f5"/>
<path id="Path_17258" data-name="Path 17258" d="M146.86,183.376a1.2,1.2,0,1,1,1.2-1.2A1.206,1.206,0,0,1,146.86,183.376Zm0-1.606a.4.4,0,1,0,.4.4A.4.4,0,0,0,146.86,181.77Z" transform="translate(-142.444 -180.967)" fill="#f5f5f5"/>
<path id="Path_17259" data-name="Path 17259" d="M164.515,192.2a1.2,1.2,0,1,1,1.2-1.2A1.206,1.206,0,0,1,164.515,192.2Zm0-1.606a.4.4,0,1,0,.4.4A.4.4,0,0,0,164.515,190.6Z" transform="translate(-158.493 -188.992)" fill="#f5f5f5"/>
<path id="Path_17260" data-name="Path 17260" d="M111.549,192.2a1.2,1.2,0,1,1,1.2-1.2A1.206,1.206,0,0,1,111.549,192.2Zm0-1.606a.4.4,0,1,0,.4.4A.4.4,0,0,0,111.549,190.6Z" transform="translate(-110.345 -188.992)" fill="#f5f5f5"/>
</g>
<path id="Path_17269" data-name="Path 17269" d="M160.5,283.287v.4a.4.4,0,0,1-.8,0v-.4h.8m.8-.8H158.9v1.2a1.2,1.2,0,0,0,2.409,0v-1.2Z" transform="translate(-2877.576 9749.358)" fill="#fab446"/>
<path id="Path_17270" data-name="Path 17270" d="M164.113,240.754h0a.8.8,0,0,1-.8-.8v-.8a.8.8,0,0,1,.8-.8h0a.8.8,0,0,1,.8.8v.8A.8.8,0,0,1,164.113,240.754Z" transform="translate(-2881.589 9789.482)" fill="#ffa0d2"/>
<circle id="Ellipse_455" data-name="Ellipse 455" cx="1.204" cy="1.204" r="1.204" transform="translate(-2720.688 10029.835)" fill="#5064aa"/>
<rect id="Rectangle_3490" data-name="Rectangle 3490" width="0.803" height="2.409" transform="translate(-2719.884 10022.206)" fill="#fab446"/>
<path id="Path_17271" data-name="Path 17271" d="M115.561,196.617l-.8-.8.47-.47a3.877,3.877,0,0,1,2.742-1.136h0a3.878,3.878,0,0,1,2.742,1.136l.47.47-.8.8Z" transform="translate(-2837.453 9829.604)" fill="#c8414b"/>
<g id="Group_42603" data-name="Group 42603" transform="translate(-2721.491 10025.017)">
<circle id="Ellipse_456" data-name="Ellipse 456" cx="0.402" cy="0.402" r="0.402" transform="translate(1.606 0)" fill="#ffd250"/>
<circle id="Ellipse_457" data-name="Ellipse 457" cx="0.402" cy="0.402" r="0.402" transform="translate(0 0)" fill="#ffd250"/>
<circle id="Ellipse_458" data-name="Ellipse 458" cx="0.402" cy="0.402" r="0.402" transform="translate(3.212 0)" fill="#ffd250"/>
</g>
<g id="Group_42604" data-name="Group 42604" transform="translate(-2726.71 10029.434)">
<rect id="Rectangle_3479" data-name="Rectangle 3479" width="4.015" height="0.803" transform="translate(0 0)" fill="#c8414b"/>
<path id="Path_17264" data-name="Path 17264" d="M70.621,275.262l2.409-.8v-.8l-2.409.8Z" transform="translate(-70.621 -272.05)" fill="#c8414b"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.8 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 30 KiB

View File

@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" width="58.492" height="39.207" viewBox="0 0 58.492 39.207">
<g id="france" transform="translate(0.05 0.05)">
<rect id="Rectangle_2061" data-name="Rectangle 2061" width="58.392" height="39.107" transform="translate(0 0)" fill="#008837"/>
<rect id="Rectangle_2062" data-name="Rectangle 2062" width="58.393" height="39.107" transform="translate(0 0)" fill="#01a0c6"/>
<rect id="Rectangle_2063" data-name="Rectangle 2063" width="38.93" height="39.109" transform="translate(19.463 0)" fill="#fff"/>
<rect id="Rectangle_2064" data-name="Rectangle 2064" width="19.464" height="39.109" transform="translate(38.928 0)" fill="red"/>
<rect id="Rectangle_2065" data-name="Rectangle 2065" width="58.392" height="39.107" transform="translate(0 0)" fill="none" stroke="#000" stroke-width="0.1"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 857 B

View File

@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" width="58.492" height="39.208" viewBox="0 0 58.492 39.208">
<g id="italy" transform="translate(0.05 0.049)">
<rect id="Rectangle_2025" data-name="Rectangle 2025" width="58.392" height="39.108" transform="translate(0 0.001)" fill="#008837"/>
<rect id="Rectangle_2026" data-name="Rectangle 2026" width="58.392" height="39.108" transform="translate(0 0.001)" fill="#008837"/>
<rect id="Rectangle_2027" data-name="Rectangle 2027" width="38.929" height="39.109" transform="translate(19.463 0)" fill="#fff"/>
<rect id="Rectangle_2028" data-name="Rectangle 2028" width="19.464" height="39.109" transform="translate(38.927 0)" fill="red"/>
<rect id="Rectangle_2029" data-name="Rectangle 2029" width="58.392" height="39.108" transform="translate(0 0.001)" fill="none" stroke="#000" stroke-width="0.1"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 870 B

View File

@ -0,0 +1,8 @@
<svg xmlns="http://www.w3.org/2000/svg" width="58.492" height="39.207" viewBox="0 0 58.492 39.207">
<g id="hollanda" transform="translate(0.05 0.05)">
<rect id="Rectangle_2198" data-name="Rectangle 2198" width="58.392" height="39.107" transform="translate(0 0)" fill="#0a51a1"/>
<rect id="Rectangle_2199" data-name="Rectangle 2199" width="58.392" height="26.072" transform="translate(0 0)" fill="#fff"/>
<rect id="Rectangle_2200" data-name="Rectangle 2200" width="58.392" height="13.04" transform="translate(0 0)" fill="red"/>
<rect id="Rectangle_2201" data-name="Rectangle 2201" width="58.392" height="39.107" transform="translate(0 0)" fill="none" stroke="#000" stroke-width="0.1"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 717 B

View File

@ -0,0 +1,95 @@
<svg xmlns="http://www.w3.org/2000/svg" width="58.492" height="39.207" viewBox="0 0 58.492 39.207">
<g id="portugal" transform="translate(3216.895 -9838.745)">
<g id="ne" transform="translate(-3216.845 9838.795)">
<rect id="Rectangle_2198" data-name="Rectangle 2198" width="58.392" height="39.107" transform="translate(0 0)" fill="red"/>
<rect id="Rectangle_2200" data-name="Rectangle 2200" width="21.392" height="39.107" transform="translate(0 0)" fill="#008837"/>
<rect id="Rectangle_2201" data-name="Rectangle 2201" width="58.392" height="39.107" transform="translate(0 0)" fill="none" stroke="#000" stroke-width="0.1"/>
</g>
<g id="portugal-2" data-name="portugal" transform="translate(-3289.026 9678.97)">
<circle id="Ellipse_454" data-name="Ellipse 454" cx="8.581" cy="8.581" r="8.581" transform="translate(85.297 170.199)" fill="#fff"/>
<path id="Path_17136" data-name="Path 17136" d="M163.2,173.6a8.581,8.581,0,0,1,0,17.163" transform="translate(-69.321 -3.501)" fill="#f2efce"/>
<path id="Path_17137" data-name="Path 17137" d="M116.8,204.284h0a5.594,5.594,0,0,0,1.7,3.991,5.652,5.652,0,0,0,3.991,1.7,5.748,5.748,0,0,0,3.991-1.6,5.652,5.652,0,0,0,1.7-3.991h0V196.8H116.9l-.1,7.484M125.781,199v5.289h0v.4a2.742,2.742,0,0,1-1,1.9,3.484,3.484,0,0,1-2.395,1,3.682,3.682,0,0,1-2.395-1,3.484,3.484,0,0,1-1-2.395V198.9l6.785.1" transform="translate(-28.709 -23.807)" fill="#c60606"/>
<path id="Path_17138" data-name="Path 17138" d="M116.8,204.284h0a5.594,5.594,0,0,0,1.7,3.991,5.652,5.652,0,0,0,3.991,1.7v-2.2h0a3.682,3.682,0,0,1-2.395-1,3.484,3.484,0,0,1-1-2.395V199.1h3.393v-2.3H116.9Z" transform="translate(-28.709 -23.807)" fill="red"/>
<g id="Group_42587" data-name="Group 42587" transform="translate(90.885 178.481)">
<path id="Path_17139" data-name="Path 17139" d="M156.1,241.9h0a1.418,1.418,0,0,0,.2.6.723.723,0,0,0,1,0,.844.844,0,0,0,.2-.6v-1.1H156Z" transform="translate(-153.905 -240.8)" fill="#1477ef"/>
<path id="Path_17140" data-name="Path 17140" d="M156.1,262.7h0a1.418,1.418,0,0,0,.2.6.723.723,0,0,0,1,0,.733.733,0,0,0,.2-.6v-1.1H156Z" transform="translate(-153.905 -259.006)" fill="#1477ef"/>
<path id="Path_17141" data-name="Path 17141" d="M139.3,241.9h0a1.418,1.418,0,0,0,.2.6.723.723,0,0,0,1,0,.844.844,0,0,0,.2-.6v-1.1h-1.5Z" transform="translate(-139.2 -240.8)" fill="#1477ef"/>
</g>
<path id="Path_17142" data-name="Path 17142" d="M174.3,241.9v-1.1h-1.5v1.1h0a1.418,1.418,0,0,0,.2.6.723.723,0,0,0,1,0A.853.853,0,0,0,174.3,241.9Z" transform="translate(-77.724 -62.319)" fill="#005cb7"/>
<path id="Path_17143" data-name="Path 17143" d="M156.3,221.7a.723.723,0,0,0,1,0,.844.844,0,0,0,.2-.6V220H156v1.1h0A1.625,1.625,0,0,0,156.3,221.7Z" transform="translate(-63.019 -44.114)" fill="#1477ef"/>
<g id="Group_42588" data-name="Group 42588" transform="translate(88.391 172.993)">
<path id="Path_17144" data-name="Path 17144" d="M119.2,205.8h1.7a.1.1,0,1,0,0-.2h0l-.1-.6h0a.1.1,0,1,0,0-.2h-1.5a.1.1,0,1,0,0,.2h0v.6h0c-.1,0-.1.1-.1.2Zm.6-.6a.367.367,0,0,0-.1.3C119.7,205.4,119.8,205.3,119.8,205.2Z" transform="translate(-119.2 -203.802)" fill="#ff0"/>
<path id="Path_17145" data-name="Path 17145" d="M124.275,197.1h.4a.1.1,0,0,0,.1-.1v-.2h-.1v.1h-.1v-.1h-.1v.1h-.1v-.1h-.1v.3Z" transform="translate(-123.576 -196.8)" fill="#ff0"/>
<path id="Path_17146" data-name="Path 17146" d="M156.2,205.6h0l-.1-.6h0a.1.1,0,1,0,0-.2h-1.5a.1.1,0,1,0,0,.2h0l-.1.6h0a.1.1,0,0,0,0,.2h1.7c.1,0,.1,0,0-.2C156.3,205.7,156.3,205.6,156.2,205.6Zm-1.2-.1c0-.1.1-.2.1-.3C155.1,205.3,155,205.4,155,205.5Z" transform="translate(-150.009 -203.802)" fill="#ff0"/>
<path id="Path_17147" data-name="Path 17147" d="M119.475,204.2h1.6a.1.1,0,0,0,.1-.1h0a.1.1,0,0,0-.1-.1h-1.6c-.1.1-.1.1,0,.2Z" transform="translate(-119.375 -203.102)" fill="#ff0"/>
<path id="Path_17148" data-name="Path 17148" d="M125.2,199.2h-.4v.7h.4Z" transform="translate(-124.102 -198.901)" fill="#ff0"/>
<path id="Path_17149" data-name="Path 17149" d="M128.8,201.6h0v.4h.4v-.4h-.4Z" transform="translate(-127.603 -201.001)" fill="#ff0"/>
<path id="Path_17150" data-name="Path 17150" d="M128.2,200H128v.2h0a.1.1,0,0,0,.1.1h.4a.1.1,0,0,0,.1-.1h0V200h-.4Z" transform="translate(-126.902 -199.601)" fill="#ff0"/>
<path id="Path_17151" data-name="Path 17151" d="M120,200.2h.5a.1.1,0,0,0,.1-.1V200H120v.2Z" transform="translate(-119.9 -199.601)" fill="#ff0"/>
<path id="Path_17152" data-name="Path 17152" d="M120.8,202h.4l-.1-.4h-.3Z" transform="translate(-120.6 -201.001)" fill="#ff0"/>
<path id="Path_17153" data-name="Path 17153" d="M155.689,204.2h1.6a.1.1,0,0,0,.1-.1h0a.1.1,0,0,0-.1-.1h-1.6c0,.1-.1.1,0,.2Z" transform="translate(-151.099 -203.102)" fill="#ff0"/>
<path id="Path_17154" data-name="Path 17154" d="M160.1,197.1h.4a.1.1,0,0,0,.1-.1v-.2h-.1v.1h-.1v-.1h-.1v.1h-.1v-.1H160l.1.3Z" transform="translate(-154.911 -196.8)" fill="#ff0"/>
<path id="Path_17155" data-name="Path 17155" d="M161.2,199.2h-.4v.7h.4Z" transform="translate(-155.611 -198.901)" fill="#ff0"/>
<path id="Path_17156" data-name="Path 17156" d="M164.8,201.6h0v.4h.4v-.4h-.4Z" transform="translate(-159.112 -201.001)" fill="#ff0"/>
<path id="Path_17157" data-name="Path 17157" d="M164.9,200h-.1v.2h0a.1.1,0,0,0,.1.1h.3a.1.1,0,0,0,.1-.1h0V200h-.4Z" transform="translate(-159.112 -199.601)" fill="#ff0"/>
<path id="Path_17158" data-name="Path 17158" d="M156.275,200.2h.4a.1.1,0,0,0,.1-.1V200h-.5v.2Z" transform="translate(-151.585 -199.601)" fill="#ff0"/>
<path id="Path_17159" data-name="Path 17159" d="M156.8,201.6v.4h.4v-.4Z" transform="translate(-152.11 -201.001)" fill="#ff0"/>
</g>
<g id="Group_42589" data-name="Group 42589" transform="translate(97.371 172.993)">
<path id="Path_17160" data-name="Path 17160" d="M191.2,205.8h1.7a.1.1,0,0,0,0-.2h0l-.1-.6h0a.1.1,0,1,0,0-.2h-1.5a.1.1,0,0,0,0,.2h0v.6h0c-.1,0-.1.1-.1.2Zm.6-.6a.367.367,0,0,0-.1.3C191.7,205.4,191.8,205.3,191.8,205.2Z" transform="translate(-191.2 -203.802)" fill="#ffe600"/>
<path id="Path_17161" data-name="Path 17161" d="M191.475,204.2h1.6a.1.1,0,0,0,.1-.1h0a.1.1,0,0,0-.1-.1h-1.6c-.1.1-.1.1,0,.2Z" transform="translate(-191.375 -203.102)" fill="#ffe600"/>
<path id="Path_17162" data-name="Path 17162" d="M196.275,197.1h.4a.1.1,0,0,0,.1-.1v-.2h-.1v.1h-.1v-.1h-.1v.1h-.1v-.1h-.1v.3Z" transform="translate(-195.576 -196.8)" fill="#ffe600"/>
<path id="Path_17163" data-name="Path 17163" d="M197.2,199.2h-.4v.7h.4Z" transform="translate(-196.102 -198.901)" fill="#ffe600"/>
<path id="Path_17164" data-name="Path 17164" d="M200.8,201.6h0v.4h.4v-.4h-.4Z" transform="translate(-199.603 -201.001)" fill="#ffe600"/>
<path id="Path_17165" data-name="Path 17165" d="M200.1,200H200v.2h0a.1.1,0,0,0,.1.1h.4a.1.1,0,0,0,.1-.1h0V200h-.5Z" transform="translate(-198.902 -199.601)" fill="#ffe600"/>
<path id="Path_17166" data-name="Path 17166" d="M192,199.5h.5a.1.1,0,0,0,.1-.1v-.2h-.1v.1H192v.2Z" transform="translate(-191.9 -198.901)" fill="#ffe600"/>
<path id="Path_17167" data-name="Path 17167" d="M192.1,201.6l-.1.4h.4v-.4Z" transform="translate(-191.9 -201.001)" fill="#ffe600"/>
</g>
<g id="Group_42590" data-name="Group 42590" transform="translate(88.391 177.583)">
<path id="Path_17168" data-name="Path 17168" d="M121,242.5h0l-.5-.1h0l.5.1h0l-.2-.7h0a.1.1,0,0,0,.1-.1c0-.1,0-.1-.1-.1h-1.5a.1.1,0,0,0-.1.1c0,.1,0,.1.1.1h0v.6h0a.1.1,0,0,0,0,.2l1.7-.1Zm-1.3-.2c0-.1.1-.2.1-.3C119.8,242.1,119.7,242.2,119.7,242.3Z" transform="translate(-119.2 -240.602)" fill="#ff0"/>
<path id="Path_17169" data-name="Path 17169" d="M120.9,240.8h-1.6a.1.1,0,0,0-.1.1h0a.1.1,0,0,0,.1.1h1.6v-.2Z" transform="translate(-119.2 -239.902)" fill="#ff0"/>
<path id="Path_17170" data-name="Path 17170" d="M124,233.6h0v.2a.1.1,0,0,0,.1.1h.4a.1.1,0,0,0,.1-.1v-.2h-.1v.1h-.1v-.1h-.1v.1h-.1v-.1Z" transform="translate(-123.401 -233.6)" fill="#ff0"/>
<path id="Path_17171" data-name="Path 17171" d="M125.2,236h-.4v.6h.4Z" transform="translate(-124.102 -235.701)" fill="#ff0"/>
<path id="Path_17172" data-name="Path 17172" d="M129.2,238.4h-.4v.3h.4Z" transform="translate(-127.603 -237.801)" fill="#ff0"/>
<path id="Path_17173" data-name="Path 17173" d="M128.9,236h-.1v.2h0a.1.1,0,0,0,.1.1h.4a.1.1,0,0,0,.1-.1h0V236h-.1v.1h-.1V236Z" transform="translate(-127.603 -235.701)" fill="#ff0"/>
<path id="Path_17174" data-name="Path 17174" d="M120,235.3h0v.2h.4a.1.1,0,0,0,.1-.1v-.2h-.1v.1h-.1v-.1h-.1v.1h-.1v-.1H120Z" transform="translate(-119.9 -235)" fill="#ff0"/>
<path id="Path_17175" data-name="Path 17175" d="M120.8,238.4v.3h.4l-.1-.3h-.3Z" transform="translate(-120.6 -237.801)" fill="#ff0"/>
</g>
<g id="Group_42591" data-name="Group 42591" transform="translate(95.874 177.583)">
<path id="Path_17176" data-name="Path 17176" d="M192.4,279.3l-.1-.1-.3.2.3.3.2-.2h0Z" transform="translate(-190.403 -273.512)" fill="#ffe600"/>
<path id="Path_17177" data-name="Path 17177" d="M184.9,274.4h0a.1.1,0,0,0-.1.1l1.1,1.1h.1v-.1Z" transform="translate(-184.102 -269.311)" fill="#ffe600"/>
<path id="Path_17178" data-name="Path 17178" d="M181,276.3l-1.1-1.1h-.1v.1h0l-.5.4h0l.3.3h0l-.3-.3h-.1v.1l1.2,1.2h.1v-.1l-.3-.3h0l.3.3h0l.4-.5.1-.1Zm-1.2-.4a.367.367,0,0,1,.3-.1C180,275.8,179.9,275.9,179.8,275.9Z" transform="translate(-179.2 -270.011)" fill="#ffe600"/>
<path id="Path_17179" data-name="Path 17179" d="M192.8,272.2h0l.3.4h.1l.1-.1h0l-.1-.1-.1.1-.1-.1.1-.1h0l-.1-.1h0l-.1.1-.1-.1.1-.1-.1-.1h0Z" transform="translate(-191.104 -267.21)" fill="#ffe600"/>
<path id="Path_17180" data-name="Path 17180" d="M188.8,274.8l.3.3h0l.5-.4h0l-.3-.3Z" transform="translate(-187.603 -269.311)" fill="#ffe600"/>
<path id="Path_17181" data-name="Path 17181" d="M194.8,277.1h0l-.1-.1h0l-.1.1-.1-.1.1-.1-.1-.1h0l-.1.1h0v.1l.3.3h.1v-.2Z" transform="translate(-192.504 -271.412)" fill="#ffe600"/>
<path id="Path_17182" data-name="Path 17182" d="M188.3,271h0l.2-.1-.1-.1-.1.1-.1-.1.1-.1-.1-.1-.1.1-.1-.1.1-.1-.1-.1h0v.3Z" transform="translate(-186.902 -265.81)" fill="#ffe600"/>
<path id="Path_17183" data-name="Path 17183" d="M186.7,273.4l.2-.3h0l-.3-.3-.2.3h0Z" transform="translate(-185.502 -267.911)" fill="#ffe600"/>
<path id="Path_17184" data-name="Path 17184" d="M192.9,242.4h0l-.1-.6h0a.1.1,0,0,0,.1-.1c0-.1,0-.1-.1-.1h-1.5a.1.1,0,0,0-.1.1c0,.1,0,.1.1.1h0v.6h0a.1.1,0,0,0,0,.2H193c-.1,0,0-.1-.1-.2Zm-1.2-.1c0-.1.1-.2.1-.3A.367.367,0,0,0,191.7,242.3Z" transform="translate(-189.703 -240.602)" fill="#ffe600"/>
<path id="Path_17185" data-name="Path 17185" d="M192.9,240.8h-1.6a.1.1,0,0,0-.1.1h0a.1.1,0,0,0,.1.1h1.6v-.2Z" transform="translate(-189.703 -239.902)" fill="#ffe600"/>
<path id="Path_17186" data-name="Path 17186" d="M196,233.6h0v.2a.1.1,0,0,0,.1.1h.4a.1.1,0,0,0,.1-.1v-.2h-.1v.1h-.1v-.1h-.1v.1h-.1v-.1Z" transform="translate(-193.905 -233.6)" fill="#ffe600"/>
<path id="Path_17187" data-name="Path 17187" d="M196.4,236h-.3l-.1.6h.5Z" transform="translate(-193.905 -235.701)" fill="#ffe600"/>
<path id="Path_17188" data-name="Path 17188" d="M201.2,238.4h-.4v.3h.4Z" transform="translate(-198.106 -237.801)" fill="#ffe600"/>
<path id="Path_17189" data-name="Path 17189" d="M200.1,236H200v.2a.1.1,0,0,0,.1.1h.4a.1.1,0,0,0,.1-.1h0V236h-.1v.1h-.1V236Z" transform="translate(-197.406 -235.701)" fill="#ffe600"/>
<path id="Path_17190" data-name="Path 17190" d="M192.1,235.3H192v.2h.4a.1.1,0,0,0,.1-.1v-.2h-.1v.1h-.1v-.1l-.2.1Z" transform="translate(-190.403 -235)" fill="#ffe600"/>
<path id="Path_17191" data-name="Path 17191" d="M192,238.4h0v.3h.4v-.3H192Z" transform="translate(-190.403 -237.801)" fill="#ffe600"/>
</g>
<g id="Group_42592" data-name="Group 42592" transform="translate(89.289 182.173)">
<path id="Path_17192" data-name="Path 17192" d="M134.9,273.1l-.3-.3h0l-.2.3h0l.2.3Z" transform="translate(-133.402 -272.501)" fill="#ff0"/>
<path id="Path_17193" data-name="Path 17193" d="M132.2,275h0l-.4.3h0l.4-.3h0l-.5-.4h0v-.1h-.1v-.1h-.1l-1.1,1.1v.1h0v.1h0l.4.5.3-.3h0l-.3.3v.1h.1l1.2-1.2c.1,0,.1,0,.1-.1Zm-1.2.5a.367.367,0,0,0,.1.3C131.1,275.7,131,275.6,131,275.5Z" transform="translate(-129.901 -273.901)" fill="#ff0"/>
<path id="Path_17194" data-name="Path 17194" d="M128,272.4l.1.1h.1l.3-.3v-.1l-.2-.1h0l.1.1-.1.1-.1-.1h0l-.1.1h0l.1.1-.1.1Z" transform="translate(-127.8 -271.8)" fill="#ff0"/>
<path id="Path_17195" data-name="Path 17195" d="M132,274.4Z" transform="translate(-131.302 -273.901)" fill="#ff0"/>
<path id="Path_17196" data-name="Path 17196" d="M129.9,274.4l-.3.3h0l.4.4.3-.3h0Z" transform="translate(-129.201 -273.901)" fill="#ff0"/>
<path id="Path_17197" data-name="Path 17197" d="M132.9,270.7h0v0l-.1.1h0l.1.1h.1l.3-.3v-.1h0l-.1-.1-.2.2h0l.1.1-.1.1-.1-.1Z" transform="translate(-132.002 -270.4)" fill="#ff0"/>
<path id="Path_17198" data-name="Path 17198" d="M126.9,277.7l-.1-.1-.1.1.1.1-.1.1-.1-.2v.1l.1.1h-.1l-.1-.1-.1.1h0l.1.1h.1l.3-.3Z" transform="translate(-126.4 -276.702)" fill="#ff0"/>
<path id="Path_17199" data-name="Path 17199" d="M128.6,279.4l-.3-.2h0l-.3.2.3.3Z" transform="translate(-127.8 -278.102)" fill="#ff0"/>
</g>
<path id="Path_17200" data-name="Path 17200" d="M93.779,169.6a9.779,9.779,0,1,0,9.779,9.779A9.795,9.795,0,0,0,93.779,169.6Zm5.887,3.093v7.783h0a5.892,5.892,0,0,1-1.7,4.091,5.716,5.716,0,0,1-4.191,1.7,5.892,5.892,0,0,1-4.091-1.7,5.652,5.652,0,0,1-1.7-4.091h0v-7.783Z" fill="#ffe600"/>
<path id="Path_17201" data-name="Path 17201" d="M84,180.733a9.8,9.8,0,0,0,9.779,9.779h0v-2.794h0a5.892,5.892,0,0,1-4.091-1.7,5.652,5.652,0,0,1-1.7-4.091h0v-7.783h5.887v-2.994h0A9.527,9.527,0,0,0,84,180.733Z" transform="translate(0 -1.355)" fill="#ff0"/>
<g id="Group_42593" data-name="Group 42593" transform="translate(93.779 175.986)">
<path id="Path_17202" data-name="Path 17202" d="M162.4,242.7h0a1.418,1.418,0,0,0,.6-.2.844.844,0,0,0,.2-.6v-1.1h-.8v1.9Z" transform="translate(-162.4 -238.305)" fill="#005cb7"/>
<path id="Path_17203" data-name="Path 17203" d="M162.4,222.7h0a1.418,1.418,0,0,0,.6-.2c.2-.1.2-.3.2-.6v-1.1h-.8v1.9Z" transform="translate(-162.4 -220.8)" fill="#005cb7"/>
<path id="Path_17204" data-name="Path 17204" d="M162.4,263.5h0a1.418,1.418,0,0,0,.6-.2c.2-.1.2-.3.2-.6v-1.1h-.8v1.9Z" transform="translate(-162.4 -256.511)" fill="#005cb7"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -0,0 +1,8 @@
<svg xmlns="http://www.w3.org/2000/svg" width="58.492" height="39.207" viewBox="0 0 58.492 39.207">
<g id="rusya" transform="translate(0.05 0.05)">
<rect id="Rectangle_2198" data-name="Rectangle 2198" width="58.392" height="39.107" transform="translate(0 0)" fill="red"/>
<rect id="Rectangle_2199" data-name="Rectangle 2199" width="58.392" height="26.072" transform="translate(0 0)" fill="#0a51a1"/>
<rect id="Rectangle_2200" data-name="Rectangle 2200" width="58.392" height="13.04" transform="translate(0 0)" fill="#fff"/>
<rect id="Rectangle_2201" data-name="Rectangle 2201" width="58.392" height="39.107" transform="translate(0 0)" fill="none" stroke="#000" stroke-width="0.1"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 714 B

View File

@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" width="58.497" height="39.208" viewBox="0 0 58.497 39.208">
<g id="tr" transform="translate(0.05 0.05)">
<rect id="Rectangle_1998" data-name="Rectangle 1998" width="58.397" height="39.108" transform="translate(0 0)" fill="red" stroke="#000" stroke-width="0.1"/>
<path id="Path_1586" data-name="Path 1586" d="M429.112,314.207l3.649,1.188-2.248-3.11,2.253-3.1-3.645,1.18-2.256-3.106,0,3.839-3.648,1.181,3.645,1.192v3.837Z" transform="translate(-394.661 -292.613)" fill="#fff"/>
<path id="Path_1587" data-name="Path 1587" d="M407.812,318.243a8.346,8.346,0,1,1,5.645-14.493,10.285,10.285,0,1,0,0,12.292A8.321,8.321,0,0,1,407.812,318.243Z" transform="translate(-385.8 -290.218)" fill="#fff"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 756 B

View File

@ -0,0 +1,12 @@
<svg xmlns="http://www.w3.org/2000/svg" width="33.56" height="19.582" viewBox="0 0 33.56 19.582">
<g id="zh" transform="translate(-3704 -518)">
<rect id="Rectangle_5" data-name="Rectangle 5" width="33.56" height="19.582" transform="translate(3704 518)" fill="#d80027"/>
<g id="Group_41368" data-name="Group 41368" transform="translate(3710.703 522.995)">
<path id="Path_11050" data-name="Path 11050" d="M120.4,189.567l.841,2.588h2.721l-2.2,1.6.841,2.588-2.2-1.6-2.2,1.6.841-2.588-2.2-1.6h2.721Z" transform="translate(-116.837 -188.582)" fill="#ffda44"/>
<path id="Path_11051" data-name="Path 11051" d="M235.789,297.848l-.826-.6-.825.6.315-.97-.825-.6h1.02l.315-.97.315.97h1.02l-.826.6Z" transform="translate(-226.928 -288.256)" fill="#ffda44"/>
<path id="Path_11052" data-name="Path 11052" d="M264.944,262.127h-1.02l-.315.97-.315-.97h-1.02l.826-.6-.315-.97.826.6.825-.6-.315.97Z" transform="translate(-253.93 -255.499)" fill="#ffda44"/>
<path id="Path_11053" data-name="Path 11053" d="M264.944,208.117l-.825.6.315.97-.825-.6-.826.6.315-.971-.826-.6h1.02l.315-.97.315.97Z" transform="translate(-253.93 -205.153)" fill="#ffda44"/>
<path id="Path_11054" data-name="Path 11054" d="M235.79,172.4l-.315.97.825.6h-1.02l-.315.971-.315-.971h-1.02l.825-.6-.315-.97.825.6Z" transform="translate(-226.929 -172.396)" fill="#ffda44"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -145,6 +145,10 @@ $(document).ready(function () {
filter.checkUser(); filter.checkUser();
}); });
$('.filter-box>div:first-child').on('click', function () {
$(this).siblings().toggleClass('d-none');
})
// Country filter // Country filter
const locationFilter = $("select[name=filter_country]") const locationFilter = $("select[name=filter_country]")
locationFilter.select2({ locationFilter.select2({

View File

@ -3,8 +3,6 @@ function showLoader() {
} }
var filter = {}; var filter = {};
// TODO will be unified // TODO will be unified
@ -265,4 +263,34 @@ $(document).ready(function () {
return true; return true;
}) })
$('#configurationForm').submit(function (e) {
e.preventDefault();
crudAjax($(this).serialize(), '/advs/configuration/ajax/create', 'POST', function (callback) {
$('.configuration-table').append(`<tr id="configuration-${callback.id}">
<td>${callback.option_name}</td>
<td>${callback.stock}</td>
<td>${callback.currency_price}</td>
<td class="text-right">
<a href="javascript:void(0)" class="btn btn-sm remove-conf" data-id="${callback.id}"><svg id="Group_42321" data-name="Group 42321" xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30">
<g id="Group_15874" data-name="Group 15874">
<path id="Path_10381" data-name="Path 10381" d="M15,0A15,15,0,1,1,0,15,15,15,0,0,1,15,0Z" fill="#f8f8f8"></path>
<path id="close" d="M10.557.6l-.6-.6L5.278,4.675.6,0,0,.6,4.675,5.278,0,9.953l.6.6L5.278,5.882l4.675,4.675.6-.6L5.882,5.278Z" transform="translate(9.5 9.5)" fill="#c7c7c7" stroke="#c7c7c7" stroke-linecap="round" stroke-linejoin="round" stroke-width="0.7"></path>
</g>
</svg>
</a>
</td>
</tr>`);
$('#configurationForm').trigger("reset");
})
});
$(document).on('click', '.remove-conf', function () {
const id = $(this).data('id');
crudAjax({id: id}, '/advs/configuration/ajax/delete', 'POST', function (callback) {
$('#configuration-' + id).remove();
})
});
}); });

View File

@ -254,9 +254,6 @@ return [
'name' => 'KRY Kategorieë', 'name' => 'KRY Kategorieë',
'instructions' => 'Dit verteenwoordig die kategorieë waarin die GET-eiendom geldig sal wees.' 'instructions' => 'Dit verteenwoordig die kategorieë waarin die GET-eiendom geldig sal wees.'
], ],
'disable_sentry' => [
'name' => 'Skakel wagwag uit'
],
'watermark' => [ 'watermark' => [
'name' => 'Watermerk', 'name' => 'Watermerk',
'instructions' => 'Is watermerk aktief?' 'instructions' => 'Is watermerk aktief?'

View File

@ -254,9 +254,6 @@ return [
'name' => 'فئات GET', 'name' => 'فئات GET',
'instructions' => 'إنه يمثل الفئات التي ستكون فيها خاصية GET صالحة.' 'instructions' => 'إنه يمثل الفئات التي ستكون فيها خاصية GET صالحة.'
], ],
'disable_sentry' => [
'name' => 'تعطيل الحارس'
],
'watermark' => [ 'watermark' => [
'name' => 'علامة مائية', 'name' => 'علامة مائية',
'instructions' => 'هل العلامة المائية نشطة؟' 'instructions' => 'هل العلامة المائية نشطة؟'

View File

@ -254,9 +254,6 @@ return [
'name' => 'Kateqoriyalar alın', 'name' => 'Kateqoriyalar alın',
'instructions' => 'GET mülkiyyətinin etibarlı olacağı kateqoriyanı təmsil edir.' 'instructions' => 'GET mülkiyyətinin etibarlı olacağı kateqoriyanı təmsil edir.'
], ],
'disable_sentry' => [
'name' => 'Nöqtəni deaktiv edin'
],
'watermark' => [ 'watermark' => [
'name' => 'Filigran', 'name' => 'Filigran',
'instructions' => 'Filigran aktivdir?' 'instructions' => 'Filigran aktivdir?'

View File

@ -254,9 +254,6 @@ return [
'name' => 'ВЗЕМЕТЕ Категории', 'name' => 'ВЗЕМЕТЕ Категории',
'instructions' => 'Той представлява категориите, в които свойството GET ще бъде валидно.' 'instructions' => 'Той представлява категориите, в които свойството GET ще бъде валидно.'
], ],
'disable_sentry' => [
'name' => 'Деактивирайте Sentry'
],
'watermark' => [ 'watermark' => [
'name' => 'Воден знак', 'name' => 'Воден знак',
'instructions' => 'Активен ли е водният знак?' 'instructions' => 'Активен ли е водният знак?'

View File

@ -254,9 +254,6 @@ return [
'name' => 'GET বিভাগসমূহ', 'name' => 'GET বিভাগসমূহ',
'instructions' => 'এটি এমন বিভাগগুলিতে প্রতিনিধিত্ব করে যেখানে জিইটি সম্পত্তি বৈধ হবে।' 'instructions' => 'এটি এমন বিভাগগুলিতে প্রতিনিধিত্ব করে যেখানে জিইটি সম্পত্তি বৈধ হবে।'
], ],
'disable_sentry' => [
'name' => 'সেন্ট্রি অক্ষম করুন'
],
'watermark' => [ 'watermark' => [
'name' => 'ওয়াটারমার্ক', 'name' => 'ওয়াটারমার্ক',
'instructions' => 'জলছবি সক্রিয়?' 'instructions' => 'জলছবি সক্রিয়?'

View File

@ -254,9 +254,6 @@ return [
'name' => 'GET Categories', 'name' => 'GET Categories',
'instructions' => 'Representa les categories en què la propietat GET serà vàlida.' 'instructions' => 'Representa les categories en què la propietat GET serà vàlida.'
], ],
'disable_sentry' => [
'name' => 'Desactiva Sentry'
],
'watermark' => [ 'watermark' => [
'name' => 'Filigrana', 'name' => 'Filigrana',
'instructions' => 'La filigrana està activa?' 'instructions' => 'La filigrana està activa?'

View File

@ -254,9 +254,6 @@ return [
'name' => 'ZÍSKEJTE kategorie', 'name' => 'ZÍSKEJTE kategorie',
'instructions' => 'Představuje kategorie, ve kterých bude vlastnost GET platná.' 'instructions' => 'Představuje kategorie, ve kterých bude vlastnost GET platná.'
], ],
'disable_sentry' => [
'name' => 'Zakázat Sentry'
],
'watermark' => [ 'watermark' => [
'name' => 'Vodoznak', 'name' => 'Vodoznak',
'instructions' => 'Je vodoznak aktivní?' 'instructions' => 'Je vodoznak aktivní?'

View File

@ -254,9 +254,6 @@ return [
'name' => 'FÅ kategorier', 'name' => 'FÅ kategorier',
'instructions' => 'Det repræsenterer de kategorier, hvor GET-ejendommen er gyldig.' 'instructions' => 'Det repræsenterer de kategorier, hvor GET-ejendommen er gyldig.'
], ],
'disable_sentry' => [
'name' => 'Deaktiver vagtpost'
],
'watermark' => [ 'watermark' => [
'name' => 'Vandmærke', 'name' => 'Vandmærke',
'instructions' => 'Er vandmærke aktivt?' 'instructions' => 'Er vandmærke aktivt?'

View File

@ -254,9 +254,6 @@ return [
'name' => 'Kategorien abrufen', 'name' => 'Kategorien abrufen',
'instructions' => 'Es stellt die Kategorien dar, in denen die GET-Eigenschaft gültig ist.' 'instructions' => 'Es stellt die Kategorien dar, in denen die GET-Eigenschaft gültig ist.'
], ],
'disable_sentry' => [
'name' => 'Sentry deaktivieren'
],
'watermark' => [ 'watermark' => [
'name' => 'Wasserzeichen', 'name' => 'Wasserzeichen',
'instructions' => 'Ist das Wasserzeichen aktiv?' 'instructions' => 'Ist das Wasserzeichen aktiv?'

View File

@ -254,9 +254,6 @@ return [
'name' => 'GET Κατηγορίες', 'name' => 'GET Κατηγορίες',
'instructions' => 'Αντιπροσωπεύει τις κατηγορίες στις οποίες η ιδιότητα GET θα είναι έγκυρη.' 'instructions' => 'Αντιπροσωπεύει τις κατηγορίες στις οποίες η ιδιότητα GET θα είναι έγκυρη.'
], ],
'disable_sentry' => [
'name' => 'Απενεργοποιήστε το Sentry'
],
'watermark' => [ 'watermark' => [
'name' => 'Στάθμη ύδατος', 'name' => 'Στάθμη ύδατος',
'instructions' => 'Είναι ενεργό το υδατογράφημα;' 'instructions' => 'Είναι ενεργό το υδατογράφημα;'

View File

@ -1,6 +1,7 @@
<?php <?php
return [ return [
'add' => 'Add',
'new_adv' => 'New classified', 'new_adv' => 'New classified',
'new_classified' => 'New classified', 'new_classified' => 'New classified',
'new_category' => 'New Category', 'new_category' => 'New Category',

View File

@ -382,4 +382,5 @@ return [
], ],
'name_a_z' => 'Name (A to Z)', 'name_a_z' => 'Name (A to Z)',
'name_z_a' => 'Name (Z to A)', 'name_z_a' => 'Name (Z to A)',
'select_lang_ads' => 'select the language of the ads',
]; ];

View File

@ -254,9 +254,6 @@ return [
'name' => 'GET Categories', 'name' => 'GET Categories',
'instructions' => 'It represents the categories in which the GET property will be valid.' 'instructions' => 'It represents the categories in which the GET property will be valid.'
], ],
'disable_sentry' => [
'name' => 'Disable Sentry'
],
'watermark' => [ 'watermark' => [
'name' => 'Watermark', 'name' => 'Watermark',
'instructions' => 'Is watermark active?' 'instructions' => 'Is watermark active?'
@ -285,5 +282,13 @@ return [
], ],
'hide_contact_created_at' => [ 'hide_contact_created_at' => [
'name' => 'Hide Contact Fields For in Create New Ad' 'name' => 'Hide Contact Fields For in Create New Ad'
] ],
'show_input_flag' => [
'name' => 'Show Flags on Input',
'instructions' => 'Show flag and description on translatable inputs'
],
'hide_out_of_stock_products_without_listing' => [
'name' => 'Hide out of stock products without listing',
'instructions' => 'Hides out-of-stock GET products from listing and homepage'
],
]; ];

View File

@ -254,9 +254,6 @@ return [
'name' => 'OBTENER Categorías', 'name' => 'OBTENER Categorías',
'instructions' => 'Representa las categorías en las que será válida la propiedad GET.' 'instructions' => 'Representa las categorías en las que será válida la propiedad GET.'
], ],
'disable_sentry' => [
'name' => 'Desactivar centinela'
],
'watermark' => [ 'watermark' => [
'name' => 'Filigrana', 'name' => 'Filigrana',
'instructions' => '¿Está activa la marca de agua?' 'instructions' => '¿Está activa la marca de agua?'

View File

@ -255,9 +255,6 @@ return [
'name' => 'دسته ها را دریافت کنید', 'name' => 'دسته ها را دریافت کنید',
'instructions' => 'این نشان دهنده دسته هایی است که ویژگی GET در آنها معتبر خواهد بود.' 'instructions' => 'این نشان دهنده دسته هایی است که ویژگی GET در آنها معتبر خواهد بود.'
], ],
'disable_sentry' => [
'name' => 'Sentry را غیرفعال کنید'
],
'watermark' => [ 'watermark' => [
'name' => 'علامت', 'name' => 'علامت',
'instructions' => 'آیا علامت علامت فعال است؟' 'instructions' => 'آیا علامت علامت فعال است؟'

View File

@ -254,9 +254,6 @@ return [
'name' => 'HANKI luokkia', 'name' => 'HANKI luokkia',
'instructions' => 'Se edustaa luokkia, joissa GET-ominaisuus on voimassa.' 'instructions' => 'Se edustaa luokkia, joissa GET-ominaisuus on voimassa.'
], ],
'disable_sentry' => [
'name' => 'Poista Sentry käytöstä'
],
'watermark' => [ 'watermark' => [
'name' => 'Vesileima', 'name' => 'Vesileima',
'instructions' => 'Onko vesileima aktiivinen?' 'instructions' => 'Onko vesileima aktiivinen?'

View File

@ -254,9 +254,6 @@ return [
'name' => 'OBTENIR Catégories', 'name' => 'OBTENIR Catégories',
'instructions' => 'Il représente les catégories dans lesquelles la propriété GET sera valide.' 'instructions' => 'Il représente les catégories dans lesquelles la propriété GET sera valide.'
], ],
'disable_sentry' => [
'name' => 'Désactiver Sentry'
],
'watermark' => [ 'watermark' => [
'name' => 'Filigrane', 'name' => 'Filigrane',
'instructions' => 'Le filigrane est-il actif?' 'instructions' => 'Le filigrane est-il actif?'

View File

@ -254,9 +254,6 @@ return [
'name' => 'קבל קטגוריות', 'name' => 'קבל קטגוריות',
'instructions' => 'הוא מייצג את הקטגוריות בהן נכס ה- GET יהיה תקף.' 'instructions' => 'הוא מייצג את הקטגוריות בהן נכס ה- GET יהיה תקף.'
], ],
'disable_sentry' => [
'name' => 'השבת זקיף'
],
'watermark' => [ 'watermark' => [
'name' => 'סימן מים', 'name' => 'סימן מים',
'instructions' => 'האם סימן מים פעיל?' 'instructions' => 'האם סימן מים פעיל?'

View File

@ -254,9 +254,6 @@ return [
'name' => 'श्रेणियाँ प्राप्त करें', 'name' => 'श्रेणियाँ प्राप्त करें',
'instructions' => 'यह उन श्रेणियों का प्रतिनिधित्व करता है जिनमें GET संपत्ति मान्य होगी।' 'instructions' => 'यह उन श्रेणियों का प्रतिनिधित्व करता है जिनमें GET संपत्ति मान्य होगी।'
], ],
'disable_sentry' => [
'name' => 'संतरी अक्षम करें'
],
'watermark' => [ 'watermark' => [
'name' => 'वाटर-मार्क', 'name' => 'वाटर-मार्क',
'instructions' => 'क्या वॉटरमार्क सक्रिय है?' 'instructions' => 'क्या वॉटरमार्क सक्रिय है?'

View File

@ -254,9 +254,6 @@ return [
'name' => 'GET Kategóriák', 'name' => 'GET Kategóriák',
'instructions' => 'Azokat a kategóriákat képviseli, amelyekben a GET tulajdonság érvényes lesz.' 'instructions' => 'Azokat a kategóriákat képviseli, amelyekben a GET tulajdonság érvényes lesz.'
], ],
'disable_sentry' => [
'name' => 'Letiltja a Sentry szolgáltatást'
],
'watermark' => [ 'watermark' => [
'name' => 'Vízjel', 'name' => 'Vízjel',
'instructions' => 'A vízjel aktív?' 'instructions' => 'A vízjel aktív?'

View File

@ -254,9 +254,6 @@ return [
'name' => 'DAPATKAN Kategori', 'name' => 'DAPATKAN Kategori',
'instructions' => 'Ini mewakili kategori di mana properti GET akan berlaku.' 'instructions' => 'Ini mewakili kategori di mana properti GET akan berlaku.'
], ],
'disable_sentry' => [
'name' => 'Nonaktifkan Sentry'
],
'watermark' => [ 'watermark' => [
'name' => 'Tanda air', 'name' => 'Tanda air',
'instructions' => 'Apakah watermark aktif?' 'instructions' => 'Apakah watermark aktif?'

View File

@ -254,9 +254,6 @@ return [
'name' => 'OTTIENI Categorie', 'name' => 'OTTIENI Categorie',
'instructions' => 'Rappresenta le categorie in cui sarà valida la proprietà GET.' 'instructions' => 'Rappresenta le categorie in cui sarà valida la proprietà GET.'
], ],
'disable_sentry' => [
'name' => 'Disabilita Sentry'
],
'watermark' => [ 'watermark' => [
'name' => 'Filigrana', 'name' => 'Filigrana',
'instructions' => 'La filigrana è attiva?' 'instructions' => 'La filigrana è attiva?'

View File

@ -254,9 +254,6 @@ return [
'name' => 'カテゴリを取得', 'name' => 'カテゴリを取得',
'instructions' => 'これは、GETプロパティが有効になるカテゴリを表します。' 'instructions' => 'これは、GETプロパティが有効になるカテゴリを表します。'
], ],
'disable_sentry' => [
'name' => 'セントリーを無効にする'
],
'watermark' => [ 'watermark' => [
'name' => '透かし', 'name' => '透かし',
'instructions' => '透かしはアクティブですか?' 'instructions' => '透かしはアクティブですか?'

View File

@ -254,9 +254,6 @@ return [
'name' => 'GET 카테고리', 'name' => 'GET 카테고리',
'instructions' => 'GET 속성이 유효한 범주를 나타냅니다.' 'instructions' => 'GET 속성이 유효한 범주를 나타냅니다.'
], ],
'disable_sentry' => [
'name' => '센트리 비활성화'
],
'watermark' => [ 'watermark' => [
'name' => '양수표', 'name' => '양수표',
'instructions' => '워터 마크가 활성화되어 있습니까?' 'instructions' => '워터 마크가 활성화되어 있습니까?'

View File

@ -254,9 +254,6 @@ return [
'name' => 'Kategoriyan bistînin', 'name' => 'Kategoriyan bistînin',
'instructions' => 'Ew kategoriyên ku tê de taybetmendiya GET dê derbasdar be temsîl dike.' 'instructions' => 'Ew kategoriyên ku tê de taybetmendiya GET dê derbasdar be temsîl dike.'
], ],
'disable_sentry' => [
'name' => 'Sentry Disable'
],
'watermark' => [ 'watermark' => [
'name' => 'Watermark', 'name' => 'Watermark',
'instructions' => 'Watermark çalak e?' 'instructions' => 'Watermark çalak e?'

View File

@ -45,7 +45,7 @@ return [
], ],
'currencies' => [ 'currencies' => [
'name' => 'Actieve valuta\\'s', 'name' => 'Actieve valuta\'s',
], ],
'latest-limit' => [ 'latest-limit' => [
'name' => 'Laatste limiet', 'name' => 'Laatste limiet',
@ -123,7 +123,7 @@ return [
'name' => 'Verberg aanbieding standaardprijs', 'name' => 'Verberg aanbieding standaardprijs',
], ],
'enabled_currencies' => [ 'enabled_currencies' => [
'name' => 'Ingeschakelde valuta\\'s', 'name' => 'Ingeschakelde valuta\'s',
], ],
'google_statistic_code' => [ 'google_statistic_code' => [
'name' => 'Google-statistiekcode', 'name' => 'Google-statistiekcode',
@ -254,9 +254,6 @@ zullen niet zichtbaar zijn en ontzegt u van het bedrijfslidmaatschap.'
'name' => 'GET Categorieën', 'name' => 'GET Categorieën',
'instructions' => 'Het vertegenwoordigt de categorieën waarin de eigenschap GET geldig zal zijn.' 'instructions' => 'Het vertegenwoordigt de categorieën waarin de eigenschap GET geldig zal zijn.'
], ],
'disable_sentry' => [
'name' => 'Schakel Sentry uit'
],
'watermark' => [ 'watermark' => [
'name' => 'Watermerk', 'name' => 'Watermerk',
'instructions' => 'Is watermerk actief?' 'instructions' => 'Is watermerk actief?'

View File

@ -254,9 +254,6 @@ return [
'name' => 'FÅ kategorier', 'name' => 'FÅ kategorier',
'instructions' => 'Den representerer kategoriene der GET-egenskapen vil være gyldig.' 'instructions' => 'Den representerer kategoriene der GET-egenskapen vil være gyldig.'
], ],
'disable_sentry' => [
'name' => 'Deaktiver vaktpost'
],
'watermark' => [ 'watermark' => [
'name' => 'Vannmerke', 'name' => 'Vannmerke',
'instructions' => 'Er vannmerke aktivt?' 'instructions' => 'Er vannmerke aktivt?'

View File

@ -254,9 +254,6 @@ return [
'name' => 'POBIERZ kategorie', 'name' => 'POBIERZ kategorie',
'instructions' => 'Reprezentuje kategorie, w których właściwość GET będzie ważna.' 'instructions' => 'Reprezentuje kategorie, w których właściwość GET będzie ważna.'
], ],
'disable_sentry' => [
'name' => 'Wyłącz Sentry'
],
'watermark' => [ 'watermark' => [
'name' => 'znak wodny', 'name' => 'znak wodny',
'instructions' => 'Czy znak wodny jest aktywny?' 'instructions' => 'Czy znak wodny jest aktywny?'

View File

@ -192,16 +192,16 @@ return [
'name' => 'Altura da tela da imagem', 'name' => 'Altura da tela da imagem',
], ],
'watermark_type' => [ 'watermark_type' => [
'name' => 'Tipo de marca d\\'água', 'name' => 'Tipo de marca d\'água',
], ],
'watermark_text' => [ 'watermark_text' => [
'name' => 'Texto de marca d\\'água', 'name' => 'Texto de marca d\'água',
], ],
'watermark_image' => [ 'watermark_image' => [
'name' => 'Imagem de marca d\\'água', 'name' => 'Imagem de marca d\'água',
], ],
'watermark_position' => [ 'watermark_position' => [
'name' => 'Posição da marca d\\'água', 'name' => 'Posição da marca d\'água',
], ],
'user_filter_limit' => [ 'user_filter_limit' => [
'name' => 'Limite de filtro de usuário', 'name' => 'Limite de filtro de usuário',
@ -254,9 +254,6 @@ return [
'name' => 'GET Categorias', 'name' => 'GET Categorias',
'instructions' => 'Representa as categorias nas quais a propriedade GET será válida.' 'instructions' => 'Representa as categorias nas quais a propriedade GET será válida.'
], ],
'disable_sentry' => [
'name' => 'Desativar Sentinela'
],
'watermark' => [ 'watermark' => [
'name' => 'Marca d\'água', 'name' => 'Marca d\'água',
'instructions' => 'A marca d\'água está ativa?' 'instructions' => 'A marca d\'água está ativa?'

View File

@ -254,9 +254,6 @@ return [
'name' => 'GET Categorii', 'name' => 'GET Categorii',
'instructions' => 'Reprezintă categoriile în care proprietatea GET va fi validă.' 'instructions' => 'Reprezintă categoriile în care proprietatea GET va fi validă.'
], ],
'disable_sentry' => [
'name' => 'Dezactivați Sentinela'
],
'watermark' => [ 'watermark' => [
'name' => 'Filigran', 'name' => 'Filigran',
'instructions' => 'Filigranul este activ?' 'instructions' => 'Filigranul este activ?'

View File

@ -254,9 +254,6 @@ return [
'name' => 'Получить Категории', 'name' => 'Получить Категории',
'instructions' => 'Он представляет категории, в которых будет действовать свойство GET.' 'instructions' => 'Он представляет категории, в которых будет действовать свойство GET.'
], ],
'disable_sentry' => [
'name' => 'Отключить Sentry'
],
'watermark' => [ 'watermark' => [
'name' => 'Водяной знак', 'name' => 'Водяной знак',
'instructions' => 'Водяной знак активен?' 'instructions' => 'Водяной знак активен?'

View File

@ -254,9 +254,6 @@ return [
'name' => 'GET Kategoritë', 'name' => 'GET Kategoritë',
'instructions' => 'Ai përfaqëson kategoritë në të cilat prona GET do të jetë e vlefshme.' 'instructions' => 'Ai përfaqëson kategoritë në të cilat prona GET do të jetë e vlefshme.'
], ],
'disable_sentry' => [
'name' => 'Çaktivizo rojet'
],
'watermark' => [ 'watermark' => [
'name' => 'Filigranë', 'name' => 'Filigranë',
'instructions' => 'A është ujëra aktive?' 'instructions' => 'A është ujëra aktive?'

View File

@ -254,9 +254,6 @@ return [
'name' => 'GET Kategorije', 'name' => 'GET Kategorije',
'instructions' => 'Predstavlja kategorije u kojima će GET svojstvo biti važeće.' 'instructions' => 'Predstavlja kategorije u kojima će GET svojstvo biti važeće.'
], ],
'disable_sentry' => [
'name' => 'Isključite Sentry'
],
'watermark' => [ 'watermark' => [
'name' => 'Vodeni žig', 'name' => 'Vodeni žig',
'instructions' => 'Da li je aktivan vodeni žig?' 'instructions' => 'Da li je aktivan vodeni žig?'

View File

@ -254,9 +254,6 @@ return [
'name' => 'Hämta kategorier', 'name' => 'Hämta kategorier',
'instructions' => 'Det representerar de kategorier i vilka GET-egenskapen är giltig.' 'instructions' => 'Det representerar de kategorier i vilka GET-egenskapen är giltig.'
], ],
'disable_sentry' => [
'name' => 'Inaktivera vaktpost'
],
'watermark' => [ 'watermark' => [
'name' => 'Vattenstämpel', 'name' => 'Vattenstämpel',
'instructions' => 'Är vattenstämpel aktivt?' 'instructions' => 'Är vattenstämpel aktivt?'

View File

@ -1,6 +1,7 @@
<?php <?php
return [ return [
'add' => 'Ekle',
'new_adv' => 'Yeni ürün/ilan', 'new_adv' => 'Yeni ürün/ilan',
'new_classified' => 'Yeni ürün/ilan', 'new_classified' => 'Yeni ürün/ilan',
'new_category' => 'Yeni kategori', 'new_category' => 'Yeni kategori',
@ -33,6 +34,7 @@ return [
'name' => 'Kategori Güncelle' 'name' => 'Kategori Güncelle'
], ],
'new_option' => 'Yeni Seçenek', 'new_option' => 'Yeni Seçenek',
'options' => 'Seçenekler',
'export' => 'Dışa aktar', 'export' => 'Dışa aktar',
'new_productoption' => 'Yeni Üretim', 'new_productoption' => 'Yeni Üretim',
'new_productoptions_value' => 'Yeni Ürün seçeneği değeri', 'new_productoptions_value' => 'Yeni Ürün seçeneği değeri',

View File

@ -386,5 +386,6 @@ return [
], ],
'name_a_z' => 'İlan Başlığı (A\'dan Z\'ye)', 'name_a_z' => 'İlan Başlığı (A\'dan Z\'ye)',
'name_z_a' => 'İlan Başlığı (Z\'den A\'ya)', 'name_z_a' => 'İlan Başlığı (Z\'den A\'ya)',
'select_lang_ads' => 'İlan dilini seçiniz',
]; ];

View File

@ -254,9 +254,6 @@ return [
'name' => 'GET Kategorileri', 'name' => 'GET Kategorileri',
'instructions' => 'GET özelliğinin geçerli olacağı kategorileri temsil eder.' 'instructions' => 'GET özelliğinin geçerli olacağı kategorileri temsil eder.'
], ],
'disable_sentry' => [
'name' => 'Sentry\'yi devre dışı bırak'
],
'watermark' => [ 'watermark' => [
'name' => 'Filigran', 'name' => 'Filigran',
'instructions' => 'Filigran etkin mi?' 'instructions' => 'Filigran etkin mi?'

View File

@ -254,9 +254,6 @@ return [
'name' => 'ОТРИМАТИ Категорії', 'name' => 'ОТРИМАТИ Категорії',
'instructions' => 'Він представляє категорії, в яких буде дійсним властивість GET.' 'instructions' => 'Він представляє категорії, в яких буде дійсним властивість GET.'
], ],
'disable_sentry' => [
'name' => 'Вимкнути Sentry'
],
'watermark' => [ 'watermark' => [
'name' => 'Водяний знак', 'name' => 'Водяний знак',
'instructions' => 'Активний водяний знак?' 'instructions' => 'Активний водяний знак?'

View File

@ -254,9 +254,6 @@ return [
'name' => 'زمرہ جات حاصل کریں', 'name' => 'زمرہ جات حاصل کریں',
'instructions' => 'یہ ان زمروں کی نمائندگی کرتا ہے جن میں جی ای ٹی پراپرٹی درست ہوگی۔' 'instructions' => 'یہ ان زمروں کی نمائندگی کرتا ہے جن میں جی ای ٹی پراپرٹی درست ہوگی۔'
], ],
'disable_sentry' => [
'name' => 'سینٹری کو غیر فعال کریں'
],
'watermark' => [ 'watermark' => [
'name' => 'واٹر مارک', 'name' => 'واٹر مارک',
'instructions' => 'کیا واٹر مارک سرگرم ہے؟' 'instructions' => 'کیا واٹر مارک سرگرم ہے؟'

View File

@ -254,9 +254,6 @@ return [
'name' => 'NHẬN danh mục', 'name' => 'NHẬN danh mục',
'instructions' => 'Nó đại diện cho các danh mục mà thuộc tính GET sẽ hợp lệ.' 'instructions' => 'Nó đại diện cho các danh mục mà thuộc tính GET sẽ hợp lệ.'
], ],
'disable_sentry' => [
'name' => 'Tắt Sentry'
],
'watermark' => [ 'watermark' => [
'name' => 'Chữ ký ảnh', 'name' => 'Chữ ký ảnh',
'instructions' => 'Hình mờ có hoạt động không?' 'instructions' => 'Hình mờ có hoạt động không?'

View File

@ -254,9 +254,6 @@ return [
'name' => '获取类别', 'name' => '获取类别',
'instructions' => '它代表GET属性将在其中有效的类别。' 'instructions' => '它代表GET属性将在其中有效的类别。'
], ],
'disable_sentry' => [
'name' => '禁用哨兵'
],
'watermark' => [ 'watermark' => [
'name' => '水印', 'name' => '水印',
'instructions' => '水印活跃吗?' 'instructions' => '水印活跃吗?'

View File

@ -0,0 +1,23 @@
{% if config_get('streams::locales.enabled')|length > 1 %}
<div class="btn-group" style="display: inline-block;">
{% if setting_value('visiosoft.module.advs::show_input_flag') %}
{{ img('visiosoft.module.advs::images/flags/' ~ field_type.locale ~ '.svg').width(20)|raw }}
{% endif %}
<a href="#" class="btn btn-xs btn-default dropdown-toggle px-1 mx-0" data-dropdown="locales" data-toggle="dropdown">
{{ trans('streams::locale.' ~ field_type.locale ~ '.name') }}
</a>
<div class="dropdown-menu">
{% for iso in config_get('streams::locales.enabled') %}
<a class="dropdown-item {{ iso == config('app.locale', config_get('streams::locales.enabled')) ? 'active' }}"
href="#"
data-toggle="lang" lang="{{ iso }}">
{{ trans('streams::locale.' ~ iso ~ '.name') }}
</a>
{% endfor %}
</div>
</div>
<br>
<span class="font-weight-light small text-black-50 {{ not setting_value('visiosoft.module.advs::show_input_flag') ? 'd-none' }}">
***{{ trans('visiosoft.module.advs::field.select_lang_ads') }}
</span>
{% endif %}

View File

@ -34,7 +34,7 @@
<td> <td>
<a href="{{ adv.detail_url }}"> <a href="{{ adv.detail_url }}">
<img src="{{ img('visiosoft.theme.base::images/no-image.png').url }}" class="rounded lazy" <img src="{{ img('visiosoft.theme.base::images/no-image.png').url }}" class="rounded lazy"
alt="{{ adv.name }}" data-src="{{ adv.cover_photo }}"> alt="{{ adv.name }}" data-src="{{ adv.thumbnail }}">
</a> </a>
</td> </td>
<td class="text-left pl-2"> <td class="text-left pl-2">

View File

@ -225,7 +225,11 @@
{{ trans('visiosoft.module.advs::field.product_option.name') }} {{ trans('visiosoft.module.advs::field.product_option.name') }}
</label> </label>
<div class="mt-3 form-group mb-0"> <div class="mt-3 form-group mb-0">
{{ form.fields.product_options_value.configSet('cat1', adv.cat1).input|raw }} <button type="button" class="btn btn-primary btn-configuration" data-toggle="modal" data-target="#configurationModal">
{{ img('visiosoft.module.advs::images/create/plus.svg').data|raw }}
&nbsp;
{{ trans('visiosoft.module.advs::button.new_options_configuration') }}
</button>
</div> </div>
</div> </div>
{% endif %} {% endif %}
@ -276,7 +280,7 @@
<h5 class="mt-5 pb-1 border-bottom"> <h5 class="mt-5 pb-1 border-bottom">
{{ trans('visiosoft.module.advs::field.additional_fields') }} {{ trans('visiosoft.module.advs::field.additional_fields') }}
</h5> </h5>
<div class="bg-light p-4"> <div class="bg-light p-4 row">
{{ other_fields|raw }} {{ other_fields|raw }}
</div> </div>
{% endif %} {% endif %}
@ -316,6 +320,7 @@
</div> </div>
</section> </section>
{% include "visiosoft.module.advs::new-ad/partials/modals" %} {% include "visiosoft.module.advs::new-ad/partials/modals" %}
{% include "visiosoft.module.advs::new-ad/partials/configuration-modal" %}
{{ addBlock('new-ad/modals')|raw }} {{ addBlock('new-ad/modals')|raw }}
<script> <script>
var default_country = "{{ setting_value('visiosoft.module.location::default_country') }}"; var default_country = "{{ setting_value('visiosoft.module.location::default_country') }}";

View File

@ -0,0 +1,52 @@
<div class="modal fade" id="configurationModal" tabindex="-1" role="dialog" aria-labelledby="configurationModalLabel"
aria-hidden="true">
<div class="modal-dialog modal-xl" role="document">
<div class="modal-content rounded-0">
<div class="modal-header border-0">
<h5 class="modal-title" id="configurationModalLabel">
{{ trans('visiosoft.module.advs::stream.product_options.name') }}
</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div class="">
{% set configurationForm = form('configuration_form').entry(adv.id).get() %}
{{ form_open({id: 'configurationForm',class: 'd-flex justify-content-between'})|raw }}
<input type="text" name="parent_adv_id" value="{{ adv.id }}" hidden>
{{ configurationForm.fields|raw }}
<button type="submit" class="btn btn-primary btn-configuration my-auto form-control w-auto">
{{ trans('visiosoft.module.advs::button.add') }}
</button>
{{ form_close() }}
</div>
<table class="table">
<thead>
<tr>
<th scope="col">{{ trans('visiosoft.module.advs::field.options') }}</th>
<th scope="col">{{ trans('visiosoft.module.advs::field.stock.name') }}</th>
<th scope="col">{{ trans('visiosoft.module.advs::field.price.name') }}</th>
<th scope=""></th>
</tr>
</thead>
<tbody class="configuration-table">
{% for key, configuration in configurations %}
<tr id="configuration-{{ key }}">
<td>{{ configuration.name }}</td>
<td>{{ configuration.stock }}</td>
<td>{{ currency_format(configuration.price,configuration.currency) }}</td>
<td class="text-right">
<a href="javascript:void(0)" class="btn btn-sm remove-conf"
data-id="{{ key }}">{{ img('visiosoft.module.advs::images/create/close.svg').data|raw }}</a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
</div>

View File

@ -24,14 +24,6 @@
{% else %} {% else %}
{% set continueLink = url_route('adv_detail_seo', [adv.slug, adv.id]) %} {% set continueLink = url_route('adv_detail_seo', [adv.slug, adv.id]) %}
{% endif %} {% endif %}
{% if not setting_value('visiosoft.module.advs::hide_configurations') %}
{% if setting_value('visiosoft.module.advs::detailed_product_options') %}
<a href="{{ route('visiosoft.module.advs::user.configrations.create') }}?ad={{ adv.id }}"
class="btn btn-warning shadow-sm mr-4 text-white">
{{ trans('visiosoft.module.advs::button.create_configurations') }}
</a>
{% endif %}
{% endif %}
<a href="{{ url_route('visiosoft.module.advs::edit_adv', [adv.id]) }}" <a href="{{ url_route('visiosoft.module.advs::edit_adv', [adv.id]) }}"
class="btn preview-edit shadow-sm border"> class="btn preview-edit shadow-sm border">
{{ trans('visiosoft.module.advs::field.edit') }} {{ trans('visiosoft.module.advs::field.edit') }}
@ -45,12 +37,6 @@
<div class="preview-overlay position-absolute"></div> <div class="preview-overlay position-absolute"></div>
</div> </div>
<div class="preview-actions text-center"> <div class="preview-actions text-center">
{% if not setting_value('visiosoft.module.advs::hide_configurations') %}
<a href="{{ route('visiosoft.module.advs::user.configrations.create') }}?ad={{ adv.id }}"
class="btn btn-warning shadow-sm mr-4 text-white">
{{ trans('visiosoft.module.advs::button.create_configurations') }}
</a>
{% endif %}
<a href="{{ url_route('visiosoft.module.advs::edit_adv', [adv.id]) }}" <a href="{{ url_route('visiosoft.module.advs::edit_adv', [adv.id]) }}"
class="btn preview-edit shadow-sm border"> class="btn preview-edit shadow-sm border">
{{ trans('visiosoft.module.advs::field.edit') }} {{ trans('visiosoft.module.advs::field.edit') }}

View File

@ -395,6 +395,15 @@ class AdvRepository extends EntryRepository implements AdvRepositoryInterface
$latest_advs = $this->model->currentAds() $latest_advs = $this->model->currentAds()
->limit(setting_value('visiosoft.module.advs::latest-limit')) ->limit(setting_value('visiosoft.module.advs::latest-limit'))
->get(); ->get();
if (setting_value('visiosoft.module.advs::hide_out_of_stock_products_without_listing')) {
$latest_advs = $latest_advs->filter(
function ($entry) {
return (($entry->is_get_adv == true && $entry->stock > 0) || ($entry->is_get_adv == false));
}
);
}
return $this->model->getLocationNames($latest_advs); return $this->model->getLocationNames($latest_advs);
} }

View File

@ -20,6 +20,6 @@ class IsOptionsByCategory
$options_id = $option_repository->getWithCategoryId($this->cat_id)->pluck('id')->all(); $options_id = $option_repository->getWithCategoryId($this->cat_id)->pluck('id')->all();
return count($value_repository->getWithOptionsId($options_id)); return $value_repository->getWithOptionsId($options_id);
} }
} }

View File

@ -19,6 +19,7 @@ use Visiosoft\AdvsModule\Listener\AddTotalSales;
use Visiosoft\AdvsModule\Option\Contract\OptionRepositoryInterface; use Visiosoft\AdvsModule\Option\Contract\OptionRepositoryInterface;
use Visiosoft\AdvsModule\Option\OptionRepository; use Visiosoft\AdvsModule\Option\OptionRepository;
use Visiosoft\AdvsModule\OptionConfiguration\Contract\OptionConfigurationRepositoryInterface; use Visiosoft\AdvsModule\OptionConfiguration\Contract\OptionConfigurationRepositoryInterface;
use Visiosoft\AdvsModule\OptionConfiguration\Form\OptionConfigurationFormBuilder;
use Visiosoft\AdvsModule\OptionConfiguration\OptionConfigurationRepository; use Visiosoft\AdvsModule\OptionConfiguration\OptionConfigurationRepository;
use Visiosoft\AdvsModule\Productoption\Contract\ProductoptionRepositoryInterface; use Visiosoft\AdvsModule\Productoption\Contract\ProductoptionRepositoryInterface;
use Visiosoft\AdvsModule\Productoption\ProductoptionRepository; use Visiosoft\AdvsModule\Productoption\ProductoptionRepository;
@ -217,6 +218,16 @@ class AdvsModuleServiceProvider extends AddonServiceProvider
'as' => 'visiosoft.module.advs::user.configrations.create', 'as' => 'visiosoft.module.advs::user.configrations.create',
'uses' => 'Visiosoft\AdvsModule\Http\Controller\OptionConfigurationController@create', 'uses' => 'Visiosoft\AdvsModule\Http\Controller\OptionConfigurationController@create',
], ],
'advs/configuration/ajax/create' => [
'middleware' => 'auth',
'uses' => 'Visiosoft\AdvsModule\Http\Controller\OptionConfigurationController@ajaxCreate'
],
'advs/configuration/ajax/delete' => [
'middleware' => 'auth',
'uses' => 'Visiosoft\AdvsModule\Http\Controller\OptionConfigurationController@ajaxDelete'
],
'conf/addCart' => [ 'conf/addCart' => [
'as' => 'configuration::add_cart', 'as' => 'configuration::add_cart',
'uses' => 'Visiosoft\AdvsModule\Http\Controller\OptionConfigurationController@confAddCart', 'uses' => 'Visiosoft\AdvsModule\Http\Controller\OptionConfigurationController@confAddCart',
@ -257,6 +268,7 @@ class AdvsModuleServiceProvider extends AddonServiceProvider
AdvsAdvsEntryModel::class => AdvModel::class, AdvsAdvsEntryModel::class => AdvModel::class,
AdvsStatusEntryModel::class => StatusModel::class, AdvsStatusEntryModel::class => StatusModel::class,
'my_form' => AdvFormBuilder::class, 'my_form' => AdvFormBuilder::class,
'configuration_form' => OptionConfigurationFormBuilder::class,
]; ];
protected $singletons = [ protected $singletons = [
@ -271,6 +283,10 @@ class AdvsModuleServiceProvider extends AddonServiceProvider
StatusRepositoryInterface::class => StatusRepository::class, StatusRepositoryInterface::class => StatusRepository::class,
]; ];
protected $overrides = [
'streams::form.partials.translations' => 'visiosoft.module.advs::form.partials.translations',
];
public function boot(AddonCollection $addonCollection, FileModel $fileModel,CategoryRepositoryInterface $categoryRepository) public function boot(AddonCollection $addonCollection, FileModel $fileModel,CategoryRepositoryInterface $categoryRepository)
{ {

View File

@ -240,6 +240,14 @@ class AdvsController extends PublicController
), 301); ), 301);
} }
if (setting_value('visiosoft.module.advs::hide_out_of_stock_products_without_listing')) {
$advs = $advs->filter(
function ($entry) {
return (($entry->is_get_adv == true && $entry->stock > 0) || ($entry->is_get_adv == false));
}
);
}
foreach ($advs as $index => $ad) { foreach ($advs as $index => $ad) {
$advs[$index]->detail_url = $this->adv_model->getAdvDetailLinkByModel($ad, 'list'); $advs[$index]->detail_url = $this->adv_model->getAdvDetailLinkByModel($ad, 'list');
$advs[$index] = $this->adv_model->AddAdsDefaultCoverImage($ad); $advs[$index] = $this->adv_model->AddAdsDefaultCoverImage($ad);
@ -784,7 +792,7 @@ class AdvsController extends PublicController
$is_new_create = ($adv->slug == "") ? true : false; $is_new_create = ($adv->slug == "") ? true : false;
//Set Old Price //Set Old Price
$old_price = ($adv->slug == "") ? $this->request->price : $adv->price; $old_price = $is_new_create ? $this->request->price : $adv->price;
$adv->old_price = $old_price; $adv->old_price = $old_price;
@ -999,10 +1007,11 @@ class AdvsController extends PublicController
* Added to query if there are product options. * Added to query if there are product options.
*/ */
$is_options = dispatch_now(new IsOptionsByCategory($adv['cat1'])); $is_options = dispatch_now(new IsOptionsByCategory($adv['cat1']));
$configurations = app(OptionConfigurationRepositoryInterface::class)->getConf($adv['id']);
return $this->view->make( return $this->view->make(
'visiosoft.module.advs::new-ad/new-create', 'visiosoft.module.advs::new-ad/new-create',
compact('id', 'cats_d', 'cats', 'adv', 'custom_fields', 'options', 'hidePrice','is_options') compact('id', 'cats_d', 'cats', 'adv', 'custom_fields', 'options', 'hidePrice','is_options', 'configurations')
); );
} }
@ -1096,6 +1105,15 @@ class AdvsController extends PublicController
$advModel = new AdvModel(); $advModel = new AdvModel();
$advs = $repository->searchAdvs('map', $param, $customParameters); $advs = $repository->searchAdvs('map', $param, $customParameters);
if (setting_value('visiosoft.module.advs::hide_out_of_stock_products_without_listing')) {
$advs = $advs->filter(
function ($entry) {
return (($entry->is_get_adv == true && $entry->stock > 0) || ($entry->is_get_adv == false));
}
);
}
foreach ($advs as $index => $ad) { foreach ($advs as $index => $ad) {
$advs[$index]->seo_link = $advModel->getAdvDetailLinkByModel($ad, 'list'); $advs[$index]->seo_link = $advModel->getAdvDetailLinkByModel($ad, 'list');
$advs[$index] = $advModel->AddAdsDefaultCoverImage($ad); $advs[$index] = $advModel->AddAdsDefaultCoverImage($ad);

View File

@ -1,87 +1,97 @@
<?php namespace Visiosoft\AdvsModule\Http\Controller; <?php namespace Visiosoft\AdvsModule\Http\Controller;
use Anomaly\Streams\Platform\Http\Controller\PublicController; use Anomaly\Streams\Platform\Http\Controller\PublicController;
use Anomaly\Streams\Platform\Model\Configuration\ConfigurationConfigurationEntryModel;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Visiosoft\AdvsModule\Adv\AdvModel; use Visiosoft\AdvsModule\Adv\AdvModel;
use Visiosoft\AdvsModule\Adv\Contract\AdvRepositoryInterface;
use Visiosoft\AdvsModule\OptionConfiguration\Contract\OptionConfigurationRepositoryInterface; use Visiosoft\AdvsModule\OptionConfiguration\Contract\OptionConfigurationRepositoryInterface;
use Visiosoft\AdvsModule\OptionConfiguration\Form\OptionConfigurationFormBuilder; use Visiosoft\AdvsModule\OptionConfiguration\Form\OptionConfigurationFormBuilder;
use Visiosoft\AdvsModule\OptionConfiguration\OptionConfigurationModel; use Visiosoft\AdvsModule\Support\Command\Currency;
use Visiosoft\CartsModule\Cart\CartModel;
use Visiosoft\CartsModule\Cart\CartRepository; use Visiosoft\CartsModule\Cart\CartRepository;
use Visiosoft\CartsModule\Cart\Command\GetCart; use Visiosoft\CartsModule\Cart\Command\GetCart;
class OptionConfigurationController extends PublicController class OptionConfigurationController extends PublicController
{ {
private $advRepository; private $adv_model;
private $adv_model; private $optionConfigurationRepository;
private $optionConfigurationModel; private $cartRepository;
private $optionConfigurationRepository;
public function __construct( public function __construct(
AdvRepositoryInterface $advRepository, AdvModel $advModel,
AdvModel $advModel, OptionConfigurationRepositoryInterface $optionConfigurationRepository,
OptionConfigurationModel $optionConfigurationModel, CartRepository $cartRepository
OptionConfigurationRepositoryInterface $optionConfigurationRepository )
) {
{ $this->adv_model = $advModel;
$this->advRepository = $advRepository; $this->optionConfigurationRepository = $optionConfigurationRepository;
$this->adv_model = $advModel; $this->cartRepository = $cartRepository;
$this->optionConfigurationModel = $optionConfigurationModel; parent::__construct();
$this->optionConfigurationRepository = $optionConfigurationRepository; }
parent::__construct();
}
public function create(OptionConfigurationFormBuilder $form) public function create(OptionConfigurationFormBuilder $form)
{ {
$form->setOption('redirect', route('advs_preview', [request('ad')])); $form->setOption('redirect', route('advs_preview', [request('ad')]));
return $form->render(); return $form->render();
} }
public function confAddCart() public function ajaxCreate(OptionConfigurationRepositoryInterface $optionConfigurationRepository){
{ $parameters = $this->request->all();
if($conf = $this->optionConfigurationRepository->find($this->request->configuration)) $option_json = array();
{ foreach ($parameters as $key => $parameter_value) {
if($conf->parent_adv->getStatus() == "approved") if ((strpos($key, "option-") === 0)) {
{ if ($parameter_value !== '') {
$option_id = substr($key, 7);
$option_json[$option_id] = $parameter_value;
}
unset($parameters[$key]);
}
}
$option_json = ['option_json' => json_encode($option_json)];
$configration = array_merge($parameters, $option_json);
$entry = $optionConfigurationRepository->create($configration);
$entry['currency_price'] = app(Currency::class)->format($entry->price, $entry->currency);
return $this->response->json($entry);
}
public function ajaxDelete(OptionConfigurationRepositoryInterface $optionConfigurationRepository){
return $optionConfigurationRepository->deleteConfig($this->request->id);
}
public function confAddCart()
{
if ($conf = $this->optionConfigurationRepository->find($this->request->configuration)) {
if ($conf->parent_adv->getStatus() == "approved") {
$conf->name = $conf->getName(); $conf->name = $conf->getName();
if ($conf->stock < $this->request->quantity){ if ($conf->stock < $this->request->quantity) {
return redirect()->back()->with('warning', [trans('visiosoft.module.carts::message.error1in2')]); return redirect()->back()->with('warning', [trans('visiosoft.module.carts::message.error1in2')]);
}else{ } else {
$cart = $this->dispatch(new GetCart()); $cart = $this->dispatch(new GetCart());
$cart->add($conf, $this->request->quantity); $cart->add($conf, $this->request->quantity);
return $this->redirect->to(route('visiosoft.module.carts::cart')); return $this->redirect->to(route('visiosoft.module.carts::cart'));
} }
} }
$this->messages->info(trans('visiosoft.module.advs::message.error_added_cart')); $this->messages->info(trans('visiosoft.module.advs::message.error_added_cart'));
return back(); return back();
} }
} }
public function ajaxConfAddCart() public function ajaxConfAddCart()
{ {
if (\auth()->check()) { if ($conf = $this->optionConfigurationRepository->find($this->request->configuration ?? $this->request->data['conf'])) {
if($conf = $this->optionConfigurationRepository->find($this->request->configuration)) $conf->name = $conf->getName();
{
$conf->name = $conf->getName();
$this->adv_model->authControl(); if ($conf->stock < $this->request->quantity) {
return $this->response->json(['status' => 'error', 'msg' => trans('visiosoft.module.carts::message.error1in2')]);
}
if ($conf->stock < $this->request->quantity){ $cart = $this->dispatch(new GetCart());
return $this->response->json(['status' => 'error', 'msg' => trans('visiosoft.module.carts::message.error1in2')]); $cart->add($conf, ($this->request->quantity ?? $this->request->data['quantity']) ?? 1);
}else{
$cart = $this->dispatch(new GetCart());
$cart->add($conf, $this->request->quantity);
$count = $cart->getItems()->count; $cart_item = $cart->getItems();
return $this->response->json(['status'=> 'success', 'count' => $count]); $count = $cart_item->count;
} $cart = $this->cartRepository->find($cart_item[0]->cart_id);
} return $this->response->json(['status' => 'success', 'count' => $count, 'cart' => $cart, 'cart_item' => $cart_item]);
return $this->response->json(['status' => 'error', 'msg' => trans('visiosoft.module.carts::message.error2')]); }
} return $this->response->json(['status' => 'error', 'msg' => trans('visiosoft.module.carts::message.error2')]);
return $this->response->json(['status' => 'guest']); }
}
} }

View File

@ -13,4 +13,6 @@ interface OptionConfigurationRepositoryInterface extends EntryRepositoryInterfac
public function deleteUnusedConfigs($adsIDs); public function deleteUnusedConfigs($adsIDs);
public function deleteAdsConfigs($adID); public function deleteAdsConfigs($adID);
public function deleteConfig($id);
} }

View File

@ -4,4 +4,7 @@ use Anomaly\Streams\Platform\Ui\Form\FormBuilder;
class OptionConfigurationFormBuilder extends FormBuilder class OptionConfigurationFormBuilder extends FormBuilder
{ {
protected $actions = [
'save',
];
} }

View File

@ -2,32 +2,34 @@
use Visiosoft\AdvsModule\Adv\Contract\AdvRepositoryInterface; use Visiosoft\AdvsModule\Adv\Contract\AdvRepositoryInterface;
use Visiosoft\AdvsModule\Productoption\Contract\ProductoptionRepositoryInterface; use Visiosoft\AdvsModule\Productoption\Contract\ProductoptionRepositoryInterface;
use Visiosoft\AdvsModule\ProductoptionsValue\Contract\ProductoptionsValueRepositoryInterface;
class OptionConfigurationFormFields class OptionConfigurationFormFields
{ {
public function handle( public function handle(
OptionConfigurationFormBuilder $builder, OptionConfigurationFormBuilder $builder,
AdvRepositoryInterface $advRepository, AdvRepositoryInterface $advRepository,
ProductoptionRepositoryInterface $productOptionRepository) ProductoptionRepositoryInterface $productOptionRepository,
ProductoptionsValueRepositoryInterface $productoptionsValueRepository
)
{ {
if(request()->has('ad')) if(request()->has('ad') || $builder->getEntry())
{ {
$ad = $advRepository->find(request('ad')); $ad = $advRepository->find(request('ad') ?? $builder->getEntry());
$options = $productOptionRepository->getWithCategoryId($ad->cat1);
$options = $ad->getProductOptionsValues()->groupBy('product_option_id');
$options_fields = array(); $options_fields = array();
foreach ($options as $option_id => $option_values) foreach ($options as $option)
{ {
if($option = $productOptionRepository->find($option_id)) if($optionValue = $productoptionsValueRepository->getWithOptionsId([$option->id]))
{ {
$options_fields['option-'.$option->getId()] = [ $options_fields['option-'.$option->getId()] = [
'type' => 'anomaly.field_type.select', 'type' => 'anomaly.field_type.select',
'label' => $option->getName(), 'label' => $option->getName(),
'required' => true, 'required' => true,
'config' => [ 'config' => [
'options' => $option_values->pluck('name','id')->all(), 'options' => $optionValue->pluck('name','id')->all(),
] ]
]; ];
} }

View File

@ -1,6 +1,6 @@
<?php namespace Visiosoft\AdvsModule\OptionConfiguration; <?php namespace Visiosoft\AdvsModule\OptionConfiguration;
use Anomaly\Streams\Platform\Model\Configuration\ConfigurationConfigurationEntryModel; use Illuminate\Support\Facades\Auth;
use Visiosoft\AdvsModule\Adv\Contract\AdvRepositoryInterface; use Visiosoft\AdvsModule\Adv\Contract\AdvRepositoryInterface;
use Visiosoft\AdvsModule\OptionConfiguration\Contract\OptionConfigurationRepositoryInterface; use Visiosoft\AdvsModule\OptionConfiguration\Contract\OptionConfigurationRepositoryInterface;
use Anomaly\Streams\Platform\Entry\EntryRepository; use Anomaly\Streams\Platform\Entry\EntryRepository;
@ -93,4 +93,15 @@ class OptionConfigurationRepository extends EntryRepository implements OptionCon
{ {
return $this->newQuery()->where('parent_adv_id', $adID)->delete(); return $this->newQuery()->where('parent_adv_id', $adID)->delete();
} }
public function deleteConfig($id)
{
if ($conf = ($this->newQuery()->find($id))) {
if ($conf->created_by_id === Auth::user()->getAuthIdentifier()) {
return $conf->delete();
}
return response()->json(['status' => 'error'], 403);
}
return response()->json(['status' => 'error'], 404);
}
} }

View File

@ -4,6 +4,7 @@
<head> <head>
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
{% block styles %}{% endblock %} {% block styles %}{% endblock %}
{{ asset_style("visiosoft.theme.base::css/offline.scss") }}
</head> </head>
<body> <body>
<div class="container" style="max-width: 800px;"> <div class="container" style="max-width: 800px;">

View File

@ -3,7 +3,7 @@
return [ return [
'new_profile' => 'Nouveau profile', 'new_profile' => 'Nouveau profile',
'new_adress' => 'Nouvelle adresse', 'new_adress' => 'Nouvelle adresse',
'show' => 'Afficher l\\'adresse', 'show' => 'Afficher l\'adresse',
'update_password' => 'Mettre à jour le mot de passe', 'update_password' => 'Mettre à jour le mot de passe',
'update_profile' => 'Mettre à jour le profil', 'update_profile' => 'Mettre à jour le profil',
'delete' => 'Supprimer', 'delete' => 'Supprimer',

View File

@ -11,7 +11,7 @@ return [
'name' => 'Nom de famille' 'name' => 'Nom de famille'
], ],
'username' => [ 'username' => [
'name' => 'Nom d\\'utilisateur' 'name' => 'Nom d\'utilisateur'
], ],
'display_name' => [ 'display_name' => [
'name' => 'Afficher un nom' 'name' => 'Afficher un nom'
@ -26,7 +26,7 @@ return [
'name' => 'Utilisateur actif' 'name' => 'Utilisateur actif'
], ],
'enabled' => [ 'enabled' => [
'name' => 'Activer l\\'utilisateur' 'name' => 'Activer l\'utilisateur'
], ],
'country' => [ 'country' => [
'name' => 'Pays' 'name' => 'Pays'
@ -74,10 +74,10 @@ return [
'name' => 'Profession' 'name' => 'Profession'
], ],
'identification_number' => [ 'identification_number' => [
'name' => 'Numéro d\\'identification' 'name' => 'Numéro d\'identification'
], ],
'adress_name' => [ 'adress_name' => [
'name' => 'Nom de l\\'adresse' 'name' => 'Nom de l\'adresse'
], ],
'adress_first_name' => [ 'adress_first_name' => [
'name' => 'Prénom' 'name' => 'Prénom'
@ -89,7 +89,7 @@ return [
'name' => 'actes' 'name' => 'actes'
], ],
'adress_content' => [ 'adress_content' => [
'name' => 'Contenu de l\\'adresse' 'name' => 'Contenu de l\'adresse'
], ],
'adress_post_code' => [ 'adress_post_code' => [
'name' => 'Code postal' 'name' => 'Code postal'
@ -176,7 +176,7 @@ return [
'name' => 'Mes forfaits' 'name' => 'Mes forfaits'
], ],
'menu_adv_packages' => [ 'menu_adv_packages' => [
'name' => 'Forfaits d\\'annonces' 'name' => 'Forfaits d\'annonces'
], ],
'menu_time_packages' => [ 'menu_time_packages' => [
'name' => 'Forfaits' 'name' => 'Forfaits'
@ -188,7 +188,7 @@ return [
'name' => 'Photo de profil' 'name' => 'Photo de profil'
], ],
'adv_listing_banner' => [ 'adv_listing_banner' => [
'name' => 'Bannière de la page d\\'annonces' 'name' => 'Bannière de la page d\'annonces'
], ],
'approve' => [ 'approve' => [
'name' => 'Approuver' 'name' => 'Approuver'
@ -238,7 +238,7 @@ return [
consectetur adipisicing elit' consectetur adipisicing elit'
], ],
'right_need_help_subject' => [ 'right_need_help_subject' => [
'name' => 'Besoin d\\'aide pour?' 'name' => 'Besoin d\'aide pour?'
], ],
'right_need_help_msg' => [ 'right_need_help_msg' => [
'name' => 'Donner un appel sur' 'name' => 'Donner un appel sur'
@ -325,7 +325,7 @@ return [
'name' => 'Attendre', 'name' => 'Attendre',
], ],
'awaiting_dispatch' => [ 'awaiting_dispatch' => [
'name' => 'En attente d\\'expédition', 'name' => 'En attente d\'expédition',
], ],
'shipped' => [ 'shipped' => [
'name' => 'Expédié', 'name' => 'Expédié',
@ -346,7 +346,7 @@ return [
'name' => 'Le résultat de la transaction sera notifié par mail.', 'name' => 'Le résultat de la transaction sera notifié par mail.',
], ],
'show_order_msg2' => [ 'show_order_msg2' => [
'name' => 'Le remboursement sera effectué si le produit n\\'est pas livré dans la semaine.', 'name' => 'Le remboursement sera effectué si le produit n\'est pas livré dans la semaine.',
], ],
'show_order_msg3' => [ 'show_order_msg3' => [
'name' => 'Le résultat de la transaction a été envoyé à votre adresse e-mail enregistrée.', 'name' => 'Le résultat de la transaction a été envoyé à votre adresse e-mail enregistrée.',
@ -381,7 +381,7 @@ return [
], ],
'corporate_settings' => [ 'corporate_settings' => [
'name' => 'Paramètres d\\'entreprise', 'name' => 'Paramètres d\'entreprise',
], ],
'password' => [ 'password' => [
'name' => 'Mot de passe', 'name' => 'Mot de passe',
@ -405,7 +405,7 @@ return [
'name' => 'Modifier l\'adresse', 'name' => 'Modifier l\'adresse',
], ],
'balance_limit' => [ 'balance_limit' => [
'name' => 'Limite d\\'équilibre', 'name' => 'Limite d\'équilibre',
], ],
'active_ads' => [ 'active_ads' => [
'name' => 'Annonces actives', 'name' => 'Annonces actives',
@ -414,19 +414,19 @@ return [
'name' => 'Abonnements', 'name' => 'Abonnements',
], ],
'go_subscriptions_page' => [ 'go_subscriptions_page' => [
'name' => 'Aller à la page d\\'abonnements', 'name' => 'Aller à la page d\'abonnements',
], ],
'buy_package' => [ 'buy_package' => [
'name' => 'Acheter un forfait', 'name' => 'Acheter un forfait',
], ],
'expired_date' => [ 'expired_date' => [
'name' => 'Date d\\'expiration', 'name' => 'Date d\'expiration',
], ],
'category' => [ 'category' => [
'name' => 'Catégorie', 'name' => 'Catégorie',
], ],
'ad_limit' => [ 'ad_limit' => [
'name' => 'Limite d\\'annonce', 'name' => 'Limite d\'annonce',
], ],
'publish_time' => [ 'publish_time' => [
'name' => 'Heure de publication', 'name' => 'Heure de publication',

View File

@ -2,15 +2,15 @@
return [ return [
"email" => "Le champ E-mail est obligatoire!", "email" => "Le champ E-mail est obligatoire!",
"username" => "Le nom d\\'utilisateur est obligatoire!", "username" => "Le nom d'utilisateur est obligatoire!",
"success_update" => "Mise à jour du profil avec succès!", "success_update" => "Mise à jour du profil avec succès!",
"adress_success_update" => "Adresse mise à jour avec succès!", "adress_success_update" => "Adresse mise à jour avec succès!",
"adress_success_create" => "Adresse Créer avec succès!", "adress_success_create" => "Adresse Créer avec succès!",
"login_error" => "Identifiant ou mot de passe incorrect.", "login_error" => "Identifiant ou mot de passe incorrect.",
"login_noMail_old_user" => "L\\'adresse e-mail que vous avez entrée est introuvable.", "login_noMail_old_user" => "L'adresse e-mail que vous avez entrée est introuvable.",
"login_noMail_old_user2" => "Veuillez vérifier l\\'adresse e-mail et réessayer.", "login_noMail_old_user2" => "Veuillez vérifier l'adresse e-mail et réessayer.",
"login_noMail_old_user3" => "Si le problème persiste, "login_noMail_old_user3" => "Si le problème persiste,
contactez-nous à l\\'adresse info@openclassify.com.", contactez-nous à l'adresse info@openclassify.com.",
"login_info_old_user" => "Un nouveau mot de passe a été envoyé à votre adresse e-mail.", "login_info_old_user" => "Un nouveau mot de passe a été envoyé à votre adresse e-mail.",
"success" => "Succès", "success" => "Succès",
"notified_new_updates" => "Je veux être informé des nouvelles mises à jour", "notified_new_updates" => "Je veux être informé des nouvelles mises à jour",
@ -18,7 +18,7 @@ return [
"receive_messages_email" => "Je veux recevoir des messages par email", "receive_messages_email" => "Je veux recevoir des messages par email",
"no_packages_module" => "Aucun module de paquets!", "no_packages_module" => "Aucun module de paquets!",
"required_add"=> "Veuillez remplir toutes les lignes requises.", "required_add"=> "Veuillez remplir toutes les lignes requises.",
"no_extend_package" => "Aucun étendre les packages d\\'annonces", "no_extend_package" => "Aucun étendre les packages d'annonces",
"saved" => "Enregistré!", "saved" => "Enregistré!",
'please_confirm_transaction' => 'Veuillez confirmer la transaction', 'please_confirm_transaction' => 'Veuillez confirmer la transaction',
'password_do_not_match' => 'Les mots de passe ne correspondent pas', 'password_do_not_match' => 'Les mots de passe ne correspondent pas',

View File

@ -44,7 +44,7 @@
<p>{{ trans('visiosoft.module.profile::field.password.name') }}</p> <p>{{ trans('visiosoft.module.profile::field.password.name') }}</p>
</a> </a>
<a href="{{ url('logout') }}" <a href="{{ url('logout') }}"
class="px-3 link-unstyled d-flex d-md-none"> class="px-3 link-unstyled">
{{ img('visiosoft.module.profile::images/logout.svg').data|raw }} {{ img('visiosoft.module.profile::images/logout.svg').data|raw }}
<p>{{ trans('visiosoft.theme.base::field.logout.name') }}</p> <p>{{ trans('visiosoft.theme.base::field.logout.name') }}</p>
</a> </a>

View File

@ -53,10 +53,10 @@ class ExceptionHandler extends Handler
$summary = $e->getMessage(); $summary = $e->getMessage();
$headers = $e->getHeaders(); $headers = $e->getHeaders();
$code = $e->getStatusCode(); $code = $e->getStatusCode();
$name = trans("streams::error.{$code}.name"); $name = trans("streams::error.{$code}.name");
$message = trans("streams::error.{$code}.message"); $message = trans("streams::error.{$code}.message");
$id = $this->container->make(ExceptionIdentifier::class)->identify($this->original); $id = $this->container->make(ExceptionIdentifier::class)->identify($this->original);
if (view()->exists($view = "streams::errors/{$code}")) { if (view()->exists($view = "streams::errors/{$code}")) {
return response()->view($view, compact('id', 'code', 'name', 'message', 'summary'), $code, $headers); return response()->view($view, compact('id', 'code', 'name', 'message', 'summary'), $code, $headers);
@ -72,12 +72,11 @@ class ExceptionHandler extends Handler
public function report(Throwable $e) public function report(Throwable $e)
{ {
if (app()->bound('sentry') if (app()->bound('sentry') &&
&& $this->shouldReport($e) $this->shouldReport($e) &&
&& env('SENTRY_LARAVEL_DSN')) { env('SENTRY_LARAVEL_DSN') &&
if (!setting_value('visiosoft.module.advs::disable_sentry')) { !empty(env('SENTRY_LARAVEL_DSN'))) {
app('sentry')->captureException($e); app('sentry')->captureException($e);
}
} }
if ($e instanceof Swift_TransportException) { if ($e instanceof Swift_TransportException) {
@ -92,9 +91,9 @@ class ExceptionHandler extends Handler
try { try {
return array_filter( return array_filter(
[ [
'user' => Auth::id(), 'user' => Auth::id(),
'email' => Auth::user() ? Auth::user()->email : null, 'email' => Auth::user() ? Auth::user()->email : null,
'url' => request() ? request()->fullUrl() : null, 'url' => request() ? request()->fullUrl() : null,
'identifier' => $this->container->make(ExceptionIdentifier::class)->identify($this->original), 'identifier' => $this->container->make(ExceptionIdentifier::class)->identify($this->original),
] ]
); );

View File

@ -213,6 +213,7 @@ return [
*/ */
Anomaly\Streams\Platform\StreamsServiceProvider::class, Anomaly\Streams\Platform\StreamsServiceProvider::class,
Sentry\Laravel\ServiceProvider::class, Sentry\Laravel\ServiceProvider::class,
\Fruitcake\Cors\CorsServiceProvider::class
], ],
@ -268,5 +269,4 @@ return [
], ],
]; ];

View File

@ -12,11 +12,13 @@ return [
| |
*/ */
'supportsCredentials' => false, 'paths' => ['*'],
'allowedOrigins' => ['*'],// ex: ['abc.com', 'api.abc.com'] 'allowed_methods' => ['*'],
'allowedHeaders' => ['*'], 'allowed_origins' => ['*'],
'allowedMethods' => ['*'],// ex: ['GET', 'POST', 'PUT', 'DELETE'] 'allowed_origins_patterns' => [],
'exposedHeaders' => [], 'allowed_headers' => ['*'],
'maxAge' => 0, 'exposed_headers' => false,
'max_age' => false,
'supports_credentials' => false,
]; ];

View File

@ -32,5 +32,4 @@ return [
'traces_sample_rate' => (float)(env('SENTRY_TRACES_SAMPLE_RATE', 1)), 'traces_sample_rate' => (float)(env('SENTRY_TRACES_SAMPLE_RATE', 1)),
'controllers_base_namespace' => env('SENTRY_CONTROLLERS_BASE_NAMESPACE', 'App\\Http\\Controllers'), 'controllers_base_namespace' => env('SENTRY_CONTROLLERS_BASE_NAMESPACE', 'App\\Http\\Controllers'),
]; ];

View File

@ -90,7 +90,9 @@ return [
| |
*/ */
'middleware' => [], 'middleware' => [
\Fruitcake\Cors\HandleCors::class, # this line
],
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------