├── index.php
├── public
├── css
│ ├── app
│ │ ├── layout
│ │ │ ├── _layout.scss
│ │ │ └── .DS_Store
│ │ ├── base
│ │ │ ├── _global.scss
│ │ │ └── _fallbacks.scss
│ │ ├── .DS_Store
│ │ ├── components
│ │ │ ├── _pricing.scss
│ │ │ ├── .DS_Store
│ │ │ ├── _icons.scss
│ │ │ ├── _forms.scss
│ │ │ ├── _collections.scss
│ │ │ └── _breadcrumbs.scss
│ │ ├── utilities
│ │ │ ├── .DS_Store
│ │ │ ├── _animations.scss
│ │ │ └── _colors.scss
│ │ ├── grid.scss
│ │ └── core.scss
│ └── .DS_Store
├── index.php
├── .DS_Store
├── js
│ ├── .DS_Store
│ └── app
│ │ ├── plugin
│ │ └── plugin.js
│ │ ├── ws
│ │ ├── api
│ │ │ ├── api-variants.js
│ │ │ └── api-endpoints.js
│ │ └── ws-client.js
│ │ ├── utils
│ │ ├── utils-settings.js
│ │ └── utils-client.js
│ │ ├── cache
│ │ └── cache.js
│ │ └── app.js
├── imgs
│ ├── placeholder.png
│ ├── icon-arrow-dropdown.svg
│ ├── icon-add-to-cart.svg
│ ├── icon-spinner.svg
│ └── icon-success.svg
└── templates
│ └── partials
│ ├── pagination
│ ├── end.php
│ ├── start.php
│ ├── page-last.php
│ ├── page-next.php
│ ├── page-number-current.php
│ ├── page-first.php
│ ├── page-number.php
│ ├── page-previous.php
│ └── counter.php
│ ├── products
│ ├── single
│ │ ├── end.php
│ │ ├── gallery-end.php
│ │ ├── thumbs-end.php
│ │ ├── info-end.php
│ │ ├── info-start.php
│ │ ├── gallery-start.php
│ │ ├── header.php
│ │ ├── thumbs-start.php
│ │ ├── heading.php
│ │ ├── content.php
│ │ └── start.php
│ ├── related
│ │ ├── end.php
│ │ ├── start.php
│ │ └── heading.php
│ ├── loop
│ │ ├── end.php
│ │ ├── item-end.php
│ │ ├── item-link-end.php
│ │ ├── start.php
│ │ ├── item-title.php
│ │ ├── item-description.php
│ │ ├── item-price.php
│ │ └── item-img.php
│ ├── add-to-cart
│ │ ├── price-wrapper-end.php
│ │ ├── price-wrapper-start.php
│ │ └── meta-end.php
│ └── action-groups
│ │ ├── end.php
│ │ └── start.php
│ ├── collections
│ ├── single
│ │ ├── end.php
│ │ ├── heading.php
│ │ ├── start.php
│ │ ├── img.php
│ │ ├── content.php
│ │ └── products-heading.php
│ └── loop
│ │ ├── end.php
│ │ ├── item-end.php
│ │ ├── item-link-end.php
│ │ ├── start.php
│ │ ├── item-title.php
│ │ └── item-img.php
│ ├── notices
│ ├── not-found.php
│ ├── add-to-cart.php
│ ├── no-results.php
│ └── out-of-stock.php
│ └── cart
│ ├── cart-counter.php
│ ├── cart-terms.php
│ └── cart-icon-wrapper.php
├── admin
├── index.php
├── .DS_Store
├── css
│ ├── .DS_Store
│ ├── app
│ │ └── .DS_Store
│ └── vendor
│ │ ├── chosen-sprite.png
│ │ └── chosen-sprite@2x.png
├── js
│ ├── .DS_Store
│ └── app
│ │ ├── .DS_Store
│ │ ├── globals
│ │ └── globals-general.js
│ │ ├── ws
│ │ ├── api
│ │ │ ├── api-tools.js
│ │ │ ├── api-variants.js
│ │ │ ├── api-shop.js
│ │ │ ├── api-orders.js
│ │ │ ├── api-collects.js
│ │ │ ├── api-customers.js
│ │ │ ├── api-posts.js
│ │ │ └── api-syncing.js
│ │ └── syncing.js
│ │ ├── _tests
│ │ ├── unit
│ │ │ └── ws
│ │ │ │ └── ws-api-endpoints.unit.test.js
│ │ └── integration
│ │ │ └── ws.integration.test.js
│ │ └── forms
│ │ └── events.js
├── imgs
│ └── spinner-2x.gif
└── partials
│ ├── .DS_Store
│ ├── wps-admin-notices.php
│ └── wps-tab-content-updates-pro.php
├── classes
├── index.php
├── .DS_Store
├── class-routes.php
├── utils
│ ├── class-posts.php
│ ├── class-urls.php
│ ├── class-pricing.php
│ ├── class-filtering.php
│ └── class-predicates.php
├── render
│ └── class-data.php
├── factories
│ ├── db
│ │ ├── class-db-factory.php
│ │ ├── class-collects-factory.php
│ │ ├── class-shop-factory.php
│ │ ├── class-tags-factory.php
│ │ ├── class-images-factory.php
│ │ ├── class-orders-factory.php
│ │ ├── class-options-factory.php
│ │ ├── class-posts-factory.php
│ │ ├── class-products-factory.php
│ │ ├── class-customers-factory.php
│ │ ├── class-collections-smart-factory.php
│ │ ├── class-settings-general-factory.php
│ │ ├── class-settings-license-factory.php
│ │ ├── class-settings-syncing-factory.php
│ │ ├── class-collections-custom-factory.php
│ │ ├── class-settings-connection-factory.php
│ │ ├── class-variants-factory.php
│ │ └── class-collections-factory.php
│ ├── class-checkouts-factory.php
│ ├── class-routes-factory.php
│ ├── layout
│ │ └── class-data-factory.php
│ ├── class-i18n-factory.php
│ ├── class-utils-factory.php
│ ├── class-config-factory.php
│ ├── class-template-loader-factory.php
│ ├── class-transients-factory.php
│ ├── class-deactivator-factory.php
│ ├── class-api-factory.php
│ ├── class-http-factory.php
│ ├── api
│ │ ├── misc
│ │ │ ├── class-routes-factory.php
│ │ │ └── class-notices-factory.php
│ │ ├── tools
│ │ │ ├── class-cache-factory.php
│ │ │ └── class-clear-factory.php
│ │ ├── processing
│ │ │ ├── class-shop-factory.php
│ │ │ ├── class-tags-factory.php
│ │ │ ├── class-images-factory.php
│ │ │ ├── class-orders-factory.php
│ │ │ ├── class-options-factory.php
│ │ │ ├── class-collects-factory.php
│ │ │ ├── class-products-factory.php
│ │ │ ├── class-variants-factory.php
│ │ │ ├── class-customers-factory.php
│ │ │ ├── class-webhooks-factory.php
│ │ │ ├── class-webhooks-deletions-factory.php
│ │ │ ├── class-posts-products-factory.php
│ │ │ └── class-collections-factory.php
│ │ ├── settings
│ │ │ ├── class-cart-factory.php
│ │ │ ├── class-layout-factory.php
│ │ │ ├── class-products-factory.php
│ │ │ ├── class-checkout-factory.php
│ │ │ ├── class-collections-factory.php
│ │ │ ├── class-related-products-factory.php
│ │ │ ├── class-license-factory.php
│ │ │ └── class-general-factory.php
│ │ ├── syncing
│ │ │ ├── class-counts-factory.php
│ │ │ ├── class-indicator-factory.php
│ │ │ └── class-status-factory.php
│ │ └── items
│ │ │ ├── class-variants-factory.php
│ │ │ ├── class-shop-factory.php
│ │ │ ├── class-orders-factory.php
│ │ │ └── class-collects-factory.php
│ ├── class-cpt-model-factory.php
│ ├── class-shopify-api-factory.php
│ ├── render
│ │ └── class-products-factory.php
│ ├── class-pagination-factory.php
│ ├── class-updater-factory.php
│ ├── class-webhooks-factory.php
│ ├── processing
│ │ ├── class-shop-factory.php
│ │ ├── class-tags-factory.php
│ │ ├── class-orders-factory.php
│ │ ├── class-posts-factory.php
│ │ ├── class-collects-factory.php
│ │ ├── class-variants-factory.php
│ │ ├── class-customers-factory.php
│ │ ├── class-products-factory.php
│ │ ├── class-images-factory.php
│ │ ├── class-posts-products-factory.php
│ │ ├── class-webhooks-deletions-factory.php
│ │ ├── class-collections-custom-factory.php
│ │ ├── class-collections-smart-factory.php
│ │ ├── class-webhooks-factory.php
│ │ ├── class-posts-collections-smart-factory.php
│ │ ├── class-posts-collections-custom-factory.php
│ │ └── class-options-factory.php
│ ├── class-backend-factory.php
│ ├── class-cpt-query-factory.php
│ ├── class-money-factory.php
│ └── class-frontend-factory.php
├── class-webhooks.php
├── class-i18n.php
├── api
│ ├── settings
│ │ └── class-layout.php
│ └── items
│ │ ├── class-orders.php
│ │ ├── class-customers.php
│ │ └── class-webhooks.php
├── processing
│ ├── class-posts-products.php
│ ├── class-posts-collections-custom.php
│ └── class-posts-collections-smart.php
└── class-deactivator.php
├── tests
├── phpunit
│ └── data
│ │ └── themedir1
│ │ ├── broken-theme
│ │ └── .nodelete
│ │ ├── subdir
│ │ ├── theme with spaces
│ │ │ ├── index.php
│ │ │ └── style.css
│ │ └── theme2
│ │ │ ├── functions.php
│ │ │ ├── index.php
│ │ │ └── style.css
│ │ ├── default
│ │ ├── index.php
│ │ ├── comments.php
│ │ ├── style.css
│ │ └── functions.php
│ │ ├── page-templates
│ │ ├── 38766
│ │ │ ├── trailing-comma-post-types.php
│ │ │ ├── trailing-period-post-types.php
│ │ │ ├── no-trailing-period-post-types.php
│ │ │ ├── trailing-period-whitespace-post-types.php
│ │ │ ├── trailing-whitespace-period-post-types.php
│ │ │ └── tilde-post-types.php
│ │ ├── index.php
│ │ ├── template-top-level.php
│ │ ├── subdir
│ │ │ ├── template-sub-dir.php
│ │ │ └── template-sub-dir-post-types.php
│ │ ├── template-header.php
│ │ ├── template-top-level-post-types.php
│ │ └── style.css
│ │ ├── internationalized-theme
│ │ ├── index.php
│ │ ├── functions.php
│ │ └── style.css
│ │ ├── camelCase
│ │ ├── index.php
│ │ └── style.css
│ │ ├── child-parent-itself
│ │ └── style.css
│ │ ├── sandbox
│ │ ├── index.php
│ │ ├── functions.php
│ │ └── style.css
│ │ ├── theme1
│ │ ├── index.php
│ │ ├── functions.php
│ │ └── style.css
│ │ ├── theme1-dupe
│ │ ├── index.php
│ │ ├── functions.php
│ │ └── style.css
│ │ ├── page-templates-child
│ │ ├── subdir
│ │ │ └── template-sub-dir-post-types-child.php
│ │ ├── template-top-level-post-types-child.php
│ │ └── style.css
│ │ └── stylesheetonly
│ │ └── style.css
├── mock-data
│ ├── tags
│ │ └── tag.json
│ ├── options
│ │ ├── options-one.json
│ │ ├── option.json
│ │ ├── option-update.json
│ │ └── options-three.json
│ ├── option-sync-insert.json
│ ├── collects
│ │ └── collect.json
│ ├── collect-sync-insert.json
│ ├── collections
│ │ └── collection-to-delete.json
│ ├── image-update.json
│ ├── images
│ │ └── image.json
│ ├── collection-sync-custom-insert.json
│ ├── collection-smart.json
│ ├── collection-smart-update.json
│ ├── license.json
│ └── collection-sync-smart-insert.json
├── render
│ └── test-render-products.php
├── test-bootstrap.php
├── test-shortcodes.php
├── api
│ ├── items
│ │ ├── not-used-class-orders.php
│ │ ├── not-used-class-posts.php
│ │ ├── not-used-class-shop.php
│ │ ├── not-used-class-collects.php
│ │ ├── not-used-class-customers.php
│ │ ├── not-used-class-products.php
│ │ ├── not-used-class-variants.php
│ │ └── not-used-class-webhooks.php
│ ├── misc
│ │ └── not-used-class-notices.php
│ ├── settings
│ │ ├── not-used-class-cart.php
│ │ ├── not-used-class-checkout.php
│ │ ├── not-used-class-general.php
│ │ ├── not-used-class-layout.php
│ │ ├── not-used-class-license.php
│ │ ├── not-used-class-collections.php
│ │ ├── not-used-class-connection.php
│ │ └── not-used-class-related-products.php
│ ├── tools
│ │ ├── not-used-class-cache.php
│ │ └── not-used-class-clear.php
│ └── processing
│ │ ├── not-used-class-images.php
│ │ ├── not-used-class-options.php
│ │ ├── not-used-class-orders.php
│ │ ├── not-used-class-shop.php
│ │ ├── not-used-class-tags.php
│ │ ├── not-used-class-collections.php
│ │ ├── not-used-class-collects.php
│ │ ├── not-used-class-customers.php
│ │ ├── not-used-class-products.php
│ │ ├── not-used-class-variants.php
│ │ ├── not-used-class-webhooks.php
│ │ ├── not-used-class-posts-products.php
│ │ └── not-used-class-webhooks-deletions.php
├── jest
│ ├── jest.config.unit.json
│ └── jest.config.integration.json
├── test-messages.php
└── bootstrap.php
├── vendor
├── gerardojbaez
│ └── money
│ │ ├── .gitattributes
│ │ ├── .DS_Store
│ │ ├── src
│ │ ├── Exceptions
│ │ │ └── CurrencyException.php
│ │ └── helpers.php
│ │ ├── .editorconfig
│ │ └── phpunit.xml
├── myclabs
│ └── deep-copy
│ │ ├── .gitignore
│ │ ├── fixtures
│ │ ├── f008
│ │ │ ├── B.php
│ │ │ └── A.php
│ │ ├── f005
│ │ │ └── Foo.php
│ │ ├── f004
│ │ │ └── UnclonableItem.php
│ │ ├── f007
│ │ │ ├── FooDateInterval.php
│ │ │ └── FooDateTimeZone.php
│ │ ├── f001
│ │ │ ├── A.php
│ │ │ └── B.php
│ │ ├── f003
│ │ │ └── Foo.php
│ │ ├── f006
│ │ │ ├── A.php
│ │ │ └── B.php
│ │ └── f002
│ │ │ └── A.php
│ │ ├── doc
│ │ ├── clone.png
│ │ ├── graph.png
│ │ ├── deep-copy.png
│ │ └── deep-clone.png
│ │ ├── .scrutinizer.yml
│ │ ├── .gitattributes
│ │ └── src
│ │ └── DeepCopy
│ │ ├── Exception
│ │ ├── CloneException.php
│ │ └── PropertyException.php
│ │ ├── TypeFilter
│ │ ├── Spl
│ │ │ └── SplDoublyLinkedList.php
│ │ ├── TypeFilter.php
│ │ ├── ShallowCopyFilter.php
│ │ └── ReplaceFilter.php
│ │ ├── Matcher
│ │ ├── Matcher.php
│ │ ├── Doctrine
│ │ │ └── DoctrineProxyMatcher.php
│ │ └── PropertyNameMatcher.php
│ │ ├── Filter
│ │ ├── KeepFilter.php
│ │ ├── Filter.php
│ │ ├── Doctrine
│ │ │ └── DoctrineProxyFilter.php
│ │ └── SetNullFilter.php
│ │ ├── deep_copy.php
│ │ └── TypeMatcher
│ │ └── TypeMatcher.php
├── autoload.php
└── composer
│ ├── autoload_namespaces.php
│ ├── autoload_files.php
│ └── autoload_psr4.php
├── assets
└── icon-128x128.png
├── postcss.config.js
├── .gitignore
├── .eslintrc
├── .phpunit-watcher.yml
├── gulp
└── tasks
│ ├── reload.js
│ ├── clean-builds.js
│ ├── clean-tmp.js
│ ├── clean-dist.js
│ ├── server.js
│ ├── clean-free-repo.js
│ ├── clean-pro.js
│ ├── clean-free.js
│ ├── images-admin.js
│ ├── images-public.js
│ ├── js.js
│ ├── init.js
│ ├── js-admin.js
│ ├── js-public.js
│ ├── watch.js
│ ├── css-public.js
│ ├── css-admin.js
│ ├── css-public-grid.js
│ └── css-public-core.js
├── composer.json
├── .babelrc
└── uninstall.php
/index.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/phpunit/data/themedir1/subdir/theme2/index.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/admin/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shopwp/wp-shopify/HEAD/admin/.DS_Store
--------------------------------------------------------------------------------
/classes/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shopwp/wp-shopify/HEAD/classes/.DS_Store
--------------------------------------------------------------------------------
/public/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shopwp/wp-shopify/HEAD/public/.DS_Store
--------------------------------------------------------------------------------
/vendor/myclabs/deep-copy/.gitignore:
--------------------------------------------------------------------------------
1 | /composer.phar
2 | /composer.lock
3 | /vendor/*
4 |
--------------------------------------------------------------------------------
/admin/css/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shopwp/wp-shopify/HEAD/admin/css/.DS_Store
--------------------------------------------------------------------------------
/admin/js/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shopwp/wp-shopify/HEAD/admin/js/.DS_Store
--------------------------------------------------------------------------------
/public/css/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shopwp/wp-shopify/HEAD/public/css/.DS_Store
--------------------------------------------------------------------------------
/public/js/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shopwp/wp-shopify/HEAD/public/js/.DS_Store
--------------------------------------------------------------------------------
/admin/js/app/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shopwp/wp-shopify/HEAD/admin/js/app/.DS_Store
--------------------------------------------------------------------------------
/tests/phpunit/data/themedir1/default/index.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/admin/css/app/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shopwp/wp-shopify/HEAD/admin/css/app/.DS_Store
--------------------------------------------------------------------------------
/admin/imgs/spinner-2x.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shopwp/wp-shopify/HEAD/admin/imgs/spinner-2x.gif
--------------------------------------------------------------------------------
/admin/partials/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shopwp/wp-shopify/HEAD/admin/partials/.DS_Store
--------------------------------------------------------------------------------
/assets/icon-128x128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shopwp/wp-shopify/HEAD/assets/icon-128x128.png
--------------------------------------------------------------------------------
/public/css/app/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shopwp/wp-shopify/HEAD/public/css/app/.DS_Store
--------------------------------------------------------------------------------
/public/css/app/components/_pricing.scss:
--------------------------------------------------------------------------------
1 | .wps-price-wrapper {
2 | display: inline-block;
3 | }
4 |
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: [
3 | require('autoprefixer')
4 | ]
5 | };
6 |
--------------------------------------------------------------------------------
/public/imgs/placeholder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shopwp/wp-shopify/HEAD/public/imgs/placeholder.png
--------------------------------------------------------------------------------
/tests/phpunit/data/themedir1/internationalized-theme/index.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/vendor/myclabs/deep-copy/fixtures/f008/B.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/phpunit/data/themedir1/page-templates/template-header.php:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/vendor/myclabs/deep-copy/doc/clone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shopwp/wp-shopify/HEAD/vendor/myclabs/deep-copy/doc/clone.png
--------------------------------------------------------------------------------
/vendor/myclabs/deep-copy/doc/graph.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shopwp/wp-shopify/HEAD/vendor/myclabs/deep-copy/doc/graph.png
--------------------------------------------------------------------------------
/tests/phpunit/data/themedir1/camelCase/index.php:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/tests/phpunit/data/themedir1/theme1/index.php:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/admin/partials/wps-admin-notices.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/tests/phpunit/data/themedir1/sandbox/functions.php:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/tests/phpunit/data/themedir1/theme1-dupe/index.php:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/tests/phpunit/data/themedir1/theme1/functions.php:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/public/css/app/base/_fallbacks.scss:
--------------------------------------------------------------------------------
1 | .flexboxtweener {
2 | .wps-related-products {
3 | // margin-top: -100px;
4 | padding-top: 0;
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/tests/phpunit/data/themedir1/theme1-dupe/functions.php:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/tests/mock-data/tags/tag.json:
--------------------------------------------------------------------------------
1 | {
2 | "tag_id": 22343234234,
3 | "product_id": 1403917041687,
4 | "post_id": 18361,
5 | "tag": "nesciunt NEW NEW"
6 | }
7 |
--------------------------------------------------------------------------------
/public/imgs/icon-arrow-dropdown.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/phpunit/data/themedir1/page-templates/template-top-level-post-types.php:
--------------------------------------------------------------------------------
1 | WP_Shopify.nonce_api;
7 |
8 |
9 | export {
10 | nonce_api
11 | }
12 |
--------------------------------------------------------------------------------
/tests/phpunit/data/themedir1/page-templates/38766/trailing-comma-post-types.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/vendor/composer/autoload_namespaces.php:
--------------------------------------------------------------------------------
1 | cloned = true;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/tests/mock-data/option-sync-insert.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": 1871955394583,
3 | "product_id": 1403917762583,
4 | "name": "😃 Size",
5 | "position": 1,
6 | "values": [
7 | "Extra Small",
8 | "Small",
9 | "Medium",
10 | "Large"
11 | ]
12 | }
13 |
--------------------------------------------------------------------------------
/vendor/gerardojbaez/money/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | indent_style = space
5 | indent_size = 4
6 | charset = utf-8
7 | trim_trailing_whitespace = true
8 | insert_final_newline = true
9 |
10 | [*.yml]
11 | indent_style = tab
12 | indent_size = 2
13 |
--------------------------------------------------------------------------------
/public/js/app/plugin/plugin.js:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | WP Shopify jQuery Plugin for manipulating front-end cart experience
4 |
5 | */
6 | function getPluginInstance() {
7 | }
8 |
9 | function initPlugin() {}
10 |
11 | export {
12 | initPlugin,
13 | getPluginInstance
14 | };
15 |
--------------------------------------------------------------------------------
/public/imgs/icon-spinner.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/css/app/core.scss:
--------------------------------------------------------------------------------
1 | @import "utilities/functions";
2 | @import "utilities/variables";
3 | @import "utilities/colors";
4 | @import "utilities/mixins";
5 | @import "base/global";
6 | @import "base/state";
7 | @import "components/cart";
8 |
9 | body { background: inherit; }
10 |
--------------------------------------------------------------------------------
/tests/phpunit/data/themedir1/page-templates/38766/tilde-post-types.php:
--------------------------------------------------------------------------------
1 | {
9 | return gulp.parallel('clean:free', 'clean:pro', 'clean:free:repo', 'clean:tmp')(done);
10 | });
11 |
--------------------------------------------------------------------------------
/public/imgs/icon-success.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/mock-data/options/option.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": 18719553945833333,
3 | "product_id": 1403917533207,
4 | "name": "Mock Option Title",
5 | "position": 1,
6 | "values": [
7 | "Mock Option Value 1",
8 | "Mock Option Value 2",
9 | "Mock Option Value 3"
10 | ]
11 | }
12 |
--------------------------------------------------------------------------------
/classes/class-routes.php:
--------------------------------------------------------------------------------
1 | {
11 |
12 | return del([
13 | config.folders.tmp
14 | ], { force: true });
15 |
16 | });
17 |
--------------------------------------------------------------------------------
/tests/mock-data/collects/collect.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": 94886093783279999999,
3 | "product_id": 1403916746775,
4 | "collection_id": 5570953239,
5 | "featured": 0,
6 | "position": 1,
7 | "sort_value": 1,
8 | "created_at": "2018-08-14 14:49:23",
9 | "updated_at": "2018-08-14 14:49:23"
10 | }
11 |
--------------------------------------------------------------------------------
/vendor/gerardojbaez/money/phpunit.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ./tests/
6 |
7 |
8 |
--------------------------------------------------------------------------------
/vendor/myclabs/deep-copy/fixtures/f004/UnclonableItem.php:
--------------------------------------------------------------------------------
1 | {
11 |
12 | return del([
13 | config.files.buildProContent
14 | ], { force: true });
15 |
16 | });
17 |
--------------------------------------------------------------------------------
/gulp/tasks/server.js:
--------------------------------------------------------------------------------
1 | ////////////
2 | // Server //
3 | ////////////
4 |
5 | import gulp from 'gulp';
6 | import config from '../config';
7 |
8 | gulp.task('server', (done) => {
9 |
10 | config.bs.init({
11 | proxy: config.serverName,
12 | notify: false
13 | });
14 |
15 | done();
16 |
17 | });
18 |
--------------------------------------------------------------------------------
/gulp/tasks/clean-free-repo.js:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Clears out Free repo folder
4 |
5 | */
6 | import gulp from 'gulp';
7 | import config from '../config';
8 | import del from 'del';
9 |
10 | gulp.task('clean:free:repo', done => {
11 |
12 | return del([
13 | config.folders.freeRepo
14 | ], { force: true });
15 |
16 | });
17 |
--------------------------------------------------------------------------------
/tests/mock-data/collect-sync-insert.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": 9488609378327,
3 | "collection_id": 5570953239,
4 | "product_id": 1403916746775,
5 | "featured": false,
6 | "created_at": "2018-08-14T09:49:23-05:00",
7 | "updated_at": "2018-08-14T09:49:23-05:00",
8 | "position": 1,
9 | "sort_value": "0000000001"
10 | }
11 |
--------------------------------------------------------------------------------
/tests/mock-data/options/option-update.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": 1871955132439,
3 | "product_id": 1403917533207,
4 | "name": "Mock Option Title UPDATED",
5 | "position": 1,
6 | "values": [
7 | "Mock Option Value 1 UPDATED",
8 | "Mock Option Value 2 UPDATED",
9 | "Mock Option Value 3 UPDATED"
10 | ]
11 | }
12 |
--------------------------------------------------------------------------------
/vendor/myclabs/deep-copy/fixtures/f007/FooDateInterval.php:
--------------------------------------------------------------------------------
1 | cloned = true;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/vendor/myclabs/deep-copy/fixtures/f007/FooDateTimeZone.php:
--------------------------------------------------------------------------------
1 | cloned = true;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/TypeFilter.php:
--------------------------------------------------------------------------------
1 | foo = $foo;
12 | }
13 |
14 | public function getFoo()
15 | {
16 | return $this->foo;
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/tests/phpunit/data/themedir1/subdir/theme2/style.css:
--------------------------------------------------------------------------------
1 | /*
2 | Theme Name: My Subdir Theme
3 | Theme URI: http://example.org/
4 | Description: An example theme in a sub directory
5 | Version: 0.1
6 | Author: Mr. WordPress
7 | Author URI: http://wordpress.org/
8 |
9 | This is just a stub to test the loading of the above metadata.
10 |
11 | */
--------------------------------------------------------------------------------
/vendor/myclabs/deep-copy/src/DeepCopy/Matcher/Matcher.php:
--------------------------------------------------------------------------------
1 | {
11 | return del([
12 | config.files.buildProContent
13 | ], { force: true });
14 | });
15 |
--------------------------------------------------------------------------------
/gulp/tasks/clean-free.js:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Clears out free version build folder (used for debugging / productivity)
4 |
5 | */
6 | import gulp from 'gulp';
7 | import config from '../config';
8 | import del from 'del';
9 |
10 | gulp.task('clean:free', () => {
11 | return del([
12 | config.files.buildFreeContent
13 | ], { force: true });
14 | });
15 |
--------------------------------------------------------------------------------
/tests/phpunit/data/themedir1/subdir/theme with spaces/style.css:
--------------------------------------------------------------------------------
1 | /*
2 | Theme Name: Theme with Spaces in the Directory
3 | Theme URI: http://example.org/
4 | Description: An example theme in a sub directory
5 | Version: 0.1
6 | Author: Mr. WordPress
7 | Author URI: http://wordpress.org/
8 |
9 | This is just a stub to test the loading of the above metadata.
10 |
11 | */
--------------------------------------------------------------------------------
/gulp/tasks/images-admin.js:
--------------------------------------------------------------------------------
1 | //////////////////
2 | // Images Admin //
3 | //////////////////
4 |
5 | import gulp from 'gulp';
6 | import config from '../config';
7 | import svgo from 'gulp-svgo';
8 |
9 | gulp.task('images-admin', () => {
10 | return gulp.src(config.files.svgsAdmin)
11 | .pipe(svgo())
12 | .pipe(gulp.dest(config.folders.svgsAdmin));
13 | });
14 |
--------------------------------------------------------------------------------
/vendor/myclabs/deep-copy/fixtures/f001/A.php:
--------------------------------------------------------------------------------
1 | aProp;
12 | }
13 |
14 | public function setAProp($prop)
15 | {
16 | $this->aProp = $prop;
17 |
18 | return $this;
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/gulp/tasks/images-public.js:
--------------------------------------------------------------------------------
1 | ///////////////////
2 | // Images Public //
3 | ///////////////////
4 |
5 | import gulp from 'gulp';
6 | import config from '../config';
7 | import svgo from 'gulp-svgo';
8 |
9 | gulp.task('images-public', () => {
10 | return gulp.src(config.files.svgsPublic)
11 | .pipe(svgo())
12 | .pipe(gulp.dest(config.folders.svgsPublic));
13 | });
14 |
--------------------------------------------------------------------------------
/vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/ShallowCopyFilter.php:
--------------------------------------------------------------------------------
1 | bProp;
12 | }
13 |
14 | public function setBProp($prop)
15 | {
16 | $this->bProp = $prop;
17 |
18 | return $this;
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/classes/utils/class-posts.php:
--------------------------------------------------------------------------------
1 | Templates = $Templates;
15 | }
16 |
17 |
18 | /*
19 |
20 |
21 |
22 | */
23 | public function test() {
24 |
25 | echo 'test';
26 |
27 | }
28 |
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/tests/mock-data/collections/collection-to-delete.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": 13729693719,
3 | "post_id": 18367,
4 | "title": "aaaaa",
5 | "handle": "aaaaa-1",
6 | "body_html": "aaaaa",
7 | "image": "",
8 | "metafield": "",
9 | "published": "",
10 | "published_scope": "global",
11 | "sort_order": "best-selling",
12 | "published_at": "2017-12-10 23:15:50",
13 | "updated_at": "2018-08-14 03:10:01"
14 | }
15 |
--------------------------------------------------------------------------------
/tests/mock-data/image-update.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": 3843485794327,
3 | "product_id": 1403917533207,
4 | "position": 0,
5 | "created_at": null,
6 | "updated_at": null,
7 | "alt": "Mock Image Alt Update 😃d",
8 | "width": 323,
9 | "height": 434,
10 | "src": "\/\/cdn.shopify.com\/s\/assets\/shopify_shirt-39bb555874ecaeed0a1170417d58bbcf792f7ceb56acfe758384f788710ba635.png",
11 | "variant_ids": []
12 | }
13 |
--------------------------------------------------------------------------------
/vendor/composer/autoload_files.php:
--------------------------------------------------------------------------------
1 | $vendorDir . '/gerardojbaez/money/src/helpers.php',
10 | '6124b4c8570aa390c21fafd04a26c69f' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php',
11 | );
12 |
--------------------------------------------------------------------------------
/public/templates/partials/pagination/end.php:
--------------------------------------------------------------------------------
1 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/public/templates/partials/products/single/end.php:
--------------------------------------------------------------------------------
1 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/tests/mock-data/images/image.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": 384348579432799999,
3 | "product_id": 1403917533207,
4 | "position": 0,
5 | "created_at": null,
6 | "updated_at": null,
7 | "alt": "Mock UDPATED Image Alt",
8 | "width": 323,
9 | "height": 434,
10 | "src": "\/\/cdn.shopify.com\/s\/assets\/shopify_shirt-39bb555874ecaeed0a1170417d58bbcf792f7ceb56acfe758384f788710ba635.png",
11 | "variant_ids": []
12 | }
13 |
--------------------------------------------------------------------------------
/tests/phpunit/data/themedir1/theme1-dupe/style.css:
--------------------------------------------------------------------------------
1 | /*
2 | Theme Name: My Theme
3 | Theme URI: http://example.org/
4 | Description: This theme has the same Theme Name as theme1
5 | Version: 1.4
6 | Author: Minnie Bannister
7 | Author URI: http://example.com/
8 |
9 | Kubrick v1.5
10 | http://binarybonsai.com/kubrick/
11 |
12 | This is just a stub to test the loading of the above metadata.
13 |
14 | */
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/classes/utils/class-urls.php:
--------------------------------------------------------------------------------
1 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/public/templates/partials/collections/single/end.php:
--------------------------------------------------------------------------------
1 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/tests/mock-data/collection-sync-custom-insert.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": 13729693719,
3 | "handle": "aaaaa-1",
4 | "title": "aaaaa",
5 | "updated_at": "2018-08-13T22:10:01-05:00",
6 | "body_html": "aaaaa",
7 | "published_at": "2017-12-10T17:15:50-06:00",
8 | "sort_order": "best-selling",
9 | "template_suffix": null,
10 | "published_scope": "global",
11 | "admin_graphql_api_id": "gid://shopify/Collection/13729693719"
12 | }
13 |
--------------------------------------------------------------------------------
/public/templates/partials/products/loop/end.php:
--------------------------------------------------------------------------------
1 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/public/templates/partials/collections/loop/end.php:
--------------------------------------------------------------------------------
1 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/admin/js/app/_tests/unit/ws/ws-api-endpoints.unit.test.js:
--------------------------------------------------------------------------------
1 | import {
2 | endpointSettingAddToCartColor
3 | } from '../../../ws/api/api-endpoints';
4 |
5 |
6 | it('Should return correct settings add to cart color endpoint', () => {
7 |
8 | const result = endpointSettingAddToCartColor();
9 |
10 | expect(result)
11 | .toBeString()
12 | .toEqual('http://wpshopify.loc/api/wpshopify/v1/settings/products_add_to_cart_color');
13 |
14 | });
15 |
--------------------------------------------------------------------------------
/public/js/app/utils/utils-settings.js:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | hasEnableCustomCheckoutDomain
4 |
5 | */
6 | function hasEnableCustomCheckoutDomain() {
7 | return WP_Shopify.settings.enableCustomCheckoutDomain;
8 | }
9 |
10 |
11 | /*
12 |
13 | hasCurrencyCode
14 |
15 | */
16 | function hasCurrencyCode() {
17 | return WP_Shopify.settings.hasCurrencyCode;
18 | }
19 |
20 |
21 | export {
22 | hasEnableCustomCheckoutDomain,
23 | hasCurrencyCode
24 | }
25 |
--------------------------------------------------------------------------------
/public/css/app/utilities/_colors.scss:
--------------------------------------------------------------------------------
1 | $colors: (
2 | darkblue: #14273B,
3 | lightblue: #093D55,
4 | lightgreen: #69C7BF,
5 | darkgreen: #52A7A6,
6 | grey: #727272,
7 | base: #333333,
8 | white: #ffffff,
9 | offwhite: #f3f3f3,
10 | links: #52a7a6,
11 | linksHover: #52A7A6,
12 | buttonPrimary: #69C7BF,
13 | buttonSecondary: #52A7A6,
14 | success: #8df6b2,
15 | info: #d6f2ff,
16 | warning: #ffeac6,
17 | error: #ffd3d3
18 | );
19 |
--------------------------------------------------------------------------------
/classes/factories/db/class-db-factory.php:
--------------------------------------------------------------------------------
1 | {
2 | return localStorage.setItem(name, value);
3 | }
4 |
5 | const getCache = (name) => {
6 | return localStorage.getItem(name);
7 | }
8 |
9 | const deleteCache = (name = false) => {
10 |
11 | if (!name) {
12 | return localStorage.clear();
13 | }
14 |
15 | return localStorage.removeItem(name);
16 |
17 | }
18 |
19 | export {
20 | setCache,
21 | getCache,
22 | deleteCache
23 | }
24 |
--------------------------------------------------------------------------------
/public/templates/partials/collections/loop/item-end.php:
--------------------------------------------------------------------------------
1 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/classes/factories/db/class-collects-factory.php:
--------------------------------------------------------------------------------
1 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/public/templates/partials/products/single/gallery-end.php:
--------------------------------------------------------------------------------
1 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/classes/factories/db/class-images-factory.php:
--------------------------------------------------------------------------------
1 | {
12 |
13 | return gulp
14 | .src( config.files.jsEntryAdmin )
15 | .pipe( webpackStream( config.webpackConfig(), webpack) )
16 | .pipe( gulp.dest(config.folders.dist) );
17 |
18 | });
19 |
--------------------------------------------------------------------------------
/tests/phpunit/data/themedir1/sandbox/style.css:
--------------------------------------------------------------------------------
1 | /*
2 | THEME NAME: Sandbox
3 | THEME URI: http://www.plaintxt.org/themes/sandbox/
4 | DESCRIPTION: A theme with powerful, semantic CSS selectors and the ability to add new skins.
5 | VERSION: 0.6.1-wpcom
6 | AUTHOR: Andy Skelton & Scott Allan Wallick
7 | AUTHOR URI:
8 |
9 | This is a dummy theme for testing the above metadata.
10 | */
11 |
12 |
--------------------------------------------------------------------------------
/vendor/gerardojbaez/money/src/helpers.php:
--------------------------------------------------------------------------------
1 | format();
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/classes/factories/class-checkouts-factory.php:
--------------------------------------------------------------------------------
1 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/tests/mock-data/collection-smart.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": 10801610775,
3 | "title": "11collection",
4 | "handle": "11collection",
5 | "body_html": "11collection",
6 | "image": "",
7 | "rules": [
8 | {
9 | "column": "vendor",
10 | "relation": "equals",
11 | "condition": "Apple"
12 | }
13 | ],
14 | "disjunctive": "",
15 | "sort_order": "best-selling",
16 | "published_at": "2017-10-21 19:50:06",
17 | "updated_at": "2018-07-21 20:17:22"
18 | }
19 |
--------------------------------------------------------------------------------
/classes/factories/class-routes-factory.php:
--------------------------------------------------------------------------------
1 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/public/templates/partials/products/loop/item-link-end.php:
--------------------------------------------------------------------------------
1 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/public/templates/partials/products/single/thumbs-end.php:
--------------------------------------------------------------------------------
1 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/classes/factories/class-i18n-factory.php:
--------------------------------------------------------------------------------
1 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/vendor/myclabs/deep-copy/fixtures/f003/Foo.php:
--------------------------------------------------------------------------------
1 | name = $name;
13 | }
14 |
15 | public function getProp()
16 | {
17 | return $this->prop;
18 | }
19 |
20 | public function setProp($prop)
21 | {
22 | $this->prop = $prop;
23 |
24 | return $this;
25 | }
26 | }
--------------------------------------------------------------------------------
/vendor/myclabs/deep-copy/src/DeepCopy/Filter/Filter.php:
--------------------------------------------------------------------------------
1 | Kubrick.
5 | Version: 1.6
6 | Author: Michael Heilemann
7 | Author URI: http://binarybonsai.com/
8 |
9 | Kubrick v1.5
10 | http://binarybonsai.com/kubrick/
11 |
12 | This is just a stub to test the loading of the above metadata.
13 |
14 | */
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/vendor/myclabs/deep-copy/fixtures/f006/A.php:
--------------------------------------------------------------------------------
1 | aProp;
13 | }
14 |
15 | public function setAProp($prop)
16 | {
17 | $this->aProp = $prop;
18 |
19 | return $this;
20 | }
21 |
22 | public function __clone()
23 | {
24 | $this->cloned = true;
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/vendor/myclabs/deep-copy/fixtures/f006/B.php:
--------------------------------------------------------------------------------
1 | bProp;
13 | }
14 |
15 | public function setBProp($prop)
16 | {
17 | $this->bProp = $prop;
18 |
19 | return $this;
20 | }
21 |
22 | public function __clone()
23 | {
24 | $this->cloned = true;
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/classes/factories/class-config-factory.php:
--------------------------------------------------------------------------------
1 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/public/templates/partials/products/action-groups/end.php:
--------------------------------------------------------------------------------
1 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/tests/render/test-render-products.php:
--------------------------------------------------------------------------------
1 | assertEquals('1', 1);
27 | }
28 |
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": [
3 | [
4 | "@babel/preset-env",
5 | {
6 | "useBuiltIns": "entry"
7 | }
8 | ]
9 | ,
10 | "@babel/preset-react"
11 | ],
12 | "plugins": [
13 | "@babel/plugin-transform-regenerator",
14 | "@babel/plugin-transform-runtime",
15 | "@babel/plugin-syntax-dynamic-import",
16 | "@babel/plugin-syntax-import-meta",
17 | "@babel/plugin-proposal-class-properties",
18 | "@babel/plugin-proposal-json-strings"
19 | ]
20 | }
21 |
--------------------------------------------------------------------------------
/classes/factories/db/class-collections-custom-factory.php:
--------------------------------------------------------------------------------
1 | {
11 |
12 | if (config.isBuilding) {
13 | gulp.series('js', 'css-admin', 'css-public', 'css-public-core', 'css-public-grid', 'images-public', 'images-admin');
14 |
15 | } else {
16 | gulp.series( gulp.parallel('js', 'css-admin', 'css-public', 'css-public-core', 'css-public-grid'), 'server', 'watch' )(done);
17 | }
18 |
19 | });
20 |
--------------------------------------------------------------------------------
/gulp/tasks/js-admin.js:
--------------------------------------------------------------------------------
1 | ////////
2 | // JS //
3 | ////////
4 |
5 | import webpack from 'webpack';
6 | import gulp from 'gulp';
7 | import config from '../config';
8 | import webpackStream from 'webpack-stream';
9 | import uglify from 'gulp-uglify';
10 |
11 | gulp.task('js-admin', done => {
12 |
13 | return gulp
14 | .src( config.files.jsEntryAdmin )
15 | .pipe( webpackStream( config.webpackConfig(config.names.jsAdmin), webpack) )
16 | .pipe( gulp.dest(config.folders.dist) );
17 |
18 | });
19 |
--------------------------------------------------------------------------------
/gulp/tasks/js-public.js:
--------------------------------------------------------------------------------
1 | ////////
2 | // JS //
3 | ////////
4 |
5 | import webpack from 'webpack';
6 | import gulp from 'gulp';
7 | import config from '../config';
8 | import webpackStream from 'webpack-stream';
9 | import uglify from 'gulp-uglify';
10 |
11 | gulp.task('js-public', done => {
12 |
13 | return gulp
14 | .src( config.files.jsEntryPublic )
15 | .pipe( webpackStream(config.webpackConfig(config.names.jsPublic), webpack ) )
16 | .pipe( gulp.dest(config.folders.dist) );
17 |
18 | });
19 |
--------------------------------------------------------------------------------
/classes/factories/db/class-settings-connection-factory.php:
--------------------------------------------------------------------------------
1 | assertInternalType('object', $build);
19 | $this->assertContains('WPS\\', get_class($build));
20 |
21 | }
22 |
23 | $this->assertCount(47, $builds);
24 |
25 | }
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/classes/factories/class-deactivator-factory.php:
--------------------------------------------------------------------------------
1 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/public/templates/partials/products/related/start.php:
--------------------------------------------------------------------------------
1 |
20 |
21 |