/** * A function to update a faucet's status (active or paused) * according to their low-balance status and if the * faucet's URL is error-free and valid. */ public static function checkUpdateStatuses() { //Retrieve faucets to be updated. $faucets = Faucet::all(); $pausedFaucets = []; $activatedFaucets = []; foreach ($faucets as $f) { if (UrlValidation::urlExists($f->url) != true && $f->is_paused == false && $f->has_low_balance == false) { $f->is_paused = true; $f->save(); array_push($pausedFaucets, $f->name); } elseif (UrlValidation::urlExists($f->url) != false && $f->is_paused == true && $f->has_low_balance == false) { $f->is_paused = false; $f->save(); array_push($activatedFaucets, $f->name); } } if (count($pausedFaucets) == 0 && count($activatedFaucets) == 0) { Session::flash('success_message_update_faucet_statuses_none', 'No faucets have been updated.'); } if (count($pausedFaucets) > 0) { Session::flash('success_message_update_faucet_statuses_paused', 'The following faucets have been paused: ' . implode(",", $pausedFaucets)); } if (count($activatedFaucets) > 0) { Session::flash('success_message_update_faucet_statuses_activated', 'The following faucets have been activated: ' . implode(",", $activatedFaucets)); } }
public function run() { DB::statement('SET FOREIGN_KEY_CHECKS = 0'); DB::table('referral_info')->truncate(); $user_id = User::where('user_name', env('ADMIN_USERNAME'))->first()->id; $faucets = Faucet::all(); foreach ($faucets as $faucet) { DB::table('referral_info')->insert(array(['faucet_id' => $faucet->id, 'user_id' => $user_id])); } DB::statement('SET FOREIGN_KEY_CHECKS = 1'); }
/** * Create and download faucets/payment processors linking data as CSV file. */ public function getFaucetsPaymentProcessorsLinkingData() { $faucets = Faucet::all(); $csv = Writer::createFromFileObject(new SplTempFileObject()); $csv->insertOne(Schema::getColumnListing('faucet_payment_processor')); foreach ($faucets as $f) { $paymentProcessors = $f->paymentProcessors()->get(); foreach ($paymentProcessors as $p) { $data = ['faucet_id' => $f->id, 'payment_processor_id' => $p->id]; $csv->insertOne($data); } } $csv->output('faucets_payment_processors.csv'); }
/** * A function used to tweet the details of a Random faucet. */ public function sendRandomFaucetTweet() { $faucetCount = count(Faucet::all()); if ($faucetCount > 0) { //Obtain a random integer used to //get a random faucet to tweet. $numbers = range(0, $faucetCount - 1); shuffle($numbers); $randomNumber = array_slice($numbers, 0, 1); //Obtain a faucet using the random integer. $faucet = Faucet::find($randomNumber[0]); //Construct a message template based on the random faucet's details. $message = "Earn between " . $faucet->min_payout . " and " . $faucet->max_payout . " satoshis every " . $faucet->interval_minutes . " minute/s from " . url('/faucets/' . $faucet->slug) . " for free :)."; // Send the tweet of the random faucet. $this->sendTweet($message); } }
/** * A function to retrieve all active faucets. * * @param bool|false $hasLowBalance * @return array|null */ public function activeFaucets($hasLowBalance = false) { try { //Get all faucets, regardless of low-balance or active/paused status. $faucets = Faucet::all()->sortBy('interval_minutes')->values()->all(); $activeFaucets = []; //Iterate over all faucets, check their low-balance and active/pause status, //then put desired faucets in separate faucets array. foreach ($faucets as $f) { if ($f->is_paused == false && $f->has_low_balance == $hasLowBalance) { array_push($activeFaucets, $f); } } //Return active faucets. return $activeFaucets; } catch (Exception $e) { return null; } }