source: extensions/Piwecard/admin/admin_management.php @ 20229

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

[piwecard] Add a border image preview. Minor fixes

  • Property svn:eol-style set to native
File size: 4.5 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
8$query = 'SELECT DISTINCT ecard_id, sender_name, sender_email, title, message, image, date_creation, date_validity FROM '.PIWECARD_TABLE;
9       
10if (isset($_POST['ecard_form_filter_submit'])) {
11        switch ($_POST['ecard_status']) {
12                case 'valid':
13                        $query .= ' WHERE date_validity >= NOW() OR date_validity IS NULL';
14                        break;
15                case 'invalid':
16                        $query .= ' WHERE date_validity < NOW() AND date_validity IS NOT NULL';
17                        break;
18                default:
19                        break;
20        }
21       
22        switch ($_POST['ecard_sort_by']) {
23                case 'date':
24                        $query .= ' ORDER BY date_creation';
25                        break;
26                case 'title':
27                        $query .= ' ORDER BY title';
28                        break;
29                case 'sender':
30                        $query .= ' ORDER BY sender_name';
31                        break;
32                case 'recipient':
33                        $query .= ' ORDER BY recipient_name';
34                        break;
35                case 'validity':
36                        $query .= ' ORDER BY date_validity';
37                        break;
38                default:
39                        $query .= ' ORDER BY date_creation';
40                        break;
41        }
42       
43        switch ($_POST['ecard_sort_order']) {
44                case 'asc':
45                        $query .= ' ASC';
46                        break;
47                case 'desc':
48                        $query .= ' DESC';
49                        break;
50                default:
51                        $query .= ' ASC';
52                        break;
53        }
54        $template->assign('ecard_filter', array(
55                                                                                        'status' => $_POST['ecard_status'],
56                                                                                        'sort_by' => $_POST['ecard_sort_by'],
57                                                                                        'sort_order' => $_POST['ecard_sort_order'],
58                                                                                )
59        );
60       
61        if (intval($_POST['ecard_nb_ecard_page']) == 0)
62                $piwecard->config['nb_ecard_page'] = 1;
63        else
64                $piwecard->config['nb_ecard_page'] = intval($_POST['ecard_nb_ecard_page']);
65        $piwecard->set_config();
66}
67
68if (isset($_POST['delete_selected_submit'])) {
69        if (isset($_POST['ecard_to_delete_sure']) && $_POST['ecard_to_delete_sure'] == '1') {
70                if (isset($_POST['ecard_to_delete'])) {
71                        foreach ($_POST['ecard_to_delete'] as $ecard_id) {
72                                $piwecard->delete_ecard($ecard_id);
73                        }
74                        array_push($page['infos'], l10n('piwecard_deleted'));
75                }
76                if (isset($_POST['ecard_delete_invalid']) && $_POST['ecard_delete_invalid'] == '1') {
77                        $piwecard->delete_allinvalid_ecard();
78                        array_push($page['infos'], l10n('piwecard_invalid_deleted'));
79                }
80        } else {
81                array_push($page['errors'], l10n('You need to confirm deletion'));
82        }
83}
84
85$start =  (isset($_GET['start']) ? $_GET['start'] : 0);
86if ($start != 0 AND $piwecard->get_nb_ecard() <= $piwecard->config['nb_ecard_page'])
87        $start = 0;
88
89//Create the navigation bar (for more than 1 page)
90$management_url = PIWECARD_ADMIN.'-management';
91$ecard_navbar = array();
92$ecard_navbar = create_navigation_bar($management_url, $piwecard->get_nb_ecard(), $start, $piwecard->config['nb_ecard_page']);
93
94//DB Query
95if (strpos($query, 'ORDER BY') === FALSE) {
96        $query .= ' ORDER by date_creation ASC';
97}
98
99$query .= ' LIMIT '.$start.','.$piwecard->config['nb_ecard_page'].';';
100$result = pwg_query($query);
101
102while($file = pwg_db_fetch_assoc($result)) {
103        //Recipients
104        $recipients = array();
105        $query2 = 'SELECT recipient_name, recipient_email FROM piwigo_piwecard WHERE ecard_id="'.$file['ecard_id'].'";';
106        $result2 = pwg_query($query2);
107       
108        while($row = pwg_db_fetch_assoc($result2)) {
109                array_push($recipients, array(
110                                                                        'name' => $row['recipient_name'],
111                                                                        'email' => $row['recipient_email'],
112                                                                )
113                );
114        }
115       
116        $ecard_url = embellish_url(get_absolute_root_url() . './index.php?/ecard/'.$file['ecard_id']);
117
118        // Check if the ecard is valid
119        $valid = $piwecard->is_valid($file['ecard_id']);
120
121        $template->append('ecard_file',array(
122                                                                        'id'                            => $file['ecard_id'],
123                                                                        'title'                         => $file['title'],
124                                                                        'url'                           => $ecard_url,
125                                                                        'sender_name'           => $file['sender_name'],
126                                                                        'sender_email'          => $file['sender_email'],
127                                                                        'recipients'            => $recipients,
128                                                                        'date_creation'         => strftime('%d/%m/%y %H:%M', strtotime($file['date_creation'])),
129                                                                        'date_validity'         => (isset($file['date_validity'])) ? strftime('%d/%m/%y %H:%M', strtotime($file['date_validity'])) : l10n('piwecard_nolimit'),
130                                                                        'valid'                         => $valid,
131        ));
132}
133
134$nb_ecard_valid_total = str_replace(array('%nb_valid%', '%nb_total%'), array($piwecard->get_nb_valid_ecard(), $piwecard->get_nb_ecard()), l10n('piwecard_nb_ecard_valid_total'));
135
136$template->assign('nb_ecard_valid_total', $nb_ecard_valid_total);
137$template->assign('ecard_nb_ecard_page', $piwecard->config['nb_ecard_page']);
138$template->assign('navbar', $ecard_navbar);
139
140$template->set_filename('plugin_admin_management', dirname(__FILE__) . '/template/admin_management.tpl');
141$template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_management');
142?>
Note: See TracBrowser for help on using the repository browser.