mirror of
https://github.com/openclassify/openclassify.git
synced 2026-01-11 18:01:10 -06:00
Merge branch 'master' of https://github.com/openclassify/openclassify
This commit is contained in:
commit
90f14e12c0
@ -105,13 +105,15 @@ class AdvCriteria extends EntryCriteria
|
||||
{
|
||||
$advModel = new AdvModel();
|
||||
$adv = $advModel->newQuery()->find($id);
|
||||
if (!$adv->cover_photo) {
|
||||
$adv->cover_photo = $this->image->make('visiosoft.theme.base::images/no-image.png', 'path')->url();
|
||||
} else if (
|
||||
!empty($adv->cover_photo) &&
|
||||
substr($adv->cover_photo, 0, strlen('/')) !== '/'
|
||||
) {
|
||||
$adv->cover_photo = '/' . $adv->cover_photo;
|
||||
if ($adv) {
|
||||
if (!$adv->cover_photo) {
|
||||
$adv->cover_photo = $this->image->make('visiosoft.theme.base::images/no-image.png', 'path')->url();
|
||||
} else if (
|
||||
!empty($adv->cover_photo) &&
|
||||
substr($adv->cover_photo, 0, strlen('/')) !== '/'
|
||||
) {
|
||||
$adv->cover_photo = '/' . $adv->cover_photo;
|
||||
}
|
||||
}
|
||||
return $adv;
|
||||
}
|
||||
|
||||
@ -0,0 +1,2 @@
|
||||
// Add phone mask
|
||||
phoneMask("input.phone");
|
||||
@ -40,6 +40,8 @@ return [
|
||||
|
||||
// Login page
|
||||
'or' => 'or',
|
||||
'login_with_phone_number' => 'Login with Phone Number',
|
||||
'login_with_email_address' => 'Login with Email Address',
|
||||
|
||||
// Side menu links
|
||||
'company_directory' => 'Company directory',
|
||||
|
||||
@ -1,20 +0,0 @@
|
||||
{% 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 %}
|
||||
@ -1,165 +0,0 @@
|
||||
<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" %}
|
||||
@ -1,12 +0,0 @@
|
||||
<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>
|
||||
@ -1,76 +0,0 @@
|
||||
<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>
|
||||
@ -1,58 +0,0 @@
|
||||
{% 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>
|
||||
@ -1,7 +0,0 @@
|
||||
{% 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 %}
|
||||
@ -1,7 +0,0 @@
|
||||
<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"/>
|
||||
@ -1,69 +0,0 @@
|
||||
<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") }}
|
||||
@ -1,67 +0,0 @@
|
||||
{% 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 %}
|
||||
@ -1,41 +0,0 @@
|
||||
{{ 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 %}
|
||||
@ -1,18 +0,0 @@
|
||||
<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>
|
||||
@ -1,36 +0,0 @@
|
||||
|
||||
<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>
|
||||
@ -1,55 +0,0 @@
|
||||
<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>
|
||||
@ -1,8 +0,0 @@
|
||||
<!-- 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") }}
|
||||
@ -1,6 +1,7 @@
|
||||
{% extends "theme::layouts/default" %}
|
||||
|
||||
{% block content %}
|
||||
{% set phoneLogin = not setting_value('visiosoft.module.advs::register_email_field') or app.request.get('type') == 'phone' %}
|
||||
<div class="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">
|
||||
@ -8,8 +9,8 @@
|
||||
.redirect(app.request.get('redirect'))
|
||||
.get() %}
|
||||
{{ form_open({
|
||||
'class':'aaa',
|
||||
'url':form.options.url
|
||||
'class': 'aaa',
|
||||
'url': form.options.url
|
||||
})|raw }}
|
||||
<div class="col-12 pt-4 pt-lg-0">
|
||||
<h3 class="text-center login_subject">
|
||||
@ -17,12 +18,14 @@
|
||||
</h3>
|
||||
<div class="form-group email-field email-field_type">
|
||||
<label class="control-label">
|
||||
{{ trans('visiosoft.theme.base::field.email_or_phone_number') }}
|
||||
{{ phoneLogin ? trans('visiosoft.theme.base::field.phone_number') : trans('visiosoft.theme.base::field.email') }}
|
||||
<span class="required">*</span>
|
||||
</label>
|
||||
|
||||
<div class="input-wrapper">
|
||||
{{ form.fields.email.input|raw }}
|
||||
{{ form.fields.email.setAttributes({
|
||||
'class': phoneLogin ? 'form-control phone' : 'form-control'
|
||||
}).input|raw }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -63,9 +66,18 @@
|
||||
{{ trans('visiosoft.theme.base::field.remember_me') }}
|
||||
</label>
|
||||
</div>
|
||||
{% if addBlock('login/oauth') %}
|
||||
|
||||
{% if addBlock('login/oauth') or setting_value('visiosoft.module.advs::register_email_field') %}
|
||||
<div class="text-center text-muted">- {{ trans('visiosoft.theme.base::field.or') }} -</div>
|
||||
<div class="social-login py-2 px-3">
|
||||
{% if setting_value('visiosoft.module.advs::register_email_field') %}
|
||||
<a class="btn btn-info text-white w-100 d-flex align-items-center justify-content-center position-relative mb-3"
|
||||
href="{{ url_route('anomaly.module.users::login') }}{{ phoneLogin ? '' : '?type=phone' }}">
|
||||
<span class="position-relative py-1">
|
||||
{{ phoneLogin ? trans('visiosoft.theme.base::field.login_with_email_address') : trans('visiosoft.theme.base::field.login_with_phone_number') }}
|
||||
</span>
|
||||
</a>
|
||||
{% endif %}
|
||||
{{ addBlock('login/oauth')|raw }}
|
||||
</div>
|
||||
{% endif %}
|
||||
@ -84,5 +96,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ asset_add('scripts.js','visiosoft.theme.base::js/login.js') }}
|
||||
{{ asset_add('styles.css','visiosoft.theme.base::css/login.css') }}
|
||||
{% endblock %}
|
||||
@ -1,65 +1,76 @@
|
||||
{{ addBlock('index_top')|raw }}
|
||||
<div class="home-container">
|
||||
|
||||
<div class="album bg-light">
|
||||
<div class="row p-2">
|
||||
{% if setting_value('visiosoft.theme.base::latest_and_view_all_btn') %}
|
||||
<div class="col-md-6">
|
||||
<h4 class="p-2">{{ trans('theme::field.latest_ads') }}</h4>
|
||||
</div>
|
||||
<div class="col-md-6 text-right">
|
||||
<a class="btn btn-outline-secondary"
|
||||
href="{{ url_route('visiosoft.module.advs::list') }}">{{ trans('theme::field.show_all') }}</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
{% for latestAd in latestAds() %}
|
||||
<div class="col-sm-6 col-md-4 col-lg-3 d-flex align-items-stretch">
|
||||
<div class="card mb-4 box-shadow">
|
||||
<div class="row p-2" style="min-height: 150px;">
|
||||
<a href="{{ latestAd.detail_url }}">
|
||||
<div class="col-md-12 justify-content-center align-self-center">
|
||||
<img class="card-img-top img-fluid img-thumbnail" src="{{ latestAd.cover_photo }}"
|
||||
style="height: 150px">
|
||||
</div>
|
||||
</a>
|
||||
{{ addBlock('index_top')|raw }}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-4">{% include "visiosoft.theme.base::partials/categories" %}</div>
|
||||
<div class="col-md-8"><div class="album bg-light">
|
||||
<div class="row p-2">
|
||||
{% if setting_value('visiosoft.theme.base::latest_and_view_all_btn') %}
|
||||
<div class="col-md-6">
|
||||
<h4 class="p-2">{{ trans('theme::field.latest_ads') }}</h4>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
{% if setting_value('visiosoft.theme.base::price_fields') %}
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<b>{{ latestAd.price }} {{ latestAd.currency }}</b>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="d-flex justify-content-between align-items-center text-truncate">
|
||||
<a href="{{ latestAd.detail_url }}">
|
||||
<p class="card-title d-inline-block">{{ latestAd.name }}</p>
|
||||
</a>
|
||||
</div>
|
||||
{% if setting_value('visiosoft.module.location::home_page_location') %}
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<small>
|
||||
<i class="fas fa-location-arrow text-primary"></i>
|
||||
{{ latestAd.city_name }}, {{ latestAd.country_name }}
|
||||
</small>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if setting_value('visiosoft.theme.base::date_fields') %}
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<small>
|
||||
<i class="far fa-clock text-dark"></i>
|
||||
{{ latestAd.created_at|date('d/m/Y') }}
|
||||
</small>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="col-md-6 text-right">
|
||||
<a class="btn btn-outline-secondary"
|
||||
href="{{ url_route('visiosoft.module.advs::list') }}">{{ trans('theme::field.show_all') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{ addBlock('index')|raw }}
|
||||
|
||||
<div class="row list-classified-home">
|
||||
{% for latestAd in latestAds() %}
|
||||
<div class="col-sm-6 col-md-4 col-lg-3 d-flex align-items-stretch">
|
||||
<div class="card mb-4 box-shadow">
|
||||
<div class="row p-2" style="min-height: 150px;">
|
||||
<a href="{{ latestAd.detail_url }}">
|
||||
<div class="col-md-12 justify-content-center align-self-center">
|
||||
<img class="card-img-top img-fluid img-thumbnail" src="{{ latestAd.cover_photo }}"
|
||||
style="height: 150px">
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
{% if setting_value('visiosoft.theme.base::price_fields') %}
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<b>{{ latestAd.price }} {{ latestAd.currency }}</b>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="d-flex justify-content-between align-items-center text-truncate">
|
||||
<a href="{{ latestAd.detail_url }}">
|
||||
<p class="card-title d-inline-block">{{ latestAd.name }}</p>
|
||||
</a>
|
||||
</div>
|
||||
{% if setting_value('visiosoft.module.location::home_page_location') %}
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<small>
|
||||
<i class="fas fa-location-arrow text-primary"></i>
|
||||
{{ latestAd.city_name }}, {{ latestAd.country_name }}
|
||||
</small>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if setting_value('visiosoft.theme.base::date_fields') %}
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<small>
|
||||
<i class="far fa-clock text-dark"></i>
|
||||
{{ latestAd.created_at|date('d/m/Y') }}
|
||||
</small>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div></div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
{{ addBlock('index')|raw }}
|
||||
|
||||
|
||||
</div>
|
||||
@ -35,8 +35,8 @@
|
||||
</main>
|
||||
|
||||
{% include "theme::partials/footer" %}
|
||||
{% include "theme::partials/settings" %}
|
||||
{% include "theme::partials/assets" %}
|
||||
{% include "theme::partials/settings" %}
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Reference in New Issue
Block a user