Merge branch 'dev' into doucovanineratovice.cz
This commit is contained in:
@@ -35,7 +35,9 @@ class PageRenderer
|
||||
// get handler
|
||||
$handler = new $page->module_handler;
|
||||
|
||||
$page->content = Shortcode::compile($page->content);
|
||||
|
||||
// render page
|
||||
return Shortcode::compile($handler->render($page, $parameters));
|
||||
return $handler->render($page, $parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -269,6 +269,10 @@ class EditContent extends Controller
|
||||
|
||||
// change url to something unique
|
||||
$oldURL = $page->url;
|
||||
$page->url .= uniqid('deleted_');
|
||||
$page->save();
|
||||
|
||||
// delete page
|
||||
$page->delete();
|
||||
|
||||
// let module to delete some extra content created during page's life
|
||||
|
||||
+23
-14
@@ -38,7 +38,7 @@ class Content extends Model
|
||||
'status'
|
||||
];
|
||||
protected $guarded = [];
|
||||
protected $subpages = [];
|
||||
protected $foundSubpages = [];
|
||||
protected $subpagesInit = false;
|
||||
const STATUS_DRAFT = 'draft';
|
||||
const STATUS_PROTECTED = 'protected';
|
||||
@@ -60,7 +60,11 @@ class Content extends Model
|
||||
*/
|
||||
public function getPageQuery()
|
||||
{
|
||||
return Content::where('status', '!=', Content::STATUS_DRAFT);
|
||||
return Content::where('status', '!=', Content::STATUS_DRAFT)
|
||||
->select('contents.*')
|
||||
->join('modules', 'modules.handler', '=', 'contents.module_handler')
|
||||
->where('language', LaravelLocalization::getCurrentLocale())
|
||||
->where('modules.enabled', true);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -70,7 +74,6 @@ class Content extends Model
|
||||
public function getHomepage()
|
||||
{
|
||||
return $this->getPageQuery()
|
||||
->where('language', LaravelLocalization::getCurrentLocale())
|
||||
->where('is_homepage', 1)
|
||||
->first();
|
||||
}
|
||||
@@ -86,32 +89,39 @@ class Content extends Model
|
||||
{
|
||||
return $this->getPageQuery()
|
||||
->where('url', $url)
|
||||
->where('language', LaravelLocalization::getCurrentLocale())
|
||||
->first();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get list of all subpages
|
||||
*
|
||||
* @return \Illuminate\Database\Eloquent\Relations\HasMany
|
||||
* @param bool $orderBy
|
||||
* @param bool $orderDirection
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function subpages()
|
||||
public function subpages($orderBy = false, $orderDirection = false)
|
||||
{
|
||||
if (!$this->subpagesInit) {
|
||||
$this->subpages = $this->getPageQuery()
|
||||
->where('parent_id', $this->id)
|
||||
->where('language', LaravelLocalization::getCurrentLocale())
|
||||
->get();
|
||||
$subpages = $this->getPageQuery()
|
||||
->where('contents.parent_id', $this->id);
|
||||
|
||||
if ($orderBy) {
|
||||
$subpages->orderBy($orderBy, $orderDirection ? $orderDirection : 'ASC');
|
||||
}
|
||||
|
||||
$subpages = $subpages->get();
|
||||
|
||||
// convert JSON settings into stdClass
|
||||
foreach ($this->subpages as $subpage) {
|
||||
$subpage->module_settings = json_decode($subpage->module_settings);
|
||||
foreach ($subpages as $i => $subpage) {
|
||||
$subpages[$i]->module_settings = json_decode($subpage->module_settings);
|
||||
}
|
||||
|
||||
$this->subpagesInit = true;
|
||||
$this->foundSubpages = $subpages;
|
||||
}
|
||||
|
||||
return $this->subpages;
|
||||
return $this->foundSubpages;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -162,7 +172,6 @@ class Content extends Model
|
||||
public function rootPages()
|
||||
{
|
||||
$rootPages = $this->getPageQuery()
|
||||
->where('language', LaravelLocalization::getCurrentLocale())
|
||||
->where('parent_id', null);
|
||||
|
||||
if ($this->id) {
|
||||
|
||||
@@ -21,11 +21,7 @@ class GlobalViewDataProvider extends ServiceProvider
|
||||
return;
|
||||
}
|
||||
|
||||
// $settings = new Settings();
|
||||
//
|
||||
// foreach ($settings->getForView() as $key => $value) {
|
||||
// view()->share($key, $value);
|
||||
// }
|
||||
view()->share('currentUrl', \Request::url());
|
||||
|
||||
$this->extendBlade();
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<p>
|
||||
<strong>Ahoj {{$data->name}}</strong>
|
||||
</p>
|
||||
<p>Diky za zpravu: <em>{{$data->message}}</em></p>
|
||||
{{$data->message}}
|
||||
@@ -21,7 +21,7 @@
|
||||
</label>
|
||||
|
||||
<input class="form-control" type="text" name="containerClass" placeholder="@lang('widgets/menu.containerClass')"
|
||||
value="{{old("containerClass")}}" />
|
||||
value="{{old("containerClass", $widget->settingsObj->containerClass)}}" />
|
||||
|
||||
|
||||
<div class="row">
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
<div id="menu-items-container">
|
||||
@foreach($widget->settingsObj->links as $pageId => $details)
|
||||
<span class="btn btn-sm btn-info" data-page-id="{{$pageId}}"
|
||||
<span class="added-menu-item btn btn-sm btn-info" data-page-id="{{$pageId}}"
|
||||
id="item-{{$pageId}}">{{$details->text}}</span>
|
||||
@endforeach
|
||||
|
||||
@@ -78,6 +78,20 @@
|
||||
$ ('#widgetSettings').val (JSON.stringify (items));
|
||||
});
|
||||
|
||||
function bindRemovingItems() {
|
||||
$ ('.added-menu-item').click (function () {
|
||||
var id = $ (this).data ('page-id');
|
||||
var elem = $ ('#page-' + id);
|
||||
|
||||
if (elem.length != 0)
|
||||
elem.click ();
|
||||
else
|
||||
$ (this).remove ();
|
||||
});
|
||||
}
|
||||
|
||||
bindRemovingItems();
|
||||
|
||||
$ ('.menu-item').click (function () {
|
||||
var url = $ (this).data ('page-url');
|
||||
var text = $ (this).text ();
|
||||
@@ -91,9 +105,10 @@
|
||||
$ (this).removeClass ('btn-secondary')
|
||||
} else {
|
||||
// add
|
||||
$ ('#menu-items-container').append ('<span class="btn btn-sm btn-info" id="item-' + id + '" data-page-id="' + id + '">' + text + '</span> ');
|
||||
$ ('#menu-items-container').append ('<span class="added-menu-item btn btn-sm btn-info" id="item-' + id + '" data-page-id="' + id + '">' + text + '</span> ');
|
||||
$ (this).addClass ('btn-secondary');
|
||||
$ (this).removeClass ('btn-info');
|
||||
bindRemovingItems();
|
||||
}
|
||||
|
||||
// distinguish between added and not-added page
|
||||
|
||||
+12
-11
@@ -37,20 +37,21 @@ if [ ! $? -eq 0 ]; then
|
||||
echo " *****************************"
|
||||
exit 2
|
||||
fi
|
||||
composer dump-autoload
|
||||
|
||||
composer install --no-dev
|
||||
|
||||
php artisan migrate --force -n
|
||||
php artisan module:migrate --force -n
|
||||
php artisan vendor:publish --tag=module-views --force -n
|
||||
php artisan vendor:publish --tag=public-assets --force -n
|
||||
php artisan vendor:publish
|
||||
|
||||
composer install --no-dev
|
||||
|
||||
chmod 0777 bootstrap/cache -R
|
||||
chmod 0777 storage -R
|
||||
chmod 0777 modules/*
|
||||
chmod 0777 public/uploads -R
|
||||
chmod 0777 resources/views/visitor -R
|
||||
chmod 0777 resources/views/modules -R
|
||||
chmod 0777 modules/*/module.json
|
||||
chmod +x scripts/*
|
||||
# this part need running as root
|
||||
sudo chmod 0777 bootstrap/cache -R
|
||||
sudo chmod 0777 storage -R
|
||||
sudo chmod 0777 modules/*
|
||||
sudo chmod 0777 public/uploads -R
|
||||
sudo chmod 0777 resources/views/visitor -R
|
||||
sudo chmod 0777 resources/views/modules -R
|
||||
sudo chmod 0777 modules/*/module.json
|
||||
sudo chmod +x scripts/*
|
||||
|
||||
@@ -7,6 +7,10 @@ use App\Models\Content;
|
||||
use App\Models\Module;
|
||||
use App\Models\User;
|
||||
use App\Models\WidgetArea;
|
||||
use Templates\Binarity\Shortcodes\DarkBlock;
|
||||
use Templates\Binarity\Shortcodes\TechnologiesWrapper;
|
||||
use Templates\Binarity\Shortcodes\Technology;
|
||||
use Webwizo\Shortcodes\Facades\Shortcode;
|
||||
|
||||
class Handler implements TemplateHandler
|
||||
{
|
||||
@@ -42,6 +46,7 @@ class Handler implements TemplateHandler
|
||||
*/
|
||||
public static function uninstall(Module $template)
|
||||
{
|
||||
WidgetArea::where('code', 'mainMenu')->delete();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -78,6 +83,10 @@ class Handler implements TemplateHandler
|
||||
*/
|
||||
public static function beforeRender(Content & $content)
|
||||
{
|
||||
Shortcode::register('technologies', TechnologiesWrapper::class);
|
||||
Shortcode::register('tech', Technology::class);
|
||||
Shortcode::register('dark', DarkBlock::class);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+43
-25
@@ -2266,7 +2266,7 @@ p + .stat {
|
||||
width: 100%;
|
||||
height: 2.4375rem;
|
||||
padding: 0.5rem;
|
||||
border: 2px solid #414042;
|
||||
border: 1px solid #8aa800;
|
||||
margin: 0 0 1rem;
|
||||
font-family: inherit;
|
||||
font-size: 1rem;
|
||||
@@ -5631,7 +5631,9 @@ textarea,textarea:focus {
|
||||
width: 650px;
|
||||
height: 76px;
|
||||
position: relative;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.what-we-know {
|
||||
position: absolute;
|
||||
display: inline-block;
|
||||
@@ -5673,28 +5675,6 @@ textarea,textarea:focus {
|
||||
top: 14px;
|
||||
left: 16px;
|
||||
}
|
||||
.price-list {
|
||||
color: #fefefe;
|
||||
}
|
||||
.price-list tbody {
|
||||
border: 0;
|
||||
background-color: transparent;
|
||||
}
|
||||
table.price-list tbody tr,table.price-list tbody tr:nth-child(2n) {
|
||||
background-color: transparent;
|
||||
}
|
||||
table.price-list tbody tr td {
|
||||
padding: 0.2rem 0.625rem 0.2rem 0;
|
||||
}
|
||||
table.price-list tbody tr td:first-child:before {
|
||||
content: '•';
|
||||
margin-right: 5px;
|
||||
color: #8aa800;
|
||||
}
|
||||
.dark-background {
|
||||
background-color: #58595b;
|
||||
color: #fefefe;
|
||||
}
|
||||
.services-pos {
|
||||
position: relative;
|
||||
}
|
||||
@@ -6283,6 +6263,44 @@ footer .binarity-info:before {
|
||||
}
|
||||
}
|
||||
|
||||
.dark-background {
|
||||
background-color: #58595b;
|
||||
color: #fefefe;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
.dark-background h2, .dark-background h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.dark-background table {
|
||||
color: #fefefe;
|
||||
width: 85%;
|
||||
margin: 0 auto;
|
||||
border: none;
|
||||
}
|
||||
.dark-background table tbody {
|
||||
border: none;
|
||||
background-color: transparent !important;
|
||||
}
|
||||
|
||||
.dark-background table td:nth-child(2) {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.dark-background table tbody tr,.dark-background table tbody tr:nth-child(2n) {
|
||||
background-color: transparent !important;
|
||||
}
|
||||
.dark-background table tbody tr td {
|
||||
padding: 0.2rem 0.625rem 0.2rem 0;
|
||||
border: none;
|
||||
}
|
||||
.dark-background table tbody tr td:first-child:before {
|
||||
content: '•';
|
||||
margin-right: 5px;
|
||||
color: #8aa800;
|
||||
}
|
||||
|
||||
|
||||
.flip-container {
|
||||
-webkit-perspective: 1000px;
|
||||
@@ -8936,11 +8954,11 @@ article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,secti
|
||||
margin-top: -60px;
|
||||
}
|
||||
.services-pos:nth-child(10) {
|
||||
left: calc(50% - 150px);
|
||||
left: calc(50% - 15px);
|
||||
margin-top: -65px;
|
||||
}
|
||||
.services-pos:nth-child(12) {
|
||||
left: calc(50% - 15px);
|
||||
left: calc(50% - 150px);
|
||||
margin-top: -60px;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,3 +55,32 @@ window.addEventListener('resize', function() {
|
||||
}
|
||||
});
|
||||
|
||||
var flippers = document.querySelectorAll ('.hover-on-start'),
|
||||
flipi = flippers.length;
|
||||
|
||||
while (flipi--) {
|
||||
(function (flipi) {
|
||||
setTimeout (function () {
|
||||
flippers[flipi].classList.toggle ('hover');
|
||||
}, flipi * 200);
|
||||
}) (flipi);
|
||||
}
|
||||
|
||||
|
||||
$('.flip-container.hover-on-start').bind('touchstart', function (e) {
|
||||
e.preventDefault();
|
||||
$(this).toggleClass('hover');
|
||||
});
|
||||
|
||||
function showMoreReferences(evt) {
|
||||
$ (evt).parent ().remove ();
|
||||
$ ('.more-references').fadeIn (200);
|
||||
}
|
||||
|
||||
window.addEventListener ('load', function () {
|
||||
$ ('.reference-item').mouseenter (function () {
|
||||
$ (this).find ('.item-data').animate ({opacity: 1}, 300, 'swing');
|
||||
}).mouseleave (function () {
|
||||
$ (this).find ('.item-data').animate ({opacity: 0}, 300, 'swing');
|
||||
});
|
||||
});
|
||||
@@ -1,5 +1,7 @@
|
||||
@extendVisitor('layout')
|
||||
|
||||
@include(\App\Helpers\Template::name('metaInformation'))
|
||||
|
||||
@section('content')
|
||||
<h1 class="text-center uppercase m-b-25">{{$page->title}}</h1>
|
||||
|
||||
@@ -14,6 +16,12 @@
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if(session('error'))
|
||||
<div class="callout alert">
|
||||
Zprávu bohužel nebylo možné odeslat, zkuste nám napsat na {{$page->module_settings->contactEmail}}.
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<form action="{{route('email.send', ['id' => $page->id])}}" method="post">
|
||||
{!! csrf_field() !!}
|
||||
<label>
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
@extendVisitor('layout')
|
||||
|
||||
@section('content')
|
||||
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,11 @@
|
||||
@extendVisitor('layout')
|
||||
|
||||
@include(\App\Helpers\Template::name('metaInformation'))
|
||||
|
||||
@section('content')
|
||||
<h1 class="text-center uppercase m-b-25">{{$page->title}}</h1>
|
||||
|
||||
<div class="row">
|
||||
{!! $page->content !!}
|
||||
</div>
|
||||
@endsection
|
||||
@@ -1,5 +1,7 @@
|
||||
@extendVisitor('layout')
|
||||
|
||||
@section('pageTitle', $page->title)
|
||||
|
||||
@section('content')
|
||||
<div class="services-pos outline-holder">
|
||||
<div class="flip-container hover">
|
||||
@@ -10,10 +12,10 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="services-pos service-holder">
|
||||
<div class="flip-container hover hover-on-start" ontouchstart="this.classList.toggle('hover');">
|
||||
<div class="flip-container hover hover-on-start">
|
||||
<div class="flipper">
|
||||
<div class="front">
|
||||
Webové<br>aplikace
|
||||
Vyvíjíme webové<br>aplikace
|
||||
</div>
|
||||
<div class="back">
|
||||
Webové <br>aplikace a prezentace<br> na míru
|
||||
@@ -22,7 +24,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="services-pos outline-holder">
|
||||
<div class="flip-container hover hover-on-start" ontouchstart="this.classList.toggle('hover');">
|
||||
<div class="flip-container hover">
|
||||
<div class="flip-container hover">
|
||||
<div class="flipper">
|
||||
<div class="outline">
|
||||
@@ -32,19 +34,19 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="services-pos service-holder">
|
||||
<div class="flip-container hover hover-on-start" ontouchstart="this.classList.toggle('hover');">
|
||||
<div class="flip-container hover hover-on-start">
|
||||
<div class="flipper">
|
||||
<div class="front">
|
||||
<p>E-shopy</p>
|
||||
<p>Nabízíme <br> konzultace</p>
|
||||
</div>
|
||||
<div class="back">
|
||||
Kvalitní a rychlé<br>e-shopové řešení
|
||||
Nevíte si rady<br>s webem? Poradíme!
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="services-pos outline-holder">
|
||||
<div class="flip-container hover hover-on-start" ontouchstart="this.classList.toggle('hover');">
|
||||
<div class="flip-container hover">
|
||||
<div class="flip-container hover">
|
||||
<div class="flipper">
|
||||
<div class="outline-grey">
|
||||
@@ -54,51 +56,52 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="services-pos service-holder">
|
||||
<div class="flip-container hover hover-on-start" ontouchstart="this.classList.toggle('hover');">
|
||||
<div class="flip-container hover hover-on-start">
|
||||
<div class="flipper">
|
||||
<div class="front">
|
||||
Správa<br>systémů
|
||||
Vytváříme<br>informační<br> systémy
|
||||
</div>
|
||||
<div class="back">
|
||||
Kompletní správa<br>dat a firemních<br>systémů
|
||||
Přehledně, <br>zodpovědně<br>lidsky
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="services-pos service-holder">
|
||||
<div class="flip-container hover hover-on-start" ontouchstart="this.classList.toggle('hover');">
|
||||
<div class="flip-container hover hover-on-start">
|
||||
<div class="flipper">
|
||||
<div class="front">
|
||||
Hosting<br>a správa domén
|
||||
Poskytujeme hosting
|
||||
</div>
|
||||
<div class="back">
|
||||
Nákup domény<br>Hosting<br>SSL...
|
||||
Nákup domény<br>Hosting<br>SSL<br>...
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="services-pos service-holder">
|
||||
<div class="flip-container hover hover-on-start" ontouchstart="this.classList.toggle('hover');">
|
||||
<div class="flip-container hover hover-on-start">
|
||||
<div class="flipper">
|
||||
<div class="front">
|
||||
SEO, Facebook<br>a další
|
||||
</div>
|
||||
<div class="back">
|
||||
Analýza<br>Návrh řešení<br>Implementace
|
||||
Zanalyzujeme<br>Návrhneme<br>Implementujeme
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="services-pos service-holder">
|
||||
<div class="services-pos outline-holder">
|
||||
<div class="flip-container hover">
|
||||
<div class="flipper">
|
||||
<div class="outline-grey">
|
||||
<div class="outline">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><div class="services-pos service-holder">
|
||||
<div class="flip-container hover hover-on-start" ontouchstart="this.classList.toggle('hover');">
|
||||
</div>
|
||||
<div class="services-pos service-holder">
|
||||
<div class="flip-container hover hover-on-start">
|
||||
<div class="flipper">
|
||||
<div class="front">
|
||||
<p>Testujeme</p>
|
||||
@@ -118,7 +121,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="services-pos service-holder">
|
||||
<div class="flip-container hover" ontouchstart="this.classList.toggle('hover');">
|
||||
<div class="flip-container hover">
|
||||
<div class="flipper">
|
||||
<div class="back">
|
||||
<a href="kontakt" class="white-text uppercase large-text">
|
||||
@@ -128,18 +131,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
var flippers = document.querySelectorAll ('.hover-on-start'),
|
||||
flipi = flippers.length;
|
||||
|
||||
while (flipi--) {
|
||||
(function (flipi) {
|
||||
setTimeout (function () {
|
||||
console.info (flipi);
|
||||
flippers[flipi].classList.toggle ('hover');
|
||||
}, flipi * 100);
|
||||
}) (flipi);
|
||||
}
|
||||
</script>
|
||||
<div class="clearfix m-t-50"></div>
|
||||
@endsection
|
||||
+2
-1
@@ -1,10 +1,11 @@
|
||||
@extendVisitor('layout')
|
||||
|
||||
@include(\App\Helpers\Template::name('metaInformation'))
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="row small-11 medium-11 large-11 xlarge-11 m-t-25 reference-gallery">
|
||||
<div class="row">
|
||||
|
||||
<div class="ref-scr column xlarge-8 large-8 medium-4 m-b-25 p-lr-0 b-invo" data-img="" data-label="">
|
||||
<img class="thumbnail pointer" src="@upload($page->title_photo)" alt="{{$page->title}}">
|
||||
</div>
|
||||
|
||||
+31
-205
@@ -1,216 +1,42 @@
|
||||
@extendVisitor('layout')
|
||||
|
||||
@include(\App\Helpers\Template::name('metaInformation'))
|
||||
|
||||
@section('content')
|
||||
<h1 class="text-center uppercase m-b-25">{{$page->title}}</h1>
|
||||
|
||||
<div class="text-center">
|
||||
<div class="row text-center">
|
||||
{!! $page->content !!}
|
||||
|
||||
</div>
|
||||
|
||||
@if(count($page->subpages()))
|
||||
<div class="row nochange small-up-2 medium-up-3 large-up-3 xlarge-up-4" data-equalizer>
|
||||
<?php
|
||||
$counter = 0;
|
||||
$subpages = $page->subpages();
|
||||
?>
|
||||
@foreach($subpages as $reference)
|
||||
<?php $counter++; ?>
|
||||
<div class="column reference-item @if($counter > 8) more-references @endif">
|
||||
<div class="holder">
|
||||
<img class="thumbnail" data-equalizer-watch src="@thumbnail($reference->title_photo)">
|
||||
<div class="item-data">
|
||||
<h4>{{$reference->title}}</h4>
|
||||
<p>{{$reference->meta_description}}</p>
|
||||
<a class="button success rounded small"
|
||||
href="{{route('page.content', ['url' => $reference->url])}}">Více zde!</a>
|
||||
</div>
|
||||
<div class="row nochange small-up-2 medium-up-3 large-up-3 xlarge-up-4" data-equalizer>
|
||||
<?php
|
||||
$counter = 0;
|
||||
$subpages = $page->subpages('contents.created_at', 'DESC');
|
||||
?>
|
||||
@foreach($subpages as $reference)
|
||||
<?php $counter++; ?>
|
||||
<div class="column reference-item @if($counter > 8) more-references @endif">
|
||||
<div class="holder">
|
||||
<img class="thumbnail" data-equalizer-watch src="@thumbnail($reference->title_photo)">
|
||||
<div class="item-data">
|
||||
<h4>{{$reference->title}}</h4>
|
||||
<p>{{$reference->meta_description}}</p>
|
||||
<a class="button success rounded small"
|
||||
href="{{route('page.content', ['url' => $reference->url])}}">Více zde!</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if($counter == 8)
|
||||
<p class="text-center more-refs">
|
||||
<a class="text-center" href="javascript:void(0);" onclick="showMoreReferences(this);">
|
||||
Zobrazit více referencí
|
||||
<br>
|
||||
<i class="fa fa-fw fa-lg fa-chevron-circle-down"></i>
|
||||
</a>
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@endforeach
|
||||
</div>
|
||||
@endif
|
||||
@endsection
|
||||
|
||||
@section('javascripts')
|
||||
<script>
|
||||
function showMoreReferences(evt) {
|
||||
$ (evt).parent ().remove ();
|
||||
$ ('.more-references').fadeIn (200);
|
||||
}
|
||||
|
||||
window.addEventListener ('load', function () {
|
||||
$ ('.reference-item').mouseenter (function () {
|
||||
$ (this).find ('.item-data').animate ({opacity: 1}, 100, 'swing');
|
||||
}).mouseleave (function () {
|
||||
$ (this).find ('.item-data').animate ({opacity: 0}, 300, 'swing');
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endsection
|
||||
|
||||
{{--<div class="column reference-item">--}}
|
||||
{{--<div class="holder">--}}
|
||||
{{--<img class="thumbnail" src="images/reference/myportal.png">--}}
|
||||
{{--<div class="item-data">--}}
|
||||
{{--<h4>myportal.sk</h4>--}}
|
||||
{{--<p>Systém na správu workflow</p>--}}
|
||||
{{--<a class="button success rounded small" href="detail-prace?domena=myportal.sk">Více zde!</a>--}}
|
||||
{{--</div>--}}
|
||||
{{--</div>--}}
|
||||
{{--</div>--}}
|
||||
{{--<div class="column reference-item">--}}
|
||||
{{--<div class="holder">--}}
|
||||
{{--<img class="thumbnail" src="images/reference/customwristbands.png">--}}
|
||||
{{--<div class="item-data">--}}
|
||||
{{--<h4>customwristbands.cz</h4>--}}
|
||||
{{--<p>Silikonové náramky dle Vašich představ</p>--}}
|
||||
{{--<a class="button success rounded small" href="detail-prace?domena=customwristbands.cz">Více zde!</a>--}}
|
||||
{{--</div>--}}
|
||||
{{--</div>--}}
|
||||
{{--</div>--}}
|
||||
{{--<div class="column reference-item">--}}
|
||||
{{--<div class="holder">--}}
|
||||
{{--<img class="thumbnail" src="images/reference/informujsa.png">--}}
|
||||
{{--<div class="item-data">--}}
|
||||
{{--<h4>informujsa.com</h4>--}}
|
||||
{{--<p>Informační a propagační portál měst a obcí na Slovensku</p>--}}
|
||||
{{--<a class="button success rounded small" href="detail-prace?domena=informujsa.com">Více zde!</a>--}}
|
||||
{{--</div>--}}
|
||||
{{--</div>--}}
|
||||
{{--</div>--}}
|
||||
{{--<div class="column reference-item">--}}
|
||||
{{--<div class="holder">--}}
|
||||
{{--<img class="thumbnail" src="images/reference/tipovacka.png">--}}
|
||||
{{--<div class="item-data">--}}
|
||||
{{--<h4>facebook tipsport.sk</h4>--}}
|
||||
{{--<p>FB aplikace pro tipování výsledků zápasů s možností různých výher</p>--}}
|
||||
{{--<a class="button success rounded small" href="detail-prace?domena=tipsport_tipovacka">Více zde!</a>--}}
|
||||
{{--</div>--}}
|
||||
{{--</div>--}}
|
||||
{{--</div>--}}
|
||||
{{--<div class="column reference-item">--}}
|
||||
{{--<div class="holder">--}}
|
||||
{{--<img class="thumbnail" src="images/reference/totoznost.png">--}}
|
||||
{{--<div class="item-data">--}}
|
||||
{{--<h4>totoznost.tipsport.sk</h4>--}}
|
||||
{{--<p>Vytvoření a později rebranding aplikace pro ověřování totožnosti</p>--}}
|
||||
{{--<a class="button success rounded small" href="detail-prace?domena=totoznost.tipsport.sk">Více zde!</a>--}}
|
||||
{{--</div>--}}
|
||||
{{--</div>--}}
|
||||
{{--</div>--}}
|
||||
{{--<div class="column reference-item">--}}
|
||||
{{--<div class="holder">--}}
|
||||
{{--<img class="thumbnail" src="images/reference/zlata_prilba.png">--}}
|
||||
{{--<div class="item-data">--}}
|
||||
{{--<h4>facebook tipsport.sk</h4>--}}
|
||||
{{--<p>FB aplikace pro hlasování za nejlepší hokejové video</p>--}}
|
||||
{{--<a class="button success rounded small" href="detail-prace?domena=tipsport_zlata_prilba">Více zde!</a>--}}
|
||||
{{--</div>--}}
|
||||
{{--</div>--}}
|
||||
{{--</div>--}}
|
||||
{{--<div class="column reference-item">--}}
|
||||
{{--<div class="holder">--}}
|
||||
{{--<img class="thumbnail" src="images/reference/sportovetipy.png">--}}
|
||||
{{--<div class="item-data">--}}
|
||||
{{--<h4>sportovetipy.com</h4>--}}
|
||||
{{--<p>Komunitní portál se zaměřením na všechno kolem sportu a vsázení</p>--}}
|
||||
{{--<a class="button success rounded small" href="detail-prace?domena=sportovetipy.com">Více zde!</a>--}}
|
||||
{{--</div>--}}
|
||||
{{--</div>--}}
|
||||
{{--</div>--}}
|
||||
{{--<p class="text-center more-refs">--}}
|
||||
{{--<a class="text-center" href="javascript:void(0);" onclick="showMoreReferences(this);">zobrazit více referencí<br><i class="fa fa-fw fa-lg fa-chevron-circle-down"></i> </a>--}}
|
||||
{{--</p>--}}
|
||||
{{--<div class="column reference-item more-references">--}}
|
||||
{{--<div class="holder">--}}
|
||||
{{--<img class="thumbnail" src="images/reference/tenorova.png">--}}
|
||||
{{--<div class="item-data">--}}
|
||||
{{--<h4>petratenorova.cz</h4>--}}
|
||||
{{--<p>Prezentace filmové a divadelní herečky Petry Tenorové</p>--}}
|
||||
{{--<a class="button success rounded small" href="detail-prace?domena=petratenorova.cz">Více zde!</a>--}}
|
||||
{{--</div>--}}
|
||||
{{--</div>--}}
|
||||
{{--</div>--}}
|
||||
{{--<div class="column reference-item more-references">--}}
|
||||
{{--<div class="holder">--}}
|
||||
{{--<img class="thumbnail" src="images/reference/linkrings.png">--}}
|
||||
{{--<div class="item-data">--}}
|
||||
{{--<h4>linkrings.cz</h4>--}}
|
||||
{{--<p>Prezentace šperku vyráběného na přání s tématikou rodičovství</p>--}}
|
||||
{{--<a class="button success rounded small" href="detail-prace?domena=linkrings.cz">Více zde!</a>--}}
|
||||
{{--</div>--}}
|
||||
{{--</div>--}}
|
||||
{{--</div>--}}
|
||||
{{--<div class="column reference-item more-references">--}}
|
||||
{{--<div class="holder">--}}
|
||||
{{--<img class="thumbnail" src="images/reference/24livescore.png">--}}
|
||||
{{--<div class="item-data">--}}
|
||||
{{--<h4>24livescore.tv</h4>--}}
|
||||
{{--<p>Portál zaměřený na poskytování sportovních výsledků v živém čase</p>--}}
|
||||
{{--<a class="button success rounded small" href="detail-prace?domena=24livescore.tv">Více zde!</a>--}}
|
||||
{{--</div>--}}
|
||||
{{--</div>--}}
|
||||
{{--</div>--}}
|
||||
{{--<div class="column reference-item more-references">--}}
|
||||
{{--<div class="holder">--}}
|
||||
{{--<img class="thumbnail" src="images/reference/tipsport_kalendar.png">--}}
|
||||
{{--<div class="item-data">--}}
|
||||
{{--<h4>facebook tipsport.sk</h4>--}}
|
||||
{{--<p>FB aplikace s přehledem aktuálních sportovních utkání a zápasů</p>--}}
|
||||
{{--<a class="button success rounded small" href="detail-prace?domena=tipsport_kalendar">Více zde!</a>--}}
|
||||
{{--</div>--}}
|
||||
{{--</div>--}}
|
||||
{{--</div>--}}
|
||||
{{--<div class="column reference-item more-references">--}}
|
||||
{{--<div class="holder">--}}
|
||||
{{--<img class="thumbnail" src="images/reference/aaasport.png">--}}
|
||||
{{--<div class="item-data">--}}
|
||||
{{--<h4>aaasport.sk</h4>--}}
|
||||
{{--<p>Zpravodajský portál zaměřený na novinky ze světa sportu a livescore</p>--}}
|
||||
{{--<a class="button success rounded small" href="detail-prace?domena=aaasport.sk">Více zde!</a>--}}
|
||||
{{--</div>--}}
|
||||
{{--</div>--}}
|
||||
{{--</div>--}}
|
||||
{{--<div class="column reference-item more-references">--}}
|
||||
{{--<div class="holder">--}}
|
||||
{{--<img class="thumbnail" src="images/reference/24livescore-service.png">--}}
|
||||
{{--<div class="item-data">--}}
|
||||
{{--<h4>sportovyservis.sk</h4>--}}
|
||||
{{--<p>Služba umožňující vkládat si sportovní výsledky na vlastní stránky</p>--}}
|
||||
{{--<a class="button success rounded small" href="detail-prace?domena=sportovyservis.sk">Více zde!</a>--}}
|
||||
{{--</div>--}}
|
||||
{{--</div>--}}
|
||||
{{--</div>--}}
|
||||
{{--<div class="column reference-item more-references">--}}
|
||||
{{--<div class="holder">--}}
|
||||
{{--<img class="thumbnail" src="images/reference/tipovanie.png">--}}
|
||||
{{--<div class="item-data">--}}
|
||||
{{--<h4>tipovanie.com</h4>--}}
|
||||
{{--<p>Portál zaměřený na analýzy a výhodné vsázení</p>--}}
|
||||
{{--<a class="button success rounded small" href="detail-prace?domena=tipovanie.com">Více zde!</a>--}}
|
||||
{{--</div>--}}
|
||||
{{--</div>--}}
|
||||
{{--</div>--}}
|
||||
{{--<div class="column reference-item more-references">--}}
|
||||
{{--<div class="holder">--}}
|
||||
{{--<img class="thumbnail" src="images/reference/gigant.png">--}}
|
||||
{{--<div class="item-data">--}}
|
||||
{{--<h4>gigant-stavby.cz</h4>--}}
|
||||
{{--<p>Prezentace stavební společnosti se širokým portfoliem služeb</p>--}}
|
||||
{{--<a class="button success rounded small" href="detail-prace?domena=gigant-stavby.cz">Více zde!</a>--}}
|
||||
{{--</div>--}}
|
||||
{{--</div>--}}
|
||||
{{--</div>--}}
|
||||
{{--</div>--}}
|
||||
@if($counter == 8)
|
||||
<p class="text-center more-refs">
|
||||
<a class="text-center" href="javascript:void(0);" onclick="showMoreReferences(this);">
|
||||
Zobrazit více referencí
|
||||
<br>
|
||||
<i class="fa fa-fw fa-lg fa-chevron-circle-down"></i>
|
||||
</a>
|
||||
</p>
|
||||
@endif
|
||||
@endforeach
|
||||
</div>
|
||||
@endsection
|
||||
@@ -1,20 +1,25 @@
|
||||
<!doctype html>
|
||||
<html class="no-js" lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
|
||||
<link href='https://fonts.googleapis.com/css?family=Hind+Siliguri:400,500,700,300&subset=latin,latin-ext'
|
||||
rel='stylesheet' type='text/css'>
|
||||
<link href='https://fonts.googleapis.com/css?family=Hind+Siliguri:400,500,700,300&subset=latin,latin-ext' rel='stylesheet' type='text/css'>
|
||||
<link rel="stylesheet" href="{{asset_path('visitor/css/app.css')}}">
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<meta property="og:url" content="http://www.binarity.cz">
|
||||
<meta property="og:type" content="website">
|
||||
<meta name="description" content="@yield('pageDescription')">
|
||||
<meta name="keywords" content="@yield('pageKeywords')">
|
||||
|
||||
<title>{{setting('pageName')}}</title>
|
||||
<meta property="og:url" content="{{$currentUrl}}">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:title" content="@yield('pageTitle')">
|
||||
<meta property="og:description" content="@yield('pageDescription')">
|
||||
<meta property="og:image" content="@yield('pageTitleImage')">
|
||||
|
||||
<title>@yield('pageTitle') | {{setting('pageName')}}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="off-canvas-wrapper">
|
||||
@@ -23,22 +28,20 @@
|
||||
MENU <i class="fa fa-fw fa-lg fa-bars"></i>
|
||||
</a>
|
||||
<span class="title-bar-title m-l-25">
|
||||
<img src="{{asset_path('visitor/images/menu_logo.png')}}" id="binarity-logo-menu" alt="binarity s.r.o.">
|
||||
<img src="{{asset_path('visitor/images/menu_logo.png')}}" class="binarity-logo-menu" alt="binarity s.r.o.">
|
||||
</span>
|
||||
</div>
|
||||
<div class="off-canvas-wrapper-inner" data-off-canvas-wrapper>
|
||||
<div id="responsive-menu" class="off-canvas position-left reveal-for-large" data-off-canvas
|
||||
data-position="left">
|
||||
<div class="row column">
|
||||
<a href="/" id="logo-href" class="hide-for-medium-only hide-for-small-only">
|
||||
<img src="{{asset_path('visitor/images/menu_logo.png')}}" id="binarity-logo-menu"
|
||||
<a href="./" id="logo-href" class="hide-for-medium-only hide-for-small-only">
|
||||
<img src="{{asset_path('visitor/images/menu_logo.png')}}" class="binarity-logo-menu"
|
||||
alt="binarity s.r.o.">
|
||||
</a>
|
||||
|
||||
|
||||
@widgetArea('mainMenu')
|
||||
|
||||
|
||||
<ul class="social-icons menu hide-for-medium-only hide-for-small-only">
|
||||
@if (!empty(setting('facebookProfile')))
|
||||
<li>
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
@if(isset($page))
|
||||
@section('pageTitle', $page->title)
|
||||
@section('pageDescription', $page->meta_description)
|
||||
@section('pageKeywords', $page->meta_keywords)
|
||||
@section('pageTitleImage')
|
||||
@if (!empty($page->title_photo) && \App\Helpers\Template::upload($page->title_photo))@upload($page->title_photo)
|
||||
@else{{asset_path('visitor/images/binarity_logo_menu.png')}}@endif
|
||||
@endsection
|
||||
@endif
|
||||
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
namespace Templates\Binarity\Shortcodes;
|
||||
|
||||
class DarkBlock
|
||||
{
|
||||
public function register($shortcode, $content, $compiler, $name)
|
||||
{
|
||||
$content = str_replace('<div>', '', $content);
|
||||
$content = str_replace('</div>', '', $content);
|
||||
|
||||
$code = '<div class="clearfix m-t-50"></div>
|
||||
<div class="dark-background">
|
||||
' . $content . '
|
||||
</div>';
|
||||
|
||||
return $code;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
namespace Templates\Binarity\Shortcodes;
|
||||
|
||||
class TechnologiesWrapper {
|
||||
public function register($shortcode, $content, $compiler, $name)
|
||||
{
|
||||
$content = str_replace('<div>', '', $content);
|
||||
$content = str_replace('</div>', '', $content);
|
||||
return '<div class="what-we-know-holder">'.$content.'</div>';
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
namespace Templates\Binarity\Shortcodes;
|
||||
|
||||
class Technology
|
||||
{
|
||||
public function register($shortcode, $content, $compiler, $name)
|
||||
{
|
||||
$code = '<span class="what-we-know" title="' . $shortcode->title . '">';
|
||||
|
||||
if ($shortcode->img) {
|
||||
$code .= '<img src="' . asset_path($shortcode->img) . '" alt="' . $shortcode->title . '">';
|
||||
}
|
||||
|
||||
if ($content) {
|
||||
$code .= '<small style="position: absolute; top: 41%; left: 30%;">' . $content . '</small>';
|
||||
}
|
||||
$code .= '</span>';
|
||||
|
||||
return $code;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user