Skip to content
View in the app

A better way to browse. Learn more.

DoniaWeB

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
     

6amTech Payment & SMS Gateway Addon v1.3

Featured Replies

  • Community Expert
  • Administrators

6amTech Payment & SMS Gateway Addon


Introducing the new Payment & SMS Gateway addon from 6amTech. No matter where you want to run your business with 6amTech’s products, now you have multiple payment and SMS gateways to choose from. It packs with 33 payments and 14 SMS gateways. 
Note: This addon isn’t an independent product. It only works with 6amTech-developed products.

6amTech Payment and SMS Module

Submitter Mahmoud
Submitted 11/22/2023
Category Scripts
Demo
https://codecanyon.net/item/6amtech-payment-sms-gateway-addon/48481246

6amTech Payment & SMS Gateway Addon

Support is available for paid files only
Support for free files is offered for a fee only

  • Replies 26
  • Views 8.5k
  • Created
  • Last Reply

Top Posters In This Topic

Posted Images

3 hours ago, Jhon Jairo Cajas Laurencio said:

Ao adicioná-lo ao stackfood aparece como um erro

verifique se sua hospedagem consegue descompactar zip pelo php, coso contrario, instale a extessao

>i................................................................................................................................
 

Edited by A-r-j-u-n

app/Http/Controllers/Admin/AddonController.php

 

<?php

namespace App\Http\Controllers\Admin;

use App\CPU\Helpers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Validator;
use Brian2694\Toastr\Facades\Toastr;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;
use Illuminate\Support\Facades\Storage;
use Illuminate\Http\JsonResponse;
use Illuminate\Support\Facades\Http;
use Illuminate\Contracts\Foundation\Application;
use Illuminate\Routing\Redirector;
use Illuminate\Http\RedirectResponse;

class AddonController extends Controller
{
    public function index()
    {
        $module_dir = base_path('Modules/');
        if (!File::exists($module_dir)) {
            File::makeDirectory($module_dir);
            File::chmod($module_dir, 0777);
        }

        $dir = 'Modules';
        $directories = self::getDirectories($dir);
        $addons = [];
        foreach ($directories as $directory) {
            $sub_dirs = self::getDirectories('Modules/' . $directory);
            if (in_array('Addon', $sub_dirs)) {
                $addons[] = 'Modules/' . $directory;
            }
        }
        return view('admin-views.addons.index', compact('addons'));
    }

    public function publish(Request $request): JsonResponse|int
    {
        $full_data = include($request['path'] . '/Addon/info.php');
        $path = $request['path'];
        $addon_name = $full_data['name'];
        if ($full_data['purchase_code'] == null || $full_data['username'] == null) {
            return response()->json([
                'flag' => 'inactive',
                'view' => view('admin-views.addons.partials.activation-modal-data', compact('full_data', 'path', 'addon_name'))->render(),
            ]);
        }
        $full_data['is_published'] = $full_data['is_published'] ? 0 : 1;

        $str = "<?php return " . var_export($full_data, true) . ";";
        file_put_contents(base_path($request['path'] . '/Addon/info.php'), $str);

        return response()->json([
            'status' => 'success',
            'message'=> 'status_updated_successfully'
        ]);
    }

    public function activation(Request $request): Redirector|RedirectResponse|Application
       {
        $remove = ["http://", "https://", "www."];
        $url = str_replace($remove, "", url('/'));
        $full_data = include($request['path'] . '/Addon/info.php');

        $full_data['is_published'] = 1;
        $full_data['username'] = $request['username'];
        $full_data['purchase_code'] = $request['purchase_code'];
        $str = "<?php return " . var_export($full_data, true) . ";";
        file_put_contents(base_path($request['path'] . '/Addon/info.php'), $str);

        Toastr::success(translate('activated_successfully'));
        return back();
    }

    public function upload(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'file_upload' => 'required|mimes:zip'
        ]);

        if ($validator->errors()->count() > 0) {
            $error = Helpers::error_processor($validator);
            return response()->json(['status' => 'error', 'message' => $error[0]['message']]);
        }

        $extractPath = storage_path('app/temp/');
        if (!File::exists($extractPath)) {
            File::makeDirectory($extractPath);
        }

        $file = $request->file('file_upload');
        $filename = $file->getClientOriginalName();
        $tempPath = $file->storeAs('temp', $filename);
        $zip = new \ZipArchive();

        if ($zip->open(storage_path('app/' . $tempPath)) === TRUE) {
            // Extract the contents to a directory
            $zip->extractTo($extractPath);
            $zip->close();
            Storage::delete($tempPath);

            if(File::exists($extractPath.'/'.explode('.', $filename)[0].'/Addon/info.php')){

                $moveToPath = base_path('Modules/');
                if (!File::exists($moveToPath)) {
                    File::makeDirectory($moveToPath);
                }

                if (File::exists($moveToPath.'/'.explode('.', $filename)[0])) {
                    Toastr::warning(translate('already_installed!'));
                    $message = translate('already_installed');
                    $status = 'error';
                }else{
                    File::copyDirectory($extractPath, $moveToPath);
                    File::chmod($moveToPath, 0777);
                    File::chmod($moveToPath.'/'.explode('.', $filename)[0], 0777);
                    File::chmod($moveToPath.'/'.explode('.', $filename)[0].'/Addon', 0777);
                    Toastr::success(translate('file_upload_successfully!'));
                    $status = 'success';
                    $message = translate('file_upload_successfully!');
                }
            }else{
                File::deleteDirectory($extractPath.'/'.explode('.', $filename)[0]);
                $status = 'error';
                $message = translate('invalid_file!');
            }
        }else{
            $status = 'error';
            $message = translate('file_upload_fail!');
        }

        File::deleteDirectory($extractPath);

        return response()->json([
            'status' => $status,
            'message'=> $message
        ]);
    }

    public function delete_theme(Request $request){
        $path = $request->path;

        $full_path = base_path($path);

        $old = base_path('app/Traits/Payment.php');
        $new = base_path('app/Traits/Payment.txt');
        copy($new, $old);

        if(File::deleteDirectory($full_path)){
            return response()->json([
                'status' => 'success',
                'message'=> translate('file_delete_successfully')
            ]);
        }else{
            return response()->json([
                'status' => 'error',
                'message'=> translate('file_delete_fail')
            ]);
        }
    }

    //helper functions
    function getDirectories(string $path): array
    {
        $directories = [];
        $items = scandir($path);
        foreach ($items as $item) {
            if ($item == '..' || $item == '.')
                continue;
            if (is_dir($path . '/' . $item))
                $directories[] = $item;
        }
        return $directories;
    }
}

 

On 3/31/2024 at 9:51 PM, Omezah said:

@Xtreme Royals Technologies country code so I can chat you on Whatsapp I need your assistance@diskless cafe same issue here 

country code +90 turkey

On 3/31/2024 at 9:51 PM, Omezah said:

@Xtreme Royals Technologies country code so I can chat you on Whatsapp I need your assistance@diskless cafe same issue here 

country code +90 turkey

go to:

app/Http/Controllers/Admin/System/AddonController.php
paste the below code

<?php

namespace App\Http\Controllers\Admin\System;

use App\CPU\Helpers;

use App\Http\Controllers\Controller;

use Illuminate\Http\Request;

use Illuminate\Support\Facades\File;

use Illuminate\Support\Facades\Validator;

use Brian2694\Toastr\Facades\Toastr;

use Illuminate\Support\Facades\DB;

use Illuminate\Support\Facades\Schema;

use Illuminate\Support\Facades\Storage;

use Illuminate\Http\JsonResponse;

use Illuminate\Support\Facades\Http;

use Illuminate\Contracts\Foundation\Application;

use Illuminate\Routing\Redirector;

use Illuminate\Http\RedirectResponse;

class AddonController extends Controller

{

public function index()

{

$module_dir = base_path('Modules/');

if (!File::exists($module_dir)) {

File::makeDirectory($module_dir);

File::chmod($module_dir, 0777);

}

$dir = 'Modules';

$directories = self::getDirectories($dir);

$addons = [];

foreach ($directories as $directory) {

$sub_dirs = self::getDirectories('Modules/' . $directory);

if (in_array('Addon', $sub_dirs)) {

$addons[] = 'Modules/' . $directory;

}

}

return view('admin-views.system.addon.index', compact('addons'));

}

public function publish(Request $request): JsonResponse|int

{

$full_data = include($request['path'] . '/Addon/info.php');

$path = $request['path'];

$addon_name = $full_data['name'];

if ($full_data['purchase_code'] null || $full_data['username'] null) {

return response()->json([

'flag' => 'inactive',

'view' => view('admin-views.system.addon.partials.activation-modal-data', compact('full_data', 'path', 'addon_name'))->render(),

]);

}

$full_data['is_published'] = $full_data['is_published'] ? 0 : 1;

$str = "<?php return " . var_export($full_data, true) . ";";

file_put_contents(base_path($request['path'] . '/Addon/info.php'), $str);

return response()->json([

'status' => 'success',

'message'=> 'status_updated_successfully'

]);

}

public function activation(Request $request): Redirector|RedirectResponse|Application

{

$remove = ["http://", "https://", "www."];

$url = str_replace($remove, "", url('/'));

$full_data = include($request['path'] . '/Addon/info.php');

$full_data['is_published'] = 1;

$full_data['username'] = $request['username'];

$full_data['purchase_code'] = $request['purchase_code'];

$str = "<?php return " . var_export($full_data, true) . ";";

file_put_contents(base_path($request['path'] . '/Addon/info.php'), $str);

Toastr::success(translate('activated_successfully'));

return back();

}

public function upload(Request $request)

{

$validator = Validator::make($request->all(), [

'file_upload' => 'required|mimes:zip'

]);

if ($validator->errors()->count() > 0) {

$error = Helpers::error_processor($validator);

return response()->json(['status' => 'error', 'message' => $error[0]['message']]);

}

$extractPath = storage_path('app/temp/');

if (!File::exists($extractPath)) {

File::makeDirectory($extractPath);

}

$file = $request->file('file_upload');

$filename = $file->getClientOriginalName();

$tempPath = $file->storeAs('temp', $filename);

$zip = new \ZipArchive();

if ($zip->open(storage_path('app/' . $tempPath)) === TRUE) {

// Extract the contents to a directory

$zip->extractTo($extractPath);

$zip->close();

Storage::delete($tempPath);

if(File::exists($extractPath.'/'.explode('.', $filename)[0].'/Addon/info.php')){

$moveToPath = base_path('Modules/');

if (!File::exists($moveToPath)) {

File::makeDirectory($moveToPath);

}

if (File::exists($moveToPath.'/'.explode('.', $filename)[0])) {

Toastr::warning(translate('already_installed!'));

$message = translate('already_installed');

$status = 'error';

}else{

File::copyDirectory($extractPath, $moveToPath);

File::chmod($moveToPath, 0777);

File::chmod($moveToPath.'/'.explode('.', $filename)[0], 0777);

File::chmod($moveToPath.'/'.explode('.', $filename)[0].'/Addon', 0777);

Toastr::success(translate('file_upload_successfully!'));

$status = 'success';

$message = translate('file_upload_successfully!');

}

}else{

File::deleteDirectory($extractPath.'/'.explode('.', $filename)[0]);

$status = 'error';

$message = translate('invalid_file!');

}

}else{

$status = 'error';

$message = translate('file_upload_fail!');

}

File::deleteDirectory($extractPath);

return response()->json([

'status' => $status,

'message'=> $message

]);

}

public function delete_theme(Request $request){

$path = $request->path;

$full_path = base_path($path);

$old = base_path('app/Traits/Payment.php');

$new = base_path('app/Traits/Payment.txt');

copy($new, $old);

if(File::deleteDirectory($full_path)){

return response()->json([

'status' => 'success',

'message'=> translate('file_delete_successfully')

]);

}else{

return response()->json([

'status' => 'error',

'message'=> translate('file_delete_fail')

]);

}

}

//helper functions

function getDirectories(string $path): array

{

$directories = [];

$items = scandir($path);

foreach ($items as $item) {

if ($item '..' || $item '.')

continue;

if (is_dir($path . '/' . $item))

$directories[] = $item;

}

return $directories;

}

}

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

Recently Browsing 0

  • No registered users viewing this page.

Latest Updated Files

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.