Dotclear

source: plugins/blowupConfig/index.php @ 1179:a43a29427ef3

Revision 1179:a43a29427ef3, 18.9 KB checked in by franck <carnet.franck.paul@…>, 12 years ago (diff)

Update copyright notice

Line 
1<?php
2# -- BEGIN LICENSE BLOCK ---------------------------------------
3#
4# This file is part of Dotclear 2.
5#
6# Copyright (c) 2003-2013 Olivier Meunier & Association Dotclear
7# Licensed under the GPL version 2.0 license.
8# See LICENSE file or
9# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
10#
11# -- END LICENSE BLOCK -----------------------------------------
12if (!defined('DC_CONTEXT_ADMIN')) { return; }
13
14require dirname(__FILE__).'/lib/class.blowup.config.php';
15
16$can_write_images = blowupConfig::canWriteImages();
17
18if ($core->error->flag()) {
19          $notices = $core->error->toHTML();
20          $core->error->reset();
21}
22
23$blowup_base = array(
24     'body_bg_c' => null,
25     'body_bg_g' => 'light',
26
27     'body_txt_f' => null,
28     'body_txt_s' => null,
29     'body_txt_c' => null,
30     'body_line_height' => null,
31
32     'top_image' => 'default',
33     'top_height' => null,
34     'uploaded' => null,
35
36     'blog_title_hide' => null,
37     'blog_title_f' => null,
38     'blog_title_s' => null,
39     'blog_title_c' => null,
40     'blog_title_a' => null,
41     'blog_title_p' => null,
42
43     'body_link_c' => null,
44     'body_link_f_c' => null,
45     'body_link_v_c' => null,
46
47     'sidebar_position' => null,
48     'sidebar_text_f' => null,
49     'sidebar_text_s' => null,
50     'sidebar_text_c' => null,
51     'sidebar_title_f' => null,
52     'sidebar_title_s' => null,
53     'sidebar_title_c' => null,
54     'sidebar_title2_f' => null,
55     'sidebar_title2_s' => null,
56     'sidebar_title2_c' => null,
57     'sidebar_line_c' => null,
58     'sidebar_link_c' => null,
59     'sidebar_link_f_c' => null,
60     'sidebar_link_v_c' => null,
61
62     'date_title_f' => null,
63     'date_title_s' => null,
64     'date_title_c' => null,
65
66     'post_title_f' => null,
67     'post_title_s' => null,
68     'post_title_c' => null,
69     'post_comment_bg_c' => null,
70     'post_comment_c' => null,
71     'post_commentmy_bg_c' => null,
72     'post_commentmy_c' => null,
73
74     'prelude_c' => null,
75     'footer_f' => null,
76     'footer_s' => null,
77     'footer_c' => null,
78     'footer_l_c' => null,
79     'footer_bg_c' => null,
80
81     'extra_css' => null
82);
83
84$blowup_user = $core->blog->settings->themes->blowup_style;
85
86$blowup_user = @unserialize($blowup_user);
87if (!is_array($blowup_user)) {
88     $blowup_user = array();
89}
90
91$blowup_user = array_merge($blowup_base,$blowup_user);
92
93$gradient_types = array(
94     __('Light linear gradient') => 'light',
95     __('Medium linear gradient') => 'medium',
96     __('Dark linear gradient') => 'dark',
97     __('Solid color') => 'solid'
98);
99
100$top_images = array(__('Custom...') => 'custom');
101$top_images = array_merge($top_images,array_flip(blowupConfig::$top_images));
102
103
104if (!empty($_POST))
105{
106     try
107     {
108          $blowup_user['body_txt_f'] = $_POST['body_txt_f'];
109          $blowup_user['body_txt_s'] = blowupConfig::adjustFontSize($_POST['body_txt_s']);
110          $blowup_user['body_txt_c'] = blowupConfig::adjustColor($_POST['body_txt_c']);
111          $blowup_user['body_line_height'] = blowupConfig::adjustFontSize($_POST['body_line_height']);
112
113          $blowup_user['blog_title_hide'] = (integer) !empty($_POST['blog_title_hide']);
114          $update_blog_title = !$blowup_user['blog_title_hide'] && (
115               !empty($_POST['blog_title_f']) || !empty($_POST['blog_title_s']) ||
116               !empty($_POST['blog_title_c']) || !empty($_POST['blog_title_a']) ||
117               !empty($_POST['blog_title_p'])
118          );
119
120          if ($update_blog_title)
121          {
122               $blowup_user['blog_title_f'] = $_POST['blog_title_f'];
123               $blowup_user['blog_title_s'] = blowupConfig::adjustFontSize($_POST['blog_title_s']);
124               $blowup_user['blog_title_c'] = blowupConfig::adjustColor($_POST['blog_title_c']);
125               $blowup_user['blog_title_a'] = preg_match('/^(left|center|right)$/',$_POST['blog_title_a']) ? $_POST['blog_title_a'] : null;
126               $blowup_user['blog_title_p'] = blowupConfig::adjustPosition($_POST['blog_title_p']);
127          }
128
129          $blowup_user['body_link_c'] = blowupConfig::adjustColor($_POST['body_link_c']);
130          $blowup_user['body_link_f_c'] = blowupConfig::adjustColor($_POST['body_link_f_c']);
131          $blowup_user['body_link_v_c'] = blowupConfig::adjustColor($_POST['body_link_v_c']);
132
133          $blowup_user['sidebar_text_f'] = $_POST['sidebar_text_f'];
134          $blowup_user['sidebar_text_s'] = blowupConfig::adjustFontSize($_POST['sidebar_text_s']);
135          $blowup_user['sidebar_text_c'] = blowupConfig::adjustColor($_POST['sidebar_text_c']);
136          $blowup_user['sidebar_title_f'] = $_POST['sidebar_title_f'];
137          $blowup_user['sidebar_title_s'] = blowupConfig::adjustFontSize($_POST['sidebar_title_s']);
138          $blowup_user['sidebar_title_c'] = blowupConfig::adjustColor($_POST['sidebar_title_c']);
139          $blowup_user['sidebar_title2_f'] = $_POST['sidebar_title2_f'];
140          $blowup_user['sidebar_title2_s'] = blowupConfig::adjustFontSize($_POST['sidebar_title2_s']);
141          $blowup_user['sidebar_title2_c'] = blowupConfig::adjustColor($_POST['sidebar_title2_c']);
142          $blowup_user['sidebar_line_c'] = blowupConfig::adjustColor($_POST['sidebar_line_c']);
143          $blowup_user['sidebar_link_c'] = blowupConfig::adjustColor($_POST['sidebar_link_c']);
144          $blowup_user['sidebar_link_f_c'] = blowupConfig::adjustColor($_POST['sidebar_link_f_c']);
145          $blowup_user['sidebar_link_v_c'] = blowupConfig::adjustColor($_POST['sidebar_link_v_c']);
146
147          $blowup_user['sidebar_position'] = ($_POST['sidebar_position'] == 'left') ? 'left' : null;
148
149          $blowup_user['date_title_f'] = $_POST['date_title_f'];
150          $blowup_user['date_title_s'] = blowupConfig::adjustFontSize($_POST['date_title_s']);
151          $blowup_user['date_title_c'] = blowupConfig::adjustColor($_POST['date_title_c']);
152
153          $blowup_user['post_title_f'] = $_POST['post_title_f'];
154          $blowup_user['post_title_s'] = blowupConfig::adjustFontSize($_POST['post_title_s']);
155          $blowup_user['post_title_c'] = blowupConfig::adjustColor($_POST['post_title_c']);
156          $blowup_user['post_comment_c'] = blowupConfig::adjustColor($_POST['post_comment_c']);
157          $blowup_user['post_commentmy_c'] = blowupConfig::adjustColor($_POST['post_commentmy_c']);
158
159
160          $blowup_user['footer_f'] = $_POST['footer_f'];
161          $blowup_user['footer_s'] = blowupConfig::adjustFontSize($_POST['footer_s']);
162          $blowup_user['footer_c'] = blowupConfig::adjustColor($_POST['footer_c']);
163          $blowup_user['footer_l_c'] = blowupConfig::adjustColor($_POST['footer_l_c']);
164          $blowup_user['footer_bg_c'] = blowupConfig::adjustColor($_POST['footer_bg_c']);
165
166
167          $blowup_user['extra_css'] = blowupConfig::cleanCSS($_POST['extra_css']);
168
169          if ($can_write_images)
170          {
171               $uploaded = null;
172               if ($blowup_user['uploaded'] && is_file(blowupConfig::imagesPath().'/'.$blowup_user['uploaded'])) {
173                    $uploaded = blowupConfig::imagesPath().'/'.$blowup_user['uploaded'];
174               }
175
176               if (!empty($_FILES['upfile']) && !empty($_FILES['upfile']['name'])) {
177                    files::uploadStatus($_FILES['upfile']);
178                    $uploaded = blowupConfig::uploadImage($_FILES['upfile']);
179                    $blowup_user['uploaded'] = basename($uploaded);
180               }
181
182               $blowup_user['top_image'] = in_array($_POST['top_image'],$top_images) ? $_POST['top_image'] : 'default';
183
184               $blowup_user['body_bg_c'] = blowupConfig::adjustColor($_POST['body_bg_c']);
185               $blowup_user['body_bg_g'] = in_array($_POST['body_bg_g'],$gradient_types) ? $_POST['body_bg_g'] : '';
186               $blowup_user['post_comment_bg_c'] = blowupConfig::adjustColor($_POST['post_comment_bg_c']);
187               $blowup_user['post_commentmy_bg_c'] = blowupConfig::adjustColor($_POST['post_commentmy_bg_c']);
188               $blowup_user['prelude_c'] = blowupConfig::adjustColor($_POST['prelude_c']);
189               blowupConfig::createImages($blowup_user,$uploaded);
190          }
191
192          $core->blog->settings->addNamespace('themes');
193          $core->blog->settings->themes->put('blowup_style',serialize($blowup_user));
194          $core->blog->triggerBlog();
195
196          http::redirect($p_url.'&upd=1');
197     }
198     catch (Exception $e)
199     {
200          $core->error->add($e->getMessage());
201     }
202}
203?>
204<html>
205<head>
206  <title><?php echo __('Blowup configuration'); ?></title>
207  <?php echo dcPage::jsLoad('index.php?pf=blowupConfig/config.js'); ?>
208  <?php echo dcPage::jsColorPicker(); ?>
209  <script type="text/javascript">
210  //<![CDATA[
211  <?php
212  echo dcPage::jsVar('dotclear.blowup_public_url',blowupConfig::imagesURL());
213  echo dcPage::jsVar('dotclear.msg.predefined_styles',__('Predefined styles'));
214  echo dcPage::jsVar('dotclear.msg.apply_code',__('Apply code'));
215  echo dcPage::jsVar('dotclear.msg.predefined_style_title',__('Choose a predefined style'));
216  ?>
217  //]]>
218  </script>
219</head>
220
221<body>
222<?php
223echo
224'<h2>'.html::escapeHTML($core->blog->name).
225' &rsaquo; <a href="blog_theme.php">'.__('Blog appearance').'</a> &rsaquo; <span class="page-title">'.__('Blowup configuration').'</span></h2>'.
226'<p><a class="back" href="blog_theme.php">'.__('back').'</a></p>';
227
228
229if (!$can_write_images) {
230     dcPage::message(__('For the following reasons, images cannot be created. You won\'t be able to change some background properties.').
231          $notices,false,true);
232}
233
234if (!empty($_GET['upd'])) {
235     dcPage::message(__('Theme configuration has been successfully updated.'));
236}
237
238echo '<form id="theme_config" action="'.$p_url.'" method="post" enctype="multipart/form-data">';
239
240echo '<fieldset><legend>'.__('General').'</legend>';
241
242if ($can_write_images) {
243     echo
244     '<p class="field"><label for="body_bg_c">'.__('Background color:').' '.
245     form::field('body_bg_c',7,7,$blowup_user['body_bg_c'],'colorpicker').'</label></p>'.
246
247     '<p class="field"><label for="body_bg_g">'.__('Background color fill:').' '.
248     form::combo('body_bg_g',$gradient_types,$blowup_user['body_bg_g']).'</label></p>';
249}
250
251echo
252'<p class="field"><label for="body_txt_f">'.__('Main text font:').' '.
253form::combo('body_txt_f',blowupConfig::fontsList(),$blowup_user['body_txt_f']).'</label></p>'.
254
255'<p class="field"><label for="body_txt_s">'.__('Main text font size:').' '.
256form::field('body_txt_s',7,7,$blowup_user['body_txt_s']).'</label></p>'.
257
258'<p class="field"><label for="body_txt_c">'.__('Main text color:').' '.
259form::field('body_txt_c',7,7,$blowup_user['body_txt_c'],'colorpicker').'</label></p>'.
260
261'<p class="field"><label for="body_line_height">'.__('Text line height:').' '.
262form::field('body_line_height',7,7,$blowup_user['body_line_height']).'</label></p>'.
263'</fieldset>'.
264
265'<fieldset><legend>'.__('Links').'</legend>'.
266'<p class="field"><label for="body_link_c">'.__('Links color:').' '.
267form::field('body_link_c',7,7,$blowup_user['body_link_c'],'colorpicker').'</label></p>'.
268
269'<p class="field"><label for="body_link_v_c">'.__('Visited links color:').' '.
270form::field('body_link_v_c',7,7,$blowup_user['body_link_v_c'],'colorpicker').'</label></p>'.
271
272'<p class="field"><label for="body_link_f_c">'.__('Focus links color:').' '.
273form::field('body_link_f_c',7,7,$blowup_user['body_link_f_c'],'colorpicker').'</label></p>'.
274'</fieldset>'.
275
276'<fieldset><legend>'.__('Page top').'</legend>';
277
278if ($can_write_images) {
279     echo
280     '<p class="field"><label for="prelude_c">'.__('Prelude color:').' '.
281     form::field('prelude_c',7,7,$blowup_user['prelude_c'],'colorpicker').'</label></p>';
282}
283
284echo
285'<p class="field"><label for="blog_title_hide">'.__('Hide main title').' '.
286form::checkbox('blog_title_hide',1,$blowup_user['blog_title_hide']).'</label></p>'.
287
288'<p class="field"><label for="blog_title_f">'.__('Main title font:').' '.
289form::combo('blog_title_f',blowupConfig::fontsList(),$blowup_user['blog_title_f']).'</label></p>'.
290
291'<p class="field"><label for="blog_title_s">'.__('Main title font size:').' '.
292form::field('blog_title_s',7,7,$blowup_user['blog_title_s']).'</label></p>'.
293
294'<p class="field"><label for="blog_title_c">'.__('Main title color:').' '.
295form::field('blog_title_c',7,7,$blowup_user['blog_title_c'],'colorpicker').'</label></p>'.
296
297'<p class="field"><label for="blog_title_a">'.__('Main title alignment:').' '.
298form::combo('blog_title_a',array(__('center')=>'center',__('left')=>'left',__('right')=>'right'),$blowup_user['blog_title_a']).'</label></p>'.
299
300'<p class="field"><label for="blog_title_p">'.__('Main title position (x:y)').' '.
301form::field('blog_title_p',7,7,$blowup_user['blog_title_p']).'</label></p>'.
302'</fieldset>';
303
304if ($can_write_images) {
305     if ($blowup_user['top_image'] == 'custom' && $blowup_user['uploaded']) {
306          $preview_image = http::concatURL($core->blog->url,blowupConfig::imagesURL().'/page-t.png');
307     } else {
308          $preview_image = 'index.php?pf=blowupConfig/alpha-img/page-t/'.$blowup_user['top_image'].'.png';
309     }
310
311     echo
312     '<fieldset><legend>'.__('Top image').'</legend>'.
313     '<p class="field"><label for="top_image">'.__('Top image').
314     form::combo('top_image',$top_images,($blowup_user['top_image'] ? $blowup_user['top_image'] : 'default')).'</label></p>'.
315     '<p>'.__('Choose "Custom..." to upload your own image.').'</p>'.
316
317     '<p id="uploader"><label for="upfile">'.__('Add your image:').
318     ' ('.sprintf(__('JPEG or PNG file, 800 pixels wide, maximum size %s'),files::size(DC_MAX_UPLOAD_SIZE)).')'.
319     '<input type="file" name="upfile" id="upfile" size="35" />'.
320     '</label></p>'.
321
322     '<h3>'.__('Preview').'</h3>'.
323     '<div class="grid" style="width:800px;border:1px solid #ccc;">'.
324     '<img style="display:block;" src="'.$preview_image.'" alt="" id="image-preview" />'.
325     '</div>'.
326     '</fieldset>';
327}
328
329echo
330'<fieldset><legend>'.__('Sidebar').'</legend>'.
331'<p class="field"><label for="sidebar_position">'.__('Sidebar position:').' '.
332form::combo('sidebar_position',array(__('right')=>'right',__('left')=>'left'),$blowup_user['sidebar_position']).'</label></p>'.
333
334'<p class="field"><label for="sidebar_text_f">'.__('Sidebar text font:').' '.
335form::combo('sidebar_text_f',blowupConfig::fontsList(),$blowup_user['sidebar_text_f']).'</label></p>'.
336
337'<p class="field"><label for="sidebar_text_s">'.__('Sidebar text font size:').' '.
338form::field('sidebar_text_s',7,7,$blowup_user['sidebar_text_s']).'</label></p>'.
339
340'<p class="field"><label for="sidebar_text_c">'.__('Sidebar text color:').' '.
341form::field('sidebar_text_c',7,7,$blowup_user['sidebar_text_c'],'colorpicker').'</label></p>'.
342
343'<p class="field"><label for="sidebar_title_f">'.__('Sidebar titles font:').' '.
344form::combo('sidebar_title_f',blowupConfig::fontsList(),$blowup_user['sidebar_title_f']).'</label></p>'.
345
346'<p class="field"><label for="sidebar_title_s">'.__('Sidebar titles font size:').' '.
347form::field('sidebar_title_s',7,7,$blowup_user['sidebar_title_s']).'</label></p>'.
348
349'<p class="field"><label for="sidebar_title_c">'.__('Sidebar titles color:').' '.
350form::field('sidebar_title_c',7,7,$blowup_user['sidebar_title_c'],'colorpicker').'</label></p>'.
351
352'<p class="field"><label for="sidebar_title2_f">'.__('Sidebar 2nd level titles font:').' '.
353form::combo('sidebar_title2_f',blowupConfig::fontsList(),$blowup_user['sidebar_title2_f']).'</label></p>'.
354
355'<p class="field"><label for="sidebar_title2_s">'.__('Sidebar 2nd level titles font size:').' '.
356form::field('sidebar_title2_s',7,7,$blowup_user['sidebar_title2_s']).'</label></p>'.
357
358'<p class="field"><label for="sidebar_title2_c">'.__('Sidebar 2nd level titles color:').' '.
359form::field('sidebar_title2_c',7,7,$blowup_user['sidebar_title2_c'],'colorpicker').'</label></p>'.
360
361'<p class="field"><label for="sidebar_line_c">'.__('Sidebar lines color:').' '.
362form::field('sidebar_line_c',7,7,$blowup_user['sidebar_line_c'],'colorpicker').'</label></p>'.
363
364'<p class="field"><label for="sidebar_link_c">'.__('Sidebar links color:').' '.
365form::field('sidebar_link_c',7,7,$blowup_user['sidebar_link_c'],'colorpicker').'</label></p>'.
366
367'<p class="field"><label for="sidebar_link_v_c">'.__('Sidebar visited links color:').' '.
368form::field('sidebar_link_v_c',7,7,$blowup_user['sidebar_link_v_c'],'colorpicker').'</label></p>'.
369
370'<p class="field"><label for="sidebar_link_f_c">'.__('Sidebar focus links color:').' '.
371form::field('sidebar_link_f_c',7,7,$blowup_user['sidebar_link_f_c'],'colorpicker').'</label></p>'.
372'</fieldset>'.
373
374'<fieldset><legend>'.__('Entries').'</legend>'.
375'<p class="field"><label for="date_title_f">'.__('Date title font:').' '.
376form::combo('date_title_f',blowupConfig::fontsList(),$blowup_user['date_title_f']).'</label></p>'.
377
378'<p class="field"><label for="date_title_s">'.__('Date title font size:').' '.
379form::field('date_title_s',7,7,$blowup_user['date_title_s']).'</label></p>'.
380
381'<p class="field"><label for="date_title_c">'.__('Date title color:').' '.
382form::field('date_title_c',7,7,$blowup_user['date_title_c'],'colorpicker').'</label></p>'.
383
384'<p class="field"><label for="post_title_f">'.__('Entry title font:').' '.
385form::combo('post_title_f',blowupConfig::fontsList(),$blowup_user['post_title_f']).'</label></p>'.
386
387'<p class="field"><label for="post_title_s">'.__('Entry title font size:').' '.
388form::field('post_title_s',7,7,$blowup_user['post_title_s']).'</label></p>'.
389
390'<p class="field"><label for="post_title_c">'.__('Entry title color:').' '.
391form::field('post_title_c',7,7,$blowup_user['post_title_c'],'colorpicker').'</label></p>';
392
393if ($can_write_images) {
394     echo
395     '<p class="field"><label for="post_comment_bg_c">'.__('Comment background color:').' '.
396     form::field('post_comment_bg_c',7,7,$blowup_user['post_comment_bg_c'],'colorpicker').'</label></p>';
397}
398
399echo
400'<p class="field"><label for="post_comment_c">'.__('Comment text color:').' '.
401form::field('post_comment_c',7,7,$blowup_user['post_comment_c'],'colorpicker').'</label></p>';
402
403if ($can_write_images) {
404     echo
405     '<p class="field"><label for="post_commentmy_bg_c">'.__('My comment background color:').' '.
406     form::field('post_commentmy_bg_c',7,7,$blowup_user['post_commentmy_bg_c'],'colorpicker').'</label></p>';
407}
408
409echo
410'<p class="field"><label for="post_commentmy_c">'.__('My comment text color:').' '.
411form::field('post_commentmy_c',7,7,$blowup_user['post_commentmy_c'],'colorpicker').'</label></p>'.
412'</fieldset>'.
413
414'<fieldset><legend>'.__('Footer').'</legend>'.
415'<p class="field"><label for="footer_f">'.__('Footer font:').' '.
416form::combo('footer_f',blowupConfig::fontsList(),$blowup_user['footer_f']).'</label></p>'.
417
418'<p class="field"><label for="footer_s">'.__('Footer font size:').' '.
419form::field('footer_s',7,7,$blowup_user['footer_s']).'</label></p>'.
420
421'<p class="field"><label for="footer_c">'.__('Footer color:').' '.
422form::field('footer_c',7,7,$blowup_user['footer_c'],'colorpicker').'</label></p>'.
423
424'<p class="field"><label for="footer_l_c">'.__('Footer links color:').' '.
425form::field('footer_l_c',7,7,$blowup_user['footer_l_c'],'colorpicker').'</label></p>'.
426
427'<p class="field"><label for="footer_bg_c">'.__('Footer background color:').' '.
428form::field('footer_bg_c',7,7,$blowup_user['footer_bg_c'],'colorpicker').'</label></p>'.
429'</fieldset>';
430
431echo
432'<fieldset><legend>'.__('Additional CSS').'</legend>'.
433'<p><label for="extra_css">'.__('Any additional CSS styles (must be written using the CSS syntax):').' '.
434form::textarea('extra_css',72,5,html::escapeHTML($blowup_user['extra_css']),'maximal','',false,'title="'.__('Additional CSS').'"').
435'</label></p>'.
436'</fieldset>';
437
438
439
440// Import / Export configuration
441$tmp_array = array();
442$tmp_exclude = array('uploaded','top_height');
443if ($blowup_user['top_image'] == 'custom') {
444     $tmp_exclude[] = 'top_image';
445}
446foreach ($blowup_user as $k => $v) {
447     if (!in_array($k,$tmp_exclude)) {
448          $tmp_array[] = $k.':'.'"'.$v.'"';
449     }
450}
451echo
452'<h3 id="bu_export">'.__('Configuration import / export').'</h3><fieldset>'.
453'<p>'.__('You can share your configuration using the following code. To apply a configuration, paste the code, click on "Apply code" and save.').'</p>'.
454'<p>'.form::textarea('export_code',72,5,implode('; ',$tmp_array),'maximal','',false,'title="'.__('Copy this code:').'"').'</p>'.
455'</fieldset>';
456
457echo
458'<p class="clear"><input type="submit" value="'.__('Save').'" />'.
459$core->formNonce().'</p>'.
460'</form>';
461
462dcPage::helpBlock('blowupConfig');
463?>
464</body>
465</html>
Note: See TracBrowser for help on using the repository browser.

Sites map