print.install 4.04 KB
Newer Older
jcnventura's avatar
jcnventura committed
1 2 3
<?php
// $Id$

jcnventura's avatar
jcnventura committed
4 5 6 7 8
/**
 * @file
 * Install file of the print module
 */

jcnventura's avatar
jcnventura committed
9 10 11 12
/**
 * Implementation of hook_install().
 */
function print_install() {
jcnventura's avatar
jcnventura committed
13 14
  drupal_install_schema('print');

15 16
  $t = get_t();
  drupal_set_message($t('Printer-friendly Page settings are available under !link',
jcnventura's avatar
jcnventura committed
17
    array( '!link' => l($t('Administer > Site configuration > Printer-friendly Pages'),  'admin/settings/print' ) )
jcnventura's avatar
jcnventura committed
18 19 20
  ));
}

jcnventura's avatar
jcnventura committed
21 22 23 24
/**
 * Implementation of hook_uninstall().
 */
function print_uninstall() {
jcnventura's avatar
jcnventura committed
25 26
  drupal_uninstall_schema('print');

jcnventura's avatar
jcnventura committed
27 28 29 30
  variable_del('print_settings');
  variable_del('print_sourceurl_settings');
  variable_del('print_html_settings');
  variable_del('print_robot_settings');
31
  variable_del('print_logo_url');
32
  variable_del('print_logo_options');
33 34 35 36 37 38 39 40
  variable_del('print_css');
  variable_del('print_urls');
  variable_del('print_comments');
  variable_del('print_newwindow');
  variable_del('print_sourceurl_enabled');
  variable_del('print_sourceurl_date');
  variable_del('print_sourceurl_forcenode');
  variable_del('print_html_show_link');
41
  variable_del('print_html_link_pos');
42 43 44 45 46 47 48 49 50 51 52
  variable_del('print_html_node_link_visibility');
  variable_del('print_html_node_link_pages');
  variable_del('print_html_link_class');
  variable_del('print_html_sys_link_visibility');
  variable_del('print_html_sys_link_pages');
  variable_del('print_html_book_link');
  variable_del('print_html_new_window');
  variable_del('print_html_sendtoprinter');
  variable_del('print_robots_noindex');
  variable_del('print_robots_nofollow');
  variable_del('print_robots_noarchive');
jcnventura's avatar
jcnventura committed
53 54 55 56 57 58 59 60 61 62
  variable_del('print_footer_options');
  variable_del('print_footer_user');
  variable_del('print_html_link_text');
  variable_del('print_html_link_use_alias');
  variable_del('print_text_by');
  variable_del('print_text_created');
  variable_del('print_text_links');
  variable_del('print_text_published');
  variable_del('print_text_retrieved');
  variable_del('print_text_source_url');
jcnventura's avatar
jcnventura committed
63
  $settings = db_query("SELECT name FROM {variable} WHERE name LIKE 'print\_display\_%'");
jcnventura's avatar
jcnventura committed
64
  foreach ($settings as $variable) {
jcnventura's avatar
jcnventura committed
65 66 67
    variable_del($variable->name);
  }
}
68 69

/**
jcnventura's avatar
jcnventura committed
70
 * Implementation of hook_schema().
71
 */
jcnventura's avatar
jcnventura committed
72 73 74 75 76 77 78 79 80 81 82 83
function print_schema() {
  $schema['print_node_conf'] = array(
    'fields' => array(
      'nid' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
      ),
      'link' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
jcnventura's avatar
jcnventura committed
84
        'default' => 1,
jcnventura's avatar
jcnventura committed
85 86 87 88 89 90
        'size' => 'tiny',
      ),
      'comments' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
jcnventura's avatar
jcnventura committed
91
        'default' => 1,
jcnventura's avatar
jcnventura committed
92 93 94 95 96 97
        'size' => 'tiny',
      ),
      'url_list' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
jcnventura's avatar
jcnventura committed
98
        'default' => 1,
jcnventura's avatar
jcnventura committed
99 100 101 102 103
        'size' => 'tiny',
      ),
    ),
    'primary key' => array('nid'),
  );
104

jcnventura's avatar
jcnventura committed
105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
  $schema['print_page_counter'] = array(
    'fields' => array(
      'path' => array(
        'type' => 'varchar',
        'length' => 128,
        'not null' => TRUE,
      ),
      'totalcount' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
        'size' => 'big',
      ),
      'timestamp' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
      ),
    ),
    'primary key' => array('path'),
  );
jcnventura's avatar
jcnventura committed
128

jcnventura's avatar
jcnventura committed
129
  return $schema;
jcnventura's avatar
jcnventura committed
130
}
131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150

/**
 * Update to version 6.x-1.2
 */
function print_update_6003() {
  // Delete custom text strings set to the default
  $ret = array();
  $vars = array(
    'print_html_link_text' => 'Printer-friendly version',
    'print_text_published' => 'Published on %site_name',
    'print_text_by' => 'By %author',
    'print_text_created' => 'Created %date',
    'print_text_source_url' => 'Source URL',
    'print_text_retrieved' => 'retrieved on %date',
    'print_text_links' => 'Links',
  );

  $t = get_t();

  foreach ($vars as $name => $default) {
jcnventura's avatar
jcnventura committed
151
    if (variable_get($name, '') == $t($default)) {
152 153 154 155 156 157 158
      variable_del($name);
    }
  }

  menu_rebuild();
  return $ret;
}