Strict type check prevents old config files from breaking everything (per new changes...
[squirrelmail.git] / functions / attachment_common.php
index 8a7db6346157eb122b188faa5cb5a6fdd9c6347b..e8bee5b7e562142bc21259a191fad7fb22083ec0 100644 (file)
@@ -5,25 +5,15 @@
  *
  * This file provides the handling of often-used attachment types.
  *
- * @copyright © 1999-2005 The SquirrelMail Project Team
+ * @copyright © 1999-2006 The SquirrelMail Project Team
  * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  * @version $Id$
  * @package squirrelmail
  * @todo document attachment $type hook arguments
  */
 
-/** @ignore */
-if (! defined('SM_PATH')) define('SM_PATH','../');
-
-/** sqgetGlobalVar() */
-include_once(SM_PATH . 'functions/global.php');
-/** sqm_baseuri() */
-include_once(SM_PATH . 'functions/display_messages.php');
-
-global $attachment_common_show_images_list;
 $attachment_common_show_images_list = array();
 
-global $FileExtensionToMimeType, $attachment_common_types;
 /**
  * Mapping of file extensions to mime types
  *
@@ -36,6 +26,7 @@ $FileExtensionToMimeType = array('bmp'  => 'image/x-bitmap',
                                  'gif'  => 'image/gif',
                                  'htm'  => 'text/html',
                                  'html' => 'text/html',
+                                 'jpe'  => 'image/jpeg',
                                  'jpg'  => 'image/jpeg',
                                  'jpeg' => 'image/jpeg',
                                  'php'  => 'text/plain',
@@ -56,12 +47,12 @@ if (isset($attachment_common_types)) {
     foreach ($attachment_common_types as $val => $v) {
         if ($val == 'image/gif')
             register_attachment_common('image/gif',       'link_image');
-        elseif (($val == 'image/jpeg' || $val == 'image/pjpeg') and
+        elseif (($val == 'image/jpeg' || $val == 'image/pjpeg' || $val == 'image/jpg') and
                 (!isset($jpeg_done))) {
             $jpeg_done = 1;
+            register_attachment_common('image/jpg',       'link_image');
             register_attachment_common('image/jpeg',      'link_image');
             register_attachment_common('image/pjpeg',     'link_image');
-            // register_attachment_common('image/jpg',       'link_image');
         }
         elseif ($val == 'image/png')
             register_attachment_common('image/png',       'link_image');
@@ -69,14 +60,14 @@ if (isset($attachment_common_types)) {
             register_attachment_common('image/x-xbitmap', 'link_image');
         elseif ($val == '*/*' || $val == 'image/*') {
             /**
-             * browser (Firefox) declared that anything is acceptable. 
+             * browser (Firefox) declared that anything is acceptable.
              * Lets register some common image types.
              */
             if (! isset($jpeg_done)) {
                 $jpeg_done = 1;
+                register_attachment_common('image/jpg',   'link_image');
                 register_attachment_common('image/jpeg',  'link_image');
                 register_attachment_common('image/pjpeg', 'link_image');
-                // register_attachment_common('image/jpg',       'link_image');
             }
             register_attachment_common('image/gif',       'link_image');
             register_attachment_common('image/png',       'link_image');
@@ -130,6 +121,7 @@ function register_attachment_common($type, $func) {
  * @since 1.2.0
  */
 function attachment_common_link_text(&$Args) {
+    global $base_uri;
     /* If there is a text attachment, we would like to create a "View" button
        that links to the text attachment viewer.
 
@@ -143,7 +135,7 @@ function attachment_common_link_text(&$Args) {
     sqgetGlobalVar('QUERY_STRING', $QUERY_STRING, SQ_SERVER);
 
     // if htmlspecialchars() breaks something - find other way to encode & in url.
-    $Args[1]['attachment_common']['href'] = sqm_baseuri() . 'src/view_text.php?'. htmlspecialchars($QUERY_STRING);
+    $Args[1]['attachment_common']['href'] = $base_uri  . 'src/view_text.php?'. htmlspecialchars($QUERY_STRING);
     $Args[1]['attachment_common']['href'] =
           set_url_var($Args[1]['attachment_common']['href'],
           'ent_id',$Args[5]);
@@ -168,7 +160,8 @@ function attachment_common_link_text(&$Args) {
  * @since 1.2.6
  */
 function attachment_common_link_message(&$Args) {
-    $Args[1]['attachment_common']['href'] = sqm_baseuri() . 'src/read_body.php?startMessage=' .
+    global $base_uri;
+    $Args[1]['attachment_common']['href'] = $base_uri  . 'src/read_body.php?startMessage=' .
         $Args[2] . '&passed_id=' . $Args[3] . '&mailbox=' . $Args[4] .
         '&passed_ent_id=' . $Args[5] . '&override_type0=message&override_type1=rfc822';
 
@@ -183,9 +176,10 @@ function attachment_common_link_message(&$Args) {
  * @since 1.2.0
  */
 function attachment_common_link_html(&$Args) {
+    global $base_uri;
     sqgetGlobalVar('QUERY_STRING', $QUERY_STRING, SQ_SERVER);
 
-    $Args[1]['attachment_common']['href'] = sqm_baseuri() . 'src/view_text.php?'. htmlspecialchars($QUERY_STRING).
+    $Args[1]['attachment_common']['href'] = $base_uri  . 'src/view_text.php?'. htmlspecialchars($QUERY_STRING).
         /* why use the overridetype? can this be removed */
         /* override_type might be needed only when we want view other type of messages as html */
        '&override_type0=text&override_type1=html';
@@ -204,17 +198,19 @@ function attachment_common_link_html(&$Args) {
  * @since 1.2.0
  */
 function attachment_common_link_image(&$Args) {
-    global $attachment_common_show_images_list;
+    global $attachment_common_show_images_list, $base_uri ;
 
     sqgetGlobalVar('QUERY_STRING', $QUERY_STRING, SQ_SERVER);
 
     $info['passed_id'] = $Args[3];
     $info['mailbox'] = $Args[4];
     $info['ent_id'] = $Args[5];
-
+    $info['name'] = $Args[7];
+    $info['download_href'] = isset($Args[1]['download link']) ? $Args[1]['download link']['href'] : '';
+    
     $attachment_common_show_images_list[] = $info;
 
-    $Args[1]['attachment_common']['href'] = sqm_baseuri() . 'src/image.php?'. htmlspecialchars($QUERY_STRING);
+    $Args[1]['attachment_common']['href'] = $base_uri  . 'src/image.php?'. htmlspecialchars($QUERY_STRING);
     $Args[1]['attachment_common']['href'] =
           set_url_var($Args[1]['attachment_common']['href'],
           'ent_id',$Args[5]);
@@ -230,9 +226,10 @@ function attachment_common_link_image(&$Args) {
  * @since 1.2.0
  */
 function attachment_common_link_vcard(&$Args) {
+    global $base_uri;
     sqgetGlobalVar('QUERY_STRING', $QUERY_STRING, SQ_SERVER);
 
-    $Args[1]['attachment_common']['href'] = sqm_baseuri() . 'src/vcard.php?'. htmlspecialchars($QUERY_STRING);
+    $Args[1]['attachment_common']['href'] = $base_uri  . 'src/vcard.php?'. htmlspecialchars($QUERY_STRING);
     $Args[1]['attachment_common']['href'] =
           set_url_var($Args[1]['attachment_common']['href'],
           'ent_id',$Args[5]);
@@ -268,5 +265,3 @@ function attachment_common_octet_stream(&$Args) {
         $Args[$a] = $b;
     }
 }
-
-?>
\ No newline at end of file