00001 <?php
00021 function smarty_function_popup($params, &$smarty)
00022 {
00023 $append = '';
00024 foreach ($params as $_key=>$_value) {
00025 switch ($_key) {
00026 case 'text':
00027 case 'trigger':
00028 case 'function':
00029 case 'inarray':
00030 $$_key = (string)$_value;
00031 if ($_key == 'function' || $_key == 'inarray')
00032 $append .= ',' . strtoupper($_key) . ",'$_value'";
00033 break;
00034
00035 case 'caption':
00036 case 'closetext':
00037 case 'status':
00038 $append .= ',' . strtoupper($_key) . ",'" . str_replace("'","\'",$_value) . "'";
00039 break;
00040
00041 case 'fgcolor':
00042 case 'bgcolor':
00043 case 'textcolor':
00044 case 'capcolor':
00045 case 'closecolor':
00046 case 'textfont':
00047 case 'captionfont':
00048 case 'closefont':
00049 case 'fgbackground':
00050 case 'bgbackground':
00051 case 'caparray':
00052 case 'capicon':
00053 case 'background':
00054 case 'frame':
00055 $append .= ',' . strtoupper($_key) . ",'$_value'";
00056 break;
00057
00058 case 'textsize':
00059 case 'captionsize':
00060 case 'closesize':
00061 case 'width':
00062 case 'height':
00063 case 'border':
00064 case 'offsetx':
00065 case 'offsety':
00066 case 'snapx':
00067 case 'snapy':
00068 case 'fixx':
00069 case 'fixy':
00070 case 'padx':
00071 case 'pady':
00072 case 'timeout':
00073 case 'delay':
00074 $append .= ',' . strtoupper($_key) . ",$_value";
00075 break;
00076
00077 case 'sticky':
00078 case 'left':
00079 case 'right':
00080 case 'center':
00081 case 'above':
00082 case 'below':
00083 case 'noclose':
00084 case 'autostatus':
00085 case 'autostatuscap':
00086 case 'fullhtml':
00087 case 'hauto':
00088 case 'vauto':
00089 case 'mouseoff':
00090 case 'followmouse':
00091 if ($_value) $append .= ',' . strtoupper($_key);
00092 break;
00093
00094 default:
00095 $smarty->trigger_error("[popup] unknown parameter $_key", E_USER_WARNING);
00096 }
00097 }
00098
00099 if (empty($text) && !isset($inarray) && empty($function)) {
00100 $smarty->trigger_error("overlib: attribute 'text' or 'inarray' or 'function' required");
00101 return false;
00102 }
00103
00104 if (empty($trigger)) { $trigger = "onmouseover"; }
00105
00106 $retval = $trigger . '="return overlib(\''.preg_replace(array("!'!","![\r\n]!"),array("\'",'\r'),$text).'\'';
00107 $retval .= $append . ');"';
00108 if ($trigger == 'onmouseover')
00109 $retval .= ' onmouseout="nd();"';
00110
00111
00112 return $retval;
00113 }
00114
00115
00116
00117 ?>