Optimize docker and solve memory issues #46

Merged
akrdzic merged 6 commits from optimize-docker into master 2018-10-24 15:37:33 +02:00
14 changed files with 110 additions and 208 deletions

View File

@@ -57,7 +57,7 @@ RUN chmod +x /usr/local/bin/wp
COPY docker/php/setup.sh /init-scripts/
RUN chmod +x /init-scripts/setup.sh
RUN docker-php-ext-install pdo pdo_mysql mysqli
RUN docker-php-ext-install pdo pdo_mysql mysqli opcache
RUN a2enmod rewrite
COPY docker/php/000-default.conf /etc/apache2/sites-available

View File

@@ -3,9 +3,6 @@
class Wiaas_Admin_Order_Projects {
public static function init() {
// Add admin page and subpage since woocommerce orders have custom menu page
// so this will not be automatic
add_filter('admin_menu', array(__CLASS__, 'add_admin_page'));
// Add is available fields to create and edit forms
add_action( 'shop_order_project_add_form_fields', array( __CLASS__, 'add_is_available_field' ) );
@@ -18,18 +15,20 @@ class Wiaas_Admin_Order_Projects {
// Save is available field when creating and editing
add_action( 'created_term', array( __CLASS__, 'save_is_available_field' ), 10, 3 );
add_action( 'edit_term', array( __CLASS__, 'save_is_available_field' ), 10, 3 );
add_action( 'load-term.php', array( __CLASS__, 'admin_menu_highlight' ) );
add_action( 'load-edit-tags.php', array( __CLASS__, 'admin_menu_highlight' ) );
}
/**
* Add admin submenu page for order projects
* Highlighting orders menu when shop orders page selected
*/
public static function add_admin_page() {
add_submenu_page( 'woocommerce',
esc_html__( 'Order projects', 'wiaas' ),
esc_html__( 'Order projects', 'wiaas' ),
'manage_woocommerce',
'edit-tags.php?taxonomy=shop_order_project'
);
public static function admin_menu_highlight() {
global $plugin_page;
if ( isset( $_GET['taxonomy'] ) && ( $_GET['taxonomy'] === 'shop_order_project' ) ) {
$plugin_page = 'edit.php?post_type=shop_order';
}
}
/**

View File

@@ -7,7 +7,7 @@ class Wiaas_Admin_Product {
add_action('acf/save_post', array(__CLASS__, 'save_initial_product_country_and_type'), 20, 1);
add_action('woocommerce_after_register_post_type', array(__CLASS__, 'wiaas_register_product_status'));
add_filter('woocommerce_register_post_type_product', array(__CLASS__, 'wiaas_modify_product'));
add_action('add_meta_boxes', array(__CLASS__, 'wiaas_maybe_remove_metaboxes'), 999);
add_action('add_meta_boxes', array(__CLASS__, 'maybe_remove_metaboxes'), 999);
add_filter('wp_insert_post_data', array(__CLASS__, 'wiaas_maybe_set_no_country_status'), 999, 2);
add_action('acf/render_field/type=group', array(__CLASS__, 'render_choose_button_for_new_product'), 10, 1);
@@ -42,7 +42,7 @@ class Wiaas_Admin_Product {
}
public static function wiaas_maybe_remove_metaboxes() {
public static function maybe_remove_metaboxes() {
$screen = get_current_screen();
$screen_id = $screen ? $screen->id : '';
@@ -56,15 +56,11 @@ class Wiaas_Admin_Product {
if ($post_id === 0 || $post->post_status === '_wiaas_no_country') {
remove_meta_box('woocommerce-product-data', 'product', 'normal');
remove_meta_box('submitdiv', 'product', 'side');
remove_meta_box('slugdiv', 'product', 'normal');
remove_meta_box('wiaas_upload_and_link_document', 'product', 'normal');
remove_meta_box('postexcerpt', 'product', 'normal');
remove_meta_box('template_product_meta_box', 'product', 'normal');
remove_meta_box('postimagediv', 'product', 'normal');
remove_meta_box('woocommerce-product-images', 'product', 'normal');
remove_meta_box('wc-jetpack-product_by_user_role', 'product', 'normal');
remove_meta_box('submitdiv', 'product', 'side');
remove_meta_box('groups-permissions', 'product', 'side');
remove_meta_box('tagsdiv-product_tag', 'product', 'side');
@@ -72,15 +68,16 @@ class Wiaas_Admin_Product {
remove_meta_box('tagsdiv-supplier', 'product', 'side');
remove_meta_box('postimagediv', 'product', 'side');
remove_meta_box('woocommerce-product-images', 'product', 'side');
remove_meta_box('submitdiv', 'product', 'side');
remove_meta_box('wiaas_upload_and_link_document', 'product', 'side');
remove_meta_box('radio-tagsdiv-product_country', 'product', 'side');
remove_meta_box('tagsdiv-_wiaas_shop_prices', 'product', 'side');
remove_meta_box('tagsdiv-product_country', 'product', 'side');
remove_meta_box('tagsdiv-wiaas_units', 'product', 'side');
}
//Always hide product category, it is added wit advanced custom fields plugin for simple product
remove_meta_box('radio-product_catdiv', 'product', 'side');
remove_meta_box('product_catdiv', 'product', 'side');
// Always hide
remove_meta_box('tagsdiv-product_country', 'product', 'side');
}

View File

@@ -8,8 +8,6 @@ class Wiaas_DB_Update {
'20180801222206' => 'wiaas_db_update_setup_gravity',
'20180802222206' => 'wiaas_db_update_add_delivery_process_forms',
'20180811134511' => 'wiaas_db_update_enable_orders_access_management',
'20180813134511' => 'wiaas_db_update_enable_order_numbers',
'20180826153509' => 'wiaas_create_broker_access_group',
'20180911101010' => 'wiaas_db_setup_exclusive_taxonomies',
'20181003164100' => 'wiaas_db_setup_customer_capabilities',
'20181012164450' => 'wiaas_db_update_add_user_organization_ui_fields',
@@ -23,7 +21,7 @@ class Wiaas_DB_Update {
'20181018064450' => 'wiaas_db_update_add_organization_info_ui_fields',
'20191019014550' => 'wiaas_db_update_add_general_ui_fields',
'20191019014650' => 'wiaas_db_update_add_product_properties_ui_fields',
'20181019064450' => 'wiaas_db_update_add_reference_ui_field',
'20181019064450' => 'wiaas_db_update_add_bundle_properties_ui_field',
'20191020014650' => 'wiaas_create_organization_roles_capabilities'
);

View File

@@ -28,6 +28,20 @@ class Wiaas_Order {
add_filter('woocommerce_rest_orders_prepare_object_query', array( __CLASS__, 'wiaas_prepare_rest_orders_query'), 10, 2);
add_filter('woocommerce_new_order_note_data', array( __CLASS__, 'update_new_order_comment_date'), 10, 3);
add_filter('woocommerce_order_number', array( __CLASS__, 'format_order_number'));
}
/**
* Prefix order number
*
* @param int $number
*
* @return string
*/
public static function format_order_number($number) {
return "1000000$number";
}
/**

View File

@@ -1,7 +1,7 @@
[
{
"key": "group_5bc845c001de4",
"title": "Package Reference",
"title": "Bundle Properties",
"fields": [
{
"key": "field_5bc845dc7eed5",
@@ -24,6 +24,28 @@
"load_terms": 1,
"return_format": "id",
"multiple": 0
},
{
"key": "field_5bcfcc2cf88f4",
"label": "Country",
"name": "country",
"type": "taxonomy",
"instructions": "",
"required": 1,
"conditional_logic": 0,
"wrapper": {
"width": "",
"class": "",
"id": ""
},
"taxonomy": "product_country",
"field_type": "select",
"allow_null": 0,
"add_term": 0,
"save_terms": 1,
"load_terms": 1,
"return_format": "id",
"multiple": 0
}
],
"location": [

View File

@@ -49,7 +49,7 @@
},
{
"key": "field_5bc867c3aeafd",
"label": "Product category",
"label": "Category",
"name": "category",
"type": "taxonomy",
"instructions": "",
@@ -90,10 +90,37 @@
"load_terms": 1,
"return_format": "id",
"multiple": 0
},
{
"key": "field_5bcfcceffe617",
"label": "Country",
"name": "country",
"type": "taxonomy",
"instructions": "",
"required": 1,
"conditional_logic": 0,
"wrapper": {
"width": "",
"class": "",
"id": ""
},
"taxonomy": "product_country",
"field_type": "select",
"allow_null": 0,
"add_term": 0,
"save_terms": 1,
"load_terms": 1,
"return_format": "id",
"multiple": 0
}
],
"location": [
[
{
"param": "post_type",
"operator": "==",
"value": "product"
},
{
"param": "post_taxonomy",
"operator": "==",

View File

@@ -80,26 +80,10 @@ function wiaas_db_update_enable_orders_access_management() {
Groups_Options::update_option(Groups_Post_Access::POST_TYPES, $post_types_option);
}
function wiaas_db_update_enable_order_numbers() {
update_option('wcj_order_numbers_enabled', 'yes');
update_option('wcj_order_number_sequential_enabled', 'no');
update_option('wcj_order_number_counter', '0');
update_option('wcj_order_number_counter_reset_enabled', 'no');
update_option('wcj_order_number_prefix', '1000000');
}
function wiaas_create_broker_access_group() {
Groups_Group::create(array(
'name' => 'Broker',
));
}
function wiaas_db_setup_exclusive_taxonomies() {
update_option('radio_button_for_taxonomies_options', array(
'taxonomies' => array(
'product_cat',
'product_country',
'wiaas_document_types',
'shop_order_project',
),
'delete' => 0,
));

View File

@@ -211,7 +211,6 @@ function wiaas_db_import_aam_role_settings() {
'menu-woocommerce' => '1',
'woocommerce' => '1',
'edit.php?post_type=shop_coupon' => '1',
'edit-tags.php?taxonomy=shop_order_project' => '1',
'wc-reports' => '1',
'wc-settings' => '1',
'wc-status' => '1',
@@ -303,6 +302,7 @@ function wiaas_db_update_update_supplier_capabilities() {
function wiaas_db_update_update_admin_capabilities() {
wp_roles()->add_cap( 'administrator', 'create_products' );
wp_roles()->add_cap( 'administrator', 'manage_wiaas_order_projects' );
}

View File

@@ -18,9 +18,9 @@ function wiaas_db_update_add_user_organization_ui_fields() {
_wiaas_import_field_group($ui_json);
}
function wiaas_db_update_add_reference_ui_field() {
function wiaas_db_update_add_bundle_properties_ui_field() {
$ui_json = file_get_contents( dirname( __FILE__ ) . '/data/wiaas-ui-field-reference.json' );
$ui_json = file_get_contents( dirname( __FILE__ ) . '/data/wiaas-ui-field-bundle-properties.json' );
$ui_json = json_decode( $ui_json, true );

View File

@@ -31,6 +31,12 @@ class Wiaas_Order_Project {
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'shop_order_project' ),
'capabilities' => array(
'manage_terms' => 'manage_wiaas_order_projects',
'edit_terms' => 'manage_wiaas_order_projects',
'delete_terms' => 'manage_wiaas_order_projects',
'assign_terms' => 'manage_wiaas_order_projects',
),
'update_count_callback' => array(__CLASS__, 'update_count_callback')
);

View File

@@ -50,25 +50,22 @@
"oscarotero/env": "1.1.0",
"roots/wp-password-bcrypt": "1.0.0",
"wpackagist-plugin/akismet": "4.0.3",
"wpackagist-plugin/hello-dolly": "1.6",
"woocommerce/woocommerce": "3.4.4",
"wpackagist-plugin/woocommerce-jetpack": "3.7.0",
"woocommerce/woocommerce": "3.5.0",
"3rdparty/woocommerce-product-bundles": "*",
"wpackagist-plugin/groups": "2.3.1",
"wpackagist-plugin/klarna-checkout-for-woocommerce": "1.5.2",
"wpackagist-plugin/mailchimp-for-woocommerce": "2.1.7",
"wpackagist-plugin/woocommerce-gateway-paypal-express-checkout": "1.5.6",
"wpackagist-plugin/jwt-authentication-for-wp-rest-api": "1.2.4",
"wpackagist-plugin/capability-manager-enhanced": "1.5.9",
"wpackagist-plugin/wp-user-groups": "2.2.0",
"wpackagist-plugin/radio-buttons-for-taxonomies": "1.8.3",
"wpackagist-plugin/advanced-access-manager": "5.4.3.2",
"wpackagist-plugin/advanced-custom-fields" : "5.7.7",
"wpackagist-plugin/radio-buttons-for-taxonomies": "1.8.3",
"wpackagist-plugin/sendgrid-email-delivery-simplified" : "1.11.8",
"3rdparty/gravityforms": "*",
"3rdparty/gravityflow": "*",
"3rdparty/woocommerce-product-bundles": "*"
"3rdparty/gravityflow": "*"
},
"require-dev": {
"vlucas/phpdotenv": "2.5.0"
@@ -91,11 +88,9 @@
"activate-plugins": [
"wp plugin activate woocommerce",
"wp plugin activate woocommerce-product-bundles",
"wp plugin activate woocommerce-jetpack",
"wp plugin activate jwt-authentication-for-wp-rest-api",
"wp plugin activate gravityforms",
"wp plugin activate gravityflow",
"wp plugin activate capability-manager-enhanced",
"wp plugin activate groups",
"wp plugin activate wp-user-groups",
"wp plugin activate radio-buttons-for-taxonomies",

152
backend/composer.lock generated
View File

@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "857a647e51fe2f0aaa596a2d303c8b98",
"content-hash": "46d983092d336b15b357f8569468977c",
"packages": [
{
"name": "3rdparty/gravityflow",
@@ -386,16 +386,16 @@
},
{
"name": "woocommerce/woocommerce",
"version": "3.4.4",
"version": "3.5.0",
"source": {
"type": "git",
"url": "https://github.com/woocommerce/woocommerce.git",
"reference": "322ba60a76a553e759c81ddc09a1b9efc1e6b4ef"
"reference": "703ae4d26d035d77dd9dd7bda797f03f7c0bf9d2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/woocommerce/woocommerce/zipball/322ba60a76a553e759c81ddc09a1b9efc1e6b4ef",
"reference": "322ba60a76a553e759c81ddc09a1b9efc1e6b4ef",
"url": "https://api.github.com/repos/woocommerce/woocommerce/zipball/703ae4d26d035d77dd9dd7bda797f03f7c0bf9d2",
"reference": "703ae4d26d035d77dd9dd7bda797f03f7c0bf9d2",
"shasum": ""
},
"require": {
@@ -426,7 +426,7 @@
],
"description": "An eCommerce toolkit that helps you sell anything. Beautifully.",
"homepage": "https://woocommerce.com/",
"time": "2018-07-25T18:00:37+00:00"
"time": "2018-10-23T16:14:13+00:00"
},
{
"name": "wpackagist-plugin/advanced-access-manager",
@@ -468,46 +468,6 @@
"type": "wordpress-plugin",
"homepage": "https://wordpress.org/plugins/advanced-custom-fields/"
},
{
"name": "wpackagist-plugin/akismet",
"version": "4.0.3",
"source": {
"type": "svn",
"url": "https://plugins.svn.wordpress.org/akismet/",
"reference": "tags/4.0.3"
},
"dist": {
"type": "zip",
"url": "https://downloads.wordpress.org/plugin/akismet.4.0.3.zip",
"reference": null,
"shasum": null
},
"require": {
"composer/installers": "~1.0"
},
"type": "wordpress-plugin",
"homepage": "https://wordpress.org/plugins/akismet/"
},
{
"name": "wpackagist-plugin/capability-manager-enhanced",
"version": "1.5.9",
"source": {
"type": "svn",
"url": "https://plugins.svn.wordpress.org/capability-manager-enhanced/",
"reference": "tags/1.5.9"
},
"dist": {
"type": "zip",
"url": "https://downloads.wordpress.org/plugin/capability-manager-enhanced.1.5.9.zip",
"reference": null,
"shasum": null
},
"require": {
"composer/installers": "~1.0"
},
"type": "wordpress-plugin",
"homepage": "https://wordpress.org/plugins/capability-manager-enhanced/"
},
{
"name": "wpackagist-plugin/groups",
"version": "2.3.1",
@@ -528,26 +488,6 @@
"type": "wordpress-plugin",
"homepage": "https://wordpress.org/plugins/groups/"
},
{
"name": "wpackagist-plugin/hello-dolly",
"version": "1.6",
"source": {
"type": "svn",
"url": "https://plugins.svn.wordpress.org/hello-dolly/",
"reference": "tags/1.6"
},
"dist": {
"type": "zip",
"url": "https://downloads.wordpress.org/plugin/hello-dolly.1.6.zip",
"reference": null,
"shasum": null
},
"require": {
"composer/installers": "~1.0"
},
"type": "wordpress-plugin",
"homepage": "https://wordpress.org/plugins/hello-dolly/"
},
{
"name": "wpackagist-plugin/jwt-authentication-for-wp-rest-api",
"version": "1.2.4",
@@ -568,46 +508,6 @@
"type": "wordpress-plugin",
"homepage": "https://wordpress.org/plugins/jwt-authentication-for-wp-rest-api/"
},
{
"name": "wpackagist-plugin/klarna-checkout-for-woocommerce",
"version": "1.5.2",
"source": {
"type": "svn",
"url": "https://plugins.svn.wordpress.org/klarna-checkout-for-woocommerce/",
"reference": "tags/1.5.2"
},
"dist": {
"type": "zip",
"url": "https://downloads.wordpress.org/plugin/klarna-checkout-for-woocommerce.1.5.2.zip",
"reference": null,
"shasum": null
},
"require": {
"composer/installers": "~1.0"
},
"type": "wordpress-plugin",
"homepage": "https://wordpress.org/plugins/klarna-checkout-for-woocommerce/"
},
{
"name": "wpackagist-plugin/mailchimp-for-woocommerce",
"version": "2.1.7",
"source": {
"type": "svn",
"url": "https://plugins.svn.wordpress.org/mailchimp-for-woocommerce/",
"reference": "tags/2.1.7"
},
"dist": {
"type": "zip",
"url": "https://downloads.wordpress.org/plugin/mailchimp-for-woocommerce.2.1.7.zip",
"reference": null,
"shasum": null
},
"require": {
"composer/installers": "~1.0"
},
"type": "wordpress-plugin",
"homepage": "https://wordpress.org/plugins/mailchimp-for-woocommerce/"
},
{
"name": "wpackagist-plugin/radio-buttons-for-taxonomies",
"version": "1.8.3",
@@ -648,46 +548,6 @@
"type": "wordpress-plugin",
"homepage": "https://wordpress.org/plugins/sendgrid-email-delivery-simplified/"
},
{
"name": "wpackagist-plugin/woocommerce-gateway-paypal-express-checkout",
"version": "1.5.6",
"source": {
"type": "svn",
"url": "https://plugins.svn.wordpress.org/woocommerce-gateway-paypal-express-checkout/",
"reference": "tags/1.5.6"
},
"dist": {
"type": "zip",
"url": "https://downloads.wordpress.org/plugin/woocommerce-gateway-paypal-express-checkout.1.5.6.zip",
"reference": null,
"shasum": null
},
"require": {
"composer/installers": "~1.0"
},
"type": "wordpress-plugin",
"homepage": "https://wordpress.org/plugins/woocommerce-gateway-paypal-express-checkout/"
},
{
"name": "wpackagist-plugin/woocommerce-jetpack",
"version": "3.7.0",
"source": {
"type": "svn",
"url": "https://plugins.svn.wordpress.org/woocommerce-jetpack/",
"reference": "trunk"
},
"dist": {
"type": "zip",
"url": "https://downloads.wordpress.org/plugin/woocommerce-jetpack.zip?timestamp=1529631506",
"reference": null,
"shasum": null
},
"require": {
"composer/installers": "~1.0"
},
"type": "wordpress-plugin",
"homepage": "https://wordpress.org/plugins/woocommerce-jetpack/"
},
{
"name": "wpackagist-plugin/wp-user-groups",
"version": "2.2.0",

File diff suppressed because one or more lines are too long