예제 #1
0
 public function appProject($lang, $slug)
 {
     $project = Dic::valueBySlugs('projects', $slug, ['fields', 'textfields']);
     #Helper::tad($project);
     if (!$project) {
         App::abort(404);
     }
     $project = DicLib::loadImages($project, ['image']);
     $project_page = Page::by_id($project->page_id);
     #Helper::tad($project_page);
     if (!$project_page) {
         App::abort(404);
     }
     $prev_project = null;
     $next_project = null;
     $prev_project = Dic::valuesBySlug('projects', function ($query) use($project) {
         $query->where('lft', '<', $project->lft);
         $query->orderBy('lft', 'ASC');
         $query->take(1);
     }, ['fields', 'textfields'], true, true, true);
     #Helper::ta($prev_project);
     $next_project = Dic::valuesBySlug('projects', function ($query) use($project) {
         $query->where('lft', '>', $project->lft);
         $query->orderBy('lft', 'ASC');
         $query->take(1);
     }, ['fields', 'textfields'], true, true, true);
     #Helper::tad($next_project);
     return View::make(Helper::layout('project'), compact('project', 'project_page', 'prev_project', 'next_project'));
 }
예제 #2
0
$route = Route::current();
#dd($route);
$id = $route->getParameter('id');
$record = Dic::valueBySlugAndId('blog', $id, ['fields', 'textfields']);
if (!$record) {
    echo json_encode(['responseType' => 'error', 'responseCode' => 404]);
    return;
}
$record = DicLib::loadImages($record, ['image', 'header_img']);
#Helper::tad($record);
$others_news = Dic::valuesBySlug('blog', function ($query) use($record) {
    $query->where('id', '!=', $record->id);
    $query->orderBy('created_at', 'desc');
    $query->take(5);
}, ['fields', 'textfields']);
$others_news = DicLib::loadImages($others_news, ['image']);
#Helper::tad($others_news);
?>


@section('style')
@stop


@section('content')

    <section class="b-title " style="background-image: url({{ isset($record->header_img) && is_object($record->header_img) ? $record->header_img->full() : '' }});">

        <div class="b-title__logo _invisible">
            <img src="{{ Config::get('site.theme_path') }}/img/logo/ikra-top.png" height="102" width="129" alt="ИКРА IKRA">
        </div>
예제 #3
0
#dd($route);
$id = $route->getParameter('id');
$event = Dic::valueBySlugAndId('events', $id, ['fields', 'textfields']);
if (!$event) {
    echo json_encode(['responseType' => 'error', 'responseCode' => 404]);
    return;
}
$event = DicLib::loadImages($event, ['image', 'header_img']);
#Helper::tad($event);
$others_events = Dic::valuesBySlug('events', function ($query) use($event) {
    #$query->where('id', '!=', $event->id);
    $query->filter_by_field('date_start', '>=', date('Y-m-d'));
    $query->order_by_field('date_start', 'asc');
    $query->take(5);
}, ['fields', 'textfields']);
$others_events = DicLib::loadImages($others_events, ['image']);
#Helper::tad($others_news);
?>


@section('style')
@stop


@section('content')

    <section class="b-title " style="background-image: url({{ isset($event->header_img) && is_object($event->header_img) ? $event->header_img->full() : '' }});">

        <div class="b-title__logo _invisible">
            <img src="{{ Config::get('site.theme_path') }}/img/logo/ikra-top.png" height="102" width="129" alt="ИКРА IKRA">
        </div>
예제 #4
0
 public static function returnRoutes($prefix = null)
 {
     /**
      * Здесь нужно кешировать города, направления, типы курсов, партнеры, клиенты
      * Загружаем из БД - сохраняем в кеше на 10 минут например
      * При сохранении этих сущностей - сбрасывать кеш (в настройках словарей)
      * dic.city, dic.direction, dic.type, dic.partners, dic.clients и т.д.
      *
      * Ниже идет получение города юзера из БД - заменить на получение из кеша
      */
     $dics_for_cache = ['city', 'direction', 'type', 'course', 'teachers', 'stories', 'partners', 'clients', 'professions', 'students_work', 'reviews', 'cases', 'workers'];
     foreach ($dics_for_cache as $dic_name) {
         ## Refresh dics cache
         #Cache::forget('dic_' . $dic_name);
         $dic_[$dic_name] = Cache::get('dic_' . $dic_name);
         if (!$dic_[$dic_name]) {
             Cache::forget('dic_' . $dic_name);
             $dic_[$dic_name] = Dic::valuesBySlug($dic_name, null, ['fields', 'textfields', 'related_dicvals'], true, true, true);
             $dic_[$dic_name] = DicLib::loadImages($dic_[$dic_name], ['avatar', 'image', 'logo', 'photo', 'header_img']);
             Cache::add('dic_' . $dic_name, $dic_[$dic_name], self::$global_cache_min);
         }
         View::share('dic_' . $dic_name, $dic_[$dic_name]);
         #Helper::d($dic_name); Helper::ta($dic_{$dic_name});
     }
     #Helper::tad($dic_{'city'});
     #die;
     /**
      * Определяем город юзера, если есть пометка в COOKIES. Иначе - Москва (id из конфига).
      * Предзагружаем из сессии, кешируем в сессию, делаем глобальным для шаблонизатора.
      */
     $dic_city = $dic_['city'];
     #Helper::tad($dic_city);
     $refresh_city = false;
     #$refresh_city = true;
     $user_city_cache_key = self::$user_city_cache_key;
     $user_city_cache_min = self::$user_city_cache_min;
     if ($refresh_city) {
         Session::forget($user_city_cache_key);
     }
     $city = @$dic_city[Session::get($user_city_cache_key)];
     #Helper::tad($city);
     if (!$city || $refresh_city) {
         Session::forget($user_city_cache_key);
         if (isset($_COOKIE['city_id']) && is_numeric($_COOKIE['city_id'])) {
             $city = @$dic_city[$_COOKIE['city_id']];
         }
         if (!$city || $refresh_city) {
             $city = @$dic_city[Config::get('site.default_city_id')];
         }
         Session::set($user_city_cache_key, $city->id);
     }
     #Helper::tad($city);
     #die;
     View::share($user_city_cache_key, $city);
     View::share($user_city_cache_key . '_slug', $city->slug);
     /**
      * Общие роуты
      */
     Route::group(array(), function () {
         #Route::any('/ajax/send-message', array('as' => 'ajax.send-message', 'uses' => __CLASS__.'@postSendMessage'));
         Route::any('/ajax/change_city', array('as' => 'ajax.change_city', 'uses' => __CLASS__ . '@ajaxChangeCity'));
         Route::any('/ajax/get_courses', array('as' => 'ajax.get_courses', 'uses' => __CLASS__ . '@ajaxGetCourses'));
         Route::any('/ajax/form_question', array('as' => 'app.form_question', 'uses' => __CLASS__ . '@formQuestion'));
         Route::any('/ajax/form_course_register', array('as' => 'app.form_course_register', 'uses' => __CLASS__ . '@formCourseRegister'));
         Route::any('/ajax/form_corp', array('as' => 'app.form_corp', 'uses' => __CLASS__ . '@formCorp'));
         Route::any('/ajax/form_subscribe', array('as' => 'app.form_subscribe', 'uses' => __CLASS__ . '@formSubscribe'));
         Route::any('/ajax/form_course', array('as' => 'app.form_course', 'uses' => __CLASS__ . '@formCourse'));
     });
 }
예제 #5
0
<?php

return array('fields' => function () {
    return array('image' => array('title' => 'Картинка', 'type' => 'image', 'params' => array('maxFilesize' => 4)), 'color' => array('title' => 'Код цвета (#000000 - #ffffff)', 'type' => 'text', 'others' => ['placeholder' => '#000000']));
}, 'hooks' => array('before_index_view' => function ($dic, $dicvals) {
    $dicvals = DicLib::loadImages($dicvals, ['image']);
}), 'first_line_modifier' => function ($line, $dic, $dicval) {
    #Helper::ta($dicval);
    return (isset($dicval->image) && is_object($dicval->image) ? '<img src="' . $dicval->image->thumb() . '" height="20"/> ' : '') . '<span style="color:' . $dicval->color . '">' . $dicval->name . '</span>';
}, 'second_line_modifier' => function ($line, $dic, $dicval) {
    return $dicval->color;
});
예제 #6
0
$current_page = Input::get('tab') == 'blog' ? Input::get('page') : 1;
Paginator::setCurrentPage($current_page);
$blogs = Dic::valuesBySlug('blog', function ($query) {
    $query->orderBy('created_at', 'desc');
}, ['fields', 'textfields'], true, true, true, 6);
$blogs = DicLib::loadImages($blogs, ['image']);
#Helper::tad($blogs);
#dd($blogs);
$current_page = Input::get('tab') == 'events' ? Input::get('page') : 1;
Paginator::setCurrentPage($current_page);
$events = Dic::valuesBySlug('events', function ($query) use($current_city) {
    $query->filter_by_field('city_id', '=', $current_city->id);
    $query->filter_by_field('date_start', '>=', date('Y-m-d'));
    $query->order_by_field('date_start', 'asc');
}, ['fields', 'textfields'], true, true, true, 1);
$events = DicLib::loadImages($events, ['image']);
#Helper::tad($events);
#dd($events);
Paginator::setCurrentPage(1);
$current_tab = 'blog';
if (Input::get('tab') == 'events') {
    $current_tab = Input::get('tab');
} elseif (Input::get('tab') == 'social') {
    $current_tab = Input::get('tab');
}
?>


@section('style')
@stop