Initial import
This commit is contained in:
@@ -0,0 +1,124 @@
|
||||
<?php
|
||||
|
||||
namespace app\controllers;
|
||||
|
||||
use app\models\Articles;
|
||||
use app\models\SeoManagement;
|
||||
use app\models\Ts;
|
||||
use app\services\Formatter;
|
||||
use app\services\UserRequest;
|
||||
use app\services\ViewReg;
|
||||
|
||||
class SiteController extends BaseController
|
||||
{
|
||||
public $layout = 'portal';
|
||||
|
||||
/** @var UserRequest */
|
||||
private $userRequest;
|
||||
|
||||
public function beforeAction($action)
|
||||
{
|
||||
date_default_timezone_set('Europe/Sofia');
|
||||
$this->userRequest = new UserRequest();
|
||||
return parent::beforeAction($action); // TODO: Change the autogenerated stub
|
||||
}
|
||||
|
||||
public function actionIndex()
|
||||
{
|
||||
ViewReg::localeSwitch();
|
||||
$seo = SeoManagement::findOne(1);
|
||||
$this->pageTitle = $seo->getTitle();
|
||||
$this->description = $seo->getDescription();
|
||||
$this->keywords = $seo->getKeyWords();
|
||||
return $this->render('index');
|
||||
}
|
||||
|
||||
public function actionPage($webPage, $slug = null)
|
||||
{
|
||||
|
||||
$this->userRequest->call('contact');
|
||||
$page = ViewReg::find($webPage);
|
||||
|
||||
if ($page) {
|
||||
|
||||
if ($slug == null) {
|
||||
$this->pageTitle = $page->model->headerTitle();
|
||||
ViewReg::localeSwitch($page->model);
|
||||
return $this->render($page->view, ['model' => $page->model]);
|
||||
} else {
|
||||
|
||||
switch ($webPage) {
|
||||
case 'projects':
|
||||
case 'proekti':
|
||||
return $this->render('detail_pages/project', ['slug' => $slug]);
|
||||
case 'objects':
|
||||
case 'obekti':
|
||||
return $this->render('detail_pages/object', ['slug' => $slug, 'webPage' => $webPage]);
|
||||
case 'collections':
|
||||
case 'kolektsii':
|
||||
return $this->render('detail_pages/collection', ['slug' => $slug]);
|
||||
case 'expositions':
|
||||
case 'ekspozitsii':
|
||||
return $this->render('detail_pages/exposition', ['slug' => $slug]);
|
||||
case 'e-library':
|
||||
case 'e-biblioteka':
|
||||
return $this->render('detail_pages/e-library', ['slug' => $slug]);
|
||||
}
|
||||
|
||||
//die('No action found');
|
||||
}
|
||||
} else {
|
||||
|
||||
|
||||
switch ($webPage) {
|
||||
case 'news':
|
||||
case 'novini':
|
||||
$article = Articles::getArticleBySlug($slug);
|
||||
if ($article) {
|
||||
ViewReg::localeSwitchArticle('news', $article);
|
||||
return $this->render('detail_pages/article', ['model' => $article, 'type' => 'news']);
|
||||
}
|
||||
break;
|
||||
case 'events':
|
||||
case 'sabitia':
|
||||
$article = Articles::getArticleBySlug($slug);
|
||||
if ($article) {
|
||||
ViewReg::localeSwitchArticle('events', $article);
|
||||
return $this->render('detail_pages/article', ['model' => $article, 'type' => 'events']);
|
||||
}
|
||||
break;
|
||||
case 'campaigns':
|
||||
case 'kampanii':
|
||||
$article = Articles::getArticleBySlug($slug);
|
||||
if ($article) {
|
||||
ViewReg::localeSwitchArticle('campaigns', $article);
|
||||
return $this->render('detail_pages/article', ['model' => $article, 'type' => 'campaigns']);
|
||||
}
|
||||
break;
|
||||
case 'collections-objects':
|
||||
case 'kolektsii-obekti':
|
||||
case 'expositions-objects':
|
||||
case 'ekspozitsii-obekti':
|
||||
case 'objects':
|
||||
case 'obekti':
|
||||
return $this->render('detail_pages/object', ['webPage' => $webPage, 'slug' => $slug]);
|
||||
case 'app-download':
|
||||
$file = $_SERVER['DOCUMENT_ROOT'].'/_public/nasledstvo.apk';
|
||||
header('Content-Disposition: attachment; filename=nasledstvo.apk');
|
||||
header('Content-Type: application/octet-stream'); // Downloading on Android might fail without this
|
||||
ob_clean();
|
||||
readfile($file);
|
||||
exit;
|
||||
case 'master':
|
||||
return $this->renderPartial('master');
|
||||
}
|
||||
}
|
||||
|
||||
echo 'Page not found 404';
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//public function
|
||||
}
|
||||
Reference in New Issue
Block a user