print_pdf.install in Printer, email and PDF versions 5.4
Same filename and directory in other branches
Install file of the print_pdf module
File
print_pdf/print_pdf.installView source
<?php
/**
* @file
* Install file of the print_pdf module
*
* @ingroup print
*/
/**
* Implementation of hook_install().
*/
function print_pdf_install() {
switch ($GLOBALS['db_type']) {
case 'mysql':
case 'mysqli':
db_query("CREATE TABLE {print_pdf_node_conf} (\n nid int(10) unsigned NOT NULL,\n link tinyint(3) unsigned NOT NULL default '1',\n comments tinyint(3) unsigned NOT NULL default '1',\n url_list tinyint(3) unsigned NOT NULL default '1',\n PRIMARY KEY (nid)\n ) /*!40100 DEFAULT CHARACTER SET UTF8 */ ");
db_query("CREATE TABLE {print_pdf_page_counter} (\n path varchar(128) NOT NULL,\n totalcount bigint(20) unsigned NOT NULL default '0',\n timestamp int(10) unsigned NOT NULL default '0',\n PRIMARY KEY (path)\n ) /*!40100 DEFAULT CHARACTER SET UTF8 */ ");
break;
case 'pgsql':
db_query("CREATE TABLE {print_pdf_node_conf} (\n nid int_unsigned NOT NULL,\n link smallint NOT NULL default '1',\n comments smallint_unsigned NOT NULL default '1',\n url_list smallint_unsigned NOT NULL default '1',\n PRIMARY KEY (nid)\n )");
db_query("CREATE TABLE {print_pdf_page_counter} (\n path varchar(128) NOT NULL,\n totalcount bigint NOT NULL default '0',\n timestamp int_unsigned NOT NULL default '0',\n PRIMARY KEY (path)\n )");
break;
}
// Module weight
db_query("UPDATE {system} SET weight = 2 WHERE name = 'print_pdf'");
}
/**
* Implementation of hook_uninstall().
*/
function print_pdf_uninstall() {
db_query('DROP TABLE {print_pdf_node_conf}');
db_query('DROP TABLE {print_pdf_page_counter}');
variable_del('print_pdf_settings');
variable_del('print_pdf_show_link');
variable_del('print_pdf_link_pos');
variable_del('print_pdf_link_teaser');
variable_del('print_pdf_node_link_visibility');
variable_del('print_pdf_node_link_pages');
variable_del('print_pdf_link_class');
variable_del('print_pdf_sys_link_visibility');
variable_del('print_pdf_sys_link_pages');
variable_del('print_pdf_book_link');
variable_del('print_pdf_pdf_tool');
variable_del('print_pdf_content_disposition');
variable_del('print_pdf_paper_size');
variable_del('print_pdf_page_orientation');
variable_del('print_pdf_font_family');
variable_del('print_pdf_font_size');
variable_del('print_pdf_link_text');
variable_del('print_pdf_link_use_alias');
variable_del('print_pdf_filename');
variable_del('print_pdf_autoconfig');
variable_del('print_pdf_dompdf_unicode');
variable_del('print_pdf_wkhtmltopdf_options');
$settings = db_query("SELECT name FROM {variable} WHERE name LIKE 'print\\_pdf\\_display\\_%'");
while ($variable = db_fetch_object($settings)) {
variable_del($variable->name);
}
}
/**
* Update to version 5.x-4.0
*/
function print_pdf_update_6000() {
global $conf;
$ret = array();
if (isset($conf['print_pdf_settings'])) {
$print_pdf_settings = variable_get('print_pdf_settings', '');
variable_set('print_pdf_link_pos', array(
'link' => $print_pdf_settings['show_link'] ? 'link' : 0,
));
variable_set('print_pdf_show_link', max(1, $print_pdf_settings['show_link']));
variable_set('print_pdf_node_link_visibility', $print_pdf_settings['node_link_visibility']);
variable_set('print_pdf_node_link_pages', $print_pdf_settings['node_link_pages']);
variable_set('print_pdf_link_class', $print_pdf_settings['link_class']);
variable_set('print_pdf_sys_link_visibility', $print_pdf_settings['sys_link_visibility']);
variable_set('print_pdf_sys_link_pages', $print_pdf_settings['sys_link_pages']);
variable_set('print_pdf_book_link', $print_pdf_settings['book_link']);
variable_set('print_pdf_pdf_tool', $print_pdf_settings['pdf_tool']);
variable_set('print_pdf_content_disposition', $print_pdf_settings['content_disposition']);
variable_set('print_pdf_paper_size', $print_pdf_settings['paper_size']);
variable_set('print_pdf_page_orientation', $print_pdf_settings['page_orientation']);
variable_del('print_pdf_settings');
}
return $ret;
}
/**
* Update to version 5.x-4.1
*/
function print_pdf_update_6001() {
$ret = array();
switch ($GLOBALS['db_type']) {
case 'mysql':
case 'mysqli':
db_query("CREATE TABLE {print_pdf_node_conf} (\n nid int(10) unsigned NOT NULL,\n link tinyint(3) unsigned NOT NULL default '1',\n comments tinyint(3) unsigned NOT NULL default '1',\n url_list tinyint(3) unsigned NOT NULL default '1',\n PRIMARY KEY (nid)\n ) /*!40100 DEFAULT CHARACTER SET UTF8 */ ");
db_query("CREATE TABLE {print_pdf_page_counter} (\n path varchar(128) NOT NULL,\n totalcount bigint(20) unsigned NOT NULL default '0',\n timestamp int(10) unsigned NOT NULL default '0',\n PRIMARY KEY (path)\n ) /*!40100 DEFAULT CHARACTER SET UTF8 */ ");
break;
case 'pgsql':
db_query("CREATE TABLE {print_pdf_node_conf} (\n nid int_unsigned NOT NULL,\n link smallint NOT NULL default '1',\n comments smallint_unsigned NOT NULL default '1',\n url_list smallint_unsigned NOT NULL default '1',\n PRIMARY KEY (nid)\n )");
db_query("CREATE TABLE {print_pdf_page_counter} (\n path varchar(128) NOT NULL,\n totalcount bigint NOT NULL default '0',\n timestamp int_unsigned NOT NULL default '0',\n PRIMARY KEY (path)\n )");
break;
}
return $ret;
}
/**
* Update to version 5.x-4.2
*/
function print_pdf_update_6003() {
// Delete custom text strings set to the default
$ret = array();
$vars = array(
'print_pdf_link_text' => 'PDF version',
);
$t = get_t();
foreach ($vars as $name => $default) {
if (variable_get($name, '') == $t($default)) {
variable_del($name);
}
}
menu_rebuild();
return $ret;
}
/**
* Update to version 5.x-4.8
*/
function print_pdf_update_6004() {
// add new 'access PDF version' permission to any role which has 'access print'
$ret = array();
$dbret = db_query('SELECT * FROM {permission}');
while ($role = db_fetch_object($dbret)) {
if (strpos($role->perm, 'access print') !== FALSE) {
$role->perm = db_escape_string('access PDF version, ' . $role->perm);
$ret[] = update_sql("UPDATE {permission} SET perm = '{$role->perm}' WHERE rid = {$role->rid}");
}
}
return $ret;
}
/**
* Update to version 5.x-4.10
*/
function print_pdf_update_6006() {
$ret = array();
variable_del('print_pdf_wkhtmltopdf_xdisplay');
variable_del('print_pdf_xvfb_options');
// Module weight
$ret[] = update_sql("UPDATE {system} SET weight = 2 WHERE name = 'print_pdf'");
return $ret;
}
/**
* Update to version 5.x-4.10
*/
function print_pdf_update_6007() {
$ret = array();
foreach (node_get_types() as $key => $value) {
$print_pdf_display = variable_get('print_pdf_display_' . $value->type, 1);
$print_pdf_display_comment = variable_get('print_pdf_display_comment_' . $value->type, 0);
$print_pdf_display_urllist = variable_get('print_pdf_display_urllist_' . $value->type, 1);
if (!$print_pdf_display || $print_pdf_display_comment || !$print_pdf_display_urllist) {
$result = db_query("SELECT n.nid, link, comments, url_list from {node} AS n LEFT JOIN {print_pdf_node_conf} AS pnc ON n.nid = pnc.nid WHERE type = '%s'", $value->type);
while ($conf = db_fetch_object($result)) {
if ($conf->link != NULL && $conf->comments != NULL && $conf->url_list != NULL) {
$conf->link = !$print_pdf_display ? 0 : $conf->link;
$conf->comments = $print_pdf_display_comment ? 1 : $conf->comments;
$conf->url_list = !$print_pdf_display_urllist ? 0 : $conf->url_list;
$ret[] = update_sql("UPDATE {print_pdf_node_conf} SET link = {$conf->link}, comments = {$conf->comments}, url_list = {$conf->url_list} WHERE nid = {$conf->nid}");
}
else {
$ret[] = update_sql("INSERT INTO {print_pdf_node_conf} (nid, link, comments, url_list) VALUES ({$conf->nid}, {$print_pdf_display}, {$print_pdf_display_comment}, {$print_pdf_display_urllist})");
}
}
}
}
return $ret;
}
Functions
Name | Description |
---|---|
print_pdf_install | Implementation of hook_install(). |
print_pdf_uninstall | Implementation of hook_uninstall(). |
print_pdf_update_6000 | Update to version 5.x-4.0 |
print_pdf_update_6001 | Update to version 5.x-4.1 |
print_pdf_update_6003 | Update to version 5.x-4.2 |
print_pdf_update_6004 | Update to version 5.x-4.8 |
print_pdf_update_6006 | Update to version 5.x-4.10 |
print_pdf_update_6007 | Update to version 5.x-4.10 |