• You MUST read the Babiato Rules before making your first post otherwise you may get permanent warning points or a permanent Ban.

    Our resources on Babiato Forum are CLEAN and SAFE. So you can use them for development and testing purposes. If your are on Windows and have an antivirus that alerts you about a possible infection: Know it's a false positive because all scripts are double checked by our experts. We advise you to add Babiato to trusted sites/sources or disable your antivirus momentarily while downloading a resource. "Enjoy your presence on Babiato"

Wa Gateway | Multi device BETA | MPWA MD

Wa Gateway | Multi device BETA | MPWA MD v6.5.0 Nulled

No permission to download
Hello please
the installation has been done on aapanel
but I can't send the images
how to solve this problem
I have re-scan several times already my number Capture d’écran 2022-08-15 124114.png
 
Hello please
the installation has been done on aapanel
but I can't send the images
how to solve this problem
I have re-scan several times already my number Capture d’écran 2022-08-15 124114.png

the media files in your folder are not connected properly, try checking the public root folder, there should be a folder called storage. The folder is in the form of a chain. if it doesn't mean it's not connected properly

I say this because I experienced the same thing, until I found the root of the problem, it was also thanks to the other members who gave hints
 
  • Like
Reactions: krissiank
Gentlemen, thanks for your input, I would like to make a summary to be able to create a chain of solutions, if you can confirm the actions of the threads as a solution or that configuration is the correct one, it would be great to have an enriched configuration experience.
 
  • Like
Reactions: acsoft
Decrypted web.php for v4.0 location routes/web.php Let me know if it works for you, take backup of your original file before replacing.
PHP:
<?php
use App\Http\Controllers\AdminController;
use App\Http\Controllers\Auth\LoginController;
use App\Http\Controllers\Auth\LogoutController;
use App\Http\Controllers\AutoreplyController;
use App\Http\Controllers\BlastController;
use App\Http\Controllers\CampaignController;
use App\Http\Controllers\ContactController;
use App\Http\Controllers\FileManagerController;
use App\Http\Controllers\HomeController;
use App\Http\Controllers\MessagesController;
use App\Http\Controllers\RegisterController;
use App\Http\Controllers\RestapiController;
use App\Http\Controllers\ScanController;
use App\Http\Controllers\ScheduleMessageController;
use App\Http\Controllers\SettingController;
use App\Http\Controllers\TagController;
use App\Http\Controllers\UserController;
use Illuminate\Support\Facades\Route;
use Illuminate\Support\Facades\Redirect;
require_once 'custom-route.php';
Route::group(['prefix' => 'laravel-filemanager', 'middleware' => ['web', 'auth']], function () {
    \UniSharp\LaravelFilemanager\Lfm::routes();
});
Route::get('/', function () {
    return Redirect::to('/login');
    // OR: return Redirect::intended('/bands'); // if using authentication
    
});
Route::middleware('installed.app', 'auth')->group(function () {
    Route::get('/file-manager', [FileManagerController::class, 'index'])->name('file-manager');
    Route::get('/home', [HomeController::class, 'index'])->name('home');
    Route::post('/home/setSessionSelectedDevice', [HomeController::class, 'setSelectedDeviceSession'])->name('home.setSessionSelectedDevice');
    Route::post('/home/sethook', [HomeController::class, 'setHook'])->name('setHook');
    Route::post('/home', [HomeController::class, 'store'])->name('addDevice');
    Route::delete('/home', [HomeController::class, 'destroy'])->name('deleteDevice');
    Route::get('/scan/{number:body}', ScanController::class)->name('scan');
    Route::get('/autoreply', [AutoreplyController::class, 'index'])->name('autoreply');
    Route::post('/autoreply', [AutoreplyController::class, 'store'])->name('autoreply');
    Route::get('/autoreply/{type}', [AutoreplyController::class, 'getFormByType']);
    Route::delete('/autoreply', [AutoreplyController::class, 'destroy'])->name('autoreply.delete');
    Route::delete('/autoreply/all', [AutoreplyController::class, 'destroyAll'])->name('deleteAllAutoreply');
    Route::get('/autoreply/show-reply/{id}', [AutoreplyController::class, 'show']);
    Route::post('/contact/add', [ContactController::class, 'store'])->name('addcontact');
    Route::post('/contact/export', [ContactController::class, 'export'])->name('exportContact');
    Route::delete('/contact/delete_all', [ContactController::class, 'DestroyAll'])->name('deleteAll');
    Route::delete('/contact/delete/{id}', [ContactController::class, 'destroy'])->name('contactDeleteOne');
    Route::post('/contact/import', [ContactController::class, 'import'])->name('importContacts');
    Route::post('/contact', [ContactController::class, 'store'])->name('contact');
    Route::get('/contact/{contacts:tag_id}', [ContactController::class, 'index']);
    Route::get('/tags', [TagController::class, 'index'])->name('tag');
    Route::post('/tags', [TagController::class, 'store'])->name('tag.store');
    Route::delete('/tags', [TagController::class, 'destroy'])->name('tag.delete');
    Route::get('/tag/view/{id}', [TagController::class, 'view']);
    Route::post('fetch-groups', [TagController::class, 'fetchGroups'])->name('fetch.groups');
    Route::get('/campaign/create', [CampaignController::class, 'index'])->name('campaign.create');
    Route::get('/campaigns', [CampaignController::class, 'lists'])->name('campaign.lists');
    Route::get('/campaign/show/{id}', [CampaignController::class, 'show'])->name('campaign.show');
    Route::delete('/delete-all-campaigns', [CampaignController::class, 'destroyAll'])->name('campaigns.delete.all');
    Route::post('/blast', [BlastController::class, 'blastProccess'])->name('blast');
    Route::get('/blast/scheduled', [BlastController::class, 'scheduled'])->name('scheduledMessage');
    Route::get('/blast/text-message', [BlastController::class, 'getPageBlastText']);
    Route::get('/blast/image-message', [BlastController::class, 'getPageBlastImage']);
    Route::get('/blast/button-message', [BlastController::class, 'getPageBlastButton']);
    Route::get('/blast/template-message', [BlastController::class, 'getPageBlastTemplate']);
    Route::get('/blast/histories/{blast:campaign_id}', [BlastController::class, 'histories'])->name('blastHistories');
    Route::get('/message/test', [MessagesController::class, 'index'])->name('messagetest');
    Route::get('/message/test', [MessagesController::class, 'index'])->name('messagetest');
    Route::post('/message/test/text', [MessagesController::class, 'textMessageTest'])->name('textMessageTest');
    Route::post('/message/test/image', [MessagesController::class, 'imageMessageTest'])->name('imageMessageTest');
    Route::post('/message/test/button', [MessagesController::class, 'buttonMessageTest'])->name('buttonMessageTest');
    Route::post('/message/test/template', [MessagesController::class, 'templateMessageTest'])->name('templateMessageTest');
    Route::post('/message/test/list', [MessagesController::class, 'listMessageTest'])->name('listMessageTest');
    Route::get('/rest-api', RestapiController::class)->name('rest-api');
    Route::get('/user/change-password', [UserController::class, 'changePassword'])->name('user.changePassword');
    Route::post('/user/change-password', [UserController::class, 'changePasswordPost'])->name('changePassword');
    Route::post('/user/setting/apikey', [UserController::class, 'generateNewApiKey'])->name('generateNewApiKey');
    Route::post('/user/settings/chunk', [UserController::class, 'changeChunk'])->name('changeChunk');
    Route::get('/settings', [SettingController::class, 'index'])->name('settings');
    Route::post('/settings/server', [SettingController::class, 'setServer'])->name('setServer');
    Route::get('/schedule', [ScheduleMessageController::class, 'index'])->name('scheduleMessage');
    Route::get('/admin/manage-user', [AdminController::class, 'manageUser'])->name('admin.manageUser')->middleware('admin');
    Route::post('/admin/user/store', [AdminController::class, 'userStore'])->name('user.store')->middleware('admin');
    Route::delete('/admin/user/delete/{id}', [AdminController::class, 'userDelete'])->name('user.delete')->middleware('admin');
    Route::get('admin/user/edit', [AdminController::class, 'userEdit'])->name('user.edit')->middleware('admin');
    Route::post('admin/user/update', [AdminController::class, 'userUpdate'])->name('user.update')->middleware('admin');
    Route::post('/logout', LogoutController::class)->name('logout');
});
Route::middleware('installed.app', 'guest')->group(function () {
    Route::get('/login', [LoginController::class, 'index'])->name('login');
    Route::get('/register', [RegisterController::class, 'index'])->name('register');
    Route::post('/register', [RegisterController::class, 'store'])->name('register');
    Route::post('/login', [LoginController::class, 'store'])->name('login');
});
Route::get('/install', [SettingController::class, 'install'])->name('setting.install_app');
Route::post('/install', [SettingController::class, 'install'])->name('settings.install_app');
Route::post('/settings/check_database_connection', [SettingController::class, 'test_database_connection'])->name('connectDB');
Route::post('/settings/activate_license', [SettingController::class, 'activate_license'])->name('activateLicense');
?>
 
  • Like
Reactions: acsoft and Gemes
Decrypted web.php for v4.0 location routes/web.php Let me know if it works for you, take backup of your original file before replacing.
PHP:
<?php
use App\Http\Controllers\AdminController;
use App\Http\Controllers\Auth\LoginController;
use App\Http\Controllers\Auth\LogoutController;
use App\Http\Controllers\AutoreplyController;
use App\Http\Controllers\BlastController;
use App\Http\Controllers\CampaignController;
use App\Http\Controllers\ContactController;
use App\Http\Controllers\FileManagerController;
use App\Http\Controllers\HomeController;
use App\Http\Controllers\MessagesController;
use App\Http\Controllers\RegisterController;
use App\Http\Controllers\RestapiController;
use App\Http\Controllers\ScanController;
use App\Http\Controllers\ScheduleMessageController;
use App\Http\Controllers\SettingController;
use App\Http\Controllers\TagController;
use App\Http\Controllers\UserController;
use Illuminate\Support\Facades\Route;
use Illuminate\Support\Facades\Redirect;
require_once 'custom-route.php';
Route::group(['prefix' => 'laravel-filemanager', 'middleware' => ['web', 'auth']], function () {
    \UniSharp\LaravelFilemanager\Lfm::routes();
});
Route::get('/', function () {
    return Redirect::to('/login');
    // OR: return Redirect::intended('/bands'); // if using authentication
   
});
Route::middleware('installed.app', 'auth')->group(function () {
    Route::get('/file-manager', [FileManagerController::class, 'index'])->name('file-manager');
    Route::get('/home', [HomeController::class, 'index'])->name('home');
    Route::post('/home/setSessionSelectedDevice', [HomeController::class, 'setSelectedDeviceSession'])->name('home.setSessionSelectedDevice');
    Route::post('/home/sethook', [HomeController::class, 'setHook'])->name('setHook');
    Route::post('/home', [HomeController::class, 'store'])->name('addDevice');
    Route::delete('/home', [HomeController::class, 'destroy'])->name('deleteDevice');
    Route::get('/scan/{number:body}', ScanController::class)->name('scan');
    Route::get('/autoreply', [AutoreplyController::class, 'index'])->name('autoreply');
    Route::post('/autoreply', [AutoreplyController::class, 'store'])->name('autoreply');
    Route::get('/autoreply/{type}', [AutoreplyController::class, 'getFormByType']);
    Route::delete('/autoreply', [AutoreplyController::class, 'destroy'])->name('autoreply.delete');
    Route::delete('/autoreply/all', [AutoreplyController::class, 'destroyAll'])->name('deleteAllAutoreply');
    Route::get('/autoreply/show-reply/{id}', [AutoreplyController::class, 'show']);
    Route::post('/contact/add', [ContactController::class, 'store'])->name('addcontact');
    Route::post('/contact/export', [ContactController::class, 'export'])->name('exportContact');
    Route::delete('/contact/delete_all', [ContactController::class, 'DestroyAll'])->name('deleteAll');
    Route::delete('/contact/delete/{id}', [ContactController::class, 'destroy'])->name('contactDeleteOne');
    Route::post('/contact/import', [ContactController::class, 'import'])->name('importContacts');
    Route::post('/contact', [ContactController::class, 'store'])->name('contact');
    Route::get('/contact/{contacts:tag_id}', [ContactController::class, 'index']);
    Route::get('/tags', [TagController::class, 'index'])->name('tag');
    Route::post('/tags', [TagController::class, 'store'])->name('tag.store');
    Route::delete('/tags', [TagController::class, 'destroy'])->name('tag.delete');
    Route::get('/tag/view/{id}', [TagController::class, 'view']);
    Route::post('fetch-groups', [TagController::class, 'fetchGroups'])->name('fetch.groups');
    Route::get('/campaign/create', [CampaignController::class, 'index'])->name('campaign.create');
    Route::get('/campaigns', [CampaignController::class, 'lists'])->name('campaign.lists');
    Route::get('/campaign/show/{id}', [CampaignController::class, 'show'])->name('campaign.show');
    Route::delete('/delete-all-campaigns', [CampaignController::class, 'destroyAll'])->name('campaigns.delete.all');
    Route::post('/blast', [BlastController::class, 'blastProccess'])->name('blast');
    Route::get('/blast/scheduled', [BlastController::class, 'scheduled'])->name('scheduledMessage');
    Route::get('/blast/text-message', [BlastController::class, 'getPageBlastText']);
    Route::get('/blast/image-message', [BlastController::class, 'getPageBlastImage']);
    Route::get('/blast/button-message', [BlastController::class, 'getPageBlastButton']);
    Route::get('/blast/template-message', [BlastController::class, 'getPageBlastTemplate']);
    Route::get('/blast/histories/{blast:campaign_id}', [BlastController::class, 'histories'])->name('blastHistories');
    Route::get('/message/test', [MessagesController::class, 'index'])->name('messagetest');
    Route::get('/message/test', [MessagesController::class, 'index'])->name('messagetest');
    Route::post('/message/test/text', [MessagesController::class, 'textMessageTest'])->name('textMessageTest');
    Route::post('/message/test/image', [MessagesController::class, 'imageMessageTest'])->name('imageMessageTest');
    Route::post('/message/test/button', [MessagesController::class, 'buttonMessageTest'])->name('buttonMessageTest');
    Route::post('/message/test/template', [MessagesController::class, 'templateMessageTest'])->name('templateMessageTest');
    Route::post('/message/test/list', [MessagesController::class, 'listMessageTest'])->name('listMessageTest');
    Route::get('/rest-api', RestapiController::class)->name('rest-api');
    Route::get('/user/change-password', [UserController::class, 'changePassword'])->name('user.changePassword');
    Route::post('/user/change-password', [UserController::class, 'changePasswordPost'])->name('changePassword');
    Route::post('/user/setting/apikey', [UserController::class, 'generateNewApiKey'])->name('generateNewApiKey');
    Route::post('/user/settings/chunk', [UserController::class, 'changeChunk'])->name('changeChunk');
    Route::get('/settings', [SettingController::class, 'index'])->name('settings');
    Route::post('/settings/server', [SettingController::class, 'setServer'])->name('setServer');
    Route::get('/schedule', [ScheduleMessageController::class, 'index'])->name('scheduleMessage');
    Route::get('/admin/manage-user', [AdminController::class, 'manageUser'])->name('admin.manageUser')->middleware('admin');
    Route::post('/admin/user/store', [AdminController::class, 'userStore'])->name('user.store')->middleware('admin');
    Route::delete('/admin/user/delete/{id}', [AdminController::class, 'userDelete'])->name('user.delete')->middleware('admin');
    Route::get('admin/user/edit', [AdminController::class, 'userEdit'])->name('user.edit')->middleware('admin');
    Route::post('admin/user/update', [AdminController::class, 'userUpdate'])->name('user.update')->middleware('admin');
    Route::post('/logout', LogoutController::class)->name('logout');
});
Route::middleware('installed.app', 'guest')->group(function () {
    Route::get('/login', [LoginController::class, 'index'])->name('login');
    Route::get('/register', [RegisterController::class, 'index'])->name('register');
    Route::post('/register', [RegisterController::class, 'store'])->name('register');
    Route::post('/login', [LoginController::class, 'store'])->name('login');
});
Route::get('/install', [SettingController::class, 'install'])->name('setting.install_app');
Route::post('/install', [SettingController::class, 'install'])->name('settings.install_app');
Route::post('/settings/check_database_connection', [SettingController::class, 'test_database_connection'])->name('connectDB');
Route::post('/settings/activate_license', [SettingController::class, 'activate_license'])->name('activateLicense');
?>
thanks men, great job. i will try and tell you it´s works.
 
  • Like
Reactions: average_coder
AdminController.php decode

replace in /app/Http/Controllers/AdminController.php

<?php
namespace App\Http\Controllers;


use App\Models\User;

use Illuminate\Http\Request;

use Illuminate\Support\Str;

class AdminController extends Controller
{

public function manageUser()
{
return view('pages.admin.manageusers',[
'users' => User::latest()->get()

]);

}

public function userStore(Request $request){
$request->validate([
'username' => 'required|unique:users',
'email' => 'required|unique:users',
'password' => 'required',
'limit_device' => 'required|numeric|max:10',
'active_subscription' => 'required|',

]);


if($request->active_subscription == 'active'){
$request->validate([
'subscription_expired' => 'required|date',
]);


// subscription expired must be greater than today
if($request->subscription_expired < date('Y-m-d')){
return redirect()->back()->with('alert' , ['type' => 'danger', 'msg' => 'Subscription expired must be greater than today']);

}
}

$user = new User();

$user->username = $request->username;

$user->email = $request->email;

$user->password = bcrypt($request->password);

$user->api_key = Str::random(32);

$user->chunk_blast = 0;

$user->limit_device = $request->limit_device;

$user->active_subscription = $request->active_subscription;

$user->subscription_expired = $request->subscription_expired ?? null;

$user->save();

return redirect()->back()->with('alert', ['type' => 'success', 'msg' => 'User created successfully']);




}

public function userEdit(){
$id = request()->id;

$user = User::find($id);

// return data user to ajax
return json_encode($user);

}
public function userUpdate(Request $request){

$request->validate([
'username' => 'required|unique:users,username,'.$request->id,
'email' => 'required|unique:users,email,'.$request->id,
'limit_device' => 'required|numeric|max:10',
'active_subscription' => 'required|',

]);

if($request->active_subscription == 'active'){
$request->validate([
'subscription_expired' => 'required|date',
]);


// subscription expired must be greater than today
if($request->subscription_expired < date('Y-m-d')){
return redirect()->back()->with('alert' , ['type' => 'danger', 'msg' => 'Subscription expired must be greater than today']);

}
}

if($request->password != ''){
$request->validate([
'password' => 'min:6',
]);

}
$user = User::find($request->id);

$user->username = $request->username;

$user->email = $request->email;

$user->password = $request->password != '' ? bcrypt($request->password) : $user->password;

$user->limit_device = $request->limit_device;

$user->active_subscription = $request->active_subscription;

$user->subscription_expired = $request->subscription_expired ?? null;

$user->save();

return redirect()->back()->with('alert', ['type' => 'success', 'msg' => 'User updated successfully']);

}

public function userDelete($id){
$user = User::find($id);

if($user->level == 'admin'){
return redirect()->back()->with('alert', ['type' => 'danger', 'msg' => 'You can not delete admin']);

}
// delete all data user
$user->numbers()->delete();

$user->autoreplies()->delete();

$user->contacts()->delete();

$user->tags()->delete();

$user->blasts()->delete();

$user->campaigns()->delete();


$user->delete();

return redirect()->back()->with('alert', ['type' => 'success', 'msg' => 'User deleted successfully']);

}
}
?>
 
  • Like
Reactions: average_coder
SettingController.php decode

replace in /app/Http/Controllers/SettingController.php


<?php
namespace App\Http\Controllers;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Config;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Str;

use mysqli;


class SettingController extends Controller
{

public function __construct()
{
$this->middleware('admin')->except('activate_license','install','test_database_connection');

}
public function index(){
return view('pages.admin.settings');

}

public function test_database_connection(Request $request)
{

$error_message = null;


$k = json_encode($request->database);

$data = json_decode($k);


try {

$db = mysqli_connect($data->host,$data->username,$data->password,$data->database);

if($db->connect_errno){
$error_message = 'Connection Failed .'. $db->connect_error;


}
} catch(\Throwable $th) {
$error_message = 'Connection failed';

}



return response()->json(['status' => $error_message ?? 'Success']);

}


public function setServer(Request $request){
if($request->typeServer === 'other'){
$request->validate([
'portnode' => ['required'],
'urlnode' => ['required','url']
]);

$urlnode = $request->urlnode .':'. $request->portnode;

} else if($request->typeServer === 'hosting') {
$urlnode = url('/');

} else if($request->typeServer === 'localhost'){
$urlnode = 'http://localhost:'.$request->portnode ;

}
$this->setEnv('TYPE_SERVER',$request->typeServer);

$this->setEnv('PORT_NODE',$request->portnode);

$this->setEnv('WA_URL_SERVER',$urlnode);


return back()->with('alert',[
'type' => 'success',
'msg' => 'Success Update configuration!'
]);





}


public function activate_license(Request $request){

try {
$push = Http::withOptions(['verify' => false])->asForm()->post('https://license-management.m-pedia.my.id/api/license/activate',[
'email' => $request->email,
'host' => $_SERVER['HTTP_HOST'],
'licensekey' => $request->license
]);

$res = json_decode($push);

return $res;


} catch(\Throwable $th) {
return 'false';

}
}





public function setEnv(string $key,string $value){

$env = array_reduce(file(base_path('.env'), FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES),
function($carry, $item)
{
list($key, $val) = explode('=', $item, 2);


$carry[$key] = $val;


return $carry;

}, []);

$env[$key] = $value;

foreach($env as $k => &$v)
$v = "{$k}={$v}";



file_put_contents(base_path('.env'),implode("\r\n",$env));

}






public function install(Request $request){
if(env('APP_INSTALLED')=== true){
return redirect('/');

}
if($request->method() === 'POST')
{
$request->validate([
'database.*' => 'string|required',
//'licensekey' => 'required',
//'buyeremail' =>'required|email',
'admin.username' => 'required',
'admin.email' => 'required|email',
'admin.password' => 'required|max:255',
]);


/** CREATE DATABASE CONNECTION STARTS **/
$db_params = $request->input('database');

Config::set("database.connections.mysql", array_merge(config('database.connections.mysql'), $db_params));

try
{
DB::connection()->getPdo();

}
catch(\Exception $e)
{

$validator = Validator::make($request->all(), [])
->errors()->add('Database', $e->getMessage());


return redirect()->back()->withErrors($validator)->withInput();

}
/** CREATE DATABASE CONNECTION ENDS **/


/** CREATE DATABASE TABLES STARTS **/
try {
DB::transaction(function() {

DB::unprepared(File::get(base_path('database/db_tables.sql')));

});

} catch(\Throwable $th) {

}

/** CREATE DATABASE TABLES ENDS **/
/** SETTING .ENV VARS STARTS **/
$env = array_reduce(file(base_path('.env'), FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES),
function($carry, $item)
{
list($key, $val) = explode('=', $item, 2);


$carry[$key] = $val;


return $carry;

}, []);


if(isset($_SERVER['REQUEST_SCHEME'])){
$urll = "{$_SERVER['REQUEST_SCHEME']}://{$_SERVER['HTTP_HOST']}";

} else {
$urll = $_SERVER['HTTP_HOST'];

}
$env['DB_HOST'] = $db_params['host'];

$env['DB_DATABASE'] = $db_params['database'];

$env['DB_USERNAME'] = $db_params['username'];

$env['DB_PASSWORD'] = $db_params['password'];

$env['APP_URL'] = $urll;

$env['APP_INSTALLED'] = 'true';

$env['LICENSE_KEY'] = $request->input('licensekey');

$env['BUYER_EMAIL'] = $request->input('buyeremail');


foreach($env as $k => &$v)
$v = "{$k}={$v}";


file_put_contents(base_path('.env'), implode("\r\n", $env));

/** SETTING .ENV VARS ENDS **/


/** CREATE ADMIN USER STARTS **/
if(!$user = User::where('email', $request->input('admin.email'))->first())
{
$user = new User;


$user->username = $request->input('admin.username');

$user->email = $request->input('admin.email');

$user->password = Hash::make($request->input('admin.password'));

$user->email_verified_at = date('Y-m-d');

$user->level = 'admin';

$user->active_subscription = 'lifetime';




$user->save();

}
/** CREATE ADMIN USER END **/
Auth::loginUsingId($user->id,true);

return redirect()->route('home');

}
$mysql_user_version = ['distrib' => '', 'version' => null, 'compatible' => false];


if(function_exists('exec') || function_exists('shell_exec'))
{
$mysqldump_v = function_exists('exec') ? exec('mysqldump --version') : shell_exec('mysqldump --version');


if($mysqld = str_extract($mysqldump_v, '/Distrib(?P<destrib>.+),/i'))
{
$destrib = $mysqld['destrib'] ?? null;


$mysqld = explode('-', mb_strtolower($destrib), 2);


$mysql_user_version['distrib'] = $mysqld[1] ?? 'mysql';

$mysql_user_version['version'] = $mysqld[0];


if($mysql_user_version['distrib'] == 'mysql' && $mysql_user_version['version'] >= 5.6)
{
$mysql_user_version['compatible'] = true;

}
elseif($mysql_user_version['distrib'] == 'mariadb' && $mysql_user_version['version'] >= 10)
{
$mysql_user_version['compatible'] = true;

}
}
}

$requirements = [
"php" => ["version" => 7.4, "current" => phpversion()],
"mysql" => ["version" => 5.6, "current" => $mysql_user_version],
"php_extensions" => [
"curl" => false,
"fileinfo" => false,
"intl" => false,
"json" => false,
"mbstring" => false,
"openssl" => false,
"mysqli" => false,
"zip" => false,
"ctype" => false,
"dom" => false,
],
];


$php_loaded_extensions = get_loaded_extensions();



foreach($requirements['php_extensions'] as $name => &$enabled)
{
$enabled = in_array($name, $php_loaded_extensions);

}
return view('install',[
'requirements' => $requirements
]);

}

}
 
  • Like
Reactions: average_coder
SettingController.php decode

replace in /app/Http/Controllers/SettingController.php


<?php
namespace App\Http\Controllers;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Config;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Str;

use mysqli;


class SettingController extends Controller
{

public function __construct()
{
$this->middleware('admin')->except('activate_license','install','test_database_connection');

}
public function index(){
return view('pages.admin.settings');

}

public function test_database_connection(Request $request)
{

$error_message = null;


$k = json_encode($request->database);

$data = json_decode($k);


try {

$db = mysqli_connect($data->host,$data->username,$data->password,$data->database);

if($db->connect_errno){
$error_message = 'Connection Failed .'. $db->connect_error;


}
} catch(\Throwable $th) {
$error_message = 'Connection failed';

}



return response()->json(['status' => $error_message ?? 'Success']);

}


public function setServer(Request $request){
if($request->typeServer === 'other'){
$request->validate([
'portnode' => ['required'],
'urlnode' => ['required','url']
]);

$urlnode = $request->urlnode .':'. $request->portnode;

} else if($request->typeServer === 'hosting') {
$urlnode = url('/');

} else if($request->typeServer === 'localhost'){
$urlnode = 'http://localhost:'.$request->portnode ;

}
$this->setEnv('TYPE_SERVER',$request->typeServer);

$this->setEnv('PORT_NODE',$request->portnode);

$this->setEnv('WA_URL_SERVER',$urlnode);


return back()->with('alert',[
'type' => 'success',
'msg' => 'Success Update configuration!'
]);





}


public function activate_license(Request $request){

try {
$push = Http::withOptions(['verify' => false])->asForm()->post('https://license-management.m-pedia.my.id/api/license/activate',[
'email' => $request->email,
'host' => $_SERVER['HTTP_HOST'],
'licensekey' => $request->license
]);

$res = json_decode($push);

return $res;


} catch(\Throwable $th) {
return 'false';

}
}





public function setEnv(string $key,string $value){

$env = array_reduce(file(base_path('.env'), FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES),
function($carry, $item)
{
list($key, $val) = explode('=', $item, 2);


$carry[$key] = $val;


return $carry;

}, []);

$env[$key] = $value;

foreach($env as $k => &$v)
$v = "{$k}={$v}";



file_put_contents(base_path('.env'),implode("\r\n",$env));

}






public function install(Request $request){
if(env('APP_INSTALLED')=== true){
return redirect('/');

}
if($request->method() === 'POST')
{
$request->validate([
'database.*' => 'string|required',
//'licensekey' => 'required',
//'buyeremail' =>'required|email',
'admin.username' => 'required',
'admin.email' => 'required|email',
'admin.password' => 'required|max:255',
]);


/** CREATE DATABASE CONNECTION STARTS **/
$db_params = $request->input('database');

Config::set("database.connections.mysql", array_merge(config('database.connections.mysql'), $db_params));

try
{
DB::connection()->getPdo();

}
catch(\Exception $e)
{

$validator = Validator::make($request->all(), [])
->errors()->add('Database', $e->getMessage());


return redirect()->back()->withErrors($validator)->withInput();

}
/** CREATE DATABASE CONNECTION ENDS **/


/** CREATE DATABASE TABLES STARTS **/
try {
DB::transaction(function() {

DB::unprepared(File::get(base_path('database/db_tables.sql')));

});

} catch(\Throwable $th) {

}

/** CREATE DATABASE TABLES ENDS **/
/** SETTING .ENV VARS STARTS **/
$env = array_reduce(file(base_path('.env'), FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES),
function($carry, $item)
{
list($key, $val) = explode('=', $item, 2);


$carry[$key] = $val;


return $carry;

}, []);


if(isset($_SERVER['REQUEST_SCHEME'])){
$urll = "{$_SERVER['REQUEST_SCHEME']}://{$_SERVER['HTTP_HOST']}";

} else {
$urll = $_SERVER['HTTP_HOST'];

}
$env['DB_HOST'] = $db_params['host'];

$env['DB_DATABASE'] = $db_params['database'];

$env['DB_USERNAME'] = $db_params['username'];

$env['DB_PASSWORD'] = $db_params['password'];

$env['APP_URL'] = $urll;

$env['APP_INSTALLED'] = 'true';

$env['LICENSE_KEY'] = $request->input('licensekey');

$env['BUYER_EMAIL'] = $request->input('buyeremail');


foreach($env as $k => &$v)
$v = "{$k}={$v}";


file_put_contents(base_path('.env'), implode("\r\n", $env));

/** SETTING .ENV VARS ENDS **/


/** CREATE ADMIN USER STARTS **/
if(!$user = User::where('email', $request->input('admin.email'))->first())
{
$user = new User;


$user->username = $request->input('admin.username');

$user->email = $request->input('admin.email');

$user->password = Hash::make($request->input('admin.password'));

$user->email_verified_at = date('Y-m-d');

$user->level = 'admin';

$user->active_subscription = 'lifetime';




$user->save();

}
/** CREATE ADMIN USER END **/
Auth::loginUsingId($user->id,true);

return redirect()->route('home');

}
$mysql_user_version = ['distrib' => '', 'version' => null, 'compatible' => false];


if(function_exists('exec') || function_exists('shell_exec'))
{
$mysqldump_v = function_exists('exec') ? exec('mysqldump --version') : shell_exec('mysqldump --version');


if($mysqld = str_extract($mysqldump_v, '/Distrib(?P<destrib>.+),/i'))
{
$destrib = $mysqld['destrib'] ?? null;


$mysqld = explode('-', mb_strtolower($destrib), 2);


$mysql_user_version['distrib'] = $mysqld[1] ?? 'mysql';

$mysql_user_version['version'] = $mysqld[0];


if($mysql_user_version['distrib'] == 'mysql' && $mysql_user_version['version'] >= 5.6)
{
$mysql_user_version['compatible'] = true;

}
elseif($mysql_user_version['distrib'] == 'mariadb' && $mysql_user_version['version'] >= 10)
{
$mysql_user_version['compatible'] = true;

}
}
}

$requirements = [
"php" => ["version" => 7.4, "current" => phpversion()],
"mysql" => ["version" => 5.6, "current" => $mysql_user_version],
"php_extensions" => [
"curl" => false,
"fileinfo" => false,
"intl" => false,
"json" => false,
"mbstring" => false,
"openssl" => false,
"mysqli" => false,
"zip" => false,
"ctype" => false,
"dom" => false,
],
];


$php_loaded_extensions = get_loaded_extensions();



foreach($requirements['php_extensions'] as $name => &$enabled)
{
$enabled = in_array($name, $php_loaded_extensions);

}
return view('install',[
'requirements' => $requirements
]);

}

}
How did you do decode it? Let's everyone know it.
 
  • Like
Reactions: sundar50000
AdBlock Detected

We get it, advertisements are annoying!

However in order to keep our huge array of resources free of charge we need to generate income from ads so to use the site you will need to turn off your adblocker.

If you'd like to have an ad free experience you can become a Babiato Lover by donating as little as $5 per month. Click on the Donate menu tab for more info.

I've Disabled AdBlock