Merge pull request #174 from openclassify/basetheme

Basetheme
This commit is contained in:
Fatih Alp 2019-12-12 19:05:18 +03:00 committed by GitHub
commit 70a5757a9d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2380 changed files with 2300 additions and 152075 deletions

View File

@ -7,6 +7,18 @@ OpenClassify is the extensible and most advanced open source classified app buil
[![Code Intelligence Status](https://scrutinizer-ci.com/g/openclassify/openclassify/badges/code-intelligence.svg?b=master)](https://scrutinizer-ci.com/code-intelligence)
# Installation
## Blocks
- advs-module/ad-detail/partials/author-button
{{ addBlock('ad-detail/partials/author-button', {'adv_id': adv.id})|raw }}
- advs-module/list/partials/ads
{{ addBlock('ad-list/partials/ads',{'featured_advs':featured_advs})|raw }}
- profile-module/profile/partials/navigation
{{ addBlock('profile/navigation')|raw }}
## Server Requirements

View File

@ -1,6 +0,0 @@
.coverage
composer.lock
/bin
/build
/vendor
/coverage

View File

@ -8,6 +8,7 @@
},
"require": {
"wirelab/language_switcher-plugin": "^1.3",
"visiosoft/addblock-extension": "^1.1",
"ext-zip": "*",
"chumper/zipper": "^1.0"
}

View File

@ -1,10 +0,0 @@
<?php
$factory->define(
Visiosoft\AdvsModule\Adv\AdvModel::class,
function (Faker\Generator $faker) {
return [
//'title' => $faker->words(2),
];
}
);

View File

@ -1,10 +0,0 @@
<?php
$factory->define(
Visiosoft\AdvsModule\Category\CategoryModel::class,
function (Faker\Generator $faker) {
return [
//'title' => $faker->words(2),
];
}
);

View File

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
backupStaticAttributes="false"
bootstrap="../../../../bootstrap/autoload.php"
colors="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false">
<testsuites>
<testsuite name="Addon Test Suite">
<directory suffix="Test.php">./tests</directory>
</testsuite>
</testsuites>
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">./src</directory>
</whitelist>
</filter>
<php>
<env name="APP_ENV" value="testing"/>
<env name="CACHE_DRIVER" value="array"/>
<env name="SESSION_DRIVER" value="array"/>
<env name="QUEUE_DRIVER" value="sync"/>
</php>
</phpunit>

View File

@ -6,6 +6,15 @@ use Anomaly\Streams\Platform\Model\Location\LocationDistrictsEntryModel;
use Visiosoft\LocationModule\Country\CountryModel;
return [
'latest-limit' => [
'type' => 'anomaly.field_type.integer',
'config' => [
'min' => 1,
'default_value' => 5,
],
],
'site_address' => [
'type' => 'anomaly.field_type.text',
'bind' => 'adv.site_address',

View File

@ -0,0 +1,4 @@
.ad-detail-tabs .nav-link.active {
background-color: #FFC106 !important;
border-color: #ffc107 #ffc107 #ffc107;
}

View File

@ -31,4 +31,8 @@
color: #fff;
border: 1px solid #dadada;
margin-right: 5px;
}
#cat1 span {
font-size: 20px
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,31 @@
.gm-style .gm-style-iw-d {
max-width: 150px !important;
}
#map {
height: 500px;
}
.table-ads .img-thumbnail {
max-height: 70px;
}
.table-ads .td-image {
max-width: 200px;
max-height: 100px;
}
.list-ads .bg-light {
height: 100px;
}
.upper-list-banner {
min-height: 300px;
}
.upper-list-banner img {
max-width: 125px;
max-height: 200px;
margin: auto;
margin-top: 10px;
}

View File

@ -0,0 +1,34 @@
.cat-select {
width: 100%;
border: none;
overflow-y: auto
}
.cat-select:focus {
outline: none;
}
.cat-select option {
border-top: 1px solid #f2f2f2;
padding: 15px 0 20px;
position: relative;
padding-left: 10px;
font-size: 16px;
color: #505050;
}
.cat-item-2 {
display: none;
}
.cat-item-3 {
display: none;
}
.btn-1 {
background-color: #00a651;
padding: 5px 50px 7px;
color: #fff;
border: 1px solid #dadada;
margin-right: 5px;
}

View File

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -1,35 +0,0 @@
$('#message').on('click', function () {
if ($('#adv_id').data('content') == $('#message').data('content')) {
alert("You can't send messages to your own ad.")
} else {
$('#messages_modal').modal('toggle');
}
});
$('#message-button').on('click', function () {
var id = $('#adv-id').val();
var detail = $('#message-detail').val();
var token = $('#message-token').val();
$.post('/api/message/'+id+'/save',
{
detail: detail,
_token: token,
},
function(data, status){
if (status == "success") {
$('#messages_modal').modal('toggle');
$('#message-sent-modal').modal('toggle');
} else {
$('#messages_modal').modal('toggle');
alert('Failed');
}
});
});
function openVideo(){
$("#adv-video").modal("show");
}

View File

@ -1,37 +0,0 @@
function sendCount() {
var id = $('.show-number').attr('data-id');
if (id != "") {
$.ajax({
type: 'POST',
url: '/ajax/countPhone',
data: 'id=' + id,
success: function (data) {
hideLoader()
$('.show-number').removeAttr('data-function');
},
beforeSend: function () {
showLoader()
}
});
}
}
// -------------------------------------------------------------
// Show Mobile Number
// -------------------------------------------------------------
(function () {
$('.show-number').on('click', function () {
this.addEventListener('click', sendCount());
$('.hide-text').fadeIn(500, function () {
$(this).addClass('hide');
});
$('.hide-number').fadeIn(500, function () {
$(this).addClass('show');
});
});
}());
// script end

View File

@ -103,12 +103,14 @@ return [
'value' => [
'name' => 'Value'
],
'list' => 'List',
'home' => 'Home',
'list-page' => 'List Page',
'search' => 'Search',
'recommended' => 'Recommended Ads for You',
'sort_by' => 'Sort By',
'pick_option' => 'Pick an option',
'pick_ordering' => 'Ordering',
'price_high' => 'Price High to Low',
'price-low' => 'Price Low to High',
'newest' => 'Newest',

View File

@ -135,6 +135,7 @@ return [
"recommended" => "Sizin için Önerilen İlanlar",
"sort_by" => "Sırala",
"pick_option" => "Bir seçenek seçin",
"pick_ordering" => "Sıralama Seç",
"price_high" => "Fiyat pahalıdan ucuza",
"price-low" => "Fiyat Düşük Yüksek",
"newest" => "En yeni",
@ -154,7 +155,7 @@ return [
"edit" => "Düzenle",
"approve" => "Onayla",
"passive" => "Pasif",
"offered_by" => "Tarafından sunulan",
"offered_by" => "İlan Sahibi",
"more_ads_by" => "Diğer İlanlar",
"click_phone" => "Telefon numarasını göster",
"share" => "Bu İlanı paylaş",

View File

@ -11,31 +11,24 @@
{% endblock %}
{% block content %}
{% if entries('advs').isEnabled('comments') %}
{{ asset_add("styles.css", "visiosoft.module.comments::css/style.css") }}
{% endif %}
<section id="main" class="clearfix details-page">
<div class="container">
{% include "theme::partials/messages" %}
<!-- admin -->
{% include "visiosoft.module.advs::ad-detail/partials/author-button" %}
<!-- admin -->
<!-- breadcrumb -->
<div class="breadcrumb-section">
<ol class="breadcrumb">
{% for cat in categories %}
<li>
<a href="{{ url_route('visiosoft.module.advs::list_cat', [cat.id]) }}">{{ cat['name'] }}</a>
</li>
{% endfor %}
</ol>
<h2 class="title">{{ categories|last['name'] }}</h2>
</div>
{% include "visiosoft.module.advs::ad-detail/partials/breadcrumb" %}
<!-- breadcrumb -->
<h2 class="title">
{{ adv.title }}
{{ addBlock('ad-detail/title/action',{'adv_id':adv.id})|raw }}
</h2>
<!--detail-ad -->
<div class="section slider">
<div class="section slider mb-4">
<div class="row">
{% include "visiosoft.module.advs::ad-detail/partials/slider" %}
@ -44,67 +37,20 @@
{% include "visiosoft.module.advs::ad-detail/partials/detail" %}
</div>
</div>
{% if entries('advs').isEnabled('complaints') %}
<a class="complaints pull-right" id="complaints"
title="{{ trans('visiosoft.module.advs::field.report') }}"><i
class="fa fa-exclamation-triangle"></i></a>
{% endif %}
</div>
<!--detail-ad -->
{% if blocks('ad-item-content-block-area') is null %}
{% include "visiosoft.module.advs::ad-detail/partials/content-ad" %}
{% include "visiosoft.module.advs::ad-detail/partials/content" %}
{% else %}
{{ blocks('ad-item-content-block-area') }}
{% endif %}
{% if entries('advs').isEnabled('recommendedads') %}
{% include "visiosoft.module.recommendedads::recommended-ads" %}
{% endif %}
</div>
</section>
{% if entries('advs').isEnabled('complaints') %}
{% include "visiosoft.module.complaints::modal" %}
{% endif %}
{% if entries('advs').isEnabled('messages') %}
{% include "visiosoft.module.messages::ad-detail/modal" %}
{% endif %}
{% if entries('advs').isEnabled('favs') %}
{{ asset_add("scripts.js", "visiosoft.module.favs::js/favs.js") }}
{% endif %}
{% if entries('advs').isEnabled('comments') %}
{{ asset_add("scripts.js", "visiosoft.module.comments::js/ajaxcomment.js") }}
{% endif %}
{% if entries('advs').isEnabled('comparisons') %}
{% include "visiosoft.module.comparisons::comparison" %}
{% endif %}
{% if entries('advs').isEnabled('carts') %}
{{ asset_add("scripts.js", "visiosoft.module.carts::js/quantity.js") }}
{% endif %}
{{ asset_add("scripts.js", "visiosoft.module.advs::js/list-item.js") }}
{{ asset_add("scripts.js", "visiosoft.module.advs::js/phoneCounter.js") }}
{{ asset_add("scripts.js", "visiosoft.module.advs::js/viewed.js") }}
{{ asset_add("styles.css", "visiosoft.module.advs::css/detail.css") }}
{% endblock %}
{% block customjs %}
{% if entries('advs').isEnabled('streetview') and adv.map_Val != "" %}
{% include "visiosoft.module.streetview::list-item" %}
{% endif %}
{% endblock %}
{% endblock %}

View File

@ -1,16 +1,22 @@
{% if app.auth.id == adv.created_by_id %}
<a class="btn btn-info edit-adv-btn" href="/advs/edit_advs/{{ adv.id }}"><i
class="fas fa-pencil-alt"></i>
<font>{{ trans('visiosoft.module.advs::field.edit') }}</font></a>
{% if adv.status != "pending_admin" and adv.status != "approved" %}
<a class="btn btn-success approve-adv-btn"
href="{{ url_route('visiosoft.module.advs::status',[adv.id,"pending_admin"]) }}"><i
class="fa fa-eye"></i>
<font>{{ trans('visiosoft.module.advs::field.approve') }}</font></a>
{% else %}
<a class="btn btn-danger passive-adv-btn"
href="{{ url_route('visiosoft.module.advs::status',[adv.id,"passive"]) }}"><i
class="fa fa-ban"></i>
<font>{{ trans('visiosoft.module.advs::field.passive') }}</font></a>
{% endif %}
{% endif %}
<div class="breadcrumb bg-dark justify-content-end">
{{ addBlock('ad-detail/partials/author-button', {'adv_id': adv.id})|raw }}
<a class="btn btn-info edit-adv-btn mr-2" href="/advs/edit_advs/{{ adv.id }}">
<i class="fas fa-pencil-alt"></i>
<font>{{ trans('visiosoft.module.advs::field.edit') }}</font>
</a>
{% if adv.status != "pending_admin" and adv.status != "approved" %}
<a class="btn btn-success approve-adv-btn mr-2"
href="{{ url_route('visiosoft.module.advs::status',[adv.id,"pending_admin"]) }}">
<i class="fa fa-eye"></i>
<font>{{ trans('visiosoft.module.advs::field.approve') }}</font>
</a>
{% else %}
<a class="btn btn-danger passive-adv-btn mr-2"
href="{{ url_route('visiosoft.module.advs::status',[adv.id,"passive"]) }}">
<i class="fa fa-ban"></i>
<font>{{ trans('visiosoft.module.advs::field.passive') }}</font>
</a>
{% endif %}
</div>
{% endif %}

View File

@ -0,0 +1,10 @@
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
{% for cat in categories %}
<li class="breadcrumb-item">
<a href="{{ url_route('visiosoft.module.advs::list_cat', [cat.id]) }}" class="text-primary">{{ cat['name'] }}</a>
</li>
{% endfor %}
<input class="hidden" id="adv-id" value="{{ adv.id }}">
</ol>
</nav>

View File

@ -1,84 +0,0 @@
<div class="description-info">
<div class="row">
<div class="col-md-8">
<div class="description">
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab"
href="#description">{{ trans('visiosoft.module.advs::field.description.name') }}</a>
</li>
{% if features != null %}
{% if entries('advs').isEnabled('customfields') %}
<li class=""><a data-toggle="tab"
href="#features">{{ trans('visiosoft.module.advs::field.features') }}</a>
</li>
{% endif %}
{% endif %}
{% if entries('advs').isEnabled('streetview') and adv.map_Val != "" %}
<li class=""><a data-toggle="tab" href="#streetviewtab"
id="streetviewlink">{{ trans('visiosoft.module.advs::field.streetview') }}</a>
</li>
{% endif %}
{% if entries('advs').isEnabled('comments') %}
<li class=""><a data-toggle="tab" href="#commenttab"
id="">{{ trans('visiosoft.module.comments::field.comment') }}</a>
</li>
{% endif %}
{% if entries('advs').isEnabled('pricehistory') %}
{% include "visiosoft.module.pricehistory::tab" %}
{% endif %}
</ul>
<div class="tab-content">
<div id="description" class="tab-pane fade in active">
<div class="description">
<h4>{{ trans('visiosoft.module.advs::field.description.name') }}</h4>
<p>{{ adv.advs_desc|raw }}</p>
</div>
</div>
{% if features != null %}
{% if entries('advs').isEnabled('customfields') %}
{% include "visiosoft.module.customfields::list-item" %}
{% endif %}
{% endif %}
{% if adv.map_Val != "" and setting_value('visiosoft.module.location::detail_page_location') %}
<div id="streetviewtab" class="tab-pane fade in">
<div id="map" data-map-val="{{ adv.map_Val }}"></div>
{% if entries('advs').isEnabled('streetview') %}
<div id="pano"></div>
{% endif %}
</div>
{% endif %}
{% if entries('advs').isEnabled('comments') %}
{% include "visiosoft.module.comments::comments" %}
{% endif %}
{% if entries('advs').isEnabled('pricehistory') %}
{% include "visiosoft.module.pricehistory::content" %}
{% endif %}
</div>
</div>
</div>
<div class="col-md-4">
{% if tags != null %}
<div class="short-info">
<h4>{{ trans('visiosoft.module.advs::field.short_info') }}</h4>
<ul>
{% for key,value in tags %}
<p><strong>{{ key }}: {{ value[0] }}</strong></p>
{% endfor %}
</ul>
</div>
{% endif %}
<div class="recommended-cta">
{{ blocks('list-item-right-sidebar') }}
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,34 @@
<div class="description-info">
<div class="row">
<div class="col-md-12">
<nav>
<div class="nav nav-tabs nav-fill ad-detail-tabs" id="nav-tab" role="tablist">
<a class="nav-item nav-link active bg-secondary text-white" 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.name') }}</a>
<!-- Content Tab With Block -->
{{ addBlock('ad-detail/content-tab',{'features':features})|raw }}
<!-- Content Tab With Block -->
</div>
</nav>
<div class="tab-content py-3 px-3 px-sm-0" id="nav-tabContent">
<div class="tab-pane fade show active" id="nav-description" role="tabpanel"
aria-labelledby="nav-description-tab">
<h4>{{ trans('visiosoft.module.advs::field.description.name') }}</h4>
<p>{{ adv.advs_desc|raw }}</p>
</div>
<!-- Content With Block -->
{{ addBlock('ad-detail/content',{'features':features})|raw }}
<!-- Content With Block -->
</div>
</div>
</div>
</div>

View File

@ -1,102 +1,68 @@
<div class="slider-text">
{% if entries('advs').isEnabled('favs') %}
<!-- favorites ad -->
<a class="favorites" href="#">
<i id="heart-icon-adv" class="far fa-heart"></i>
</a>
<!-- favorites ad -->
{% endif %}
{% if blocks('ad-item-details-block-area') is null %}
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 offered-field offered-row">
<h3 class="ad-price">
<b>{{ adv.price.format() }}</b> {{ adv.currency }}
<h3 class="title">{{ adv.title }}</h3>
<h2 class="ad-price">
<b>{{ adv.price.format() }}</b> {{ adv.currency }}
{% include "visiosoft.module.advs::ad-detail/partials/author-button" %}
</h2>
<!-- priceField with Block -->
{{ addBlock('ad-detail/priceField',{'adv':adv})|raw }}
<!-- priceField with Block -->
</h3>
</div>
<div class="user-interactions">
{% if adv.is_get_adv == "1" and adv.stock != "0" and entries('advs').isEnabled('carts') %}
{% include "visiosoft.module.carts::ad-detail/quantity" %}
{% endif %}
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 offered-field offered-row">
<div class="row">
<div class="col-md-12 m-2">
<!-- Author with Block -->
{{ addBlock('ad-detail/author',{'adv':adv})|raw }}
<!-- Author with Block -->
{% if entries('advs').isEnabled('favs') %}
<!-- favorites owner -->
<a id="owner-fav" href="#"><i id="heart-icon-seller" class="far fa-heart"></i></a>
<!-- favorites owner -->
{% endif %}
{{ trans('visiosoft.module.advs::field.offered_by') }}:
<a id="owner"
href="{{ url_route('visiosoft.module.advs::list_user_ad', [adv.created_by_id]) }}"
data-content="{{ adv.owner_id }}">{{ adv.owner }}
</a>
{{ addBlock('ad-detail/seller/action',{'seller_id':adv.owner_id})|raw }}
</div>
<div class="col-md-12 m-2">
<i class="fas fa-hashtag"></i>
{{ trans('visiosoft.module.advs::field.ad_id') }}:{{ adv.id }}
</div>
<div class="col-md-12 m-2">
<i class="far fa-clock text-dark"></i>
{{ adv.created_at|date('d/m/Y') }}
</div>
<span class="icon">{{ trans('visiosoft.module.advs::field.offered_by') }}:
<a id="owner" href="{{ url_route('visiosoft.module.advs::list_user_ad', [adv.created_by_id]) }}"
data-content="{{ adv.owner_id }}">{{ adv.owner }}</a>
</span>
<span class="icon"> {{ trans('visiosoft.module.advs::field.ad_id') }}:
<a href="#" id="adv_id" class="time">{{ adv.id }}</a>
</span>
</div>
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 offered-field offered-row">
<span class="icon"><i class="far fa-clock"></i>
<a href="#">{{ adv.created_at|date('d/m/Y') }}</a>
</span>
{% if setting_value('visiosoft.module.location::detail_page_location') %}
<span class="icon">
<i class="fa fa-map-marker"></i>
<a href="#">{{ adv.city_name }}, {{ adv.country_name }}</a>
</span>
{% endif %}
{% if adv.isCorporate == 2 %}
<span class="icon">
<i class="fa fa-suitcase"></i>
<a href="{{ url_route('visiosoft.module.advs::list_user_ad',
[adv.created_by_id]) }}">{{ adv.owner }}</a>
</span>
{% endif %}
</div>
{% if entries('advs').isEnabled('comparisons') %}
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 offered-field offered-row">
{% include "visiosoft.module.comparisons::comparebtn" %}
<span class="icon">{{ trans('visiosoft.module.comparisons::field.comparisonpagetitle') }}</span>
<!-- Detail With Block -->
{{ addBlock('ad-detail/details',{'adv':adv})|raw }}
<!-- Detail With Block -->
{% if adv.isCorporate == 2 %}
<div class="col-md-12 m-2">
<i class="fa fa-suitcase"></i>
<a href="{{ url_route('visiosoft.module.advs::list_user_ad',
[adv.created_by_id]) }}">{{ adv.owner }}</a>
</div>
{% endif %}
</div>
{% endif %}
{% if(adv.video_url != null) %}
<!-- cloudinary -->
{% include "visiosoft.module.cloudinary::ad-detail/player-modal" %}
<!-- cloudinary -->
{% endif %}
<div class="contact-with">
<h4> {{ trans('visiosoft.module.advs::field.contact_with') }}</h4>
{% include "visiosoft.module.profile::ad-detail/contact-with" %}
{% if entries('advs').isEnabled('messages') %}
<!-- messages -->
{% include "visiosoft.module.messages::ad-detail/contact-with" %}
<!-- messages -->
{% endif %}
</div>
<!-- Contact With Block -->
{% set contactWith = addBlock('ad-detail/contact-with',{'adv':adv}) %}
{% if contactWith != "" %}
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 offered-field offered-row">
<div class="row">
<div class="col-md-12 mt-2">
<h4><u>{{ trans('visiosoft.module.advs::field.contact_with') }}:</u></h4>
</div>
{{ contactWith|raw }}
</div>
</div>
{% endif %}
<!-- Contact With Block -->
<!-- social-links -->
<div class="social-links">
{% include "visiosoft.module.advs::ad-detail/partials/social" %}

View File

@ -20,6 +20,9 @@
{% endif %}
</div>
{% else %}
{{ blocks('ad-item-picture-block-area') }}
{{ blocks('ad-item-picture-block-area') }}
{% endif %}
</div>
{{ asset_add("scripts.js", "visiosoft.module.advs::js/fotorama.js") }}
{{ asset_add("styles.css", "visiosoft.module.advs::css/fotorama.css") }}

View File

@ -1,14 +1,43 @@
<h4>{{ trans('visiosoft.module.advs::field.share') }}</h4>
<ul class="list-inline">
<li><a target="_blank"
href="https://www.facebook.com/sharer/sharer.php?u={{ app.request.uri }}"><i
class="fab fa-facebook-square"></i></a></li>
<li><a target="_blank"
href="https://twitter.com/intent/tweet?text={{ app.request.uri }}"><i
class="fab fa-twitter-square"></i></a></li>
<li><a target="_blank" href="https://wa.me/?text={{ app.request.uri }}"><i
class="fab fa-whatsapp"></i></a></li>
<li><a target="_blank"
href="https://www.linkedin.com/shareArticle?mini=true&url={{ app.request.uri }}"><i
class="fab fa-linkedin"></i></a></li>
</ul>
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 offered-field offered-row">
<div class="row">
<div class="col-md-12 mt-2">
<h4><u>{{ trans('visiosoft.module.advs::field.share') }}:</u></h4>
</div>
<div class="col-xs-3 m-3">
<h3>
<a target="_blank" class="text-secondary"
href="https://www.facebook.com/sharer/sharer.php?u={{ app.request.uri }}">
<i class="fab fa-facebook-square"></i>
</a>
</h3>
</div>
<div class="col-xs-3 m-3">
<h3>
<a target="_blank" class="text-secondary"
href="https://twitter.com/intent/tweet?text={{ app.request.uri }}">
<i class="fab fa-twitter-square"></i>
</a>
</h3>
</div>
<div class="col-xs-3 m-3">
<h3>
<a target="_blank" class="text-secondary"
href="https://wa.me/?text={{ app.request.uri }}">
<i class="fab fa-whatsapp"></i>
</a>
</h3>
</div>
<div class="col-xs-3 m-3">
<h3>
<a target="_blank" class="text-secondary"
href="https://www.linkedin.com/shareArticle?mini=true&url={{ app.request.uri }}">
<i class="fab fa-linkedin"></i>
</a>
</h3>
</div>
</div>
</div>

View File

@ -1,57 +1,54 @@
{% extends layout('list') %}
{% block content %}
<section id="main" class="clearfix category-page">
<section>
<div class="container">
{% include "theme::partials/messages" %}
<!-- breadcrumb -->
{% include "visiosoft.module.advs::list/partials/breadcrumb" %}
<!-- breadcrumb -->
{% block listContent %}
<div class="category-info">
{% include "visiosoft.module.advs::list/partials/user-section" %}
<div class="row">
<div class="row my-5">
<div class="col-md-3">
{% include "visiosoft.module.advs::list/partials/list-filter" %}
</div>
<div class="col-md-9">
<div class="section recommended-ads">
{% include "visiosoft.module.advs::list/partials/user-section" %}
<form action="{{ url_route('visiosoft.module.advs::list') }}" method="get">
{% include "visiosoft.module.advs::list/partials/list-filter" %}
<div class="col-sm-8 col-md-9">
{% include "visiosoft.module.advs::list/partials/list-section" %}
<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">
{% block listContent %}
{% include "visiosoft.module.advs::list/partials/ads" %}
{% endblock %}
</form>
</div>
{# <div class="category-tabs"></div>#}
</div>
</div>
{% endblock %}
</div>
</div>
</section>
<script>
var select_trans = "{{ trans('visiosoft.module.advs::field.pick_option') }}";
var searchedCountry = {{ searchedCountry }};
</script>
{% if entries('advs').isEnabled('favs') %}
{% include "visiosoft.module.favs::list/favorites-modal" %}
{% endif %}
{{ asset_add("scripts.js", "visiosoft.module.advs::js/list.js") }}
{{ asset_add("styles.css", "visiosoft.module.advs::css/list.css") }}
{% if entries('advs').isEnabled('comparisons') %}
{% include "visiosoft.module.comparisons::comparison" %}
{% endif %}
{% endblock %}
{% block customjs %}
{{ addBlock('ads-list/list',{'adv':adv})|raw }}
{% endblock %}

View File

@ -1,26 +1,8 @@
{% extends "visiosoft.module.advs::list/list" %}
{% block listContent %}
<div class="category-info">
<div class="row">
{% include "visiosoft.module.advs::list/partials/list-filter" %}
<div class="col-sm-8 col-md-9">
<div class="section recommended-ads ">
{% include "visiosoft.module.advs::list/partials/display-mode" %}
<div class="listMap">
<div id="map"></div>
</div>
{% if entries('advs').isEnabled('favs') %}
{% include "visiosoft.module.favs::list/favorites-section" %}
{% endif %}
</div>
</div>
</div>
</div>
{% endblock %}
{% block customjs %}
<div class="col-md-12 mb-2 bg-dark">
<div id="map"></div>
</div>
<script>
function QueryString(URL) {
// This function is anonymous, is executed immediately and
@ -60,32 +42,30 @@
url: '{{ url('mapJson') }}',
data: QueryString(window.location.href),
success: function (data) {
hideLoader()
console.log(data)
var ilans = data;
var locations = [];
ilans.forEach(function (i, key) {
console.log(2)
if (i.map_Val) {
if (i.map_Val != '0,NaN') {
countMap++;
var loc_array = i.map_Val.split(',');
var lat = loc_array[0];
var lng = loc_array[1];
if (i.cover_photo.split('/')[0] == "files") {
i.cover_photo = window.location.origin + "/" + i.cover_photo;
}
if (!isNaN(lat)) {
locations.push({
lat: parseFloat(lat),
lng: parseFloat(lng),
id: i.id,
seoLink: i.seo_link,
title: i.name,
price: i.price,
currency: i.currency,
cover_photo: i.cover_photo
})
}
countMap++;
var loc_array = i.map_Val.split(',');
var lat = loc_array[0];
var lng = loc_array[1];
if (i.cover_photo.split('/')[0] == "files") {
i.cover_photo = window.location.origin + "/" + i.cover_photo;
}
if (!isNaN(lat)) {
locations.push({
lat: parseFloat(lat),
lng: parseFloat(lng),
id: i.id,
seoLink: i.seo_link,
title: i.name,
price: i.price,
currency: i.currency,
cover_photo: i.cover_photo
})
}
}
});
@ -104,14 +84,14 @@
});
google.maps.event.addListener(mark, 'click', function (evt) {
infoWin.setContent('<div id="content">' +
infoWin.setContent('<div id="content" class="col-md-12 p-0 m-0">' +
'<div class="map_info_top">' +
'</div>' +
'<div id="bodyContent">' +
'<p> <img class="map_image" src="' + location.cover_photo + '" width="150" height="100"/> </p>' +
'<p class="map_subject">' + location.title + '</p>' +
'<p> <img class="map_image w-100" src="' + location.cover_photo + '" height="auto"/> </p>' +
'<h6 class="map_subject text-truncate text-primary">' + location.title + '</h6>' +
'<p class="map_price">' + location.price + ' ' + location.currency + '</p>' +
'<p><a href="' + location.seoLink + '" style="width:100%;" class="btn btn-info" target="_blank">{{ trans('visiosoft.module.advs::field.show_details') }}</a> </p>' +
'<p><a href="' + location.seoLink + '" class="btn btn-info w-100" target="_blank"><small>{{ trans('visiosoft.module.advs::field.show_details') }}</small></a> </p>' +
'</div>' +
'</div>');
infoWin.open(map, mark);
@ -133,15 +113,13 @@
bounds.extend(myLatLng);
}
map.fitBounds(bounds);
},
beforeSend: function () {
showLoader()
}
});
if (countMap == 0) {
$('.listMap').html("<h3>{{ trans('visiosoft.module.advs::field.no_ads') }}</h3>");
} else {
$('#map').css('display', 'block')
$('#map').attr('display', 'block')
$('#listAdvs').css('display', 'block')
}
$('.showListBtn').attr('href', window.location.origin + "/advs/list" + window.location.search);
@ -152,4 +130,5 @@
<script async defer
src="https://maps.googleapis.com/maps/api/js?key={{ setting_value('visiosoft.module.advs::google_map_key') }}&callback=initMap">
</script>
{% endblock %}
{% endblock %}

View File

@ -1,69 +1,32 @@
{{ addBlock('ad-list/partials/ads',{'featured_advs':featured_advs})|raw }}
{% for adv in advs %}
<!-- oc-item -->
{% if adv.doping != null %}
<div class="oc-item1 featured_adv_item row">
{% else %}
<div class="oc-item1 row">
{% endif %}
<!-- item-image -->
<div class="item-image-box col-sm-4">
<div class="item-image">
<a href="{{ adv.detail_url }}">
{% set advPhoto = adv.cover_photo %}
{% if adv.is_get_adv == "1" and adv.stock == "0" and entries('advs').isEnabled('carts') %}
<div class="corner-ribbon top-right sticky blue">{{ trans('visiosoft.module.advs::field.sold_out.name') }}</div>
{% endif %}
<img src="{{ adv.cover_photo }}" alt="Image"
class="img-responsive"></a>
</div><!-- item-image -->
<div class="col-md-12 mb-2 list-ads">
<a href="{{ adv.detail_url }}" class="text-dark">
<div class="row bg-light">
<div class="col-md-2 justify-content-center align-self-center border-right border-white">
<img class="img-thumbnail" src="{{ adv.cover_photo }}" alt="{{ adv.name }}">
</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">
<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">
<div class="col-md-12">
<b>{{ adv.price.currency }}</b>
</div>
<div class="col-md-12 justify-content-center align-self-center text-truncate">
<small>{{ adv.city_name }} {{ adv.country_name }}</small>
</div>
</div>
</div>
</div>
</a>
</div>
<!-- rending-text -->
<div class="item-info col-sm-8">
<!-- ad-info -->
<div class="ad-info">
<h3 class="item-price">{{ adv.price }} {{ adv.currency }}</h3>
<h4 class="item-title bengali"><a
href="{{ adv.detail_url }}">{{ adv.name }}</a></h4>
<div class="item-cat">
<span><a href="#">{{ adv.cat1_name }}</a></span>
{% if adv.cat2_name != "" %}
/ <span><a href="#">{{ adv.cat2_name }}</a></span>
{% endif %}
</div>
</div><!-- ad-info -->
<!-- ad-meta -->
<div class="ad-meta">
<div class="meta-content">
<span class="dated">
<a href="#">{{ adv.created_at|date("d/m/Y") }} </a>
</span>
</div>
<!-- item-info-right -->
<div class="user-option pull-right">
{% if adv.isAdVideo is defined and adv.isAdVideo != null %}
<a data-toggle="tooltip" data-id="{{ adv.id }}"
class="ad-info-right-bar-video" data-placement="top"
title="<video controls loop class='img-responsive video-ad-tooltip-{{ adv.id }}' style='text-align: center; width: 100%'>
<source src='{{ adv.isAdVideo }}' class='video-src' type='video/mp4' />
</video>"></a>
{% endif %}
<a href="{{ url_route('visiosoft.module.advs::show_ad_map_location',[adv.country_id,adv.city,adv.district]) }}"
data-toggle="tooltip" data-placement="top"
title="{{ adv.city_name }}, {{ adv.country_name }}"><i
class="fa fa-map-marker"></i> </a>
<a class="online" href="" data-toggle="tooltip"
data-placement="top" title="{{ adv.owner }}"><i
class="fa fa-user"></i> </a>
{% if entries('advs').isEnabled('comparisons') %}
{% include "visiosoft.module.comparisons::comparebtn" %}
{% endif %}
</div><!-- item-info-right -->
</div><!-- ad-meta -->
</div><!-- item-info -->
</div><!-- oc-item -->
<!-- ad-section -->
{% endfor %}

View File

@ -1,15 +1,18 @@
<div class="breadcrumb-section">
<nav aria-label="breadcrumb" class="d-none d-sm-block">
<ol class="breadcrumb">
<li><a href="/">{{ trans("visiosoft.module.advs::field.home") }}</a></li>
{% if app.request.get('cat') %}
{% for category_breadcrumbs in mainCats.first.getMains(app.request.get('cat')) %}
<li>
<a href="{{ url_route('visiosoft.module.advs::list_cat', [category_breadcrumbs.id]) }}">{{ category_breadcrumbs.val }}</a>
</li>
{% endfor %}
{% endif %}
<li class="breadcrumb-item">
<a href="{{ url('') }}" class="text-dark">
<i class="fas fa-home"></i>
{{ trans("visiosoft.module.advs::field.home") }}
</a>
</li>
<li class="breadcrumb-item">
<a href="{{ url_route('visiosoft.module.advs::list') }}" class="text-dark">
{{ trans("visiosoft.module.advs::field.list") }}
</a>
</li>
{{ addBlock('ads-list/partials/breadcrumb',{'mainCats':mainCats})|raw }}
</ol>
{% if app.request.get('cat') %}
<h2 class="title">{{ mainCats.first.getCategoryName(app.request.get('cat')) }}</h2>
{% endif %}
</div>
</nav>

View File

@ -1,7 +1,22 @@
<div class="featured-top-display-settings">
{% if setting_value('visiosoft.module.location::list_page_location') %}
<a href="{{ url_route('visiosoft.module.advs::view_type',['map']) }}"><h4 class="viewType"> <i class="fa fa-map-marker" ></i> {{ trans("visiosoft.module.advs::field.show_display_mode.map") }}</h4></a>
{% endif %}
<a href="{{ url_route('visiosoft.module.advs::view_type',['list']) }}"><h4 class="viewType"> <i class="fa fa-list-ul" ></i> {{ trans('visiosoft.module.advs::field.show_list_view.name') }} </h4></a>
<a href="{{ url_route('visiosoft.module.advs::view_type',['table']) }}"><h4 class="viewType"> <i class="fa fa-table" ></i> {{ trans('visiosoft.module.advs::field.show_table_view.name') }} </h4></a>
<div class="row text-center">
<div class="col-4">
{% if setting_value('visiosoft.module.location::list_page_location') %}
<a href="{{ url_route('visiosoft.module.advs::view_type',['map']) }}" class="text-dark">
<i class="fas fa-location-arrow text-primary"></i>
{{ trans("visiosoft.module.advs::field.show_display_mode.map") }}
</a>
{% endif %}
</div>
<div class="col-4">
<a href="{{ url_route('visiosoft.module.advs::view_type',['list']) }}" class="text-dark">
<i class="fa fa-list-ul"></i>
{{ trans('visiosoft.module.advs::field.show_list_view.name') }}
</a>
</div>
<div class="col-4">
<a href="{{ url_route('visiosoft.module.advs::view_type',['table']) }}" class="text-dark">
<i class="fa fa-table"></i>
{{ trans('visiosoft.module.advs::field.show_table_view.name') }}
</a>
</div>
</div>

View File

@ -1,67 +0,0 @@
{% for adv in featured_advs %}
{% if adv.doping != null %}
<div class="oc-item1 featured_adv_item row">
{% else %}
<div class="oc-item1 row">
{% endif %}
<!-- item-image -->
<div class="item-image-box col-sm-4">
<div class="item-image">
<a href="{{ adv.detail_url }}">
{% set advPhoto = adv.cover_photo %}
{% if adv.is_get_adv == "1" and adv.stock == "0" and entries('advs').isEnabled('carts') %}
<div class="corner-ribbon top-right sticky blue">{{ trans('visiosoft.module.advs::field.sold_out.name') }}</div>
{% endif %}
<img src="{{ adv.cover_photo }}" alt="Image" class="img-responsive"></a>
</div><!-- item-image -->
</div>
<!-- rending-text -->
<div class="item-info col-sm-8">
<!-- ad-info -->
<div class="ad-info">
<h3 class="item-price">{{ adv.price }} {{ adv.currency }}</h3>
<h4 class="item-title bengali"><a
href="{{ adv.detail_url }}">{{ adv.name }}</a></h4>
<div class="item-cat">
<span><a href="#">{{ adv.cat1_name }}</a></span>
{% if adv.cat2_name != "" %}
/ <span><a href="#">{{ adv.cat2_name }}</a></span>
{% endif %}
</div>
</div><!-- ad-info -->
<!-- ad-meta -->
<div class="ad-meta">
<div class="meta-content">
<span class="dated"><a
href="#">{{ adv.created_at|date("d/m/Y") }} </a></span>
</div>
<!-- item-info-right -->
<div class="user-option pull-right">
{% if adv.isAdVideo is defined and adv.isAdVideo != null %}
<a data-toggle="tooltip" data-id="{{ adv.id }}"
class="ad-info-right-bar-video" data-placement="top"
title="<video controls loop class='img-responsive video-ad-tooltip-{{ adv.id }}' style='text-align: center; width: 100%'>
<source src='{{ adv.isAdVideo }}' class='video-src' type='video/mp4' />
</video>">
<i class="fa fa-film"></i> </a>
{% endif %}
<a href="{{ url_route('visiosoft.module.advs::show_ad_map_location',[adv.country_id,adv.city,adv.district]) }}"
data-toggle="tooltip" data-placement="top"
title="{{ adv.city_name }}, {{ adv.country_name }}"><i
class="fa fa-map-marker"></i> </a>
<a class="online" href="" data-toggle="tooltip" data-placement="top"
title="{{ adv.owner }}"><i class="fa fa-user"></i> </a>
{% if entries('advs').isEnabled('comparisons') %}
{% include "visiosoft.module.comparisons::comparebtn" %}
{% endif %}
</div><!-- item-info-right -->
</div><!-- ad-meta -->
</div><!-- item-info -->
</div><!-- oc-item -->
{% endfor %}

View File

@ -1,104 +1,66 @@
<div class="col-md-3 col-sm-4">
<input type="hidden" name="cat" value="{{ app.request.get('cat') }}">
<input type="hidden" name="user" value="{{ app.request.get('user') }}">
<div class="accordion">
<div class="panel-group" id="accordion">
<div class="panel-default panel-faq">
<form action="{{ url_route('visiosoft.module.advs::list') }}" method="get">
<div class="row">
<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">
<div class="panel-heading active-faq">
<a data-toggle="collapse" data-parent="#accordion" href="#accordion-one">
<h4 class="panel-title">{{ trans("visiosoft.module.advs::field.categories") }}
<span class="pull-right">
<i class="fa fa-minus"></i>
</span>
</h4>
</a>
</div>
<div id="accordion-one" class="panel-collapse collapse in">
<div class="panel-body">
{% for maincat in mainCats %}
<a class="main-cat-item"
href="{% if(type == "list") %}{{ url_route('visiosoft.module.advs::list') }}{% else %}{{ url_route('advs_map_list') }}{% endif %}?cat={{ maincat.id }}"> {% if maincat.files[0].path != "" %}
<img class="catIcon" src="{{ url('files/' ~ maincat.files[0].path) }}"
alt="">{% else %}<img class="catIcon"
src="{{ img('visiosoft.module.advs::images/plus-categories.png').url }}"
alt="">{% endif %}{{ maincat.name }}</a>
{% for subcat in subCats %}
<ul>
{% if subcat.parent_category_id == maincat.id %}
<li><a class="sub-cat-item"
href="{% if(type == "list") %}{{ url_route('visiosoft.module.advs::list') }}{% else %}{{ url_route('advs_map_list') }}{% endif %}?cat={{ subcat.id }}">{{ subcat.name }}</a>
</li>
{% endif %}
</ul>
{% endfor %}
{% endfor %}
</div>
</div>
</div>
{% include "visiosoft.module.location::list/filter" %}
{% if entries('advs').isEnabled('customfields') %}
{% include "visiosoft.module.customfields::list/filter" %}
{% endif %}
<!-- Price -->
<div class="panel-default panel-faq">
<div class="panel-heading">
<a data-toggle="collapse" data-parent="#accordion" href="#accordion-three">
<h4 class="panel-title">
{{ trans('visiosoft.module.advs::field.price.name') }}
<span class="pull-right"><i class="fa fa-minus"></i></span>
</h4>
</a>
</div>
<div id="accordion-three" class="panel-collapse collapse in" aria-expanded="true" style="">
<div class="panel-body">
<div class="price-range">
<div class="price">
{{ addBlock('ads-list/partials/list-filter',{'mainCats':mainCats,'subCats':subCats,'ranges':ranges,'checkboxes':checkboxes,'radio':radio})|raw }}
<div class="card mb-3">
<div class="card-header breadcrumb mb-0" id="priceHeading">
<h5 class="mb-0">
<button class="btn btn-link text-dark" data-toggle="collapse" data-target="#price"
aria-expanded="true" aria-controls="price">
<i class="fas fa-money-bill"></i>
{{ trans("visiosoft.module.advs::field.price.name") }}
</button>
</h5>
</div>
<div id="price" class="collapse show overflow-auto" aria-labelledby="priceHeading"
data-parent="#filter"
style="max-height: 300px;">
<div class="row p-0 m-0">
{% set active_currencies = setting_value('visiosoft.module.advs::enabled_currencies') %}
<div class="col-md-4 p-1 m-0">
<input type="number" class="price-input form-control w-100"
value="{{ request.min_price }}"
name="min_price" min="0"
placeholder="{{ trans('visiosoft.module.advs::field.min.name') }}">
</div>
<div class="col-md-4 p-1 pr-0 m-0">
<input class="price-input form-control w-100" type="number"
value="{{ request.max_price }}"
name="max_price"
placeholder="{{ trans('visiosoft.module.advs::field.max.name') }}">
<input type="number" class="price-input" value="{{ request.min_price }}"
name="min_price" min="0" placeholder="{{ trans('visiosoft.module.advs::field.min.name') }}"> -
<input class="price-input" type="number" value="{{ request.max_price }}"
name="max_price" placeholder="{{ trans('visiosoft.module.advs::field.max.name') }}">
<select name="currency" id="currency">
{% for currency in active_currencies %}
<option value="{{ currency }}">{{ currency }}</option>
{% endfor %}
</select>
</div>
<div class="col-md-4 py-1 px-0">
<select name="currency" id="currency" class="form-control">
{% for currency in active_currencies %}
<option value="{{ currency }}">{{ currency }}</option>
{% endfor %}
</select>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Price -->
{% if entries('advs').isEnabled('searchbydistance') %}
<!--Search By Distance-->
{% include "visiosoft.module.searchbydistance::list/filter" %}
<!--Search By Distance-->
{% endif %}
<div class="panel-default panel-faq">
<div class="panel-heading text-center">
<div id="search-button">
<button type="submit" class="btn btn-primary search-filter-button">
{{ trans("visiosoft.module.advs::field.search") }}
</button>
<h5><font color="#333">{{ trans('visiosoft.module.advs::message.filter_by_search_msg') }}</font></h5>
<div class="card">
<div class="card-header bg-primary text-center" id="submitHeading">
<h5 class="mb-0">
<button class="btn btn-link text-white w-100">
<i class="fas fa-search"></i>
{{ trans("visiosoft.module.advs::field.search") }}
</button>
</h5>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</form>

View File

@ -1,40 +0,0 @@
<div class="section recommended-ads">
<div class="row list-header">
<div class="col-md-6">
{% include "visiosoft.module.advs::list/partials/list-sort-by" %}
</div>
<div class="col-md-6">
{% include "visiosoft.module.advs::list/partials/display-mode" %}
</div>
</div>
{% if entries('advs').isEnabled('customfields') %}
{% include "visiosoft.module.customfields::selecttop" %}
{% endif %}
<div class="category-tabs"></div>
{% include "visiosoft.module.advs::list/partials/featured-ads" %}
{% include "visiosoft.module.advs::list/partials/ads" %}
<!-- pagination -->
<div class="text-center">
<div class="tool-pagination">
{{ advs.links()|raw }}
</div>
</div>
<!-- pagination -->
{% if entries('advs').isEnabled('favs') %}
{% include "visiosoft.module.favs::list/favorites-section" %}
{% endif %}
</div>

View File

@ -1,25 +1,25 @@
<div class="dropdown pull-left sort-by-list">
<div class="dropdown">
<h5><i class="fa fa-filter"></i> {{ trans("visiosoft.module.advs::field.sort_by") }}:</h5>
<a data-toggle="dropdown" class="sort-by-open-dropdown" href="#"
<i class="fas fa-sort-alpha-down"></i>
<a data-toggle="dropdown" class="sort-by-open-dropdown text-dark" href="#"
aria-expanded="false">
<span class="sort-by-selected-text">{{ trans("visiosoft.module.advs::field.pick_option") }}</span>
<span class="sort-by-selected-text">{{ trans("visiosoft.module.advs::field.pick_ordering") }}</span>
<i class="fa fa-caret-square-o-down"></i>
</a>
<ul class="dropdown-menu" x-placement="bottom-start">
<li>
<a href="#" data-value="sort_price_up"
class="sort-by-item">{{ trans("visiosoft.module.advs::field.price_high") }}</a>
class="sort-by-item text-dark">{{ trans("visiosoft.module.advs::field.price_high") }}</a>
</li>
<li>
<a href="#" data-value="sort_price_down"
class="sort-by-item">{{ trans("visiosoft.module.advs::field.price-low") }}</a>
class="sort-by-item text-dark">{{ trans("visiosoft.module.advs::field.price-low") }}</a>
</li>
<li>
<a href="#" data-value="sort_time"
class="sort-by-item">{{ trans("visiosoft.module.advs::field.newest") }}</a>
class="sort-by-item text-dark">{{ trans("visiosoft.module.advs::field.newest") }}</a>
</li>
</ul>
</div>

View File

@ -1,94 +0,0 @@
{% for adv in featured_advs %}
<tr class="text-center table-row-dopings-ads clickable-row" data-href='{{ adv.detail_url }}'>
<td class="vertical-center">
{% set advPhoto = adv.cover_photo %}
<img src="{{ adv.cover_photo }}" alt="Image" class="table-image"></a>
</td>
<td class="text-start vertical-top">
<div class="table-row-name">
<a href="{{ adv.detail_url }}">
{{ adv.name }}
</a>
</div>
<div class="table-row-name-bar">
<a href="{{ url_route('visiosoft.module.advs::show_ad_map_location',[adv.country_id,adv.city,adv.district]) }}"
data-toggle="tooltip" data-placement="top" title="{{ adv.city_name }}, {{ adv.country_name }}"><i
class="fa fa-map-marker"></i> </a>
<a class="online" href="" data-toggle="tooltip" data-placement="top" title="{{ adv.owner }}"><i
class="fa fa-user"></i> </a>
{% if entries('advs').isEnabled('comparisons') %}
<a href="javascript:;" class="comparison" data-adv="{{ adv.id }}" data-title="{{ adv.name }}"
data-price="{{ adv.price }} {{ adv.currency }}" data-img="{{ advPhoto }}">
<i class="fa fa-arrows-alt"></i>
</a>
{% endif %}
</div>
</td>
<td class="vertical-center">
{{ adv.price }} {{ adv.currency }}
</td>
<td class="vertical-center">
{{ adv.created_at|date("d/m/Y") }}
</td>
{% if setting_value('visiosoft.module.location::list_page_location') %}
<td class="vertical-center">
{{ adv.city_name }} / {{ adv.country_name }}
</td>
{% endif %}
{% if entries('advs').isEnabled('customfields') %}
{% include "visiosoft.module.customfields::cftablerow" %}
{% endif %}
</tr>
{% endfor %}
{% for adv in advs %}
{% if adv.doping != null %}
<tr class="text-center table-row-dopings-ads clickable-row" data-href='{{ adv.detail_url }}'>
{% else %}
<tr class="text-center clickable-row" data-href='{{ adv.detail_url }}'>
{% endif %}
<td class="vertical-center">
{% set advPhoto = adv.cover_photo %}
<img src="{{ adv.cover_photo }}" alt="Image" class="table-image"></a>
</td>
<td class="text-start vertical-top">
<div class="table-row-name">
<a href="{{ adv.detail_url }}">
{{ adv.name }}
</a>
</div>
<div class="table-row-name-bar">
{% if setting_value('visiosoft.module.location::list_page_location') %}
<a href="{{ url_route('visiosoft.module.advs::show_ad_map_location',[adv.country_id,adv.city,adv.district]) }}"
data-toggle="tooltip" data-placement="top" title="{{ adv.city_name }}, {{ adv.country_name }}"><i
class="fa fa-map-marker"></i> </a>
{% endif %}
<a class="online" href="" data-toggle="tooltip" data-placement="top" title="{{ adv.owner }}"><i
class="fa fa-user"></i> </a>
{% if entries('advs').isEnabled('comparisons') %}
<a href="javascript:;" class="comparison" data-adv="{{ adv.id }}" data-title="{{ adv.name }}"
data-price="{{ adv.price }} {{ adv.currency }}" data-img="{{ advPhoto }}">
<i class="fa fa-arrows-alt"></i>
</a>
{% endif %}
</div>
</td>
<td class="vertical-center">
{{ adv.price }} {{ adv.currency }}
</td>
<td class="vertical-center">
{{ adv.created_at|date("d/m/Y") }}
</td>
{% if setting_value('visiosoft.module.location::list_page_location') %}
<td class="vertical-center">
{{ adv.city_name }} / {{ adv.country_name }}
</td>
{% endif %}
{% if entries('advs').isEnabled('customfields') %}
{% include "visiosoft.module.customfields::cftablerow" %}
{% endif %}
</tr>
{% endfor %}

View File

@ -1,17 +1,23 @@
{% if app.request.get('user') != null or app.request.get('user') != "" %}
<div class="col-md-12 upper-list-banner">
<div class="upper-list-user">
<div class="upper-list-img">
<a href=""><img src="{{ userProfile.file.url }}" alt=""></a>
</div>
<div class="upper-list-info">
{{ user.first_name }} {{ user.last_name }}
{% if userProfile.adv_listing_banner.url == '' %}
{% set background_user = img('visiosoft.module.advs::images/1.png').url %}
{% else %}
{% set background_user = userProfile.adv_listing_banner.url %}
{% endif %}
<div class="col-md-12 upper-list-banner" style="background-image: url('{{ background_user }}');">
<div class="row">
<div class="col-md-3 col-xs-3">
<div class="card m-4">
<img src="https://i.pinimg.com/736x/9a/a7/1a/9aa71a7ce0656e55d083fa07fc36b8cc.jpg"
class="card-img-top">
{# <img src="{{ user.file.url }}" class="card-img-top">#}
<div class="card-body">
<h5 class="card-title">{{ user.first_name }} {{ user.last_name }}</h5>
</div>
</div>
</div>
</div>
{% if userProfile.adv_listing_banner.url == '' %}
<img src="{{ img('visiosoft.module.advs::images/1.png').url }}">
{% else %}
<img src="{{ userProfile.adv_listing_banner.url }}">
{% endif %}
</div>
{% endif %}

View File

@ -1,90 +1,61 @@
{% extends "visiosoft.module.advs::list/list" %}
{% block listContent %}
<div class="table-responsive table-ads">
<div class="category-info">
<div class="row">
<table class="table ads-list-table">
<thead>
<tr>
<th scope="col" colspan="2"
class="text-center align-middle">{{ trans('visiosoft.module.advs::field.advs_list_table_thead.name') }}</th>
<th scope="col"
class="text-center align-middle">{{ trans('visiosoft.module.advs::field.advs_list_table_thead.price') }}</th>
<th scope="col"
class="text-center align-middle">{{ trans('visiosoft.module.advs::field.advs_list_table_thead.publish_at') }}</th>
<th scope="col"
class="text-center align-middle">{{ trans('visiosoft.module.advs::field.advs_list_table_thead.location_city') }}
/ {{ trans('visiosoft.module.advs::field.advs_list_table_thead.location_country') }}</th>
{{ addBlock('ads-list/table-column',{'seenList':seenList})|raw }}
</tr>
</thead>
<tbody>
{% include "visiosoft.module.advs::list/partials/user-section" %}
<form action="{{ url_route('visiosoft.module.advs::list') }}" method="get">
{% include "visiosoft.module.advs::list/partials/list-filter" %}
<div class="col-sm-8 col-md-9">
<div class="section recommended-ads">
<div class="row">
<div class="col-md-6">
{% include "visiosoft.module.advs::list/partials/list-sort-by" %}
</div>
<div class="col-md-6">
{% include "visiosoft.module.advs::list/partials/display-mode" %}
</div>
{% for adv in advs %}
<tr class="text-center clickable-row" data-href='{{ adv.detail_url }}'>
<td class="justify-content-center align-middle text-center td-image">
<a href="">
<img class="img-thumbnail" src="{{ adv.cover_photo }}" alt="{{ adv.name }}">
</a>
</td>
<td class="text-left justify-content-center align-middle">
<div class="table-row-name">
<a href="{{ adv.detail_url }}" class="text-dark">
{{ adv.name }}
</a>
</div>
</td>
<td class="justify-content-center align-middle">
<b>{{ adv.price.currency }}</b>
</td>
<td class="justify-content-center align-middle">
<small>{{ adv.created_at|date("d/m/Y") }}</small>
</td>
{% if setting_value('visiosoft.module.location::list_page_location') %}
<td class="justify-content-center align-middle">
<small>{{ adv.city_name }} / {{ adv.country_name }}</small>
</td>
{% endif %}
{{ addBlock('ads-list/table-row',{'seenList':seenList,'adv':adv})|raw }}
</tr>
{% endfor %}
<!--Table Rows-->
{% if entries('advs').isEnabled('customfields') %}
{% include "visiosoft.module.customfields::selecttop" %}
{% endif %}
<div class="category-tabs">
</div>
<div class="table-responsive">
<table class="table ads-list-table">
<thead>
<tr>
<th scope="col" colspan="2"
class="text-center">{{ trans('visiosoft.module.advs::field.advs_list_table_thead.name') }}</th>
<th scope="col"
class="text-center">{{ trans('visiosoft.module.advs::field.advs_list_table_thead.price') }}</th>
<th scope="col"
class="text-center">{{ trans('visiosoft.module.advs::field.advs_list_table_thead.publish_at') }}</th>
<th scope="col"
class="text-center">{{ trans('visiosoft.module.advs::field.advs_list_table_thead.location_city') }}
/ {{ trans('visiosoft.module.advs::field.advs_list_table_thead.location_country') }}</th>
{% if entries('advs').isEnabled('customfields') %}
{% include "visiosoft.module.customfields::cftable" %}
{% endif %}
</tr>
</thead>
<tbody>
{% include "visiosoft.module.advs::list/partials/table-row" %}
</tbody>
</table>
</div>
<!-- pagination -->
<div class="text-center">
<div class="tool-pagination">
{{ advs.links()|raw }}
</div>
</div><!-- pagination -->
{% if entries('advs').isEnabled('favs') %}
<div class="favorite-searches">
<div class="search-fav-icon col-md-1">
<i class="fa fa-search"></i>
</div>
<div class="search-fav-tex col-md-8">
<h4>{{ trans("visiosoft.module.advs::field.my_favorite_searches") }}</h4>
<br>
<p>{{ trans("visiosoft.module.advs::field.search_desc") }}</p>
</div>
<div class="search-fav-button col-md-3">
<button class="btn btn-success" type="button"
id="save-search">{{ trans("visiosoft.module.advs::field.add_to_favorites") }}</button>
</div>
</div>
{% endif %}
</div>
</div><!-- recommended-ads -->
</form>
</div>
</tbody>
</table>
</div>
{% endblock %}
{% block customjs %}
{{ asset_add("scripts.js", "visiosoft.module.advs::js/list-table.js") }}

View File

@ -23,8 +23,9 @@
<ul role="tablist">
<select class="cat-select" name="cat1" id="cat1" data-level="1" data-value="{{ ad_Detail.cat1 }}" multiple id="">
{% for cat in main_cats %}
<option value="{{ cat.id }}"><span
style="font-size: 20px">{{ cat.name }}</span></option>
<option value="{{ cat.id }}">
<span>{{ cat.name }}</span>
</option>
{% endfor %}
</select>
</ul>

View File

@ -3,8 +3,6 @@
{% block content %}
<section id="main" class="clearfix home-default">
<div class="container">
{% include "theme::partials/messages" %}
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
{% for cat in cats_d %}
@ -40,7 +38,9 @@
<div class="section postdetails">
<h4>
{{ trans('visiosoft.module.advs::field.sell_item') }}
<span class="pull-right">* {{ trans('visiosoft.module.advs::field.mandatory_fields') }}</span>
<span class="pull-right">
* {{ trans('visiosoft.module.advs::field.mandatory_fields') }}
</span>
</h4>
<div class="row form-group add-title">
<div class="col-md-12">
@ -54,8 +54,10 @@
</div>
</div>
<div class="row form-group select-price">
<label class="col-sm-2 label-title col-xs-12">{{ form.fields.price.label|raw }}<span
class="required">*</span></label>
<label class="col-sm-2 label-title col-xs-12">
{{ form.fields.price.label|raw }}
<span class="required">*</span>
</label>
<div class="col-sm-4 col-xs-6">
{{ form.fields.price.input|raw }}
</div>
@ -66,33 +68,6 @@
</div>
</div>
<div class="row form-group select-stock">
<label class="col-sm-2 label-title col-xs-12">{{ form.fields.is_get_adv.label|raw }}
/ {{ form.fields.stock.label|raw }}<span
class="required">*</span></label>
<div class="col-sm-1 col-xs-4">
{% if entries('advs').isEnabled('carts') %}
<div class="col-sm-1">
<div class="switch">
<input type="checkbox" id="is_get_adv" name="is_get_adv" class="switch__checkbox
switch__checkbox--on-success
switch__checkbox--off-danger" data-field="is_get_adv" value="1"
data-field_name="is_get_adv"
data-provides="anomaly.field_type.boolean" {% if adv.is_get_adv == 1 %} checked {% endif %}>
</div>
</div>
<div class="col-sm-8">
<div id="priceLi">
</div>
</div>
{% endif %}
</div>
<div class="col-sm-3 col-xs-6">
{{ form.fields.stock.input|raw }}
</div>
</div>
<div class="row form-group brand-name">
<div class="col-md-12">
{{ descField|raw }}

View File

@ -11,62 +11,62 @@
<div class="col-lg-3 col-md-4 col-sm-6 cat-item mb-2">
<div class="section cat-option select-category post-option card p-2">
<h5>{{ trans('visiosoft.module.advs::field.select_a_category') }}</h5>
<select class="cat-select" name="cat1" id="cat1" multiple >
{% for cat in main_cats %}
<option value="{{ cat.id }}">
{{ cat.name }}
</option>
{% endfor %}
</select>
<select class="cat-select" name="cat1" id="cat1" multiple>
{% for cat in main_cats %}
<option value="{{ cat.id }}">
{{ cat.name }}
</option>
{% endfor %}
</select>
</div>
</div>
<div class="col-lg-3 col-md-4 col-sm-6 cat-item mb-2 cat-item-2">
<div class="section cat-option select-category post-option card p-2">
<h5>{{ trans('visiosoft.module.advs::field.select_a_sub_category') }}</h5>
<select class="cat-select" name="cat2" id="cat2" multiple>
<select class="cat-select" name="cat2" id="cat2" multiple>
</select>
</select>
</div>
</div>
<div class="col-lg-3 col-md-4 col-sm-6 cat-item mb-2 cat-item-2">
<div class="section cat-option select-category post-option card p-2">
<h5>{{ trans('visiosoft.module.advs::field.select_a_sub_category') }}</h5>
<select class="cat-select" name="cat3" id="cat3" multiple>
<select class="cat-select" name="cat3" id="cat3" multiple>
</select>
</select>
</div>
</div>
<div class="col-lg-3 col-md-4 col-sm-6 cat-item mb-2 cat-item-2">
<div class="section cat-option select-category post-option card p-2">
<h5>{{ trans('visiosoft.module.advs::field.select_a_sub_category') }}</h5>
<select class="cat-select" name="cat4" id="cat4" multiple>
<select class="cat-select" name="cat4" id="cat4" multiple>
</select>
</select>
</div>
</div>
<div class="col-lg-3 col-md-4 col-sm-6 cat-item mb-2 cat-item-2">
<div class="section cat-option select-category post-option card p-2">
<h5>{{ trans('visiosoft.module.advs::field.select_a_sub_category') }}</h5>
<select class="cat-select" name="cat5" id="cat5" multiple>
<select class="cat-select" name="cat5" id="cat5" multiple>
</select>
</select>
</div>
</div>
<div class="col-lg-3 col-md-4 col-sm-6 cat-item mb-2 cat-item-2">
<div class="section cat-option select-category post-option card p-2">
<h5>{{ trans('visiosoft.module.advs::field.select_a_sub_category') }}</h5>
<select class="cat-select" name="cat6" id="cat6" multiple >
<select class="cat-select" name="cat6" id="cat6" multiple>
</select>
</select>
</div>
</div>
<div class="col-lg-3 col-md-4 col-sm-6 cat-item mb-2 cat-item-2">
<div class="section cat-option select-category post-option card p-2">
<h5>{{ trans('visiosoft.module.advs::field.select_a_sub_category') }}</h5>
<select class="cat-select" name="cat7" id="cat7" multiple >
<select class="cat-select" name="cat7" id="cat7" multiple>
</select>
</select>
</div>
</div>
@ -83,49 +83,15 @@
</div>
</form>
</div>
</div><!-- container -->
</section><!-- post-page -->
</div>
</section>
<style>
.cat-select {
width: 100%;
border: none;
overflow-y: auto
}
.cat-select:focus {
outline: none;
}
.cat-select option {
border-top: 1px solid #f2f2f2;
padding: 15px 0 20px;
position: relative;
padding-left: 10px;
font-size: 16px;
color: #505050;
}
.cat-item-2 {
display: none;
}
.cat-item-3 {
display: none;
}
#main {
background-image: {{ img('visiosoft.module.advs::images/main.png').url }} !important;
}
.btn-1 {
background-color: #00a651;
padding: 5px 50px 7px;
color: #fff;
border: 1px solid #dadada;
margin-right: 5px;
}
</style>
{{ asset_add("scripts.js", "visiosoft.module.advs::js/cats.js") }}
{{ asset_add("styles.css", "visiosoft.module.advs::css/post-category.css") }}
{% endblock %}

View File

@ -88,6 +88,7 @@ class AdvModel extends AdvsAdvsEntryModel implements AdvInterface
return $this->userAdv()
->where('advs_advs.status', '<>', 'approved')
->where('advs_advs.status', '<>', 'declined')
->where('advs_advs.status', '<>', 'passive')
->where('advs_advs.finish_at', '>', date('Y-m-d H:i:s'))
->orWhereNull('advs_advs.finish_at');
}
@ -96,6 +97,7 @@ class AdvModel extends AdvsAdvsEntryModel implements AdvInterface
{
return $this->userAdv()
->where('advs_advs.finish_at', '<', date('Y-m-d H:i:s'))
->orWhere('advs_advs.status', 'passive')
->WhereNotNull('advs_advs.finish_at');
}

View File

@ -80,7 +80,11 @@ class AdvRepository extends EntryRepository implements AdvRepositoryInterface
}
if (!empty($param['cat'])) {
$cat = new CategoryModel();
$catLevel = $cat->getCatLevel($param['cat']);
$cat_d = $cat->find($param['cat']);
if ($cat_d->parent_category_id == null)
$catLevel = 1;
else
$catLevel = $cat->getCatLevel($param['cat']);
$catLevel = "cat" . $catLevel;
$query = $query->where($catLevel, $param['cat']);
}
@ -341,4 +345,30 @@ class AdvRepository extends EntryRepository implements AdvRepositoryInterface
{
return $this->model->orderBy('created_at', 'DESC')->whereIn('advs_advs.id', $ids)->get();
}
/**
* Get Latest Ads
* @return mixed
*/
public function latestAds()
{
$latest_advs = $this->model
->whereDate('finish_at', '>=', date("Y-m-d H:i:s"))
->where('status', '=', 'approved')
->where('slug', '!=', '')
->orderBy('publish_at', 'desc')
->limit(setting_value('visiosoft.module.advs::latest-limit'))->get();
$ads = $this->model->getLocationNames($latest_advs);
foreach ($ads as $index => $ad) {
$ads[$index]->detail_url = $this->model->getAdvDetailLinkByModel($ad, 'list');
$ads[$index] = $this->model->AddAdsDefaultCoverImage($ad);
}
return $ads;
}
}

View File

@ -0,0 +1,16 @@
<?php namespace Visiosoft\AdvsModule\Adv\Command;
use Visiosoft\AdvsModule\Adv\Contract\AdvRepositoryInterface;
class LatestAds
{
/**
* @param AdvRepositoryInterface $groups
* @return |null
*/
public function handle(AdvRepositoryInterface $advRepository)
{
return $advRepository->latestAds();
}
}

View File

@ -0,0 +1,39 @@
<?php namespace Visiosoft\AdvsModule\Adv\Command;
use Visiosoft\AdvsModule\Adv\Contract\AdvRepositoryInterface;
class isActive
{
/**
* @var $name
*/
protected $name;
/**
* @var $type
*/
protected $type;
/**
* @var $project
*/
protected $project;
/**
* isActive Module constructor.
* @param $name
*/
public function __construct($name, $type, $project)
{
$this->name = $name;
$this->type = $type;
$this->project = $project;
}
public function handle()
{
return app('module.collection')->get($this->project . '.' . $this->type . '.' . $this->name)->isInstalled();
}
}

View File

@ -28,8 +28,10 @@ interface AdvRepositoryInterface extends EntryRepositoryInterface
public function getAdvArray($id);
public function getQuantity($quantity,$type,$item);
public function getQuantity($quantity, $type, $item);
public function findByIds($ids);
public function latestAds();
}

View File

@ -2,6 +2,8 @@
use Anomaly\Streams\Platform\Addon\Plugin\Plugin;
use Visiosoft\AdvsModule\Adv\Command\GetAd;
use Visiosoft\AdvsModule\Adv\Command\isActive;
use Visiosoft\AdvsModule\Adv\Command\LatestAds;
class AdvsModulePlugin extends Plugin
{
@ -22,6 +24,26 @@ class AdvsModulePlugin extends Plugin
return $ad;
}
), new \Twig_SimpleFunction(
'isActive',
function ($name, $type = 'module', $project = 'visiosoft') {
if (!$isActive = $this->dispatch(new isActive($name, $type, $project))) {
return 0;
}
return $isActive;
}
), new \Twig_SimpleFunction(
'latestAds',
function () {
if (!$latestAds = $this->dispatch(new LatestAds())) {
return 0;
}
return $latestAds;
}
)
];
}

View File

@ -1,8 +1,6 @@
<?php namespace Visiosoft\AdvsModule;
use Anomaly\Streams\Platform\Database\Seeder\Seeder;
use Anomaly\Streams\Platform\Model\Options\OptionsAdvertisementEntryModel;
use Visiosoft\AdvsModule\Seed\BlockSeeder;
class AdvsModuleSeeder extends Seeder
{
@ -11,6 +9,5 @@ class AdvsModuleSeeder extends Seeder
*/
public function run()
{
$this->call(BlockSeeder::class);
}
}

View File

@ -134,7 +134,7 @@ class AdvsModuleServiceProvider extends AddonServiceProvider
'advs/c/{cat}' => 'Visiosoft\AdvsModule\Http\Controller\CategoriesController@listByCat',
'advs/module_active' => 'Visiosoft\AdvsModule\Http\Controller\advsController@index',
'advs/create_adv' => [
'as' => "create_adv",
'as' => "advs::create_adv",
'uses' => 'Visiosoft\AdvsModule\Http\Controller\advsController@cats',
],
'advs/create_adv/post_cat' => [
@ -165,7 +165,6 @@ class AdvsModuleServiceProvider extends AddonServiceProvider
'uses' => 'Visiosoft\AdvsModule\Http\Controller\advsController@map',
],
'mapJson' => 'Visiosoft\AdvsModule\Http\Controller\advsController@mapJson',
'profile/getAdv' => 'Visiosoft\AdvsModule\Http\Controller\advsController@getAdvsByProfile',
'advs/ttr/{id}' => 'Visiosoft\PackagesModule\Http\Controller\packageFEController@advsStatusbyUser',
'advs/delete/{id}' => 'Visiosoft\AdvsModule\Http\Controller\advsController@softDeleteAdv',
'check_user' => 'Visiosoft\AdvsModule\Http\Controller\advsController@checkUser',
@ -202,6 +201,12 @@ class AdvsModuleServiceProvider extends AddonServiceProvider
'as' => 'ajax::getCats',
'uses' => 'Visiosoft\AdvsModule\Http\Controller\advsController@getCats',
],
'ajax/getAds' => [
'as' => 'ajax::getAds',
'uses' => 'Visiosoft\AdvsModule\Http\Controller\AjaxController@getMyAds'
],
];
/**

View File

@ -3,6 +3,7 @@
use Anomaly\Streams\Platform\Http\Controller\PublicController;
use Visiosoft\AdvsModule\Adv\AdvModel;
use Illuminate\Http\Request;
use Visiosoft\AdvsModule\Adv\Contract\AdvRepositoryInterface;
use Visiosoft\LocationModule\City\CityModel;
use Visiosoft\LocationModule\District\DistrictModel;
use Visiosoft\LocationModule\Neighborhood\NeighborhoodModel;
@ -11,6 +12,14 @@ use Visiosoft\CatsModule\Category\CategoryModel;
class AjaxController extends PublicController
{
private $adv_model;
public function __construct(AdvModel $advModel)
{
$this->adv_model = $advModel;
parent::__construct();
}
public function locations(Request $request)
{
$datas = [];
@ -49,4 +58,34 @@ class AjaxController extends PublicController
{
$advModel->viewed_Ad($id);
}
public function getMyAds(AdvRepositoryInterface $advRepository, Request $request)
{
$my_advs = new AdvModel();
$type = $request->type;
if ($type == 'pending') {
$page_title = trans('visiosoft.module.advs::field.pending_adv.name');
$my_advs = $my_advs->pendingAdvsByUser();
} else if ($type == 'passive') {
$page_title = trans('visiosoft.module.advs::field.archived_adv.name');
$my_advs = $my_advs->archivedAdvsByUser();
} else {
$page_title = trans('visiosoft.module.advs::field.my_adv.name');
$my_advs = $my_advs->myAdvsByUser();
}
$my_advs = $my_advs->orderByDesc('id');
$my_advs = $advRepository->addAttributes($my_advs->get());
foreach ($my_advs as $index => $ad) {
$my_advs[$index]->detail_url = $this->adv_model->getAdvDetailLinkByModel($ad, 'list');
$my_advs[$index] = $this->adv_model->AddAdsDefaultCoverImage($ad);
}
return response()->json(['success' => true, 'content' => $my_advs, 'title' => $page_title]);
}
}

View File

@ -194,6 +194,7 @@ class AdvsController extends PublicController
}
}
if (isset($param['cat']) and $param['cat'] != "") {
$cat = $param['cat'];
$seo_keywords = $this->category_model->getMeta_keywords($param['cat']);
@ -204,7 +205,12 @@ class AdvsController extends PublicController
$this->template->set('meta_description', $seo_description);
$this->template->set('meta_title', $seo_title);
$mainCats = $this->category_model->getParentCats($cat, 'category_ids');
$mainCats = $this->category_model->getMains($cat);
$current_cat = $this->category_model->getCat($cat);
$mainCats[] = [
'id' => $current_cat->id,
'val' => $current_cat->name,
];
$subCats = $this->category_repository->getSubCatById($cat);
} else {
$cat = null;
@ -214,9 +220,9 @@ class AdvsController extends PublicController
if ($isActiveCustomFields) {
$returnvalues = app('Visiosoft\CustomfieldsModule\Http\Controller\cfController')->index($mainCats, $subCats);
$checkboxes = $returnvalues['checkboxes'];
$textfields = $returnvalues['textfields'];
$topfields = $returnvalues['topfields'];
$ranges = $returnvalues['ranges'];
$radio = $returnvalues['radio'];
}
if (!empty($param['user'])) {
@ -224,8 +230,8 @@ class AdvsController extends PublicController
$userProfile = $this->profile_repository->getProfile($user->id);
}
$compact = compact('advs', 'countries', 'mainCats', 'subCats', 'textfields', 'checkboxes', 'request',
'user', 'userProfile', 'featured_advs', 'type', 'topfields', 'ranges', 'seenList', 'searchedCountry');
$compact = compact('advs', 'countries', 'mainCats', 'subCats', 'checkboxes', 'request',
'user', 'userProfile', 'featured_advs', 'type', 'topfields', 'ranges', 'seenList', 'searchedCountry', 'radio');
Cookie::queue(Cookie::make('last_search', $this->requestHttp->getRequestUri(), 84000));
@ -319,7 +325,7 @@ class AdvsController extends PublicController
if ($adv->created_by_id == isset(auth()->user()->id) OR $adv->status == "approved") {
return $this->view->make('visiosoft.module.advs::ad-detail/detail', compact('adv', 'complaints', 'recommended_advs', 'categories', 'features', 'tags', 'profile', 'comments', 'qrSRC'));
return $this->view->make('visiosoft.module.advs::ad-detail/detail', compact('adv', 'complaints', 'recommended_advs', 'categories', 'features', 'profile', 'comments', 'qrSRC'));
} else {
return back();
}
@ -753,6 +759,9 @@ class AdvsController extends PublicController
if ($auto_approved == true AND $type == 'pending_admin') {
$type = "approved";
}
if ($type == "approved" and $auto_approved != true) {
$type = "pending_admin";
}
if ($type == "approved") {
$this->adv_model->publish_at_Ads($id);
@ -776,6 +785,7 @@ class AdvsController extends PublicController
$this->adv_model->statusAds($id, $type);
$events->dispatch(new ChangeStatusAd($id, $settings));//Create Notify
$this->messages->success(trans('streams::message.edit_success', ['name' => 'Status']));
return back();
}

View File

@ -1,208 +0,0 @@
<?php namespace Visiosoft\AdvsModule\Seed;
use Anomaly\Streams\Platform\Database\Seeder\Seeder;
use Anomaly\Streams\Platform\Model\Blocks\BlocksAreasEntryModel;
use Anomaly\Streams\Platform\Model\Blocks\BlocksBlocksEntryModel;
use Anomaly\Streams\Platform\Model\HtmlBlock\HtmlBlockBlocksEntryModel;
use Illuminate\Support\Facades\DB;
class BlockSeeder extends Seeder
{
/**
* Run the seeder.
*/
public function run()
{
DB::table('blocks_areas')
->where('slug', 'left-home-banner-area')
->orWhere('slug', 'middle-home-banner-area')
->orWhere('slug', 'right-home-banner-area')
->orWhere('slug', 'list-item-right-sidebar')
->orWhere('slug', 'center-add-ad-banner-area')
->orWhere('slug', 'profile-right-sidebar')
->delete();
// Add Ad Center Banner Area
$center_add_ad_banner_area = BlocksAreasEntryModel::create([
'en' => [
'name' => 'Center Add Ad Banner Area',
],
'tr' => [
'name' => 'İlan Ver Orta Reklam Alanı',
],
'slug' => 'center-add-ad-banner-area',
]);
$center_add_ad_banner_html = HtmlBlockBlocksEntryModel::create([
'en' => [
'html' => file_get_contents(__DIR__ . '/Blocks/middle-home-banner-area.twig'),
],
'tr' => [
'html' => file_get_contents(__DIR__ . '/Blocks/middle-home-banner-area.twig'),
],
]);
BlocksBlocksEntryModel::create([
'area_id' => $center_add_ad_banner_area->id,
'area_type' => 'Anomaly\BlocksModule\Area\AreaModel',
'field_id' => 52,
'extension' => 'anomaly.extension.html_block',
'display_title' => 0,
'entry_type' => 'Anomaly\HtmlBlockExtension\Block\BlockModel',
'entry_id' => $center_add_ad_banner_html->id,
]);
// left Home Banner Area
$left_home_banner_area = BlocksAreasEntryModel::create([
'en' => [
'name' => 'Left Home Banner Area',
],
'tr' => [
'name' => 'Anasayfa Sol reklam alanı',
],
'slug' => 'left-home-banner-area',
]);
$left_home_banner_html = HtmlBlockBlocksEntryModel::create([
'en' => [
'html' => file_get_contents(__DIR__ . '/Blocks/left-home-banner-area.twig'),
],
'tr' => [
'html' => file_get_contents(__DIR__ . '/Blocks/left-home-banner-area.twig'),
],
]);
BlocksBlocksEntryModel::create([
'area_id' => $left_home_banner_area->id,
'area_type' => 'Anomaly\BlocksModule\Area\AreaModel',
'field_id' => 52,
'extension' => 'anomaly.extension.html_block',
'display_title' => 0,
'entry_type' => 'Anomaly\HtmlBlockExtension\Block\BlockModel',
'entry_id' => $left_home_banner_html->id,
]);
// middle Home Banner Area
$middle_home_banner_area = BlocksAreasEntryModel::create([
'en' => [
'name' => 'Middle Home Banner Area',
],
'tr' => [
'name' => 'Anasayfa Orta reklam alanı',
],
'slug' => 'middle-home-banner-area',
]);
$middle_home_banner_html = HtmlBlockBlocksEntryModel::create([
'en' => [
'html' => file_get_contents(__DIR__ . '/Blocks/middle-home-banner-area.twig'),
],
'tr' => [
'html' => file_get_contents(__DIR__ . '/Blocks/middle-home-banner-area.twig'),
],
]);
BlocksBlocksEntryModel::create([
'area_id' => $middle_home_banner_area->id,
'area_type' => 'Anomaly\BlocksModule\Area\AreaModel',
'field_id' => 52,
'extension' => 'anomaly.extension.html_block',
'display_title' => 0,
'entry_type' => 'Anomaly\HtmlBlockExtension\Block\BlockModel',
'entry_id' => $middle_home_banner_html->id,
]);
// right Home Banner Area
$right_home_banner_area = BlocksAreasEntryModel::create([
'en' => [
'name' => 'Right Home Banner Area',
],
'tr' => [
'name' => 'Anasayfa Sağ reklam alanı',
],
'slug' => 'right-home-banner-area',
]);
$right_home_banner_html = HtmlBlockBlocksEntryModel::create([
'en' => [
'html' => file_get_contents(__DIR__ . '/Blocks/right-home-banner-area.twig'),
],
'tr' => [
'html' => file_get_contents(__DIR__ . '/Blocks/right-home-banner-area.twig'),
],
]);
BlocksBlocksEntryModel::create([
'area_id' => $right_home_banner_area->id,
'area_type' => 'Anomaly\BlocksModule\Area\AreaModel',
'field_id' => 52,
'extension' => 'anomaly.extension.html_block',
'display_title' => 0,
'entry_type' => 'Anomaly\HtmlBlockExtension\Block\BlockModel',
'entry_id' => $right_home_banner_html->id,
]);
// List item Right Sidebar
$list_item_right_sidebar_area = BlocksAreasEntryModel::create([
'en' => [
'name' => 'List item Right Sidebar',
],
'tr' => [
'name' => 'ilan Detay Sağ Alan',
],
'slug' => 'list-item-right-sidebar',
]);
$list_item_right_sidebar_html = HtmlBlockBlocksEntryModel::create([
'en' => [
'html' => file_get_contents(__DIR__ . '/Blocks/list-item-right-sidebar-en.twig'),
],
'tr' => [
'html' => file_get_contents(__DIR__ . '/Blocks/list-item-right-sidebar-tr.twig'),
],
]);
BlocksBlocksEntryModel::create([
'area_id' => $list_item_right_sidebar_area->id,
'area_type' => 'Anomaly\BlocksModule\Area\AreaModel',
'field_id' => 52,
'extension' => 'anomaly.extension.html_block',
'display_title' => 0,
'entry_type' => 'Anomaly\HtmlBlockExtension\Block\BlockModel',
'entry_id' => $list_item_right_sidebar_html->id,
]);
// Profile Right Sidebar
$profile_right_sidebar_area = BlocksAreasEntryModel::create([
'en' => [
'name' => 'Profile Right Sidebar',
],
'tr' => [
'name' => 'Profil Sağ Alan',
],
'slug' => 'profile-right-sidebar',
]);
$profile_right_sidebar_html = HtmlBlockBlocksEntryModel::create([
'en' => [
'html' => file_get_contents(__DIR__ . '/Blocks/list-item-right-sidebar-en.twig'),
],
'tr' => [
'html' => file_get_contents(__DIR__ . '/Blocks/list-item-right-sidebar-tr.twig'),
],
]);
BlocksBlocksEntryModel::create([
'area_id' => $profile_right_sidebar_area->id,
'area_type' => 'Anomaly\BlocksModule\Area\AreaModel',
'field_id' => 52,
'extension' => 'anomaly.extension.html_block',
'display_title' => 0,
'entry_type' => 'Anomaly\HtmlBlockExtension\Block\BlockModel',
'entry_id' => $profile_right_sidebar_html->id,
]);
}
}

View File

@ -1,3 +0,0 @@
<div class="advertisement">
<a href="#"><img src="{{ img('theme::images/ads/2.jpg').url }}" alt="Images" class="img-responsive"></a>
</div>

View File

@ -1,45 +0,0 @@
<div class="cta">
<!-- single-cta -->
<div class="single-cta">
<!-- cta-icon -->
<div class="cta-icon icon-secure">
<img src="{{ img('theme::images/icon/13.png').url }}" alt="Icon"
class="img-responsive">
</div><!-- cta-icon -->
<h4>Secure Trading</h4>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit</p>
</div><!-- single-cta -->
<!-- single-cta -->
<div class="single-cta">
<!-- cta-icon -->
<div class="cta-icon icon-support">
<img src="{{ img('theme::images/icon/14.png').url }}" alt="Icon"
class="img-responsive">
</div><!-- cta-icon -->
<h4>24/7 Support</h4>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit</p>
</div><!-- single-cta -->
<!-- single-cta -->
<div class="single-cta">
<!-- cta-icon -->
<div class="cta-icon icon-trading">
<img src="{{ img('theme::images/icon/15.png').url }}" alt="Icon"
class="img-responsive">
</div><!-- cta-icon -->
<h4>Easy Trading</h4>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit</p>
</div><!-- single-cta -->
<!-- single-cta -->
<div class="single-cta">
<h5>Need help?</h5>
<p><span>Give a call on</span><a
href="tellto:08048100000"> 08048100000</a></p>
</div><!-- single-cta -->
</div>

View File

@ -1,50 +0,0 @@
<div class="cta">
<!-- single-cta -->
<div class="single-cta">
<!-- cta-icon -->
<div class="cta-icon icon-secure">
<img src="{{ img('theme::images/icon/13.png').url }}" alt="Icon"
class="img-responsive">
</div><!-- cta-icon -->
<h4>Güvenli Ticaret</h4>
<p>Kolay, Güvenli ve Avantajlı Alışveriş için</p>
</div><!-- single-cta -->
<!-- single-cta -->
<div class="single-cta">
<!-- cta-icon -->
<div class="cta-icon icon-support">
<img src="{{ img('theme::images/icon/14.png').url }}" alt="Icon"
class="img-responsive">
</div><!-- cta-icon -->
<h4>7/24 Saat Destek</h4>
<p>Hızlı ve Kolay çözüm imkanı</p>
</div><!-- single-cta -->
<!-- single-cta -->
<div class="single-cta">
<!-- cta-icon -->
<div class="cta-icon icon-trading">
<img src="{{ img('theme::images/icon/15.png').url }}" alt="Icon"
class="img-responsive">
</div><!-- cta-icon -->
<h4>Kolay Alışveriş</h4>
<p>Çoklu dil desteği ve Çoklu Para Birimi</p>
</div><!-- single-cta -->
<!-- single-cta -->
<div class="single-cta">
<!-- cta-icon -->
<div class="cta-icon icon-trading">
<img src="{{ img('theme::images/icon/14.png').url }}" alt="Icon"
class="img-responsive">
</div><!-- cta-icon -->
<h5>Yardıma mı ihtiyacınız var?</h5>
<p><span>Hemen Arayın</span><a
href="tellto:08048100000"> 08048100000</a></p>
</div><!-- single-cta -->
</div>

View File

@ -1,3 +0,0 @@
<div class="ad-section text-center">
<a href="#"><img src="{{ img('theme::images/ads/3.jpg').url }}" alt="Image" class="img-responsive"></a>
</div>

View File

@ -1,3 +0,0 @@
<div class="advertisement text-center">
<a href="#"><img src="{{ img('theme::images/ads/1.jpg').url }}" alt="Images" class="img-responsive"></a>
</div>

View File

@ -1,10 +0,0 @@
<?php namespace Visiosoft\AdvsModule\Test\Feature;
class AdvsModuleTest extends \TestCase
{
public function testFeature()
{
$this->markTestSkipped('Not implemented.');
}
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\Adv;
class AdvCollectionTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\Adv;
class AdvCriteriaTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\Adv;
class AdvModelTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\Adv;
class AdvObserverTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\Adv;
class AdvPresenterTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\Adv;
class AdvRepositoryTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\Adv;
class AdvRouterTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\Adv;
class AdvSeederTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\Adv;
class AdvFormBuilderTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\Adv;
class AdvTableBuilderTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\Adv;
class UserFilterQueryTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\Category;
class CategoryCollectionTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\Category;
class CategoryCriteriaTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\Category;
class CategoryModelTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\Category;
class CategoryObserverTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\Category;
class CategoryPresenterTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\Category;
class CategoryRepositoryTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\Category;
class CategoryRouterTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\Category;
class CategorySeederTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\Category;
class CategoryFormBuilderTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\Category;
class CategoryTableBuilderTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\CfValue;
class CfValueCollectionTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\CfValue;
class CfValueCriteriaTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\CfValue;
class CfValueModelTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\CfValue;
class CfValueObserverTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\CfValue;
class CfValuePresenterTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\CfValue;
class CfValueRepositoryTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\CfValue;
class CfValueRouterTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\CfValue;
class CfValueSeederTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\CfValue;
class CfValueFormBuilderTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\CfValue;
class CfValueTableBuilderTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\CustomField;
class CustomFieldCollectionTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\CustomField;
class CustomFieldCriteriaTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\CustomField;
class CustomFieldModelTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\CustomField;
class CustomFieldObserverTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\CustomField;
class CustomFieldPresenterTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\CustomField;
class CustomFieldRepositoryTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\CustomField;
class CustomFieldRouterTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\CustomField;
class CustomFieldSeederTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\CustomField;
class CustomFieldFormBuilderTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\CustomField;
class CustomFieldTableBuilderTest extends \TestCase
{
}

View File

@ -1,8 +0,0 @@
<?php
namespace Visiosoft\AdvsModule\Test\Unit\CustomFieldAdv;
class CustomFieldAdvCollectionTest extends \TestCase
{
}

Some files were not shown because too many files have changed in this diff Show More