1 | <?php |
||
12 | class image extends base |
||
13 | { |
||
14 | /** @var \blitze\sitemaker\services\filemanager\setup */ |
||
15 | protected $filemanager; |
||
16 | |||
17 | /** @var \blitze\sitemaker\services\util */ |
||
18 | protected $util; |
||
19 | |||
20 | /** @var string */ |
||
21 | protected $phpbb_root_path; |
||
22 | |||
23 | /** @var string */ |
||
24 | protected $php_ext; |
||
25 | |||
26 | /** |
||
27 | * Constructor |
||
28 | * |
||
29 | * @param \phpbb\language\language $language Language object |
||
30 | * @param \phpbb\request\request_interface $request Request object |
||
31 | * @param \blitze\sitemaker\services\template $ptemplate Sitemaker template object |
||
32 | * @param \blitze\sitemaker\services\filemanager\setup $filemanager Filemanager object |
||
33 | * @param \blitze\sitemaker\services\util $util Sitemaker utility object |
||
34 | * @param string $phpbb_root_path phpBB root path |
||
35 | * @param string $php_ext php file extension |
||
36 | */ |
||
37 | 16 | public function __construct(\phpbb\language\language $language, \phpbb\request\request_interface $request, \blitze\sitemaker\services\template $ptemplate, \blitze\sitemaker\services\filemanager\setup $filemanager, \blitze\sitemaker\services\util $util, $phpbb_root_path, $php_ext) |
|
38 | { |
||
39 | 16 | parent::__construct($language, $request, $ptemplate); |
|
40 | |||
41 | 16 | $this->filemanager = $filemanager; |
|
42 | 16 | $this->util = $util; |
|
43 | 16 | $this->phpbb_root_path = $phpbb_root_path; |
|
44 | 16 | $this->php_ext = $php_ext; |
|
45 | 16 | } |
|
46 | |||
47 | /** |
||
48 | * @inheritdoc |
||
49 | */ |
||
50 | 3 | public function get_field_value(array $data) |
|
51 | { |
||
52 | 3 | $value = $this->request->variable($data['field_name'], $data['field_value']); |
|
53 | 3 | $value = $this->get_image_src($value); |
|
54 | |||
55 | 3 | return ($value) ? '[img]' . $value . '[/img]' : ''; |
|
56 | } |
||
57 | |||
58 | /** |
||
59 | * @inheritdoc |
||
60 | */ |
||
61 | 3 | public function show_form_field($name, array &$data) |
|
62 | { |
||
63 | 3 | $bbcode_value = $this->get_field_value($data); |
|
64 | |||
65 | 3 | $field = $this->get_name(); |
|
66 | 3 | $data['field_value'] = $this->get_image_src($bbcode_value); |
|
67 | |||
68 | 3 | $this->util->add_assets(array( |
|
69 | 'js' => array( |
||
70 | 3 | '@blitze_content/vendor/fancybox/dist/jquery.fancybox.min.js', |
|
71 | 3 | 100 => '@blitze_content/assets/fields/form.min.js', |
|
72 | 3 | ), |
|
73 | 'css' => array( |
||
74 | 3 | '@blitze_content/vendor/fancybox/dist/jquery.fancybox.min.css', |
|
75 | 3 | ), |
|
76 | 3 | )); |
|
77 | |||
78 | 3 | $this->set_filemanager($data); |
|
79 | 3 | $this->ptemplate->assign_vars($data); |
|
80 | 3 | $field = $this->ptemplate->render_view('blitze/content', "fields/image.html", $field . '_field'); |
|
81 | |||
82 | 3 | $data['field_value'] = $bbcode_value; |
|
83 | |||
84 | 3 | return $field; |
|
85 | } |
||
86 | |||
87 | /** |
||
88 | * @inheritdoc |
||
89 | */ |
||
90 | 10 | public function display_field(array $data, $mode = '') |
|
91 | { |
||
92 | 10 | $image = ''; |
|
93 | 10 | if ($data['field_value'] || $data['field_props']['default']) |
|
94 | 10 | { |
|
95 | 6 | $image = $this->get_image_html($data['field_value'], $mode, $data['field_props']); |
|
96 | 6 | } |
|
97 | 10 | return $image; |
|
98 | } |
||
99 | |||
100 | /** |
||
101 | * @inheritdoc |
||
102 | */ |
||
103 | 14 | public function get_default_props() |
|
104 | { |
||
105 | return array( |
||
106 | 14 | 'default' => '', |
|
107 | 14 | 'detail_align' => '', |
|
108 | 14 | 'detail_size' => '', |
|
109 | 14 | 'summary_align' => '', |
|
110 | 14 | 'summary_size' => '', |
|
111 | 14 | ); |
|
112 | } |
||
113 | |||
114 | /** |
||
115 | * @inheritdoc |
||
116 | */ |
||
117 | 5 | public function get_name() |
|
121 | |||
122 | /** |
||
123 | * @param string $bbcode_string |
||
124 | * @return string |
||
125 | */ |
||
126 | 3 | private function get_image_src($bbcode_string) |
|
130 | |||
131 | /** |
||
132 | * @param string $image |
||
133 | * @param string $mode |
||
134 | * @param array $field_props |
||
135 | * @return string |
||
136 | */ |
||
137 | 6 | private function get_image_html($image, $mode, array $field_props) |
|
150 | |||
151 | /** |
||
152 | * @param array $data |
||
153 | * @return void |
||
154 | */ |
||
155 | 3 | protected function set_filemanager(array &$data) |
|
166 | } |
||
167 |