This commit is contained in:
Diatrex 2020-04-21 10:46:53 +03:00
commit b0de0232b5
62 changed files with 991 additions and 91 deletions

View File

@ -18,6 +18,8 @@ return [
'title' => 'visiosoft.module.advs::section.ads',
'fields' => [
'latest-limit',
'default_view_type',
'hide_zero_price',
'auto_approve',
'estimated_pending_time',
'default_published_time',

View File

@ -14,6 +14,19 @@ return [
'default_value' => 5,
],
],
'default_view_type' => [
'type' => 'anomaly.field_type.select',
'config' => [
'options' => ['list' => 'List', 'table' => 'Table', 'map' => 'Map', 'gallery' => 'Gallery'],
'default_value' => 'list',
]
],
'hide_zero_price' => [
'type' => 'anomaly.field_type.boolean',
'config' => [
'default_value' => false,
],
],
'auto_approve' => [
'type' => 'anomaly.field_type.boolean',
'bind' => 'adv.auto_approve',

View File

@ -211,8 +211,9 @@ $(document).ready(function () {
});
$(".priceField, .priceDecimalField").on('change', function () {
var price = parseInt($(".priceField").val().replace(/\./g, ''));
var decimal = parseInt($(".priceDecimalField").val());
let price = $(".priceField").val() === "" ? '0' : $(".priceField").val();
price = parseInt(price.replace(/\./g, ''));
let decimal = parseInt($(".priceDecimalField").val());
$('.priceHidden').find('input').val(parseFloat(price + "." + decimal));
})
});

View File

@ -278,4 +278,7 @@ return [
'part_2' => 'If not, click the "Edit" button.',
],
'views' => 'Views',
// Detail page
"no_street_view" => "No street view image in this location"
];

View File

@ -4,6 +4,13 @@ return [
'auto_approve' => [
'name' => 'Auto Approve',
],
'default_view_type' => [
'name' => 'Default View Type',
],
'hide_zero_price' => [
'name' => 'Hide Price if Zero',
'instructions' => 'Hide the price if the ad price is 0',
],
'estimated_pending_time' => [
'name' => 'Estimated Pending Time',
'instructions' => 'In Hours',

View File

@ -173,7 +173,7 @@ return [
'create_adv' => 'Krijoni shpalljen',
'edit_adv' => 'Ndrysho shpalljen',
'mandatory_fields' => 'Të dhëna të detyrueshme',
'ad_post' => 'Postimi i reklamave',
'ad_post' => 'Postimi i Njoftime',
'sell_item' => 'Shitet nje artikull ose sherbim',
'search_save' => 'Kërkimi i preferuar u ruajt me sukses',
'address' => 'Adresë',
@ -185,8 +185,8 @@ return [
'extended' => 'Zgjatur me sukses',
'declined' => 'Ka rënë me sukses',
'search_on_map' => 'Kërkimi në hartë',
'post_free_ad' => 'Posto reklamën falas',
'select_a_category' => 'Zgjidh nje kategori',
'post_free_ad' => 'Posto Njoftime Falas',
'select_a_category' => 'Zgjidh nje Kategori',
'select_a_sub_category' => 'Zgjidhni një Nën Kategori',
'all_dopings_added' => 'Të gjitha llojet e vitamina janë shtuar për këtë shpallje.',
'is_get_adv' => [

View File

@ -16,7 +16,7 @@ return [
],
'create_ad_with_post_cat' => [
'title' => "Posto një shpallje në vetëm 30 sekonda",
'msg' => "Ju lutemi NUK postoni reklama të shumta për të njëjtat artikuj ose shërbim. Të gjitha reklamat e kopjuara, spam dhe të kategorizuara gabimisht do të fshihen.",
'msg' => "Ju lutemi NUK postoni reklama të shumta për të njëjtat artikuj ose shërbim. Të gjitha njoftime e kopjuara, spam dhe të kategorizuara gabimisht do të fshihen.",
'nextBtn' => "tjetër",
'cancelBtn' => "ose Anuloni",
'link' => "",

View File

@ -76,7 +76,7 @@ return [
'name' => 'Reklama e paracaktuar GET',
],
'twitter' => [
'name' => 'Cicëroj',
'name' => 'Twitter',
],
'facebook' => [
'name' => 'Facebook',

View File

@ -3,27 +3,33 @@
{{ trans('visiosoft.module.advs::field.no_location') }}
{% else %}
{% set map_arr = adv.map_Val|split(',') %}
<div id="mapDiv" style="height: 500px; width: 100%; "></div>
<div id="mapDiv" style="height: 500px; width: 100%;"></div>
<script>
$(document).ready(function () {
var no_image_text = "{{ trans('visiosoft.module.streetview::field.no_location') }}";
var no_image_text = "{{ trans('visiosoft.module.advs::field.no_street_view') }}";
if (typeof coord !== 'undefined') {
var ifAnyImg = "https://maps.googleapis.com/maps/api/streetview/metadata?size=600x300&location=" + coord[0] + "," + coord[1] +
"&fov=90&heading=235&pitch=10&key=" + google_map_key;
$.getJSON(ifAnyImg, function (data) {
if (data.status === "OK") {
loadScript('https://maps.googleapis.com/maps/api/js?key={{ setting_value('visiosoft.module.location::google_map_key') }}&callback=initMap');
}
if (data.status === "ZERO_RESULTS") {
$("#mapDiv").html(no_image_text);
} else {
$("#mapDiv").html("Google Error : " + data.error_message);
}
var ifAnyImg = "https://maps.googleapis.com/maps/api/streetview/metadata?size=600x300&location=" + lat + "," + lng +
"&fov=90&heading=235&pitch=10&key=" + google_map_key;
$.getJSON(ifAnyImg, function (data) {
if (data.status === "OK") {
loadScript('https://maps.googleapis.com/maps/api/js?key={{ setting_value('visiosoft.module.location::google_map_key') }}&callback=initMap');
}
)
}
if (data.status === "ZERO_RESULTS") {
$("#mapDiv").html(no_image_text);
} else {
$("#mapDiv").html("Google Error : " + data.error_message);
}
}
)
});
function loadScript(src, callback) {
var script = document.createElement("script");
script.type = "text/javascript";
if (callback) script.onload = callback;
document.getElementsByTagName("head")[0].appendChild(script);
script.src = src;
}
</script>
<script>
var lat = parseFloat({{ map_arr[0] }});

View File

@ -288,6 +288,9 @@ class AdvsController extends PublicController
public function viewTypeBasedRedirect($viewType, $compact)
{
if (!$viewType) {
$viewType = setting_value('visiosoft.module.advs::default_view_type');
}
if (isset($viewType) and $viewType == 'table') {
return $this->view->make('visiosoft.module.advs::list/table', $compact);
} elseif (isset($viewType) and $viewType == 'map') {

View File

@ -0,0 +1,74 @@
.left-categories-section .categories-list,
.left-categories-section .categories-list li ul {
list-style: none;
margin: 8px 2px 13px 0;
}
.left-categories-section .categories-list .categories-list-li {
padding: 6px 0 0 35px;
margin-top: 7px;
border-bottom: 1px solid #e6e6e6;
position: relative;
}
.left-categories-section .categories-list .categories-list-li img {
margin-left: -35px;
}
.left-categories-section .categories-list .categories-list-li .main-category {
font-weight: bold;
line-height: 20px;
}
.left-categories-section .categories-list .categories-list-li ul li {
margin-bottom: 5px;
line-height: 17px;
}
.left-categories-section .categories-list .categories-list-li .main-category,
.left-categories-section .categories-list .categories-list-li ul li a {
font: 13px "Lucida Grande", "LucidaGrande", Arial, sans-serif;
color: #039;
line-height: 17px;
text-decoration: none;
outline: 0;
margin: 0;
padding: 0;
background: no-repeat 0 0;
}
.left-categories-section .categories-list .categories-list-li ul .show-all {
margin-bottom: 14px;
}
.left-categories-section .categories-list .categories-list-li ul .show-all a {
cursor: pointer;
}
.left-categories-section .categories-list .categories-list-li .main-category:hover,
.left-categories-section .categories-list .categories-list-li ul li a:hover {
text-decoration: underline;
}
.left-categories-section .categories-list .categories-list-li ul li a i {
color: #5d6f86;
}
#footer .store_icon .playstore {
background: url("{{ img('visiosoft.theme.base::images/store_icon.png').url }}") top left no-repeat;
width: 96px;
height: 30px;
}
#footer .store_icon .appstore {
background: url("{{ img('visiosoft.theme.base::images/store_icon.png').url }}") top right no-repeat;
width: 96px;
height: 30px;
}
@media (min-width: 577px) {
.left-categories-section .categories-list .categories-list-li img {
width: 26px;
margin-right: 5px;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 403 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 981 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 345 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -26,14 +26,18 @@ function phoneMask(fields) {
});
function maskPhone(name) {
var currentMask = $("input[name='" + name + "']").attr('placeholder');
if (currentMask) {
$("input[name='" + name + "']").mask(currentMask.replace(/[0-9+]/ig, '9'), {
autoclear: true,
clearIncomplete: true
});
if ( $("input[name='" + name + "']").length ) {
var currentMask = $("input[name='" + name + "']").attr('placeholder');
if(currentMask) {
$("input[name='" + name + "']").mask(currentMask.replace(/[0-9+]/ig, '9'), {
autoclear: true,
clearIncomplete: true
});
}
}
}
}
function controlNumber(inputQuery) {
@ -51,4 +55,4 @@ function controlNumber(inputQuery) {
})
return iti.isValidNumber();
}
}

View File

@ -38,5 +38,11 @@ return [
'create_new_password' => 'إنشاء كلمة مرور جديدة',
// Login page
'or' => 'أو'
'or' => 'أو',
// Side menu links
'company_directory' => 'دليل شركة',
'popular_ads' => 'إعلانات شعبية',
'last_48_hours' => 'آخر 48 ساعة',
'secure_e-commerce_ads' => 'إعلانات التجارة الإلكترونية الآمنة',
];

View File

@ -38,5 +38,11 @@ return [
'create_new_password' => 'Neues Passwort erstellen',
// Login page
'or' => 'oder'
'or' => 'oder',
// Side menu links
'company_directory' => 'Firmenverzeichnis',
'popular_ads' => 'Beliebte Anzeigen',
'last_48_hours' => 'Letzte 48 Stunden',
'secure_e-commerce_ads' => 'Sichere E-Commerce-Anzeigen',
];

View File

@ -38,5 +38,11 @@ return [
'create_new_password' => 'Create New Password',
// Login page
'or' => 'or'
'or' => 'or',
// Side menu links
'company_directory' => 'Company directory',
'popular_ads' => 'Popular Ads',
'last_48_hours' => 'Last 48 Hours',
'secure_e-commerce_ads' => 'Secure e-Commerce Ads',
];

View File

@ -38,5 +38,11 @@ return [
'create_new_password' => 'Создать новый пароль',
// Login page
'or' => 'или'
'or' => 'или',
// Side menu links
'company_directory' => 'Каталог компаний',
'popular_ads' => 'Популярные объявления',
'last_48_hours' => 'Последние 48 часов',
'secure_e-commerce_ads' => 'Безопасные объявления электронной коммерции',
];

View File

@ -4,8 +4,8 @@ return [
'post_ad' => [
'name' => 'Posto reklamën',
],
'login' => 'Hyrje',
'login' => 'hyrje',
'register' => 'Regjistrohu',
'continue' => 'Vazhdoj',
'reset_password' => 'Rivendosni Fjalëkalimin',
'continue' => 'vazhdoj',
'reset_password' => 'Rivendosni fjalëkalimin',
];

View File

@ -38,5 +38,11 @@ return [
'create_new_password' => 'Krijoni Fjalëkalimin e ri',
// Login page
'or' => 'ose'
'or' => 'ose',
// Side menu links
'company_directory' => 'Drejtoria e ndërmarrjes',
'popular_ads' => 'Reklama popullore',
'last_48_hours' => '48 orët e fundit',
'secure_e-commerce_ads' => 'Reklama të sigurta për tregtinë elektronike',
];

View File

@ -38,5 +38,11 @@ return [
'create_new_password' => 'Yeni Şifre Oluştur',
// Login page
'or' => 'veya'
'or' => 'veya',
// Side menu links
'company_directory' => 'şirket bilgisi',
'popular_ads' => 'popüler reklamlar',
'last_48_hours' => 'son 48 saat',
'secure_e-commerce_ads' => 'güvenli e-ticaret',
];

View File

@ -0,0 +1,20 @@
{% extends "theme::layouts/default" %}
{% block ogdata %}
{% include "visiosoft.theme.sahibinden::addons/visiosoft/advs-module/ad-detail/partials/ogdata" %}
{% endblock %}
{% block content %}
<!-- breadcrumb -->
{% include "visiosoft.theme.sahibinden::addons/visiosoft/advs-module/ad-detail/partials/breadcrumb" %}
<!-- breadcrumb -->
{% include "visiosoft.module.advs::ad-detail/partials/ad-status" %}
{% include "visiosoft.theme.sahibinden::addons/visiosoft/advs-module/ad-detail/main" %}
{{ asset_add("styles.css", "visiosoft.theme.sahibinden::css/sahibinden.css") }}
{{ asset_add("scripts.js", "visiosoft.module.advs::js/viewed.js") }}
{{ asset_add("styles.css", "visiosoft.module.advs::css/detail.css") }}
{{ asset_add("styles.css", "visiosoft.theme.sahibinden::css/detail.css") }}
{% endblock %}

View File

@ -0,0 +1,165 @@
<main id="main">
<div class="container">
<section id="main" class="clearfix details-page">
<div class="container">
<div class="classified-title row mx-0">
<div class="col-12 col-sm-6 p-0 m-0">
<h1>
{{ adv.title }}
</h1>
</div>
<div class="col-6 pt-3 m-0 justify-content-end pull-right d-none d-sm-flex">
{{ addBlock('ad-detail/title/action', {'adv_id':adv.id, 'sahibinden':true})|raw }}
<a href="https://www.facebook.com/sharer/sharer.php?u={{ url_current()|url_encode }}"
class="a-sahibinden-type pl-2">
<i class="fab fa-facebook"></i>
</a>
<a href="http://twitter.com/share?url={{ url_current()|url_encode }}"
class="a-sahibinden-type pl-2">
<i class="fab fa-twitter"></i>
</a>
<a href="https://wa.me/?text={{ setting_value('visiosoft.theme.sahibinden::shareWhatsappMsg')|url_encode }}%20{{ app.request.uri|url_encode }}" target="_blank" class="a-sahibinden-type pl-2">
<i class="fab fa-whatsapp"></i>
</a>
</div>
</div>
<!--detail-ad -->
<div class="section slider mb-4">
<div class="row">
{% include "visiosoft.theme.sahibinden::addons/visiosoft/advs-module/ad-detail/partials/slider" %}
<div class="col-md-3 pl-0">
{% include "visiosoft.theme.sahibinden::addons/visiosoft/advs-module/ad-detail/partials/detail" %}
</div>
<div class="col-md-3 px-0 classified-user-section">
<div class="userBox d-none d-sm-block">
<div class="userDetail">
<div class="border-bottom pb-3 mb-3">
{{ addBlock('ad-details/user-image', {'userId': adv.created_by_id})|raw }}
<h5 class="d-inline-block">{{ adv.first_name }} {{ adv.last_name }}</h5>
</div>
<div class="d-flex justify-content-between">
<p>{{ trans('visiosoft.theme.sahibinden::field.member_since.name') }} {{ user(adv.create_by_id).created_at|date('F Y') }}</p>
{% if profile.file.url is not null %}
<img src="{{ profile.file.url }}" class="user-profile-img">
{% endif %}
</div>
<ul class="classified-owner-action list-unstyled">
<li>
{% include 'visiosoft.theme.sahibinden::addons/visiosoft/advs-module/ad-detail/partials/list-link' %}
</li>
{{ addBlock('ad-detail/seller/action',{'seller_id':adv.created_by_id, 'sahibinden':true})|raw }}
</ul>
</div>
<div class="userDetail">
{% set user = adv.created_by %}
<ul class="list-unstyled classified-owner-contact">
{% if user.gsm_phone is not null %}
<li class="row">
<div class="col-md-4 p-0 m-0">
<strong>
{{ trans('visiosoft.theme.sahibinden::field.mobile.name') }}
</strong>
</div>
<div class="col-md-8 p-0 m-0 text-right">{{ user.gsm_phone }}</div>
</li>
{% endif %}
{% if user.office_phone is not empty %}
<li class="row border-1 border-top">
<div class="col-md-4 p-0 m-0">
<strong>
{{ trans('visiosoft.theme.sahibinden::field.office_phone.name') }}
</strong>
</div>
<div class="col-md-8 p-0 m-0 text-right">{{ user.office_phone }}</div>
</li>
{% endif %}
{% if user.land_phone is not empty %}
<li class="row border-1 border-top">
<div class="col-md-4 p-0 m-0">
<strong>
{{ trans('visiosoft.theme.sahibinden::field.land_phone.name') }}
</strong>
</div>
<div class="col-md-8 p-0 m-0 text-right">{{ user.land_phone }}</div>
</li>
{% endif %}
</ul>
{% if user.gsm_phone is not null %}
<div class="d-none">
<input class="phoneCheck" type="hidden" value="{{ user.gsm_phone }}">
{{ asset_add('scripts.js','visiosoft.theme.sahibinden::js/phoneCheck.js') }}
</div>
<div class="alert alert-info hidden alert-phoneNumber">
<p>
{{ trans('visiosoft.theme.sahibinden::message.invalid_phoneNumber') }}
</p>
{% if auth_check() %}
<p>
<a href="{{ url_route('profile::profile') }}">
<b>
{{ trans('visiosoft.theme.sahibinden::button.update_profile') }}
</b>
</a>
</p>
{% endif %}
</p>
</div>
<a href="https://wa.me/{{ user.gsm_phone|replace({'+': ""}) }}" target="_blank"
class="whatsapp-link hidden">
<button type="button" class="whatsapp-message btn position-relative">
<i class="d-none d-lg-inline-block fab fa-whatsapp position-absolute"></i>
{{ trans('visiosoft.theme.sahibinden::field.whatsapp') }}
</button>
</a>
{% endif %}
{{ addBlock('ad-detail/contact-with', {'adv': adv, 'showTheme': false})|raw }}
</div>
</div>
{{ addBlock('ad-detail/widget', {'ad': adv, 'price': adv.price, 'id': adv.id, 'cat1': categories['cat1']})|raw }}
{{ addBlock('ad-detail/widget-details', {'adv': adv})|raw }}
{% if setting_value('visiosoft.theme.sahibinden::show_security_tips') %}
<div class="security-tips d-none d-sm-block">
<h6>
{{ trans('visiosoft.theme.sahibinden::field.security_tips.name') }}
</h6>
<p>
{{ setting_value('visiosoft.theme.sahibinden::security_tips_msg') }}
</p>
</div>
{% endif %}
</div>
</div>
</div>
<!--detail-ad -->
{% include "visiosoft.theme.sahibinden::addons/visiosoft/advs-module/ad-detail/partials/content" %}
</div>
</section>
</div>
</main>
{% if user.gsm_phone is not null %}
<div class="position-fixed w-100 d-block d-sm-none bg-light footer-mobile-device hidden">
<div class="row m-0 py-2 justify-content-center">
<div class="col pr-1">
<a href="tel:{{ user.gsm_phone }}" class="btn btn-primary w-100">
<i class="fas fa-phone"></i>
{{ trans('visiosoft.theme.sahibinden::field.contact_us.name') }}
</a>
</div>
<a href="https://wa.me/{{ user.gsm_phone|replace({'+': ""}) }}" target="_blank"
class="whatsapp-link hidden col pl-1">
<button type="button" class="whatsapp-message mt-0 btn position-relative">
<i class="fab fa-whatsapp"></i>
{{ trans('visiosoft.theme.sahibinden::field.whatsapp') }}
</button>
</a>
</div>
</div>
{% endif %}
{% include "visiosoft.module.advs::ad-detail/partials/dropleft-edit" %}

View File

@ -0,0 +1,12 @@
<nav aria-label="breadcrumb" class=" d-none d-sm-block">
<ol class="breadcrumb classified-breadcrumb">
<div class="container">
{% for cat in categories %}
<li class="breadcrumb-item float-left">
<a href="{{ url_route('visiosoft.module.advs::list_cat', [cat.id]) }}">{{ cat['name'] }}</a>
</li>
{% endfor %}
</div>
<input class="hidden" id="adv-id" value="{{ adv.id }}">
</ol>
</nav>

View File

@ -0,0 +1,76 @@
<div class="description-info classified-description">
<div class="row">
<div class="col-md-12 description-tabs">
<nav>
<div class="nav nav-tabs nav-fill ad-detail-tabs" id="nav-tab" role="tablist">
<a class="nav-item nav-link bg-secondary d-block d-sm-none" id="nav-info-tab"
data-toggle="tab" href="#nav-info" role="tab"
aria-controls="nav-info"
aria-selected="true">{{ trans('visiosoft.theme.sahibinden::field.ad_info.name') }}</a>
<a class="nav-item nav-link active bg-secondary" id="nav-description-tab"
data-toggle="tab" href="#nav-description" role="tab"
aria-controls="nav-description"
aria-selected="true">{{ trans('visiosoft.module.advs::field.description') }}</a>
<a class="nav-item nav-link bg-secondary" id="nav-location-tab"
data-toggle="tab" href="#nav-location" role="tab"
aria-controls="nav-location"
aria-selected="true">{{ trans('visiosoft.module.advs::field.location') }}</a>
<!-- Content Tab With Block -->
{{ addBlock('ad-detail/content-tab',{'features':features,'adv':adv})|raw }}
<!-- Content Tab With Block -->
</div>
</nav>
<div class="tab-content pb-3 px-3 px-sm-0 border-0" id="nav-tabContent">
<div class="tab-pane fade" id="nav-info" role="tabpanel"
aria-labelledby="nav-info-tab">
<ul class="list-unstyled classified-detail">
<li class="row m-0">
<div class="col-6 p-0 m-0 font-weight-bold detail-title">{{ trans('visiosoft.theme.sahibinden::field.price.name') }}</div>
<div class="col-6 p-0 m-0 text-primary detail-value">{{ adv.price.currency }}</div>
</li>
<li class="row m-0">
<div class="col-6 p-0 m-0 font-weight-bold detail-title">{{ trans('visiosoft.theme.sahibinden::field.ad.name') }}</div>
<div class="col-6 p-0 m-0 text-danger detail-value">{{ adv.id }}</div>
</li>
<li class="row m-0">
<div class="col-6 p-0 m-0 font-weight-bold detail-title">{{ trans('visiosoft.theme.sahibinden::field.ad_date.name') }}</div>
<div class="col-6 p-0 m-0 detail-value">{{ adv.created_at|date('d/m/Y') }}</div>
</li>
{{ addBlock('ad-detail/content',{'features_detail':features})|raw }}
</ul>
</div>
<div class="tab-pane fade show active" id="nav-description" role="tabpanel"
aria-labelledby="nav-description-tab">
<h4 class="subject-tab d-none d-sm-block mb-0 border">{{ trans('visiosoft.module.advs::field.explanation') }}</h4>
<div class="row mx-0 mt-0">
<div class="col-12 classified-description-row border mt-0 pt-2">
<p>{{ adv.advs_desc|raw }}</p>
</div>
</div>
{{ addBlock('ad-detail/checkboxes',{'features':features})|raw }}
</div>
<div class="tab-pane fade show" id="nav-location" role="tabpanel"
aria-labelledby="nav-location-tab">
<div class="classified-description-row px-3 border">
{% include "visiosoft.module.advs::ad-detail/partials/map" %}
</div>
</div>
<!-- Content With Block -->
{{ addBlock('ad-detail/content',{'features':features,'adv':adv, 'profile': profile, 'show':true})|raw }}
<!-- Content With Block -->
</div>
</div>
</div>
</div>
{{ addBlock('ad-detail/section',{'adv':adv})|raw }}
<div class="d-none d-sm-block">
{{ setting_value('visiosoft.theme.sahibinden::detail_bottom')|raw }}
</div>
<div class="d-block d-sm-none">
{{ setting_value('visiosoft.theme.sahibinden::detail_bottom_mobile')|raw }}
</div>

View File

@ -0,0 +1,58 @@
{% set district = getDistrict(adv.district.getObject().value) %}
{% set neighborhood = getNeighborhood(adv.neighborhood.getObject().value) %}
<div class="slider-text">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 offered-field offered-row p-0">
<h3 class="ad-price">
<b>{{ adv.price.currency(null,'currency') }}</b>
{{ addBlock('ad-detail/details',{'adv':adv,'theme':'sahibinden'})|raw }}
<!-- priceField with Block -->
{{ addBlock('ad-detail/priceField',{'adv':adv})|raw }}
<!-- priceField with Block -->
</h3>
<h2 class="d-none d-sm-block">
{% set lastCatId = categories|last['id'] %}
{% if setting_value('visiosoft.theme.sahibinden::show_country') %}
{{ adv.country_name }}
<span>/</span>
{% endif %}
<a href="{{ url_route('visiosoft.module.advs::list') }}?city[]={{ adv.city }}&cat={{ lastCatId }}"
class="link-unstyled">
{{ adv.city_name }}
</a>
{% if district %}
<span>/</span>
<a href="{{ url_route('visiosoft.module.advs::list') }}?city[]={{ adv.city }}&district[]={{ district.id }}&cat={{ lastCatId }}"
class="link-unstyled">
{{ district.name }}
</a>
{% endif %}
{% if neighborhood %}
<span>/</span>
<a href="{{ url_route('visiosoft.module.advs::list') }}?city[]={{ adv.city }}&district[]={{ district.id }}&neighborhood[]={{ neighborhood.id }}&cat={{ lastCatId }}"
class="link-unstyled">
{{ neighborhood.name }}
</a>
{% endif %}
</h2>
</div>
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 p-0 d-none d-sm-block">
<ul class="list-unstyled classified-detail">
<li class="row m-0">
<div class="col-md-6 p-0 m-0 font-weight-bold">{{ trans('visiosoft.module.advs::field.ad_id') }}</div>
<div class="col-md-6 p-0 m-0 text-danger">{{ adv.id }}</div>
</li>
<li class="row m-0">
<div class="col-md-6 p-0 m-0 font-weight-bold">{{ trans('visiosoft.theme.sahibinden::field.ad_date.name') }}</div>
<div class="col-md-6 p-0 m-0">{{ adv.created_at|date('d/m/Y') }}</div>
</li>
{{ addBlock('ad-detail/content',{'features_detail':features,'adv':adv})|raw }}
<li class="row m-0">
<div class="col-md-6 p-0 m-0 font-weight-bold">{{ trans('visiosoft.module.advs::field.views') }}</div>
<div class="col-md-6 p-0 m-0 font-weight-bold viewed-ad-count">{{ adv.count_show_ad }}</div>
</li>
</ul>
</div>
</div>

View File

@ -0,0 +1,7 @@
{% if addBlock('store/link') is null %}
<a href="{{ url_route('visiosoft.module.advs::list_user_ad', [adv.created_by_id]) }}">
{{ trans('visiosoft.theme.sahibinden::field.other_ads.name') }}
</a>
{% else %}
{{ addBlock('store/link', {'userId': adv.created_by_id})|raw }}
{% endif %}

View File

@ -0,0 +1,7 @@
<meta property="og:site_name"
content="{{ template.get('og_site_name', setting_value('streams::name', config_get('streams::distribution.name'))) }}"/>
<meta property="og:description" content="{{ adv.advs_desc|striptags|raw }}"/>
<meta property="og:title" content="{{ adv.title }}"/>
<meta property="og:url" content="{{ template.get('og_url', url_current()) }}"/>
<meta property="og:image" content="{{ adv.getViewPhotoUrl|first }}">
<meta property="og:type" content="website"/>

View File

@ -0,0 +1,69 @@
<div class="col-md-6 slider-box pl-0">
{% if blocks('ad-item-picture-block-area') is null %}
<div class="fotorama"
data-width="700"
data-arrows="true"
data-allowfullscreen="true"
data-ratio="3/2"
data-nav="thumbs"
data-thumbheight="48">
{% set advPhoto = '' %}
{% if count(adv.files) == 0 %}
{% set advPhoto = img('visiosoft.module.advs::images/no-image.png').url %}
<a href="{{ image }}"><img src="{{ img('visiosoft.module.advs::images/no-image.png').url }}"></a>
{% else %}
{% for image in adv.getViewPhotoUrl %}
<a href="{{ image }}"><img src="{{ image }}"></a>
{% if loop.index == 1 %}
{% set advPhoto = image %}
{% endif %}
{% endfor %}
{% endif %}
</div>
<div class="position-absolute w-100 row pl-3 slider-controller-bar">
<div class="col-12 bg-light row m-0 py-1">
<div class="col-6">
<a href="#" class="a-sahibinden-type" onclick="fotorama.requestFullScreen()">
<i class="fas fa-search"></i>
{{ trans('visiosoft.theme.sahibinden::field.mega_photo.name') }}
</a>
</div>
<div class="col-6 text-right">
<button class="{% if adv.video_url %}a-sahibinden-type{% else %} text-secondary {% endif %} border-0 bg-light"
data-toggle="modal" data-target="#adv-video" {% if adv.video_url is null %}disabled{% endif %}>
<i class="fas fa-video"></i>
{{ trans('visiosoft.theme.sahibinden::field.video.name') }}
</button>
</div>
</div>
</div>
{% else %}
{{ blocks('ad-item-picture-block-area') }}
{% endif %}
{{ asset_add("styles.css", "visiosoft.module.advs::css/fotorama.css") }}
</div>
{% if adv.video_url %}
<div class="modal fade video-wrapper-modal" id="adv-video" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="close-modal text-right">
<button type="button" class="btn btn-danger" data-dismiss="modal">X
</button>
</div>
<div class="modal-body">
<video controls loop class="img-responsive"
style="text-align: center; width: 100%">
<source src="{{ adv.video_url }}" class="video-src"
type="video/mp4"/>
</video>
</div>
</div>
</div>
</div>
{{ asset_add("scripts.js", "visiosoft.module.cloudinary::js/close-btn.js") }}
{% endif %}
{{ asset_add("scripts.js", "visiosoft.module.advs::js/fotorama.js") }}
{{ asset_add("scripts.js", "visiosoft.theme.sahibinden::js/slider.js") }}

View File

@ -0,0 +1,67 @@
{% extends "theme::layouts/default" %}
{% block content %}
<!-- breadcrumb -->
{% include "visiosoft.module.advs::list/partials/breadcrumb" %}
<!-- breadcrumb -->
<section id="main" class="clearfix details-page">
<div class="container">
{{ addBlock('ads-list/user-section', {'store': store})|raw }}
<div class="row my-3">
<div class="col-md-3 d-none d-sm-block filter-section">
{% include "visiosoft.module.advs::list/partials/list-filter" %}
</div>
<div class="col-md-9">
<div class="section recommended-ads">
<div class="row breadcrumb list-header">
<div class="col-12 col-md-6 my-2 d-none d-sm-block">
{% include "visiosoft.module.advs::list/partials/list-sort-by" %}
</div>
<div class="col-12 col-md-6 my-2">
{% include "visiosoft.module.advs::list/partials/display-mode" %}
</div>
</div>
<div class="my-2 p-0 bg-light d-flex d-sm-none mobile-list-action row text-center align-items-center">
<div class="col-4" id="filter_modal_btn">
<i class="fas fa-filter w-100"></i>
<a href="javascript:;">{{ trans('visiosoft.theme.sahibinden::field.filter.name') }}</a>
</div>
<div class="col-4" id="sort_modal_btn">
<i class="fas fa-sort-amount-down w-100"></i>
<a href="javascript:;">{{ trans('visiosoft.theme.sahibinden::field.sort.name') }}</a>
</div>
{{ addBlock('ads-list/row-bottom',{'show_favorite_search':true})|raw }}
</div>
{{ addBlock('ads-list/row',{'topfields':topfields,'advs':advs})|raw }}
<div class="row justify-content-center">
{% block listContent %}
{% include "visiosoft.module.advs::list/partials/ads" %}
{% endblock %}
</div>
{% include "visiosoft.module.advs::list/partials/pagination" %}
{{ addBlock('ads-list/row-bottom')|raw }}
{# <div class="category-tabs"></div>#}
</div>
</div>
</div>
</div>
</section>
{% include "visiosoft.module.advs::list/partials/filter-modal" %}
{% include "visiosoft.module.advs::list/partials/sort-modal" %}
<script>
var select_trans = "{{ trans('visiosoft.module.advs::field.pick_option') }}";
</script>
{{ asset_add("scripts.js", "visiosoft.module.advs::js/list.js") }}
{{ asset_add("styles.css", "visiosoft.module.advs::css/list.css") }}
{{ asset_add("styles.css", "visiosoft.theme.sahibinden::css/list.css") }}
{% endblock %}
{% block customjs %}
{{ addBlock('ads-list/list',{'adv':adv})|raw }}
{% endblock %}

View File

@ -0,0 +1,41 @@
{{ addBlock('ad-list/partials/ads',{'featured_advs':featured_advs})|raw }}
{% for adv in advs %}
<div class="col-6 col-md-12 mb-2 list-classified bg-light aditem-wrapper">
<a href="{{ adv.detail_url }}" class="text-dark">
<div class="row{% if adv.doping != null %} doping_type4 {% endif %}">
<div class="col-md-2 justify-content-center align-self-center text-center border-right border-white">
<img class="img-thumbnail" src="{{ adv.cover_photo }}" alt="{{ adv.name }}"
style="max-height:80px;">
</div>
<div class="col-md-7 justify-content-center align-self-center border-right border-white">
<div class="row">
<div class="col-md-12">
<p>{{ adv.name }}</p>
</div>
<div class="col-md-12 text-truncate d-none d-md-block">
<small class="text-muted">{{ adv.cat1_name }}, {{ adv.cat2_name }}</small>
</div>
</div>
</div>
<div class="col-md-3 text-left justify-content-center align-self-center">
<div class="row price-location">
<div class="col-md-12">
<b>{{ adv.price.currency(null,'currency') }}</b>
</div>
{% if setting_value('visiosoft.module.location::list_page_location') %}
<div class="col-md-12 justify-content-center align-self-center text-truncate">
<small>{{ adv.city_name }} {{ adv.country_name }}</small>
</div>
{% endif %}
</div>
</div>
</div>
</a>
<div class="row mb-2">
<div class="col-md-2"></div>
<div class="col-md-7 justify-content-center align-self-center border-right border-white">
{{ addBlock('list/extra-actions', {'ad': adv})|raw }}
</div>
</div>
</div>
{% endfor %}

View File

@ -0,0 +1,18 @@
<nav aria-label="breadcrumb" class=" d-none d-sm-block">
<ol class="breadcrumb classified-breadcrumb">
<div class="container">
<li class="breadcrumb-item float-left">
<a href="{{ url('') }}">
{{ trans("visiosoft.module.advs::field.home") }}
</a>
</li>
<li class="breadcrumb-item float-left">
<a href="{{ url_route('visiosoft.module.advs::list') }}">
{{ trans("visiosoft.module.advs::field.list") }}
</a>
</li>
{{ addBlock('ads-list/partials/breadcrumb',{'mainCats': mainCats, 'category': categoryId})|raw }}
</div>
<input class="hidden" id="adv-id" value="{{ adv.id }}">
</ol>
</nav>

View File

@ -0,0 +1,36 @@
<section id="main" class="clearfix details-page">
<div class="container">
{% include "visiosoft.module.advs::list/partials/user-section" %}
<div class="row my-3">
<div class="col-md-3 d-none d-sm-block filter-section">
{% include "visiosoft.module.advs::list/partials/list-filter" %}
</div>
<div class="col-md-9">
<div class="section recommended-ads">
<div class="row breadcrumb list-header">
<div class="col-md-6 my-2">
{% include "visiosoft.module.advs::list/partials/list-sort-by" %}
</div>
<div class="col-md-6 my-2">
{% include "visiosoft.module.advs::list/partials/display-mode" %}
</div>
</div>
{{ addBlock('ads-list/row',{'topfields':topfields})|raw }}
<div class="row justify-content-center">
{% block listContent %}
{% include "visiosoft.module.advs::list/partials/ads" %}
{% endblock %}
</div>
{% include "visiosoft.module.advs::list/partials/pagination" %}
{# <div class="category-tabs"></div>#}
</div>
</div>
</div>
</div>
</section>

View File

@ -0,0 +1,55 @@
<div class="mb-3 p-2 price-section">
<div id="price" class="collapse show overflow-auto" aria-labelledby="priceHeading"
data-parent="#filter">
<div class="row p-0 m-0">
<div class="col-md-12 p-0 pl-3 row">
<div class="input-group-btn col-md-12 filtering-currencies-btn position-relative w-100 px-0"
data-toggle="buttons">
{% set active_currencies = setting_value('visiosoft.module.advs::enabled_currencies') %}
{% set active_currencies2 = setting_value('visiosoft.module.advs::enabled_currencies') %}
{% set selected_currency = setting_value('streams::currency') %}
{% if app.request.get('currency') %}
{% set selected_currency = app.request.get('currency') %}
{% endif %}
{% for currency in active_currencies %}
<label class="btn currency-filtering-label col
{% if selected_currency == currency %}
active
{% endif %}
" data-value="{{ currency }}">
<input type="radio" class="currency-filtering-btn">
{{ currency_symbol(currency) }}
</label>
{% endfor %}
</div>
</div>
<div class="col-md-12 p-0 pl-3 row ">
<div class="col-4 p-0">
<input type="hidden" name="currency"
value="{{ setting_value('streams::currency') }}">
<input type="text" id="min-filter" class="price-input form-control w-100"
value="{{ app.request.get('min_price') }}" name="min_price"
data-placeholder="{{ trans('visiosoft.module.advs::field.min.name') }}"
placeholder="{{ trans('visiosoft.module.advs::field.min.name')~" "~setting_value('streams::currency') }}">
</div>
<div class="col-1 p-0 text-center">-</div>
<div class="col-4 p-0">
<input id="max-filter" class="price-input form-control w-100" type="text"
value="{{ app.request.get('max_price') }}"
name="max_price"
data-placeholder="{{ trans('visiosoft.module.advs::field.max.name') }}"
placeholder="{{ trans('visiosoft.module.advs::field.max.name')~" "~setting_value('streams::currency') }}">
</div>
<div class="col-2 p-0 pl-2">
<button class="btn btn-primary price-filter-btn hidden">
{{ trans('visiosoft.theme.sahibinden::field.find.name') }}
</button>
</div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,8 @@
<!-- breadcrumb -->
{% include "visiosoft.theme.sahibinden::addons/visiosoft/advs-module/ad-detail/partials/breadcrumb" %}
<!-- breadcrumb -->
{% include "visiosoft.theme.sahibinden::addons/visiosoft/advs-module/ad-detail/main" %}
{{ asset_add("styles.css", "visiosoft.theme.sahibinden::css/sahibinden.css") }}
{{ asset_add("styles.css", "visiosoft.theme.sahibinden::css/detail.css") }}

View File

@ -20,7 +20,6 @@
{% include "theme::partials/header" %}
{{ addBlock('layouts/default/section')|raw }}
<main id="main">
<div class="container">

View File

@ -18,7 +18,7 @@
{{ asset_add("theme.js", "visiosoft.theme.base::js/jquery.inputmask.bundle.min.js") }}
{# Theme Scripts #}
{#{{ asset_add("theme.js", "theme::js/plugins/*") }}#}
{#{{ asset_add("theme.js", "visiosoft.theme.base::js/plugins/*") }}#}
{{ asset_add("theme.js", "visiosoft.theme.base::js/theme/initialize.js") }}
{{ asset_script("theme.js") }}

View File

@ -0,0 +1,23 @@
{% set sub_categories_limit = setting_value('visiosoft.theme.base::home_page_sub_categories_limit') %}
<ul class="categories-list px-0 mr-2 d-block d-sm-none">
<li class="categories-list-li category-icon text-truncate category-{{ main_category.slug }}">
<a href="{{ url_route('visiosoft.module.advs::list') }}?cat={{ main_category.id }}"
class="main-category">
{% if main_category.icon.path != "" %}
<img src="{{ url('files/' ~ main_category.icon.path) }}" alt="{{ main_category.name }}"
class="img-responsive">
{% else %}
<img src="{{ img('visiosoft.theme.base::images/default-categories-icon.png').url }}" alt="{{ main_category.name }}"
class="img-responsive">
{% endif %}
<font>{{ main_category.name }}</font>
<p class="p-0 sub-categories">
{% set sub_categories = entries('cats','category').where('parent_category_id', main_category.id).where('deleted_at', null).orderBy('sort_order').get() %}
{% for sub_category in sub_categories|slice(0,sub_categories_limit) %}
{{ sub_category.name }},
{% endfor %}
</p>
</a>
</li>
</ul>

View File

@ -0,0 +1,40 @@
{% set sub_categories_limit = setting_value('visiosoft.theme.base::home_page_sub_categories_limit') %}
<ul class="categories-list p-0 d-none d-sm-block">
<li class="categories-list-li category-icon category-{{ main_category.slug }}">
{% if main_category.icon.path != "" %}
<img src="{{ url('files/' ~ main_category.icon.path) }}" alt="{{ main_category.name }}"
class="img-responsive">
{% else %}
<img src="{{ img('visiosoft.theme.base::images/default-categories-icon.png').url }}"
alt="{{ main_category.name }}"
class="img-responsive">
{% endif %}
<a href="{{ url_route('visiosoft.module.advs::list') }}?cat={{ main_category.id }}"
class="main-category">
<b>{{ main_category.name }}</b>
</a>
<ul class="p-0" style="">
{% set sub_categories = entries('cats','category').where('parent_category_id', main_category.id).where('deleted_at', null).orderBy('sort_order').get() %}
{% for sub_category in sub_categories|slice(0,sub_categories_limit) %}
<li>
<a href="{{ url_route('visiosoft.module.advs::list') }}?cat={{ sub_category.id }}"
class="">{{ sub_category.name }}</a>
</li>
{% endfor %}
{% for sub_category in sub_categories|slice(sub_categories_limit,count(sub_categories)) %}
<li class="hidden hidden-category">
<a href="{{ url_route('visiosoft.module.advs::list') }}?cat={{ sub_category.id }}"
class="">{{ sub_category.name }}</a>
</li>
{% endfor %}
{% if count(sub_categories) > sub_categories_limit %}
<li class="show-all">
<a>
{{ trans('visiosoft.theme.base::button.show_all') }}
<i class="fas fa-arrow-circle-down"></i>
</a>
</li>
{% endif %}
</ul>
</li>
</ul>

View File

@ -0,0 +1,50 @@
<div class="col left-categories-section mx-0">
<ul class="categories-list p-0 d-none d-sm-block mb-0">
<li class="categories-list-li category-icon border-bottom-0 mt-0">
<img src="{{ img('visiosoft.theme.base::images/store-search.png').url }}" class="img-responsive">
<a href="{{ url_route('store::list') }}" class="main-category">
<span class="text-dark" class="text-dark">
{{ trans('visiosoft.theme.base::field.company_directory') }}
</span>
</a>s
</li>
<li class="categories-list-li category-icon border-bottom-0 mt-0">
<img src="{{ img('visiosoft.theme.base::images/popular-ads.png').url }}" class="img-responsive">
<a href="{{ url_route('visiosoft.module.advs::list') }}?sort_by=popular" class="main-category">
<span class="text-dark">
{{ trans('visiosoft.theme.base::field.popular_ads') }}
</span>
</a>
</li>
<li class="categories-list-li category-icon border-bottom-0 mt-0">
<img src="{{ img('visiosoft.theme.base::images/last-48-hours.png').url }}" class="img-responsive">
<a href="{{ url_route('visiosoft.module.advs::list') }}?date=two_days" class="main-category">
<span class="text-dark">
{{ trans('visiosoft.theme.base::field.last_48_hours') }}
</span>
</a>
</li>
<li class="categories-list-li category-icon mt-0 pb-3">
<img src="{{ img('visiosoft.theme.base::images/get-ads.png').url }}" class="img-responsive">
<a href="{{ url_route('visiosoft.module.advs::list') }}?get_ads=true" class="main-category">
<span class="text-dark">
{{ trans('visiosoft.theme.base::field.secure_e-commerce_ads') }}
</span>
</a>
</li>
</ul>
{{ addBlock('base/categoriesRow')|raw }}
<div class="col-12 p-0 m-0">
{% set main_categories = entries('cats','category').where('parent_category_id', null).where('deleted_at', null).orderBy('sort_order').get() %}
{% for main_category in main_categories %}
{% include "visiosoft.theme.base::partials/categories-web" %}
{% include "visiosoft.theme.base::partials/categories-mobile" %}
{% endfor %}
</div>
<div class="col-12 p-0 m-0 d-none d-sm-block">
{{ setting_value('visiosoft.theme.base::home_bottom_left_categories')|raw }}
</div>
</div>

View File

@ -13,6 +13,7 @@
{#{{ favicons("theme::img/favicon.png") }}#}
{# Base Theme Components #}
{{ asset_add("theme.css", "visiosoft.theme.base::css/base.css") }}
{{ asset_add("theme.css", "visiosoft.theme.base::css/bootstrap.min.css") }}
{{ asset_add("theme.css", "visiosoft.theme.base::css/theme.css") }}
{{ asset_add("theme.css", "visiosoft.theme.base::css/select2.css") }}

View File

@ -26,19 +26,15 @@
{% if setting_value('visiosoft.theme.base::navigation_action') %}
<ul class="nav navbar-nav navbar-right d-block d-sm-none">
{{ addBlock('navigationLinks')|raw }}
<li class="nav-item">
{% if auth_check() %}
<a class="nav-link"
href="{{ url_route('anomaly.module.users::logout') }}">{{ trans('visiosoft.theme.base::field.logout.name') }}</a>
<a class="nav-link" href="{{ url_route('anomaly.module.users::logout') }}">{{ trans('visiosoft.theme.base::field.logout.name') }}</a>
{% else %}
<a class="nav-link"
href="{{ url_route('anomaly.module.users::login') }}">{{ trans('visiosoft.theme.base::field.login.name') }}</a>
<a class="nav-link" href="{{ url_route('anomaly.module.users::login') }}">{{ trans('visiosoft.theme.base::field.login.name') }}</a>
{% endif %}
</li>
<li class="nav-item">
<a class="nav-link"
href="{{ url_route('profile::profile') }}">{{ trans('visiosoft.theme.base::field.profile') }}</a>
<a class="nav-link" href="{{ url_route('profile::profile') }}">{{ trans('visiosoft.theme.base::field.profile') }}</a>
</li>
<li class="nav-item">
<a href="/advs/create_adv" class="btn btn-primary">{{ trans("theme::button.post_ad.name") }}</a>
@ -49,19 +45,15 @@
<div class="d-none d-sm-block">
{% if setting_value('visiosoft.theme.base::navigation_action') %}
<ul class="nav navbar-nav navbar-right">
{{ addBlock('navigationLinks')|raw }}
<li class="nav-item">
{% if auth_check() %}
<a class="nav-link"
href="{{ url_route('anomaly.module.users::logout') }}">{{ trans('visiosoft.theme.base::field.logout.name') }}</a>
<a class="nav-link" href="{{ url_route('anomaly.module.users::logout') }}">{{ trans('visiosoft.theme.base::field.logout.name') }}</a>
{% else %}
<a class="nav-link"
href="{{ url_route('anomaly.module.users::login') }}">{{ trans('visiosoft.theme.base::field.login.name') }}</a>
<a class="nav-link" href="{{ url_route('anomaly.module.users::login') }}">{{ trans('visiosoft.theme.base::field.login.name') }}</a>
{% endif %}
</li>
<li class="nav-item">
<a class="nav-link"
href="{{ url_route('profile::profile') }}">{{ trans('visiosoft.theme.base::field.profile') }}</a>
<a class="nav-link" href="{{ url_route('profile::profile') }}">{{ trans('visiosoft.theme.base::field.profile') }}</a>
</li>
<li class="nav-item">
<a href="/advs/create_adv" class="btn btn-primary">{{ trans("theme::button.post_ad.name") }}</a>

View File

@ -129,6 +129,10 @@ class BaseThemeServiceProvider extends AddonServiceProvider
protected $mobile = [
//'streams::errors/404' => 'module::mobile/errors/404',
//'streams::errors/500' => 'module::mobile/errors/500',
'anomaly.module.users::login' => 'visiosoft.theme.base::addons/anomaly/users-module/login',
'anomaly.module.users::register' => 'visiosoft.theme.base::addons/anomaly/users-module/register',
'anomaly.module.users::password/forgot' => 'visiosoft.theme.base::addons/anomaly/users-module/password/forgot',
'anomaly.module.users::password/reset' => 'visiosoft.theme.base::addons/anomaly/users-module/password/reset'
];
/**

View File

@ -1,33 +1,36 @@
$( document ).ready(function() {
$("select[name='parent_category']").select2({
ajax: {
url: window.location.origin + "/keySearch",
type: "GET",
data: function (params) {
return {
q: params.term // search term
};
if ($("select[name='parent_category']").length ) {
$("select[name='parent_category']").select2({
ajax: {
url: window.location.origin + "/keySearch",
type: "GET",
data: function (params) {
return {
q: params.term // search term
};
},
processResults: function (data) {
return {
results: $.map(data.category, function (item) {
return {
text: item.parents,
id: item.id
}
})
};
},
cache: true
},
processResults: function (data) {
return {
results: $.map(data.category, function (item) {
return {
text: item.parents,
id: item.id
}
})
};
},
cache: true
},
allowClear: true,
theme: "classic",
placeholder:"All" ,
minimumInputLength: 3
});
allowClear: true,
theme: "classic",
placeholder:"All" ,
minimumInputLength: 3
});
$("select[name='parent_category']").on('select2:select', function (e) {
var data = e.params.data;
$("input[name='category_name']").val(data.text);
});
});
$("select[name='parent_category']").on('select2:select', function (e) {
var data = e.params.data;
$("input[name='category_name']").val(data.text);
});
}
});

View File

@ -8,7 +8,7 @@ return [
'slack_link' => 'Skuadër e ngathët',
'slack_description' => 'Gjeni dhe komunikoni me përdoruesit dhe zhvilluesit e tjerë të OpenClassify.',
'forum_link' => 'Forumi i Diskutimit',
'forum_description' => 'Gjeni përgjigje dhe postoni pyetje në lidhje me përdorimin dhe zhvillimin me OpenClassify.',
'forum_description' => 'Gjeni përgjigje dhe postoni pyetje në lidhje me përdorimin dhe zhvillimin me tregtaret.com',
'addons_link' => 'Shtesa të disponueshme',
'addons_description' => 'Zbuloni shtesat në dispozicion për OpenClassify.',
];

View File

@ -31,5 +31,5 @@ return [
// Forgot Password
'email_phone_not_found' => 'البريد الإلكتروني ، رقم الهاتف غير صحيح!',
'disable_account' => 'Do you want to close your account? This operation cannot be undone.',
'disable_account' => 'هل تريد إغلاق حسابك؟ هذه العملية لا يمكن التراجع عنها.',
];

View File

@ -32,5 +32,5 @@ return [
// Forgot Password
'email_phone_not_found' => 'Die E-Mail, Telefonnummer ist nicht korrekt!',
'disable_account' => 'Do you want to close your account? This operation cannot be undone.',
'disable_account' => 'Möchten Sie Ihr Konto schließen? Dieser Vorgang kann nicht rückgängig gemacht werden.',
];

View File

@ -34,5 +34,5 @@ return [
// Forgot Password
'email_phone_not_found' => 'E-mail, номер телефона неверен!',
'disable_account' => 'Do you want to close your account? This operation cannot be undone.',
'disable_account' => 'Вы хотите закрыть свой аккаунт? Эта операция не может быть отменена.',
];

View File

@ -3,7 +3,7 @@
return [
"email" => "Kërkohet fusha me postë elektronike!",
"username" => "Kërkohet fusha e përdoruesit!",
"success_update" => "Përditësimi i Profilit Me sukses!",
"success_update" => "Përditësimi i Profilit me sukses!",
"adress_success_update" => "Përditësoni me sukses Adresën!",
"adress_success_create" => "Adresa Krijoni me sukses!",
"login_error" => "Identifikim ose fjalëkalim i pasaktë.",
@ -31,5 +31,5 @@ return [
// Forgot Password
'email_phone_not_found' => 'E-maili, numri i telefonit nuk është i saktë!',
'disable_account' => 'Do you want to close your account? This operation cannot be undone.',
'disable_account' => 'Dëshiron të mbyllësh llogarinë tënde? Ky operacion nuk mund të zhbëhet.',
];