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

Commit

Permalink
fixes #424 by improving first install experience
Browse files Browse the repository at this point in the history
on first install/upgrade set default values for settings (if not
already set) and apply them to polylang
  • Loading branch information
Jon007 committed May 28, 2019
1 parent c9d6d73 commit 217e33d
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 7 deletions.
18 changes: 16 additions & 2 deletions src/Hyyan/WPI/Plugin.php
Expand Up @@ -135,8 +135,22 @@ public static function canActivate()
* @param num $newVersion
* @param num $oldVersion
*/
public function onUpgrade($newVersion, $oldVersion)
{
public function onUpgrade( $newVersion, $oldVersion )
{
$features = get_option( Admin\Features::getID() );
if ( ! $features ) {
$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";}' );
update_option( Admin\Features::getID(), $features );
}
Taxonomies\Taxonomies::updatePolyLangFromWooPolyFeatures( $features, $features, Admin\Features::getID() );

$metas = get_option( Admin\MetasList::getID() );
if ( ! $metas ) {
$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";}}' );
update_option( Admin\MetasList::getID(), $metas );
Taxonomies\Taxonomies::updatePolyLangFromWooPolyMetas( $metas, $metas, Admin\MetasList::getID() );
}

flush_rewrite_rules(true);
}

Expand Down
10 changes: 5 additions & 5 deletions src/Hyyan/WPI/Taxonomies/Taxonomies.php
Expand Up @@ -40,9 +40,9 @@ public function __construct()
'pll_get_taxonomies', array($this, 'getAllTranslateableTaxonomies'), 10, 2
);

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

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

/**
Expand Down Expand Up @@ -70,7 +70,7 @@ public function getAllTranslateableTaxonomies($taxonomies, $is_settings)
'attributes' => 'Hyyan\WPI\Taxonomies\Attributes',
'categories' => 'Hyyan\WPI\Taxonomies\Categories',
'tags' => 'Hyyan\WPI\Taxonomies\Tags',
'shipping-class' => 'Hyyan\WPI\Taxonomies\ShippingCalss',
//'shipping-class' => 'Hyyan\WPI\Taxonomies\ShippingCalss',
);

//for each type, add it
Expand Down Expand Up @@ -98,7 +98,7 @@ public function getAllTranslateableTaxonomies($taxonomies, $is_settings)
*
* @return array
*/
public function updatePolyLangFromWooPolyMetas($old_value, $new_value, $option)
public static function updatePolyLangFromWooPolyMetas($old_value, $new_value, $option)
{
//we could update Polylang settings for Featured Image, Comment Status, Page Order
//if the WooPoly settings have changed, but note this would also affect Posts
Expand All @@ -114,7 +114,7 @@ public function updatePolyLangFromWooPolyMetas($old_value, $new_value, $option)
*
* @return array
*/
public function updatePolyLangFromWooPolyFeatures($old_value, $new_value, $option)
public static function updatePolyLangFromWooPolyFeatures($old_value, $new_value, $option)
{
$polylang_options = get_option('polylang');
$polylang_taxs = $polylang_options['taxonomies'];
Expand Down

0 comments on commit 217e33d

Please sign in to comment.