What's new
  • The default language of any content posted is English.
    Do not create multi-accounts, you will be blocked! For more information about rules, limits, and more, visit the Help page.
    Found a dead link? Use the report button!
Point of sale to WooCommerce add-on for SalePro POS & inventory management php script

Point of sale to WooCommerce add-on for SalePro POS & inventory management php script 2025-03-30

WhiteAngel

Member Plus
Member
Messages
111
Files
12
Reactions
347
WhiteAngel submitted a new resource:

Point of sale to WooCommerce add-on for SalePro POS & inventory management php script - Point of sale to WooCommerce add-on for SalePro POS & inventory management php script By LionCoders

View attachment 45063

Zip Password :



SalePro WooCommerce add-on is an optional premium add-on for the SalePro POS & inventory management laravel php script. This add-on is installed in your SaleProPOS software as a module. It helps you with synchronizing simple products not variant, categories, stocks, orders & taxes between your WooCommerce store and SalePro application.

What does...​


Read more about this resource...
 
i had uploaded the addon files in modules folder but its not working
@raz0r While installing the addon its asking for purchase code. can you please null it.
View attachment 52724
Change code in app\Http\Controllers\AddonInstallController.php:

Code:
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use ZipArchive;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Str;
use App\Models\Category;
use App\Models\Brand;
use App\Models\Product;
use Illuminate\Support\Facades\Artisan;
use Illuminate\Support\Facades\DB;

class AddonInstallController extends Controller
{
    public function saasInstall(Request $request)
    {
        $data = [
            'purchase_code' => $request->purchase_code,
            'product' => 'saas'
        ];
        $path = '';
        $module = 'saas';
        return $this->addonIstallUnzipMigrateRemoveTempFolder($data, $path, $module);
    }

    public function ecommerceInstall(Request $request)
    {
        $data = [
            'purchase_code' => $request->purchase_code,
            'product' => (config('database.connections.saleprosaas_landlord')) ? 'saas_ecom' : 'ecom'
        ];
        $path = '/Modules/';
        $module = 'ecommerce';
        return $this->addonIstallUnzipMigrateRemoveTempFolder($data, $path, $module);
    }

    public function woocommerceInstall(Request $request)
    {
        $data = [
            'purchase_code' => $request->purchase_code,
            'product' => (config('database.connections.saleprosaas_landlord')) ? 'saas_wcom' : 'wcom'
        ];
        $path = '/Modules/';
        $module = 'woocommerce';
        return $this->addonIstallUnzipMigrateRemoveTempFolder($data, $path, $module);
    }

    public function apiInstall(Request $request)
    {
        $data = [
            'purchase_code' => $request->purchase_code,
            'product' => (config('database.connections.saleprosaas_landlord')) ? 'saas_api' : 'api'
        ];
        $path = '/app/Http/Controllers/';
        $module = 'api';
        return $this->addonIstallUnzipMigrateRemoveTempFolder($data, $path, $module);
    }

    public function addonIstallUnzipMigrateRemoveTempFolder($data, $path, $module)
    {
        $db_str = '';
        if(!config('database.connections.saleprosaas_landlord')) {
            $db_str = 'db.';
        }
        if ($module == 'saas') {
            return redirect('/');
        }

        if(!config('database.connections.saleprosaas_landlord')) {
            if ($module == 'ecommerce' || $module == 'woocommerce') {
                Artisan::call('module:migrate', ['--force' => true]);
            }

            if ($module != 'saas') {
                $settings = DB::table('general_settings')->select('id','modules')->first();
                if(isset($settings->modules) && (!in_array($module,explode(',',$settings->modules)))){
                    $new_modules = $settings->modules.','.$module;
                }else{
                    $new_modules = $module;
                }
                DB::table('general_settings')->where('id',1)->update(['modules'=>$new_modules]);
            }

            if ($module == 'ecommerce') {
                $this->categorySlug();
                $this->brandSlug();
                $this->productSlug();
            }
        }
        return redirect()->back()->with('message', __($db_str.'Add-on installed successfully!'));
    }

    public function categorySlug()
    {
        $catgories = Category::select('id','name','slug')->get();
        foreach($catgories as $cat){
            $cat->slug = Str::slug($cat->name, '-');
            $cat->save();
        }
    }

    public function brandSlug()
    {
        $brands = Brand::select('id','title','slug')->get();
        foreach($brands as $brand){
            $brand->slug = Str::slug($brand->title, '-');
            $brand->save();
        }
    }

    public function productSlug()
    {
        $products = Product::select('id','name','slug')->get();
        foreach($products as $product){
            $product->slug = Str::slug($product->name, '-');
            $product->save();
        }
    }

}

Then upload module to /Modules/ and click install.
 
raz0r 's signature
Reacted by:
  • Like
Reactions: WhiteAngel
Top