mirror of
https://github.com/openclassify/openclassify.git
synced 2026-02-09 06:46:08 -06:00
Merge branch 'master' of https://github.com/openclassify/openclassify
This commit is contained in:
commit
5bd3543d04
@ -118,10 +118,12 @@ Onur Üre @onurure
|
|||||||
|
|
||||||
Fatih Alp @fatihalp
|
Fatih Alp @fatihalp
|
||||||
|
|
||||||
Emek Sancar
|
Emek Sancar @emeksancar
|
||||||
|
|
||||||
Ozcan Durak @ozcandurak
|
Ozcan Durak @ozcandurak
|
||||||
|
|
||||||
|
Dia @Diatrex
|
||||||
|
|
||||||
## Thanks to
|
## Thanks to
|
||||||
|
|
||||||
Ryan and it's stream platform and pyrocms it makes OpenClassify more powerfull.
|
Ryan and it's stream platform and pyrocms it makes OpenClassify more powerfull.
|
||||||
|
|||||||
@ -26,7 +26,6 @@ return [
|
|||||||
'watermark_text',
|
'watermark_text',
|
||||||
'watermark_image',
|
'watermark_image',
|
||||||
'watermark_position',
|
'watermark_position',
|
||||||
'watermark_opacity',
|
|
||||||
'listing_page_image',
|
'listing_page_image',
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
|
|||||||
@ -126,14 +126,6 @@ return [
|
|||||||
'default_value' => 'top-right',
|
'default_value' => 'top-right',
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
'watermark_opacity' => [
|
|
||||||
'type' => 'anomaly.field_type.text',
|
|
||||||
'bind' => 'adv.watermark_opacity',
|
|
||||||
'env' => 'ADV_WATERMARK_OPACITY',
|
|
||||||
'config' => [
|
|
||||||
'default_value' => '80',
|
|
||||||
],
|
|
||||||
],
|
|
||||||
|
|
||||||
'listing_page_image' => [
|
'listing_page_image' => [
|
||||||
'type' => 'anomaly.field_type.file',
|
'type' => 'anomaly.field_type.file',
|
||||||
|
|||||||
@ -31,20 +31,20 @@ $('.sort-by-item').on('click', function () {
|
|||||||
} else if (searchParams.has('sort_by')) {
|
} else if (searchParams.has('sort_by')) {
|
||||||
var parameters = "";
|
var parameters = "";
|
||||||
if (value != 'all') {
|
if (value != 'all') {
|
||||||
parameters = "&sort_by=" + value;
|
parameters = "sort_by=" + value;
|
||||||
}
|
}
|
||||||
goURL = location.href.replace("&sort_by=" + sort_by, parameters);
|
goURL = location.href.replace("sort_by=" + sort_by, parameters);
|
||||||
} else {
|
} else {
|
||||||
goURL = url + "&sort_by=" + value;
|
goURL = url + "&sort_by=" + value;
|
||||||
}
|
}
|
||||||
window.location.replace(goURL);
|
window.location.replace(goURL);
|
||||||
})
|
});
|
||||||
|
|
||||||
|
|
||||||
$('.ad-info-right-bar-video').on('click', function () {
|
$('.ad-info-right-bar-video').on('click', function () {
|
||||||
$(".video-ad-tooltip-" + $(this).attr('data-id'))[0].play();
|
$(".video-ad-tooltip-" + $(this).attr('data-id'))[0].play();
|
||||||
$(".video-ad-tooltip-" + $(this).attr('data-id'))[0].controls = false;
|
$(".video-ad-tooltip-" + $(this).attr('data-id'))[0].controls = false;
|
||||||
})
|
});
|
||||||
|
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
|
|||||||
@ -1,109 +1,126 @@
|
|||||||
/* Location Data */
|
/* Location Data */
|
||||||
|
var boundsAction = false;
|
||||||
|
|
||||||
var getCountry = $('.country-data').data('content');
|
var getCountry = $('.country-data').data('content');
|
||||||
if(getCountry == ""){getCountry = default_country;}
|
if (getCountry == "") {
|
||||||
|
getCountry = default_country;
|
||||||
|
}
|
||||||
var getCity = $('.city-data').data('content');
|
var getCity = $('.city-data').data('content');
|
||||||
if(getCity == ""){getCity = default_city;}
|
if (getCity == "") {
|
||||||
|
getCity = default_city;
|
||||||
|
}
|
||||||
var getDistrict = $('.district-data').data('content');
|
var getDistrict = $('.district-data').data('content');
|
||||||
if(getDistrict == ""){getDistrict = default_district;}
|
if (getDistrict == "") {
|
||||||
|
getDistrict = default_district;
|
||||||
|
}
|
||||||
var getNeighborhood = $('.neighborhood-data').data('content');
|
var getNeighborhood = $('.neighborhood-data').data('content');
|
||||||
if(getNeighborhood == ""){getNeighborhood = default_neighborhood;}
|
if (getNeighborhood == "") {
|
||||||
|
getNeighborhood = default_neighborhood;
|
||||||
|
}
|
||||||
var getVillage = $('.village-data').data('content');
|
var getVillage = $('.village-data').data('content');
|
||||||
var citySelectName = "city";
|
var citySelectName = "city";
|
||||||
var districtSelectName = "district";
|
var districtSelectName = "district";
|
||||||
var neighborhoodSelectName = "neighborhood";
|
var neighborhoodSelectName = "neighborhood";
|
||||||
var villageSelectName = "village";
|
var villageSelectName = "village";
|
||||||
var countrySelectName = "country";
|
var countrySelectName = "country";
|
||||||
jQuery( document ).ready(function( $ ) {
|
jQuery(document).ready(function ($) {
|
||||||
|
|
||||||
}).promise().done(function() {
|
}).promise().done(function () {
|
||||||
$('select[name="country"]').val(getCountry);
|
$('select[name="country"]').val(getCountry);
|
||||||
}).promise().done(function() {
|
}).promise().done(function () {
|
||||||
var cat = getCountry;
|
var cat = getCountry;
|
||||||
var level = 1;
|
var level = 1;
|
||||||
var name = citySelectName;
|
var name = citySelectName;
|
||||||
Locations(cat, level, name);
|
Locations(cat, level, name);
|
||||||
}).promise().done(function() {
|
}).promise().done(function () {
|
||||||
var cat = getCity;
|
var cat = getCity;
|
||||||
var level = 2;
|
var level = 2;
|
||||||
var name = districtSelectName;
|
var name = districtSelectName;
|
||||||
Locations(cat, level, name);
|
Locations(cat, level, name);
|
||||||
}).promise().done(function() {
|
}).promise().done(function () {
|
||||||
var cat = getDistrict;
|
var cat = getDistrict;
|
||||||
var level = 3;
|
var level = 3;
|
||||||
var name = neighborhoodSelectName;
|
var name = neighborhoodSelectName;
|
||||||
Locations(cat, level, name);
|
Locations(cat, level, name);
|
||||||
}).promise().done(function() {
|
}).promise().done(function () {
|
||||||
var cat = getNeighborhood;
|
var cat = getNeighborhood;
|
||||||
var level = 4;
|
var level = 4;
|
||||||
var name = villageSelectName;
|
var name = villageSelectName;
|
||||||
Locations(cat, level, name);
|
Locations(cat, level, name);
|
||||||
});
|
});
|
||||||
|
|
||||||
$(document).on('change', 'select[name="'+countrySelectName+'"]', function(){
|
$(document).on('change', 'select[name="' + countrySelectName + '"]', function () {
|
||||||
var cat = $(this).val();
|
var cat = $(this).val();
|
||||||
var level = 1;
|
var level = 1;
|
||||||
var name = citySelectName;
|
var name = citySelectName;
|
||||||
|
boundsAction = true;
|
||||||
Locations(cat, level, name);
|
Locations(cat, level, name);
|
||||||
});
|
});
|
||||||
$(document).on('change', 'select[name="'+citySelectName+'"]', function(){
|
$(document).on('change', 'select[name="' + citySelectName + '"]', function () {
|
||||||
var cat = $(this).val();
|
var cat = $(this).val();
|
||||||
var level = 2;
|
var level = 2;
|
||||||
var name = districtSelectName;
|
var name = districtSelectName;
|
||||||
|
boundsAction = true;
|
||||||
Locations(cat, level, name)
|
Locations(cat, level, name)
|
||||||
});
|
});
|
||||||
$(document).on('change', 'select[name="'+districtSelectName+'"]', function(){
|
$(document).on('change', 'select[name="' + districtSelectName + '"]', function () {
|
||||||
var cat = $(this).val();
|
var cat = $(this).val();
|
||||||
var level = 3;
|
var level = 3;
|
||||||
var name = neighborhoodSelectName;
|
var name = neighborhoodSelectName;
|
||||||
|
boundsAction = true;
|
||||||
Locations(cat, level, name)
|
Locations(cat, level, name)
|
||||||
});
|
});
|
||||||
$(document).on('change', 'select[name="'+neighborhoodSelectName+'"]', function(){
|
$(document).on('change', 'select[name="' + neighborhoodSelectName + '"]', function () {
|
||||||
var cat = $(this).val();
|
var cat = $(this).val();
|
||||||
var level = 4;
|
var level = 4;
|
||||||
var name = villageSelectName;
|
var name = villageSelectName;
|
||||||
|
boundsAction = true;
|
||||||
Locations(cat, level, name)
|
Locations(cat, level, name)
|
||||||
});
|
});
|
||||||
function Locations(cat, level, name){
|
|
||||||
|
function Locations(cat, level, name) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: "GET",
|
type: "GET",
|
||||||
data: "cat=" + cat + "&level=" + level,
|
data: "cat=" + cat + "&level=" + level,
|
||||||
url: "/class/ajax",
|
url: "/class/ajax",
|
||||||
success: function(msg){
|
success: function (msg) {
|
||||||
$('select[name="'+name+'"]').find('option').remove();
|
$('select[name="' + name + '"]').find('option').remove();
|
||||||
$('select[name="'+name+'"]').append('<option value="">Choose an option...</option>');
|
$('select[name="' + name + '"]').append('<option value="">Choose an option...</option>');
|
||||||
$.each(msg, function(key, value){
|
$.each(msg, function (key, value) {
|
||||||
$('select[name="'+name+'"]').append('<option value="'+value.id+'">'+value.name+'</option>');
|
$('select[name="' + name + '"]').append('<option value="' + value.id + '">' + value.name + '</option>');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}).promise().done(function() {
|
}).promise().done(function () {
|
||||||
setLocation(level);
|
setLocation(level);
|
||||||
haritaIslem(0);
|
haritaIslem(0);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function setLocation(level){
|
function setLocation(level) {
|
||||||
if(level == 1){
|
if (level == 1) {
|
||||||
$('select[name="'+citySelectName+'"]').val(getCity);
|
$('select[name="' + citySelectName + '"]').val(getCity);
|
||||||
}else if(level == 2){
|
} else if (level == 2) {
|
||||||
$('select[name="'+districtSelectName+'"]').val(getDistrict);
|
$('select[name="' + districtSelectName + '"]').val(getDistrict);
|
||||||
}else if(level == 3){
|
} else if (level == 3) {
|
||||||
$('select[name="'+neighborhoodSelectName+'"]').val(getNeighborhood);
|
$('select[name="' + neighborhoodSelectName + '"]').val(getNeighborhood);
|
||||||
}else if(level == 4){
|
} else if (level == 4) {
|
||||||
$('select[name="'+villageSelectName+'"]').val(getVillage);
|
$('select[name="' + villageSelectName + '"]').val(getVillage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var locationedit = $('input[name="map_Val"]').val();
|
var locationedit = $('input[name="map_Val"]').val();
|
||||||
if(locationedit){
|
if (locationedit) {
|
||||||
var coordcenter = new google.maps.LatLng(locationedit);
|
var lat = locationedit.split(",")[0];
|
||||||
}else{
|
var lng = locationedit.split(",")[1];
|
||||||
|
var coordcenter = new google.maps.LatLng(lat, lng);
|
||||||
|
} else {
|
||||||
var coordcenter = new google.maps.LatLng(38.9573415, 35.2415759);
|
var coordcenter = new google.maps.LatLng(38.9573415, 35.2415759);
|
||||||
}
|
}
|
||||||
|
|
||||||
var mapOptions = {
|
var mapOptions = {
|
||||||
|
|
||||||
center: coordcenter,
|
center: coordcenter,
|
||||||
zoom: 6,
|
zoom: 20,
|
||||||
mapTypeId: google.maps.MapTypeId.STREET
|
mapTypeId: google.maps.MapTypeId.STREET
|
||||||
};
|
};
|
||||||
var secildi = 0;
|
var secildi = 0;
|
||||||
@ -112,19 +129,19 @@ var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions)
|
|||||||
|
|
||||||
function haritaIslem() {
|
function haritaIslem() {
|
||||||
var str = '';
|
var str = '';
|
||||||
if ($('select[name="'+countrySelectName+'"]').val() != "") {
|
if ($('select[name="' + countrySelectName + '"]').val() != "") {
|
||||||
str += $('select[name="'+countrySelectName+'"] :selected').text() + ' ';
|
str += $('select[name="' + countrySelectName + '"] :selected').text() + ' ';
|
||||||
}
|
}
|
||||||
if ($('select[name="'+citySelectName+'"]').val() != "") {
|
if ($('select[name="' + citySelectName + '"]').val() != "") {
|
||||||
str += $('select[name="'+citySelectName+'"] :selected').text() + ' ';
|
str += $('select[name="' + citySelectName + '"] :selected').text() + ' ';
|
||||||
}
|
}
|
||||||
if ($('select[name="'+districtSelectName+'"]').val() != "") {
|
if ($('select[name="' + districtSelectName + '"]').val() != "") {
|
||||||
str += $('select[name="'+districtSelectName+'"] :selected').text() + ' ';
|
str += $('select[name="' + districtSelectName + '"] :selected').text() + ' ';
|
||||||
}
|
}
|
||||||
if ($('select[name="'+neighborhoodSelectName+'"]').val() != "") {
|
if ($('select[name="' + neighborhoodSelectName + '"]').val() != "") {
|
||||||
str += $('select[name="'+neighborhoodSelectName+'"] :selected').text() + ' ';
|
str += $('select[name="' + neighborhoodSelectName + '"] :selected').text() + ' ';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!str) {
|
if (!str) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -140,12 +157,11 @@ function haritaIslem() {
|
|||||||
var lng = results[0].geometry.location.lng();
|
var lng = results[0].geometry.location.lng();
|
||||||
var latlng = new google.maps.LatLng(lat, lng);
|
var latlng = new google.maps.LatLng(lat, lng);
|
||||||
var bounds = results[0].geometry.bounds;
|
var bounds = results[0].geometry.bounds;
|
||||||
|
if (boundsAction) {
|
||||||
if (bounds != undefined) {
|
|
||||||
map.fitBounds(bounds);
|
map.fitBounds(bounds);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($('select[name="'+neighborhoodSelectName+'"]').val() != "" && $('select[name="'+neighborhoodSelectName+'"]').val() != 0 && secildi == 0) {
|
if ($('select[name="' + neighborhoodSelectName + '"]').val() != "" && $('select[name="' + neighborhoodSelectName + '"]').val() != 0 && secildi == 0) {
|
||||||
secildi = 1;
|
secildi = 1;
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -153,13 +169,12 @@ function haritaIslem() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function placeMarker(location) {
|
function placeMarker(location) {
|
||||||
console.log(location);
|
|
||||||
var lat = location.lat();
|
var lat = location.lat();
|
||||||
var lng = location.lng();
|
var lng = location.lng();
|
||||||
$(".mapVal").val(lat + "," + lng);
|
$(".mapVal").val(lat + "," + lng);
|
||||||
if (marker) {
|
if (marker) {
|
||||||
marker.setPosition(location);
|
marker.setPosition(location);
|
||||||
$("#map").data(lat+","+lng);
|
$("#map").data(lat + "," + lng);
|
||||||
} else {
|
} else {
|
||||||
marker = new google.maps.Marker({
|
marker = new google.maps.Marker({
|
||||||
position: location,
|
position: location,
|
||||||
@ -170,19 +185,22 @@ function placeMarker(location) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
editMarket();
|
editMarket();
|
||||||
|
|
||||||
function editMarket() {
|
function editMarket() {
|
||||||
var locationedit = $('input[name="map_Val"]').val();
|
var locationedit = $('input[name="map_Val"]').val();
|
||||||
if(locationedit){
|
if (locationedit) {
|
||||||
|
|
||||||
var lat = locationedit.split(",")[0];
|
var lat = locationedit.split(",")[0];
|
||||||
var lng = locationedit.split(",")[1];
|
var lng = locationedit.split(",")[1];
|
||||||
var location = new google.maps.LatLng(lat, lng);
|
|
||||||
$(".mapVal").val($('input[name="map_Val"]'));
|
var locationMap = new google.maps.LatLng(lat, lng);
|
||||||
|
$(".mapVal").val($('input[name="map_Val"]').val());
|
||||||
if (marker) {
|
if (marker) {
|
||||||
marker.setPosition(location);
|
marker.setPosition(locationMap);
|
||||||
$("#map").data(lat+","+lng);
|
$("#map").data(lat + "," + lng);
|
||||||
} else {
|
} else {
|
||||||
marker = new google.maps.Marker({
|
marker = new google.maps.Marker({
|
||||||
position: location,
|
position: locationMap,
|
||||||
map: map
|
map: map
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@ -98,9 +98,6 @@ return [
|
|||||||
'watermark_position' => [
|
'watermark_position' => [
|
||||||
'name' => 'موقف العلامة المائية',
|
'name' => 'موقف العلامة المائية',
|
||||||
],
|
],
|
||||||
'watermark_opacity' => [
|
|
||||||
'name' => 'عتامة العلامة المائية',
|
|
||||||
],
|
|
||||||
'listing_page_image' => [
|
'listing_page_image' => [
|
||||||
'name' => 'سرد صورة الصفحة',
|
'name' => 'سرد صورة الصفحة',
|
||||||
],
|
],
|
||||||
|
|||||||
@ -115,10 +115,6 @@
|
|||||||
"watermark_position" => [
|
"watermark_position" => [
|
||||||
"name" =>"Wasserzeichen Position",
|
"name" =>"Wasserzeichen Position",
|
||||||
|
|
||||||
],
|
|
||||||
"watermark_opacity" => [
|
|
||||||
"name" =>"Wasserzeichen Deckkraft",
|
|
||||||
|
|
||||||
],
|
],
|
||||||
"listing_page_image" => [
|
"listing_page_image" => [
|
||||||
"name" =>"Listing Page Image",
|
"name" =>"Listing Page Image",
|
||||||
|
|||||||
@ -115,10 +115,6 @@
|
|||||||
"watermark_position" => [
|
"watermark_position" => [
|
||||||
"name" =>"Θέση υδατοσήματος",
|
"name" =>"Θέση υδατοσήματος",
|
||||||
|
|
||||||
],
|
|
||||||
"watermark_opacity" => [
|
|
||||||
"name" =>"Αδιαφάνεια του υδατογραφήματος",
|
|
||||||
|
|
||||||
],
|
],
|
||||||
"listing_page_image" => [
|
"listing_page_image" => [
|
||||||
"name" =>"Λίστα εικόνων σελίδας",
|
"name" =>"Λίστα εικόνων σελίδας",
|
||||||
|
|||||||
@ -11,6 +11,7 @@ return [
|
|||||||
'approve' => "Approve",
|
'approve' => "Approve",
|
||||||
'decline' => 'Decline',
|
'decline' => 'Decline',
|
||||||
'extend' => 'Extend',
|
'extend' => 'Extend',
|
||||||
|
'extend_all' => 'Extend All',
|
||||||
'sub_category' => 'Sub Categories',
|
'sub_category' => 'Sub Categories',
|
||||||
'add_sub_category' => 'Add Sub Category',
|
'add_sub_category' => 'Add Sub Category',
|
||||||
'sub_cities' => 'Sub Cities',
|
'sub_cities' => 'Sub Cities',
|
||||||
|
|||||||
@ -95,9 +95,6 @@ return [
|
|||||||
'watermark_position' => [
|
'watermark_position' => [
|
||||||
'name' => 'Watermark Position',
|
'name' => 'Watermark Position',
|
||||||
],
|
],
|
||||||
'watermark_opacity' => [
|
|
||||||
'name' => 'Watermark Opacity',
|
|
||||||
],
|
|
||||||
'listing_page_image' => [
|
'listing_page_image' => [
|
||||||
'name' => 'Listing Page Image',
|
'name' => 'Listing Page Image',
|
||||||
],
|
],
|
||||||
|
|||||||
@ -95,9 +95,6 @@ return [
|
|||||||
'watermark_position' => [
|
'watermark_position' => [
|
||||||
'name' => 'Pozicioni i Filigranit',
|
'name' => 'Pozicioni i Filigranit',
|
||||||
],
|
],
|
||||||
'watermark_opacity' => [
|
|
||||||
'name' => 'Hapësira e Filigranit',
|
|
||||||
],
|
|
||||||
'listing_page_image' => [
|
'listing_page_image' => [
|
||||||
'name' => 'Lista e figurës së faqes',
|
'name' => 'Lista e figurës së faqes',
|
||||||
],
|
],
|
||||||
|
|||||||
@ -10,7 +10,8 @@ return [
|
|||||||
'new_village' => 'Yeni köy',
|
'new_village' => 'Yeni köy',
|
||||||
'approve' => "Onayla",
|
'approve' => "Onayla",
|
||||||
'decline' => 'Reddet',
|
'decline' => 'Reddet',
|
||||||
'extend' => 'Uzat',
|
'extend' => 'Tarihi Güncelle',
|
||||||
|
'extend_all' => 'Tümünün Tarihini Güncelle',
|
||||||
'sub_category' => 'Alt Kategoriler',
|
'sub_category' => 'Alt Kategoriler',
|
||||||
'add_sub_category' => 'Alt Kategori Ekle',
|
'add_sub_category' => 'Alt Kategori Ekle',
|
||||||
'sub_cities' => 'Alt Şehirler',
|
'sub_cities' => 'Alt Şehirler',
|
||||||
|
|||||||
@ -95,9 +95,6 @@ return [
|
|||||||
'watermark_position' => [
|
'watermark_position' => [
|
||||||
'name' => 'Filigran Konumu',
|
'name' => 'Filigran Konumu',
|
||||||
],
|
],
|
||||||
'watermark_opacity' => [
|
|
||||||
'name' => 'Filigran Opaklığı',
|
|
||||||
],
|
|
||||||
'listing_page_image' => [
|
'listing_page_image' => [
|
||||||
'name' => 'Sayfa Resmi Listeleme',
|
'name' => 'Sayfa Resmi Listeleme',
|
||||||
],
|
],
|
||||||
|
|||||||
@ -27,7 +27,7 @@
|
|||||||
{% include "visiosoft.module.advs::list/partials/display-mode" %}
|
{% include "visiosoft.module.advs::list/partials/display-mode" %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{ addBlock('ads-list/row',{'topfields':topfields})|raw }}
|
{{ addBlock('ads-list/row',{'topfields':topfields,'advs':advs})|raw }}
|
||||||
<div class="row">
|
<div class="row">
|
||||||
{% block listContent %}
|
{% block listContent %}
|
||||||
{% include "visiosoft.module.advs::list/partials/ads" %}
|
{% include "visiosoft.module.advs::list/partials/ads" %}
|
||||||
|
|||||||
@ -1,200 +1,212 @@
|
|||||||
{% set formHtml %}
|
{% set formHtml %}
|
||||||
<form action="{{ url_route('visiosoft.module.advs::list') }}" method="get">
|
<form action="{{ url_route('visiosoft.module.advs::list') }}" method="get">
|
||||||
{% endset %}
|
{% endset %}
|
||||||
{% if 'cat' in param|keys %}
|
{% if 'cat' in param|keys %}
|
||||||
{% if not param['cat'] is empty %}
|
{% if not param['cat'] is empty %}
|
||||||
{% set catId = entries('cats', 'category').find(param['cat']) %}
|
{% set catId = entries('cats', 'category').find(param['cat']) %}
|
||||||
{% set cityId = null %}
|
{% set cityId = null %}
|
||||||
{% if 'city' in param|keys %}
|
{% if 'city' in param|keys %}
|
||||||
{% set citiesArray = param['city'][0]|split(',') %}
|
{% set citiesArray = param['city'][0]|split(',') %}
|
||||||
{% if count(citiesArray) is same as(1) %}
|
{% if count(citiesArray) is same as(1) %}
|
||||||
{% set cityId = entries('location', 'cities').find(param['city'][0]) %}
|
{% set cityId = entries('location', 'cities').find(param['city'][0]) %}
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% set formHtml %}
|
|
||||||
<form action="{{ url_route('adv_list_seo', [catId.slug, cityId.slug]) }}" method="get">
|
|
||||||
{% endset %}
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% set formHtml %}
|
||||||
{{ formHtml }}
|
<form action="{{ url_route('adv_list_seo', [catId.slug, cityId.slug]) }}" method="get">
|
||||||
<div class="row">
|
{% endset %}
|
||||||
<input type="hidden" name="cat" value="{{ app.request.get('cat') }}">
|
{% endif %}
|
||||||
<input type="hidden" name="user" value="{{ app.request.get('user') }}">
|
{% endif %}
|
||||||
<div class="col-md-12 px-4">
|
{{ formHtml }}
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div id="filter" class="w-100 mb-3">
|
<input type="hidden" name="cat" value="{{ app.request.get('cat') }}">
|
||||||
|
<input type="hidden" name="user" value="{{ app.request.get('user') }}">
|
||||||
|
<div class="col-md-12 px-4">
|
||||||
|
<div class="row">
|
||||||
|
<div id="filter" class="w-100 mb-3">
|
||||||
|
|
||||||
{{ addBlock('ads-list/partials/list-filter',{
|
{{ addBlock('ads-list/partials/list-filter',{
|
||||||
'mainCats':mainCats,
|
'mainCats':mainCats,
|
||||||
'subCats':subCats,
|
'subCats':subCats,
|
||||||
'ranges':ranges,
|
'ranges':ranges,
|
||||||
'checkboxes':checkboxes,
|
'checkboxes':checkboxes,
|
||||||
'radio':radio,
|
'topfields' : topfields,
|
||||||
'countries':countries,
|
'radio':radio,
|
||||||
'cities':cities,
|
'countries':countries,
|
||||||
'districts':districts,
|
'cities':cities,
|
||||||
'neighborhoods':neighborhoods,
|
'districts':districts,
|
||||||
'villages':villages,
|
'neighborhoods':neighborhoods,
|
||||||
'param':param
|
'villages':villages,
|
||||||
})|raw }}
|
'param':param
|
||||||
|
})|raw }}
|
||||||
|
|
||||||
<!-- Date Filter Start -->
|
<!-- Date Filter Start -->
|
||||||
<div class="card mb-3">
|
<div class="card mb-3">
|
||||||
<div class="card-header breadcrumb mb-0" id="dateHeading">
|
<div class="card-header breadcrumb mb-0" id="dateHeading">
|
||||||
<h5 class="mb-0">
|
<h5 class="mb-0">
|
||||||
<button class="btn btn-link text-dark" data-toggle="collapse" data-target="#date"
|
<button class="btn btn-link text-dark" data-toggle="collapse" data-target="#date"
|
||||||
aria-expanded="true" aria-controls="date">
|
aria-expanded="true" aria-controls="date">
|
||||||
<i class="fa fa-calendar"></i>
|
<i class="fa fa-calendar"></i>
|
||||||
{{ trans("visiosoft.module.advs::field.date.name") }}
|
{{ trans("visiosoft.module.advs::field.date.name") }}
|
||||||
</button>
|
</button>
|
||||||
</h5>
|
</h5>
|
||||||
</div>
|
</div>
|
||||||
<div id="dateContainer" class="collapse show overflow-auto" aria-labelledby="dateHeading"
|
<div id="dateContainer" class="collapse show overflow-auto" aria-labelledby="dateHeading"
|
||||||
data-parent="#filter"
|
data-parent="#filter"
|
||||||
style="max-height: 300px;">
|
style="max-height: 300px;">
|
||||||
<div class="d-flex flex-column p-3 m-0">
|
<div class="d-flex flex-column p-3 m-0">
|
||||||
<div class="form-check py-1">
|
<div class="form-check py-1">
|
||||||
<input class="form-check-input" type="radio" name="date" id="dateDay" value="day">
|
<input class="form-check-input" type="radio" name="date" id="dateDay"
|
||||||
<label class="form-check-label" for="dateDay">
|
value="day">
|
||||||
{{ trans("visiosoft.module.advs::field.in_the_last_24_hours.name") }}
|
<label class="form-check-label" for="dateDay">
|
||||||
</label>
|
{{ trans("visiosoft.module.advs::field.in_the_last_24_hours.name") }}
|
||||||
</div>
|
</label>
|
||||||
<div class="form-check py-1">
|
</div>
|
||||||
<input class="form-check-input" type="radio" name="date" id="dateWeek" value="week">
|
<div class="form-check py-1">
|
||||||
<label class="form-check-label" for="dateWeek">
|
<input class="form-check-input" type="radio" name="date" id="dateWeek"
|
||||||
{{ trans("visiosoft.module.advs::field.in_the_last_week.name") }}
|
value="week">
|
||||||
</label>
|
<label class="form-check-label" for="dateWeek">
|
||||||
</div>
|
{{ trans("visiosoft.module.advs::field.in_the_last_week.name") }}
|
||||||
<div class="form-check py-1">
|
</label>
|
||||||
<input class="form-check-input" type="radio" name="date" id="dateMonth"
|
</div>
|
||||||
value="month">
|
<div class="form-check py-1">
|
||||||
<label class="form-check-label" for="dateMonth">
|
<input class="form-check-input" type="radio" name="date" id="dateMonth"
|
||||||
{{ trans("visiosoft.module.advs::field.in_the_last_month.name") }}
|
value="month">
|
||||||
</label>
|
<label class="form-check-label" for="dateMonth">
|
||||||
|
{{ trans("visiosoft.module.advs::field.in_the_last_month.name") }}
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<!-- Date Filter End -->
|
||||||
<!-- Date Filter End -->
|
|
||||||
|
|
||||||
<!-- Media Filter Start -->
|
<!-- Media Filter Start -->
|
||||||
<div class="card mb-3">
|
<div class="card mb-3">
|
||||||
<div class="card-header breadcrumb mb-0" id="mediaHeading">
|
<div class="card-header breadcrumb mb-0" id="mediaHeading">
|
||||||
<h5 class="mb-0">
|
<h5 class="mb-0">
|
||||||
<button class="btn btn-link text-dark" data-toggle="collapse" data-target="#media"
|
<button class="btn btn-link text-dark" data-toggle="collapse" data-target="#media"
|
||||||
aria-expanded="true" aria-controls="media">
|
aria-expanded="true" aria-controls="media">
|
||||||
<i class="fa fa-camera"></i>
|
<i class="fa fa-camera"></i>
|
||||||
{{ trans("visiosoft.module.advs::field.photo.name") }}
|
{{ trans("visiosoft.module.advs::field.photo.name") }}
|
||||||
, {{ trans("visiosoft.module.advs::field.video.name") }}
|
, {{ trans("visiosoft.module.advs::field.video.name") }}
|
||||||
</button>
|
</button>
|
||||||
</h5>
|
</h5>
|
||||||
</div>
|
</div>
|
||||||
<div id="mediaContainer" class="collapse show overflow-auto" aria-labelledby="mediaHeading"
|
<div id="mediaContainer" class="collapse show overflow-auto" aria-labelledby="mediaHeading"
|
||||||
data-parent="#filter"
|
data-parent="#filter"
|
||||||
style="max-height: 300px;">
|
style="max-height: 300px;">
|
||||||
<div class="row p-3 m-0">
|
<div class="row p-3 m-0">
|
||||||
<div class="form-check py-1">
|
<div class="form-check py-1">
|
||||||
<input class="form-check-input" type="checkbox" value="true" name="photo"
|
<input class="form-check-input" type="checkbox"
|
||||||
id="photo">
|
{% if app.request.get('photo') == true %}
|
||||||
<label class="form-check-label" for="photo">
|
checked
|
||||||
{{ trans("visiosoft.module.advs::field.ads_with_photo.name") }}
|
{% endif %}
|
||||||
</label>
|
value="true" name="photo"
|
||||||
</div>
|
id="photo">
|
||||||
<div class="form-check py-1">
|
<label class="form-check-label" for="photo">
|
||||||
<input class="form-check-input" type="checkbox" value="true" name="video"
|
{{ trans("visiosoft.module.advs::field.ads_with_photo.name") }}
|
||||||
id="video">
|
</label>
|
||||||
<label class="form-check-label" for="video">
|
</div>
|
||||||
{{ trans("visiosoft.module.advs::field.ads_with_video.name") }}
|
<div class="form-check py-1">
|
||||||
</label>
|
<input class="form-check-input" type="checkbox"
|
||||||
|
{% if app.request.get('video') == true %}
|
||||||
|
checked
|
||||||
|
{% endif %}
|
||||||
|
value="true" name="video"
|
||||||
|
id="video">
|
||||||
|
<label class="form-check-label" for="video">
|
||||||
|
{{ trans("visiosoft.module.advs::field.ads_with_video.name") }}
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<!-- Media Filter End -->
|
||||||
<!-- Media Filter End -->
|
|
||||||
|
|
||||||
<!-- Map Filter Start -->
|
<!-- Map Filter Start -->
|
||||||
<div class="card mb-3">
|
<div class="card mb-3">
|
||||||
<div class="card-header breadcrumb mb-0" id="mapHeading">
|
<div class="card-header breadcrumb mb-0" id="mapHeading">
|
||||||
<h5 class="mb-0">
|
<h5 class="mb-0">
|
||||||
<button class="btn btn-link text-dark" data-toggle="collapse" data-target="#mapFilter"
|
<button class="btn btn-link text-dark" data-toggle="collapse"
|
||||||
aria-expanded="true" aria-controls="mapFilter">
|
data-target="#mapFilter"
|
||||||
<i class="fa fa-map"></i>
|
aria-expanded="true" aria-controls="mapFilter">
|
||||||
{{ trans("visiosoft.module.advs::field.map.name") }}
|
<i class="fa fa-map"></i>
|
||||||
</button>
|
{{ trans("visiosoft.module.advs::field.map.name") }}
|
||||||
</h5>
|
</button>
|
||||||
</div>
|
</h5>
|
||||||
<div id="mapContainer" class="collapse show overflow-auto" aria-labelledby="mapHeading"
|
</div>
|
||||||
data-parent="#filter"
|
<div id="mapContainer" class="collapse show overflow-auto" aria-labelledby="mapHeading"
|
||||||
style="max-height: 300px;">
|
data-parent="#filter"
|
||||||
<div class="row p-3 m-0">
|
style="max-height: 300px;">
|
||||||
<div class="form-check py-1">
|
<div class="row p-3 m-0">
|
||||||
<input class="form-check-input" type="checkbox" value="true" name="map"
|
<div class="form-check py-1">
|
||||||
id="mapFilter">
|
<input class="form-check-input" type="checkbox" value="true" name="map"
|
||||||
<label class="form-check-label" for="mapFilter">
|
id="mapFilter">
|
||||||
{{ trans("visiosoft.module.advs::field.yes.name") }}
|
<label class="form-check-label" for="mapFilter">
|
||||||
</label>
|
{{ trans("visiosoft.module.advs::field.yes.name") }}
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<!-- Map Filter End -->
|
||||||
<!-- Map Filter End -->
|
|
||||||
|
|
||||||
<!-- Price Filter Start -->
|
<!-- Price Filter Start -->
|
||||||
<div class="card mb-3">
|
<div class="card mb-3">
|
||||||
<div class="card-header breadcrumb mb-0" id="priceHeading">
|
<div class="card-header breadcrumb mb-0" id="priceHeading">
|
||||||
<h5 class="mb-0">
|
<h5 class="mb-0">
|
||||||
<button class="btn btn-link text-dark" data-toggle="collapse" data-target="#price"
|
<button class="btn btn-link text-dark" data-toggle="collapse" data-target="#price"
|
||||||
aria-expanded="true" aria-controls="price">
|
aria-expanded="true" aria-controls="price">
|
||||||
<i class="fas fa-money-bill"></i>
|
<i class="fas fa-money-bill"></i>
|
||||||
{{ trans("visiosoft.module.advs::field.price.name") }}
|
{{ trans("visiosoft.module.advs::field.price.name") }}
|
||||||
</button>
|
</button>
|
||||||
</h5>
|
</h5>
|
||||||
</div>
|
</div>
|
||||||
<div id="price" class="collapse show overflow-auto" aria-labelledby="priceHeading"
|
<div id="price" class="collapse show overflow-auto" aria-labelledby="priceHeading"
|
||||||
data-parent="#filter"
|
data-parent="#filter"
|
||||||
style="max-height: 300px;">
|
style="max-height: 300px;">
|
||||||
<div class="row p-0 m-0">
|
<div class="row p-0 m-0">
|
||||||
{% set active_currencies = setting_value('visiosoft.module.advs::enabled_currencies') %}
|
{% set active_currencies = setting_value('visiosoft.module.advs::enabled_currencies') %}
|
||||||
<div class="col-md-4 p-1 m-0">
|
<div class="col-md-4 p-1 m-0">
|
||||||
<input type="number" class="price-input form-control w-100"
|
<input type="number" class="price-input form-control w-100"
|
||||||
value="{{ app.request.get('min_price') }}"
|
value="{{ app.request.get('min_price') }}"
|
||||||
name="min_price" min="0"
|
name="min_price" min="0"
|
||||||
placeholder="{{ trans('visiosoft.module.advs::field.min.name') }}">
|
placeholder="{{ trans('visiosoft.module.advs::field.min.name') }}">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4 p-1 pr-0 m-0">
|
<div class="col-md-4 p-1 pr-0 m-0">
|
||||||
<input class="price-input form-control w-100" type="number"
|
<input class="price-input form-control w-100" type="number"
|
||||||
value="{{ app.request.get('max_price') }}"
|
value="{{ app.request.get('max_price') }}"
|
||||||
name="max_price"
|
name="max_price"
|
||||||
placeholder="{{ trans('visiosoft.module.advs::field.max.name') }}">
|
placeholder="{{ trans('visiosoft.module.advs::field.max.name') }}">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="col-md-4 py-1 px-0">
|
||||||
|
<select name="currency" id="currency" class="form-control">
|
||||||
|
{% for currency in active_currencies %}
|
||||||
|
<option {% if app.request.get('currency') == currency %}
|
||||||
|
selected
|
||||||
|
{% endif %}value="{{ currency }}">{{ currency }}</option>
|
||||||
|
{% endfor %}
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4 py-1 px-0">
|
|
||||||
<select name="currency" id="currency" class="form-control">
|
|
||||||
{% for currency in active_currencies %}
|
|
||||||
<option {% if app.request.get('currency') == currency %}
|
|
||||||
selected
|
|
||||||
{% endif %}value="{{ currency }}">{{ currency }}</option>
|
|
||||||
{% endfor %}
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<!-- Price Filter End -->
|
||||||
<!-- Price Filter End -->
|
|
||||||
|
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header bg-primary text-center" id="submitHeading">
|
<div class="card-header bg-primary text-center" id="submitHeading">
|
||||||
<h5 class="mb-0">
|
<h5 class="mb-0">
|
||||||
<button class="btn btn-link text-white w-100">
|
<button class="btn btn-link text-white w-100">
|
||||||
<i class="fas fa-search"></i>
|
<i class="fas fa-search"></i>
|
||||||
{{ trans("visiosoft.module.advs::field.search") }}
|
{{ trans("visiosoft.module.advs::field.search") }}
|
||||||
</button>
|
</button>
|
||||||
</h5>
|
</h5>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</form>
|
||||||
</form>
|
|
||||||
@ -8,7 +8,7 @@
|
|||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
<ul class="dropdown-menu" x-placement="bottom-start">
|
<ul class="dropdown-menu px-2 mt-0" x-placement="bottom-start">
|
||||||
<li>
|
<li>
|
||||||
<a href="#" data-value="sort_price_up"
|
<a href="#" data-value="sort_price_up"
|
||||||
class="sort-by-item text-dark">{{ trans("visiosoft.module.advs::field.price_high") }}</a>
|
class="sort-by-item text-dark">{{ trans("visiosoft.module.advs::field.price_high") }}</a>
|
||||||
|
|||||||
@ -27,7 +27,6 @@ class AdvCriteria extends EntryCriteria
|
|||||||
return $ads;
|
return $ads;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public function advsofDay()
|
public function advsofDay()
|
||||||
{
|
{
|
||||||
$advModel = new AdvModel();
|
$advModel = new AdvModel();
|
||||||
@ -69,6 +68,24 @@ class AdvCriteria extends EntryCriteria
|
|||||||
return $ads;
|
return $ads;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function findAdsByCategoryId($catId)
|
||||||
|
{
|
||||||
|
$advModel = new AdvModel();
|
||||||
|
$advs = AdvModel::query()
|
||||||
|
->whereDate('finish_at', '>=', date("Y-m-d H:i:s"))
|
||||||
|
->where('status', '=', 'approved')
|
||||||
|
->where('slug', '!=', '')
|
||||||
|
->where('cat1', $catId)
|
||||||
|
->get();
|
||||||
|
|
||||||
|
$ads = $advModel->getLocationNames($advs);
|
||||||
|
foreach ($ads as $index => $ad) {
|
||||||
|
$ads[$index]->detail_url = $advModel->getAdvDetailLinkByModel($ad, 'list');
|
||||||
|
$ads[$index] = $advModel->AddAdsDefaultCoverImage($ad);
|
||||||
|
}
|
||||||
|
return $ads;
|
||||||
|
}
|
||||||
|
|
||||||
public function getCurrentLocale()
|
public function getCurrentLocale()
|
||||||
{
|
{
|
||||||
return locale_get_display_name(config('app.locale'));
|
return locale_get_display_name(config('app.locale'));
|
||||||
|
|||||||
@ -59,18 +59,26 @@ class AdvModel extends AdvsAdvsEntryModel implements AdvInterface
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getAdv($id = null, $nullable_ad = false)
|
public function getAdv($id = null, $nullable_ad = false, $trashed = false)
|
||||||
{
|
{
|
||||||
if ($id != null) {
|
$query = $this::query();
|
||||||
if ($nullable_ad)
|
|
||||||
return $this->find($id);
|
if ($trashed) {
|
||||||
else
|
$query = $this::withTrashed();
|
||||||
return $this->where('advs_advs.slug', '!=', "")
|
|
||||||
->find($id);
|
|
||||||
}
|
}
|
||||||
if ($nullable_ad)
|
|
||||||
return $this->newQuery();
|
if ($id != null) {
|
||||||
return $this->where('advs_advs.slug', '!=', "");
|
if ($nullable_ad) {
|
||||||
|
return $query->find($id);
|
||||||
|
} else {
|
||||||
|
return $query->where('advs_advs.slug', '!=', "")
|
||||||
|
->find($id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($nullable_ad) {
|
||||||
|
return $query->newQuery();
|
||||||
|
}
|
||||||
|
return $query->where('advs_advs.slug', '!=', "");
|
||||||
}
|
}
|
||||||
|
|
||||||
public function userAdv($nullable_ad = false)
|
public function userAdv($nullable_ad = false)
|
||||||
|
|||||||
@ -142,7 +142,7 @@ class AdvRepository extends EntryRepository implements AdvRepositoryInterface
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($this->model->is_enabled('customfields')) {
|
if ($this->model->is_enabled('customfields')) {
|
||||||
$query = app('Visiosoft\CustomfieldsModule\Http\Controller\cfController')->filterSearch($customParameters, $query);
|
$query = app('Visiosoft\CustomfieldsModule\Http\Controller\cfController')->filterSearch($customParameters, $param, $query);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -160,29 +160,6 @@ class AdvRepository extends EntryRepository implements AdvRepositoryInterface
|
|||||||
$query = $query->whereRaw($column);
|
$query = $query->whereRaw($column);
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($param as $para => $value) {
|
|
||||||
if (substr($para, 4, 3) === "cf_") {
|
|
||||||
$id = substr($para, 7);
|
|
||||||
$minmax = substr($para, 0, 3);
|
|
||||||
if ($minmax == 'min') {
|
|
||||||
|
|
||||||
$num = $param[$minmax . '_cf_' . $id];
|
|
||||||
$int = (int)$num;
|
|
||||||
$column = "JSON_EXTRACT(cf_json, '$.cf" . $id . "') >= '" . $int . "'";
|
|
||||||
$query = $query->whereRaw($column);
|
|
||||||
|
|
||||||
}
|
|
||||||
if ($minmax == 'max') {
|
|
||||||
|
|
||||||
$num = $param[$minmax . '_cf_' . $id];
|
|
||||||
$int = (int)$num;
|
|
||||||
$column = "JSON_EXTRACT(cf_json, '$.cf" . $id . "') <= '" . $int . "'";
|
|
||||||
$query = $query->whereRaw($column);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// //UPDATE `default_advs_advs` SET `coor` = (PointFromText('POINT(41.085022 28.804754)')) WHERE `default_advs_advs`.`id` = 8
|
// //UPDATE `default_advs_advs` SET `coor` = (PointFromText('POINT(41.085022 28.804754)')) WHERE `default_advs_advs`.`id` = 8
|
||||||
// //SELECT * FROM `default_advs_advs` WHERE ST_DISTANCE(ST_GeomFromText('POINT(41.0709052 28.829627)'), coor) < 20
|
// //SELECT * FROM `default_advs_advs` WHERE ST_DISTANCE(ST_GeomFromText('POINT(41.0709052 28.829627)'), coor) < 20
|
||||||
@ -199,10 +176,10 @@ class AdvRepository extends EntryRepository implements AdvRepositoryInterface
|
|||||||
if (!empty($param['sort_by'])) {
|
if (!empty($param['sort_by'])) {
|
||||||
switch ($param['sort_by']) {
|
switch ($param['sort_by']) {
|
||||||
case "sort_price_up":
|
case "sort_price_up":
|
||||||
$query = $query->orderBy('price', 'desc');
|
$query = $query->orderBy('advs_advs.price', 'desc');
|
||||||
break;
|
break;
|
||||||
case "sort_price_down":
|
case "sort_price_down":
|
||||||
$query = $query->orderBy('price', 'asc');
|
$query = $query->orderBy('advs_advs.price', 'asc');
|
||||||
break;
|
break;
|
||||||
case "sort_time":
|
case "sort_time":
|
||||||
$query = $query->orderBy('advs_advs.created_at', 'desc');
|
$query = $query->orderBy('advs_advs.created_at', 'desc');
|
||||||
@ -210,12 +187,12 @@ class AdvRepository extends EntryRepository implements AdvRepositoryInterface
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$query = $query->orderBy('advs_advs.created_at', 'desc');
|
$query = $query->orderBy('advs_advs.created_at', 'desc');
|
||||||
if ($isActiveDopings) {
|
}
|
||||||
$query = app('Visiosoft\DopingsModule\Http\Controller\DopingsController')->querySelect($query, $param);
|
if ($isActiveDopings) {
|
||||||
} else {
|
$query = app('Visiosoft\DopingsModule\Http\Controller\DopingsController')->querySelect($query, $param);
|
||||||
$query = $query->select('advs_advs.*', 'advs_advs_translations.name as name',
|
} else {
|
||||||
'advs_advs_translations.advs_desc as advs_desc');
|
$query = $query->select('advs_advs.*', 'advs_advs_translations.name as name',
|
||||||
}
|
'advs_advs_translations.advs_desc as advs_desc');
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($type == "list") {
|
if ($type == "list") {
|
||||||
|
|||||||
@ -30,6 +30,11 @@ class AdvsModule extends Module
|
|||||||
'new_adv' => [
|
'new_adv' => [
|
||||||
'href' => "/advs/create_adv",
|
'href' => "/advs/create_adv",
|
||||||
],
|
],
|
||||||
|
'extend_all' => [
|
||||||
|
'href' => "/admin/advs/extendAll",
|
||||||
|
'icon' => 'fa fa-calendar',
|
||||||
|
'type' => 'info'
|
||||||
|
],
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
'assets_clear' => [
|
'assets_clear' => [
|
||||||
|
|||||||
@ -212,7 +212,10 @@ class AdvsModuleServiceProvider extends AddonServiceProvider
|
|||||||
'as' => 'ajax::getAds',
|
'as' => 'ajax::getAds',
|
||||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\AjaxController@getMyAds'
|
'uses' => 'Visiosoft\AdvsModule\Http\Controller\AjaxController@getMyAds'
|
||||||
],
|
],
|
||||||
|
'admin/advs/extendAll' => [
|
||||||
|
'as' => 'advs::extendAll',
|
||||||
|
'uses' => 'Visiosoft\AdvsModule\Http\Controller\Admin\AdvsController@extendAll',
|
||||||
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -257,4 +257,13 @@ class AdvsController extends AdminController
|
|||||||
<a href='" . $request->server('HTTP_REFERER') . "'><b>Return Back</b></a>";
|
<a href='" . $request->server('HTTP_REFERER') . "'><b>Return Back</b></a>";
|
||||||
echo "<br><a href='/admin'><b>Return Admin Panel</b></a>";
|
echo "<br><a href='/admin'><b>Return Admin Panel</b></a>";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function extendAll()
|
||||||
|
{
|
||||||
|
$advs = $this->model->get();
|
||||||
|
$new_date = date('Y-m-d H:i:s', strtotime(date('Y-m-d H:i:s') . ' + ' . setting_value('visiosoft.module.advs::default_published_time') . ' day'));
|
||||||
|
$advs->update(['finish_at' => $new_date]);
|
||||||
|
$this->messages->success(trans('visiosoft.module.advs::field.extended'));
|
||||||
|
return $this->redirect->to('admin/advs/advs');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -214,14 +214,8 @@ class AdvsController extends PublicController
|
|||||||
$advs = $this->adv_repository->addAttributes($advs);
|
$advs = $this->adv_repository->addAttributes($advs);
|
||||||
|
|
||||||
|
|
||||||
if ($isActiveDopings) {
|
if ($isActiveDopings and $param != null) {
|
||||||
$dopingModel = new DopingModel();
|
$featured_advs = app('Visiosoft\DopingsModule\Http\Controller\DopingsController')->listFeatures($advs);
|
||||||
$featured_advs = $dopingModel->filterAdvs(2, $advs);
|
|
||||||
|
|
||||||
foreach ($featured_advs as $index => $ad) {
|
|
||||||
$featured_advs[$index]->detail_url = $this->adv_model->getAdvDetailLinkByModel($ad, 'list');
|
|
||||||
$featured_advs[$index] = $this->adv_model->AddAdsDefaultCoverImage($ad);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($advs as $index => $ad) {
|
foreach ($advs as $index => $ad) {
|
||||||
|
|||||||
@ -8,7 +8,8 @@ return [
|
|||||||
'title' => 'visiosoft.theme.base::section.catalog_mode.name',
|
'title' => 'visiosoft.theme.base::section.catalog_mode.name',
|
||||||
'fields' => [
|
'fields' => [
|
||||||
'navigation_title', 'navigation_action', 'date_fields', 'price_fields',
|
'navigation_title', 'navigation_action', 'date_fields', 'price_fields',
|
||||||
'breadcrumbs', 'ad_details', 'ad_details_tab','latest_and_view_all_btn'
|
'breadcrumbs', 'ad_details', 'ad_details_tab','latest_and_view_all_btn',
|
||||||
|
'register_page_instruction_logo'
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
|
|||||||
@ -49,5 +49,11 @@ return [
|
|||||||
"default_value" => 1,
|
"default_value" => 1,
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
'register_page_instruction_logo' => [
|
||||||
|
'type' => 'anomaly.field_type.file',
|
||||||
|
"config" => [
|
||||||
|
"folders" => ['images'],
|
||||||
|
"mode" => "upload",
|
||||||
|
]
|
||||||
|
],
|
||||||
];
|
];
|
||||||
File diff suppressed because it is too large
Load Diff
@ -7,4 +7,120 @@
|
|||||||
.register-section button,
|
.register-section button,
|
||||||
.register-section a {
|
.register-section a {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.login_subject {
|
||||||
|
color: #333;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-section label {
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.forgot_password {
|
||||||
|
display: inline-block;
|
||||||
|
float: right;
|
||||||
|
color: #868f94;
|
||||||
|
}
|
||||||
|
.forgot_password:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-section button {
|
||||||
|
padding: 9px 22px;
|
||||||
|
margin-bottom: 0;
|
||||||
|
font-family: 'Lucida Grande','LucidaGrande',Arial,sans-serif;
|
||||||
|
font-weight: bold;
|
||||||
|
text-align: center;
|
||||||
|
vertical-align: middle;
|
||||||
|
cursor: pointer;
|
||||||
|
border-radius: 2px;
|
||||||
|
color: #fff;
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
background-image: -moz-linear-gradient(top,#6198d3,#437db9);
|
||||||
|
background-image: -ms-linear-gradient(top,#6198d3,#437db9);
|
||||||
|
background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0%,#6198d3),color-stop(100%,#437db9));
|
||||||
|
background-image: -webkit-linear-gradient(top,#6198d3,#437db9);
|
||||||
|
background-image: -o-linear-gradient(top,#6198d3,#437db9);
|
||||||
|
background-image: linear-gradient(top,#6198d3,#437db9);
|
||||||
|
line-height: 1.3em;
|
||||||
|
outline: 0;
|
||||||
|
background: #489ae9;
|
||||||
|
box-shadow: 1px 0 2px 0 rgba(0,0,0,0.13), 0 0 4px 0 rgba(0,0,0,0.11), 0 2px 3px 0 rgba(0,0,0,0.16);
|
||||||
|
border: 0;
|
||||||
|
text-shadow: none;
|
||||||
|
height: 50px;
|
||||||
|
font-size: 16px;
|
||||||
|
width: 100%;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.login-section button:hover {
|
||||||
|
color: #fff;
|
||||||
|
background: #4594de;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.remember_me {
|
||||||
|
padding: 12px 0 0 5px;
|
||||||
|
display: inline-block;
|
||||||
|
color: #36454d;
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.remember_me input {
|
||||||
|
margin: 0;
|
||||||
|
vertical-align: 1px;
|
||||||
|
font: 12px "Lucida Grande","LucidaGrande",Arial,sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
.register-section h3 {
|
||||||
|
font-size: 18px;
|
||||||
|
margin: 0 0 43px 0;
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 0;
|
||||||
|
width: 100%;
|
||||||
|
color: #333;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.register-section p {
|
||||||
|
color: #36454d;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.register-section a {
|
||||||
|
background: #fafafa;
|
||||||
|
box-shadow: 1px 0 2px 0 rgba(0,0,0,0.13), 0 0 4px 0 rgba(0,0,0,0.11), 0 2px 3px 0 rgba(0,0,0,0.16);
|
||||||
|
border-radius: 2px;
|
||||||
|
border: 0;
|
||||||
|
font-weight: bold;
|
||||||
|
height: 50px;
|
||||||
|
font-size: 16px;
|
||||||
|
text-shadow: 0 2px 11px #fff;
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
padding: 15px 22px;
|
||||||
|
color: #489ae8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.register-section a:hover {
|
||||||
|
background: #fafafa;
|
||||||
|
color: #489ae8;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (min-width: 470px) {
|
||||||
|
.login-section {
|
||||||
|
padding: 70px 78px 148px 77px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.register-section {
|
||||||
|
padding-top: 143px;
|
||||||
|
padding-left: 80px;
|
||||||
|
padding-right: 85px;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -6,4 +6,9 @@
|
|||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
position: relative;
|
position: relative;
|
||||||
top: 4px;
|
top: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.personal-advantages img {
|
||||||
|
max-height: 60px;
|
||||||
|
max-width: 60px;
|
||||||
}
|
}
|
||||||
@ -28,4 +28,7 @@ return [
|
|||||||
'latest_and_view_all_btn' => [
|
'latest_and_view_all_btn' => [
|
||||||
'name' => 'Latest and View All Btn',
|
'name' => 'Latest and View All Btn',
|
||||||
],
|
],
|
||||||
|
'register_page_instruction_logo' => [
|
||||||
|
'name' => 'Register Page Instruction Logo',
|
||||||
|
],
|
||||||
];
|
];
|
||||||
@ -20,7 +20,7 @@ return [
|
|||||||
'not_a_member_yet' => 'Henüz Üye Değil Misiniz',
|
'not_a_member_yet' => 'Henüz Üye Değil Misiniz',
|
||||||
'not_a_member_yet_message' => 'Üyelerimize özel hizmetlerimizden faydalanabilmek için üye olun',
|
'not_a_member_yet_message' => 'Üyelerimize özel hizmetlerimizden faydalanabilmek için üye olun',
|
||||||
'forgot_password' => 'Şifremi Unuttum',
|
'forgot_password' => 'Şifremi Unuttum',
|
||||||
'email_or_phone_number' => 'E-Posta Adresiniz veya Telefon Numaranız',
|
'email_or_phone_number' => 'E-Posta veya Telefon Numarası',
|
||||||
'phone_number' => 'Telefon Numarası',
|
'phone_number' => 'Telefon Numarası',
|
||||||
|
|
||||||
// Registration instructions
|
// Registration instructions
|
||||||
|
|||||||
@ -2,8 +2,7 @@
|
|||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="row justify-content-center">
|
<div class="row justify-content-center">
|
||||||
<div class="col-12 text-left p-3 m-0 row justify-content-center">
|
<div class="col-12 text-left m-0 row justify-content-center">
|
||||||
|
|
||||||
<div class="col-12 col-lg-5 m-3 login-section">
|
<div class="col-12 col-lg-5 m-3 login-section">
|
||||||
{% set form = form('signIn')
|
{% set form = form('signIn')
|
||||||
.redirect(app.request.get('redirect'))
|
.redirect(app.request.get('redirect'))
|
||||||
@ -13,9 +12,9 @@
|
|||||||
'url':form.options.url
|
'url':form.options.url
|
||||||
})|raw }}
|
})|raw }}
|
||||||
<div class="col-12 pt-4 pt-lg-0">
|
<div class="col-12 pt-4 pt-lg-0">
|
||||||
<h5 class="text-center">
|
<h3 class="text-center login_subject">
|
||||||
{{ trans('visiosoft.theme.base::button.login') }}
|
{{ trans('visiosoft.theme.base::button.login') }}
|
||||||
</h5>
|
</h3>
|
||||||
<div class="form-group email-field email-field_type">
|
<div class="form-group email-field email-field_type">
|
||||||
<label class="control-label">
|
<label class="control-label">
|
||||||
{{ trans('visiosoft.theme.base::field.email_or_phone_number') }}
|
{{ trans('visiosoft.theme.base::field.email_or_phone_number') }}
|
||||||
@ -38,7 +37,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-6 p-0 text-right">
|
<div class="col-6 p-0 text-right">
|
||||||
<a href="{{ url_route('anomaly.module.users::password.forgot') }}">
|
<a href="{{ url_route('anomaly.module.users::password.forgot') }}">
|
||||||
<small class="text-muted">
|
<small class="forgot_password">
|
||||||
{{ trans('visiosoft.theme.base::field.forgot_password') }}
|
{{ trans('visiosoft.theme.base::field.forgot_password') }}
|
||||||
</small>
|
</small>
|
||||||
</a>
|
</a>
|
||||||
@ -51,13 +50,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 row m-0 pb-4 pb-lg-0">
|
<div class="col-12 row m-0 pb-4 pb-lg-0">
|
||||||
<button class="btn btn-sm btn-primary font-weight-bolder w-100 py-3">
|
<button class="btn btn-sm font-weight-bolder w-100 py-3">
|
||||||
<i class="fas fa-key"></i>
|
<i class="fas fa-key"></i>
|
||||||
{{ trans('visiosoft.theme.base::button.login') }}
|
{{ trans('visiosoft.theme.base::button.login') }}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 py-2">
|
<div class="col-12 py-0">
|
||||||
<label class="c-input c-checkbox">
|
<label class="c-input c-checkbox remember_me">
|
||||||
<input value="0" type="hidden" name="remember_me">
|
<input value="0" type="hidden" name="remember_me">
|
||||||
<input type="checkbox" name="remember_me">
|
<input type="checkbox" name="remember_me">
|
||||||
<span class="c-indicator"></span>
|
<span class="c-indicator"></span>
|
||||||
@ -72,10 +71,10 @@
|
|||||||
|
|
||||||
<div class="col-12 col-lg-5 m-3 py-4 row register-section align-items-center">
|
<div class="col-12 col-lg-5 m-3 py-4 row register-section align-items-center">
|
||||||
<div class="col-12 text-center">
|
<div class="col-12 text-center">
|
||||||
<h3 class="py-2">{{ trans('visiosoft.theme.base::field.not_a_member_yet') }}?</h3>
|
<h3 class="py-0">{{ trans('visiosoft.theme.base::field.not_a_member_yet') }}?</h3>
|
||||||
<p class="py-2">{{ trans('visiosoft.theme.base::field.not_a_member_yet_message') }}.</p>
|
<p class="py-0">{{ trans('visiosoft.theme.base::field.not_a_member_yet_message') }}.</p>
|
||||||
<a href="{{ url('register') }}"
|
<a href="{{ url('register') }}"
|
||||||
class="btn btn-sm btn-white font-weight-bolder border text-primary w-100 py-3 mt-1">
|
class="btn btn-sm">
|
||||||
<i class="fas fa-user-plus"></i>
|
<i class="fas fa-user-plus"></i>
|
||||||
{{ trans('visiosoft.theme.base::button.register') }}
|
{{ trans('visiosoft.theme.base::button.register') }}
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@ -40,8 +40,11 @@
|
|||||||
<div class="col-12 col-md-6 py-3 pr-0 instructions d-none d-md-block">
|
<div class="col-12 col-md-6 py-3 pr-0 instructions d-none d-md-block">
|
||||||
<div class="border personal-advantages py-5 px-5">
|
<div class="border personal-advantages py-5 px-5">
|
||||||
<div class="d-flex align-items-center mb-4">
|
<div class="d-flex align-items-center mb-4">
|
||||||
<img src="{{ img('visiosoft.theme.base::images/register-instruction.png').url }}">
|
{% if setting_value('visiosoft.theme.base::register_page_instruction_logo') %}
|
||||||
<h4 class="ml-3">
|
<img class="mr-3"
|
||||||
|
src="{{ file(setting_value('visiosoft.theme.base::register_page_instruction_logo')).url }}">
|
||||||
|
{% endif %}
|
||||||
|
<h4 class="mb-0">
|
||||||
{{ trans('visiosoft.theme.base::field.personal_registration_header') }}
|
{{ trans('visiosoft.theme.base::field.personal_registration_header') }}
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
{% if setting_value('visiosoft.module.location::create_ad_page_location') %}
|
{% if setting_value('visiosoft.module.location::create_ad_page_location') %}
|
||||||
<div class="row form-group location-map">
|
<div class="row form-group location-map">
|
||||||
<div class="col-sm-4">
|
<div class="col-sm-4">
|
||||||
<ul style="padding: 0">
|
<ul style="padding: 0" class="list-unstyled">
|
||||||
<li class="country-data" data-content="{{ adv['country_id'] }}"
|
<li class="country-data" data-content="{{ adv['country_id'] }}"
|
||||||
data-default="{{ setting_value('visiosoft.module.location::default_country') }}"
|
data-default="{{ setting_value('visiosoft.module.location::default_country') }}"
|
||||||
class="location-field country-data">{{ form.fields.country|raw }}</li>
|
class="location-field country-data">{{ form.fields.country|raw }}</li>
|
||||||
|
|||||||
@ -11,6 +11,9 @@
|
|||||||
<div class="card-read-more text-center row">
|
<div class="card-read-more text-center row">
|
||||||
{{ buttons(row.buttons)|raw }}
|
{{ buttons(row.buttons)|raw }}
|
||||||
</div>
|
</div>
|
||||||
|
{% if loop.index == 1 %}
|
||||||
|
<div class="main-image image-eye-{{ row.key }}"><i class="fa fa-eye "></i></div>
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|||||||
@ -61,16 +61,15 @@ class UploadController extends AdminController
|
|||||||
$position = $settings->value('visiosoft.module.advs::watermark_position');
|
$position = $settings->value('visiosoft.module.advs::watermark_position');
|
||||||
|
|
||||||
$img = WaterMark::make($this->request->file('upload')->getRealPath())
|
$img = WaterMark::make($this->request->file('upload')->getRealPath())
|
||||||
->resize( null,600)
|
->resize(null, 600)
|
||||||
->resizeCanvas(800, 600, 'center', false, 'fff');
|
->resizeCanvas(800, 600, 'center', false, 'fff');
|
||||||
if ($watermarktype == 'image') {
|
if ($watermarktype == 'image') {
|
||||||
|
|
||||||
$watermarkimage_id = $settings->value('visiosoft.module.advs::watermark_image');
|
$watermarkimage_id = $settings->value('visiosoft.module.advs::watermark_image');
|
||||||
$watermarkimage = $files->find($watermarkimage_id);
|
$watermarkimage = $files->find($watermarkimage_id);
|
||||||
$w = $img->width();
|
$w = $img->width();
|
||||||
if ($watermarkimage != null) {
|
if ($watermarkimage != null) {
|
||||||
$watermark = WaterMark::make(app_storage_path() . '/files-module/local/' . $watermarkimage->path())
|
$watermark = WaterMark::make(app_storage_path() . '/files-module/local/' . $watermarkimage->path());
|
||||||
->opacity($settings->value('visiosoft.module.advs::watermark_opacity'));
|
|
||||||
$img->insert($watermark, $position);
|
$img->insert($watermark, $position);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -123,9 +122,8 @@ class UploadController extends AdminController
|
|||||||
$isImageUser = FilesFilesEntryModel::query()->where('created_by_id', Auth::id())
|
$isImageUser = FilesFilesEntryModel::query()->where('created_by_id', Auth::id())
|
||||||
->where('name', $filename)->first();
|
->where('name', $filename)->first();
|
||||||
if ($isImageUser != null) {
|
if ($isImageUser != null) {
|
||||||
$image->make(Storage::path('images/' . $filename))
|
WaterMark::make(Storage::path('images/' . $filename))->rotate(90)
|
||||||
->rotate(90)
|
->save(app_storage_path() . '/files-module/local/images/' . $filename);
|
||||||
->publish('app/default/files-module/local/images/' . $filename);
|
|
||||||
return response()->json(['status' => 'success']);
|
return response()->json(['status' => 'success']);
|
||||||
}
|
}
|
||||||
return response()->json(['status' => 'error']);
|
return response()->json(['status' => 'error']);
|
||||||
|
|||||||
@ -137,7 +137,8 @@ class VisiosoftModuleProfileCreateProfileFields extends Migration
|
|||||||
'folders' => ['adv_listing_page'],
|
'folders' => ['adv_listing_page'],
|
||||||
'mode' => 'select',
|
'mode' => 'select',
|
||||||
]
|
]
|
||||||
]
|
],
|
||||||
|
'deleted_at' => 'anomaly.field_type.datetime'
|
||||||
];
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,7 +13,7 @@ class VisiosoftModuleProfileCreateAdressStream extends Migration
|
|||||||
protected $stream = [
|
protected $stream = [
|
||||||
'slug' => 'adress',
|
'slug' => 'adress',
|
||||||
'title_column' => 'id',
|
'title_column' => 'id',
|
||||||
'translatable' => true,
|
'translatable' => false,
|
||||||
'trashable' => false,
|
'trashable' => false,
|
||||||
'searchable' => false,
|
'searchable' => false,
|
||||||
'sortable' => false,
|
'sortable' => false,
|
||||||
@ -50,6 +50,7 @@ class VisiosoftModuleProfileCreateAdressStream extends Migration
|
|||||||
'adress_gsm_phone' => [
|
'adress_gsm_phone' => [
|
||||||
'required' => true,
|
'required' => true,
|
||||||
],
|
],
|
||||||
|
'deleted_at'
|
||||||
];
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -119,6 +119,9 @@ return [
|
|||||||
'edit' => [
|
'edit' => [
|
||||||
'name' => 'Edit'
|
'name' => 'Edit'
|
||||||
],
|
],
|
||||||
|
'delete' => [
|
||||||
|
'name' => 'Delete'
|
||||||
|
],
|
||||||
'list' => [
|
'list' => [
|
||||||
'name' => 'List'
|
'name' => 'List'
|
||||||
],
|
],
|
||||||
|
|||||||
@ -33,6 +33,12 @@
|
|||||||
<i class="fas fa-pencil-alt" aria-hidden="true"></i>
|
<i class="fas fa-pencil-alt" aria-hidden="true"></i>
|
||||||
{{ trans("visiosoft.module.profile::field.edit.name") }}
|
{{ trans("visiosoft.module.profile::field.edit.name") }}
|
||||||
</a>
|
</a>
|
||||||
|
<a class="btn btn-sm btn-danger"
|
||||||
|
href="{{ url_route('visiosoft.module.profile::address_soft_delete', [adress.id]) }}"
|
||||||
|
role="button">
|
||||||
|
<i class="fas fa-pencil-alt" aria-hidden="true"></i>
|
||||||
|
{{ trans("visiosoft.module.profile::field.delete.name") }}
|
||||||
|
</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|||||||
@ -11,7 +11,7 @@ class AdressModel extends ProfileAdressEntryModel implements AdressInterface
|
|||||||
{
|
{
|
||||||
return AdressModel::query();
|
return AdressModel::query();
|
||||||
}
|
}
|
||||||
return AdressModel::query()->where('id',$id);
|
return AdressModel::query()->where('id',$id)->whereNull('deleted_at');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getAdressFirst($id) {
|
public function getAdressFirst($id) {
|
||||||
@ -20,12 +20,10 @@ class AdressModel extends ProfileAdressEntryModel implements AdressInterface
|
|||||||
|
|
||||||
public function getUserAdress($id = null)
|
public function getUserAdress($id = null)
|
||||||
{
|
{
|
||||||
if($id != null)
|
if ($id != null) {
|
||||||
{
|
return $this->query()->where('user_id',$id)->whereNull('deleted_at')->get();
|
||||||
return $this->query()->where('user_id',$id)->get();
|
|
||||||
}
|
}
|
||||||
return $this->query()->where('user_id',Auth::id())->get();
|
return $this->query()->where('user_id', Auth::id())->whereNull('deleted_at')->get();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -39,6 +39,7 @@ use Visiosoft\MessagesModule\Message\MessageModel;
|
|||||||
use Visiosoft\PackagesModule\Package\PackageModel;
|
use Visiosoft\PackagesModule\Package\PackageModel;
|
||||||
use Visiosoft\PackagesModule\User\UserModel;
|
use Visiosoft\PackagesModule\User\UserModel;
|
||||||
use Visiosoft\ProfileModule\Adress\AdressModel;
|
use Visiosoft\ProfileModule\Adress\AdressModel;
|
||||||
|
use Visiosoft\ProfileModule\Adress\Contract\AdressRepositoryInterface;
|
||||||
use Visiosoft\ProfileModule\Adress\Form\AdressFormBuilder;
|
use Visiosoft\ProfileModule\Adress\Form\AdressFormBuilder;
|
||||||
use Visiosoft\ProfileModule\Profile\Contract\ProfileRepositoryInterface;
|
use Visiosoft\ProfileModule\Profile\Contract\ProfileRepositoryInterface;
|
||||||
use Visiosoft\ProfileModule\Profile\Form\ProfileFormBuilder;
|
use Visiosoft\ProfileModule\Profile\Form\ProfileFormBuilder;
|
||||||
@ -49,12 +50,16 @@ use Illuminate\Contracts\Events\Dispatcher;
|
|||||||
class MyProfileController extends PublicController
|
class MyProfileController extends PublicController
|
||||||
{
|
{
|
||||||
|
|
||||||
public function __construct()
|
private $adressRepository;
|
||||||
|
|
||||||
|
public function __construct(AdressRepositoryInterface $adressRepository)
|
||||||
{
|
{
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
if (!Auth::user()) {
|
if (!Auth::user()) {
|
||||||
redirect('/login?redirect=' . url()->current())->send();
|
redirect('/login?redirect=' . url()->current())->send();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$this->adressRepository = $adressRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected $user;
|
protected $user;
|
||||||
@ -169,6 +174,17 @@ class MyProfileController extends PublicController
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function adressSoftDelete($id)
|
||||||
|
{
|
||||||
|
$address = $this->adressRepository->find($id);
|
||||||
|
if ($address->user_id == Auth::id()) {
|
||||||
|
$address->update([
|
||||||
|
'deleted_at' => date('Y-m-d H:i:s')
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
return $this->redirect->back();
|
||||||
|
}
|
||||||
|
|
||||||
public function adressUpdate(AdressFormBuilder $form, Request $request, $id)
|
public function adressUpdate(AdressFormBuilder $form, Request $request, $id)
|
||||||
{
|
{
|
||||||
$error = $form->build()->validate()->getFormErrors()->getMessages();
|
$error = $form->build()->validate()->getFormErrors()->getMessages();
|
||||||
@ -188,7 +204,7 @@ class MyProfileController extends PublicController
|
|||||||
|
|
||||||
$message = [];
|
$message = [];
|
||||||
$message[] = trans('visiosoft.module.profile::message.adress_success_update');
|
$message[] = trans('visiosoft.module.profile::message.adress_success_update');
|
||||||
return redirect('/profile')->with('success', $message);
|
return redirect(route('profile::address'))->with('success', $message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -208,7 +224,7 @@ class MyProfileController extends PublicController
|
|||||||
|
|
||||||
$message = [];
|
$message = [];
|
||||||
$message[] = trans('visiosoft.module.profile::message.adress_success_create');
|
$message[] = trans('visiosoft.module.profile::message.adress_success_create');
|
||||||
return redirect('/profile/adress')->with('success', $message);
|
return redirect(route('profile::address'))->with('success', $message);
|
||||||
}
|
}
|
||||||
$country = CountryModel::all();
|
$country = CountryModel::all();
|
||||||
return $this->view->make('visiosoft.module.profile::address/create', compact('country'));
|
return $this->view->make('visiosoft.module.profile::address/create', compact('country'));
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
<?php namespace Visiosoft\ProfileModule\Profile\Password;
|
<?php namespace Visiosoft\ProfileModule\Profile\Password;
|
||||||
|
|
||||||
use Anomaly\Streams\Platform\Message\MessageBag;
|
use Anomaly\Streams\Platform\Message\MessageBag;
|
||||||
|
use Anomaly\UsersModule\User\User;
|
||||||
use Anomaly\UsersModule\User\UserModel;
|
use Anomaly\UsersModule\User\UserModel;
|
||||||
use Anomaly\UsersModule\User\UserPassword;
|
use Anomaly\UsersModule\User\UserPassword;
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
@ -41,10 +42,9 @@ class PasswordFormHandler
|
|||||||
return redirect()->back();
|
return redirect()->back();
|
||||||
}
|
}
|
||||||
|
|
||||||
$userModel->find(Auth::id())
|
$user = User::query()->find(Auth::id());
|
||||||
->update([
|
$user->setAttribute('password', $builder->getPostValue('new_password'));
|
||||||
'password' => Hash::make($builder->getPostValue('new_password'))
|
$user->save($user->toArray());
|
||||||
]);
|
|
||||||
$messages->success(trans('visiosoft.module.profile::message.your_password_changed'));
|
$messages->success(trans('visiosoft.module.profile::message.your_password_changed'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -86,6 +86,10 @@ class ProfileModuleServiceProvider extends AddonServiceProvider
|
|||||||
'as' => 'visiosoft.module.profile::address_edit',
|
'as' => 'visiosoft.module.profile::address_edit',
|
||||||
'uses' => 'Visiosoft\ProfileModule\Http\Controller\MyProfileController@adressEdit'
|
'uses' => 'Visiosoft\ProfileModule\Http\Controller\MyProfileController@adressEdit'
|
||||||
],
|
],
|
||||||
|
'profile/adress/soft-del/{id}' => [
|
||||||
|
'as' => 'visiosoft.module.profile::address_soft_delete',
|
||||||
|
'uses' => 'Visiosoft\ProfileModule\Http\Controller\MyProfileController@adressSoftDelete'
|
||||||
|
],
|
||||||
|
|
||||||
/* Profile */
|
/* Profile */
|
||||||
'admin/profile' => 'Visiosoft\ProfileModule\Http\Controller\Admin\ProfileController@index',
|
'admin/profile' => 'Visiosoft\ProfileModule\Http\Controller\Admin\ProfileController@index',
|
||||||
|
|||||||
270
composer.json
270
composer.json
@ -1,138 +1,138 @@
|
|||||||
{
|
{
|
||||||
"name": "openclassify/openclassify",
|
"name": "openclassify/openclassify",
|
||||||
"description": "OpenClassify is the extensible and most advanced open source classified app build with Laravel.",
|
"description": "OpenClassify is the extensible and most advanced open source classified app build with Laravel.",
|
||||||
"type": "project",
|
"type": "project",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"OpenClassify",
|
"OpenClassify",
|
||||||
"classified",
|
"classified",
|
||||||
"open Classify"
|
"open Classify"
|
||||||
],
|
],
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"authors": [
|
"authors": [
|
||||||
{
|
{
|
||||||
"name": "Visiosoft, Inc.",
|
"name": "Visiosoft, Inc.",
|
||||||
"email": "support@visiosoft.com.tr"
|
"email": "support@visiosoft.com.tr"
|
||||||
}
|
|
||||||
],
|
|
||||||
"require": {
|
|
||||||
"wikimedia/composer-merge-plugin": "~1.4.0",
|
|
||||||
"anomaly/streams-composer-plugin": "~1.1.0",
|
|
||||||
"visiosoft/streams-platform": "^1.7",
|
|
||||||
"anomaly/default_authenticator-extension": "~2.1.0",
|
|
||||||
"anomaly/throttle_security_check-extension": "~2.1.0",
|
|
||||||
"anomaly/private_storage_adapter-extension": "~1.0.0",
|
|
||||||
"anomaly/default_page_handler-extension": "~2.1.0",
|
|
||||||
"anomaly/user_security_check-extension": "~2.1.0",
|
|
||||||
"anomaly/xml_feed_widget-extension": "~2.1.0",
|
|
||||||
"anomaly/page_link_type-extension": "~2.1.0",
|
|
||||||
"anomaly/url_link_type-extension": "~2.1.0",
|
|
||||||
"anomaly/relationship-field_type": "~2.2.0",
|
|
||||||
"anomaly/colorpicker-field_type": "~2.3.0",
|
|
||||||
"anomaly/polymorphic-field_type": "~2.1.0",
|
|
||||||
"anomaly/checkboxes-field_type": "~2.4.0",
|
|
||||||
"anomaly/encrypted-field_type": "~2.1.0",
|
|
||||||
"anomaly/datetime-field_type": "~3.0.0",
|
|
||||||
"anomaly/repeater-field_type": "~1.3.0",
|
|
||||||
"anomaly/language-field_type": "~2.2.0",
|
|
||||||
"anomaly/multiple-field_type": "~2.3.0",
|
|
||||||
"anomaly/textarea-field_type": "~2.1.0",
|
|
||||||
"anomaly/markdown-field_type": "~3.1.0",
|
|
||||||
"anomaly/wysiwyg-field_type": "~3.1.0",
|
|
||||||
"anomaly/boolean-field_type": "~2.3.0",
|
|
||||||
"anomaly/country-field_type": "~2.3.0",
|
|
||||||
"anomaly/decimal-field_type": "~2.1.0",
|
|
||||||
"anomaly/integer-field_type": "~2.1.0",
|
|
||||||
"anomaly/editor-field_type": "~3.1.0",
|
|
||||||
"anomaly/select-field_type": "~2.3.0",
|
|
||||||
"anomaly/slider-field_type": "~3.0.0",
|
|
||||||
"anomaly/addon-field_type": "~2.2.0",
|
|
||||||
"anomaly/email-field_type": "~2.1.0",
|
|
||||||
"anomaly/state-field_type": "~2.3.0",
|
|
||||||
"anomaly/files-field_type": "~2.3.0",
|
|
||||||
"anomaly/tags-field_type": "~2.4.0",
|
|
||||||
"anomaly/slug-field_type": "~2.1.0",
|
|
||||||
"anomaly/text-field_type": "~2.2.0",
|
|
||||||
"anomaly/file-field_type": "2.2.32",
|
|
||||||
"anomaly/url-field_type": "~2.2.0",
|
|
||||||
"anomaly/configuration-module": "~2.1.0",
|
|
||||||
"anomaly/preferences-module": "~2.2.0",
|
|
||||||
"anomaly/navigation-module": "~2.4.0",
|
|
||||||
"anomaly/dashboard-module": "~2.2.0",
|
|
||||||
"anomaly/redirects-module": "~2.3.0",
|
|
||||||
"anomaly/variables-module": "~2.4.0",
|
|
||||||
"anomaly/settings-module": "~2.4.0",
|
|
||||||
"anomaly/addons-module": "~2.3.0",
|
|
||||||
"anomaly/blocks-module": "~1.3.0",
|
|
||||||
"anomaly/search-module": "~3.0.0",
|
|
||||||
"anomaly/system-module": "~1.0.0",
|
|
||||||
"anomaly/users-module": "~2.5.0",
|
|
||||||
"anomaly/pages-module": "~2.6.0",
|
|
||||||
"anomaly/posts-module": "~2.6.0",
|
|
||||||
"anomaly/files-module": "~2.6.0",
|
|
||||||
"anomaly/contact-plugin": "~1.2.0",
|
|
||||||
"anomaly/helper-plugin": "~2.1.0",
|
|
||||||
"anomaly/robots-extension": "~2.1.0",
|
|
||||||
"anomaly/sitemap-extension": "~2.2.0",
|
|
||||||
"anomaly/html_block-extension": "~1.0.0",
|
|
||||||
"anomaly/wysiwyg_block-extension": "~1.0.0",
|
|
||||||
"ammadeuss/laravel-html-dom-parser": "^1.1",
|
|
||||||
"visiosoft/decimal-field_type": "~2.1.0",
|
|
||||||
"visiosoft/integer-field_type": "~2.1.0",
|
|
||||||
"guzzlehttp/guzzle": "~6.3.3"
|
|
||||||
},
|
|
||||||
"replace" : {
|
|
||||||
"anomaly/streams-platform": "*"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"filp/whoops": "~2.0",
|
|
||||||
"phpunit/phpunit": "^7.0",
|
|
||||||
"fzaninotto/faker": "~1.4",
|
|
||||||
"mockery/mockery": "0.9.*",
|
|
||||||
"symfony/css-selector": "3.1.*",
|
|
||||||
"symfony/dom-crawler": "3.1.*",
|
|
||||||
"anomaly/installer-module": "~2.3.0"
|
|
||||||
},
|
|
||||||
"repositories": [
|
|
||||||
{
|
|
||||||
"type": "composer",
|
|
||||||
"url": "https://packages.pyrocms.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "composer",
|
|
||||||
"url": "https://community.pyrocms.com"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"autoload": {
|
|
||||||
"classmap": [
|
|
||||||
"database"
|
|
||||||
],
|
|
||||||
"psr-4": {
|
|
||||||
"App\\": "app/"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"autoload-dev": {
|
|
||||||
"classmap": [
|
|
||||||
"tests/TestCase.php"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"extra": {
|
|
||||||
"merge-plugin": {
|
|
||||||
"include": [
|
|
||||||
"addons/*/*/*/composer.json",
|
|
||||||
"core/*/*/composer.json"
|
|
||||||
],
|
|
||||||
"recurse": true,
|
|
||||||
"replace": false
|
|
||||||
},
|
|
||||||
"laravel": {
|
|
||||||
"dont-discover": [
|
|
||||||
"*"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"config": {
|
|
||||||
"bin-dir": "bin",
|
|
||||||
"preferred-install": "dist",
|
|
||||||
"optimize-autoloader": true
|
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
"require": {
|
||||||
|
"wikimedia/composer-merge-plugin": "~1.4.0",
|
||||||
|
"anomaly/streams-composer-plugin": "~1.1.0",
|
||||||
|
"visiosoft/streams-platform": "^1.7",
|
||||||
|
"anomaly/default_authenticator-extension": "~2.1.0",
|
||||||
|
"anomaly/throttle_security_check-extension": "~2.1.0",
|
||||||
|
"anomaly/private_storage_adapter-extension": "~1.0.0",
|
||||||
|
"anomaly/default_page_handler-extension": "~2.1.0",
|
||||||
|
"anomaly/user_security_check-extension": "~2.1.0",
|
||||||
|
"anomaly/xml_feed_widget-extension": "~2.1.0",
|
||||||
|
"anomaly/page_link_type-extension": "~2.1.0",
|
||||||
|
"anomaly/url_link_type-extension": "~2.1.0",
|
||||||
|
"anomaly/relationship-field_type": "~2.2.0",
|
||||||
|
"anomaly/colorpicker-field_type": "~2.3.0",
|
||||||
|
"anomaly/polymorphic-field_type": "~2.1.0",
|
||||||
|
"anomaly/checkboxes-field_type": "~2.4.0",
|
||||||
|
"anomaly/encrypted-field_type": "~2.1.0",
|
||||||
|
"anomaly/datetime-field_type": "~3.0.0",
|
||||||
|
"anomaly/repeater-field_type": "~1.3.0",
|
||||||
|
"anomaly/language-field_type": "~2.2.0",
|
||||||
|
"anomaly/multiple-field_type": "~2.3.0",
|
||||||
|
"anomaly/textarea-field_type": "~2.1.0",
|
||||||
|
"anomaly/markdown-field_type": "~3.1.0",
|
||||||
|
"anomaly/wysiwyg-field_type": "~3.1.0",
|
||||||
|
"anomaly/boolean-field_type": "~2.3.0",
|
||||||
|
"anomaly/country-field_type": "~2.3.0",
|
||||||
|
"anomaly/decimal-field_type": "~2.1.0",
|
||||||
|
"anomaly/integer-field_type": "~2.1.0",
|
||||||
|
"anomaly/editor-field_type": "~3.1.0",
|
||||||
|
"anomaly/select-field_type": "~2.3.0",
|
||||||
|
"anomaly/slider-field_type": "~3.0.0",
|
||||||
|
"anomaly/addon-field_type": "~2.2.0",
|
||||||
|
"anomaly/email-field_type": "~2.1.0",
|
||||||
|
"anomaly/state-field_type": "~2.3.0",
|
||||||
|
"anomaly/files-field_type": "~2.3.0",
|
||||||
|
"anomaly/tags-field_type": "~2.4.0",
|
||||||
|
"anomaly/slug-field_type": "~2.1.0",
|
||||||
|
"anomaly/text-field_type": "~2.2.0",
|
||||||
|
"anomaly/file-field_type": "~2.2.0",
|
||||||
|
"anomaly/url-field_type": "~2.2.0",
|
||||||
|
"anomaly/configuration-module": "~2.1.0",
|
||||||
|
"anomaly/preferences-module": "~2.2.0",
|
||||||
|
"anomaly/navigation-module": "~2.4.0",
|
||||||
|
"anomaly/dashboard-module": "~2.2.0",
|
||||||
|
"anomaly/redirects-module": "~2.3.0",
|
||||||
|
"anomaly/variables-module": "~2.4.0",
|
||||||
|
"anomaly/settings-module": "~2.4.0",
|
||||||
|
"anomaly/addons-module": "~2.3.0",
|
||||||
|
"anomaly/blocks-module": "~1.3.0",
|
||||||
|
"anomaly/search-module": "~3.0.0",
|
||||||
|
"anomaly/system-module": "~1.0.0",
|
||||||
|
"anomaly/users-module": "~2.5.0",
|
||||||
|
"anomaly/pages-module": "~2.6.0",
|
||||||
|
"anomaly/posts-module": "~2.6.0",
|
||||||
|
"anomaly/files-module": "~2.6.0",
|
||||||
|
"anomaly/contact-plugin": "~1.2.0",
|
||||||
|
"anomaly/helper-plugin": "~2.1.0",
|
||||||
|
"anomaly/robots-extension": "~2.1.0",
|
||||||
|
"anomaly/sitemap-extension": "~2.2.0",
|
||||||
|
"anomaly/html_block-extension": "~1.0.0",
|
||||||
|
"anomaly/wysiwyg_block-extension": "~1.0.0",
|
||||||
|
"ammadeuss/laravel-html-dom-parser": "^1.1",
|
||||||
|
"visiosoft/decimal-field_type": "~2.1.0",
|
||||||
|
"visiosoft/integer-field_type": "~2.1.0",
|
||||||
|
"guzzlehttp/guzzle": "~6.3.3"
|
||||||
|
},
|
||||||
|
"replace": {
|
||||||
|
"anomaly/streams-platform": "*"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"filp/whoops": "~2.0",
|
||||||
|
"phpunit/phpunit": "^7.0",
|
||||||
|
"fzaninotto/faker": "~1.4",
|
||||||
|
"mockery/mockery": "0.9.*",
|
||||||
|
"symfony/css-selector": "3.1.*",
|
||||||
|
"symfony/dom-crawler": "3.1.*",
|
||||||
|
"anomaly/installer-module": "~2.3.0"
|
||||||
|
},
|
||||||
|
"repositories": [
|
||||||
|
{
|
||||||
|
"type": "composer",
|
||||||
|
"url": "https://packages.pyrocms.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "composer",
|
||||||
|
"url": "https://community.pyrocms.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"autoload": {
|
||||||
|
"classmap": [
|
||||||
|
"database"
|
||||||
|
],
|
||||||
|
"psr-4": {
|
||||||
|
"App\\": "app/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload-dev": {
|
||||||
|
"classmap": [
|
||||||
|
"tests/TestCase.php"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"extra": {
|
||||||
|
"merge-plugin": {
|
||||||
|
"include": [
|
||||||
|
"addons/*/*/*/composer.json",
|
||||||
|
"core/*/*/composer.json"
|
||||||
|
],
|
||||||
|
"recurse": true,
|
||||||
|
"replace": false
|
||||||
|
},
|
||||||
|
"laravel": {
|
||||||
|
"dont-discover": [
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"config": {
|
||||||
|
"bin-dir": "bin",
|
||||||
|
"preferred-install": "dist",
|
||||||
|
"optimize-autoloader": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user