Merge pull request #99 from openclassify/vedat

Ad Detail Page Block && Twig Detail Function Created
This commit is contained in:
Ozcan Durak 2019-10-11 16:46:18 +03:00 committed by GitHub
commit 983366648b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
31 changed files with 954 additions and 1163 deletions

View File

@ -1,42 +0,0 @@
<?php
use Anomaly\Streams\Platform\Database\Migration\Migration;
class VisiosoftModuleAdvsCreateCustomFieldsStream extends Migration
{
/**
* The stream definition.
*
* @var array
*/
protected $stream = [
'slug' => 'custom_fields',
'title_column' => 'name',
'translatable' => true,
'trashable' => false,
'searchable' => false,
'sortable' => false,
];
/**
* The stream assignments.
*
* @var array
*/
protected $assignments = [
'parent_category',
'type',
'name' => [
'translatable' => true,
'required' => true,
],
'slug' => [
'unique' => true,
'required' => true,
],
'custom_field_select_options',
'description',
];
}

View File

@ -1,33 +0,0 @@
<?php
use Anomaly\Streams\Platform\Database\Migration\Migration;
class VisiosoftModuleAdvsCreateCustomFieldAdvsStream extends Migration
{
/**
* The stream definition.
*
* @var array
*/
protected $stream = [
'slug' => 'custom_field_advs',
'translatable' => true,
'trashable' => false,
'searchable' => false,
'sortable' => false,
];
/**
* The stream assignments.
*
* @var array
*/
protected $assignments = [
'parent_adv',
'custom_field_category',
'custom_field_value',
'custom_field_type'
];
}

View File

@ -1,34 +0,0 @@
<?php
use Anomaly\Streams\Platform\Database\Migration\Migration;
class VisiosoftModuleAdvsCreateCfValuesStream extends Migration
{
/**
* The stream definition.
*
* @var array
*/
protected $stream = [
'slug' => 'cf_values',
'title_column' => 'value',
'translatable' => true,
'versionable' => false,
'trashable' => false,
'searchable' => false,
'sortable' => false,
];
/**
* The stream assignments.
*
* @var array
*/
protected $assignments = [
'custom_field',
'value' => [
'translatable' => true
]
];
}

View File

@ -7,61 +7,68 @@ use Visiosoft\LocationModule\Country\CountryModel;
return [ return [
'site_address' => [ 'site_address' => [
'type' => 'anomaly.field_type.text', 'type' => 'anomaly.field_type.text',
'bind' => 'adv.site_address', 'bind' => 'adv.site_address',
'env' => 'ADV_SITE_ADDRESS', 'env' => 'ADV_SITE_ADDRESS',
'config' => [ 'config' => [
'default_value' => 'visiosoft.com.tr', 'default_value' => 'visiosoft.com.tr',
'disabled' => true, 'disabled' => true,
], ],
], ],
"favicon" => [
"type" => "anomaly.field_type.file",
"config" => [
"folders" => ['favicon'],
"mode" => "upload",
]
],
'auto_approve' => [ 'auto_approve' => [
'type' => 'anomaly.field_type.boolean', 'type' => 'anomaly.field_type.boolean',
'bind' => 'adv.auto_approve', 'bind' => 'adv.auto_approve',
'env' => 'ADV_AUTO_APPROVE', 'env' => 'ADV_AUTO_APPROVE',
'config' => [ 'config' => [
'default_value' => true, 'default_value' => true,
], ],
], ],
'default_published_time' => [ 'default_published_time' => [
'type' => 'anomaly.field_type.integer', 'type' => 'anomaly.field_type.integer',
'bind' => 'adv.default_published_time', 'bind' => 'adv.default_published_time',
'env' => 'ADV_PUBLISH_TIME', 'env' => 'ADV_PUBLISH_TIME',
'required' => true, 'required' => true,
'config' => [ 'config' => [
'default_value' => 10, 'default_value' => 10,
], ],
], ],
'default_adv_limit' => [ 'default_adv_limit' => [
'type' => 'anomaly.field_type.integer', 'type' => 'anomaly.field_type.integer',
'bind' => 'adv.default_adv_limit', 'bind' => 'adv.default_adv_limit',
'env' => 'ADV_LIMIT', 'env' => 'ADV_LIMIT',
'required' => true, 'required' => true,
'config' => [ 'config' => [
'default_value' => 15, 'default_value' => 15,
], ],
], ],
'address' => [ 'address' => [
'type' => 'anomaly.field_type.text', 'type' => 'anomaly.field_type.text',
'bind' => 'adv.address', 'bind' => 'adv.address',
'env' => 'ADV_ADDRESS', 'env' => 'ADV_ADDRESS',
'config' => [ 'config' => [
'default_value' => 'Basaksehir Istanbul', 'default_value' => 'Basaksehir Istanbul',
], ],
], ],
'phone' => [ 'phone' => [
'type' => 'anomaly.field_type.text', 'type' => 'anomaly.field_type.text',
'bind' => 'adv.phone', 'bind' => 'adv.phone',
'env' => 'ADV_PHONE', 'env' => 'ADV_PHONE',
'config' => [ 'config' => [
'default_value' => '212 555 55 55', 'default_value' => '212 555 55 55',
], ],
], ],
'iban_numbers' => [ 'iban_numbers' => [
'type' => 'anomaly.field_type.wysiwyg', 'type' => 'anomaly.field_type.wysiwyg',
'bind' => 'adv.iban', 'bind' => 'adv.iban',
'env' => 'ADV_IBAN', 'env' => 'ADV_IBAN',
'config' => [ 'config' => [
'default_value' => '<h3>TR00 0000 0000 0000 0000 0000 00</h3>', 'default_value' => '<h3>TR00 0000 0000 0000 0000 0000 00</h3>',
], ],
@ -69,8 +76,8 @@ return [
'default_country' => [ 'default_country' => [
'type' => 'anomaly.field_type.relationship', 'type' => 'anomaly.field_type.relationship',
'bind' => 'adv.default_country', 'bind' => 'adv.default_country',
'env' => 'ADV_COUNTRY', 'env' => 'ADV_COUNTRY',
'config' => [ 'config' => [
'related' => CountryModel::class, 'related' => CountryModel::class,
"default_value" => 212, "default_value" => 212,
@ -78,8 +85,8 @@ return [
], ],
'default_city' => [ 'default_city' => [
'type' => 'anomaly.field_type.relationship', 'type' => 'anomaly.field_type.relationship',
'bind' => 'adv.default_city', 'bind' => 'adv.default_city',
'env' => 'ADV_CITY', 'env' => 'ADV_CITY',
'config' => [ 'config' => [
'related' => LocationCitiesEntryModel::class, 'related' => LocationCitiesEntryModel::class,
"default_value" => 34, "default_value" => 34,
@ -87,8 +94,8 @@ return [
], ],
'default_district' => [ 'default_district' => [
'type' => 'anomaly.field_type.relationship', 'type' => 'anomaly.field_type.relationship',
'bind' => 'adv.default_district', 'bind' => 'adv.default_district',
'env' => 'ADV_DISTRICT', 'env' => 'ADV_DISTRICT',
'config' => [ 'config' => [
'related' => LocationDistrictsEntryModel::class, 'related' => LocationDistrictsEntryModel::class,
"default_value" => 1091, "default_value" => 1091,
@ -97,46 +104,46 @@ return [
'contact_mail' => [ 'contact_mail' => [
'type' => 'anomaly.field_type.email', 'type' => 'anomaly.field_type.email',
'bind' => 'adv.contact_mail', 'bind' => 'adv.contact_mail',
'env' => 'ADV_MAIL', 'env' => 'ADV_MAIL',
], ],
'google_map_key' => [ 'google_map_key' => [
'type' => 'anomaly.field_type.text', 'type' => 'anomaly.field_type.text',
'bind' => 'adv.google_map_key', 'bind' => 'adv.google_map_key',
'env' => 'ADV_MAP_KEY', 'env' => 'ADV_MAP_KEY',
'config' => [ 'config' => [
'default_value' => 'AIzaSyCAGc0z8kg9rKGVy2FizFKoz0FoWWWzoGQ', 'default_value' => 'AIzaSyCAGc0z8kg9rKGVy2FizFKoz0FoWWWzoGQ',
], ],
], ],
'google_statistic_code' => [ 'google_statistic_code' => [
'type' => 'anomaly.field_type.text', 'type' => 'anomaly.field_type.text',
'bind' => 'adv.google_statistic_code', 'bind' => 'adv.google_statistic_code',
'env' => 'ADV_GOOGLE_STATISTIC_CODE', 'env' => 'ADV_GOOGLE_STATISTIC_CODE',
'config' => [ 'config' => [
'default_value' => '', 'default_value' => '',
], ],
], ],
'map_coordinates_long' => [ 'map_coordinates_long' => [
'type' => 'anomaly.field_type.text', 'type' => 'anomaly.field_type.text',
'bind' => 'adv.map_coordinates_long', 'bind' => 'adv.map_coordinates_long',
'env' => 'ADV_MAP_LONG', 'env' => 'ADV_MAP_LONG',
'config' => [ 'config' => [
'default_value' => '28.74558607285155', 'default_value' => '28.74558607285155',
], ],
], ],
'map_coordinates_lat' => [ 'map_coordinates_lat' => [
'type' => 'anomaly.field_type.text', 'type' => 'anomaly.field_type.text',
'bind' => 'adv.map_coordinates_lat', 'bind' => 'adv.map_coordinates_lat',
'env' => 'ADV_MAP_LAT', 'env' => 'ADV_MAP_LAT',
'config' => [ 'config' => [
'default_value' => '40.97817786299617', 'default_value' => '40.97817786299617',
], ],
], ],
'logo' => [ 'logo' => [
'type' => 'anomaly.field_type.file', 'type' => 'anomaly.field_type.file',
'bind' => 'adv.logo', 'bind' => 'adv.logo',
'env' => 'ADV_LOGO', 'env' => 'ADV_LOGO',
'config' => [ 'config' => [
'folders' => ["images"], 'folders' => ["images"],
'mode' => 'upload', 'mode' => 'upload',
@ -144,17 +151,17 @@ return [
], ],
'ogImage' => [ 'ogImage' => [
'type' => 'anomaly.field_type.file', 'type' => 'anomaly.field_type.file',
'bind' => 'adv.ogImage', 'bind' => 'adv.ogImage',
'env' => 'ADV_OG_IMAGE', 'env' => 'ADV_OG_IMAGE',
'config' => [ 'config' => [
'folders' => ["images"], 'folders' => ["images"],
'mode' => 'upload', 'mode' => 'upload',
] ]
], ],
'currencies' => [ 'currencies' => [
"type" => "anomaly.field_type.checkboxes", "type" => "anomaly.field_type.checkboxes",
'bind' => 'adv.currencies', 'bind' => 'adv.currencies',
'env' => 'ADV_CURRENCIES', 'env' => 'ADV_CURRENCIES',
'config' => [ 'config' => [
"default_value" => 'a:1:{i:0;s:1:"0";}', "default_value" => 'a:1:{i:0;s:1:"0";}',
'options' => Config::get('streams::currencies.enabled') 'options' => Config::get('streams::currencies.enabled')
@ -162,69 +169,69 @@ return [
], ],
'free_currencyconverterapi_key' => [ 'free_currencyconverterapi_key' => [
"type" => "anomaly.field_type.text", "type" => "anomaly.field_type.text",
'bind' => 'adv.free_currencyconverterapi_key', 'bind' => 'adv.free_currencyconverterapi_key',
'env' => 'ADV_CURRENCY_CONVERT_API_KEY', 'env' => 'ADV_CURRENCY_CONVERT_API_KEY',
'config' => [ 'config' => [
"default_value" => "1eea72940f3868c77420" "default_value" => "1eea72940f3868c77420"
] ]
], ],
'default_currency' => [ 'default_currency' => [
'type' => 'anomaly.field_type.select', 'type' => 'anomaly.field_type.select',
'bind' => 'adv.default_currency', 'bind' => 'adv.default_currency',
'env' => 'ADV_CURRENCY', 'env' => 'ADV_CURRENCY',
'config' => [ 'config' => [
'handler' => 'currencies', 'handler' => 'currencies',
"default_value" => 'USD', "default_value" => 'USD',
], ],
], ],
'default_GET' => [ 'default_GET' => [
'type' => 'anomaly.field_type.select', 'type' => 'anomaly.field_type.select',
'bind' => 'adv.default_GET', 'bind' => 'adv.default_GET',
'env' => 'ADV_GET', 'env' => 'ADV_GET',
'config' => [ 'config' => [
'default_value' => 0, 'default_value' => 0,
'options' => [ 'options' => [
0 => 'False', 0 => 'False',
1 => 'True', 1 => 'True',
], ],
], ],
], ],
'twitter' => [ 'twitter' => [
'type' => 'anomaly.field_type.text', 'type' => 'anomaly.field_type.text',
'bind' => 'adv.twitter', 'bind' => 'adv.twitter',
'env' => 'ADV_TWITTER', 'env' => 'ADV_TWITTER',
'config' => [ 'config' => [
'default_value' => '/twitter.com/visiosoft' 'default_value' => '/twitter.com/visiosoft'
] ]
], ],
'facebook' => [ 'facebook' => [
'type' => 'anomaly.field_type.text', 'type' => 'anomaly.field_type.text',
'bind' => 'adv.facebook', 'bind' => 'adv.facebook',
'env' => 'ADV_FACEBOOK', 'env' => 'ADV_FACEBOOK',
'config' => [ 'config' => [
'default_value' => '/facebook.com/visiosoft' 'default_value' => '/facebook.com/visiosoft'
] ]
], ],
'youtube' => [ 'youtube' => [
'type' => 'anomaly.field_type.text', 'type' => 'anomaly.field_type.text',
'bind' => 'adv.youtube', 'bind' => 'adv.youtube',
'env' => 'ADV_YOUTUBE', 'env' => 'ADV_YOUTUBE',
'config' => [ 'config' => [
'default_value' => '/youtube.com/visiosoft' 'default_value' => '/youtube.com/visiosoft'
] ]
], ],
'google' => [ 'google' => [
'type' => 'anomaly.field_type.text', 'type' => 'anomaly.field_type.text',
'bind' => 'adv.google', 'bind' => 'adv.google',
'env' => 'ADV_GOOGLE', 'env' => 'ADV_GOOGLE',
'config' => [ 'config' => [
'default_value' => '/plus.google.com/visiosoft' 'default_value' => '/plus.google.com/visiosoft'
] ]
], ],
'watermark_type' => [ 'watermark_type' => [
'type' => 'anomaly.field_type.select', 'type' => 'anomaly.field_type.select',
'bind' => 'adv.watermark_type', 'bind' => 'adv.watermark_type',
'env' => 'ADV_WATERMARK_TYPE', 'env' => 'ADV_WATERMARK_TYPE',
'required' => true, 'required' => true,
'config' => [ 'config' => [
'options' => ['image' => 'Image', 'text' => 'Text'], 'options' => ['image' => 'Image', 'text' => 'Text'],
@ -232,22 +239,22 @@ return [
] ]
], ],
'watermark_text' => [ 'watermark_text' => [
'type' => 'anomaly.field_type.text', 'type' => 'anomaly.field_type.text',
'bind' => 'adv.watermark_text', 'bind' => 'adv.watermark_text',
'env' => 'ADV_WATERMARK_TEXT', 'env' => 'ADV_WATERMARK_TEXT',
], ],
'watermark_image' => [ 'watermark_image' => [
'type' => 'anomaly.field_type.file', 'type' => 'anomaly.field_type.file',
'bind' => 'adv.watermark_image', 'bind' => 'adv.watermark_image',
'env' => 'ADV_WATERMARK_IMAGE', 'env' => 'ADV_WATERMARK_IMAGE',
'config' => [ 'config' => [
'default_value' => '', 'default_value' => '',
], ],
], ],
'watermark_position' => [ 'watermark_position' => [
'type' => 'anomaly.field_type.select', 'type' => 'anomaly.field_type.select',
'bind' => 'adv.watermark_position', 'bind' => 'adv.watermark_position',
'env' => 'ADV_WATERMARK_POSITION', 'env' => 'ADV_WATERMARK_POSITION',
'required' => true, 'required' => true,
'config' => [ 'config' => [
'options' => ['top-right' => 'Top Right', 'top-left' => 'Top Left', 'bottom-right' => 'Bottom Right', 'bottom-left' => 'Bottom Left', 'center' => 'Middle'], 'options' => ['top-right' => 'Top Right', 'top-left' => 'Top Left', 'bottom-right' => 'Bottom Right', 'bottom-left' => 'Bottom Left', 'center' => 'Middle'],
@ -255,37 +262,37 @@ return [
] ]
], ],
'watermark_opacity' => [ 'watermark_opacity' => [
'type' => 'anomaly.field_type.text', 'type' => 'anomaly.field_type.text',
'bind' => 'adv.watermark_opacity', 'bind' => 'adv.watermark_opacity',
'env' => 'ADV_WATERMARK_OPACITY', 'env' => 'ADV_WATERMARK_OPACITY',
'config' => [ 'config' => [
'default_value' => '80', 'default_value' => '80',
], ],
], ],
'listing_page_image' => [ 'listing_page_image' => [
'type' => 'anomaly.field_type.file', 'type' => 'anomaly.field_type.file',
'bind' => 'adv.listing_page_image', 'bind' => 'adv.listing_page_image',
'env' => 'ADV_LISTING_PAGE_IMAGE', 'env' => 'ADV_LISTING_PAGE_IMAGE',
'config' => [ 'config' => [
'folders' => ["adv_listing_page"], 'folders' => ["adv_listing_page"],
'mode' => 'upload', 'mode' => 'upload',
] ]
], ],
'enabled_currencies' => [ 'enabled_currencies' => [
'bind' => 'streams::currencies.enabled', 'bind' => 'streams::currencies.enabled',
'env' => 'ADV_ENABLED_CURRENCIES', 'env' => 'ADV_ENABLED_CURRENCIES',
'type' => 'anomaly.field_type.checkboxes', 'type' => 'anomaly.field_type.checkboxes',
'required' => true, 'required' => true,
'config' => [ 'config' => [
'default_value' => function () { 'default_value' => function () {
return [config('streams::currencies.default')]; return [config('streams::currencies.default')];
}, },
'options' => function () { 'options' => function () {
$json = file_get_contents("https://openexchangerates.org/api/currencies.json"); $json = file_get_contents("https://openexchangerates.org/api/currencies.json");
$cur = array(); $cur = array();
foreach(json_decode($json, true) as $key => $value){ foreach (json_decode($json, true) as $key => $value) {
$cur[$key] = $value; $cur[$key] = $value;
} }
return $cur; return $cur;

View File

@ -16,6 +16,9 @@ return [
'phone' => [ 'phone' => [
'name' => 'Contact Phone', 'name' => 'Contact Phone',
], ],
'favicon' => [
'name' => 'Favicon',
],
'contact_mail' => [ 'contact_mail' => [
'name' => 'Contact Mail', 'name' => 'Contact Mail',
'warning' => 'Auto added sitename <strong>info</strong>@sitename ', 'warning' => 'Auto added sitename <strong>info</strong>@sitename ',

View File

@ -35,25 +35,12 @@
<div class="row"> <div class="row">
<!-- carousel --> <!-- carousel -->
<div class="col-md-7 slider-box"> <div class="col-md-7 slider-box">
<div class="fotorama"
data-width="700"
data-ratio="3/2"
data-nav="thumbs"
data-thumbheight="48">
{% set advPhoto = '' %}
{% if count(adv.files) == 0 %}
{% set advPhoto = img('theme::images/no-image.png').url %}
<a href="{{ image }}"><img src="{{ img('theme::images/no-image.png').url }}"></a>
{% else %}
{% for image in adv.getViewPhotoUrl %}
<a href="{{ image }}"><img src="{{ image }}"></a>
{% if loop.index == 1 %}
{% set advPhoto = image %}
{% endif %}
{% endfor %}
{% endif %} {% if blocks('ad-item-picture-block-area') is null %}
</div> {% include "visiosoft.module.advs::advs/partials/blocks/ads-item-picture-block" %}
{% else %}
{{ blocks('ad-item-picture-block-area') }}
{% endif %}
</div><!-- Controls --> </div><!-- Controls -->
<!-- slider-text --> <!-- slider-text -->
@ -62,169 +49,12 @@
{% if entries('advs').isEnabled('favs') %} {% if entries('advs').isEnabled('favs') %}
<a class="favorites" href="#"><i id="heart-icon-adv" class="far fa-heart"></i></a> <a class="favorites" href="#"><i id="heart-icon-adv" class="far fa-heart"></i></a>
{% endif %} {% endif %}
<h3 class="title">{{ adv.title }}</h3>
<h2 class="ad-price"> {% if blocks('ad-item-details-block-area') is null %}
<b>{{ adv.price.format() }}</b> {{ adv.currency }} {% include "visiosoft.module.advs::advs/partials/blocks/ads-item-details-block" %}
{% if app.auth.id == adv.created_by_id %} {% else %}
<a class="btn btn-info edit-adv-btn" href="/advs/edit_advs/{{ adv.id }}"><i {{ blocks('ad-item-details-block-area') }}
class="fa fa-pencil-square-o"></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 %} {% endif %}
</h2>
<div class="user-interactions">
{% if adv.is_get_adv == "1" and adv.stock != "0" and entries('advs').isEnabled('carts') %}
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 add-cart-row">
<div class="add-cart-quantity-field">
<div class="col-lg-4 col-md-4 col-sm-4 col-xs-4 add-cart-reduce">
<button type="button" class="btn btn-default btn-number bg-secondary"
data-type="minus"
data-field="quant[1]" disabled="true">
</button>
</div>
<div class="col-lg-4 col-md-4 col-sm-2 col-xs-1 add-cart-quantity">
<input type="text" name="quant[1]" data-id="{{ adv.id }}"
class="form-control add-cart-quantity-input" value="1"
min="1" max="10">
<span>{{ trans('visiosoft.module.advs::field.quantity') }}</span>
{#Trans yapılacak#}
</div>
<div class="col-lg-4 col-md-4 col-sm-4 col-xs-4 add-cart-upgrade">
<button type="button" class="btn btn-default btn-number"
data-type="plus"
data-field="quant[1]" {% if adv.stock < "2" %} disabled="true" {% endif %}>
</button>
</div>
</div>
<div class="add-cart-button-field">
<a class="btn btn-success add-cart-button"
href="{{ url_route('addCart',[adv.id]) }}"><i
class="fa fa-shopping-cart"></i> {{ trans('visiosoft.module.orders::field.addcart') }}
</a>
</div>
</div>
{% endif %}
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 offered-field offered-row">
{% if entries('advs').isEnabled('favs') %}
<a id="owner-fav" href="#"><i id="heart-icon-seller" class="far fa-heart"></i></a>
{% endif %}
<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>
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 offered-field offered-row">
{% if entries('advs').isEnabled('comparisons') %}
{% include "visiosoft.module.comparisons::comparebtn" %}
<span class="icon">{{ trans('visiosoft.module.comparisons::field.comparisonpagetitle') }}</span>
{% endif %}
</div>
{% if(adv.video_url != null) %}
<div class="contact-with">
<h4>{{ trans('visiosoft.module.cloudinary::field.video') }}</h4>
<a class="btn btn-success" onclick="openVideo()"><i class="fa fa-file-video-o"
aria-hidden="true"></i> {{ trans('visiosoft.module.cloudinary::field.video') }}
</a>
<div class="modal fade" id="adv-video" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="close-modal text-right">
<button type="button" class="btn btn-danger" data-dismiss="modal">X
</button>
</div>
<div class="modal-body">
<video controls loop class="img-responsive"
style="text-align: center; width: 100%">
<source src="{{ adv.video_url }}" class="video-src"
type="video/mp4"/>
</video>
</div>
</div>
</div>
</div>
</div>
{% endif %}
{% if(profile.getObject().gsm_phone is not null or profile.office_phone is not null or entries('advs').isEnabled('messages')) %}
<!-- contact-with -->
<div class="contact-with">
<h4> {{ trans('visiosoft.module.advs::field.contact_with') }}</h4>
{% if(profile.getObject().gsm_phone != null) %}
<span class="btn btn-red show-number" data-id="{{ adv.id }}">
<i class="fa fa-phone-square"></i>
<span class="hide-text">{{ trans('visiosoft.module.advs::field.click_phone') }} </span>
<span class="hide-number">{{ trans("visiosoft.module.advs::field.phone_gsm") }}
: {{ profile.getObject().gsm_phone }}
{% if profile.office_phone != null and profile.office_phone != "" %}
<br>
{{ trans("visiosoft.module.advs::field.phone_office") }}: {{ profile.office_phone }}
{% endif %}
</span>
</span>
{% endif %}
{% if entries('advs').isEnabled('messages') %}
<a data-content="{{ app.auth.id }}" id="message" class="btn"><i
class="fa fa-envelope-square"></i>{{ trans("visiosoft.module.advs::field.send_message") }}
</a>
{% endif %}
</div><!-- contact-with -->
{% endif %}
{% if adv_detail_place_code %}
<div>
{{ adv_detail_place_code }}
</div>
{% endif %}
<!-- social-links -->
<div class="social-links">
<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><!-- social-links -->
</div>
</div><!-- slider-text --> </div><!-- slider-text -->
</div> </div>
</div> </div>
@ -237,151 +67,18 @@
</div><!-- slider --> </div><!-- slider -->
<div class="description-info">
<div class="row">
<!-- description -->
<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 %}
<li class=""><a data-toggle="tab"
href="#features">{{ trans('visiosoft.module.advs::field.features') }}</a>
</li>
{% 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> {% if blocks('ad-item-content-block-area') is null %}
</div> {% include "visiosoft.module.advs::advs/partials/blocks/ads-item-content-block" %}
{% else %}
{{ blocks('ad-item-content-block-area') }}
{% endif %}
<div class="section recommended-ads"> {% if entries('advs').isEnabled('recommendedads') %}
<div class="featured-top"> {% include "visiosoft.module.recommendedads::recommended-ads" %}
<h4>{{ trans('visiosoft.module.advs::field.recommended_ads') }}</h4> {% endif %}
</div>
<!-- oc-item -->
{% for advs in recommended_advs %}
<div class="oc-item1 row">
<!-- item-image -->
<div class="item-image-box col-sm-4">
<div class="item-image">
<a href="{{ advs.detail_url }}">
{% 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="{{ advs.cover_photo }}" alt="Image"
class="img-responsive"></a>
</div><!-- item-image -->
</div>
<div class="item-info col-sm-8">
<!-- ad-info -->
<div class="ad-info">
<h3 class="item-price">{{ advs.price.format() }} {{ advs.currency }}</h3>
<h4 class="item-title bengali"><a
href="{{ advs.detail_url }}">{{ advs.title|slice(0,50) }}</a>
</h4>
</div><!-- ad-info -->
<!-- ad-meta -->
<div class="ad-meta">
<div class="meta-content">
<span class="dated"><a href="#">{{ advs.created_at }} </a></span>
</div>
<!-- item-info-right -->
<div class="user-option pull-right">
{% if setting_value('visiosoft.module.location::detail_page_location') %}
<a href="#" data-toggle="tooltip" data-placement="top" title=""
data-original-title="{{ advs.city_name }}, {{ advs.country_name }}"><i
class="fa fa-map-marker"></i> </a>
{% endif %}
</div><!-- item-info-right -->
</div><!-- ad-meta -->
</div><!-- item-info -->
</div><!-- oc-item -->
{% endfor %}
</div>
</div><!-- description -->
<!-- description-short-info -->
<div class="col-md-4">
{% if tags != null %}
<div class="short-info">
<h4>{{ trans('visiosoft.module.advs::field.short_info') }}</h4>
<!-- social-icon -->
<ul>
{% for key,value in tags %}
<p><strong>{{ key }}: {{ value[0] }}</strong></p>
{% endfor %}
</ul><!-- social-icon -->
</div>
{% endif %}
<div class="recommended-cta">
{{ blocks('list-item-right-sidebar') }}
</div><!-- cta -->
</div>
</div><!-- row -->
</div><!-- description-info -->
<div class="recommended-info">
<div class="row">
<div class="col-sm-8">
</div><!-- recommended-ads -->
<div class="col-sm-4 text-center">
</div><!-- recommended-cta-->
</div><!-- row -->
</div><!-- recommended-info -->
</div><!-- container --> </div><!-- container -->
</section> </section>

View File

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

View File

@ -0,0 +1,162 @@
<h3 class="title">{{ adv.title }}</h3>
<h2 class="ad-price">
<b>{{ adv.price.format() }}</b> {{ adv.currency }}
{% if app.auth.id == adv.created_by_id %}
<a class="btn btn-info edit-adv-btn" href="/advs/edit_advs/{{ adv.id }}"><i
class="fa fa-pencil-square-o"></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 %}
</h2>
<div class="user-interactions">
{% if adv.is_get_adv == "1" and adv.stock != "0" and entries('advs').isEnabled('carts') %}
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 add-cart-row">
<div class="add-cart-quantity-field">
<div class="col-lg-4 col-md-4 col-sm-4 col-xs-4 add-cart-reduce">
<button type="button" class="btn btn-default btn-number bg-secondary"
data-type="minus"
data-field="quant[1]" disabled="true">
</button>
</div>
<div class="col-lg-4 col-md-4 col-sm-2 col-xs-1 add-cart-quantity">
<input type="text" name="quant[1]" data-id="{{ adv.id }}"
class="form-control add-cart-quantity-input" value="1"
min="1" max="10">
<span>{{ trans('visiosoft.module.advs::field.quantity') }}</span>
{#Trans yapılacak#}
</div>
<div class="col-lg-4 col-md-4 col-sm-4 col-xs-4 add-cart-upgrade">
<button type="button" class="btn btn-default btn-number"
data-type="plus"
data-field="quant[1]" {% if adv.stock < "2" %} disabled="true" {% endif %}>
</button>
</div>
</div>
<div class="add-cart-button-field">
<a class="btn btn-success add-cart-button"
href="{{ url_route('addCart',[adv.id]) }}"><i
class="fa fa-shopping-cart"></i> {{ trans('visiosoft.module.orders::field.addcart') }}
</a>
</div>
</div>
{% endif %}
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 offered-field offered-row">
{% if entries('advs').isEnabled('favs') %}
<a id="owner-fav" href="#"><i id="heart-icon-seller" class="far fa-heart"></i></a>
{% endif %}
<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>
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 offered-field offered-row">
{% if entries('advs').isEnabled('comparisons') %}
{% include "visiosoft.module.comparisons::comparebtn" %}
<span class="icon">{{ trans('visiosoft.module.comparisons::field.comparisonpagetitle') }}</span>
{% endif %}
</div>
{% if(adv.video_url != null) %}
<div class="contact-with">
<h4>{{ trans('visiosoft.module.cloudinary::field.video') }}</h4>
<a class="btn btn-success" onclick="openVideo()"><i class="fa fa-file-video-o"
aria-hidden="true"></i> {{ trans('visiosoft.module.cloudinary::field.video') }}
</a>
<div class="modal fade" id="adv-video" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="close-modal text-right">
<button type="button" class="btn btn-danger" data-dismiss="modal">X
</button>
</div>
<div class="modal-body">
<video controls loop class="img-responsive"
style="text-align: center; width: 100%">
<source src="{{ adv.video_url }}" class="video-src"
type="video/mp4"/>
</video>
</div>
</div>
</div>
</div>
</div>
{% endif %}
{% if(profile.getObject().gsm_phone is not null or profile.office_phone is not null or entries('advs').isEnabled('messages')) %}
<!-- contact-with -->
<div class="contact-with">
<h4> {{ trans('visiosoft.module.advs::field.contact_with') }}</h4>
{% if(profile.getObject().gsm_phone != null) %}
<span class="btn btn-red show-number" data-id="{{ adv.id }}">
<i class="fa fa-phone-square"></i>
<span class="hide-text">{{ trans('visiosoft.module.advs::field.click_phone') }} </span>
<span class="hide-number">{{ trans("visiosoft.module.advs::field.phone_gsm") }}
: {{ profile.getObject().gsm_phone }}
{% if profile.office_phone != null and profile.office_phone != "" %}
<br>
{{ trans("visiosoft.module.advs::field.phone_office") }}: {{ profile.office_phone }}
{% endif %}
</span>
</span>
{% endif %}
{% if entries('advs').isEnabled('messages') %}
<a data-content="{{ app.auth.id }}" id="message" class="btn"><i
class="fa fa-envelope-square"></i>{{ trans("visiosoft.module.advs::field.send_message") }}
</a>
{% endif %}
</div><!-- contact-with -->
{% endif %}
{% if adv_detail_place_code %}
<div>
{{ adv_detail_place_code }}
</div>
{% endif %}
<!-- social-links -->
<div class="social-links">
<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>
<!-- social-links -->
</div>

View File

@ -0,0 +1,19 @@
<div class="fotorama"
data-width="700"
data-ratio="3/2"
data-nav="thumbs"
data-thumbheight="48">
{% set advPhoto = '' %}
{% if count(adv.files) == 0 %}
{% set advPhoto = img('theme::images/no-image.png').url %}
<a href="{{ image }}"><img src="{{ img('theme::images/no-image.png').url }}"></a>
{% else %}
{% for image in adv.getViewPhotoUrl %}
<a href="{{ image }}"><img src="{{ image }}"></a>
{% if loop.index == 1 %}
{% set advPhoto = image %}
{% endif %}
{% endfor %}
{% endif %}
</div>

View File

@ -52,17 +52,24 @@ class AdvRepository extends EntryRepository implements AdvRepositoryInterface
$isActiveDopings = new AdvModel(); $isActiveDopings = new AdvModel();
$isActiveDopings = $isActiveDopings->is_enabled('dopings'); $isActiveDopings = $isActiveDopings->is_enabled('dopings');
$query = $this->model->newQuery(); $query = $this->model;
$query = $query->where('advs_advs.slug', '!=', ""); $query = $query->where('advs_advs.slug', '!=', "");
$query = $query->where('advs_advs.status', 'approved'); $query = $query->where('advs_advs.status', 'approved');
$query = $query->where('advs_advs.finish_at', '>', date('Y-m-d H:i:s')); $query = $query->where('advs_advs.finish_at', '>', date('Y-m-d H:i:s'));
$query = $query->leftJoin('advs_advs_translations', function ($join) {
$join->on('advs_advs.id', '=', 'advs_advs_translations.entry_id');
$join->where('advs_advs_translations.locale', '=', Request()->session()->get('_locale'));
});
if (!empty($param['keyword'])) { if (!empty($param['keyword'])) {
$delimiter = '_'; $delimiter = '_';
$keyword = str_slug($param['keyword'], $delimiter); $keyword = str_slug($param['keyword'], $delimiter);
$query = $query->where(function ($query) use ($keyword) { $query = $query->where(function ($query) use ($keyword) {
$query->where('advs_desc', 'like', '%' . $keyword . '%') $query->where('advs_advs_translations.advs_desc', 'like', '%' . $keyword . '%')
->orWhere('slug', 'like', '%' . $keyword . '%'); ->orWhere('slug', 'like', '%' . $keyword . '%')
->orWhere('advs_advs_translations.name', 'like', '%' . $keyword . '%');
}); });
} }
if (!empty($param['country'])) { if (!empty($param['country'])) {

View File

@ -1,10 +1,6 @@
<?php namespace Visiosoft\AdvsModule\Adv; <?php namespace Visiosoft\AdvsModule\Adv;
use Anomaly\Streams\Platform\Database\Seeder\Seeder; 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 AdvSeeder extends Seeder class AdvSeeder extends Seeder
{ {
@ -14,615 +10,6 @@ class AdvSeeder extends Seeder
*/ */
public function run() public function run()
{ {
DB::table('blocks_blocks')->truncate(); //Code
DB::table('blocks_areas')->truncate();
DB::table('html_block_blocks')->truncate();
DB::table('blocks_areas')->where('slug', 'advs_default_theme_post_adv_right')
->orWhere('slug', 'advs_default_theme_post_adv_bottom')
->orWhere('slug', 'middle-home-banner-area')
->orWhere('slug', 'right-home-banner-area')
->orWhere('slug', 'left-home-banner-area')
->orWhere('slug', 'advs_default_theme_home_bottom')
->orWhere('slug', 'advs_default_theme_home_mobile')
->delete();
// right side
$block_area = BlocksAreasEntryModel::create([
'en' => [
'name' => 'Advs Default Theme Post Adv Right Side',
],
'tr' => [
'name' => 'Advs Varsayılan Tema İlan Ver Sağ Bölüm',
],
'slug' => 'advs_default_theme_post_adv_right',
]);
// bottom part
$block_area = BlocksAreasEntryModel::create([
'en' => [
'name' => 'Advs Default Theme Post Adv Bottom',
],
'tr' => [
'name' => 'Advs Varsayılan Tema İlan Ver Alt',
],
'slug' => 'advs_default_theme_post_adv_bottom',
]);
$blockhtml = HtmlBlockBlocksEntryModel::create([
'en' => [
'html' => 'By clicking Post, you agree to our Terms of Use and Privacy Policy acknowledge that you are the rightful owner of this item.',
],
'tr' => [
'html' => 'Yayınla\'yı tıkladığınızda, Kullanım Koşulları ve Gizlilik Politikasını kabul etmiş olursunuz, bu öğenin hak sahibi olduğunuzu kabul edersiniz.',
],
]);
$block_block = BlocksBlocksEntryModel::create([
'area_id' => $block_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' => $blockhtml->id,
]);
// homepage bottom info
$block_area = BlocksAreasEntryModel::create([
'en' => [
'name' => 'Advs Default Theme Homepage Bottom Info',
],
'tr' => [
'name' => 'Advs Varsayılan Tema Anasayfa Alt Bilgi',
],
'slug' => 'advs_default_theme_home_bottom',
]);
$blockhtml = HtmlBlockBlocksEntryModel::create([
'en' => [
'html' => '<div class="section cta text-center">
<div class="row">
<!-- single-cta -->
<div class="col-sm-4">
<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>Duis autem vel eum iriure dolor in hendrerit in</p>
</div>
</div><!-- single-cta -->
<!-- single-cta -->
<div class="col-sm-4">
<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>Duis autem vel eum iriure dolor in hendrerit in</p>
</div>
</div><!-- single-cta -->
<!-- single-cta -->
<div class="col-sm-4">
<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>Duis autem vel eum iriure dolor in hendrerit in</p>
</div>
</div><!-- single-cta -->
</div><!-- row -->
</div>',
],
'tr' => [
'html' => '<div class="section cta text-center">
<div class="row">
<!-- single-cta -->
<div class="col-sm-4">
<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>Guvenli Alisveris</h4>
<p>Duis autem vel eum iriure dolor in hendrerit in</p>
</div>
</div><!-- single-cta -->
<!-- single-cta -->
<div class="col-sm-4">
<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 Destek</h4>
<p>Duis autem vel eum iriure dolor in hendrerit in</p>
</div>
</div><!-- single-cta -->
<!-- single-cta -->
<div class="col-sm-4">
<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 Ticaret</h4>
<p>Duis autem vel eum iriure dolor in hendrerit in</p>
</div>
</div><!-- single-cta -->
</div><!-- row -->
</div>',
],
]);
$block_block = BlocksBlocksEntryModel::create([
'area_id' => $block_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' => $blockhtml->id,
]);
// homepage mobile app part
$block_area = BlocksAreasEntryModel::create([
'en' => [
'name' => 'Advs Default Theme Homepage Mobile App',
],
'tr' => [
'name' => 'Advs Varsayılan Tema Anasayfa Mobil Uygulama',
],
'slug' => 'advs_default_theme_home_mobile',
]);
$blockhtml = HtmlBlockBlocksEntryModel::create([
'en' => [
'html' => '<section id="download" class="clearfix parallax-section">
<div class="container">
<!-- row -->
<div class="row">
<!-- download-app -->
<!-- download-app -->
<div class="col-sm-2">
</div><!-- download-app -->
<div class="col-sm-4">
<a href="#" class="download-app">
<img src="{{ img(\'theme::images/icon/16.png\').url }}" alt="Image" class="img-responsive">
<span class="pull-left">
<span>{{ trans(\'visiosoft.theme.default::addon.advs_default_theme_homepage_mobile_app_available_on\') }}</span>
<strong>Google Play</strong>
</span>
</a>
</div><!-- download-app -->
<div class="col-sm-4">
<a href="#" class="download-app">
<img src="{{ img(\'theme::images/icon/17.png\').url }}" alt="Image" class="img-responsive">
<span class="pull-left">
<span>{{ trans(\'visiosoft.theme.default::addon.advs_default_theme_homepage_mobile_app_available_on\') }}</span>
<strong>App Store</strong>
</span>
</a>
</div><!-- download-app -->
</div><!-- row -->
</div><!-- contaioner -->
</section>',
],
'tr' => [
'html' => '<section id="download" class="clearfix parallax-section">
<div class="container">
<!-- row -->
<div class="row">
<!-- download-app -->
<div class="col-sm-2">
</div><!-- download-app -->
<!-- download-app -->
<div class="col-sm-4">
<a href="#" class="download-app">
<img src="{{ img(\'theme::images/icon/16.png\').url }}" alt="Image" class="img-responsive">
<span class="pull-left">
<span>{{ trans(\'visiosoft.theme.default::addon.advs_default_theme_homepage_mobile_app_available_on\') }}</span>
<strong>Google Play</strong>
</span>
</a>
</div><!-- download-app -->
<!-- download-app -->
<div class="col-sm-4">
<a href="#" class="download-app">
<img src="{{ img(\'theme::images/icon/17.png\').url }}" alt="Image" class="img-responsive">
<span class="pull-left">
<span>{{ trans(\'visiosoft.theme.default::addon.advs_default_theme_homepage_mobile_app_available_on\') }}</span>
<strong>App Store</strong>
</span>
</a>
</div><!-- download-app -->
</div><!-- row -->
</div><!-- contaioner -->
</section>',
],
]);
$block_block = BlocksBlocksEntryModel::create([
'area_id' => $block_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' => $blockhtml->id,
]);
// left Home Banner Area
$block_area = BlocksAreasEntryModel::create([
'en' => [
'name' => 'Left Home Banner Area',
],
'tr' => [
'name' => 'Anasayfa Sol reklam alanı',
],
'slug' => 'left-home-banner-area',
]);
$blockhtml = HtmlBlockBlocksEntryModel::create([
'en' => [
'html' => ' <div class="advertisement">
<a href="#"><img src="{{ img(\'theme::images/ads/2.jpg\').url }}" alt="Images" class="img-responsive"></a>
</div>',
],
'tr' => [
'html' => ' <div class="advertisement">
<a href="#"><img src="{{ img(\'theme::images/ads/2.jpg\').url }}" alt="Images" class="img-responsive"></a>
</div>',
],
]);
$block_block = BlocksBlocksEntryModel::create([
'area_id' => $block_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' => $blockhtml->id,
]);
// middle Home Banner Area
$block_area = BlocksAreasEntryModel::create([
'en' => [
'name' => 'Middle Home Banner Area',
],
'tr' => [
'name' => 'Anasayfa Orta reklam alanı',
],
'slug' => 'middle-home-banner-area',
]);
$blockhtml = HtmlBlockBlocksEntryModel::create([
'en' => [
'html' => ' <div class="ad-section text-center">
<a href="#"><img src="{{ img(\'theme::images/ads/3.jpg\').url }}" alt="Image" class="img-responsive"></a>
</div>',
],
'tr' => [
'html' => ' <div class="ad-section text-center">
<a href="#"><img src="{{ img(\'theme::images/ads/3.jpg\').url }}" alt="Image" class="img-responsive"></a>
</div>',
],
]);
$block_block = BlocksBlocksEntryModel::create([
'area_id' => $block_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' => $blockhtml->id,
]);
// right Home Banner Area
$block_area = BlocksAreasEntryModel::create([
'en' => [
'name' => 'Right Home Banner Area',
],
'tr' => [
'name' => 'Anasayfa Sağ reklam alanı',
],
'slug' => 'right-home-banner-area',
]);
$blockhtml = HtmlBlockBlocksEntryModel::create([
'en' => [
'html' => ' <div class="advertisement text-center">
<a href="#"><img src="{{ img(\'theme::images/ads/1.jpg\').url }}" alt="Images" class="img-responsive"></a>
</div>',
],
'tr' => [
'html' => ' <div class="advertisement text-center">
<a href="#"><img src="{{ img(\'theme::images/ads/1.jpg\').url }}" alt="Images" class="img-responsive"></a>
</div>',
],
]);
$block_block = BlocksBlocksEntryModel::create([
'area_id' => $block_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' => $blockhtml->id,
]);
// List item Right Sidebar
$block_area = BlocksAreasEntryModel::create([
'en' => [
'name' => 'List item Right Sidebar',
],
'tr' => [
'name' => 'ilan Detay Sağ Alan',
],
'slug' => 'list-item-right-sidebar',
]);
$blockhtml = HtmlBlockBlocksEntryModel::create([
'en' => [
'html' => ' <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>',
],
'tr' => [
'html' => ' <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>',
],
]);
$block_block = BlocksBlocksEntryModel::create([
'area_id' => $block_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' => $blockhtml->id,
]);
// Profile Right Sidebar
$block_area = BlocksAreasEntryModel::create([
'en' => [
'name' => 'Profile Right Sidebar',
],
'tr' => [
'name' => 'Profil Sağ Alan',
],
'slug' => 'profile-right-sidebar',
]);
$blockhtml = HtmlBlockBlocksEntryModel::create([
'en' => [
'html' => ' <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>',
],
'tr' => [
'html' => ' <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>',
],
]);
$block_block = BlocksBlocksEntryModel::create([
'area_id' => $block_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' => $blockhtml->id,
]);
} }
} }

View File

@ -0,0 +1,34 @@
<?php namespace Visiosoft\AdvsModule\Adv\Command;
use Visiosoft\AdvsModule\Adv\Contract\AdvRepositoryInterface;
class GetAd
{
/**
* @var $id
*/
protected $id;
/**
* GetProduct constructor.
* @param $id
*/
public function __construct($id)
{
$this->id = $id;
}
/**
* @param AdvRepositoryInterface $groups
* @return |null
*/
public function handle(AdvRepositoryInterface $groups)
{
if ($this->id) {
return $groups->findById($this->id);
}
return null;
}
}

View File

@ -0,0 +1,28 @@
<?php namespace Visiosoft\AdvsModule;
use Anomaly\Streams\Platform\Addon\Plugin\Plugin;
use Visiosoft\AdvsModule\Adv\Command\GetAd;
class AdvsModulePlugin extends Plugin
{
/**
* @return array
*/
public function getFunctions()
{
return [
new \Twig_SimpleFunction(
'adDetail',
function ($id) {
if (!$ad = $this->dispatch(new GetAd($id))) {
return null;
}
return $ad;
}
)
];
}
}

View File

@ -1,19 +1,63 @@
<?php namespace Visiosoft\AdvsModule; <?php namespace Visiosoft\AdvsModule;
use Anomaly\FilesModule\Disk\Contract\DiskRepositoryInterface;
use Anomaly\FilesModule\Folder\Contract\FolderRepositoryInterface;
use Anomaly\Streams\Platform\Database\Seeder\Seeder; use Anomaly\Streams\Platform\Database\Seeder\Seeder;
use Anomaly\Streams\Platform\Model\Options\OptionsAdvertisementEntryModel; use Anomaly\Streams\Platform\Model\Options\OptionsAdvertisementEntryModel;
use Chumper\Zipper\Zipper; use Chumper\Zipper\Zipper;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use Visiosoft\AdvsModule\Adv\AdvSeeder; use Visiosoft\AdvsModule\Seed\BlockSeeder;
class AdvsModuleSeeder extends Seeder class AdvsModuleSeeder extends Seeder
{ {
/**
* The disk repository.
*
* @var DiskRepositoryInterface
*/
protected $disks;
/**
* The folder repository.
*
* @var FolderRepositoryInterface
*/
protected $folders;
/**
* Create a new FolderSeeder instance.
*
* @param DiskRepositoryInterface $disks
* @param FolderRepositoryInterface $folders
*/
public function __construct(DiskRepositoryInterface $disks, FolderRepositoryInterface $folders)
{
$this->disks = $disks;
$this->folders = $folders;
}
/** /**
* Run the seeder. * Run the seeder.
*/ */
public function run() public function run()
{ {
$disk = $this->disks->findBySlug('local');
$this->folders->create(
[
'en' => [
'name' => 'Favicon',
'description' => 'A folder for Favicon.',
],
'slug' => 'favicon',
'disk' => $disk,
'allowed_types' => [
'ico'
],
]
);
//Download demo SQL //Download demo SQL
$repository = "https://raw.githubusercontent.com/openclassify/Openclassify-Demo-Data/master/"; $repository = "https://raw.githubusercontent.com/openclassify/Openclassify-Demo-Data/master/";
@ -24,7 +68,7 @@ class AdvsModuleSeeder extends Seeder
$zipper->make('advs-files.zip')->folder('advs-files')->extractTo(base_path().'/public/app/default/files-module/local/images/'); $zipper->make('advs-files.zip')->folder('advs-files')->extractTo(base_path().'/public/app/default/files-module/local/images/');
$zipper->close(); $zipper->close();
$this->call(AdvSeeder::class); $this->call(BlockSeeder::class);
/* Demo Start */ /* Demo Start */
DB::table('files_files')->truncate(); DB::table('files_files')->truncate();

View File

@ -27,7 +27,9 @@ class AdvsModuleServiceProvider extends AddonServiceProvider
* *
* @type array|null * @type array|null
*/ */
protected $plugins = []; protected $plugins = [
AdvsModulePlugin::class,
];
/** /**
* The addon Artisan commands. * The addon Artisan commands.

View File

@ -25,6 +25,12 @@ use Illuminate\Contracts\Events\Dispatcher;
class AdvsController extends AdminController class AdvsController extends AdminController
{ {
private $model;
public function __construct(AdvModel $model)
{
$this->model = $model;
parent::__construct();
}
/** /**
* Display an index of existing entries. * Display an index of existing entries.
@ -66,6 +72,16 @@ class AdvsController extends AdminController
] ]
]); ]);
if($this->model->is_enabled('recommendedads'))
{
$table->addButton('add_recommended',[
'type' => 'default',
'icon' => 'fa fa-gg',
'text' => 'Add Recommended',
'href' => '/admin/recommendedads/create/{entry.id}',
]);
}
$table->setColumns([ $table->setColumns([
'name' => [ 'name' => [
'class' => 'advs-name', 'class' => 'advs-name',

View File

@ -0,0 +1,177 @@
<?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', 'profile-right-sidebar')
->delete();
// left Home Banner Area
$left_home_banner_area = BlocksAreasEntryModel::create([
'en' => [
'name' => 'Left Home Banner Area',
],
'tr' => [
'name' => 'Anasayfa Sol reklam alanı',
],
'slug' => 'left-home-banner-area',
]);
$left_home_banner_html = HtmlBlockBlocksEntryModel::create([
'en' => [
'html' => file_get_contents(__DIR__ . '/Blocks/left-home-banner-area.twig'),
],
'tr' => [
'html' => file_get_contents(__DIR__ . '/Blocks/left-home-banner-area.twig'),
],
]);
BlocksBlocksEntryModel::create([
'area_id' => $left_home_banner_area->id,
'area_type' => 'Anomaly\BlocksModule\Area\AreaModel',
'field_id' => 52,
'extension' => 'anomaly.extension.html_block',
'display_title' => 0,
'entry_type' => 'Anomaly\HtmlBlockExtension\Block\BlockModel',
'entry_id' => $left_home_banner_html->id,
]);
// middle Home Banner Area
$middle_home_banner_area = BlocksAreasEntryModel::create([
'en' => [
'name' => 'Middle Home Banner Area',
],
'tr' => [
'name' => 'Anasayfa Orta reklam alanı',
],
'slug' => 'middle-home-banner-area',
]);
$middle_home_banner_html = HtmlBlockBlocksEntryModel::create([
'en' => [
'html' => file_get_contents(__DIR__ . '/Blocks/middle-home-banner-area.twig'),
],
'tr' => [
'html' => file_get_contents(__DIR__ . '/Blocks/middle-home-banner-area.twig'),
],
]);
BlocksBlocksEntryModel::create([
'area_id' => $middle_home_banner_area->id,
'area_type' => 'Anomaly\BlocksModule\Area\AreaModel',
'field_id' => 52,
'extension' => 'anomaly.extension.html_block',
'display_title' => 0,
'entry_type' => 'Anomaly\HtmlBlockExtension\Block\BlockModel',
'entry_id' => $middle_home_banner_html->id,
]);
// right Home Banner Area
$right_home_banner_area = BlocksAreasEntryModel::create([
'en' => [
'name' => 'Right Home Banner Area',
],
'tr' => [
'name' => 'Anasayfa Sağ reklam alanı',
],
'slug' => 'right-home-banner-area',
]);
$right_home_banner_html = HtmlBlockBlocksEntryModel::create([
'en' => [
'html' => file_get_contents(__DIR__ . '/Blocks/right-home-banner-area.twig'),
],
'tr' => [
'html' => file_get_contents(__DIR__ . '/Blocks/right-home-banner-area.twig'),
],
]);
BlocksBlocksEntryModel::create([
'area_id' => $right_home_banner_area->id,
'area_type' => 'Anomaly\BlocksModule\Area\AreaModel',
'field_id' => 52,
'extension' => 'anomaly.extension.html_block',
'display_title' => 0,
'entry_type' => 'Anomaly\HtmlBlockExtension\Block\BlockModel',
'entry_id' => $right_home_banner_html->id,
]);
// List item Right Sidebar
$list_item_right_sidebar_area = BlocksAreasEntryModel::create([
'en' => [
'name' => 'List item Right Sidebar',
],
'tr' => [
'name' => 'ilan Detay Sağ Alan',
],
'slug' => 'list-item-right-sidebar',
]);
$list_item_right_sidebar_html = HtmlBlockBlocksEntryModel::create([
'en' => [
'html' => file_get_contents(__DIR__ . '/Blocks/list-item-right-sidebar-en.twig'),
],
'tr' => [
'html' => file_get_contents(__DIR__ . '/Blocks/list-item-right-sidebar-tr.twig'),
],
]);
BlocksBlocksEntryModel::create([
'area_id' => $list_item_right_sidebar_area->id,
'area_type' => 'Anomaly\BlocksModule\Area\AreaModel',
'field_id' => 52,
'extension' => 'anomaly.extension.html_block',
'display_title' => 0,
'entry_type' => 'Anomaly\HtmlBlockExtension\Block\BlockModel',
'entry_id' => $list_item_right_sidebar_html->id,
]);
// Profile Right Sidebar
$profile_right_sidebar_area = BlocksAreasEntryModel::create([
'en' => [
'name' => 'Profile Right Sidebar',
],
'tr' => [
'name' => 'Profil Sağ Alan',
],
'slug' => 'profile-right-sidebar',
]);
$profile_right_sidebar_html = HtmlBlockBlocksEntryModel::create([
'en' => [
'html' => file_get_contents(__DIR__ . '/Blocks/list-item-right-sidebar-en.twig'),
],
'tr' => [
'html' => file_get_contents(__DIR__ . '/Blocks/list-item-right-sidebar-tr.twig'),
],
]);
BlocksBlocksEntryModel::create([
'area_id' => $profile_right_sidebar_area->id,
'area_type' => 'Anomaly\BlocksModule\Area\AreaModel',
'field_id' => 52,
'extension' => 'anomaly.extension.html_block',
'display_title' => 0,
'entry_type' => 'Anomaly\HtmlBlockExtension\Block\BlockModel',
'entry_id' => $profile_right_sidebar_html->id,
]);
}
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -17,7 +17,7 @@ class VisiosoftModuleCatsCreateCategoryStream extends Migration
'versionable' => false, 'versionable' => false,
'trashable' => false, 'trashable' => false,
'searchable' => false, 'searchable' => false,
'sortable' => false, 'sortable' => true,
]; ];
/** /**

View File

@ -7,12 +7,24 @@
{% if table.options.sortable %} {% if table.options.sortable %}
{{ asset_add("scripts.js", "streams::js/table/sortable.js") }} {{ asset_add("scripts.js", "streams::js/table/sortable.js") }}
{% endif %} {% endif %}
{% if app.request.get('cat') != null %}
{% set parent = category_detail(app.request.get('cat')) %}
{% if parent.parent_category is null %}
{% set parent_url = url('admin/cats') %}
{% else %}
{% set parent_url = url('admin/cats?cat='~parent.parent_category_id) %}
{% endif %}
<div class="container-fluid">
<div id="buttons">
<a class="btn btn-md btn-warning " href="{{ parent_url }}">
<i class="fa fa-arrow-left"></i> Go To Parent ../<b><u>{{ parent.name }}</u></b>
</a>
</div>
</div>
{% endif %}
<div class="container-fluid"> <div class="container-fluid">
{{ view("streams::table/partials/filters", {'table': table}) }} {{ view("streams::table/partials/filters", {'table': table}) }}
{{ view("streams::table/partials/views", {'table': table}) }} {{ view("streams::table/partials/views", {'table': table}) }}
{{ view(table.options.heading ?: "streams::table/partials/heading", {'table': table}) }} {{ view(table.options.heading ?: "streams::table/partials/heading", {'table': table}) }}
{% if not table.rows.empty() %} {% if not table.rows.empty() %}
{% block card %} {% block card %}

View File

@ -0,0 +1,38 @@
<?php namespace Visiosoft\CatsModule\Category\Command;
use Visiosoft\CatsModule\Category\Contract\CategoryRepositoryInterface;
class GetCategoryDetail
{
/**
* @var $id
*/
protected $id;
/**
* GetProduct constructor.
* @param $id
*/
public function __construct($id)
{
$this->id = $id;
}
/**
* @param CategoryRepositoryInterface $groups
* @return |null
*/
public function handle(CategoryRepositoryInterface $groups)
{
if ($this->id) {
$category = $groups->find($this->id);
if (!is_null($category))
return $category;
else
return null;
}
return null;
}
}

View File

@ -0,0 +1,38 @@
<?php namespace Visiosoft\CatsModule\Category\Command;
use Visiosoft\CatsModule\Category\Contract\CategoryRepositoryInterface;
class GetCategoryName
{
/**
* @var $id
*/
protected $id;
/**
* GetProduct constructor.
* @param $id
*/
public function __construct($id)
{
$this->id = $id;
}
/**
* @param CategoryRepositoryInterface $groups
* @return |null
*/
public function handle(CategoryRepositoryInterface $groups)
{
if ($this->id) {
$category = $groups->find($this->id);
if (!is_null($category))
return $category->name;
else
return null;
}
return null;
}
}

View File

@ -28,7 +28,6 @@ class CategoryTableBuilder extends TableBuilder
*/ */
protected $columns = [ protected $columns = [
'name', 'name',
'order'
]; ];
/** /**

View File

@ -0,0 +1,39 @@
<?php namespace Visiosoft\CatsModule;
use Anomaly\Streams\Platform\Addon\Plugin\Plugin;
use Visiosoft\CatsModule\Category\Command\GetCategoryName;
use Visiosoft\CatsModule\Category\Command\GetCategoryDetail;
class CatsModulePlugin extends Plugin
{
/**
* @return array
*/
public function getFunctions()
{
return [
new \Twig_SimpleFunction(
'category_name',
function ($id) {
if (!$ad = $this->dispatch(new GetCategoryName($id))) {
return null;
}
return $ad;
}
),new \Twig_SimpleFunction(
'category_detail',
function ($id) {
if (!$ad = $this->dispatch(new GetCategoryDetail($id))) {
return null;
}
return $ad;
}
)
];
}
}

View File

@ -19,7 +19,9 @@ class CatsModuleServiceProvider extends AddonServiceProvider
* *
* @type array|null * @type array|null
*/ */
protected $plugins = []; protected $plugins = [
CatsModulePlugin::class,
];
/** /**
* The addon Artisan commands. * The addon Artisan commands.
@ -48,11 +50,11 @@ class CatsModuleServiceProvider extends AddonServiceProvider
* @type array|null * @type array|null
*/ */
protected $routes = [ protected $routes = [
'admin/cats/placeholderforsearch' => 'Visiosoft\CatsModule\Http\Controller\Admin\PlaceholderforsearchController@index', 'admin/cats/placeholderforsearch' => 'Visiosoft\CatsModule\Http\Controller\Admin\PlaceholderforsearchController@index',
'admin/cats/placeholderforsearch/create' => 'Visiosoft\CatsModule\Http\Controller\Admin\PlaceholderforsearchController@create', 'admin/cats/placeholderforsearch/create' => 'Visiosoft\CatsModule\Http\Controller\Admin\PlaceholderforsearchController@create',
'admin/cats/placeholderforsearch/edit/{id}' => 'Visiosoft\CatsModule\Http\Controller\Admin\PlaceholderforsearchController@edit', 'admin/cats/placeholderforsearch/edit/{id}' => 'Visiosoft\CatsModule\Http\Controller\Admin\PlaceholderforsearchController@edit',
'admin/cats' => 'Visiosoft\CatsModule\Http\Controller\Admin\CategoryController@index', 'admin/cats' => 'Visiosoft\CatsModule\Http\Controller\Admin\CategoryController@index',
'admin/cats/create' => 'Visiosoft\CatsModule\Http\Controller\Admin\CategoryController@create', 'admin/cats/create' => 'Visiosoft\CatsModule\Http\Controller\Admin\CategoryController@create',
'admin/cats/edit/{id}' => 'Visiosoft\CatsModule\Http\Controller\Admin\CategoryController@edit', 'admin/cats/edit/{id}' => 'Visiosoft\CatsModule\Http\Controller\Admin\CategoryController@edit',
'admin/cats/category/delete/{id}' => 'Visiosoft\CatsModule\Http\Controller\Admin\CategoryController@delete', 'admin/cats/category/delete/{id}' => 'Visiosoft\CatsModule\Http\Controller\Admin\CategoryController@delete',
]; ];

View File

@ -39,7 +39,7 @@
<!-- Favicon --> <!-- Favicon -->
{#{{ favicons("theme::img/favicon.png") }}#} {{ favicons(url('files/' ~ file(setting_value('visiosoft.module.advs::favicon')).path)) }}
{# Base Theme Components #} {# Base Theme Components #}
{{ asset_add("theme.css", "theme::scss/bootstrap/bootstrap.scss") }} {{ asset_add("theme.css", "theme::scss/bootstrap/bootstrap.scss") }}

View File

@ -187,7 +187,10 @@ class UserAuthenticator
$users->save($user); $users->save($user);
$all['password'] = $opassword; //Register Password Original $all['password'] = $opassword; //Register Password Original
$all['subdomain'] = $all['username']; if(!isset($all['subdomain']))
{
$all['subdomain'] = $all['username'];
}
$all['user'] = $user; $all['user'] = $user;
$planParams['user'] = $user->id; //Register User id $planParams['user'] = $user->id; //Register User id