diff -urp /var/www/virtual/testbed/sites/all/modules/print/print.admin.inc ./print.admin.inc
--- /var/www/virtual/testbed/sites/all/modules/print/print.admin.inc	2009-11-12 14:14:29.000000000 +0700
+++ ./print.admin.inc	2009-11-13 13:28:05.000000000 +0700
@@ -192,6 +192,13 @@ function print_html_settings() {
     '#description' => t('Choose the location of the link(s) to the printer-friendly page. The Links area is usually below the node content, whereas the Content corner is placed in the upper-right corner of the node content. Unselect all options to disable the link. Even if the link is disabled, you can still view the print version of a node by going to !path/nid where nid is the numeric id of the node.', array('!path' => PRINT_PATH)),
   );
 
+  $form['settings']['print_html_link_teaser'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Display printer-friendly link in teaser'),
+    '#default_value' => variable_get('print_html_link_teaser',PRINT_HTML_LINK_TEASER_DEFAULT),
+    '#description' => t('Enabling this will display the link in a teaser view.'),
+  );
+
   $form['settings']['adv_link'] = array(
     '#type' => 'fieldset',
     '#title' => t('Advanced link options'),
diff -urp /var/www/virtual/testbed/sites/all/modules/print/print.install ./print.install
--- /var/www/virtual/testbed/sites/all/modules/print/print.install	2009-11-12 14:14:29.000000000 +0700
+++ ./print.install	2009-11-15 15:53:45.000000000 +0700
@@ -41,6 +41,7 @@ function print_uninstall() {
   variable_del('print_sourceurl_forcenode');
   variable_del('print_html_show_link');
   variable_del('print_html_link_pos');
+  variable_del('print_html_link_teaser');
   variable_del('print_html_node_link_visibility');
   variable_del('print_html_node_link_pages');
   variable_del('print_html_link_class');
diff -urp /var/www/virtual/testbed/sites/all/modules/print/print_mail/print_mail.admin.inc ./print_mail/print_mail.admin.inc
--- /var/www/virtual/testbed/sites/all/modules/print/print_mail/print_mail.admin.inc	2009-11-12 14:14:29.000000000 +0700
+++ ./print_mail/print_mail.admin.inc	2009-11-15 14:05:23.000000000 +0700
@@ -30,6 +30,13 @@ function print_mail_settings() {
     '#description' => t('Choose the location of the link(s) to the send by e-mail page. The Links area is usually below the node content, whereas the Content corner is placed in the upper-right corner of the node content. Unselect all options to disable the link. Even if the link is disabled, you can still send a node by e-mail by going to !path/nid where nid is the numeric id of the node.', array('!path' => PRINTMAIL_PATH)),
   );
 
+  $form['settings']['print_mail_link_teaser'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Display send by e-mail link in teaser'),
+    '#default_value' => variable_get('print_mail_link_teaser',PRINT_MAIL_LINK_TEASER_DEFAULT),
+    '#description' => t('Enabling this will display the link in a teaser view.'),
+  );
+
   $form['settings']['adv_link'] = array(
     '#type' => 'fieldset',
     '#title' => t('Advanced link options'),
diff -urp /var/www/virtual/testbed/sites/all/modules/print/print_mail/print_mail.install ./print_mail/print_mail.install
--- /var/www/virtual/testbed/sites/all/modules/print/print_mail/print_mail.install	2009-11-12 14:14:29.000000000 +0700
+++ ./print_mail/print_mail.install	2009-11-15 15:53:08.000000000 +0700
@@ -24,6 +24,7 @@ function print_mail_uninstall() {
   variable_del('print_mail_settings');
   variable_del('print_mail_show_link');
   variable_del('print_mail_link_pos');
+  variable_del('print_mail_link_teaser');
   variable_del('print_mail_node_link_visibility');
   variable_del('print_mail_node_link_pages');
   variable_del('print_mail_link_class');
diff -urp /var/www/virtual/testbed/sites/all/modules/print/print_mail/print_mail.module ./print_mail/print_mail.module
--- /var/www/virtual/testbed/sites/all/modules/print/print_mail/print_mail.module	2009-11-12 14:14:29.000000000 +0700
+++ ./print_mail/print_mail.module	2009-11-15 14:11:32.000000000 +0700
@@ -13,6 +13,7 @@ define('PRINTMAIL_PATH', 'printmail');
 define('PRINT_MAIL_FORMAT', 'mail');
 
 define('PRINT_MAIL_LINK_POS_DEFAULT', 'link');
+define('PRINT_MAIL_LINK_TEASER_DEFAULT', 0);
 define('PRINT_MAIL_SHOW_LINK_DEFAULT', 1);
 define('PRINT_MAIL_NODE_LINK_VISIBILITY_DEFAULT', 0);
 define('PRINT_MAIL_NODE_LINK_PAGES_DEFAULT', '');
@@ -448,8 +449,12 @@ function print_mail_insert_link($path = 
  *   PRINT_ALLOW_BOOK_LINK if a link is allowed in a book node
  */
 function print_mail_link_allowed($args) {
-  if (!empty($args['teaser']) || !user_access('access send to friend')) {
-    // If showing only the teaser or the user is not allowed or link is disabled
+  if (!user_access('access send to friend')) {
+    // If the user is not allowed or link is disabled
+    return FALSE;
+  }
+  if (!empty($args['teaser']) && !variable_get('print_mail_link_teaser', PRINT_MAIL_LINK_TEASER_DEFAULT)) {
+    // If showing the teaser and we're currently configured not to display in teasers
     return FALSE;
   }
   if (!empty($args['path'])) {
diff -urp /var/www/virtual/testbed/sites/all/modules/print/print.module ./print.module
--- /var/www/virtual/testbed/sites/all/modules/print/print.module	2009-11-12 14:14:29.000000000 +0700
+++ ./print.module	2009-11-15 14:06:39.000000000 +0700
@@ -51,6 +51,7 @@ define('PRINT_COMMENTS_DEFAULT', 0);
 define('PRINT_NEWWINDOW_DEFAULT', 1);
 
 define('PRINT_HTML_LINK_POS_DEFAULT', 'link');
+define('PRINT_HTML_LINK_TEASER_DEFAULT', 0);
 define('PRINT_HTML_SHOW_LINK_DEFAULT', 1);
 define('PRINT_HTML_NODE_LINK_VISIBILITY_DEFAULT', 0);
 define('PRINT_HTML_NODE_LINK_PAGES_DEFAULT', '');
@@ -705,10 +706,16 @@ function _print_page_match($visibility, 
  *   PRINT_ALLOW_BOOK_LINK if a link is allowed in a book node
  */
 function print_link_allowed($args) {
-  if (!empty($args['teaser']) || !user_access('access print')) {
-    // If showing only the teaser or the user is not allowed or link is disabled
+  if (!user_access('access print')) {
+    // If the user is not allowed or link is disabled
     return FALSE;
   }
+
+  if (!empty($args['teaser']) && !variable_get('print_mail_link_teaser', PRINT_MAIL_LINK_TEASER_DEFAULT)) {
+    // If showing the teaser and we're currently configured not to display in teasers
+    return FALSE;
+  }
+
   if (!empty($args['path'])) {
     $nid = preg_replace('!^node/!', '', drupal_get_normal_path($args['path']));
     if (is_numeric($nid)) {
diff -urp /var/www/virtual/testbed/sites/all/modules/print/print_pdf/print_pdf.admin.inc ./print_pdf/print_pdf.admin.inc
--- /var/www/virtual/testbed/sites/all/modules/print/print_pdf/print_pdf.admin.inc	2009-11-12 14:14:29.000000000 +0700
+++ ./print_pdf/print_pdf.admin.inc	2009-11-15 15:37:10.000000000 +0700
@@ -42,6 +42,13 @@ function print_pdf_settings() {
       '#description' => t('Choose the location of the link(s) to the PDF version. The Links area is usually below the node content, whereas the Content corner is placed in the upper-right corner of the node content. Unselect all options to disable the link. Even if the link is disabled, you can still view the PDF version of a node by going to !path/nid where nid is the numeric id of the node.', array('!path' => PRINTPDF_PATH)),
     );
 
+    $form['settings']['print_pdf_link_teaser'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Display link to the PDF version in teaser'),
+      '#default_value' => variable_get('print_pdf_link_teaser',PRINT_PDF_LINK_TEASER_DEFAULT),
+      '#description' => t('Enabling this will display the link in a teaser view.'),
+    );
+
     $form['settings']['adv_link'] = array(
       '#type' => 'fieldset',
       '#title' => t('Advanced link options'),
diff -urp /var/www/virtual/testbed/sites/all/modules/print/print_pdf/print_pdf.install ./print_pdf/print_pdf.install
--- /var/www/virtual/testbed/sites/all/modules/print/print_pdf/print_pdf.install	2009-11-12 14:14:29.000000000 +0700
+++ ./print_pdf/print_pdf.install	2009-11-15 17:36:13.000000000 +0700
@@ -24,6 +24,7 @@ function print_pdf_uninstall() {
   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');
@@ -42,6 +43,7 @@ function print_pdf_uninstall() {
   variable_del('print_pdf_wkhtmltopdf_xdisplay');
   variable_del('print_pdf_wkhtmltopdf_options');
   variable_del('print_pdf_xvfb_options');
+  variable_del('print_pdf_autoconfig');
   $settings = db_query("SELECT name FROM {variable} WHERE name LIKE 'print\_pdf\_display\_%'");
   while ($variable = db_fetch_object($settings)) {
     variable_del($variable->name);
diff -urp /var/www/virtual/testbed/sites/all/modules/print/print_pdf/print_pdf.module ./print_pdf/print_pdf.module
--- /var/www/virtual/testbed/sites/all/modules/print/print_pdf/print_pdf.module	2009-11-12 14:14:29.000000000 +0700
+++ ./print_pdf/print_pdf.module	2009-11-15 17:25:58.000000000 +0700
@@ -15,6 +15,7 @@ define('PRINT_PDF_FORMAT', 'pdf');
 define('PRINT_PDF_LIB_PATH', 'sites/all/libraries');
 
 define('PRINT_PDF_LINK_POS_DEFAULT', 'link');
+define('PRINT_PDF_LINK_TEASER_DEFAULT', 0);
 define('PRINT_PDF_SHOW_LINK_DEFAULT', 1);
 define('PRINT_PDF_NODE_LINK_VISIBILITY_DEFAULT', 0);
 define('PRINT_PDF_NODE_LINK_PAGES_DEFAULT', '');
@@ -186,7 +187,7 @@ function print_pdf_link($type, $node = N
     drupal_add_css(drupal_get_path('module', 'print') .'/css/printlinks.css');
     $links = array();
     $format = theme('print_pdf_format_link');
-
+ 
     // Show book link
     if ($allowed_type === PRINT_ALLOW_BOOK_LINK) {
       $links['book_pdf'] = array('href' => PRINTPDF_PATH .'/book/export/html/'. $node->nid,
@@ -461,8 +462,12 @@ function print_pdf_insert_link($path = N
  */
 function print_pdf_link_allowed($args) {
   $print_pdf_pdf_tool = variable_get('print_pdf_pdf_tool', PRINT_PDF_PDF_TOOL_DEFAULT);
-  if (!empty($args['teaser']) || !user_access('access PDF version') || (empty($print_pdf_pdf_tool))) {
-    // If showing only the teaser or the user is not allowed or link is disabled
+  if (!user_access('access PDF version') || (empty($print_pdf_pdf_tool))) {
+    // If the user is not allowed or link is disabled
+    return FALSE;
+  }
+  if (!empty($args['teaser']) && !variable_get('print_pdf_link_teaser', PRINT_PDF_LINK_TEASER_DEFAULT)) {
+    // If showing only the teaser and we're currently configured not to display in teasers
     return FALSE;
   }
   if (!empty($args['path'])) {
Only in .: print_teaser.patch
