Commit 69ab7048575bf10a2789d14b5598a6692990631d

Authored by Yarik
1 parent 6e516b40

About page

frontend/controllers/SiteController.php
1 <?php 1 <?php
2 -namespace frontend\controllers;  
3 -  
4 -use artbox\core\models\Feedback;  
5 -use common\models\Settings;  
6 -use Yii;  
7 -use yii\base\InvalidParamException;  
8 -use yii\web\BadRequestHttpException;  
9 -use yii\web\Controller;  
10 -use yii\filters\VerbFilter;  
11 -use common\models\LoginForm;  
12 -use frontend\models\PasswordResetRequestForm;  
13 -use frontend\models\ResetPasswordForm;  
14 -use frontend\models\SignupForm;  
15 -use yii\web\Response;  
16 -  
17 -/**  
18 - * Site controller  
19 - */  
20 -class SiteController extends Controller  
21 -{  
22 - /**  
23 - * @inheritdoc  
24 - */  
25 - public function actions()  
26 - {  
27 - return [  
28 - 'error' => [  
29 - 'class' => 'yii\web\ErrorAction',  
30 - ],  
31 - ];  
32 - }  
33 -  
34 - /**  
35 - * @inheritdoc  
36 - */  
37 - public function behaviors()  
38 - {  
39 - return [  
40 - 'verbs' => [  
41 - 'class' => VerbFilter::className(),  
42 - 'actions' => [  
43 - 'feedback' => [ 'post' ],  
44 - ],  
45 - ],  
46 - ];  
47 - } 2 + namespace frontend\controllers;
48 3
49 - /**  
50 - * Displays homepage.  
51 - *  
52 - * @return mixed  
53 - */  
54 - public function actionIndex()  
55 - {  
56 - return $this->render('index');  
57 - } 4 + use artbox\core\models\Feedback;
  5 + use common\models\Settings;
  6 + use Yii;
  7 + use yii\base\InvalidParamException;
  8 + use yii\web\BadRequestHttpException;
  9 + use yii\web\Controller;
  10 + use yii\filters\VerbFilter;
  11 + use common\models\LoginForm;
  12 + use frontend\models\PasswordResetRequestForm;
  13 + use frontend\models\ResetPasswordForm;
  14 + use frontend\models\SignupForm;
  15 + use yii\web\Response;
58 16
59 /** 17 /**
60 - * Logs in a user.  
61 - *  
62 - * @return mixed 18 + * Site controller
63 */ 19 */
64 - public function actionLogin() 20 + class SiteController extends Controller
65 { 21 {
66 - if (!Yii::$app->user->isGuest) {  
67 - return $this->goHome(); 22 + /**
  23 + * @inheritdoc
  24 + */
  25 + public function actions()
  26 + {
  27 + return [
  28 + 'error' => [
  29 + 'class' => 'yii\web\ErrorAction',
  30 + ],
  31 + ];
68 } 32 }
69 33
70 - $model = new LoginForm();  
71 - if ($model->load(Yii::$app->request->post()) && $model->login()) {  
72 - return $this->goBack();  
73 - } else {  
74 - return $this->render('login', [  
75 - 'model' => $model,  
76 - ]); 34 + /**
  35 + * @inheritdoc
  36 + */
  37 + public function behaviors()
  38 + {
  39 + return [
  40 + 'verbs' => [
  41 + 'class' => VerbFilter::className(),
  42 + 'actions' => [
  43 + 'feedback' => [ 'post' ],
  44 + ],
  45 + ],
  46 + ];
77 } 47 }
78 - }  
79 -  
80 - /**  
81 - * Logs out the current user.  
82 - *  
83 - * @return mixed  
84 - */  
85 - public function actionLogout()  
86 - {  
87 - Yii::$app->user->logout();  
88 48
89 - return $this->goHome();  
90 - }  
91 -  
92 - /**  
93 - * Displays contact page.  
94 - *  
95 - * @return mixed  
96 - */  
97 - public function actionContact()  
98 - {  
99 - $contact = new Feedback();  
100 - return $this->render(  
101 - 'contact',  
102 - [  
103 - 'contact' => $contact,  
104 - ]  
105 - );  
106 - }  
107 -  
108 - /**  
109 - * Displays about page.  
110 - *  
111 - * @return mixed  
112 - */  
113 - public function actionAbout()  
114 - {  
115 - return $this->render('about');  
116 - }  
117 -  
118 - /**  
119 - * Signs user up.  
120 - *  
121 - * @return mixed  
122 - */  
123 - public function actionSignup()  
124 - {  
125 - $model = new SignupForm();  
126 - if ($model->load(Yii::$app->request->post())) {  
127 - if ($user = $model->signup()) {  
128 - if (Yii::$app->getUser()->login($user)) {  
129 - return $this->goHome();  
130 - }  
131 - } 49 + /**
  50 + * Displays homepage.
  51 + *
  52 + * @return mixed
  53 + */
  54 + public function actionIndex()
  55 + {
  56 + return $this->render('index');
132 } 57 }
133 58
134 - return $this->render('signup', [  
135 - 'model' => $model,  
136 - ]);  
137 - }  
138 -  
139 - /**  
140 - * Requests password reset.  
141 - *  
142 - * @return mixed  
143 - */  
144 - public function actionRequestPasswordReset()  
145 - {  
146 - $model = new PasswordResetRequestForm();  
147 - if ($model->load(Yii::$app->request->post()) && $model->validate()) {  
148 - if ($model->sendEmail()) {  
149 - Yii::$app->session->setFlash('success', 'Check your email for further instructions.');  
150 - 59 + /**
  60 + * Logs in a user.
  61 + *
  62 + * @return mixed
  63 + */
  64 + public function actionLogin()
  65 + {
  66 + if (!Yii::$app->user->isGuest) {
151 return $this->goHome(); 67 return $this->goHome();
  68 + }
  69 +
  70 + $model = new LoginForm();
  71 + if ($model->load(Yii::$app->request->post()) && $model->login()) {
  72 + return $this->goBack();
152 } else { 73 } else {
153 - Yii::$app->session->setFlash('error', 'Sorry, we are unable to reset password for the provided email address.'); 74 + return $this->render(
  75 + 'login',
  76 + [
  77 + 'model' => $model,
  78 + ]
  79 + );
154 } 80 }
155 } 81 }
156 82
157 - return $this->render('requestPasswordResetToken', [  
158 - 'model' => $model,  
159 - ]);  
160 - }  
161 -  
162 - /**  
163 - * Resets password.  
164 - *  
165 - * @param string $token  
166 - * @return mixed  
167 - * @throws BadRequestHttpException  
168 - */  
169 - public function actionResetPassword($token)  
170 - {  
171 - try {  
172 - $model = new ResetPasswordForm($token);  
173 - } catch (InvalidParamException $e) {  
174 - throw new BadRequestHttpException($e->getMessage()); 83 + /**
  84 + * Logs out the current user.
  85 + *
  86 + * @return mixed
  87 + */
  88 + public function actionLogout()
  89 + {
  90 + Yii::$app->user->logout();
  91 +
  92 + return $this->goHome();
175 } 93 }
176 94
177 - if ($model->load(Yii::$app->request->post()) && $model->validate() && $model->resetPassword()) {  
178 - Yii::$app->session->setFlash('success', 'New password saved.'); 95 + /**
  96 + * Displays contact page.
  97 + *
  98 + * @return mixed
  99 + */
  100 + public function actionContact()
  101 + {
  102 + $contact = new Feedback();
  103 + return $this->render(
  104 + 'contact',
  105 + [
  106 + 'contact' => $contact,
  107 + ]
  108 + );
  109 + }
  110 +
  111 + /**
  112 + * Displays about page.
  113 + *
  114 + * @return mixed
  115 + */
  116 + public function actionAbout()
  117 + {
  118 + return $this->render('about');
  119 + }
  120 +
  121 + /**
  122 + * Signs user up.
  123 + *
  124 + * @return mixed
  125 + */
  126 + public function actionSignup()
  127 + {
  128 + $model = new SignupForm();
  129 + if ($model->load(Yii::$app->request->post())) {
  130 + if ($user = $model->signup()) {
  131 + if (Yii::$app->getUser()
  132 + ->login($user)
  133 + ) {
  134 + return $this->goHome();
  135 + }
  136 + }
  137 + }
179 138
180 - return $this->goHome(); 139 + return $this->render(
  140 + 'signup',
  141 + [
  142 + 'model' => $model,
  143 + ]
  144 + );
181 } 145 }
182 146
183 - return $this->render('resetPassword', [  
184 - 'model' => $model,  
185 - ]);  
186 - }  
187 -  
188 - /**  
189 - * Action to view robots.txt file dinamycli  
190 - *  
191 - * @return string  
192 - */  
193 - public function actionRobots()  
194 - {  
195 - $response = \Yii::$app->response;  
196 /** 147 /**
197 - * @var Settings $settings 148 + * Requests password reset.
  149 + *
  150 + * @return mixed
198 */ 151 */
199 - $settings = Settings::find()  
200 - ->one();  
201 - $temp = tmpfile();  
202 - fwrite($temp, $settings->robots);  
203 - $meta = stream_get_meta_data($temp);  
204 - $response->format = $response::FORMAT_RAW;  
205 - $response->headers->set('Content-Type', 'text/plain');  
206 - return $this->renderFile($meta[ 'uri' ]);  
207 - }  
208 -  
209 - public function actionFeedback()  
210 - {  
211 - Yii::$app->response->format = Response::FORMAT_JSON;  
212 - if (empty(Yii::$app->request->post())) {  
213 - throw new BadRequestHttpException();  
214 - } else {  
215 - $model = new Feedback();  
216 - if ($model->load(Yii::$app->request->post()) && $model->save()) {  
217 - return [  
218 - 'success' => true,  
219 - 'message' => 'Success message',  
220 - ]; 152 + public function actionRequestPasswordReset()
  153 + {
  154 + $model = new PasswordResetRequestForm();
  155 + if ($model->load(Yii::$app->request->post()) && $model->validate()) {
  156 + if ($model->sendEmail()) {
  157 + Yii::$app->session->setFlash('success', 'Check your email for further instructions.');
  158 +
  159 + return $this->goHome();
  160 + } else {
  161 + Yii::$app->session->setFlash(
  162 + 'error',
  163 + 'Sorry, we are unable to reset password for the provided email address.'
  164 + );
  165 + }
  166 + }
  167 +
  168 + return $this->render(
  169 + 'requestPasswordResetToken',
  170 + [
  171 + 'model' => $model,
  172 + ]
  173 + );
  174 + }
  175 +
  176 + /**
  177 + * Resets password.
  178 + *
  179 + * @param string $token
  180 + *
  181 + * @return mixed
  182 + * @throws BadRequestHttpException
  183 + */
  184 + public function actionResetPassword($token)
  185 + {
  186 + try {
  187 + $model = new ResetPasswordForm($token);
  188 + } catch (InvalidParamException $e) {
  189 + throw new BadRequestHttpException($e->getMessage());
  190 + }
  191 +
  192 + if ($model->load(Yii::$app->request->post()) && $model->validate() && $model->resetPassword()) {
  193 + Yii::$app->session->setFlash('success', 'New password saved.');
  194 +
  195 + return $this->goHome();
  196 + }
  197 +
  198 + return $this->render(
  199 + 'resetPassword',
  200 + [
  201 + 'model' => $model,
  202 + ]
  203 + );
  204 + }
  205 +
  206 + /**
  207 + * Action to view robots.txt file dinamycli
  208 + *
  209 + * @return string
  210 + */
  211 + public function actionRobots()
  212 + {
  213 + $response = \Yii::$app->response;
  214 + /**
  215 + * @var Settings $settings
  216 + */
  217 + $settings = Settings::find()
  218 + ->one();
  219 + $temp = tmpfile();
  220 + fwrite($temp, $settings->robots);
  221 + $meta = stream_get_meta_data($temp);
  222 + $response->format = $response::FORMAT_RAW;
  223 + $response->headers->set('Content-Type', 'text/plain');
  224 + return $this->renderFile($meta[ 'uri' ]);
  225 + }
  226 +
  227 + public function actionFeedback()
  228 + {
  229 + Yii::$app->response->format = Response::FORMAT_JSON;
  230 + if (empty( Yii::$app->request->post() )) {
  231 + throw new BadRequestHttpException();
221 } else { 232 } else {
222 - return [  
223 - 'success' => false,  
224 - 'error' => $model->errors,  
225 - ]; 233 + $model = new Feedback();
  234 + if ($model->load(Yii::$app->request->post()) && $model->save()) {
  235 + return [
  236 + 'success' => true,
  237 + 'message' => 'Success message',
  238 + ];
  239 + } else {
  240 + return [
  241 + 'success' => false,
  242 + 'error' => $model->errors,
  243 + ];
  244 + }
226 } 245 }
227 } 246 }
228 } 247 }
229 -}  
frontend/views/site/about.php
1 <?php 1 <?php
2 -  
3 -/* @var $this yii\web\View */  
4 -  
5 -use yii\helpers\Html;  
6 -  
7 -$this->title = 'About';  
8 -$this->params['breadcrumbs'][] = $this->title; 2 + use yii\web\View;
  3 +
  4 + /**
  5 + * @var View $this
  6 + */
9 ?> 7 ?>
10 -<div class="site-about">  
11 - <h1><?= Html::encode($this->title) ?></h1>  
12 -  
13 - <p>This is the About page. You may modify the following file to customize its content:</p>  
14 -  
15 - <code><?= __FILE__ ?></code>  
16 -</div> 8 +<section>
  9 + <div class="row">
  10 + <div class="col-md-12">
  11 +
  12 + <div class="heading">
  13 + <h2>About Universal</h2>
  14 + </div>
  15 +
  16 + <p class="lead">Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean
  17 + ultricies mi vitae est. Mauris placerat eleifend leo.</p>
  18 +
  19 + </div>
  20 + </div>
  21 +
  22 + <div class="row">
  23 + <div class="col-md-8">
  24 + <div class="panel-group accordion" id="accordionThree">
  25 + <div class="panel panel-default">
  26 + <div class="panel-heading">
  27 + <h4 class="panel-title">
  28 +
  29 + <a data-toggle="collapse" data-parent="#accordionThree" href="#collapse3a">
  30 +
  31 + Accordion item no.1
  32 +
  33 + </a>
  34 +
  35 + </h4>
  36 + </div>
  37 + <div id="collapse3a" class="panel-collapse collapse in">
  38 + <div class="panel-body">
  39 + <div class="row">
  40 + <div class="col-md-4">
  41 + <img src="img/template-easy-customize.png" alt="" class="img-responsive">
  42 + </div>
  43 + <div class="col-md-8">
  44 + <p>One morning, when Gregor Samsa woke from troubled dreams, he found himself transformed in his bed into a horrible vermin. He lay on his armour-like back, and if he lifted his head a little he could see
  45 + his brown belly, slightly domed and divided by arches into stiff sections.</p>
  46 + <p>One morning, when Gregor Samsa woke from troubled dreams, he found himself transformed in his bed into a horrible vermin. He lay on his armour-like back, and if he lifted his head a little he could see
  47 + his brown belly, slightly domed and divided by arches into stiff sections.</p>
  48 + </div>
  49 + </div>
  50 + </div>
  51 + </div>
  52 + </div>
  53 + <div class="panel panel-default">
  54 + <div class="panel-heading">
  55 + <h4 class="panel-title">
  56 +
  57 + <a data-toggle="collapse" data-parent="#accordionThree" href="#collapse3b">
  58 +
  59 + Accordion item no.2
  60 +
  61 + </a>
  62 +
  63 + </h4>
  64 + </div>
  65 + <div id="collapse3b" class="panel-collapse collapse">
  66 + <div class="panel-body">
  67 + <div class="row">
  68 + <div class="col-md-4">
  69 + <img src="img/template-easy-code.png" alt="" class="img-responsive">
  70 + </div>
  71 + <div class="col-md-8">
  72 + <p>It showed a lady fitted out with a fur hat and fur boa who sat upright, raising a heavy fur muff that covered the whole of her lower arm towards the viewer. Gregor then turned to look out the window
  73 + at the dull weather. Drops of rain could be heard hitting the pane, which made him feel quite sad.</p>
  74 + <p>It showed a lady fitted out with a fur hat and fur boa who sat upright, raising a heavy fur muff that covered the whole of her lower arm towards the viewer. Gregor then turned to look out the window
  75 + at the dull weather. Drops of rain could be heard hitting the pane, which made him feel quite sad.</p>
  76 + </div>
  77 + </div>
  78 + </div>
  79 + </div>
  80 + </div>
  81 + <div class="panel panel-default">
  82 + <div class="panel-heading">
  83 + <h4 class="panel-title">
  84 +
  85 + <a data-toggle="collapse" data-parent="#accordionThree" href="#collapse3c">
  86 +
  87 + Accordion item no.3 a little too small
  88 +
  89 + </a>
  90 +
  91 + </h4>
  92 + </div>
  93 + <div id="collapse3c" class="panel-collapse collapse">
  94 + <div class="panel-body">
  95 + <p>His room, a proper human room although a little too small, lay peacefully between its four familiar walls.</p>
  96 +
  97 + <p>A collection of textile samples lay spread out on the table - Samsa was a travelling salesman - and above it there hung a picture that he had recently cut out of an illustrated magazine and housed in a nice,
  98 + gilded frame.</p>
  99 + </div>
  100 + </div>
  101 + </div>
  102 + </div>
  103 + </div>
  104 +
  105 + <div class="col-md-4">
  106 + <div class="video">
  107 + <div class="embed-responsive embed-responsive-4by3">
  108 + <iframe class="embed-responsive-item" src="//www.youtube.com/embed/upZJpGrppJA"></iframe>
  109 + </div>
  110 +
  111 + </div>
  112 + </div>
  113 + </div>
  114 +</section>
  115 +use yii\web\View;
17 \ No newline at end of file 116 \ No newline at end of file