mirror of
https://github.com/openclassify/openclassify.git
synced 2026-01-11 18:01:10 -06:00
refactor some code
This commit is contained in:
parent
76200f50c5
commit
08bc694186
@ -3,7 +3,7 @@ var filter = {};
|
||||
filter.checkUser = () => {
|
||||
$.ajax({
|
||||
type: 'get',
|
||||
url: '/check_user',
|
||||
url: '/check-user',
|
||||
success: function (response) {
|
||||
if (response.success == true) {
|
||||
$('#search-fav-modal').modal('toggle');
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
<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>
|
||||
<a href="{{ url_route('adv_list_seo', [cat.slug]) }}" class="text-primary">{{ cat['name'] }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
<input class="hidden" id="adv-id" value="{{ adv.id }}">
|
||||
|
||||
@ -30,7 +30,7 @@
|
||||
|
||||
{{ trans('visiosoft.module.advs::field.offered_by') }}:
|
||||
<a id="owner"
|
||||
href="{{ url_route('visiosoft.module.advs::list_user_ad', [adv.created_by_id]) }}"
|
||||
href="{{ url_route('visiosoft.module.advs::list') }}?user={{ adv.created_by_id }}"
|
||||
data-content="{{ adv.owner_id }}"> {{ adv.first_name }} {{ adv.last_name }}
|
||||
</a>
|
||||
{{ addBlock('ad-detail/seller/action',{'seller_id':adv.owner_id})|raw }}
|
||||
@ -52,8 +52,9 @@
|
||||
{% 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.first_name }} {{ adv.last_name }}</a>
|
||||
<a href="{{ url_route('visiosoft.module.advs::list') }}?user={{ adv.created_by_id }}">
|
||||
{{ adv.first_name }} {{ adv.last_name }}
|
||||
</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
@ -39,7 +39,7 @@
|
||||
$.ajax({
|
||||
async: false,
|
||||
type: 'GET',
|
||||
url: '{{ url('mapJson') }}',
|
||||
url: '{{ url('map-json') }}',
|
||||
data: QueryString(window.location.href),
|
||||
success: function (data) {
|
||||
console.log(data)
|
||||
|
||||
@ -439,9 +439,9 @@ class AdvRepository extends EntryRepository implements AdvRepositoryInterface
|
||||
|
||||
public function getCategoriesWithAdID($id)
|
||||
{
|
||||
$adv = $this->model->find($id);
|
||||
$adv = $this->find($id);
|
||||
|
||||
if (!is_null($adv)) {
|
||||
if ($adv) {
|
||||
$categories = array();
|
||||
foreach ($adv->toArray() as $key => $field) {
|
||||
if (preg_match('/cat\d/', $key) and !is_null($field)) {
|
||||
@ -450,6 +450,7 @@ class AdvRepository extends EntryRepository implements AdvRepositoryInterface
|
||||
}
|
||||
return $categories;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@ -107,6 +107,13 @@ class AdvTableBuilder extends TableBuilder
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $assets = [];
|
||||
protected $assets = [
|
||||
'scripts.js' => [
|
||||
'visiosoft.module.advs::js/list.js',
|
||||
],
|
||||
'styles.css' => [
|
||||
'visiosoft.module.advs::css/custom.css',
|
||||
]
|
||||
];
|
||||
|
||||
}
|
||||
|
||||
@ -41,17 +41,6 @@ class AdvsModule extends Module
|
||||
'title' => 'visiosoft.module.advs::section.assets_clear.name',
|
||||
'href' => '/admin/assets/clear',
|
||||
]
|
||||
// 'custom_fields' => [
|
||||
// 'buttons' => [
|
||||
// 'new_custom_field',
|
||||
// ],
|
||||
// ],
|
||||
// 'custom_field_advs' => [
|
||||
// // 'buttons' => [
|
||||
// // 'new_custom_field_adv',
|
||||
// // ],
|
||||
// ],
|
||||
|
||||
];
|
||||
|
||||
}
|
||||
|
||||
@ -20,8 +20,6 @@ use Visiosoft\LocationModule\Village\VillageRepository;
|
||||
use Visiosoft\LocationModule\Village\VillageModel;
|
||||
use Visiosoft\CatsModule\Category\Contract\CategoryRepositoryInterface;
|
||||
use Visiosoft\CatsModule\Category\CategoryRepository;
|
||||
use Visiosoft\CatsModule\Category\CategoryModel;
|
||||
use Illuminate\Routing\Router;
|
||||
use Visiosoft\LocationModule\Country\Contract\CountryRepositoryInterface;
|
||||
use Visiosoft\LocationModule\Country\CountryRepository;
|
||||
|
||||
@ -37,46 +35,13 @@ class AdvsModuleServiceProvider extends AddonServiceProvider
|
||||
AdvsModulePlugin::class,
|
||||
];
|
||||
|
||||
/**
|
||||
* The addon Artisan commands.
|
||||
*
|
||||
* @type array|null
|
||||
*/
|
||||
protected $commands = [];
|
||||
|
||||
/**
|
||||
* The addon's scheduled commands.
|
||||
*
|
||||
* @type array|null
|
||||
*/
|
||||
protected $schedules = [];
|
||||
|
||||
/**
|
||||
* The addon API routes.
|
||||
*
|
||||
* @type array|null
|
||||
*/
|
||||
protected $api = [];
|
||||
|
||||
/**
|
||||
* The addon routes.
|
||||
*
|
||||
* @type array|null
|
||||
*/
|
||||
protected $routes = [
|
||||
'admin/advs/advs' => [
|
||||
'as' => 'visiosoft.module.advs::admin_advs',
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\Admin\AdvsController@index',
|
||||
],
|
||||
'admin/advs/advs/create' => 'Visiosoft\AdvsModule\Http\Controller\Admin\AdvsController@create',
|
||||
'admin/advs/advs/edit/{id}' => [
|
||||
'middleware' => 'auth',
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\Admin\AdvsController@edit'
|
||||
],
|
||||
'admin/advs/village' => 'Visiosoft\AdvsModule\Http\Controller\Admin\VillageController@index',
|
||||
'admin/advs/village/create' => 'Visiosoft\AdvsModule\Http\Controller\Admin\VillageController@create',
|
||||
'admin/advs/village/edit/{id}' => 'Visiosoft\AdvsModule\Http\Controller\Admin\VillageController@edit',
|
||||
'categories/checkparent/{id}' => 'Visiosoft\AdvsModule\Http\Controller\advsController@checkParentCat',
|
||||
// Admin routes
|
||||
'admin/advs/ajax' => [
|
||||
'as' => 'visiosoft.module.advs::ajax',
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\AjaxController@locations',
|
||||
@ -94,8 +59,6 @@ class AdvsModuleServiceProvider extends AddonServiceProvider
|
||||
'admin/advs' => 'Visiosoft\AdvsModule\Http\Controller\Admin\AdvsController@index',
|
||||
// User choose modal
|
||||
'admin/advs-users/choose/{advId}' => 'Visiosoft\AdvsModule\Http\Controller\Admin\AdvsController@choose',
|
||||
'admin/advs/create' => 'Visiosoft\AdvsModule\Http\Controller\Admin\AdvsController@create',
|
||||
'admin/advs/edit/{id}' => 'Visiosoft\AdvsModule\Http\Controller\Admin\AdvsController@edit',
|
||||
'admin/advs/list' => [
|
||||
'as' => 'visiosoft.module.advs::admin-list',
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\Admin\AdvsController@manage'
|
||||
@ -105,15 +68,6 @@ class AdvsModuleServiceProvider extends AddonServiceProvider
|
||||
'as' => 'visiosoft.module.advs::list',
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\advsController@index'
|
||||
],
|
||||
'advs/list?user={id}' => [
|
||||
'as' => 'visiosoft.module.advs::list_user_ad',
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\advsController@index',
|
||||
],
|
||||
'advs/list?cat={id}' => [
|
||||
'as' => 'visiosoft.module.advs::list_cat',
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\advsController@index',
|
||||
],
|
||||
'getlocations' => 'Visiosoft\AdvsModule\Http\Controller\advsController@getLocations',
|
||||
'advs/main' => 'Visiosoft\AdvsModule\Http\Controller\advsController@advsMainPage',
|
||||
'advs/adv/{id}' => [
|
||||
'as' => 'adv_detail_backup',
|
||||
@ -135,12 +89,6 @@ class AdvsModuleServiceProvider extends AddonServiceProvider
|
||||
'as' => 'advs_preview',
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\advsController@preview'
|
||||
],
|
||||
'advs/map?country={country}&city[]={city}&district={districts}' => [
|
||||
'as' => 'visiosoft.module.advs::show_ad_map_location',
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\advsController@map'
|
||||
],
|
||||
'advs/categories' => 'Visiosoft\AdvsModule\Http\Controller\CategoriesController@index',
|
||||
'advs/c/{cat}' => 'Visiosoft\AdvsModule\Http\Controller\CategoriesController@listByCat',
|
||||
'c/{category?}/{city?}' => [
|
||||
'as' => 'adv_list_seo',
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\advsController@index'
|
||||
@ -148,6 +96,7 @@ class AdvsModuleServiceProvider extends AddonServiceProvider
|
||||
'advs/module_active' => 'Visiosoft\AdvsModule\Http\Controller\advsController@index',
|
||||
'advs/create_adv' => [
|
||||
'as' => "advs::create_adv",
|
||||
'middleware' => "auth",
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\advsController@cats',
|
||||
],
|
||||
'advs/create_adv/post_cat' => [
|
||||
@ -156,6 +105,7 @@ class AdvsModuleServiceProvider extends AddonServiceProvider
|
||||
],
|
||||
'class/getcats/{id}' => 'Visiosoft\AdvsModule\Http\Controller\advsController@getCatsForNewAd',
|
||||
'advs/save_adv' => [
|
||||
'middleware' => 'auth',
|
||||
'as' => 'visiosoft.module.advs::post_cat',
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\advsController@store'
|
||||
],
|
||||
@ -170,38 +120,13 @@ class AdvsModuleServiceProvider extends AddonServiceProvider
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\advsController@statusAds'
|
||||
],
|
||||
'routes' => 'Visiosoft\AdvsModule\Http\Controller\advsController@routes',
|
||||
'advs/map/advs/list' => [
|
||||
'as' => 'advs_map_list',
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\advsController@map',
|
||||
],
|
||||
'advs/map' => [
|
||||
'as' => 'advs_map',
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\advsController@map',
|
||||
],
|
||||
'mapJson' => 'Visiosoft\AdvsModule\Http\Controller\advsController@mapJson',
|
||||
'map-json' => 'Visiosoft\AdvsModule\Http\Controller\advsController@mapJson',
|
||||
'advs/ttr/{id}' => 'Visiosoft\PackagesModule\Http\Controller\packageFEController@advsStatusbyUser',
|
||||
'advs/delete/{id}' => [
|
||||
'as' => 'advs::delete',
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\advsController@deleteAd',
|
||||
],
|
||||
'check_user' => 'Visiosoft\AdvsModule\Http\Controller\advsController@checkUser',
|
||||
'keySearch' => 'Visiosoft\AdvsModule\Http\Controller\AjaxController@keySearch',
|
||||
'adv/addCart/{id}' => [
|
||||
'as' => 'adv_AddCart',
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\advsController@advAddCart',
|
||||
],
|
||||
'ajax/StockControl' => [
|
||||
'as' => 'adv_stock_control_ajax',
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\advsController@stockControl',
|
||||
],
|
||||
'ajax/addCart' => [
|
||||
'as' => 'adv_add_cart_ajax',
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\advsController@addCart',
|
||||
],
|
||||
'ajax/countPhone' => [
|
||||
'as' => 'adv_count_show_phone',
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\advsController@showPhoneCounter',
|
||||
],
|
||||
'view/{type}' => [
|
||||
'as' => 'visiosoft.module.advs::view_type',
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\advsController@viewType',
|
||||
@ -211,13 +136,10 @@ class AdvsModuleServiceProvider extends AddonServiceProvider
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\Admin\AdvsController@assetsClear',
|
||||
],
|
||||
'adv/edit/category/{id}' => [
|
||||
'middleware' => 'auth',
|
||||
'as' => 'adv::edit_category',
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\advsController@editCategoryForAd',
|
||||
],
|
||||
'ajax/getcats/{id}' => [
|
||||
'as' => 'ajax::getCats',
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\advsController@getCats',
|
||||
],
|
||||
|
||||
'ajax/getAdvs' => [
|
||||
'as' => 'ajax::getAds',
|
||||
@ -247,24 +169,6 @@ class AdvsModuleServiceProvider extends AddonServiceProvider
|
||||
redirectDiffrentLang::class,
|
||||
];
|
||||
|
||||
/**
|
||||
* Addon group middleware.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $groupMiddleware = [
|
||||
//'web' => [
|
||||
// Visiosoft\AdvsModule\Http\Middleware\ExampleMiddleware::class,
|
||||
//],
|
||||
];
|
||||
|
||||
/**
|
||||
* Addon route middleware.
|
||||
*
|
||||
* @type array|null
|
||||
*/
|
||||
protected $routeMiddleware = [];
|
||||
|
||||
/**
|
||||
* The addon event listeners.
|
||||
*
|
||||
@ -276,15 +180,6 @@ class AdvsModuleServiceProvider extends AddonServiceProvider
|
||||
],
|
||||
];
|
||||
|
||||
/**
|
||||
* The addon alias bindings.
|
||||
*
|
||||
* @type array|null
|
||||
*/
|
||||
protected $aliases = [
|
||||
//'Example' => Visiosoft\AdvsModule\Example::class
|
||||
];
|
||||
|
||||
/**
|
||||
* The addon class bindings.
|
||||
*
|
||||
@ -296,8 +191,6 @@ class AdvsModuleServiceProvider extends AddonServiceProvider
|
||||
// AdvsCustomFieldsEntryModel::class => CustomFieldModel::class,
|
||||
AdvsAdvsEntryModel::class => AdvModel::class,
|
||||
LocationVillageEntryModel::class => VillageModel::class,
|
||||
AdvsCategoriesEntryModel::class => CategoryModel::class,
|
||||
AdvsAdvsEntryModel::class => AdvModel::class,
|
||||
'my_form' => AdvFormBuilder::class,
|
||||
];
|
||||
|
||||
@ -307,9 +200,6 @@ class AdvsModuleServiceProvider extends AddonServiceProvider
|
||||
* @type array|null
|
||||
*/
|
||||
protected $singletons = [
|
||||
// CfValueRepositoryInterface::class => CfValueRepository::class,
|
||||
// CustomFieldAdvRepositoryInterface::class => CustomFieldAdvRepository::class,
|
||||
// CustomFieldRepositoryInterface::class => CustomFieldRepository::class,
|
||||
AdvRepositoryInterface::class => AdvRepository::class,
|
||||
VillageRepositoryInterface::class => VillageRepository::class,
|
||||
CategoryRepositoryInterface::class => CategoryRepository::class,
|
||||
@ -317,15 +207,6 @@ class AdvsModuleServiceProvider extends AddonServiceProvider
|
||||
OptionRepositoryInterface::class => OptionRepository::class,
|
||||
];
|
||||
|
||||
/**
|
||||
* Additional service providers.
|
||||
*
|
||||
* @type array|null
|
||||
*/
|
||||
protected $providers = [
|
||||
//\ExamplePackage\Provider\ExampleProvider::class
|
||||
];
|
||||
|
||||
/**
|
||||
* The addon view overrides.
|
||||
*
|
||||
@ -333,29 +214,8 @@ class AdvsModuleServiceProvider extends AddonServiceProvider
|
||||
*/
|
||||
protected $overrides = [
|
||||
'streams::form/form' => 'visiosoft.module.advs::form/form',
|
||||
//'streams::errors/404' => 'module::errors/404',
|
||||
//'streams::errors/500' => 'module::errors/500',
|
||||
];
|
||||
|
||||
/**
|
||||
* The addon mobile-only view overrides.
|
||||
*
|
||||
* @type array|null
|
||||
*/
|
||||
protected $mobile = [
|
||||
//'streams::errors/404' => 'module::mobile/errors/404',
|
||||
//'streams::errors/500' => 'module::mobile/errors/500',
|
||||
];
|
||||
|
||||
/**
|
||||
* Register the addon.
|
||||
*/
|
||||
public function register()
|
||||
{
|
||||
// Run extra pre-boot registration logic here.
|
||||
// Use method injection or commands to bring in services.
|
||||
}
|
||||
|
||||
/**
|
||||
* Boot the addon.
|
||||
* @param AddonCollection $addonCollection
|
||||
@ -381,18 +241,4 @@ class AdvsModuleServiceProvider extends AddonServiceProvider
|
||||
// Disable file versioning
|
||||
$fileModel->disableVersioning();
|
||||
}
|
||||
|
||||
/**
|
||||
* Map additional addon routes.
|
||||
*
|
||||
* @param Router $router
|
||||
*/
|
||||
// public function map(Router $router)
|
||||
// {
|
||||
// // Register dynamic routes here for example.
|
||||
// // Use method injection or commands to bring in services.
|
||||
// }
|
||||
public function map(Router $router)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,13 +1,10 @@
|
||||
<?php namespace Visiosoft\AdvsModule\Http\Controller\Admin;
|
||||
|
||||
|
||||
use Anomaly\SettingsModule\Setting\Contract\SettingRepositoryInterface;
|
||||
use Anomaly\Streams\Platform\Application\Application;
|
||||
use Anomaly\Streams\Platform\Entry\Contract\EntryInterface;
|
||||
use Anomaly\Streams\Platform\Model\Advs\AdvsAdvsEntryTranslationsModel;
|
||||
use Anomaly\Streams\Platform\Model\Cats\CatsCategoryEntryModel;
|
||||
use Anomaly\UsersModule\User\Contract\UserRepositoryInterface;
|
||||
use Anomaly\UsersModule\User\UserModel;
|
||||
use Illuminate\Filesystem\Filesystem;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
@ -18,7 +15,6 @@ use Visiosoft\AdvsModule\Adv\Table\Filter\StatusFilterQuery;
|
||||
use Visiosoft\AdvsModule\Adv\Table\Filter\UserFilterQuery;
|
||||
use Visiosoft\AdvsModule\Adv\AdvModel;
|
||||
use Visiosoft\AdvsModule\Adv\Event\ChangedStatusAd;
|
||||
use Visiosoft\AdvsModule\Adv\Form\AdvFormBuilder;
|
||||
use Visiosoft\AdvsModule\Adv\Table\AdvTableBuilder;
|
||||
use Anomaly\Streams\Platform\Http\Controller\AdminController;
|
||||
use Visiosoft\AdvsModule\Option\Contract\OptionRepositoryInterface;
|
||||
@ -28,23 +24,24 @@ use Visiosoft\AlgoliaModule\Search\SearchModel;
|
||||
|
||||
class AdvsController extends AdminController
|
||||
{
|
||||
private $model;
|
||||
|
||||
private $advRepository;
|
||||
private $advsEntryTranslationsModel;
|
||||
private $optionRepository;
|
||||
private $userRepository;
|
||||
|
||||
public function __construct(
|
||||
AdvModel $model,
|
||||
AdvRepositoryInterface $advRepository,
|
||||
AdvsAdvsEntryTranslationsModel $advsEntryTranslationsModel,
|
||||
OptionRepositoryInterface $optionRepository
|
||||
OptionRepositoryInterface $optionRepository,
|
||||
UserRepositoryInterface $userRepository
|
||||
)
|
||||
{
|
||||
parent::__construct();
|
||||
$this->model = $model;
|
||||
$this->advRepository = $advRepository;
|
||||
$this->advsEntryTranslationsModel = $advsEntryTranslationsModel;
|
||||
$this->optionRepository = $optionRepository;
|
||||
$this->userRepository = $userRepository;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -53,11 +50,8 @@ class AdvsController extends AdminController
|
||||
* @param AdvTableBuilder $table
|
||||
* @return \Symfony\Component\HttpFoundation\Response
|
||||
*/
|
||||
public function index(AdvTableBuilder $table, \Anomaly\UsersModule\User\UserModel $userModel, CityModel $cityModel, CatsCategoryEntryModel $categoryModel)
|
||||
public function index(AdvTableBuilder $table, CityModel $cityModel, CatsCategoryEntryModel $categoryModel)
|
||||
{
|
||||
$table->addAsset("styles.css", "visiosoft.module.advs::css/custom.css");
|
||||
$table->addAsset('scripts.js', 'visiosoft.module.advs::js/list.js');
|
||||
|
||||
$table->addButtons([
|
||||
'status' => [
|
||||
'text' => function (EntryInterface $entry) {
|
||||
@ -89,10 +83,7 @@ class AdvsController extends AdminController
|
||||
}
|
||||
},
|
||||
],
|
||||
'edit' => [
|
||||
'href' => '/advs/edit_advs/{entry.id}',
|
||||
'text' => "<font class='hidden-xs-down'>" . trans('streams::button.edit') . "</font>",
|
||||
],
|
||||
|
||||
'settings' => [
|
||||
'text' => false,
|
||||
'href' => false,
|
||||
@ -110,19 +101,11 @@ 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([
|
||||
'cover_photo' => [
|
||||
'value' => function (EntryInterface $entry) {
|
||||
return "<img width='80px' src='" . $this->model->AddAdsDefaultCoverImage($entry)->cover_photo . "' >";
|
||||
$coverImageUrl = $this->advRepository->getModel()->AddAdsDefaultCoverImage($entry)->cover_photo;
|
||||
return "<img width='80px' src='{$coverImageUrl}' >";
|
||||
},
|
||||
],
|
||||
'entry.id',
|
||||
@ -130,7 +113,12 @@ class AdvsController extends AdminController
|
||||
'class' => 'advs-name',
|
||||
'sort_column' => 'slug',
|
||||
'value' => function (EntryInterface $entry) {
|
||||
return (!is_null($entry->name)) ? "<a href='" . $this->model->getAdvDetailLinkByModel($entry, 'list') . "' > " . $entry->name . "</a > " : "<font color='red'>" . trans("visiosoft.module.advs::view.unfinished") . "</font>";
|
||||
if ($entry->name) {
|
||||
$adLink = $this->advRepository->getModel()->getAdvDetailLinkByModel($entry, 'list');
|
||||
return "<a href='$adLink' >{$entry->name}</a >";
|
||||
} else {
|
||||
return "<span class='text-danger'>" . trans("visiosoft.module.advs::view.unfinished") . "</span>";
|
||||
}
|
||||
},
|
||||
],
|
||||
'price' => [
|
||||
@ -143,11 +131,7 @@ class AdvsController extends AdminController
|
||||
'class' => 'advs-country',
|
||||
],
|
||||
'created_by' => [
|
||||
'value' => function (EntryInterface $entry, UserModel $userModel) {
|
||||
$user = $userModel->find($entry->created_by_id);
|
||||
if (!is_null($user))
|
||||
return $user->first_name . " " . $user->last_name;
|
||||
}
|
||||
'value' => 'entry.created_by.name'
|
||||
],
|
||||
'category' => [
|
||||
'value' => function (EntryInterface $entry, CategoryModel $categoryModel) {
|
||||
@ -161,7 +145,7 @@ class AdvsController extends AdminController
|
||||
|
||||
|
||||
$cities = $cityModel->all()->pluck('name', 'id')->all();
|
||||
$users = $userModel->newQuery()
|
||||
$users = $this->userRepository->newQuery()
|
||||
->select(DB::raw("CONCAT_WS('', first_name, ' ', last_name, ' (', gsm_phone, ' || ', email, ')') AS display_name"), 'id')
|
||||
->pluck('display_name', 'id')
|
||||
->toArray();
|
||||
@ -212,55 +196,29 @@ class AdvsController extends AdminController
|
||||
if (empty($request->all())) {
|
||||
return $this->view->make('module::admin/advs/choose', ['users' => $users->all(), 'advId' => $advId]);
|
||||
} else {
|
||||
$this->model->newQuery()->find($advId)->update(['created_by_id' => $request->user_id]);
|
||||
$this->advRepository->getModel()->newQuery()->find($advId)->update(['created_by_id' => $request->user_id]);
|
||||
$this->messages->success(trans('module::message.owner_updated_successfully'));
|
||||
return redirect()->back();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new entry.
|
||||
*
|
||||
* @param AdvFormBuilder $form
|
||||
* @return \Symfony\Component\HttpFoundation\Response
|
||||
*/
|
||||
public function create(AdvFormBuilder $form)
|
||||
public function actions($id, $type)
|
||||
{
|
||||
// $this->dispatch(new AddEntryFormFromRequest($form));
|
||||
// $this->dispatch(new AddAdvFormFromRequest($form));
|
||||
return $form->render();
|
||||
}
|
||||
|
||||
/**
|
||||
* Edit an existing entry.
|
||||
*
|
||||
* @param AdvFormBuilder $form
|
||||
* @param $id
|
||||
* @return \Symfony\Component\HttpFoundation\Response
|
||||
*/
|
||||
public function edit(AdvFormBuilder $form, $id)
|
||||
{
|
||||
return $form->render($id);
|
||||
}
|
||||
|
||||
public function actions($id, $type, SettingRepositoryInterface $settings, AdvModel $advModel)
|
||||
{
|
||||
|
||||
$ad = $advModel->where('advs_advs.id', '=', $id)->first();
|
||||
$ad = $this->advRepository->find($id);
|
||||
$ad->status = $type;
|
||||
|
||||
$default_adv_publish = $settings->value('visiosoft.module.advs::default_published_time');
|
||||
$default_adv_publish = setting_value('visiosoft.module.advs::default_published_time');
|
||||
$ad->finish_at = date('Y-m-d H:i:s', strtotime(date('Y-m-d H:i:s') . ' + ' . $default_adv_publish . ' day'));
|
||||
$ad->publish_at = date('Y-m-d H:i:s');
|
||||
|
||||
//algolia Search Module
|
||||
$isActiveAlgolia = $advModel->is_enabled('algolia');
|
||||
$isActiveAlgolia = $this->advRepository->getModel()->is_enabled('algolia');
|
||||
if ($isActiveAlgolia) {
|
||||
$algolia = new SearchModel();
|
||||
$algolia->updateStatus($id, $type, $settings);
|
||||
$algolia->updateStatus($id, $type);
|
||||
}
|
||||
$ad->update();
|
||||
event(new ChangedStatusAd($ad));//Create Notify
|
||||
event(new ChangedStatusAd($ad)); //Create Notify
|
||||
return back();
|
||||
}
|
||||
|
||||
@ -328,42 +286,34 @@ class AdvsController extends AdminController
|
||||
|
||||
public function assetsClear(Filesystem $files, Application $application, Request $request)
|
||||
{
|
||||
$directory = 'assets';
|
||||
$files->deleteDirectory($directory = $application->getAssetsPath($directory), true);
|
||||
echo "<div class='bar'></div>" . "<br>";
|
||||
echo "<style>
|
||||
.bar {
|
||||
width: 30%;
|
||||
height: 20px;
|
||||
border: 1px solid #2980b9;
|
||||
border-radius: 3px;
|
||||
background-image:
|
||||
repeating-linear-gradient(
|
||||
-45deg,
|
||||
#2980b9,
|
||||
#2980b9 11px,
|
||||
#eee 10px,
|
||||
#eee 20px /* determines size */
|
||||
);
|
||||
background-size: 28px 28px;
|
||||
animation: move .5s linear infinite;
|
||||
}
|
||||
$files->deleteDirectory($directory = $application->getAssetsPath('assets'), true);
|
||||
echo "
|
||||
<div class='bar'></div>
|
||||
<br>
|
||||
<style>
|
||||
.bar {
|
||||
width: 30%;
|
||||
height: 20px;
|
||||
border: 1px solid #2980b9;
|
||||
border-radius: 3px;
|
||||
background-image: repeating-linear-gradient(-45deg, #2980b9, #2980b9 11px, #eee 10px, #eee 20px);
|
||||
background-size: 28px 28px;
|
||||
animation: move .5s linear infinite;
|
||||
}
|
||||
|
||||
@keyframes move {
|
||||
0% {
|
||||
background-position: 0 0;
|
||||
}
|
||||
100% {
|
||||
background-position: 28px 0;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
<script>
|
||||
location.href = '" . $request->server('HTTP_REFERER') . "';
|
||||
</script>
|
||||
|
||||
<a href='" . $request->server('HTTP_REFERER') . "'><b>Return Back</b></a>";
|
||||
echo "<br><a href='/admin'><b>Return Admin Panel</b></a>";
|
||||
@keyframes move {
|
||||
0% {
|
||||
background-position: 0 0;
|
||||
}
|
||||
100% {
|
||||
background-position: 28px 0;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
<script>
|
||||
location.href = '{$request->server('HTTP_REFERER')}';
|
||||
</script>
|
||||
";
|
||||
}
|
||||
}
|
||||
|
||||
@ -19,9 +19,9 @@ class AjaxController extends PublicController
|
||||
|
||||
public function __construct(AdvModel $advModel, UserModel $userModel)
|
||||
{
|
||||
parent::__construct();
|
||||
$this->adv_model = $advModel;
|
||||
$this->userModel = $userModel;
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
public function locations(Request $request)
|
||||
|
||||
@ -1,32 +0,0 @@
|
||||
<?php namespace Visiosoft\AdvsModule\Http\Controller;
|
||||
|
||||
use Anomaly\Streams\Platform\Http\Controller\PublicController;
|
||||
use Anomaly\Streams\Platform\Model\Cats\CatsCategoryEntryModel;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class CategoriesController extends PublicController {
|
||||
|
||||
public function listByCat($cat)
|
||||
{
|
||||
$advs = DB::table('advs_advs')
|
||||
->where('cat1', $cat)
|
||||
->orwhere('cat2', $cat)
|
||||
->orwhere('cat3', $cat)
|
||||
->orwhere('cat4', $cat)
|
||||
->orwhere('cat5', $cat)
|
||||
->orwhere('cat6', $cat)
|
||||
->orwhere('cat7', $cat)
|
||||
->leftJoin('users_users as u1', 'advs_advs.created_by_id', '=', 'u1.id')
|
||||
->leftJoin('advs_advs_translations as t1', 'advs_advs.id', '=', 't1.id')
|
||||
->select('advs_advs.*','u1.username as owner', 't1.name as name')
|
||||
->get();
|
||||
|
||||
foreach ($advs as $adv) {
|
||||
if (strpos($adv->cover_photo, 'http') !== 0 && strpos($adv->cover_photo, '/') !== 0) {
|
||||
$adv->cover_photo = "/$adv->cover_photo";
|
||||
}
|
||||
}
|
||||
|
||||
return $this->view->make('visiosoft.module.advs::list/list', compact('advs'));
|
||||
}
|
||||
}
|
||||
@ -3,14 +3,11 @@
|
||||
use Anomaly\SettingsModule\Setting\Contract\SettingRepositoryInterface;
|
||||
use Anomaly\Streams\Platform\Http\Controller\PublicController;
|
||||
use Anomaly\Streams\Platform\Model\Advs\AdvsAdvsEntryModel;
|
||||
use Anomaly\Streams\Platform\Model\Advs\PurchasePurchaseEntryModel;
|
||||
use Anomaly\Streams\Platform\Model\Complaints\ComplaintsComplainTypesEntryModel;
|
||||
use Anomaly\Streams\Platform\Model\Options\OptionsAdvertisementEntryModel;
|
||||
use Anomaly\UsersModule\User\Contract\UserRepositoryInterface;
|
||||
use Visiosoft\AdvsModule\Adv\Command\appendRequestURL;
|
||||
use Visiosoft\AdvsModule\Adv\Event\ChangedStatusAd;
|
||||
use Visiosoft\AdvsModule\Adv\Event\CreatedAd;
|
||||
use Visiosoft\AdvsModule\Adv\Event\showAdPhone;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Cookie;
|
||||
@ -29,22 +26,18 @@ use Visiosoft\LocationModule\City\CityModel;
|
||||
use Visiosoft\AlgoliaModule\Search\SearchModel;
|
||||
use Visiosoft\AlgoliatestModule\Http\Controller\Admin\IndexController;
|
||||
use Visiosoft\CloudinaryModule\Video\VideoModel;
|
||||
use Visiosoft\FavsModule\Http\Controller\FavsController;
|
||||
use Visiosoft\LocationModule\District\DistrictModel;
|
||||
use Visiosoft\LocationModule\Neighborhood\NeighborhoodModel;
|
||||
use Visiosoft\LocationModule\Village\VillageModel;
|
||||
use Visiosoft\PackagesModule\Http\Controller\PackageFEController;
|
||||
use Visiosoft\AdvsModule\Adv\Contract\AdvRepositoryInterface;
|
||||
use Visiosoft\CatsModule\Category\Contract\CategoryRepositoryInterface;
|
||||
use Visiosoft\LocationModule\Country\Contract\CountryRepositoryInterface;
|
||||
use Anomaly\Streams\Platform\Message\MessageBag;
|
||||
use Visiosoft\PackagesModule\Package\PackageModel;
|
||||
|
||||
use Illuminate\Contracts\Events\Dispatcher;
|
||||
use Visiosoft\QrcontactModule\Qr\QrModel;
|
||||
use Visiosoft\StoreModule\Ad\AdModel;
|
||||
|
||||
|
||||
class AdvsController extends PublicController
|
||||
{
|
||||
private $userRepository;
|
||||
@ -101,6 +94,8 @@ class AdvsController extends PublicController
|
||||
Request $request
|
||||
)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
$this->userRepository = $userRepository;
|
||||
|
||||
$this->adv_model = $advModel;
|
||||
@ -126,14 +121,9 @@ class AdvsController extends PublicController
|
||||
|
||||
$this->requestHttp = $request;
|
||||
|
||||
parent::__construct();
|
||||
$this->optionRepository = $optionRepository;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return \Illuminate\Contracts\View\View|mixed
|
||||
*/
|
||||
public function index($category = null, $city = null)
|
||||
{
|
||||
$customParameters = array();
|
||||
@ -463,26 +453,6 @@ class AdvsController extends PublicController
|
||||
compact('adv', 'categories', 'features', 'isActiveDopings', 'options'));
|
||||
}
|
||||
|
||||
public function getLocations()
|
||||
{
|
||||
$table = $this->requestHttp->table;
|
||||
$id = $this->requestHttp->id;
|
||||
$db = $this->requestHttp->typeDb;
|
||||
|
||||
$location = "";
|
||||
if ($table == "cities") {
|
||||
$location = $this->city_model->query()->where($db, $id)->get();
|
||||
} elseif ($table == "districts") {
|
||||
$location = $this->district_model->query()->whereIn($db, $id)->get();
|
||||
} elseif ($table == "neighborhoods") {
|
||||
$location = $this->neighborhood_model->query()->where($db, $id)->get();
|
||||
} elseif ($table == "village") {
|
||||
$location = $this->village_model->query()->where($db, $id)->get();
|
||||
}
|
||||
|
||||
return $location;
|
||||
}
|
||||
|
||||
public function deleteAd(AdvRepositoryInterface $advs, $id)
|
||||
{
|
||||
$ad = $this->adv_model->find($id);
|
||||
@ -499,18 +469,12 @@ class AdvsController extends PublicController
|
||||
return back();
|
||||
}
|
||||
|
||||
public function getCats($id)
|
||||
{
|
||||
return $this->category_repository->getSubCatById($id);
|
||||
}
|
||||
|
||||
public function getCatsForNewAd($id)
|
||||
{
|
||||
|
||||
if ($this->adv_model->is_enabled('packages')) {
|
||||
$cats = app('Visiosoft\PackagesModule\Http\Controller\PackageFEController')->AdLimitForCategorySelection($id);
|
||||
} else {
|
||||
$cats = $this->getCats($id);
|
||||
$cats = $this->category_repository->getSubCatById($id);
|
||||
|
||||
if (empty($cats->toArray())) {
|
||||
$cats = trans('visiosoft.module.advs::message.create_ad_with_post_cat');
|
||||
@ -548,87 +512,76 @@ class AdvsController extends PublicController
|
||||
'request', 'formBuilder', 'cats_d', 'custom_fields'));
|
||||
}
|
||||
|
||||
public function store
|
||||
(
|
||||
public function store(
|
||||
AdvFormBuilder $form,
|
||||
MessageBag $messages,
|
||||
Request $request,
|
||||
SettingRepositoryInterface $settings,
|
||||
AdvRepositoryInterface $advRepository,
|
||||
CategoryRepositoryInterface $categoryRepository,
|
||||
Dispatcher $events,
|
||||
AdvModel $advModel,
|
||||
AdressRepositoryInterface $address,
|
||||
CategoryModel $categoryModel
|
||||
AdressRepositoryInterface $address
|
||||
)
|
||||
{
|
||||
if (!Auth::user()) {
|
||||
redirect('/login?redirect=' . url()->current())->send();
|
||||
}
|
||||
$messages->pull('error');
|
||||
if ($request->action == "update") {
|
||||
$error = $form->build($request->update_id)->validate()->getFormErrors()->getMessages();
|
||||
if (\request()->action == "update") {
|
||||
$error = $form->build(\request()->update_id)->validate()->getFormErrors()->getMessages();
|
||||
if (!empty($error)) {
|
||||
return $this->redirect->back();
|
||||
}
|
||||
/* Update Adv */
|
||||
$adv = AdvsAdvsEntryModel::find($request->update_id);
|
||||
$adv = AdvsAdvsEntryModel::find(\request()->update_id);
|
||||
|
||||
if ($advModel->is_enabled('packages') and $adv->slug == "") {
|
||||
$cat = app('Visiosoft\PackagesModule\Http\Controller\PackageFEController')->AdLimitForNewAd($request);
|
||||
if ($this->adv_repository->getModel()->is_enabled('packages') and $adv->slug == "") {
|
||||
$cat = app('Visiosoft\PackagesModule\Http\Controller\PackageFEController')->AdLimitForNewAd(\request());
|
||||
if (!is_null($cat)) {
|
||||
return redirect('/');
|
||||
}
|
||||
}
|
||||
|
||||
// Create options
|
||||
$deletedOptions = $request->deleted_options;
|
||||
$newOptions = $request->new_options;
|
||||
$deletedOptions = \request()->deleted_options;
|
||||
$newOptions = \request()->new_options;
|
||||
if (!empty($deletedOptions)) {
|
||||
$deletedOptions = explode(',', $request->deleted_options);
|
||||
$deletedOptions = explode(',', \request()->deleted_options);
|
||||
$this->optionRepository->newQuery()
|
||||
->whereIn('id', $deletedOptions)
|
||||
->where('adv_id', $request->update_id)
|
||||
->where('adv_id', \request()->update_id)
|
||||
->delete();
|
||||
}
|
||||
if (!empty($newOptions)) {
|
||||
$newOptions = explode(',', $request->new_options);
|
||||
$newOptions = explode(',', \request()->new_options);
|
||||
foreach ($newOptions as $option) {
|
||||
$this->optionRepository->create([
|
||||
'name' => $option,
|
||||
'adv_id' => $request->update_id,
|
||||
'adv_id' => \request()->update_id,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
$adv->is_get_adv = $request->is_get_adv;
|
||||
$adv->is_get_adv = \request()->is_get_adv;
|
||||
$adv->save();
|
||||
|
||||
//algolia Search Module
|
||||
$isActiveAlgolia = $advModel->is_enabled('algolia');
|
||||
$isActiveAlgolia = $this->adv_repository->getModel()->is_enabled('algolia');
|
||||
if ($isActiveAlgolia) {
|
||||
$algolia = new SearchModel();
|
||||
if ($adv->slug == "") {
|
||||
$algolia->saveAlgolia($adv->toArray(), $settings);
|
||||
$algolia->saveAlgolia($adv->toArray());
|
||||
} else {
|
||||
$algolia->updateAlgolia($request->toArray(), $settings);
|
||||
$algolia->updateAlgolia(\request()->toArray());
|
||||
}
|
||||
}
|
||||
//Cloudinary Module
|
||||
$isActiveCloudinary = $advModel->is_enabled('cloudinary');
|
||||
$isActiveCloudinary = $this->adv_repository->getModel()->is_enabled('cloudinary');
|
||||
if ($isActiveCloudinary) {
|
||||
|
||||
$CloudinaryModel = new VideoModel();
|
||||
$CloudinaryModel->updateRequest($request);
|
||||
$CloudinaryModel->updateRequest(\request());
|
||||
|
||||
if ($request->url != "") {
|
||||
$adv->cover_photo = "https://res.cloudinary.com/" . $request->cloudName . "/video/upload/w_400,e_loop/" .
|
||||
$request->uploadKey . "/" . $request->filename . "gif";
|
||||
if (\request()->url != "") {
|
||||
$adv->cover_photo = "https://res.cloudinary.com/" . \request()->cloudName . "/video/upload/w_400,e_loop/" .
|
||||
\request()->uploadKey . "/" . \request()->filename . "gif";
|
||||
$adv->save();
|
||||
}
|
||||
}
|
||||
if ($this->adv_model->is_enabled('customfields')) {
|
||||
app('Visiosoft\CustomfieldsModule\Http\Controller\cfController')->store($adv, $request);
|
||||
app('Visiosoft\CustomfieldsModule\Http\Controller\cfController')->store($adv, \request());
|
||||
}
|
||||
|
||||
// Auto approve
|
||||
@ -641,8 +594,8 @@ class AdvsController extends PublicController
|
||||
]);
|
||||
}
|
||||
|
||||
$form->render($request->update_id);
|
||||
$adv = $this->adv_repository->find($request->update_id);
|
||||
$form->render(\request()->update_id);
|
||||
$adv = $this->adv_repository->find(\request()->update_id);
|
||||
|
||||
if ($this->request->address_id != "") {
|
||||
$address = $address->find($this->request->address_id);
|
||||
@ -654,35 +607,35 @@ class AdvsController extends PublicController
|
||||
$adv->save();
|
||||
}
|
||||
$post = $form->getPostData();
|
||||
$post['id'] = $request->update_id;
|
||||
$events->dispatch(new priceChange($post));//price history
|
||||
if ($request->url == "") {
|
||||
$advRepository->cover_image_update($adv);
|
||||
$post['id'] = \request()->update_id;
|
||||
event(new priceChange($post));
|
||||
if (\request()->url == "") {
|
||||
$this->adv_repository->cover_image_update($adv);
|
||||
}
|
||||
|
||||
if ($form->hasFormErrors()) {
|
||||
$cats = $request->toArray();
|
||||
$cats = \request()->toArray();
|
||||
|
||||
$cats_d = array();
|
||||
|
||||
foreach ($cats as $para => $value) {
|
||||
if (substr($para, 0, 3) === "cat") {
|
||||
$id = $cats[$para];
|
||||
$cat = $categoryRepository->getSingleCat($id);
|
||||
$cat = $this->category_repository->getSingleCat($id);
|
||||
if ($cat != null) {
|
||||
$cats_d[$para] = $cat->name;
|
||||
}
|
||||
}
|
||||
}
|
||||
return redirect('/advs/edit_advs/' . $request->update_id)->with('cats_d', $cats_d)->with('request', $request);
|
||||
return redirect('/advs/edit_advs/' . \request()->update_id)->with('cats_d', $cats_d)->with('request', \request());
|
||||
}
|
||||
event(new CreatedAd($adv));
|
||||
return redirect(route('advs_preview', [$request->update_id]));
|
||||
return redirect(route('advs_preview', [\request()->update_id]));
|
||||
}
|
||||
|
||||
/* New Create Adv */
|
||||
$request->publish_at = date('Y-m-d H:i:s');
|
||||
$all = $request->all();
|
||||
\request()->publish_at = date('Y-m-d H:i:s');
|
||||
$all = \request()->all();
|
||||
$new = AdvModel::query()->create($all);
|
||||
return redirect('/advs/edit_advs/' . $new->id);
|
||||
}
|
||||
@ -745,16 +698,15 @@ class AdvsController extends PublicController
|
||||
);
|
||||
}
|
||||
|
||||
public function statusAds($id, $type, SettingRepositoryInterface $settings, Dispatcher $events)
|
||||
public function statusAds($id, $type)
|
||||
{
|
||||
$ad = $this->adv_model->getAdv($id);
|
||||
$auto_approved = $settings->value('visiosoft.module.advs::auto_approve');
|
||||
$default_published_time = $settings->value('visiosoft.module.advs::default_published_time');
|
||||
$auto_approved = setting_value('visiosoft.module.advs::auto_approve');
|
||||
$default_published_time = setting_value('visiosoft.module.advs::default_published_time');
|
||||
|
||||
if ($auto_approved == true AND $type == 'pending_admin') {
|
||||
if ($type == 'pending_admin' && $auto_approved == true) {
|
||||
$type = "approved";
|
||||
}
|
||||
if ($type == "approved" and $auto_approved != true) {
|
||||
} elseif ($type == "approved" && $auto_approved != true) {
|
||||
$type = "pending_admin";
|
||||
}
|
||||
|
||||
@ -775,293 +727,68 @@ class AdvsController extends PublicController
|
||||
$isActiveAlgolia = $this->adv_model->is_enabled('algolia');
|
||||
if ($isActiveAlgolia) {
|
||||
$algolia = new SearchModel();
|
||||
$algolia->updateStatus($id, $type, $settings);
|
||||
$algolia->updateStatus($id, $type);
|
||||
}
|
||||
|
||||
$this->adv_model->statusAds($id, $type);
|
||||
event(new ChangedStatusAd($ad));//Create Notify
|
||||
|
||||
event(new ChangedStatusAd($ad));
|
||||
|
||||
$this->messages->success(trans('streams::message.edit_success', ['name' => 'Status']));
|
||||
return back();
|
||||
}
|
||||
|
||||
public function cats()
|
||||
{
|
||||
if (!Auth::user()) {
|
||||
redirect('/login?redirect=' . url()->current())->send();
|
||||
}
|
||||
$main_cats = $this->category_repository->mainCats();
|
||||
$mainCats = $this->category_repository->mainCats();
|
||||
|
||||
return $this->view->make('visiosoft.module.advs::new-ad/post-cat', compact('main_cats'));
|
||||
return $this->view->make('visiosoft.module.advs::new-ad/post-cat', compact('mainCats'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $id
|
||||
* @return \Illuminate\Contracts\View\View|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector|mixed
|
||||
*/
|
||||
public function editCategoryForAd($id)
|
||||
{
|
||||
if (!Auth::user()) {
|
||||
redirect('/login?redirect=' . url()->current())->send();
|
||||
}
|
||||
|
||||
$adv = $this->adv_model->userAdv(true)->find($id);
|
||||
|
||||
if (is_null($adv)) {
|
||||
if (!$adv) {
|
||||
abort(403);
|
||||
}
|
||||
|
||||
if ($this->requestHttp->action == 'update') {
|
||||
$params = $this->requestHttp->all();
|
||||
if (\request()->action == 'update') {
|
||||
$params = \request()->all();
|
||||
unset($params['action']);
|
||||
|
||||
for ($i = 2; $i <= 10; $i++) {
|
||||
if (!isset($params['cat' . $i])) {
|
||||
$params['cat' . $i] = NULL;
|
||||
$params['cat' . $i] = null;
|
||||
}
|
||||
}
|
||||
|
||||
$adv->update($params);
|
||||
$this->messages->success(trans('visiosoft.module.advs::message.updated_category_msg'));
|
||||
return redirect('/advs/edit_advs/' . $id);
|
||||
return redirect()->route('visiosoft.module.advs::edit_adv', [$id]);
|
||||
}
|
||||
|
||||
$categories = $this->adv_repository->getCategoriesWithAdID($id);
|
||||
|
||||
return $this->view->make('visiosoft.module.advs::new-ad/edit-cat', compact('id', 'adv', 'categories'));
|
||||
|
||||
return $this->view->make(
|
||||
'visiosoft.module.advs::new-ad/edit-cat',
|
||||
compact('id', 'adv', 'categories')
|
||||
);
|
||||
}
|
||||
|
||||
public function login()
|
||||
public function mapJson()
|
||||
{
|
||||
if (auth()->check()) {
|
||||
return $this->redirect->to($this->request->get('redirect', '/'));
|
||||
}
|
||||
|
||||
$urlPrev = str_replace(url('/'), '', url()->previous());
|
||||
|
||||
return $this->view->make('theme::login', compact('urlPrev'));
|
||||
}
|
||||
|
||||
public function register()
|
||||
{
|
||||
|
||||
if (auth()->check()) {
|
||||
return redirect('/');
|
||||
}
|
||||
|
||||
return $this->view->make('theme::register');
|
||||
}
|
||||
|
||||
public function passwordForgot()
|
||||
{
|
||||
if (auth()->check()) {
|
||||
return redirect('/');
|
||||
}
|
||||
|
||||
return $this->view->make('theme::passwords/forgot');
|
||||
}
|
||||
|
||||
public function passwordReset(Request $request)
|
||||
{
|
||||
if (auth()->check()) {
|
||||
return redirect('/');
|
||||
}
|
||||
$code = $request->email;
|
||||
return $this->view->make('theme::passwords/reset', compact('code'));
|
||||
}
|
||||
|
||||
public function homePage(CategoryRepositoryInterface $repository)
|
||||
{
|
||||
$cats = $repository->mainCats();
|
||||
|
||||
return $this->view->make('theme::addons/anomaly/pages-module/page', compact('cats'));
|
||||
}
|
||||
|
||||
public function map(
|
||||
AdvRepositoryInterface $advRepository,
|
||||
CategoryRepositoryInterface $categories,
|
||||
CountryRepositoryInterface $countries,
|
||||
Request $request
|
||||
)
|
||||
{
|
||||
|
||||
return $this->index($advRepository, $categories, $countries, $request, true);
|
||||
|
||||
}
|
||||
|
||||
public function mapJson(Request $request, AdvRepositoryInterface $repository)
|
||||
{
|
||||
$param = $request->toArray();
|
||||
$param = \request()->toArray();
|
||||
$customParameters = array();
|
||||
$advModel = new AdvModel();
|
||||
|
||||
$advs = $repository->searchAdvs('map', $param, $customParameters);
|
||||
$advs = $this->adv_repository->searchAdvs('map', $param, $customParameters);
|
||||
foreach ($advs as $index => $ad) {
|
||||
$advs[$index]->seo_link = $advModel->getAdvDetailLinkByModel($ad, 'list');
|
||||
$advs[$index] = $advModel->AddAdsDefaultCoverImage($ad);
|
||||
$advs[$index]->seo_link = $this->adv_repository->getModel()->getAdvDetailLinkByModel($ad, 'list');
|
||||
$advs[$index] = $this->adv_repository->getModel()->AddAdsDefaultCoverImage($ad);
|
||||
}
|
||||
return response()->json($advs);
|
||||
}
|
||||
|
||||
public function getAdvsByProfile(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 == 'favs') {
|
||||
//Get Favorites Advs
|
||||
$isActiveFavs = new AdvModel();
|
||||
$isActiveFavs = $isActiveFavs->is_enabled('favs');
|
||||
|
||||
if ($isActiveFavs) {
|
||||
|
||||
$page_title = trans('visiosoft.module.advs::field.favs_adv.name');
|
||||
$favs = new FavsController();
|
||||
$favs = $favs->getFavsByProfile();
|
||||
|
||||
$fav_ids = array();
|
||||
foreach ($favs as $fav) {
|
||||
$fav_ids[] = $fav['adv_name_id'];//fav advs id List
|
||||
}
|
||||
$my_advs = $my_advs->favsAdvsByUser($fav_ids);
|
||||
}
|
||||
} 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());
|
||||
$files = array();
|
||||
foreach ($my_advs as $my_adv) {
|
||||
$files[] = $my_adv->files;
|
||||
}
|
||||
return response()->json(['success' => true, 'content' => $my_advs, 'files' => $files, 'title' => $page_title]);
|
||||
}
|
||||
|
||||
public function authCheck()
|
||||
{
|
||||
if (auth()->check()) {
|
||||
return auth()->user();
|
||||
}
|
||||
|
||||
return "false";
|
||||
}
|
||||
|
||||
public function isActive($slug)
|
||||
{
|
||||
$query = new AdvModel();
|
||||
|
||||
return $query->is_enabled($slug);
|
||||
}
|
||||
|
||||
public function isActiveJson($slug)
|
||||
{
|
||||
$isActive = $this->isActive($slug);
|
||||
return response()->json(array('isActive' => $isActive));
|
||||
}
|
||||
|
||||
public function checkParentCat($id)
|
||||
{
|
||||
$option = new CategoryModel();
|
||||
return $option->getParentCats($id);
|
||||
}
|
||||
|
||||
public function checkUser()
|
||||
{
|
||||
if (Auth::check()) {
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
]);
|
||||
} else {
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
public function advAddCart($id, $quantity = 1)
|
||||
{
|
||||
$thisModel = new AdvModel();
|
||||
$adv = $thisModel->isAdv($id);
|
||||
$response = array();
|
||||
if ($adv) {
|
||||
$cart = $thisModel->addCart($adv, $quantity);
|
||||
$response['status'] = "success";
|
||||
} else {
|
||||
$response['status'] = "error";
|
||||
$response['msg'] = trans('visiosoft.module.advs::message.error_added_cart');
|
||||
}
|
||||
return back();
|
||||
}
|
||||
|
||||
public function addCart(Request $request)
|
||||
{
|
||||
if (\auth()->check()) {
|
||||
$id = $request->id;
|
||||
$quantity = $request->quantity;
|
||||
$name = $request->name;
|
||||
$thisModel = new AdvModel();
|
||||
$adv = $thisModel->isAdv($id);
|
||||
$response = array();
|
||||
if ($adv) {
|
||||
$cart = $thisModel->addCart($adv, $quantity, $name);
|
||||
$response['status'] = "success";
|
||||
} else {
|
||||
$response['status'] = "error";
|
||||
$response['msg'] = trans('visiosoft.module.advs::message.error_added_cart');
|
||||
}
|
||||
} else {
|
||||
$response['status'] = "guest";
|
||||
}
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function stockControl(Request $request, AdvRepositoryInterface $advRepository)
|
||||
{
|
||||
$quantity = $request->quantity;
|
||||
$id = $request->id;
|
||||
$type = $request->type;
|
||||
$advmodel = new AdvModel();
|
||||
$adv = $advmodel->getAdv($id);
|
||||
|
||||
$status = $advmodel->stockControl($id, $quantity);
|
||||
|
||||
$response = array();
|
||||
if ($status == 1) {
|
||||
$response['newQuantity'] = $advRepository->getQuantity($quantity, $type, $adv);
|
||||
|
||||
} else {
|
||||
$response['newQuantity'] = $adv->stock;
|
||||
}
|
||||
|
||||
$response['newPrice'] = $adv->price * $response['newQuantity'];
|
||||
|
||||
$separator = ",";
|
||||
$decimals = 2;
|
||||
$point = ".";
|
||||
|
||||
$response['newPrice'] = number_format($response['newPrice'], $decimals, $point, str_replace(' ', ' ', $separator));
|
||||
$symbol = config('streams::currencies.supported.' . strtoupper($adv->currency) . '.symbol');
|
||||
|
||||
$response['newPrice'] = $symbol . $response['newPrice'];
|
||||
$response['status'] = $status;
|
||||
$response['maxQuantity'] = $adv->stock;
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function showPhoneCounter(Request $request, AdvModel $advModel, Dispatcher $events)
|
||||
{
|
||||
$ad_id = $request->id;
|
||||
$ad = $advModel->getAdv($ad_id);
|
||||
|
||||
if ($advModel->is_enabled('phoneclickcounter')) {
|
||||
$events->dispatch(new showAdPhone($ad));//show ad phone events
|
||||
}
|
||||
return "success";
|
||||
}
|
||||
|
||||
public function extendAll($isAdmin = null)
|
||||
{
|
||||
$adsExtended = $this->adv_repository->extendAds(true, $isAdmin);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user