/
GalleryDialogWrapper.class.php
101 lines (79 loc) · 3 KB
/
GalleryDialogWrapper.class.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<?php
/**
* Клас 'cms_GalleryDialogWrapper'
*
* @category vendors
* @package cms
*
* @author Yusein Yuseinov <yyuseinov@gmail.com>
* @copyright 2006 - 2016 Experta OOD
* @license GPL 3
*
* @since v 0.1
*/
class cms_GalleryDialogWrapper extends core_Plugin
{
/**
*
*
* @param core_Mvc $mvc
* @param core_ET $res
* @param core_ET $tpl
*/
public function on_AfterRenderDialog($mvc, &$res, $tpl)
{
$res = $tpl;
// Масив с табовете
$tabArr = $mvc->getGalleryTabsArr();
// Инстанцияна на табовете
$tabs = cls::get('core_Tabs');
// Защитаваме променливите
Request::setProtected('callback');
// Урл
$url = array(
'callback' => $mvc->callback);
// Обхождаме табовете
foreach ($tabArr as $name => $params) {
$params = arr::make($params);
$url['Ctr'] = $params['Ctr'];
$url['Act'] = $params['Act'];
$url['selectedTab'] = $name;
$title = $params['caption'];
if ($params['icon'] && !Mode::is('screenMode', 'narrow')) {
$title = "${title}";
}
$tabs->TAB($name, $title, $url, $name);
}
$tabs->htmlClass = 'cssGallery';
// Рендираме
$res = $tabs->renderHtml($res);
// Добавяме икони
$res->prepend("<style>
.galleryPicture { background-image:url('" . sbf('img/16/picture.png', '') . "');}
.galleryGallery { background-image:url('" . sbf('img/16/photos.png', '') . "');}
.galleryGroups { background-image:url('" . sbf('img/16/grouping.png', '') . "');}
</style>");
// Добавяме css-файла
$res->push('cms/css/dialogGallery.css', 'CSS');
// Конфигурация на ядрото
$conf = core_Packs::getConfig('core');
// Добавяме титлата
$res->prepend(tr('Картинка') . ' « ' . $conf->EF_APP_TITLE, 'PAGE_TITLE');
// Добавяме клас към бодито
$res->append('dialog-window', 'BODY_CLASS_NAME');
}
/**
*
*
* @param core_Mvc $mvc
* @param array $tabs
*/
public function on_AfterGetGalleryTabsArr($mvc, &$tabs)
{
$tabs['galleryPicture'] = array('caption' => 'Добавяне', 'Ctr' => 'cms_GalleryImages', 'Act' => 'addImgDialog');
$tabs['galleryGallery'] = array('caption' => 'Картинки', 'Ctr' => 'cms_GalleryImages', 'Act' => 'galleryDialog');
if (cms_GalleryGroups::haveRightFor('list')) {
$tabs['galleryGroups'] = array('caption' => 'Групи', 'Ctr' => 'cms_GalleryGroups', 'Act' => 'dialogList');
}
}
}