mirror of
				https://github.com/cp6/my-idlers.git
				synced 2025-10-31 14:29:09 +00:00 
			
		
		
		
	V2 (Laravel re-make)
V2 (Laravel re-make)
This commit is contained in:
		
						commit
						347d1a3186
					
				
					 12 changed files with 438 additions and 0 deletions
				
			
		
							
								
								
									
										15
									
								
								.editorconfig
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								.editorconfig
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,15 @@ | |||
| root = true | ||||
| 
 | ||||
| [*] | ||||
| charset = utf-8 | ||||
| end_of_line = lf | ||||
| insert_final_newline = true | ||||
| indent_style = space | ||||
| indent_size = 4 | ||||
| trim_trailing_whitespace = true | ||||
| 
 | ||||
| [*.md] | ||||
| trim_trailing_whitespace = false | ||||
| 
 | ||||
| [*.{yml,yaml}] | ||||
| indent_size = 2 | ||||
							
								
								
									
										49
									
								
								.env.example
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								.env.example
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,49 @@ | |||
| APP_NAME=MyIdlers | ||||
| APP_ENV=local | ||||
| APP_KEY= | ||||
| APP_DEBUG=true | ||||
| APP_URL=http://localhost | ||||
| 
 | ||||
| LOG_CHANNEL=stack | ||||
| LOG_LEVEL=debug | ||||
| 
 | ||||
| DB_CONNECTION=mysql | ||||
| DB_HOST=127.0.0.1 | ||||
| DB_PORT=3306 | ||||
| DB_DATABASE=my_idlers | ||||
| DB_USERNAME=root | ||||
| DB_PASSWORD= | ||||
| 
 | ||||
| BROADCAST_DRIVER=log | ||||
| CACHE_DRIVER=file | ||||
| QUEUE_CONNECTION=sync | ||||
| SESSION_DRIVER=file | ||||
| SESSION_LIFETIME=120 | ||||
| 
 | ||||
| MEMCACHED_HOST=127.0.0.1 | ||||
| 
 | ||||
| REDIS_HOST=127.0.0.1 | ||||
| REDIS_PASSWORD=null | ||||
| REDIS_PORT=6379 | ||||
| 
 | ||||
| MAIL_MAILER=smtp | ||||
| MAIL_HOST=mailhog | ||||
| MAIL_PORT=1025 | ||||
| MAIL_USERNAME=null | ||||
| MAIL_PASSWORD=null | ||||
| MAIL_ENCRYPTION=null | ||||
| MAIL_FROM_ADDRESS=null | ||||
| MAIL_FROM_NAME="${APP_NAME}" | ||||
| 
 | ||||
| AWS_ACCESS_KEY_ID= | ||||
| AWS_SECRET_ACCESS_KEY= | ||||
| AWS_DEFAULT_REGION=us-east-1 | ||||
| AWS_BUCKET= | ||||
| 
 | ||||
| PUSHER_APP_ID= | ||||
| PUSHER_APP_KEY= | ||||
| PUSHER_APP_SECRET= | ||||
| PUSHER_APP_CLUSTER=mt1 | ||||
| 
 | ||||
| MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" | ||||
| MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" | ||||
							
								
								
									
										5
									
								
								.gitattributes
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								.gitattributes
									
										
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,5 @@ | |||
| * text=auto | ||||
| *.css linguist-vendored | ||||
| *.scss linguist-vendored | ||||
| *.js linguist-vendored | ||||
| CHANGELOG.md export-ignore | ||||
							
								
								
									
										75
									
								
								.gitignore
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								.gitignore
									
										
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,75 @@ | |||
| ### Laravel ### | ||||
| vendor/ | ||||
| node_modules/ | ||||
| npm-debug.log | ||||
| 
 | ||||
| # Laravel 4 specific | ||||
| bootstrap/compiled.php | ||||
| app/storage/ | ||||
| 
 | ||||
| # Laravel 5 & Lumen specific | ||||
| public/storage | ||||
| public/hot | ||||
| storage/*.key | ||||
| .env.*.php | ||||
| .env.php | ||||
| .env | ||||
| Homestead.yaml | ||||
| Homestead.json | ||||
| 
 | ||||
| # Rocketeer PHP task runner and deployment package. https://github.com/rocketeers/rocketeer | ||||
| .rocketeer/ | ||||
| 
 | ||||
| # Created by https://www.gitignore.io/api/phpstorm | ||||
| 
 | ||||
| ### PhpStorm ### | ||||
| # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm | ||||
| # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 | ||||
| 
 | ||||
| # User-specific stuff: | ||||
| .idea/**/workspace.xml | ||||
| .idea/**/tasks.xml | ||||
| 
 | ||||
| # Sensitive or high-churn files: | ||||
| .idea/**/dataSources/ | ||||
| .idea/**/dataSources.ids | ||||
| .idea/**/dataSources.xml | ||||
| .idea/**/dataSources.local.xml | ||||
| .idea/**/sqlDataSources.xml | ||||
| .idea/**/dynamic.xml | ||||
| .idea/**/uiDesigner.xml | ||||
| 
 | ||||
| # Gradle: | ||||
| .idea/**/gradle.xml | ||||
| .idea/**/libraries | ||||
| 
 | ||||
| # Mongo Explorer plugin: | ||||
| .idea/**/mongoSettings.xml | ||||
| 
 | ||||
| ## File-based project format: | ||||
| *.iws | ||||
| 
 | ||||
| ## Plugin-specific files: | ||||
| 
 | ||||
| # IntelliJ | ||||
| /out/ | ||||
| 
 | ||||
| # mpeltonen/sbt-idea plugin | ||||
| .idea_modules/ | ||||
| 
 | ||||
| # JIRA plugin | ||||
| atlassian-ide-plugin.xml | ||||
| 
 | ||||
| # Crashlytics plugin (for Android Studio and IntelliJ) | ||||
| com_crashlytics_export_strings.xml | ||||
| crashlytics.properties | ||||
| crashlytics-build.properties | ||||
| fabric.properties | ||||
| 
 | ||||
| ### PhpStorm Patch ### | ||||
| # Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 | ||||
| 
 | ||||
| # *.iml | ||||
| # modules.xml | ||||
| # .idea/misc.xml | ||||
| # *.ipr | ||||
							
								
								
									
										6
									
								
								.idea/vcs.xml
									
										
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								.idea/vcs.xml
									
										
									
										generated
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,6 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <project version="4"> | ||||
|   <component name="VcsDirectoryMappings"> | ||||
|     <mapping directory="$PROJECT_DIR$" vcs="Git" /> | ||||
|   </component> | ||||
| </project> | ||||
							
								
								
									
										13
									
								
								.styleci.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								.styleci.yml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,13 @@ | |||
| php: | ||||
|   preset: laravel | ||||
|   disabled: | ||||
|     - no_unused_imports | ||||
|   finder: | ||||
|     not-name: | ||||
|       - index.php | ||||
|       - server.php | ||||
| js: | ||||
|   finder: | ||||
|     not-name: | ||||
|       - webpack.mix.js | ||||
| css: true | ||||
							
								
								
									
										59
									
								
								app/Http/Controllers/IPsController.php
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								app/Http/Controllers/IPsController.php
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,59 @@ | |||
| <?php | ||||
| 
 | ||||
| namespace App\Http\Controllers; | ||||
| 
 | ||||
| use App\Models\DNS; | ||||
| use App\Models\IPs; | ||||
| use App\Models\Reseller; | ||||
| use App\Models\Server; | ||||
| use App\Models\Shared; | ||||
| use Illuminate\Http\Request; | ||||
| use Illuminate\Support\Facades\DB; | ||||
| use Illuminate\Support\Str; | ||||
| 
 | ||||
| class IPsController extends Controller | ||||
| { | ||||
|     public function index() | ||||
|     { | ||||
|         $ips = IPs::all(); | ||||
|         return view('ips.index', compact(['ips'])); | ||||
|     } | ||||
| 
 | ||||
|     public function create() | ||||
|     { | ||||
|         $Servers = Server::all(); | ||||
|         $Shareds = Shared::all(); | ||||
|         $Resellers = Reseller::all(); | ||||
|         return view('ips.create', compact(['Servers', 'Shareds', 'Resellers'])); | ||||
|     } | ||||
| 
 | ||||
|     public function store(Request $request) | ||||
|     { | ||||
|         $request->validate([ | ||||
|             'address' => 'required|ip|min:2', | ||||
|             'ip_type' => 'required' | ||||
|         ]); | ||||
| 
 | ||||
|         $ip_id = Str::random(8); | ||||
| 
 | ||||
|         IPs::create([ | ||||
|             'id' => $ip_id, | ||||
|             'address' => $request->address, | ||||
|             'is_ipv4' => ($request->ip_type === 'ipv4') ? 1 : 0, | ||||
|             'service_id' => $request->service_id, | ||||
|             'active' => 1 | ||||
|         ]); | ||||
| 
 | ||||
|         return redirect()->route('IPs.index') | ||||
|             ->with('success', 'IP address created Successfully.'); | ||||
|     } | ||||
| 
 | ||||
|     public function destroy(IPs $IP) | ||||
|     { | ||||
|         $items = IPs::find($IP->id); | ||||
|         $items->delete(); | ||||
| 
 | ||||
|         return redirect()->route('IPs.index') | ||||
|             ->with('success', 'IP address was deleted Successfully.'); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										49
									
								
								app/Http/Controllers/OsController.php
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								app/Http/Controllers/OsController.php
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,49 @@ | |||
| <?php | ||||
| 
 | ||||
| namespace App\Http\Controllers; | ||||
| 
 | ||||
| use App\Models\OS; | ||||
| use Illuminate\Http\Request; | ||||
| use Illuminate\Support\Facades\Cache; | ||||
| 
 | ||||
| class OsController extends Controller | ||||
| { | ||||
|     public function index() | ||||
|     { | ||||
|         $os = OS::all(); | ||||
|         return view('os.index', compact(['os'])); | ||||
|     } | ||||
| 
 | ||||
|     public function create() | ||||
|     { | ||||
|         return view('os.create'); | ||||
|     } | ||||
| 
 | ||||
|     public function store(Request $request) | ||||
|     { | ||||
|         $request->validate([ | ||||
|             'os_name' => 'required|min:2' | ||||
|         ]); | ||||
| 
 | ||||
|         OS::create([ | ||||
|             'name' => $request->os_name | ||||
|         ]); | ||||
| 
 | ||||
|         Cache::forget('all_os'); | ||||
| 
 | ||||
|         return redirect()->route('os.index') | ||||
|             ->with('success', 'OS Created Successfully.'); | ||||
|     } | ||||
| 
 | ||||
|     public function destroy(OS $o) | ||||
|     { | ||||
|         $items = OS::find($o->id); | ||||
| 
 | ||||
|         $items->delete(); | ||||
| 
 | ||||
|         Cache::forget('all_os'); | ||||
| 
 | ||||
|         return redirect()->route('os.index') | ||||
|             ->with('success', 'OS was deleted Successfully.'); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										24
									
								
								app/Models/IPs.php
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								app/Models/IPs.php
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,24 @@ | |||
| <?php | ||||
| 
 | ||||
| namespace App\Models; | ||||
| 
 | ||||
| use Illuminate\Database\Eloquent\Factories\HasFactory; | ||||
| use Illuminate\Database\Eloquent\Model; | ||||
| use Illuminate\Support\Facades\DB; | ||||
| 
 | ||||
| class IPs extends Model | ||||
| { | ||||
|     use HasFactory; | ||||
| 
 | ||||
|     public $table = 'ips'; | ||||
| 
 | ||||
|     protected $fillable = ['id', 'active', 'service_id', 'address', 'is_ipv4']; | ||||
| 
 | ||||
|     public $incrementing = false; | ||||
| 
 | ||||
|     public static function deleteIPsAssignedTo($service_id) | ||||
|     { | ||||
|         DB::table('ips')->where('service_id', '=', $service_id)->delete(); | ||||
|     } | ||||
| 
 | ||||
| } | ||||
							
								
								
									
										20
									
								
								app/View/Components/OsSelect.php
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								app/View/Components/OsSelect.php
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,20 @@ | |||
| <?php | ||||
| 
 | ||||
| namespace App\View\Components; | ||||
| 
 | ||||
| use App\Models\OS; | ||||
| use Illuminate\Support\Facades\Cache; | ||||
| use Illuminate\View\Component; | ||||
| 
 | ||||
| class OsSelect extends Component | ||||
| { | ||||
|     public function render() | ||||
|     { | ||||
|         $all_os = Cache::rememberForever('all_os', function () { | ||||
|             return OS::all(); | ||||
|         }); | ||||
|         return view('components.os-select', [ | ||||
|             'os' => $all_os | ||||
|         ]); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										53
									
								
								artisan
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								artisan
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,53 @@ | |||
| #!/usr/bin/env php | ||||
| <?php | ||||
| 
 | ||||
| define('LARAVEL_START', microtime(true)); | ||||
| 
 | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Register The Auto Loader | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | Composer provides a convenient, automatically generated class loader | ||||
| | for our application. We just need to utilize it! We'll require it | ||||
| | into the script here so that we do not have to worry about the | ||||
| | loading of any our classes "manually". Feels great to relax. | ||||
| | | ||||
| */ | ||||
| 
 | ||||
| require __DIR__.'/vendor/autoload.php'; | ||||
| 
 | ||||
| $app = require_once __DIR__.'/bootstrap/app.php'; | ||||
| 
 | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Run The Artisan Application | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | When we run the console application, the current CLI command will be | ||||
| | executed in this console and the response sent back to a terminal | ||||
| | or another output device for the developers. Here goes nothing! | ||||
| | | ||||
| */ | ||||
| 
 | ||||
| $kernel = $app->make(Illuminate\Contracts\Console\Kernel::class); | ||||
| 
 | ||||
| $status = $kernel->handle( | ||||
|     $input = new Symfony\Component\Console\Input\ArgvInput, | ||||
|     new Symfony\Component\Console\Output\ConsoleOutput | ||||
| ); | ||||
| 
 | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Shutdown The Application | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | Once Artisan has finished running, we will fire off the shutdown events | ||||
| | so that any final work may be done by the application before we shut | ||||
| | down the process. This is the last thing to happen to the request. | ||||
| | | ||||
| */ | ||||
| 
 | ||||
| $kernel->terminate($input, $status); | ||||
| 
 | ||||
| exit($status); | ||||
							
								
								
									
										70
									
								
								composer.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								composer.json
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,70 @@ | |||
| { | ||||
|     "name": "corbpie/myidlers", | ||||
|     "type": "project", | ||||
|     "description": "Web app for displaying, organizing and storing information about servers, shared/reseller hosting and domains.", | ||||
|     "keywords": [ | ||||
|         "myidlers", | ||||
|         "crud", | ||||
|         "vps", | ||||
|         "organization" | ||||
|     ], | ||||
|     "license": "MIT", | ||||
|     "require": { | ||||
|         "php": "^7.4|^8.0", | ||||
|         "fruitcake/laravel-cors": "^2.0", | ||||
|         "guzzlehttp/guzzle": "^7.0.1", | ||||
|         "laravel/framework": "^9.0", | ||||
|         "laravel/tinker": "^2.5", | ||||
|         "laravel/ui": "^3.4", | ||||
|         "yajra/laravel-datatables-oracle": "~9.0", | ||||
|         "ext-json": "*" | ||||
|     }, | ||||
|     "require-dev": { | ||||
|         "fakerphp/faker": "^1.9.1", | ||||
|         "laravel/breeze": "^1.8", | ||||
|         "laravel/sail": "^1.0.1", | ||||
|         "mockery/mockery": "^1.4.2", | ||||
|         "nunomaduro/collision": "^6.0", | ||||
|         "phpunit/phpunit": "^9.3.3", | ||||
|         "spatie/laravel-ignition": "^1.0" | ||||
|     }, | ||||
|     "config": { | ||||
|         "optimize-autoloader": true, | ||||
|         "preferred-install": "dist", | ||||
|         "sort-packages": true | ||||
|     }, | ||||
|     "extra": { | ||||
|         "laravel": { | ||||
|             "dont-discover": [] | ||||
|         } | ||||
|     }, | ||||
|     "files": [ | ||||
|         "app/Process.php" | ||||
|     ], | ||||
|     "autoload": { | ||||
|         "psr-4": { | ||||
|             "App\\": "app/", | ||||
|             "Database\\Factories\\": "database/factories/", | ||||
|             "Database\\Seeders\\": "database/seeders/" | ||||
|         } | ||||
|     }, | ||||
|     "autoload-dev": { | ||||
|         "psr-4": { | ||||
|             "Tests\\": "tests/" | ||||
|         } | ||||
|     }, | ||||
|     "minimum-stability": "dev", | ||||
|     "prefer-stable": true, | ||||
|     "scripts": { | ||||
|         "post-autoload-dump": [ | ||||
|             "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", | ||||
|             "@php artisan package:discover --ansi" | ||||
|         ], | ||||
|         "post-root-package-install": [ | ||||
|             "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" | ||||
|         ], | ||||
|         "post-create-project-cmd": [ | ||||
|             "@php artisan key:generate --ansi" | ||||
|         ] | ||||
|     } | ||||
| } | ||||
		Loading…
	
	Add table
		
		Reference in a new issue