1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
namespace MeestorHok\Blue\Http\Controllers; |
4
|
|
|
|
5
|
|
|
use MeestorHok\Blue\Http\Controllers\Controller; |
6
|
|
|
use Illuminate\Http\Request; |
7
|
|
|
use SEO; |
8
|
|
|
use MeestorHok\Blue\Site; |
9
|
|
|
|
10
|
|
|
class SiteController extends Controller |
11
|
|
|
{ |
12
|
|
|
public function showCreateForm () |
13
|
|
|
{ |
14
|
|
|
return SEO::make([ |
15
|
|
|
'title' => 'Create Site', |
16
|
|
|
'description' => 'You currently don\'t have a site! Create one now to get started!' |
17
|
|
|
], 'Blue::auth.new-site'); |
18
|
|
|
} |
19
|
|
|
|
20
|
|
|
public function createSite (Request $request) |
21
|
|
|
{ |
22
|
|
|
$this->validate($request, [ |
23
|
|
|
'siteName' => 'required|unique:sites,title|max:100', |
24
|
|
|
'slogan' => 'max:155', |
25
|
|
|
'description' => 'required|max:255', |
26
|
|
|
'keywords' => 'max:255', |
27
|
|
|
'copyright' => 'max:100' |
28
|
|
|
], [ |
29
|
|
|
'siteName.required' => 'Your site must have a name!', |
30
|
|
|
'siteName.unique' => 'You already own a site by that name.', |
31
|
|
|
'description.required' => 'Tell us a little about the site.' |
32
|
|
|
]); |
33
|
|
|
|
34
|
|
|
$socialLinks = [ |
35
|
|
|
'facebook' => insert_if_exists($request->useFacebook, $request->linkFacebook), |
36
|
|
|
'twitter' => insert_if_exists($request->useTwitter, $request->linkTwitter), |
37
|
|
|
'instagram' => insert_if_exists($request->useInstagram, $request->linkInstagram), |
38
|
|
|
'pinterest' => insert_if_exists($request->usePinterest, $request->linkPinterest), |
39
|
|
|
'youtube' => insert_if_exists($request->useYoutube, $request->linkYoutube), |
40
|
|
|
]; |
41
|
|
|
|
42
|
|
|
$data = [ |
43
|
|
|
'title' => $request->siteName, |
44
|
|
|
'slogan' => $request->slogan, |
45
|
|
|
'description' => $request->description, |
46
|
|
|
'copyright' => $request->copyright, |
47
|
|
|
'favicons' => SEO::generateFavicons(), |
48
|
|
|
'is_public_site' => is_null($request->hideFromSearchEngines), |
49
|
|
|
'social_links' => json_encode($socialLinks), |
50
|
|
|
'keywords' => $request->keywords |
51
|
|
|
]; |
52
|
|
|
|
53
|
|
|
Site::create($data); |
54
|
|
|
|
55
|
|
|
return redirect()->route('create.admin'); |
56
|
|
|
} |
57
|
|
|
|
58
|
|
|
public function showAdminForm () |
59
|
|
|
{ |
60
|
|
|
return SEO::make([ |
61
|
|
|
'title' => 'Create Admin', |
62
|
|
|
'description' => 'Register as the first admin on your new site!' |
63
|
|
|
], 'Blue::auth.new-admin'); |
64
|
|
|
} |
65
|
|
|
} |