Skip to content
This repository was archived by the owner on Mar 17, 2022. It is now read-only.

Commit 217e33d

Browse files
committed
fixes #424 by improving first install experience
on first install/upgrade set default values for settings (if not already set) and apply them to polylang
1 parent c9d6d73 commit 217e33d

File tree

2 files changed

+21
-7
lines changed

2 files changed

+21
-7
lines changed

src/Hyyan/WPI/Plugin.php

+16-2
Original file line numberDiff line numberDiff line change
@@ -135,8 +135,22 @@ public static function canActivate()
135135
* @param num $newVersion
136136
* @param num $oldVersion
137137
*/
138-
public function onUpgrade($newVersion, $oldVersion)
139-
{
138+
public function onUpgrade( $newVersion, $oldVersion )
139+
{
140+
$features = get_option( Admin\Features::getID() );
141+
if ( ! $features ) {
142+
$features = unserialize( 'a:12:{s:13:"fields-locker";s:2:"on";s:6:"emails";s:2:"on";s:7:"reports";s:2:"on";s:7:"coupons";s:2:"on";s:5:"stock";s:2:"on";s:10:"categories";s:2:"on";s:4:"tags";s:2:"on";s:10:"attributes";s:2:"on";s:24:"new-translation-defaults";s:1:"1";s:13:"localenumbers";s:3:"off";s:10:"importsync";s:2:"on";s:19:"language-downloader";s:2:"on";}' );
143+
update_option( Admin\Features::getID(), $features );
144+
}
145+
Taxonomies\Taxonomies::updatePolyLangFromWooPolyFeatures( $features, $features, Admin\Features::getID() );
146+
147+
$metas = get_option( Admin\MetasList::getID() );
148+
if ( ! $metas ) {
149+
$metas = unserialize( 'a:9:{s:7:"general";a:10:{s:12:"product-type";s:12:"product-type";s:8:"_virtual";s:8:"_virtual";s:4:"_sku";s:4:"_sku";s:11:"_upsell_ids";s:11:"_upsell_ids";s:14:"_crosssell_ids";s:14:"_crosssell_ids";s:9:"_children";s:9:"_children";s:22:"_product_image_gallery";s:22:"_product_image_gallery";s:11:"total_sales";s:11:"total_sales";s:25:"_translation_porduct_type";s:25:"_translation_porduct_type";s:11:"_visibility";s:11:"_visibility";}s:8:"polylang";a:3:{s:10:"menu_order";s:10:"menu_order";s:13:"_thumbnail_id";s:13:"_thumbnail_id";s:14:"comment_status";s:14:"comment_status";}s:5:"stock";a:5:{s:13:"_manage_stock";s:13:"_manage_stock";s:6:"_stock";s:6:"_stock";s:11:"_backorders";s:11:"_backorders";s:13:"_stock_status";s:13:"_stock_status";s:18:"_sold_individually";s:18:"_sold_individually";}s:8:"shipping";a:5:{s:7:"_weight";s:7:"_weight";s:7:"_length";s:7:"_length";s:6:"_width";s:6:"_width";s:7:"_height";s:7:"_height";s:22:"product_shipping_class";s:22:"product_shipping_class";}s:10:"Attributes";a:3:{s:19:"_product_attributes";s:19:"_product_attributes";s:26:"_custom_product_attributes";s:26:"_custom_product_attributes";s:19:"_default_attributes";s:19:"_default_attributes";}s:12:"Downloadable";a:5:{s:13:"_downloadable";s:13:"_downloadable";s:19:"_downloadable_files";s:19:"_downloadable_files";s:15:"_download_limit";s:15:"_download_limit";s:16:"_download_expiry";s:16:"_download_expiry";s:14:"_download_type";s:14:"_download_type";}s:5:"Taxes";a:2:{s:11:"_tax_status";s:11:"_tax_status";s:10:"_tax_class";s:10:"_tax_class";}s:5:"price";a:5:{s:14:"_regular_price";s:14:"_regular_price";s:11:"_sale_price";s:11:"_sale_price";s:22:"_sale_price_dates_from";s:22:"_sale_price_dates_from";s:20:"_sale_price_dates_to";s:20:"_sale_price_dates_to";s:6:"_price";s:6:"_price";}s:9:"Variables";a:12:{s:20:"_min_variation_price";s:20:"_min_variation_price";s:20:"_max_variation_price";s:20:"_max_variation_price";s:23:"_min_price_variation_id";s:23:"_min_price_variation_id";s:23:"_max_price_variation_id";s:23:"_max_price_variation_id";s:28:"_min_variation_regular_price";s:28:"_min_variation_regular_price";s:28:"_max_variation_regular_price";s:28:"_max_variation_regular_price";s:31:"_min_regular_price_variation_id";s:31:"_min_regular_price_variation_id";s:31:"_max_regular_price_variation_id";s:31:"_max_regular_price_variation_id";s:25:"_min_variation_sale_price";s:25:"_min_variation_sale_price";s:25:"_max_variation_sale_price";s:25:"_max_variation_sale_price";s:28:"_min_sale_price_variation_id";s:28:"_min_sale_price_variation_id";s:28:"_max_sale_price_variation_id";s:28:"_max_sale_price_variation_id";}}' );
150+
update_option( Admin\MetasList::getID(), $metas );
151+
Taxonomies\Taxonomies::updatePolyLangFromWooPolyMetas( $metas, $metas, Admin\MetasList::getID() );
152+
}
153+
140154
flush_rewrite_rules(true);
141155
}
142156

src/Hyyan/WPI/Taxonomies/Taxonomies.php

+5-5
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,9 @@ public function __construct()
4040
'pll_get_taxonomies', array($this, 'getAllTranslateableTaxonomies'), 10, 2
4141
);
4242

43-
add_action('update_option_wpi-features', array($this, 'updatePolyLangFromWooPolyFeatures'), 10, 3);
43+
add_action('update_option_wpi-features', array(__CLASS__, 'updatePolyLangFromWooPolyFeatures'), 10, 3);
4444

45-
add_action('update_option_wpi-metas-list', array($this, 'updatePolyLangFromWooPolyMetas'), 10, 3);
45+
add_action('update_option_wpi-metas-list', array(__CLASS__, 'updatePolyLangFromWooPolyMetas'), 10, 3);
4646
}
4747

4848
/**
@@ -70,7 +70,7 @@ public function getAllTranslateableTaxonomies($taxonomies, $is_settings)
7070
'attributes' => 'Hyyan\WPI\Taxonomies\Attributes',
7171
'categories' => 'Hyyan\WPI\Taxonomies\Categories',
7272
'tags' => 'Hyyan\WPI\Taxonomies\Tags',
73-
'shipping-class' => 'Hyyan\WPI\Taxonomies\ShippingCalss',
73+
//'shipping-class' => 'Hyyan\WPI\Taxonomies\ShippingCalss',
7474
);
7575

7676
//for each type, add it
@@ -98,7 +98,7 @@ public function getAllTranslateableTaxonomies($taxonomies, $is_settings)
9898
*
9999
* @return array
100100
*/
101-
public function updatePolyLangFromWooPolyMetas($old_value, $new_value, $option)
101+
public static function updatePolyLangFromWooPolyMetas($old_value, $new_value, $option)
102102
{
103103
//we could update Polylang settings for Featured Image, Comment Status, Page Order
104104
//if the WooPoly settings have changed, but note this would also affect Posts
@@ -114,7 +114,7 @@ public function updatePolyLangFromWooPolyMetas($old_value, $new_value, $option)
114114
*
115115
* @return array
116116
*/
117-
public function updatePolyLangFromWooPolyFeatures($old_value, $new_value, $option)
117+
public static function updatePolyLangFromWooPolyFeatures($old_value, $new_value, $option)
118118
{
119119
$polylang_options = get_option('polylang');
120120
$polylang_taxs = $polylang_options['taxonomies'];

0 commit comments

Comments
 (0)