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

Last change on this file since 24973 was 24973, checked in by plg, 10 years ago

bug fixed: replace hard coded table name

  • Property svn:eol-style set to native
File size: 5.1 KB
RevLine 
[8771]1<?php
2if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
3
4global $template, $page;
5
[20010]6$piwecard = get_plugin_data($plugin_id);
[19926]7
[20202]8$query = 'SELECT DISTINCT ecard_id, sender_name, sender_email, title, message, image, date_creation, date_validity FROM '.PIWECARD_TABLE;
[20112]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       
[20047]61        if (intval($_POST['ecard_nb_ecard_page']) == 0)
[20088]62                $piwecard->config['nb_ecard_page'] = 1;
[20047]63        else
[20088]64                $piwecard->config['nb_ecard_page'] = intval($_POST['ecard_nb_ecard_page']);
[20032]65        $piwecard->set_config();
[20013]66}
67
[20032]68if (isset($_POST['delete_selected_submit'])) {
[20047]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'));
[20032]75                }
[20047]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 {
[20080]81                array_push($page['errors'], l10n('You need to confirm deletion'));
[20032]82        }
83}
84
[20260]85$start =  (isset($_GET['start']) ? intval($_GET['start']) : 0);
86if ($start > $piwecard->get_nb_ecard())
87        $start = 0;
[20229]88if ($start != 0 AND $piwecard->get_nb_ecard() <= $piwecard->config['nb_ecard_page'])
[19926]89        $start = 0;
[20260]90       
[19926]91//Create the navigation bar (for more than 1 page)
[20059]92$management_url = PIWECARD_ADMIN.'-management';
[8771]93$ecard_navbar = array();
[20088]94$ecard_navbar = create_navigation_bar($management_url, $piwecard->get_nb_ecard(), $start, $piwecard->config['nb_ecard_page']);
[8771]95
[20112]96//DB Query
97if (strpos($query, 'ORDER BY') === FALSE) {
98        $query .= ' ORDER by date_creation ASC';
99}
100
101$query .= ' LIMIT '.$start.','.$piwecard->config['nb_ecard_page'].';';
[8771]102$result = pwg_query($query);
103
[19968]104while($file = pwg_db_fetch_assoc($result)) {
[20202]105        //Recipients
106        $recipients = array();
[24973]107        $query2 = 'SELECT recipient_name, recipient_email FROM '.PIWECARD_TABLE.' WHERE ecard_id="'.$file['ecard_id'].'";';
[20202]108        $result2 = pwg_query($query2);
109       
110        while($row = pwg_db_fetch_assoc($result2)) {
111                array_push($recipients, array(
112                                                                        'name' => $row['recipient_name'],
113                                                                        'email' => $row['recipient_email'],
114                                                                )
115                );
116        }
117       
118        $ecard_url = embellish_url(get_absolute_root_url() . './index.php?/ecard/'.$file['ecard_id']);
[8771]119
120        // Check if the ecard is valid
[20202]121        $valid = $piwecard->is_valid($file['ecard_id']);
[8771]122
[19926]123        $template->append('ecard_file',array(
[20202]124                                                                        'id'                            => $file['ecard_id'],
[20059]125                                                                        'title'                         => $file['title'],
[19956]126                                                                        'url'                           => $ecard_url,
127                                                                        'sender_name'           => $file['sender_name'],
128                                                                        'sender_email'          => $file['sender_email'],
[20202]129                                                                        'recipients'            => $recipients,
[19956]130                                                                        'date_creation'         => strftime('%d/%m/%y %H:%M', strtotime($file['date_creation'])),
[20047]131                                                                        'date_validity'         => (isset($file['date_validity'])) ? strftime('%d/%m/%y %H:%M', strtotime($file['date_validity'])) : l10n('piwecard_nolimit'),
[19956]132                                                                        'valid'                         => $valid,
[19926]133        ));
[8771]134}
135
[20292]136$nb_ecards_valid_total = sprintf(l10n('piwecard_nb_ecard_valid_total'), $piwecard->get_nb_valid_ecard(), $piwecard->get_nb_ecard());
[20047]137
[20284]138$query = 'SELECT COUNT(DISTINCT sender_email) AS nb_senders, COUNT(DISTINCT recipient_email) AS nb_recipients FROM '.PIWECARD_TABLE.' ORDER BY date_creation;';
139$result = pwg_db_fetch_assoc(pwg_query($query));
140$nb_distinct_senders_total = (empty($result['nb_senders']) ? 0 : $result['nb_senders']);
141$nb_distinct_recipients_total = (empty($result['nb_recipients']) ? 0 : $result['nb_recipients']);
142
[20292]143$nb_distinct_senders_recipients_total = sprintf(l10n('piwecard_nb_sender_recipient_total'), $nb_distinct_senders_total, $nb_distinct_recipients_total);
[20284]144
145$template->assign('nb_ecards_valid_total', $nb_ecards_valid_total);
146$template->assign('nb_distinct_senders_recipients_total', $nb_distinct_senders_recipients_total);
[20088]147$template->assign('ecard_nb_ecard_page', $piwecard->config['nb_ecard_page']);
[20080]148$template->assign('navbar', $ecard_navbar);
[8771]149
[20032]150$template->set_filename('plugin_admin_management', dirname(__FILE__) . '/template/admin_management.tpl');
151$template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_management');
[8771]152?>
Note: See TracBrowser for help on using the repository browser.