HomeController.php 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\UsefulLink;
  4. use App\Models\Configuration;
  5. use Illuminate\Http\Request;
  6. use Illuminate\Support\Facades\Auth;
  7. class HomeController extends Controller
  8. {
  9. public function __construct()
  10. {
  11. $this->middleware('auth');
  12. }
  13. /** Show the application dashboard. */
  14. public function index(Request $request)
  15. {
  16. $usage = 0;
  17. foreach (Auth::user()->servers as $server){
  18. $usage += $server->product->price;
  19. }
  20. return view('home')->with([
  21. 'useage' => $usage,
  22. 'useful_links' => UsefulLink::all()->sortBy('id')
  23. ]);
  24. }
  25. public static function CreditsLeftBox(){
  26. $usage = 0;
  27. foreach (Auth::user()->servers as $server){
  28. $usage += $server->product->price;
  29. }
  30. if(Auth::user()->Credits() > 0.01 and $usage > 0){
  31. $days = number_format((Auth::user()->Credits()*30)/$usage,2,'.','');
  32. $hours = number_format(Auth::user()->Credits()/($usage/30/24),2,'.','');
  33. if($days >= 15){
  34. $bg = "success";
  35. }elseif ($days >= 8 && $days <= 14){
  36. $bg = "warning";
  37. }elseif ($days <= 7){
  38. $bg = "danger";
  39. }
  40. echo '
  41. <div class="col-12 col-sm-6 col-md-3">
  42. <div class="info-box mb-3">
  43. <span class="info-box-icon bg-'.$bg.' elevation-1">
  44. <i class="fas fa-hourglass-half"></i></span>
  45. <div class="info-box-content">
  46. <span class="info-box-text">Out of '. Configuration::getValueByKey('CREDITS_DISPLAY_NAME').' in </span>';
  47. //IF TIME IS LESS THAN 1 DAY CHANGE TO "hours"
  48. if($days < "1"){
  49. if($hours < "1"){
  50. echo '<span class="info-box-number">You ran out of Credits </span>';
  51. }
  52. else{
  53. echo '<span class="info-box-number"> '.$hours.' <sup> hours</sup></span>';
  54. }
  55. }else{
  56. echo '<span class="info-box-number">'.number_format($days,0).' <sup> days</sup></span>';
  57. }
  58. }
  59. echo'
  60. </div>
  61. </div>';
  62. }
  63. }