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

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

[piwecard] several improvements

  • Property svn:eol-style set to native
File size: 7.3 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    $configuration['sender_email_change'] = ((isset($_POST['ecard_sender_email_change']) && $_POST['ecard_sender_email_change'] == '1') ? true : false);
36       
37        $ecard_email_format_array = array();
38        foreach($_POST['ecard_email_format'] as $ecard_email_format) {
39                array_push($ecard_email_format_array, $ecard_email_format);
40        }
41        $configuration['email_format_authorized'] = $ecard_email_format_array;
42        $configuration['email_format_default'] = $_POST['ecard_email_format_default'];
43        if (!in_array($configuration['email_format_default'], $configuration['email_format_authorized']))
44                $errors['email_format_default'] = array(
45                                                                                                'style_error_text' => 'display: block;',
46                );
47    $configuration['show_image_infos'] = ((isset($_POST['ecard_show_image_infos']) && $_POST['ecard_show_image_infos'] == '1') ? true : false);
48    $configuration['default_guest_email'] = $_POST['ecard_default_guest_email'];
49        if ($configuration['default_guest_email'] != '' && !$piwecard->is_valid_email($configuration['default_guest_email']))
50                $errors['default_guest_email'] = array(
51                                                                                                'style_error_text'      => 'display: block;',
52                                                                                                'style_error_input'     => 'class="ecard_error_input"',
53                );
54        $configuration['email_subject'] = htmlspecialchars($_POST['ecard_email_subject']);
55        if ($configuration['email_subject'] == '')
56                $errors['email_subject'] = array(
57                                                                                                'style_error_text'      => 'display: block;',
58                                                                                                'style_error_input'     => 'class="ecard_error_input"',
59                );
60        $configuration['email_message']['text'] = htmlspecialchars($_POST['ecard_email_message_text']);
61        if ($configuration['email_message']['text'] == '')
62                $errors['email_message']['text'] = array(
63                                                                                                'style_error_text'      => 'display: block;',
64                                                                                                'style_error_input'     => 'class="ecard_error_input"',
65                );
66        $configuration['email_message']['html'] = stripslashes($_POST['ecard_email_message_html']);
67        if ($configuration['email_message']['html'] == '')
68                $errors['email_message']['html'] = array(
69                                                                                                'style_error_text'      => 'display: block;',
70                                                                                                'style_error_input'     => 'class="ecard_error_input"',
71                );
72       
73        foreach ($configuration as $key => $item) {
74                if (!array_key_exists($key, $errors)) {
75                        $piwecard->config[$key] = $configuration[$key];
76                }
77        }
78        $piwecard->set_config();
79       
80        if (empty($errors)) {
81                array_push($page['infos'], l10n('Information data registered in database'));
82        } else {
83                $template->assign('ecard_errors', $errors);
84                array_push($page['errors'], l10n('piwecard_errors'));
85        }
86}
87
88if (isset($_POST['reset'])) {
89        require(PIWECARD_INSTALL_PATH.'default_values.inc.php');
90       
91        $piwecard->config['email_subject'] = $ecard_default_values['email_subject'];
92        $piwecard->config['email_message']['text'] = $ecard_default_values['email_message']['text'];
93        $piwecard->config['email_message']['html'] = $ecard_default_values['email_message']['html'];
94       
95        $piwecard->set_config();
96       
97        array_push($page['infos'], l10n('Information data registered in database'));
98}
99
100if (isset($errors['validity'])) {
101        $piwecard->config['validity'] = null;
102        $configuration['validity'] = null;
103}
104$template->assign('ecard_validity_list',((isset($configuration['validity'])) ? $configuration['validity'] : $piwecard->config['validity']));
105
106if (isset($piwecard->config['validity'])) {
107        foreach($piwecard->config['validity'] as $validity) {
108                $template->append('ecard_validity', array(
109                                                                                                'id' => $validity,
110                                                                                                'name' => ($validity == 0) ? l10n('piwecard_nolimit') : $validity.' '.l10n('piwecard_days'),
111                                                                                                'selected' => (($piwecard->config['validity_default'] == $validity) ? 'selected' : ''),
112                                                                                        )
113                );
114        }
115}
116$template->assign('ecard_validity_choice', $piwecard->config['validity_choice'] ? 'checked="checked"' : '');
117
118$derivative_map = array();
119foreach(ImageStdParams::get_defined_type_map() as $params) {
120        $derivative_map[$params->type]['name'] = l10n($params->type);
121        if ($params->type == $piwecard->config['image_size'])
122                $derivative_map[$params->type]['selected'] = 'checked="checked"';
123        else
124                $derivative_map[$params->type]['selected'] = '';
125}
126$template->assign('generate_derivatives_types', $derivative_map);
127
128$template->assign('ecard_sender_copy', $piwecard->config['sender_copy'] ? 'checked="checked"' : '');
129$template->assign('ecard_sender_email_change', $piwecard->config['sender_email_change'] ? 'checked="checked"' : '');
130$email_format_array = array();
131foreach($piwecard->config['email_format'] as $email_format) {
132        array_push($email_format_array, array(
133                                                                                        'id' => $email_format,
134                                                                                        'selected' => (in_array($email_format, $piwecard->config['email_format_authorized']) ? 'checked="checked"' : ''),
135                                                                                        'selected_default' => (($piwecard->config['email_format_default'] == $email_format) ? 'checked="checked"' : ''),
136                                                                                        'language_string' => 'piwecard_email_format_'.$email_format,
137                                                                                )
138        );
139}
140$template->assign('ecard_email_format', $email_format_array);
141$template->assign('ecard_email_format_default', $email_format_array);
142$template->assign('ecard_show_image_infos', $piwecard->config['show_image_infos'] ? 'checked="checked"' : '');
143$template->assign('ecard_default_guest_email', ((isset($configuration['default_guest_email'])) ? $configuration['default_guest_email'] : $piwecard->config['default_guest_email']));
144$template->assign('ecard_email_subject', ((isset($configuration['email_subject'])) ? $configuration['email_subject'] : htmlspecialchars_decode($piwecard->config['email_subject'])));
145$template->assign('ecard_email_message_text', ((isset($configuration['email_message']['text'])) ? $configuration['email_message']['text'] : htmlspecialchars_decode($piwecard->config['email_message']['text'])));
146$template->assign('ecard_email_message_html', ((isset($configuration['email_message']['html'])) ? $configuration['email_message']['html'] : htmlspecialchars_decode($piwecard->config['email_message']['html'])));
147   
148$template->set_filename('plugin_admin_content', dirname(__FILE__) . '/template/admin_configuration.tpl');
149$template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
150?>
Note: See TracBrowser for help on using the repository browser.