Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Includes/Modules.php
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ public function list_all_modules() {
$all_modules[] = array(
'id' => $module_id,
'name' => $module->get_name(),
'dir' =>$module->get_dir(),
'icon' => $module->get_icon(),
'banner' => $module->get_banner(),
'description' => $module->get_description(),
Expand Down
9 changes: 9 additions & 0 deletions Includes/Modules/BoGo/BoGoModule.php
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,15 @@ public function get_id() {
return 'bogo';
}

/**
* directory Name for a module.
*
* @return string
*/
public function get_dir() {
return 'BoGo';
}

/**
* Icon for a module.
*
Expand Down
9 changes: 9 additions & 0 deletions Includes/Modules/CountdownTimer/CountdownTimerModule.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,15 @@ public function get_id() {
return 'countdown-timer';
}

/**
* directory Name for a module.
*
* @return string
*/
public function get_dir() {
return 'SalesCountdown';
}

/**
* Icon for a module.
*
Expand Down
9 changes: 9 additions & 0 deletions Includes/Modules/DirectCheckout/DirectCheckoutModule.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,15 @@ public function get_id() {
return 'direct-checkout';
}

/**
* directory Name for a module.
*
* @return string
*/
public function get_dir() {
return 'DirectCheckout';
}

/**
* Icon for a module.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,16 @@ public function get_id() {
return 'floating-notification-bar';
}

/**
* directory Name for a module.
*
* @return string
*/
public function get_dir() {
return 'FloatingNotificationBar';
}


/**
* Icon for a module.
*
Expand Down
9 changes: 9 additions & 0 deletions Includes/Modules/FlyCart/FlyCartModule.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,15 @@ public function get_id() {
return 'fly-cart';
}

/**
* directory Name for a module.
*
* @return string
*/
public function get_dir() {
return 'QuickCart';
}

/**
* Icon for a module.
*
Expand Down
125 changes: 125 additions & 0 deletions Includes/Modules/FrequentlyBought/FrequentlyBoughtModule.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
<?php
/**
* File for Upsell_Order_Bump class.
*
* @package SBFW
*/

namespace STOREGROWTH\SPSB\Modules\FrequentlyBought;

use STOREGROWTH\SPSB\Interfaces\ModuleSkeleton;
use STOREGROWTH\SPSB\Traits\Singleton;

// If this file is called directly, abort.
if ( ! defined( 'ABSPATH' ) ) {
exit;
}

/**
* Sales Pop module initiator class.
*/
class FrequentlyBoughtModule implements ModuleSkeleton {


use Singleton;

/**
* Unique ID for a module.
*
* @return string
*/
public function get_id() {
return 'frequently-bought';
}

/**
* directory Name for a module.
*
* @return string
*/
public function get_dir() {
return 'FrequentlyBought';
}

/**
* Icon for a module.
*
* @return string
*/
public function get_icon() {
return sgsb_modules_url( 'FrequentlyBought/assets/images/upsell-order-bump.svg' );
}

/**
* Banner for a module.
*
* @return string
*/
public function get_banner() {
return sgsb_modules_url( 'FrequentlyBought/assets/images/upsell-order-bump-module-img.webp' );
}

/**
* Unique name for a module.
*
* @return string
*/
public function get_name() {
return 'FBT';
}

/**
* Description for the module.
*
* @return string
*/
public function get_description() {
return 'Effortlessly boost sales. Offer relevant add-ons at checkout for increased order values and profit.';
}

/**
* Category for a module.
*
* @return string
*/
public function get_module_category() {
return 'cart';
}

/**
* Module activation function.
*
* @return void
*/
public function activate() {
// TODO: Implement activate() method.
}

/**
* Module deactivation function.
*
* @return void
*/
public function deactivate() {
// TODO: Implement deactivate() method.
}

/**
* Starting point of the module.
*
* @return void
*/
public function init() {
Includes\EnqueueScript::instance();

/**
* Module initialized.
*
* @since 1.28.8
*/
do_action( 'storegrowth_fbt_module_init' );
}
}

// Create object and return.
return FrequentlyBoughtModule::instance();
98 changes: 98 additions & 0 deletions Includes/Modules/FrequentlyBought/Includes/EnqueueScript.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
<?php
/**
* Enqueue_Script class for `Upsell Order Bump`.
*
* @package SBFW
*/

namespace STOREGROWTH\SPSB\Modules\FrequentlyBought\Includes;

use STOREGROWTH\SPSB\Traits\Singleton;

// If this file is called directly, abort.
if ( ! defined( 'ABSPATH' ) ) {
exit;
}

/**
* Add styles and scripts files of `Upsell Order Bump` Modules inside this class.
*/
class EnqueueScript {


use Singleton;

/**
* Constructor of Enqueue class.
*/
private function __construct() {
add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_styles' ) );
}


/**
* Add JS scripts to admin.
*
* @param string $hook screen name.
*/
public function admin_enqueue_scripts( $hook ) {

if ( 'storegrowth_page_sgsb-settings' === $hook ) {

$settings_file = require sgsb_modules_path( 'FrequentlyBought/assets/build/settings.asset.php' );
$settings_file['dependencies'][] = 'jquery';

wp_enqueue_script(
'sgsb-frequently-bought-settings',
sgsb_modules_url( 'FrequentlyBought/assets/build/settings.js' ),
$settings_file['dependencies'],
$settings_file['version'],
true
);

$action = 'ajd_protected';
$ajd_nonce = wp_create_nonce( $action );
$product_and_categories_data = array();
$fbt_product_and_categories = apply_filters( 'sgsb_fbt_product_and_categories_info', $product_and_categories_data );

wp_localize_script(
'sgsb-frequently-bought-settings',
'products_and_categories',
$fbt_product_and_categories
);

wp_localize_script(
'sgsb-frequently-bought-settings',
'fbt_save_url',
array(
'ajax_url' => admin_url( 'admin-ajax.php' ),
'ajd_nonce' => $ajd_nonce,
'image_folder' => sgsb_modules_url( 'FrequentlyBought/assets/images' ),
)
);
}
}

/**
* Add CSS scripts to admin.
*/
public function admin_enqueue_styles() {
$ftime = filemtime( sgsb_modules_path( 'FrequentlyBought/assets/css/frequently-bought-custom-admin.css' ) );
$ftime_template = filemtime( sgsb_modules_path( 'FrequentlyBought/assets/css/frequently-bought-template.css' ) );

wp_enqueue_style(
'sgsb-frequently-bought-custom-admin-css',
sgsb_modules_url( 'FrequentlyBought/assets/css/frequently-bought-custom-admin.css' ),
null,
$ftime
);

wp_enqueue_style(
'sgsb-frequently-bought-template-css',
sgsb_modules_url( 'FrequentlyBought/assets/css/frequently-bought-template.css' ),
null,
$ftime_template
);
}
}
Loading