mirror of
https://github.com/openclassify/openclassify.git
synced 2026-01-11 18:01:10 -06:00
commit
70a5757a9d
12
README.md
12
README.md
@ -7,6 +7,18 @@ OpenClassify is the extensible and most advanced open source classified app buil
|
||||
[](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
|
||||
|
||||
|
||||
@ -1,6 +0,0 @@
|
||||
.coverage
|
||||
composer.lock
|
||||
/bin
|
||||
/build
|
||||
/vendor
|
||||
/coverage
|
||||
@ -8,6 +8,7 @@
|
||||
},
|
||||
"require": {
|
||||
"wirelab/language_switcher-plugin": "^1.3",
|
||||
"visiosoft/addblock-extension": "^1.1",
|
||||
"ext-zip": "*",
|
||||
"chumper/zipper": "^1.0"
|
||||
}
|
||||
|
||||
@ -1,10 +0,0 @@
|
||||
<?php
|
||||
|
||||
$factory->define(
|
||||
Visiosoft\AdvsModule\Adv\AdvModel::class,
|
||||
function (Faker\Generator $faker) {
|
||||
return [
|
||||
//'title' => $faker->words(2),
|
||||
];
|
||||
}
|
||||
);
|
||||
@ -1,10 +0,0 @@
|
||||
<?php
|
||||
|
||||
$factory->define(
|
||||
Visiosoft\AdvsModule\Category\CategoryModel::class,
|
||||
function (Faker\Generator $faker) {
|
||||
return [
|
||||
//'title' => $faker->words(2),
|
||||
];
|
||||
}
|
||||
);
|
||||
@ -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>
|
||||
@ -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',
|
||||
|
||||
@ -0,0 +1,4 @@
|
||||
.ad-detail-tabs .nav-link.active {
|
||||
background-color: #FFC106 !important;
|
||||
border-color: #ffc107 #ffc107 #ffc107;
|
||||
}
|
||||
@ -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
31
addons/default/visiosoft/advs-module/resources/css/list.css
Normal file
31
addons/default/visiosoft/advs-module/resources/css/list.css
Normal 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;
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
File diff suppressed because one or more lines are too long
@ -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");
|
||||
}
|
||||
@ -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
|
||||
@ -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',
|
||||
|
||||
@ -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ş",
|
||||
|
||||
@ -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 %}
|
||||
@ -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 %}
|
||||
|
||||
@ -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>
|
||||
@ -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>
|
||||
@ -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>
|
||||
@ -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" %}
|
||||
|
||||
@ -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") }}
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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 %}
|
||||
@ -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 %}
|
||||
|
||||
|
||||
@ -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 %}
|
||||
@ -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>
|
||||
@ -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>
|
||||
@ -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 %}
|
||||
@ -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>
|
||||
@ -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>
|
||||
@ -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>
|
||||
|
||||
@ -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 %}
|
||||
@ -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 %}
|
||||
@ -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") }}
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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 }}
|
||||
|
||||
@ -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 %}
|
||||
|
||||
@ -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');
|
||||
}
|
||||
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -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();
|
||||
}
|
||||
}
|
||||
@ -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();
|
||||
}
|
||||
}
|
||||
@ -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();
|
||||
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
)
|
||||
];
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
@ -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'
|
||||
],
|
||||
];
|
||||
|
||||
/**
|
||||
|
||||
@ -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]);
|
||||
}
|
||||
|
||||
}
|
||||
@ -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();
|
||||
}
|
||||
|
||||
|
||||
@ -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,
|
||||
]);
|
||||
|
||||
}
|
||||
}
|
||||
@ -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>
|
||||
@ -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>
|
||||
@ -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>
|
||||
@ -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>
|
||||
@ -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>
|
||||
@ -1,10 +0,0 @@
|
||||
<?php namespace Visiosoft\AdvsModule\Test\Feature;
|
||||
|
||||
class AdvsModuleTest extends \TestCase
|
||||
{
|
||||
|
||||
public function testFeature()
|
||||
{
|
||||
$this->markTestSkipped('Not implemented.');
|
||||
}
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\Adv;
|
||||
|
||||
class AdvCollectionTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\Adv;
|
||||
|
||||
class AdvCriteriaTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\Adv;
|
||||
|
||||
class AdvModelTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\Adv;
|
||||
|
||||
class AdvObserverTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\Adv;
|
||||
|
||||
class AdvPresenterTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\Adv;
|
||||
|
||||
class AdvRepositoryTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\Adv;
|
||||
|
||||
class AdvRouterTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\Adv;
|
||||
|
||||
class AdvSeederTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\Adv;
|
||||
|
||||
class AdvFormBuilderTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\Adv;
|
||||
|
||||
class AdvTableBuilderTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\Adv;
|
||||
|
||||
class UserFilterQueryTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\Category;
|
||||
|
||||
class CategoryCollectionTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\Category;
|
||||
|
||||
class CategoryCriteriaTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\Category;
|
||||
|
||||
class CategoryModelTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\Category;
|
||||
|
||||
class CategoryObserverTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\Category;
|
||||
|
||||
class CategoryPresenterTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\Category;
|
||||
|
||||
class CategoryRepositoryTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\Category;
|
||||
|
||||
class CategoryRouterTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\Category;
|
||||
|
||||
class CategorySeederTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\Category;
|
||||
|
||||
class CategoryFormBuilderTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\Category;
|
||||
|
||||
class CategoryTableBuilderTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\CfValue;
|
||||
|
||||
class CfValueCollectionTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\CfValue;
|
||||
|
||||
class CfValueCriteriaTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\CfValue;
|
||||
|
||||
class CfValueModelTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\CfValue;
|
||||
|
||||
class CfValueObserverTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\CfValue;
|
||||
|
||||
class CfValuePresenterTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\CfValue;
|
||||
|
||||
class CfValueRepositoryTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\CfValue;
|
||||
|
||||
class CfValueRouterTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\CfValue;
|
||||
|
||||
class CfValueSeederTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\CfValue;
|
||||
|
||||
class CfValueFormBuilderTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\CfValue;
|
||||
|
||||
class CfValueTableBuilderTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\CustomField;
|
||||
|
||||
class CustomFieldCollectionTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\CustomField;
|
||||
|
||||
class CustomFieldCriteriaTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\CustomField;
|
||||
|
||||
class CustomFieldModelTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\CustomField;
|
||||
|
||||
class CustomFieldObserverTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\CustomField;
|
||||
|
||||
class CustomFieldPresenterTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\CustomField;
|
||||
|
||||
class CustomFieldRepositoryTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\CustomField;
|
||||
|
||||
class CustomFieldRouterTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\CustomField;
|
||||
|
||||
class CustomFieldSeederTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\CustomField;
|
||||
|
||||
class CustomFieldFormBuilderTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Visiosoft\AdvsModule\Test\Unit\CustomField;
|
||||
|
||||
class CustomFieldTableBuilderTest extends \TestCase
|
||||
{
|
||||
|
||||
}
|
||||
@ -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
Loading…
Reference in New Issue
Block a user