2
0
forked from Wavyzz/dolibarr
Files
dolibarr-fork/doc/dev/php/html/thermometer_8php-source.html
2004-07-15 12:40:07 +00:00

194 lines
13 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>dolibarr: htdocs/lib/thermometer.php Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Généré par Doxygen 1.3.7 -->
<div class="qindex"><a class="qindex" href="index.html">Page&nbsp;principale</a> | <a class="qindex" href="files.html">Liste&nbsp;des&nbsp;fichiers</a> | <a class="qindex" href="globals.html">Membres&nbsp;de&nbsp;fichier</a></div>
<h1>htdocs/lib/thermometer.php</h1><a href="thermometer_8php.html">Aller à la documentation de ce fichier.</a><pre class="fragment"><div>00001 &lt;?php
00002 <span class="comment">/* Copyright (C) 2002 "stichting Blender Foundation, Timothy Kanters"</span>
00003 <span class="comment"> * Copyright (C) 2002 Rodolphe Quiedeville &lt;rodolphe@quiedeville.org&gt;</span>
00004 <span class="comment"> *</span>
00005 <span class="comment"> * This program is free software; you can redistribute it and/or modify</span>
00006 <span class="comment"> * it under the terms of the GNU General Public License as published by</span>
00007 <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span>
00008 <span class="comment"> * (at your option) any later version.</span>
00009 <span class="comment"> *</span>
00010 <span class="comment"> * This program is distributed in the hope that it will be useful,</span>
00011 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>
00013 <span class="comment"> * GNU General Public License for more details.</span>
00014 <span class="comment"> *</span>
00015 <span class="comment"> * You should have received a copy of the GNU General Public License</span>
00016 <span class="comment"> * along with this program; if not, write to the Free Software</span>
00017 <span class="comment"> * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.</span>
00018 <span class="comment"> *</span>
00019 <span class="comment"> * $Id$</span>
00020 <span class="comment"> * $Source$</span>
00021 <span class="comment"> *</span>
00022 <span class="comment"> */</span>
00023
<a name="l00042"></a><a class="code" href="thermometer_8php.html#a0">00042</a> function <a class="code" href="thermometer_8php.html#a0">moneyMeter</a>($actualValue=0, $pendingValue=0, $intentValue=0)
00043
00044 <span class="comment">/*</span>
00045 <span class="comment"> This function returns the html for the moneymeter.</span>
00046 <span class="comment"> cachedValue: amount of actual money</span>
00047 <span class="comment"> pendingValue: amount of money of pending memberships</span>
00048 <span class="comment"> intentValue: amount of intended money (that's without the amount of actual money)</span>
00049 <span class="comment"> */</span>
00050 {
00051
00052 <span class="comment">// variables</span>
00053 $height=<span class="stringliteral">"200"</span>;
00054 $maximumValue=125000;
00055
00056 $imageDir = <span class="stringliteral">"http://eucd.info/images/"</span>;
00057
00058 $imageTop = $imageDir . <span class="stringliteral">"therm_top.png"</span>;
00059 $imageMiddleActual = $imageDir . <span class="stringliteral">"therm_actual.png"</span>;
00060 $imageMiddlePending = $imageDir . <span class="stringliteral">"therm_pending.png"</span>;
00061 $imageMiddleIntent = $imageDir . <span class="stringliteral">"therm_intent.png"</span>;
00062 $imageMiddleGoal = $imageDir . <span class="stringliteral">"therm_goal.png"</span>;
00063 $imageIndex = $imageDir . <span class="stringliteral">"therm_index.png"</span>;
00064 $imageBottom = $imageDir . <span class="stringliteral">"therm_bottom.png"</span>;
00065 $imageColorActual = $imageDir . <span class="stringliteral">"therm_color_actual.png"</span>;
00066 $imageColorPending = $imageDir . <span class="stringliteral">"therm_color_pending.png"</span>;
00067 $imageColorIntent = $imageDir . <span class="stringliteral">"therm_color_intent.png"</span>;
00068
00069 $htmlThermTop = '
00070 &lt;!-- Thermometer Begin --&gt;
00071 &lt;table cellpadding=<span class="stringliteral">"0"</span> cellspacing=<span class="stringliteral">"4"</span> border=<span class="stringliteral">"0"</span>&gt;
00072 &lt;tr&gt;&lt;td&gt;
00073 &lt;table cellpadding=<span class="stringliteral">"0"</span> cellspacing=<span class="stringliteral">"0"</span> border=<span class="stringliteral">"0"</span>&gt;
00074 &lt;tr&gt;
00075 &lt;td colspan=<span class="stringliteral">"2"</span>&gt;&lt;img src=<span class="stringliteral">"' . $imageTop . '"</span> width=<span class="stringliteral">"58"</span> height=<span class="stringliteral">"6"</span> border=<span class="stringliteral">"0"</span>&gt;&lt;/td&gt;
00076 &lt;/tr&gt;
00077 &lt;tr&gt;
00078 &lt;td&gt;
00079 &lt;table cellpadding=<span class="stringliteral">"0"</span> cellspacing=<span class="stringliteral">"0"</span> border=<span class="stringliteral">"0"</span>&gt;';
00080
00081 $htmlSection = '
00082 &lt;tr&gt;&lt;td&gt;&lt;img src=<span class="stringliteral">"{image}"</span> width=<span class="stringliteral">"26"</span> height=<span class="stringliteral">"{height}"</span> border=<span class="stringliteral">"0"</span>&gt;&lt;/td&gt;&lt;/tr&gt;';
00083
00084 $htmlThermbottom = '
00085 &lt;/table&gt;
00086 &lt;/td&gt;
00087 &lt;td&gt;&lt;img src=<span class="stringliteral">"' . $imageIndex . '"</span> width=<span class="stringliteral">"32"</span> height=<span class="stringliteral">"200"</span> border=<span class="stringliteral">"0"</span>&gt;&lt;/td&gt;
00088 &lt;/tr&gt;
00089 &lt;tr&gt;
00090 &lt;td colspan=<span class="stringliteral">"2"</span>&gt;&lt;img src=<span class="stringliteral">"' . $imageBottom . '"</span> width=<span class="stringliteral">"58"</span> height=<span class="stringliteral">"32"</span> border=<span class="stringliteral">"0"</span>&gt;&lt;/td&gt;
00091 &lt;/tr&gt;
00092 &lt;/table&gt;
00093 &lt;/td&gt;
00094 &lt;/tr&gt;&lt;/table&gt;';
00095
00096 <span class="comment">// legenda</span>
00097
00098 $legendaActual = <span class="stringliteral">"&amp;euro; "</span> . round($actualValue);
00099 $legendaPending = <span class="stringliteral">"&amp;euro; "</span> . round($pendingValue);
00100 $legendaIntent = <span class="stringliteral">"&amp;euro; "</span> . round($intentValue);
00101 $legendaTotal = <span class="stringliteral">"&amp;euro; "</span> . round($actualValue + $pendingValue + $intentValue);
00102 $htmlLegenda = '
00103
00104 &lt;table cellpadding=<span class="stringliteral">"0"</span> cellspacing=<span class="stringliteral">"0"</span> border=<span class="stringliteral">"0"</span>&gt;
00105 &lt;tr&gt;&lt;td&gt;&lt;img src=<span class="stringliteral">"' . $imageColorActual . '"</span> width=<span class="stringliteral">"9"</span> height=<span class="stringliteral">"9"</span>&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;font size=<span class="stringliteral">"1"</span> face=<span class="stringliteral">"Verdana, Arial, Helvetica, sans-serif"</span>&gt;&lt;b&gt;Payé:&lt;br /&gt;' . $legendaActual . '&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
00106 &lt;tr&gt;&lt;td&gt;&lt;img src=<span class="stringliteral">"' . $imageColorPending . '"</span> width=<span class="stringliteral">"9"</span> height=<span class="stringliteral">"9"</span>&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;font size=<span class="stringliteral">"1"</span> face=<span class="stringliteral">"Verdana, Arial, Helvetica, sans-serif"</span>&gt;En attente:&lt;br /&gt;' . $legendaPending . '&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
00107 &lt;tr&gt;&lt;td&gt;&lt;img src=<span class="stringliteral">"' . $imageColorIntent . '"</span> width=<span class="stringliteral">"9"</span> height=<span class="stringliteral">"9"</span>&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;font size=<span class="stringliteral">"1"</span> face=<span class="stringliteral">"Verdana, Arial, Helvetica, sans-serif"</span>&gt;Promesses:&lt;br /&gt;' . $legendaIntent . '&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
00108 &lt;tr&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;font size=<span class="stringliteral">"1"</span> face=<span class="stringliteral">"Verdana, Arial, Helvetica, sans-serif"</span>&gt;Total:&lt;br /&gt;' . $legendaTotal . '&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
00109 &lt;/table&gt;
00110
00111 &lt;!-- Thermometer End --&gt;';
00112
00113 <span class="comment">// check and edit some values</span>
00114
00115 $error = 0;
00116 <span class="keywordflow">if</span> ( $maximumValue &lt;= 0 || $height &lt;= 0 || $actualValue &lt; 0 || $pendingValue &lt; 0 || $intentValue &lt; 0)
00117 {
00118 <span class="keywordflow">return</span> <span class="stringliteral">"The money meter could not be processed&lt;br&gt;\n"</span>;
00119 }
00120 <span class="keywordflow">if</span> ( $actualValue &gt; $maximumValue )
00121 {
00122 $actualValue = $maximumValue;
00123 $pendingValue = 0;
00124 $intentValue = 0;
00125 }
00126 <span class="keywordflow">else</span>
00127 {
00128 <span class="keywordflow">if</span> ( ($actualValue + $pendingValue) &gt; $maximumValue )
00129 {
00130 $pendingValue = $maximumValue - $actualValue;
00131 $intentValue = 0;
00132 }
00133 <span class="keywordflow">else</span>
00134 {
00135 <span class="keywordflow">if</span> ( ($actualValue + $pendingValue + $intentValue) &gt; $maximumValue )
00136 {
00137 $intentValue = $maximumValue - $actualValue - $pendingValue;
00138 }
00139 }
00140 }
00141
00142 <span class="comment">// start writing the html (from bottom to top)</span>
00143
00144 <span class="comment">// bottom </span>
00145 $thermometer = $htmlThermbottom;
00146
00147 <span class="comment">// actual</span>
00148 $sectionHeight = round(($actualValue / $maximumValue) * $height);
00149 $totalHeight = $totalHeight + $sectionHeight;
00150 <span class="keywordflow">if</span> ( $sectionHeight &gt; 0 )
00151 {
00152 $section = $htmlSection;
00153 $section = str_replace(<span class="stringliteral">"{image}"</span>, $imageMiddleActual, $section);
00154 $section = str_replace(<span class="stringliteral">"{height}"</span>, $sectionHeight, $section);
00155 $thermometer = $section . $thermometer;
00156 }
00157
00158 <span class="comment">// pending</span>
00159 $sectionHeight = round(($pendingValue / $maximumValue) * $height);
00160 $totalHeight = $totalHeight + $sectionHeight;
00161 <span class="keywordflow">if</span> ( $sectionHeight &gt; 0 )
00162 {
00163 $section = $htmlSection;
00164 $section = str_replace(<span class="stringliteral">"{image}"</span>, $imageMiddlePending, $section);
00165 $section = str_replace(<span class="stringliteral">"{height}"</span>, $sectionHeight, $section);
00166 $thermometer = $section . $thermometer;
00167 }
00168
00169 <span class="comment">// intent</span>
00170 $sectionHeight = round(($intentValue / $maximumValue) * $height);
00171 $totalHeight = $totalHeight + $sectionHeight;
00172 <span class="keywordflow">if</span> ( $sectionHeight &gt; 0 )
00173 {
00174 $section = $htmlSection;
00175 $section = str_replace(<span class="stringliteral">"{image}"</span>, $imageMiddleIntent, $section);
00176 $section = str_replace(<span class="stringliteral">"{height}"</span>, $sectionHeight, $section);
00177 $thermometer = $section . $thermometer;
00178 }
00179
00180 <span class="comment">// goal </span>
00181 $sectionHeight = $height- $totalHeight;
00182 <span class="keywordflow">if</span> ( $sectionHeight &gt; 0 )
00183 {
00184 $section = $htmlSection;
00185 $section = str_replace(<span class="stringliteral">"{image}"</span>, $imageMiddleGoal, $section);
00186 $section = str_replace(<span class="stringliteral">"{height}"</span>, $sectionHeight, $section);
00187 $thermometer = $section . $thermometer;
00188 }
00189
00190 <span class="comment">// top</span>
00191 $thermometer = $htmlThermTop . $thermometer;
00192
00193 <span class="keywordflow">return</span> $thermometer . $htmlLegenda;
00194 }
00195
00196 ?&gt;
00197
00198
00199
</div></pre><hr size="1"><address style="align: right;"><small>Généré le Thu Jul 15 14:51:57 2004 pour dolibarr par
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 ></a> 1.3.7 </small></address>
</body>
</html>