source: extensions/ContactForm/maintain.inc.php @ 17483

Revision 17483, 2.0 KB checked in by mistic100, 7 years ago (diff)

entirely rewrite the plugin

  • send mail in html format (configurable to plain)
  • fully configurable email list
  • more...
Line 
1<?php
2if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
3
4define('contact_form_default_config', 
5  serialize(array(
6    'cf_must_initialize' => true,
7    'cf_menu_link' => true,
8    'cf_subject_prefix' => '%gallery_title%',
9    'cf_default_subject' => 'A comment on the site',
10    'cf_allow_guest' => true,
11    'cf_mandatory_mail' => true,
12    'cf_mandatory_name' => true,
13    'cf_redirect_delay' => 5,
14    'cf_mail_type' => 'text/html',
15    'cf_admin_mails' => array(),
16    ))
17  );
18
19
20function plugin_install() 
21{
22  conf_update_param('ContactForm', contact_form_default_config);
23  conf_update_param('ContactForm_before', null);
24  conf_update_param('ContactForm_after', null);
25}
26
27function plugin_activate()
28{
29  global $conf;
30
31  if (!isset($conf['ContactForm']))
32  {
33    plugin_install();
34  }
35  else
36  {
37    $new_conf = unserialize($conf['ContactForm']);
38   
39    // migration 2.4 -> 2.5
40    if (!isset($new_conf['cf_must_initialize']))
41    {
42      $new_conf['cf_must_initialize'] = false;
43      $new_conf['cf_default_subject'] = 'A comment on the site';
44      $new_conf['cf_mail_type'] = 'text/html';
45      unset($new_conf['comment'], $new_conf['cf_redirect_delay']);
46      unset($new_conf['cf_separator'], $new_conf['cf_separator_length']);
47     
48      foreach ($new_conf['cf_admin_mails'] as $email => $data)
49      {
50        $new_conf['cf_admin_mails'][] = array(
51          'email' => $email,
52          'name' => $data['NAME'],
53          'active' => $data['ACTIVE'],
54          );
55        unset($new_conf['cf_admin_mails'][ $email ]);
56      }
57     
58      conf_update_param('ContactForm', serialize($new_conf));
59      conf_update_param('ContactForm_before', stripslashes($conf['persoformtop']));
60      conf_update_param('ContactForm_after', stripslashes($conf['persoformbottom']));
61     
62      pwg_query('DELETE FROM `'. CONFIG_TABLE .'` WHERE param IN("persoformtop", "persoformbottom") LIMIT 2;');
63    }
64  }
65}
66
67function plugin_uninstall() 
68{
69  pwg_query('DELETE FROM `'. CONFIG_TABLE .'` WHERE param LIKE "ContactForm%" LIMIT 3;');
70}
71
72?>
Note: See TracBrowser for help on using the repository browser.