mirror of
https://github.com/openclassify/openclassify.git
synced 2026-01-11 18:01:10 -06:00
Merge branch 'master' of https://github.com/openclassify/openclassify
This commit is contained in:
commit
97f97c4b6d
@ -23,6 +23,7 @@ return [
|
||||
'latest-limit',
|
||||
'popular_ads_limit',
|
||||
'default_view_type',
|
||||
'price_area_hidden',
|
||||
'hide_listing_standard_price',
|
||||
'hide_zero_price',
|
||||
'auto_approve',
|
||||
@ -67,7 +68,7 @@ return [
|
||||
'user' => [
|
||||
'title' => 'visiosoft.module.advs::section.user',
|
||||
'fields' => [
|
||||
'register_email_field',
|
||||
'register_email_field'
|
||||
],
|
||||
],
|
||||
'filter' => [
|
||||
@ -76,6 +77,12 @@ return [
|
||||
'hide_price_filter', 'hide_date_filter', 'hide_photo_filter', 'hide_map_filter', 'user_filter_limit'
|
||||
],
|
||||
],
|
||||
'translations' => [
|
||||
'title' => 'visiosoft.module.advs::section.translations',
|
||||
'fields' => [
|
||||
'override_text',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
@ -153,6 +153,12 @@ return [
|
||||
'mode' => 'checkbox'
|
||||
]
|
||||
],
|
||||
'price_area_hidden' => [
|
||||
'type' => 'anomaly.field_type.boolean',
|
||||
'config' => [
|
||||
'default_value' => false,
|
||||
]
|
||||
],
|
||||
'enabled_currencies' => [
|
||||
'bind' => 'streams::currencies.enabled',
|
||||
'env' => 'ADV_ENABLED_CURRENCIES',
|
||||
@ -339,4 +345,9 @@ return [
|
||||
'mode' => 'checkbox'
|
||||
],
|
||||
],
|
||||
'override_text' => [
|
||||
'type' => 'anomaly.field_type.tags',
|
||||
'bind' => 'override_text',
|
||||
'env' => 'OVERRIDE_TEXT',
|
||||
],
|
||||
];
|
||||
|
||||
@ -42,4 +42,5 @@ return [
|
||||
'replicate' => 'Replicate',
|
||||
'fast_create' => 'Fast create',
|
||||
'publish' => 'Publish',
|
||||
'import' => 'Import',
|
||||
];
|
||||
|
||||
@ -55,4 +55,5 @@ return [
|
||||
'option_configuration' => [
|
||||
'title' => 'Configuration',
|
||||
],
|
||||
'translations' => 'Translations',
|
||||
];
|
||||
|
||||
@ -126,7 +126,9 @@ return [
|
||||
'market_place' => [
|
||||
'name' => 'Market Place',
|
||||
],
|
||||
|
||||
'price_area_hidden' => [
|
||||
'name' => 'Price Area Hidden',
|
||||
],
|
||||
'hide_price_filter' => [
|
||||
'name' => 'Hide Price Filter',
|
||||
],
|
||||
@ -205,4 +207,8 @@ return [
|
||||
'name' => 'Show Post Ad Agreement',
|
||||
'instructions' => 'Turn this on if you want to display a privacy policy agreement on the ad creation page',
|
||||
],
|
||||
'override_text' => [
|
||||
'name' => 'Override Text',
|
||||
'instructions' => 'Old Value:New Value'
|
||||
],
|
||||
];
|
||||
|
||||
@ -38,5 +38,7 @@ return [
|
||||
'new_options_configuration' => 'Yeni Seçenek yapılandırması',
|
||||
'new_option_configuration' => 'Yeni Seçenek yapılandırması',
|
||||
'create_configurations' => 'Konfigürasyonlar Oluşturun',
|
||||
'replicate' => 'Tekrarlamak',
|
||||
'replicate' => 'Tekrarla',
|
||||
'publish' => 'Yayınla',
|
||||
|
||||
];
|
||||
|
||||
@ -307,6 +307,12 @@ return [
|
||||
'listing_details' => 'Liste Ayrıntıları',
|
||||
'preview' => 'Ön İzleme',
|
||||
'congratulations' => 'Tebrikler',
|
||||
'ad_desc' => 'İlan Açıklaması',
|
||||
'upload_photos' => 'Resim Yükle',
|
||||
'additional_fields' => 'Özel Alanlar',
|
||||
'ad_location' => 'Lokasyon Ekle',
|
||||
|
||||
|
||||
|
||||
'free' => 'Bedava',
|
||||
'ad_date' => 'İlan Tarihi',
|
||||
|
||||
@ -27,4 +27,6 @@ return [
|
||||
'ad_doesnt_exist' => "Bu İlan mevcut değil!",
|
||||
'select_location_error' => "Lütfen haritada bir yer seçin!",
|
||||
'this_ad_is_not_valid_anymore' => "Bu ürün veya ilan artık geçerli değil!",
|
||||
'approve_status_change' => "İlanınızın Durumu Etkin Olarak Ayarlandı!",
|
||||
'passive_status_change' => "İlanınızın Durumu Pasif Olarak Ayarlandı!",
|
||||
];
|
||||
|
||||
@ -90,7 +90,9 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row form-group select-price">
|
||||
<div class="row form-group select-price
|
||||
{{ setting_value('visiosoft.module.advs::price_area_hidden') ? 'hidden' }}">
|
||||
|
||||
<label class="col-sm-2 col-xs-12">
|
||||
{{ form.fields.price.label|raw }}
|
||||
<span class="required">*</span>
|
||||
@ -169,7 +171,9 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h5 class="mt-5 pb-1 border-bottom">{{ trans('visiosoft.module.advs::field.upload_photos') }}</h5>
|
||||
<h5 class="mt-5 pb-1 border-bottom">
|
||||
{{ trans('visiosoft.module.advs::field.upload_photos') }}
|
||||
</h5>
|
||||
<div class="bg-light p-4">
|
||||
<div class="row form-group images">
|
||||
<div class="col-md-12">
|
||||
@ -178,12 +182,14 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h5 class="mt-5 pb-1 border-bottom">
|
||||
{{ trans('visiosoft.module.advs::field.additional_fields') }}
|
||||
</h5>
|
||||
<div class="bg-light p-4">
|
||||
{{ addBlock('new-ad/other-fields',{'custom_fields':custom_fields})|raw }}
|
||||
</div>
|
||||
{% if count(custom_fields) %}
|
||||
<h5 class="mt-5 pb-1 border-bottom">
|
||||
{{ trans('visiosoft.module.advs::field.additional_fields') }}
|
||||
</h5>
|
||||
<div class="bg-light p-4">
|
||||
{{ addBlock('new-ad/other-fields',{'custom_fields':custom_fields})|raw }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<h5 class="mt-5 pb-1 border-bottom">
|
||||
{{ trans('visiosoft.module.advs::field.ad_location') }}
|
||||
|
||||
19
addons/default/visiosoft/advs-module/src/Adv/AdvsImport.php
Normal file
19
addons/default/visiosoft/advs-module/src/Adv/AdvsImport.php
Normal file
@ -0,0 +1,19 @@
|
||||
<?php
|
||||
namespace Visiosoft\AdvsModule\Adv;
|
||||
|
||||
|
||||
use Illuminate\Support\Str;
|
||||
use Maatwebsite\Excel\Concerns\ToModel;
|
||||
|
||||
class AdvsImport implements ToModel
|
||||
{
|
||||
public function model(array $row)
|
||||
{
|
||||
return new AdvModel([
|
||||
'name' => $row[0],
|
||||
'slug' => Str::slug($row[0]),
|
||||
'price' => $row[1],
|
||||
'currency' => $row[2],
|
||||
]);
|
||||
}
|
||||
}
|
||||
@ -25,13 +25,7 @@ class AdvTableButtons
|
||||
return ($entry->getStatus() == 'approved') ? "danger" : "success";
|
||||
},
|
||||
],
|
||||
|
||||
'edit' => [
|
||||
'href' => function (EntryModel $entry) {
|
||||
return route('visiosoft.module.advs::edit_adv', ['id' => $entry->getId()]);
|
||||
},
|
||||
'text' => "<font class='hidden-xs-down'>" . trans('streams::button.edit') . "</font>"
|
||||
],
|
||||
'edit',
|
||||
'settings' => [
|
||||
'text' => false,
|
||||
'href' => false,
|
||||
|
||||
@ -4,9 +4,6 @@ use Anomaly\Streams\Platform\Database\Seeder\Seeder;
|
||||
|
||||
class AdvsModuleSeeder extends Seeder
|
||||
{
|
||||
/**
|
||||
* Run the seeder.
|
||||
*/
|
||||
public function run()
|
||||
{
|
||||
}
|
||||
|
||||
@ -47,10 +47,18 @@ class AdvsModuleServiceProvider extends AddonServiceProvider
|
||||
],
|
||||
'admin/advs-users/choose/{advId}' => 'Visiosoft\AdvsModule\Http\Controller\Admin\AdvsController@choose',
|
||||
'admin/class/actions/{id}/{type}' => 'Visiosoft\AdvsModule\Http\Controller\Admin\AdvsController@actions',
|
||||
'admin/advs/export' => [
|
||||
'as' => 'advs::exportAdvs',
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\Admin\AdvsController@exportAdvs',
|
||||
],
|
||||
|
||||
|
||||
//Excel
|
||||
'admin/advs/export' => [
|
||||
'as' => 'advs::exportAdvs',
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\Admin\AdvsController@exportAdvs',
|
||||
],
|
||||
'admin/advs/import' => [
|
||||
'as' => 'visiosoft.module.advs::import.advs',
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\Admin\ExcelController@import',
|
||||
],
|
||||
|
||||
|
||||
// advsController
|
||||
'advs/list' => [
|
||||
@ -188,25 +196,25 @@ class AdvsModuleServiceProvider extends AddonServiceProvider
|
||||
// Others
|
||||
'advs/ttr/{id}' => 'Visiosoft\PackagesModule\Http\Controller\packageFEController@advsStatusbyUser',
|
||||
|
||||
//Configurations Admin Controller
|
||||
'admin/advs/option_configuration/create' => [
|
||||
'as' => 'visiosoft.module.advs::configrations.create',
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\Admin\OptionConfigurationController@create',
|
||||
],
|
||||
'admin/advs/option_configuration' => [
|
||||
'as' => 'visiosoft.module.advs::configrations.index',
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\Admin\OptionConfigurationController@index',
|
||||
],
|
||||
//Configurations Admin Controller
|
||||
'admin/advs/option_configuration/create' => [
|
||||
'as' => 'visiosoft.module.advs::configrations.create',
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\Admin\OptionConfigurationController@create',
|
||||
],
|
||||
'admin/advs/option_configuration' => [
|
||||
'as' => 'visiosoft.module.advs::configrations.index',
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\Admin\OptionConfigurationController@index',
|
||||
],
|
||||
|
||||
//Configuration Controller
|
||||
'advs/option_configuration/create' => [
|
||||
'as' => 'visiosoft.module.advs::user.configrations.create',
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\OptionConfigurationController@create',
|
||||
],
|
||||
'conf/addCart' => [
|
||||
'as' => 'configuration::add_cart',
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\OptionConfigurationController@confAddCart',
|
||||
],
|
||||
//Configuration Controller
|
||||
'advs/option_configuration/create' => [
|
||||
'as' => 'visiosoft.module.advs::user.configrations.create',
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\OptionConfigurationController@create',
|
||||
],
|
||||
'conf/addCart' => [
|
||||
'as' => 'configuration::add_cart',
|
||||
'uses' => 'Visiosoft\AdvsModule\Http\Controller\OptionConfigurationController@confAddCart',
|
||||
],
|
||||
|
||||
// Admin ProductoptionsController
|
||||
'admin/advs/product_options' => 'Visiosoft\AdvsModule\Http\Controller\Admin\ProductoptionsController@index',
|
||||
@ -237,9 +245,9 @@ class AdvsModuleServiceProvider extends AddonServiceProvider
|
||||
CategoryRepositoryInterface::class => CategoryRepository::class,
|
||||
CountryRepositoryInterface::class => CountryRepository::class,
|
||||
OptionRepositoryInterface::class => OptionRepository::class,
|
||||
ProductoptionRepositoryInterface::class => ProductoptionRepository::class,
|
||||
OptionConfigurationRepositoryInterface::class => OptionConfigurationRepository::class,
|
||||
ProductoptionsValueRepositoryInterface::class => ProductoptionsValueRepository::class,
|
||||
ProductoptionRepositoryInterface::class => ProductoptionRepository::class,
|
||||
OptionConfigurationRepositoryInterface::class => OptionConfigurationRepository::class,
|
||||
ProductoptionsValueRepositoryInterface::class => ProductoptionsValueRepository::class,
|
||||
];
|
||||
|
||||
public function boot(AddonCollection $addonCollection, FileModel $fileModel)
|
||||
@ -248,30 +256,35 @@ class AdvsModuleServiceProvider extends AddonServiceProvider
|
||||
'general_settings' => [
|
||||
'title' => 'visiosoft.module.advs::button.general_settings',
|
||||
'href' => '/admin/settings/modules/visiosoft.module.advs',
|
||||
'page' => 'anomaly.module.settings'
|
||||
'page' => 'anomaly.module.settings'
|
||||
],
|
||||
'theme_settings' => [
|
||||
'title' => 'visiosoft.theme.defaultadmin::section.theme_settings.name',
|
||||
'href' => url('admin/settings/themes/' . setting_value('streams::standard_theme')),
|
||||
'page' => 'anomaly.module.settings'
|
||||
'page' => 'anomaly.module.settings'
|
||||
],
|
||||
'assets_clear' => [
|
||||
'title' => 'visiosoft.module.advs::section.assets_clear.name',
|
||||
'href' => route('assets_clear'),
|
||||
'page' => 'anomaly.module.settings'
|
||||
'page' => 'anomaly.module.settings'
|
||||
],
|
||||
'export' => [
|
||||
'title' => 'visiosoft.module.advs::button.export',
|
||||
'href' => route('advs::exportAdvs'),
|
||||
'page' => 'visiosoft.module.advs'
|
||||
]
|
||||
'export' => [
|
||||
'title' => 'visiosoft.module.advs::button.export',
|
||||
'href' => route('advs::exportAdvs'),
|
||||
'page' => 'visiosoft.module.advs'
|
||||
],
|
||||
'import' => [
|
||||
'title' => 'visiosoft.module.advs::button.import',
|
||||
'href' => route('visiosoft.module.advs::import.advs'),
|
||||
'page' => 'visiosoft.module.advs'
|
||||
]
|
||||
];
|
||||
|
||||
foreach ($settings_url as $key => $value) {
|
||||
$addonCollection->get($value['page'])->addSection($key, $value);
|
||||
}
|
||||
|
||||
// Disable file versioning
|
||||
// Disable file versioning
|
||||
$fileModel->disableVersioning();
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,41 @@
|
||||
<?php namespace Visiosoft\AdvsModule\Http\Controller\Admin;
|
||||
|
||||
use Anomaly\FilesModule\File\Contract\FileRepositoryInterface;
|
||||
use Anomaly\Streams\Platform\Http\Controller\AdminController;
|
||||
use Anomaly\Streams\Platform\Ui\Form\FormBuilder;
|
||||
use Maatwebsite\Excel\Facades\Excel;
|
||||
use Visiosoft\AdvsModule\Adv\AdvsImport;
|
||||
|
||||
class ExcelController extends AdminController
|
||||
{
|
||||
public function import(FormBuilder $builder, FileRepositoryInterface $fileRepository)
|
||||
{
|
||||
if (request()->action == "save" and $file = $fileRepository->find(request()->file)) {
|
||||
if ($file->extension === 'xls' || $file->extension === 'xlsx') {
|
||||
$pathToFolder = "/storage/streams/default/files-module/local/ads_excel/";
|
||||
Excel::import(new AdvsImport(), base_path() . $pathToFolder . $file->name);
|
||||
$this->messages->success(trans('streams::message.create_success', ['name' => trans('module::addon.title')]));
|
||||
}
|
||||
}
|
||||
|
||||
//Form Render
|
||||
$builder->setFields([
|
||||
'file' => [
|
||||
"type" => "anomaly.field_type.file",
|
||||
"config" => [
|
||||
'folders' => ["ads_excel"],
|
||||
'mode' => 'upload'
|
||||
]
|
||||
],
|
||||
]);
|
||||
$builder->setActions([
|
||||
'save'
|
||||
]);
|
||||
|
||||
$builder->setOptions([
|
||||
'redirect' => route('visiosoft.module.advs::admin_advs')
|
||||
]);
|
||||
|
||||
return $builder->render();
|
||||
}
|
||||
}
|
||||
@ -32,7 +32,7 @@ new Promise(function (resolve, reject) {
|
||||
function getCities(country) {
|
||||
crudAjax('id=' + country, '/ajax/getCities', 'POST', function (callback) {
|
||||
cities = callback;
|
||||
$('select[name="default_city"]').html("<option>" + pick_option + "</option>");
|
||||
$('select[name="default_city"]').html("<option value=''>" + pick_option + "</option>");
|
||||
$.each(cities, function (index, value) {
|
||||
$('select[name="default_city"]').append("<option value='" + value.id + "'>" + value.name + "</option>");
|
||||
});
|
||||
@ -42,7 +42,7 @@ function getCities(country) {
|
||||
function getDistricts(city) {
|
||||
crudAjax('id=' + city, '/ajax/getDistricts', 'POST', function (callback) {
|
||||
cities = callback;
|
||||
$('select[name="default_district"]').html("<option>" + pick_option + "</option>");
|
||||
$('select[name="default_district"]').html("<option> value=''" + pick_option + "</option>");
|
||||
$.each(cities, function (index, value) {
|
||||
$('select[name="default_district"]').append("<option value='" + value.id + "'>" + value.name + "</option>");
|
||||
});
|
||||
@ -52,7 +52,7 @@ function getDistricts(city) {
|
||||
function getNeighborhoods(district) {
|
||||
crudAjax('id=' + district, '/ajax/getNeighborhoods', 'POST', function (callback) {
|
||||
cities = callback;
|
||||
$('select[name="default_neighborhood"]').html("<option>" + pick_option + "</option>");
|
||||
$('select[name="default_neighborhood"]').html("<option value=''>" + pick_option + "</option>");
|
||||
$.each(cities, function (index, value) {
|
||||
$('select[name="default_neighborhood"]').append("<option value='" + value.id + "'>" + value.name + "</option>");
|
||||
});
|
||||
|
||||
@ -1,15 +1,20 @@
|
||||
{% set folders = entries('files','folders').whereIn('slug',field_type.configGet('folders')).get() %}
|
||||
{% set allowed_types = {} %}
|
||||
{% for mimes in folders.pluck('allowed_types.value').all() %}
|
||||
{% set allowed_types = allowed_types|merge(mimes) %}
|
||||
{% endfor %}
|
||||
<div class="modal-body">
|
||||
<div class="dropzone"
|
||||
data-folder="1"
|
||||
data-icon="{{ icon('upload')|escape }}"
|
||||
data-max-size="{{ max_upload_size() }}"
|
||||
data-message="{{ trans('visiosoft.field_type.media::message.upload') }}"
|
||||
data-loading="{{ trans('visiosoft.field_type.media::message.loading') }}"
|
||||
data-uploading="{{ trans('visiosoft.field_type.media::message.uploading') }}"
|
||||
data-overwrite="{{ trans('anomaly.field_type.file::message.overwrite') }}"
|
||||
data-max-parallel="{{ setting_value('anomaly.module.files::max_parallel_uploads', 3) }}"
|
||||
data-allowed="{{ folder.allowed_types.value ? '.' ~ folder.allowed_types.value|join(',.') }}"></div>
|
||||
<div class="dropzone"
|
||||
data-folder="1"
|
||||
data-icon="{{ icon('upload')|escape }}"
|
||||
data-max-size="{{ max_upload_size() }}"
|
||||
data-message="{{ trans('visiosoft.field_type.media::message.upload') }}"
|
||||
data-loading="{{ trans('visiosoft.field_type.media::message.loading') }}"
|
||||
data-uploading="{{ trans('visiosoft.field_type.media::message.uploading') }}"
|
||||
data-overwrite="{{ trans('anomaly.field_type.file::message.overwrite') }}"
|
||||
data-max-parallel="{{ setting_value('anomaly.module.files::max_parallel_uploads', 3) }}"
|
||||
data-allowed="{{ (count(allowed_types)) ?'.'~allowed_types|join(',.'):'' }}"></div>
|
||||
|
||||
<div class="uploads"></div>
|
||||
<div class="uploads"></div>
|
||||
|
||||
</div>
|
||||
@ -73,7 +73,7 @@ function Locations(cat, level, name){
|
||||
url: "/class/ajax",
|
||||
success: function(msg){
|
||||
$('select[name="'+name+'"]').find('option').remove();
|
||||
$('select[name="'+name+'"]').append('<option value="">Choose an option...</option>');
|
||||
$('select[name="'+name+'"]').append('<option value="">' + chooseOptionTrans + '...</option>');
|
||||
$.each(msg, function(key, value){
|
||||
$('select[name="'+name+'"]').append('<option value="'+value.id+'">'+value.name+'</option>');
|
||||
});
|
||||
|
||||
@ -58,6 +58,12 @@ return [
|
||||
'birthday' => [
|
||||
'name' => 'Birthday'
|
||||
],
|
||||
'facebook_address' => [
|
||||
'name' => 'Facebook Address'
|
||||
],
|
||||
'google_address' => [
|
||||
'name' => 'Google Address'
|
||||
],
|
||||
'education' => [
|
||||
'name' => 'Education'
|
||||
],
|
||||
@ -375,6 +381,9 @@ return [
|
||||
'password' => [
|
||||
'name' => 'Password',
|
||||
],
|
||||
'old_password' => [
|
||||
'name' => 'Old password',
|
||||
],
|
||||
'new_password' => [
|
||||
'name' => 'New password',
|
||||
],
|
||||
|
||||
@ -29,6 +29,7 @@ return [
|
||||
'empty_password_sms_message' => 'Due to security issues, we changed your password! Your new password is:',
|
||||
'required_all' => "All Field is Required!",
|
||||
'can_not_remove_filled_fields' => "You can not remove filled fields!",
|
||||
'wrong_password' => "The password you entered is not correct!",
|
||||
|
||||
// Forgot Password
|
||||
'email_phone_not_found' => 'The E-mail, Phone Number is not correct!',
|
||||
|
||||
@ -377,6 +377,9 @@ return [
|
||||
'new_password' => [
|
||||
'name' => 'Yeni Şifre',
|
||||
],
|
||||
'old_password' => [
|
||||
'name' => 'Eski Şifre',
|
||||
],
|
||||
're_new_password' => [
|
||||
'name' => 'Şifre Onayı',
|
||||
],
|
||||
|
||||
@ -149,7 +149,22 @@
|
||||
{{ profileForm.fields.birthday.configSet('date_format','Y-m-d').setPlaceholder(now|date('Y-m-d')).input|raw }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<div class="form-group facebook_address-field">
|
||||
<label class="control-label font-weight-bold">
|
||||
{{ trans("visiosoft.module.profile::field.facebook_address.name") }}
|
||||
</label>
|
||||
{{ profileForm.fields.facebook_address.input|raw }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group google_address-field">
|
||||
<label class="control-label font-weight-bold">
|
||||
{{ trans("visiosoft.module.profile::field.google_address.name") }}
|
||||
</label>
|
||||
{{ profileForm.fields.google_address.input|raw }}
|
||||
</div>
|
||||
</div>
|
||||
{% if setting_value('visiosoft.module.profile::show_education_profession') %}
|
||||
<div class="col-md-12">
|
||||
<div class="form-group education-field">
|
||||
@ -236,6 +251,12 @@
|
||||
|
||||
{{ passwordForm.open()|raw }}
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="form-group">
|
||||
<label class="font-weight-bold">{{ trans("visiosoft.module.profile::field.old_password.name") }}</label>
|
||||
{{ passwordForm.fields.old_password.input|raw }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label class="font-weight-bold">{{ trans("visiosoft.module.profile::field.new_password.name") }}</label>
|
||||
|
||||
@ -6,6 +6,13 @@ use Anomaly\Streams\Platform\Ui\Form\FormBuilder;
|
||||
class PasswordFormBuilder extends FormBuilder
|
||||
{
|
||||
protected $fields = [
|
||||
'old_password' => [
|
||||
'type' => 'anomaly.field_type.text',
|
||||
'required' => true,
|
||||
'config' => [
|
||||
'type' => 'password'
|
||||
],
|
||||
],
|
||||
'new_password' => [
|
||||
'type' => 'anomaly.field_type.text',
|
||||
'required' => true,
|
||||
|
||||
@ -4,6 +4,7 @@ use Anomaly\Streams\Platform\Message\MessageBag;
|
||||
use Anomaly\UsersModule\User\User;
|
||||
use Anomaly\UsersModule\User\UserPassword;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
|
||||
class PasswordFormHandler
|
||||
{
|
||||
@ -20,6 +21,11 @@ class PasswordFormHandler
|
||||
return;
|
||||
}
|
||||
|
||||
if (!Hash::check($builder->getPostValue('old_password'), \auth()->user()->password)) {
|
||||
$messages->error(trans('visiosoft.module.profile::message.wrong_password'));
|
||||
return redirect()->back();
|
||||
}
|
||||
|
||||
if ($builder->getPostValue('new_password') != $builder->getPostValue('re_new_password')) {
|
||||
$messages->error(trans('visiosoft.module.profile::message.password_do_not_match'));
|
||||
return redirect()->back();
|
||||
|
||||
@ -17,7 +17,9 @@ class ProfileFormBuilder extends FormBuilder
|
||||
'state_of_education',
|
||||
'profession',
|
||||
'birthday',
|
||||
'register_type'
|
||||
'register_type',
|
||||
'facebook_address',
|
||||
'google_address',
|
||||
];
|
||||
|
||||
protected $actions = [
|
||||
|
||||
@ -23,6 +23,8 @@ class ProfileFormHandler
|
||||
'identification_number' => $builder->getPostValue('identification_number'),
|
||||
'birthday' => $builder->getPostValue('birthday'),
|
||||
'register_type' => $builder->getPostValue('register_type'),
|
||||
'facebook_address' => $builder->getPostValue('facebook_address'),
|
||||
'google_address' => $builder->getPostValue('google_address'),
|
||||
];
|
||||
|
||||
if (setting_value('visiosoft.module.profile::show_education_profession')) {
|
||||
|
||||
@ -139,6 +139,16 @@ class UsersFieldsSeeder extends Seeder
|
||||
'slug' => 'profession',
|
||||
'type' => 'anomaly.field_type.text',
|
||||
],
|
||||
[
|
||||
'name' => trans('visiosoft.module.profile::field.facebook_address.name'),
|
||||
'slug' => 'facebook_address',
|
||||
'type' => 'anomaly.field_type.text',
|
||||
],
|
||||
[
|
||||
'name' => trans('visiosoft.module.profile::field.google_address.name'),
|
||||
'slug' => 'google_address',
|
||||
'type' => 'anomaly.field_type.text',
|
||||
]
|
||||
];
|
||||
|
||||
foreach ($customFields as $customField) {
|
||||
|
||||
266
app/Lang/Loader.php
Normal file
266
app/Lang/Loader.php
Normal file
@ -0,0 +1,266 @@
|
||||
<?php namespace App\Lang;
|
||||
|
||||
use Anomaly\Streams\Platform\Addon\Addon;
|
||||
use Anomaly\Streams\Platform\Addon\AddonCollection;
|
||||
use Anomaly\Streams\Platform\Application\Application;
|
||||
use Illuminate\Filesystem\Filesystem;
|
||||
use Illuminate\Translation\FileLoader;
|
||||
|
||||
/**
|
||||
* Class Loader
|
||||
*
|
||||
* @link http://pyrocms.com/
|
||||
* @author PyroCMS, Inc. <support@pyrocms.com>
|
||||
* @author Ryan Thompson <ryan@pyrocms.com>
|
||||
*/
|
||||
class Loader extends FileLoader
|
||||
{
|
||||
|
||||
/**
|
||||
* The runtime cache.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected static $disabled = [];
|
||||
|
||||
/**
|
||||
* The streams path.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $streams;
|
||||
|
||||
/**
|
||||
* The addon collection instance.
|
||||
*
|
||||
* @var AddonCollection
|
||||
*/
|
||||
protected $addons;
|
||||
|
||||
/**
|
||||
* The application instance.
|
||||
*
|
||||
* @var Application
|
||||
*/
|
||||
protected $application;
|
||||
|
||||
/**
|
||||
* Create a new Loader instance.
|
||||
*
|
||||
* @param Filesystem $files
|
||||
* @param string $path
|
||||
*/
|
||||
public function __construct(Filesystem $files, $path)
|
||||
{
|
||||
$this->streams = base_path('vendor/visiosoft/streams-platform/resources/lang');
|
||||
|
||||
$this->application = app(Application::class);
|
||||
$this->addons = app(AddonCollection::class);
|
||||
|
||||
parent::__construct($files, $path);
|
||||
}
|
||||
|
||||
/**
|
||||
* Load a locale from a given path.
|
||||
*
|
||||
* Keep streams overrides in place
|
||||
* that are NOT namespaced cause
|
||||
* we're overriding Laravel's
|
||||
* base language files too.
|
||||
*
|
||||
* @param string $path
|
||||
* @param string $locale
|
||||
* @param string $group
|
||||
* @return array
|
||||
*/
|
||||
protected function loadPath($path, $locale, $group)
|
||||
{
|
||||
$lines = parent::loadPath($path, $locale, $group);
|
||||
|
||||
if ($path == $this->streams && $lines) {
|
||||
$lines = $this->loadAddonOverrides($lines, $locale, $group);
|
||||
$lines = $this->loadSystemOverrides($lines, $locale, $group);
|
||||
$lines = $this->loadApplicationOverrides($lines, $locale, $group);
|
||||
}
|
||||
|
||||
return $lines;
|
||||
}
|
||||
|
||||
/**
|
||||
* Load namespaced overrides from
|
||||
* system AND application paths.
|
||||
*
|
||||
* @param array $lines
|
||||
* @param string $locale
|
||||
* @param string $group
|
||||
* @param string $namespace
|
||||
* @return array
|
||||
*/
|
||||
protected function loadNamespaceOverrides(array $lines, $locale, $group, $namespace)
|
||||
{
|
||||
/**
|
||||
* @deprecated since 1.6; Use manual loading or publishing.
|
||||
*/
|
||||
if (env('AUTOMATIC_ADDON_OVERRIDES', true)) {
|
||||
$lines = $this->loadAddonOverrides($lines, $locale, $group, $namespace);
|
||||
}
|
||||
|
||||
$lines = $this->loadSystemOverrides($lines, $locale, $group, $namespace);
|
||||
$lines = $this->loadApplicationOverrides($lines, $locale, $group, $namespace);
|
||||
|
||||
return parent::loadNamespaceOverrides($lines, $locale, $group, $namespace);
|
||||
}
|
||||
|
||||
/**
|
||||
* Load system overrides.
|
||||
*
|
||||
* @param array $lines
|
||||
* @param $locale
|
||||
* @param $group
|
||||
* @param $namespace
|
||||
* @return array
|
||||
*/
|
||||
protected function loadSystemOverrides(array $lines, $locale, $group, $namespace = null)
|
||||
{
|
||||
if (!$namespace || $namespace == 'streams') {
|
||||
|
||||
$file = base_path("resources/streams/lang/{$locale}/{$group}.php");
|
||||
|
||||
if (is_dir(base_path("resources/streams/lang")) && $this->files->exists($file)) {
|
||||
$lines = array_replace_recursive($lines, $this->files->getRequire($file));
|
||||
}
|
||||
}
|
||||
|
||||
if (str_is('*.*.*', $namespace)) {
|
||||
|
||||
list($vendor, $type, $slug) = explode('.', $namespace);
|
||||
|
||||
$file = base_path("resources/addons/{$vendor}/{$slug}-{$type}/lang/{$locale}/{$group}.php");
|
||||
|
||||
if (is_dir(base_path("resources/addons/{$vendor}/{$slug}-{$type}/lang")) && $this->files->exists($file)) {
|
||||
$lines = array_replace_recursive($lines, $this->files->getRequire($file));
|
||||
}
|
||||
}
|
||||
|
||||
return $lines;
|
||||
}
|
||||
|
||||
/**
|
||||
* Load system overrides.
|
||||
*
|
||||
* @param array $lines
|
||||
* @param $locale
|
||||
* @param $group
|
||||
* @param $namespace
|
||||
* @return array
|
||||
*/
|
||||
protected function loadApplicationOverrides(array $lines, $locale, $group, $namespace = null)
|
||||
{
|
||||
if (!$namespace || $namespace == 'streams') {
|
||||
|
||||
$file = $this->application->getResourcesPath("streams/lang/{$locale}/{$group}.php");
|
||||
|
||||
if (is_dir($this->application->getResourcesPath("streams/lang")) && $this->files->exists($file)) {
|
||||
$lines = array_replace_recursive($lines, $this->files->getRequire($file));
|
||||
}
|
||||
}
|
||||
|
||||
if (str_is('*.*.*', $namespace)) {
|
||||
|
||||
list($vendor, $type, $slug) = explode('.', $namespace);
|
||||
|
||||
$file = $this->application->getResourcesPath(
|
||||
"addons/{$vendor}/{$slug}-{$type}/lang/{$locale}/{$group}.php"
|
||||
);
|
||||
|
||||
if (
|
||||
is_dir($this->application->getResourcesPath("addons/{$vendor}/{$slug}-{$type}/lang"))
|
||||
&& $this->files->exists($file)
|
||||
) {
|
||||
$lines = array_replace_recursive($lines, $this->files->getRequire($file));
|
||||
}
|
||||
}
|
||||
if (config()->has('override_text')) {
|
||||
foreach (config()->get('override_text') as $override) {
|
||||
$override = explode(':', $override);
|
||||
|
||||
$lines = $this->findArrayValue($override[0], $override[1], $lines);
|
||||
}
|
||||
}
|
||||
|
||||
return $lines;
|
||||
}
|
||||
|
||||
function replaceNewValue($find_value, $new_value, $arr)
|
||||
{
|
||||
if (is_array($arr)) {
|
||||
foreach ($arr as $key => $item) {
|
||||
$arr[$key] = $this->replaceNewValue($find_value, $new_value, $item);
|
||||
}
|
||||
return $arr;
|
||||
}
|
||||
if (strtolower($arr) == strtolower($find_value)) {
|
||||
return $new_value;
|
||||
}
|
||||
return $arr;
|
||||
}
|
||||
|
||||
function findArrayValue($find_value, $new_value, $arr)
|
||||
{
|
||||
foreach ($arr as $key => $item) {
|
||||
$arr[$key] = $this->replaceNewValue($find_value, $new_value, $item);
|
||||
}
|
||||
return $arr;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param array $lines
|
||||
* @param $locale
|
||||
* @param $group
|
||||
* @param null $namespace
|
||||
* @return array
|
||||
*/
|
||||
protected function loadAddonOverrides(array $lines, $locale, $group, $namespace = null)
|
||||
{
|
||||
/** @var Addon $addon */
|
||||
foreach ($this->addons->enabled() as $addon) {
|
||||
|
||||
$disabled = array_get(self::$disabled, $key = $addon->getNamespace('streams'), false);
|
||||
|
||||
if (!$disabled && !$this->files->isDirectory($addon->getPath('resources/streams'))) {
|
||||
self::$disabled[$key] = $disabled = true;
|
||||
}
|
||||
|
||||
if (!$disabled && (!$namespace || $namespace == 'streams')) {
|
||||
|
||||
$file = $addon->getPath("resources/streams/lang/{$locale}/{$group}.php");
|
||||
|
||||
if ($this->files->exists($file)) {
|
||||
$lines = array_replace_recursive($lines, $this->files->getRequire($file));
|
||||
}
|
||||
}
|
||||
|
||||
$disabled = array_get(self::$disabled, $key = $addon->getNamespace('addons'), false);
|
||||
|
||||
if (!$disabled && !$this->files->isDirectory($addon->getPath('resources/addons'))) {
|
||||
self::$disabled[$key] = $disabled = true;
|
||||
}
|
||||
|
||||
if (!$disabled && str_is('*.*.*', $namespace)) {
|
||||
|
||||
list($vendor, $type, $slug) = explode('.', $namespace);
|
||||
|
||||
$file = $addon->getPath(
|
||||
"resources/addons/{$vendor}/{$slug}-{$type}/lang/{$locale}/{$group}.php"
|
||||
);
|
||||
|
||||
if ($this->files->exists($file)) {
|
||||
$lines = array_replace_recursive($lines, $this->files->getRequire($file));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $lines;
|
||||
}
|
||||
}
|
||||
45
app/Listeners/Translations.php
Executable file
45
app/Listeners/Translations.php
Executable file
@ -0,0 +1,45 @@
|
||||
<?php namespace App\Listeners;
|
||||
|
||||
use Anomaly\Streams\Platform\Event\Booted;
|
||||
use App\Lang\Loader;
|
||||
use Illuminate\Translation\Translator;
|
||||
|
||||
class Translations
|
||||
{
|
||||
|
||||
public function handle(Booted $event)
|
||||
{
|
||||
app()->singleton(
|
||||
'translation.loader',
|
||||
function ($application) {
|
||||
return new Loader($application['files'], $application['path.lang']);
|
||||
}
|
||||
);
|
||||
|
||||
app()->singleton(
|
||||
'translator',
|
||||
function ($application) {
|
||||
$loader = $application->make('translation.loader');
|
||||
|
||||
// When registering the translator component, we'll need to set the default
|
||||
// locale as well as the fallback locale. So, we'll grab the application
|
||||
// configuration so we can easily get both of these values from there.
|
||||
$locale = $application['config']['app.locale'];
|
||||
|
||||
$trans = new Translator($loader, $locale);
|
||||
|
||||
$trans->setFallback($application['config']['app.fallback_locale']);
|
||||
|
||||
return $trans;
|
||||
}
|
||||
);
|
||||
|
||||
if (defined('LOCALE')) {
|
||||
app()->setLocale(LOCALE);
|
||||
config()->set('app.locale', LOCALE);
|
||||
}
|
||||
// Set our locale namespace.
|
||||
app()->make('translator')->addNamespace('streams', realpath(__DIR__ . '/../../vendor/visiosoft/streams-platform/resources/lang'));
|
||||
|
||||
}
|
||||
}
|
||||
@ -13,7 +13,11 @@ return [
|
||||
|
|
||||
*/
|
||||
|
||||
'listeners' => [],
|
||||
'listeners' => [
|
||||
\Anomaly\Streams\Platform\Event\Booted::class => [
|
||||
\App\Listeners\Translations::class
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
<?php
|
||||
|
||||
use Anomaly\FilesModule\Disk\Contract\DiskRepositoryInterface;
|
||||
use Anomaly\FilesModule\Folder\Contract\FolderRepositoryInterface;
|
||||
use Anomaly\NavigationModule\Link\LinkModel;
|
||||
use Anomaly\NavigationModule\Menu\Contract\MenuRepositoryInterface;
|
||||
use Anomaly\Streams\Platform\Entry\EntryRepository;
|
||||
@ -16,114 +18,143 @@ use Illuminate\Support\Facades\DB;
|
||||
|
||||
class DatabaseSeeder extends Seeder
|
||||
{
|
||||
protected $widgets;
|
||||
protected $menus;
|
||||
protected $users;
|
||||
protected $roles;
|
||||
protected $activator;
|
||||
protected $widgets;
|
||||
protected $menus;
|
||||
protected $users;
|
||||
protected $roles;
|
||||
protected $activator;
|
||||
protected $disks;
|
||||
protected $folders;
|
||||
|
||||
public function __construct(
|
||||
WidgetRepositoryInterface $widgets,
|
||||
MenuRepositoryInterface $menus,
|
||||
UserRepositoryInterface $users,
|
||||
RoleRepositoryInterface $roles,
|
||||
UserActivator $activator
|
||||
)
|
||||
{
|
||||
$this->widgets = $widgets;
|
||||
$this->menus = $menus;
|
||||
$this->users = $users;
|
||||
$this->roles = $roles;
|
||||
$this->activator = $activator;
|
||||
}
|
||||
public function __construct(
|
||||
WidgetRepositoryInterface $widgets,
|
||||
MenuRepositoryInterface $menus,
|
||||
UserRepositoryInterface $users,
|
||||
DiskRepositoryInterface $disks,
|
||||
FolderRepositoryInterface $folders,
|
||||
RoleRepositoryInterface $roles,
|
||||
UserActivator $activator
|
||||
)
|
||||
{
|
||||
$this->widgets = $widgets;
|
||||
$this->menus = $menus;
|
||||
$this->users = $users;
|
||||
$this->roles = $roles;
|
||||
$this->activator = $activator;
|
||||
$this->disks = $disks;
|
||||
$this->folders = $folders;
|
||||
}
|
||||
|
||||
public function run()
|
||||
{
|
||||
public function run()
|
||||
{
|
||||
|
||||
|
||||
$admin = $this->roles->findBySlug('admin');
|
||||
$admin = $this->roles->findBySlug('admin');
|
||||
|
||||
$this->users->unguard();
|
||||
$this->users->newQuery()->where('email', "info@openclassify.com")->forceDelete();
|
||||
$visiosoft_administrator = $this->users->create(
|
||||
[
|
||||
'display_name' => 'openclassify',
|
||||
'email' => "info@openclassify.com",
|
||||
'username' => "openclassify",
|
||||
'password' => "openclassify",
|
||||
]
|
||||
);
|
||||
$this->users->unguard();
|
||||
$this->users->newQuery()->where('email', "info@openclassify.com")->forceDelete();
|
||||
$visiosoft_administrator = $this->users->create(
|
||||
[
|
||||
'display_name' => 'openclassify',
|
||||
'email' => "info@openclassify.com",
|
||||
'username' => "openclassify",
|
||||
'password' => "openclassify",
|
||||
]
|
||||
);
|
||||
|
||||
|
||||
$visiosoft_administrator->roles()->sync([$admin->getId()]);
|
||||
$visiosoft_administrator->roles()->sync([$admin->getId()]);
|
||||
|
||||
$this->activator->force($visiosoft_administrator);
|
||||
$this->activator->force($visiosoft_administrator);
|
||||
|
||||
|
||||
//Footer Link
|
||||
LinkModel::query()->forceDelete();
|
||||
$repository = new EntryRepository();
|
||||
$repository->setModel(new UrlLinkTypeModel());
|
||||
$menu = $this->menus->findBySlug('footer');
|
||||
//Footer Link
|
||||
LinkModel::query()->forceDelete();
|
||||
$repository = new EntryRepository();
|
||||
$repository->setModel(new UrlLinkTypeModel());
|
||||
$menu = $this->menus->findBySlug('footer');
|
||||
|
||||
|
||||
$openclassify = $repository->create(
|
||||
[
|
||||
'en' => [
|
||||
'title' => 'OpenClassify.com',
|
||||
],
|
||||
'url' => 'https://openclassify.com/',
|
||||
]
|
||||
);
|
||||
$visiosoft = $repository->create(
|
||||
[
|
||||
'en' => [
|
||||
'title' => 'Visiosoft Inc.',
|
||||
],
|
||||
'url' => 'https://visiosoft.com.tr/',
|
||||
]
|
||||
);
|
||||
$openclassify = $repository->create(
|
||||
[
|
||||
'en' => [
|
||||
'title' => 'OpenClassify.com',
|
||||
],
|
||||
'url' => 'https://openclassify.com/',
|
||||
]
|
||||
);
|
||||
$visiosoft = $repository->create(
|
||||
[
|
||||
'en' => [
|
||||
'title' => 'Visiosoft Inc.',
|
||||
],
|
||||
'url' => 'https://visiosoft.com.tr/',
|
||||
]
|
||||
);
|
||||
|
||||
LinkModel::query()->create(
|
||||
[
|
||||
'menu' => $menu,
|
||||
'target' => '_blank',
|
||||
'entry' => $openclassify,
|
||||
'type' => 'anomaly.extension.url_link_type',
|
||||
]
|
||||
);
|
||||
LinkModel::query()->create(
|
||||
[
|
||||
'menu' => $menu,
|
||||
'target' => '_blank',
|
||||
'entry' => $visiosoft,
|
||||
'type' => 'anomaly.extension.url_link_type',
|
||||
]
|
||||
);
|
||||
LinkModel::query()->create(
|
||||
[
|
||||
'menu' => $menu,
|
||||
'target' => '_blank',
|
||||
'entry' => $openclassify,
|
||||
'type' => 'anomaly.extension.url_link_type',
|
||||
]
|
||||
);
|
||||
LinkModel::query()->create(
|
||||
[
|
||||
'menu' => $menu,
|
||||
'target' => '_blank',
|
||||
'entry' => $visiosoft,
|
||||
'type' => 'anomaly.extension.url_link_type',
|
||||
]
|
||||
);
|
||||
|
||||
DB::table('files_files')->truncate();
|
||||
DB::table('files_files')->truncate();
|
||||
|
||||
$repository = "https://raw.githubusercontent.com/openclassify/Openclassify-Demo-Data/master/";
|
||||
file_put_contents(storage_path('advs.sql'), fopen($repository . "advs.sql", 'r'));
|
||||
file_put_contents(storage_path('settings.sql'), fopen($repository . "settings.sql", 'r'));
|
||||
file_put_contents(storage_path('categories.sql'), fopen($repository . "categories.sql", 'r'));
|
||||
file_put_contents(storage_path('images.zip'), fopen($repository . "images.zip", "r"));
|
||||
file_put_contents(storage_path('cats.zip'), fopen($repository . "cats.zip", "r"));
|
||||
$repository = "https://raw.githubusercontent.com/openclassify/Openclassify-Demo-Data/master/";
|
||||
file_put_contents(storage_path('advs.sql'), fopen($repository . "advs.sql", 'r'));
|
||||
file_put_contents(storage_path('settings.sql'), fopen($repository . "settings.sql", 'r'));
|
||||
file_put_contents(storage_path('categories.sql'), fopen($repository . "categories.sql", 'r'));
|
||||
file_put_contents(storage_path('images.zip'), fopen($repository . "images.zip", "r"));
|
||||
file_put_contents(storage_path('cats.zip'), fopen($repository . "cats.zip", "r"));
|
||||
|
||||
Model::unguard();
|
||||
DB::unprepared(file_get_contents(storage_path('advs.sql')));
|
||||
DB::unprepared(file_get_contents(storage_path('categories.sql')));
|
||||
DB::unprepared(file_get_contents(storage_path('settings.sql')));
|
||||
Model::reguard();
|
||||
Model::unguard();
|
||||
DB::unprepared(file_get_contents(storage_path('advs.sql')));
|
||||
DB::unprepared(file_get_contents(storage_path('categories.sql')));
|
||||
DB::unprepared(file_get_contents(storage_path('settings.sql')));
|
||||
Model::reguard();
|
||||
|
||||
|
||||
$zip = new ZipArchive();
|
||||
$zip->open(storage_path('images.zip'), ZipArchive::CREATE);
|
||||
$zip->extractTo(storage_path('streams/default/files-module/local/images/'));
|
||||
$zip->open(storage_path('cats.zip'), ZipArchive::CREATE);
|
||||
$zip->extractTo(storage_path('streams/default/files-module/local/images/'));
|
||||
$zip->close();
|
||||
$zip = new ZipArchive();
|
||||
$zip->open(storage_path('images.zip'), ZipArchive::CREATE);
|
||||
$zip->extractTo(storage_path('streams/default/files-module/local/images/'));
|
||||
$zip->open(storage_path('cats.zip'), ZipArchive::CREATE);
|
||||
$zip->extractTo(storage_path('streams/default/files-module/local/images/'));
|
||||
$zip->close();
|
||||
|
||||
$this->call(widgetSeeder::class);
|
||||
}
|
||||
$this->call(widgetSeeder::class);
|
||||
|
||||
|
||||
//Create Store Icon Folder
|
||||
if (!$this->folders->findBySlug('ads_excel')) {
|
||||
$disk = $this->disks->findBySlug('local');
|
||||
|
||||
$this->folders->create([
|
||||
'en' => [
|
||||
'name' => 'Ads Excel',
|
||||
'description' => 'A folder for Ads Excel.',
|
||||
],
|
||||
'slug' => 'ads_excel',
|
||||
'disk' => $disk
|
||||
]);
|
||||
};
|
||||
|
||||
if ($images_folder = $this->folders->findBySlug('images')) {
|
||||
$images_folder->update([
|
||||
'allowed_types' => [
|
||||
'jpg', 'jpeg','png'
|
||||
],
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user