source: extensions/Piwecard/admin/admin_configuration.php @ 20202

Last change on this file since 20202 was 20202, checked in by julien1311, 11 years ago

[piwecard] several changes (almost 2.4.a.b4)

  • Property svn:eol-style set to native
File size: 8.7 KB
Line 
1<?php
2if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
3
4global $template, $page;
5 
6$piwecard = get_plugin_data($plugin_id);
7
8if (isset($_POST['submit'])) {
9        $errors = array();
10        $configuration = array();
11
12        $configuration['validity'] = $_POST['ecard_validity_list'];
13        $configuration['validity'] = explode(',', $configuration['validity']);
14       
15    $configuration['validity_default'] = isset($_POST['ecard_validity_default']) ? $_POST['ecard_validity_default'] : null;
16       
17        if ($configuration['validity'][0] == null) {
18                $errors['validity'] = array(
19                                                                        'style_error_text' => 'display: block;',
20                                                                        'style_error_input'     => 'class="ecard_error_input"',
21                );
22        } elseif (!in_array($configuration['validity_default'], $configuration['validity'])) {
23                $configuration['validity_default'] = $configuration['validity'];
24        }
25        $conf_validity = array();
26        foreach ($configuration['validity'] as $validity) {
27                array_push($conf_validity, intval($validity));
28        }
29        $configuration['validity'] = array_unique($conf_validity, SORT_NUMERIC);
30        asort($configuration['validity']);
31       
32        $configuration['validity_choice'] = ((isset($_POST['ecard_validity_choice']) && $_POST['ecard_validity_choice'] == '1') ? true : false);
33    $configuration['sender_copy'] = ((isset($_POST['ecard_sender_copy']) && $_POST['ecard_sender_copy'] == '1') ? true : false);
34        $configuration['image_size'] = $_POST['ecard_image_size'];
35   
36        $configuration['image_border']['display'] = ((isset($_POST['ecard_image_border']) && $_POST['ecard_image_border'] == '1') ? true : false);
37        $configuration['image_border']['style'] = $_POST['ecard_image_border_style'];
38        $configuration['image_border']['width'] = ((isset($_POST['ecard_image_border_width']) && $_POST['ecard_image_border_width'] != '1') ? $_POST['ecard_image_border_width'] : $piwecard->get_default_config_param('ecard_image_border_width'));
39        $configuration['image_border']['color'] = ((isset($_POST['ecard_image_border_color']) && $_POST['ecard_image_border_color'] != '1') ? $_POST['ecard_image_border_color'] : $piwecard->get_default_config_param('ecard_image_border_color'));
40       
41        $configuration['sender_email_change'] = ((isset($_POST['ecard_sender_email_change']) && $_POST['ecard_sender_email_change'] == '1') ? true : false);
42       
43        $ecard_email_format_array = array();
44        foreach($_POST['ecard_email_format'] as $ecard_email_format) {
45                array_push($ecard_email_format_array, $ecard_email_format);
46        }
47        $configuration['email_format_authorized'] = $ecard_email_format_array;
48        $configuration['email_format_default'] = $_POST['ecard_email_format_default'];
49        if (!in_array($configuration['email_format_default'], $configuration['email_format_authorized']))
50                $errors['email_format_default'] = array(
51                                                                                                'style_error_text' => 'display: block;',
52                );
53    $configuration['show_image_infos'] = ((isset($_POST['ecard_show_image_infos']) && $_POST['ecard_show_image_infos'] == '1') ? true : false);
54    $configuration['default_guest_email'] = $_POST['ecard_default_guest_email'];
55        if ($configuration['default_guest_email'] != '' && !$piwecard->is_valid_email($configuration['default_guest_email']))
56                $errors['default_guest_email'] = array(
57                                                                                                'style_error_text'      => 'display: block;',
58                                                                                                'style_error_input'     => 'class="ecard_error_input"',
59                );
60        $configuration['email_subject'] = htmlspecialchars($_POST['ecard_email_subject']);
61        if ($configuration['email_subject'] == '')
62                $errors['email_subject'] = array(
63                                                                                                'style_error_text'      => 'display: block;',
64                                                                                                'style_error_input'     => 'class="ecard_error_input"',
65                );
66        $configuration['email_message']['text'] = htmlspecialchars($_POST['ecard_email_message_text']);
67        if ($configuration['email_message']['text'] == '')
68                $errors['email_message']['text'] = array(
69                                                                                                'style_error_text'      => 'display: block;',
70                                                                                                'style_error_input'     => 'class="ecard_error_input"',
71                );
72        $configuration['email_message']['html'] = stripslashes($_POST['ecard_email_message_html']);
73        if ($configuration['email_message']['html'] == '')
74                $errors['email_message']['html'] = array(
75                                                                                                'style_error_text'      => 'display: block;',
76                                                                                                'style_error_input'     => 'class="ecard_error_input"',
77                );
78       
79        foreach ($configuration as $key => $item) {
80                if (!array_key_exists($key, $errors)) {
81                        $piwecard->config[$key] = $configuration[$key];
82                }
83        }
84        $piwecard->set_config();
85       
86        if (empty($errors)) {
87                array_push($page['infos'], l10n('Information data registered in database'));
88        } else {
89                $template->assign('ecard_errors', $errors);
90                array_push($page['errors'], l10n('piwecard_errors'));
91        }
92}
93
94if (isset($_POST['reset'])) {
95        $piwecard->config['email_subject'] = $piwecard->get_default_config_param('email_subject');
96        $email_message = $piwecard->get_default_config_param('email_message');
97        $piwecard->config['email_message']['text'] = $email_message['text'];
98        $piwecard->config['email_message']['html'] = $email_message['html'];
99       
100        $piwecard->set_config();
101       
102        array_push($page['infos'], l10n('Information data registered in database'));
103}
104
105if (isset($errors['validity'])) {
106        $piwecard->config['validity'] = null;
107        $configuration['validity'] = null;
108}
109$template->assign('ecard_validity_list',((isset($configuration['validity'])) ? $configuration['validity'] : $piwecard->config['validity']));
110
111if (isset($piwecard->config['validity'])) {
112        foreach($piwecard->config['validity'] as $validity) {
113                $template->append('ecard_validity', array(
114                                                                                                'id' => $validity,
115                                                                                                'name' => ($validity == 0) ? l10n('piwecard_nolimit') : $validity.' '.l10n('piwecard_days'),
116                                                                                                'selected' => (($piwecard->config['validity_default'] == $validity) ? 'selected' : ''),
117                                                                                        )
118                );
119        }
120}
121$template->assign('ecard_validity_choice', $piwecard->config['validity_choice'] ? 'checked="checked"' : '');
122
123$derivative_map = array();
124foreach(ImageStdParams::get_defined_type_map() as $params) {
125        $derivative_map[$params->type]['name'] = l10n($params->type);
126        if ($params->type == $piwecard->config['image_size'])
127                $derivative_map[$params->type]['selected'] = 'checked="checked"';
128        else
129                $derivative_map[$params->type]['selected'] = '';
130}
131$template->assign('generate_derivatives_types', $derivative_map);
132
133$template->assign('ecard_image_border', (($piwecard->config['image_border']['display']) ? 'checked="checked"' : ''));
134$template->assign('ecard_image_border_style', array(
135                                                                                                        'solid' => (($piwecard->config['image_border']['style'] == 'solid') ? 'checked="checked"' : ''),
136                                                                                                        'dashed' => (($piwecard->config['image_border']['style'] == 'dashed') ? 'checked="checked"' : ''),
137                                                                                                        'dotted' => (($piwecard->config['image_border']['style'] == 'dotted') ? 'checked="checked"' : ''),
138                                                                                                        'double' => (($piwecard->config['image_border']['style'] == 'double') ? 'checked="checked"' : ''),
139                                                                                                )
140);
141$template->assign('ecard_image_border_width', $piwecard->config['image_border']['width']);
142$template->assign('ecard_image_border_color', $piwecard->config['image_border']['color']);
143
144$template->assign('ecard_sender_copy', $piwecard->config['sender_copy'] ? 'checked="checked"' : '');
145$template->assign('ecard_sender_email_change', $piwecard->config['sender_email_change'] ? 'checked="checked"' : '');
146$email_format_array = array();
147foreach($piwecard->config['email_format'] as $email_format) {
148        array_push($email_format_array, array(
149                                                                                        'id' => $email_format,
150                                                                                        'selected' => (in_array($email_format, $piwecard->config['email_format_authorized']) ? 'checked="checked"' : ''),
151                                                                                        'selected_default' => (($piwecard->config['email_format_default'] == $email_format) ? 'checked="checked"' : ''),
152                                                                                        'language_string' => 'piwecard_email_format_'.$email_format,
153                                                                                )
154        );
155}
156$template->assign('ecard_email_format', $email_format_array);
157$template->assign('ecard_email_format_default', $email_format_array);
158$template->assign('ecard_show_image_infos', $piwecard->config['show_image_infos'] ? 'checked="checked"' : '');
159$template->assign('ecard_default_guest_email', ((isset($configuration['default_guest_email'])) ? $configuration['default_guest_email'] : $piwecard->config['default_guest_email']));
160$template->assign('ecard_email_subject', ((isset($configuration['email_subject'])) ? $configuration['email_subject'] : htmlspecialchars_decode($piwecard->config['email_subject'])));
161$template->assign('ecard_email_message_text', ((isset($configuration['email_message']['text'])) ? $configuration['email_message']['text'] : htmlspecialchars_decode($piwecard->config['email_message']['text'])));
162$template->assign('ecard_email_message_html', ((isset($configuration['email_message']['html'])) ? $configuration['email_message']['html'] : htmlspecialchars_decode($piwecard->config['email_message']['html'])));
163   
164$template->set_filename('plugin_admin_content', dirname(__FILE__) . '/template/admin_configuration.tpl');
165$template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
166?>
Note: See TracBrowser for help on using the repository browser.