Refactor image template code
authorpdontthink <pdontthink@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Sun, 31 Dec 2006 04:39:00 +0000 (04:39 +0000)
committerpdontthink <pdontthink@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Sun, 31 Dec 2006 04:39:00 +0000 (04:39 +0000)
git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@12030 7612ce4b-ef26-0410-bec9-ea0150e637f0

functions/html.php
functions/template/general_util.php
src/login.php

index 99e1e35..3ce05b3 100644 (file)
@@ -50,6 +50,61 @@ function create_hyperlink($uri, $text, $target='', $onclick='', $class='', $id='
 
 
 /**
+ * Generates an image tag
+ *
+ * @param string $src     The image source path
+ * @param string $alt     Alternate link text (OPTIONAL; default 
+ *                        not used)
+ * @param string $width   The width the image should be shown in 
+ *                        (OPTIONAL; default not used)
+ * @param string $height  The height the image should be shown in 
+ *                        (OPTIONAL; default not used)
+ * @param string $border  The image's border attribute value 
+ *                        (OPTIONAL; default not used)
+ * @param string $class   The CSS class name (OPTIONAL; default
+ *                        not used)
+ * @param string $id      The ID name (OPTIONAL; default not used)
+ * @param string $onclick The onClick JavaScript handler (OPTIONAL;
+ *                        default not used)
+ * @param string $title   The image's title attribute value 
+ *                        (OPTIONAL; default not used)
+ * @param string $align   The image's alignment attribute value 
+ *                        (OPTIONAL; default not used)
+ * @param string $hspace  The image's hspace attribute value 
+ *                        (OPTIONAL; default not used)
+ * @param string $vspace  The image's vspace attribute value 
+ *                        (OPTIONAL; default not used)
+ *
+ * @return string The desired hyperlink tag.
+ *
+ * @since 1.5.2
+ *
+ */
+function create_image($src, $alt='', $width='', $height='', 
+                      $border='', $class='', $id='', $onclick='', 
+                      $title='', $align='', $hspace='', $vspace='') {
+
+    global $oTemplate;
+
+    $oTemplate->assign('src', $src);
+    $oTemplate->assign('alt', $alt);
+    $oTemplate->assign('width', $width);
+    $oTemplate->assign('height', $height);
+    $oTemplate->assign('border', $border);
+    $oTemplate->assign('class', $class);
+    $oTemplate->assign('id', $id);
+    $oTemplate->assign('onclick', $onclick);
+    $oTemplate->assign('title', $title);
+    $oTemplate->assign('align', $align);
+    $oTemplate->assign('hspace', $hspace);
+    $oTemplate->assign('vspace', $vspace);
+
+    return $oTemplate->fetch('image.tpl');
+
+}
+
+
+/**
  * Generates html tags
  *
  * @param string $tag Tag to output
index bb320a2..48db0e6 100644 (file)
@@ -86,9 +86,12 @@ $xhtml_end='';
  * @param string $alt_text Optional.  Text for alt/title attribute of image
  * @param integer $w Optional.  Width of requested image.
  * @param integer $h Optional.  Height of requested image.
+ *
  * @return string $icon String containing icon that can be echo'ed
+ *
  * @author Steve Brown
  * @since 1.5.2
+ *
  */
 function getIcon($icon_theme_path, $icon_name, $text_icon, $alt_text='', $w=NULL, $h=NULL) {
     $icon = '';
@@ -100,27 +103,7 @@ function getIcon($icon_theme_path, $icon_name, $text_icon, $alt_text='', $w=NULL
         // If we found an icon, build an img tag to display it.  If we didn't
         // find an image, we will revert back to the text icon.
         if (!is_null($icon_path)) {
-            global $oTemplate;
-            $oTemplate->assign('src', $icon_path);
-            $oTemplate->assign('alt', $alt_text);
-            $oTemplate->assign('title', $alt_text);
-            $oTemplate->assign('width', $w);
-            $oTemplate->assign('height', $h);
-
-            // blank other attributes because the template 
-            // object might already contain values due to 
-            // having been used to show another image before
-            // this one
-            //
-            $oTemplate->assign('onclick', '');
-            $oTemplate->assign('align', '');
-            $oTemplate->assign('border', '');
-            $oTemplate->assign('hspace', '');
-            $oTemplate->assign('vspace', '');
-            $oTemplate->assign('class', '');
-            $oTemplate->assign('id', '');
-
-            $icon = $oTemplate->fetch('image.tpl');
+            $icon = create_image($icon_path, $alt_text, $w, $h, '', '', '', '', $alt_text);
         } else {
             $icon = $text_icon;
         }
@@ -136,10 +119,13 @@ function getIcon($icon_theme_path, $icon_name, $text_icon, $alt_text='', $w=NULL
  *
  * @param string $icon_theme_path User's chosen icon set
  * @param string $icon_name File name of the desired icon
+ *
  * @return string $icon String containing path to icon that can be used in
  *                      an IMG tag, or NULL if the image is not found.
+ *
  * @author Steve Brown
  * @since 1.5.2
+ *
  */
 function getIconPath ($icon_theme_path, $icon_name) {
     global $fallback_icon_theme_path;
index 670130f..0ae20dd 100644 (file)
@@ -123,39 +123,32 @@ sqsetcookieflush();
 displayHtmlHeader( "$org_name - " . _("Login"), $header, FALSE );
 
 
-//FIXME: need to remove *ALL* HTML from this file!
 
 /* If they don't have a logo, don't bother.. */
 $logo_str = '';
 if (isset($org_logo) && $org_logo) {
     
-    $oTemplate->assign('src', $org_logo);
-    $oTemplate->assign('alt', sprintf(_("%s Logo"), $org_name));
-    $oTemplate->assign('class', 'sqm_loginImage');
     if (isset($org_logo_width) && is_numeric($org_logo_width) &&
      $org_logo_width>0) {
-        $oTemplate->assign('width', $org_logo_width);
+        $width = $org_logo_width;
     } else {
-        $oTemplate->assign('width', '');
+        $width = '';
     }
     if (isset($org_logo_height) && is_numeric($org_logo_height) &&
      $org_logo_height>0) {
-        $oTemplate->assign('height', $org_logo_height);
+        $height = $org_logo_height;
     } else {
-        $oTemplate->assign('height', '');
+        $height = '';
     }
-    $oTemplate->assign('onclick', '');
-    $oTemplate->assign('id', '');
-    $oTemplate->assign('title', '');
-    $oTemplate->assign('align', '');
-    $oTemplate->assign('border', '');
-    $oTemplate->assign('hspace', '');
-    $oTemplate->assign('vspace', '');
-    $logo_str = $oTemplate->fetch('image.tpl');
+
+    $logo_str = create_image($org_logo, sprintf(_("%s Logo"), $org_name), 
+                             $width, $height, '', 'sqm_loginImage');
+
 }
 
 $sm_attribute_str = '';
 if (isset($hide_sm_attributions) && !$hide_sm_attributions) {
+//FIXME: need to remove *ALL* HTML from this file!
     $sm_attribute_str = _("SquirrelMail Webmail Application")."<br />\n" .
                         _("By the SquirrelMail Project Team")."<br />\n";
 }
@@ -180,12 +173,14 @@ $oTemplate->assign('org_name_str', sprintf (_("%s Login"), $org_name));
 $oTemplate->assign('login_field_value', $loginname_value);
 $oTemplate->assign('login_extra', $login_extra);
 
+//FIXME: need to remove *ALL* HTML from this file!
 echo '<body onLoad="squirrelmail_loginpage_onload()">'."\n";
 echo '<form action="redirect.php" method="post" onSubmit="document.forms[0].js_autodetect_results.value='. SMPREF_JS_ON .'">'."\n";
 do_hook('login_top', $null);
 
 $oTemplate->display('login.tpl');
 
+//FIXME: need to remove *ALL* HTML from this file!
 echo "</form>\n";
 do_hook('login_bottom', $null);