successResponse($countries); } public function paying_networks(Request $request) { $this->validate($request,[ 'id_country' => 'required|integer|min:0|not_in:0', 'id_wallet_user' => 'required|integer|min:0|not_in:0', ]); $walletUser = WalletsUser::findOrFail($request->id_wallet_user); $init_country = $walletUser->user->network->country->id; $result = ConfigWallet::join('networks', 'networks.id', '=', 'configWallet.id_network') ->where('networks.country_id', $init_country)->where('configWallet.type', 'ilink') ->select('configWallet.id')->first(); if ($result) { $config = ConfigWallet::findOrFail($result->id); } else { return $this->errorResponse(trans('errors.no_ilink_network')); } $networks = DB::select('SELECT n.id , n.name , c.type FROM networks n INNER JOIN configWallet c ON c.id_network = n.id WHERE n.id IN ( SELECT distinct id_network FROM paying_networks WHERE id_configWallet = :id_config) AND status = 1 AND country_id = :id_country;',['id_country'=>$request->id_country, 'id_config'=> $config->id]); foreach ($networks as $network){ if($network->type == 'ilink') $network->type = 'ilink-world'; } return $this->successResponse($networks); } public function country($code_dial){ return $this->successResponse(Country::where('code_dial',$code_dial)->firstOrFail()); } public function init(){ //Mettre a jour tous les utilisateurs qui n'ont pas de wallet iLink $users = User::whereNull('user_code')->orWhere('user_code','')->get(); foreach ($users as $user){ do{ $user_code=$this->generateUserCode(); $result = collect(DB::select('SELECT * FROM users WHERE user_code = :code',['code'=>$user_code])); $codeCorrect=sizeof($result)<0; }while($codeCorrect); $user->user_code = $user_code; DB::insert('INSERT INTO wallets_users (idUser) VALUES (?);', [$user->id]); $user->save(); } return $this->successResponse('OK :-) , Have a nice day dear ! '); } private function generateUserCode($length = 10) { $characters = '23456789abcdefghjkmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ'; $charactersLength = strlen($characters); $randomString = ''; for ($i = 0; $i < $length; $i++) { $randomString .= $characters[rand(0, $charactersLength - 1)]; } return $randomString; } }