2004-07-15 12:40:07 +00:00
<!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/functions.inc.php Source File< / title >
< link href = "doxygen.css" rel = "stylesheet" type = "text/css" >
< / head > < body >
<!-- G<> n<EFBFBD> r<EFBFBD> par Doxygen 1.3.7 -->
2004-07-15 18:43:48 +00:00
< div class = "qindex" > < a class = "qindex" href = "index.html" > Page principale< / a > | < a class = "qindex" href = "classes.html" > Liste alphab<EFBFBD> tique< / a > | < a class = "qindex" href = "annotated.html" > Liste des classes< / a > | < a class = "qindex" href = "files.html" > Liste des fichiers< / a > | < a class = "qindex" href = "functions.html" > Membres de classe< / a > | < a class = "qindex" href = "globals.html" > Membres de fichier< / a > < / div >
2004-07-15 12:40:07 +00:00
< h1 > htdocs/lib/functions.inc.php< / h1 > < pre class = "fragment" > < div > 00001 < ?PHP
00002 < span class = "comment" > /* Copyright (C) 2000-2004 Rodolphe Quiedeville < rodolphe@quiedeville.org> < / span >
00003 < span class = "comment" > * Copyright (C) 2003 Jean-Louis Bergamo < jlb@j1b.org> < / span >
00004 < span class = "comment" > * Copyright (C) 2004 Laurent Destailleur < eldy@users.sourceforge.net> < / span >
00005 < span class = "comment" > *< / span >
00006 < span class = "comment" > * This program is free software; you can redistribute it and/or modify< / span >
00007 < span class = "comment" > * it under the terms of the GNU General Public License as published by< / span >
00008 < span class = "comment" > * the Free Software Foundation; either version 2 of the License, or< / span >
00009 < span class = "comment" > * (at your option) any later version.< / span >
00010 < span class = "comment" > *< / span >
00011 < span class = "comment" > * This program is distributed in the hope that it will be useful,< / span >
00012 < span class = "comment" > * but WITHOUT ANY WARRANTY; without even the implied warranty of< / span >
00013 < span class = "comment" > * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the< / span >
00014 < span class = "comment" > * GNU General Public License for more details.< / span >
00015 < span class = "comment" > *< / span >
00016 < span class = "comment" > * You should have received a copy of the GNU General Public License< / span >
00017 < span class = "comment" > * along with this program; if not, write to the Free Software< / span >
00018 < span class = "comment" > * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.< / span >
00019 < span class = "comment" > * or see http://www.gnu.org/< / span >
00020 < span class = "comment" > *< / span >
00021 < span class = "comment" > * $Id$< / span >
00022 < span class = "comment" > * $Source$< / span >
00023 < span class = "comment" > *< / span >
00024 < span class = "comment" > */< / span >
00025
00026 $yn[0] = < span class = "stringliteral" > "non"< / span > ;
00027 $yn[1] = < span class = "stringliteral" > "oui"< / span > ;
00028
00029 Function dolibarr_syslog($message)
00030 {
00031 define_syslog_variables();
00032
00033 openlog(< span class = "stringliteral" > "dolibarr"< / span > , LOG_PID | LOG_PERROR, LOG_USER); # LOG_USER au lieu de LOG_LOCAL0 car non accept<70> par tous les PHP
00034
00035 syslog(LOG_WARNING, $message);
00036
00037 closelog();
00038 }
00039
00040 Function dolibarr_fiche_head($links, $active=0)
00041 {
00042 print < span class = "stringliteral" > "< !-- fiche --> < div class=\"tabs\"> \n"< / span > ;
00043
00044 < span class = "keywordflow" > for< / span > ($i = 0 ; $i < < span class = "keyword" > sizeof< / span > ($links) ; $i++)
00045 {
00046 < span class = "keywordflow" > if< / span > ($links[$i][2] == 'image')
00047 {
00048 print '< a < span class = "keyword" > class< / span > =< span class = "stringliteral" > "tabimage"< / span > href=< span class = "stringliteral" > "'.$links[$i][0].'"< / span > > '.$links[$i][1].'< /a> '.< span class = "stringliteral" > "\n"< / span > ;
00049 }
00050 < span class = "keywordflow" > else< / span >
00051 {
00052 < span class = "keywordflow" > if< / span > ($i == $active)
00053 {
00054 print '< a < span class = "keywordtype" > id< / span > =< span class = "stringliteral" > "active"< / span > < span class = "keyword" > class< / span > =< span class = "stringliteral" > "tab"< / span > href=< span class = "stringliteral" > "'.$links[$i][0].'"< / span > > '.$links[$i][1].'< /a> '.< span class = "stringliteral" > "\n"< / span > ;
00055 }
00056 < span class = "keywordflow" > else< / span >
00057 {
00058 print '< a < span class = "keyword" > class< / span > =< span class = "stringliteral" > "tab"< / span > href=< span class = "stringliteral" > "'.$links[$i][0].'"< / span > > '.$links[$i][1].'< /a> '.< span class = "stringliteral" > "\n"< / span > ;
00059 }
00060 }
00061 }
00062
00063 print < span class = "stringliteral" > "< /div> \n"< / span > ;
00064 print < span class = "stringliteral" > "< div class=\"tabBar\"> \n< br> \n"< / span > ;
00065 }
00066
00067
00068 Function dolibarr_set_const($db, $name, $value, $type='chaine', $visible=0, $note='')
00069 < span class = "comment" > // Ajoute ou modifie un parametre dans la table llx_const< / span >
00070 < span class = "comment" > // Retour: 0=KO, 1=OK< / span >
00071 {
00072 $sql = < span class = "stringliteral" > "REPLACE INTO llx_const SET name = '$name', value='$value', visible=$visible, type='$type', note='$note'"< / span > ;
00073
00074 < span class = "keywordflow" > if< / span > ($db-> query($sql))
00075 {
00076 < span class = "keywordflow" > return< / span > 1;
00077 }
00078 < span class = "keywordflow" > else< / span >
00079 {
00080 < span class = "keywordflow" > return< / span > 0;
00081 }
00082 }
00083
00084 Function dolibarr_del_const($db, $name)
00085 < span class = "comment" > // Supprime un parametre de la table llx_const< / span >
00086 < span class = "comment" > // Retour: 0=KO, 1=OK< / span >
00087 {
00088 $sql = < span class = "stringliteral" > "DELETE FROM llx_const WHERE name='$name'"< / span > ;
00089
00090 < span class = "keywordflow" > if< / span > ($db-> query($sql))
00091 {
00092 < span class = "keywordflow" > return< / span > 1;
00093 }
00094 < span class = "keywordflow" > else< / span >
00095 {
00096 < span class = "keywordflow" > return< / span > 0;
00097 }
00098 }
00099
00100 Function dolibarr_print_ca($ca)
00101 {
00102 < span class = "comment" > // Permet d'avoir une fonction commune du formatage des nombres< / span >
00103 < span class = "keywordflow" > if< / span > ($ca > 1000)
00104 {
00105 $cat = round(($ca / 1000),2);
00106 $cat = < span class = "stringliteral" > "$cat Keuros"< / span > ;
00107 }
00108 < span class = "keywordflow" > else< / span >
00109 {
00110 $cat = round($ca,2);
00111 $cat = < span class = "stringliteral" > "$cat euros"< / span > ;
00112 }
00113
00114 < span class = "keywordflow" > if< / span > ($ca > 1000000)
00115 {
00116 $cat = round(($ca / 1000000),2);
00117 $cat = < span class = "stringliteral" > "$cat Meuros"< / span > ;
00118 }
00119
00120 < span class = "keywordflow" > return< / span > $cat;
00121 }
00122
00123 Function dolibarr_print_date($time,$format=< span class = "stringliteral" > "%d %b %Y"< / span > )
00124 {
00125 < span class = "comment" > // Permet d'avoir une fonction commune du formatage d'affichage des date< / span >
00126 < span class = "keywordflow" > return< / span > strftime($format,$time);
00127 }
00128
00129 Function dolibarr_print_object_info($object)
00130 {
00131 print < span class = "stringliteral" > "Cr<43> <72> par : "< / span > . $object-> user_creation-> fullname . '< br> ';
00132 print < span class = "stringliteral" > "Date de cr<63> ation : "< / span > . strftime(< span class = "stringliteral" > "%A %d %B %Y %H:%M:%S"< / span > ,$object-> date_creation) . '< br> ';
00133 print < span class = "stringliteral" > "Modifi<66> par : "< / span > . $object-> user_modification-> fullname . '< br> ';
00134 print < span class = "stringliteral" > "Date de modification : "< / span > . strftime(< span class = "stringliteral" > "%A %d %B %Y %H:%M:%S"< / span > ,$object-> date_modification) . '< br> ';
00135 }
00136
00137 Function dolibarr_print_phone($phone)
00138 {
00139 < span class = "comment" > // Permet d'avoir une fonction commune du formatage d'affichage des tel/fax< / span >
00140 < span class = "keywordflow" > if< / span > (strlen(trim($phone)) == 10)
00141 {
00142 < span class = "keywordflow" > return< / span > substr($phone,0,2).< span class = "stringliteral" > " "< / span > .substr($phone,2,2).< span class = "stringliteral" > " "< / span > .substr($phone,4,2).< span class = "stringliteral" > " "< / span > .substr($phone,6,2).< span class = "stringliteral" > " "< / span > .substr($phone,8,2);
00143 }
00144 < span class = "keywordflow" > else< / span >
00145 {
00146 < span class = "keywordflow" > return< / span > $phone;
00147 }
00148 }
00149
00150 Function img_file($alt = < span class = "stringliteral" > "Voir"< / span > )
00151 {
00152 < span class = "keywordflow" > return< / span > '< img src=< span class = "stringliteral" > "'.DOL_URL_ROOT.'/theme/'.MAIN_THEME.'/img/file.png"< / span > border=< span class = "stringliteral" > "0"< / span > alt=< span class = "stringliteral" > "'.$alt.'"< / span > > ';
00153 }
00154
00155 Function img_file_new($alt = < span class = "stringliteral" > "Voir"< / span > )
00156 {
00157 < span class = "keywordflow" > return< / span > '< img src=< span class = "stringliteral" > "'.DOL_URL_ROOT.'/theme/'.MAIN_THEME.'/img/filenew.png"< / span > border=< span class = "stringliteral" > "0"< / span > alt=< span class = "stringliteral" > "'.$alt.'"< / span > > ';
00158 }
00159
00160
00161 Function img_pdf($alt = < span class = "stringliteral" > "Voir"< / span > )
00162 {
00163 < span class = "keywordflow" > return< / span > '< img src=< span class = "stringliteral" > "'.DOL_URL_ROOT.'/theme/'.MAIN_THEME.'/img/pdf.png"< / span > border=< span class = "stringliteral" > "0"< / span > alt=< span class = "stringliteral" > "'.$alt.'"< / span > > ';
00164 }
00165
00166 Function img_warning($alt = < span class = "stringliteral" > "Voir"< / span > )
00167 {
00168 < span class = "keywordflow" > return< / span > '< img src=< span class = "stringliteral" > "'.DOL_URL_ROOT.'/theme/'.MAIN_THEME.'/img/warning.png"< / span > border=< span class = "stringliteral" > "0"< / span > alt=< span class = "stringliteral" > "'.$alt.'"< / span > > ';
00169 }
00170
00171 Function img_delete($alt = < span class = "stringliteral" > "Supprimer"< / span > )
00172 {
00173 < span class = "keywordflow" > return< / span > '< img src=< span class = "stringliteral" > "'.DOL_URL_ROOT.'/theme/'.MAIN_THEME.'/img/delete.png"< / span > border=< span class = "stringliteral" > "0"< / span > alt=< span class = "stringliteral" > "'.$alt.'"< / span > title=< span class = "stringliteral" > "Supprimer"< / span > > ';
00174 }
00175
00176 Function img_info($alt = < span class = "stringliteral" > "Informations"< / span > )
00177 {
00178 < span class = "keywordflow" > return< / span > '< img src=< span class = "stringliteral" > "'.DOL_URL_ROOT.'/theme/'.MAIN_THEME.'/img/info.png"< / span > border=< span class = "stringliteral" > "0"< / span > alt=< span class = "stringliteral" > "'.$alt.'"< / span > title=< span class = "stringliteral" > "Informations"< / span > > ';
00179 }
00180
00181
00182 Function img_edit($alt = < span class = "stringliteral" > "Modifier"< / span > )
00183 {
00184 < span class = "keywordflow" > return< / span > '< img src=< span class = "stringliteral" > "'.DOL_URL_ROOT.'/theme/'.MAIN_THEME.'/img/edit.png"< / span > border=< span class = "stringliteral" > "0"< / span > alt=< span class = "stringliteral" > "'.$alt.'"< / span > title=< span class = "stringliteral" > "Modifier"< / span > > ';
00185 }
00186
00187 Function img_phone_in($alt = < span class = "stringliteral" > "Modifier"< / span > )
00188 {
00189 < span class = "keywordflow" > return< / span > '< img src=< span class = "stringliteral" > "'.DOL_URL_ROOT.'/theme/'.MAIN_THEME.'/img/call.png"< / span > border=< span class = "stringliteral" > "0"< / span > alt=< span class = "stringliteral" > "'.$alt.'"< / span > title=< span class = "stringliteral" > "'.$alt.'"< / span > > ';
00190 }
00191
00192 Function img_phone_out($alt = < span class = "stringliteral" > "Modifier"< / span > )
00193 {
00194 < span class = "keywordflow" > return< / span > '< img src=< span class = "stringliteral" > "'.DOL_URL_ROOT.'/theme/'.MAIN_THEME.'/img/call_out.png"< / span > border=< span class = "stringliteral" > "0"< / span > alt=< span class = "stringliteral" > "'.$alt.'"< / span > title=< span class = "stringliteral" > "'.$alt.'"< / span > > ';
00195 }
00196
00197
00198 Function img_alerte($alt = < span class = "stringliteral" > "Alerte"< / span > )
00199 {
00200 < span class = "keywordflow" > return< / span > '< img src=< span class = "stringliteral" > "'.DOL_URL_ROOT.'/theme/'.MAIN_THEME.'/img/alerte.png"< / span > border=< span class = "stringliteral" > "0"< / span > alt=< span class = "stringliteral" > "'.$alt.'"< / span > title=< span class = "stringliteral" > "'.$alt.'"< / span > > ';
00201 }
00202
00203
00204 Function img_next($alt = < span class = "stringliteral" > "Suivant"< / span > )
00205 {
00206 < span class = "keywordflow" > return< / span > '< img src=< span class = "stringliteral" > "'.DOL_URL_ROOT.'/theme/'.MAIN_THEME.'/img/next.png"< / span > border=< span class = "stringliteral" > "0"< / span > alt=< span class = "stringliteral" > "'.$alt.'"< / span > title=< span class = "stringliteral" > "'.$alt.'"< / span > > ';
00207 }
00208
00209 Function img_previous($alt = < span class = "stringliteral" > "Pr<50> c<EFBFBD> dent"< / span > )
00210 {
00211 < span class = "keywordflow" > return< / span > '< img src=< span class = "stringliteral" > "'.DOL_URL_ROOT.'/theme/'.MAIN_THEME.'/img/previous.png"< / span > border=< span class = "stringliteral" > "0"< / span > alt=< span class = "stringliteral" > "'.$alt.'"< / span > title=< span class = "stringliteral" > "'.$alt.'"< / span > > ';
00212 }
00213
00214
00215 function loginFunction()
00216 {
00220 print '< !DOCTYPE HTML PUBLIC < span class = "stringliteral" > "-//W3C//DTD HTML 4.01 Transitional//EN"< / span > < span class = "stringliteral" > "http://www.w3.org/TR/html4/loose.dtd"< / span > > ';
00221 print < span class = "stringliteral" > "\n< html> < head> < title> Dolibarr Authentification< /title> "< / span > ;
00222 print '< style type=< span class = "stringliteral" > "text/css"< / span > >
00223 body {
00224 font-size:14px;
00225 font-family: Verdana, Tahoma, Arial, Helvetica, sans-serif;
00226 background-color: #cac8c0;
00227 margin-left: 30%;
00228 margin-right: 30%;
00229 margin-top: 10%;
00230 margin-bottom: 1%;
00231 }
00232 div.main {
00233 background-color: white;
00234 text-align: left;
00235 border: solid black 1px;
00236 }
00237 div.main-inside {
00238 background-color: white;
00239 padding-left: 20px;
00240 padding-right: 50px;
00241 text-align: center;
00242 margin-bottom: 50px;
00243 margin-top: 30px;
00244 }
00245 div.footer {
00246 background-color: #dcdff4;
00247 font-size: 10px;
00248 border-top: solid black 1px;
00249 padding-left: 5px;
00250 text-align: center;
00251 }
00252 div.header {
00253 background-color: #dcdff4;
00254 border-bottom: solid black 1px;
00255 padding-left: 5px;
00256 text-align: center;
00257 }
00258 div.footer p {
00259 margin: 0px;
00260 }
00261 a:link,a:visited,a:active {
00262 text-decoration:none;
00263 color:blue;
00264 }
00265 a:hover {
00266 text-decoration:underline;
00267 color:blue;
00268 }
00269 < /style>
00270 < meta http-equiv=< span class = "stringliteral" > "Content-Type"< / span > content=< span class = "stringliteral" > "text/html; charset=iso-8859-15"< / span > >
00271 < script language=< span class = "stringliteral" > "javascript"< / span > >
00272 function donnefocus(){
00273 document.identification.username.focus();
00274 }
00275 < /script>
00276 < /head>
00277 < body onload=< span class = "stringliteral" > "donnefocus();"< / span > >
00278 < div < span class = "keyword" > class< / span > =< span class = "stringliteral" > "main"< / span > >
00279 < div < span class = "keyword" > class< / span > =< span class = "stringliteral" > "header"< / span > > ';
00280 print 'Dolibarr '.DOL_VERSION;
00281 print '
00282 < /div>
00283 < div < span class = "keyword" > class< / span > =< span class = "stringliteral" > "main-inside"< / span > >
00284 ';
00285
00286 echo '< form method=< span class = "stringliteral" > "post"< / span > action=< span class = "stringliteral" > "' . $_SERVER['PHP_SELF'] . '"< / span > name=< span class = "stringliteral" > "identification"< / span > > ';
00287 print '< table> < tr> ';
00288 print '< td> Login : < /td> < td> < input type=< span class = "stringliteral" > "text"< / span > name=< span class = "stringliteral" > "username"< / span > > < /td> < /tr> ';;
00289 print '< tr> < td> Password : < /td> < td> < input type=< span class = "stringliteral" > "password"< / span > name=< span class = "stringliteral" > "password"< / span > > < /td> < /tr> ';
00290
00291 echo '< /table>
00292 < p align=< span class = "stringliteral" > "center"< / span > > < input value=< span class = "stringliteral" > "Login"< / span > type=< span class = "stringliteral" > "submit"< / span > >
00293 < /form> ';
00294 }
00295 < span class = "comment" > /*< / span >
00296 < span class = "comment" > *< / span >
00297 < span class = "comment" > *< / span >
00298 < span class = "comment" > */< / span >
00299 function accessforbidden()
00300 {
00301 llxHeader();
00302 print < span class = "stringliteral" > "Acc<63> s interdit"< / span > ;
00303 llxFooter();
00304 exit(0);
00305 }
00306
00307 function doliMoveFileUpload($src_file, $dest_file)
00308 {
00309 $file_name = $dest_file;
00310
00311 < span class = "keywordflow" > if< / span > (substr($file_name, strlen($file_name) -3 , 3) == 'php')
00312 {
00313 $file_name = $dest_file . < span class = "stringliteral" > ".txt"< / span > ;
00314 }
00315
00316 < span class = "keywordflow" > return< / span > move_uploaded_file($src_file, $file_name);
00317 }
00318
00319 function dolibarr_user_page_param($db, & $user)
00320 {
00321 foreach ($GLOBALS[< span class = "stringliteral" > "_GET"< / span > ] as $key=> $value)
00322 {
00323 < span class = "keywordflow" > if< / span > ($key == < span class = "stringliteral" > "sortfield"< / span > )
00324 {
00325 $sql = < span class = "stringliteral" > "REPLACE INTO "< / span > .MAIN_DB_PREFIX.< span class = "stringliteral" > "user_param "< / span > ;
00326 $sql .= < span class = "stringliteral" > " SET fk_user ="< / span > .$user-> id;
00327 $sql .= < span class = "stringliteral" > " ,page='"< / span > .$GLOBALS[< span class = "stringliteral" > "SCRIPT_URL"< / span > ] . < span class = "stringliteral" > "'"< / span > ;
00328 $sql .= < span class = "stringliteral" > " ,param='sortfield'"< / span > ;
00329 $sql .= < span class = "stringliteral" > " ,value='"< / span > .urlencode($value).< span class = "stringliteral" > "'"< / span > ;
00330
00331 $db-> query($sql);
00332 $user-> page_param[< span class = "stringliteral" > "sortfield"< / span > ] = $value;
00333 }
00334
00335 < span class = "comment" > // print $key . "=".$value . "< br> ";< / span >
00336
00337 < span class = "keywordflow" > if< / span > ($key == < span class = "stringliteral" > "sortorder"< / span > )
00338 {
00339 $sql = < span class = "stringliteral" > "REPLACE INTO "< / span > .MAIN_DB_PREFIX.< span class = "stringliteral" > "user_param "< / span > ;
00340 $sql .= < span class = "stringliteral" > " SET fk_user ="< / span > .$user-> id;
00341 $sql .= < span class = "stringliteral" > " ,page='"< / span > .$GLOBALS[< span class = "stringliteral" > "SCRIPT_URL"< / span > ] . < span class = "stringliteral" > "'"< / span > ;
00342 $sql .= < span class = "stringliteral" > " ,param='sortorder'"< / span > ;
00343 $sql .= < span class = "stringliteral" > " ,value='"< / span > .urlencode($value).< span class = "stringliteral" > "'"< / span > ;
00344
00345 $db-> query($sql);
00346 $user-> page_param[< span class = "stringliteral" > "sortorder"< / span > ] = $value;
00347 }
00348 < span class = "keywordflow" > if< / span > ($key == < span class = "stringliteral" > "begin"< / span > )
00349 {
00350 $sql = < span class = "stringliteral" > "REPLACE INTO "< / span > .MAIN_DB_PREFIX.< span class = "stringliteral" > "user_param "< / span > ;
00351 $sql .= < span class = "stringliteral" > " SET fk_user ="< / span > .$user-> id;
00352 $sql .= < span class = "stringliteral" > " ,page='"< / span > .$GLOBALS[< span class = "stringliteral" > "SCRIPT_URL"< / span > ] . < span class = "stringliteral" > "'"< / span > ;
00353 $sql .= < span class = "stringliteral" > " ,param='begin'"< / span > ;
00354 $sql .= < span class = "stringliteral" > " ,value='"< / span > .$value.< span class = "stringliteral" > "'"< / span > ;
00355
00356 $db-> query($sql);
00357 $user-> page_param[< span class = "stringliteral" > "begin"< / span > ] = $value;
00358 }
00359 < span class = "keywordflow" > if< / span > ($key == < span class = "stringliteral" > "page"< / span > )
00360 {
00361 $sql = < span class = "stringliteral" > "REPLACE INTO "< / span > .MAIN_DB_PREFIX.< span class = "stringliteral" > "user_param "< / span > ;
00362 $sql .= < span class = "stringliteral" > " SET fk_user ="< / span > .$user-> id;
00363 $sql .= < span class = "stringliteral" > " ,page='"< / span > .$GLOBALS[< span class = "stringliteral" > "SCRIPT_URL"< / span > ] . < span class = "stringliteral" > "'"< / span > ;
00364 $sql .= < span class = "stringliteral" > " ,param='page'"< / span > ;
00365 $sql .= < span class = "stringliteral" > " ,value='"< / span > .$value.< span class = "stringliteral" > "'"< / span > ;
00366
00367 $db-> query($sql);
00368 $user-> page_param[< span class = "stringliteral" > "page"< / span > ] = $value;
00369 }
00370 }
00371 }
00372
00373 function transcoS2L($zonein,$devise)
00374 {
00375 < span class = "comment" > // Open source offert par < A HREF="mailto:alainfloch@free.fr?subject=chif2let"> alainfloch@free.fr< /A> 28/10/2001, sans garantie.< / span >
00376 < span class = "comment" > // d<> but de la fonction de transcodification de somme en toutes lettres< / span >
00377
00378 < span class = "comment" > /* $zonein = "123,56"; < / span >
00379 < span class = "comment" > * $devise = "E"; // pr<70> ciser F si francs , sinon ce sera de l'euro< / span >
00380 < span class = "comment" > * $r = transcoS2L($zonein,$devise); // appeler la fonction< / span >
00381 < span class = "comment" > * echo "r<> sultat vaut $r< br> ";< / span >
00382 < span class = "comment" > * $zonelettresM = strtoupper($r); // si vous voulez la m<> me zone mais tout en majuscules< / span >
00383 < span class = "comment" > * echo "r<> sultat en Majuscules vaut $zonelettresM< br> ";< / span >
00384 < span class = "comment" > * $zonein = "1,01";< / span >
00385 < span class = "comment" > * $r = transcoS2L($zonein,$devise);< / span >
00386 < span class = "comment" > * echo "r<> sultat vaut $r< br> ";< / span >
00387 < span class = "comment" > */< / span >
00388
00389
00390 < span class = "keywordflow" > if< / span > ($devise == < span class = "stringliteral" > "F"< / span > )
00391 {
00392 $unite_singulier = < span class = "stringliteral" > " franc "< / span > ;
00393 $unite_pluriel = < span class = "stringliteral" > " francs "< / span > ;
00394 $cent_singulier = < span class = "stringliteral" > " centime"< / span > ;
00395 }
00396 < span class = "keywordflow" > else< / span >
00397 {
00398 $unite_singulier = < span class = "stringliteral" > " euro "< / span > ;
00399 $unite_pluriel = < span class = "stringliteral" > " euros "< / span > ;
00400 $cent_singulier = < span class = "stringliteral" > " centime"< / span > ;
00401 }
00402
00403 $arr1_99 = array(< span class = "stringliteral" > "z<> ro"< / span > ,< span class = "stringliteral" > "un"< / span > ,< span class = "stringliteral" > "deux"< / span > ,< span class = "stringliteral" > "trois"< / span > ,
00404 < span class = "stringliteral" > "quatre"< / span > ,< span class = "stringliteral" > "cinq"< / span > ,< span class = "stringliteral" > "six"< / span > ,< span class = "stringliteral" > "sept"< / span > ,
00405 < span class = "stringliteral" > "huit"< / span > ,< span class = "stringliteral" > "neuf"< / span > ,< span class = "stringliteral" > "dix"< / span > ,< span class = "stringliteral" > "onze"< / span > ,< span class = "stringliteral" > "douze"< / span > ,
00406 < span class = "stringliteral" > "treize"< / span > ,< span class = "stringliteral" > "quatorze"< / span > ,< span class = "stringliteral" > "quinze"< / span > ,< span class = "stringliteral" > "seize"< / span > ,
00407 < span class = "stringliteral" > "dix-sept"< / span > ,< span class = "stringliteral" > "dix-huit"< / span > ,< span class = "stringliteral" > "dix-neuf"< / span > ,< span class = "stringliteral" > "vingt "< / span > );
00408
00409 $arr1_99[30] = < span class = "stringliteral" > "trente "< / span > ;
00410 $arr1_99[40] = < span class = "stringliteral" > "quarante "< / span > ;
00411 $arr1_99[50] = < span class = "stringliteral" > "cinquante "< / span > ;
00412 $arr1_99[60] = < span class = "stringliteral" > "soixante "< / span > ;
00413 $arr1_99[70] = < span class = "stringliteral" > "soixante-dix "< / span > ;
00414 $arr1_99[71] = < span class = "stringliteral" > "soixante et onze"< / span > ;
00415 $arr1_99[80] = < span class = "stringliteral" > "quatre-vingts "< / span > ;
00416 $i = 22;
00417 < span class = "keywordflow" > while< / span > ($i < 63) {< span class = "comment" > // initialise la table< / span >
00418 $arr1_99[$i - 1] = $arr1_99[$i - 2].< span class = "stringliteral" > " et un"< / span > ;
00419 $j = 0;
00420 < span class = "keywordflow" > while< / span > ($j < 8) {
00421 $k = $i + $j;
00422 $arr1_99[$k] = $arr1_99[$i - 2].$arr1_99[$j + 2];
00423 $j++;
00424 }
00425 $i = $i + 10;
00426 } < span class = "comment" > // fin initialise la table< / span >
00427
00428 $i = 12;
00429 < span class = "keywordflow" > while< / span > ($i < 20) {< span class = "comment" > // initialise la table (suite)< / span >
00430 $j = 60 + $i;
00431 $arr1_99[$j] = < span class = "stringliteral" > "soixante-"< / span > .$arr1_99[$i];
00432 $i++;
00433 } < span class = "comment" > // fin initialise la table (suite)< / span >
00434
00435 $i = 1;
00436 < span class = "keywordflow" > while< / span > ($i < 20) {< span class = "comment" > // initialise la table (fin)< / span >
00437 $j = 80 + $i;
00438 $arr1_99[$j] = < span class = "stringliteral" > "quatre-vingt-"< / span > .$arr1_99[$i];
00439 $i++;
00440 } < span class = "comment" > // fin initialise la table (fin)< / span >
00441 < span class = "comment" > // echo "Pour une valeur en entr<74> e = $zonein< br> "; //pour ceux qui ne croient que ce qu'ils voient !< / span >
00442 < span class = "comment" > // quelques petits controles s'imposent !! < / span >
00443 $valid = < span class = "stringliteral" > "[a-zA-Z\& \<5C> \"\'\(\-\<5C> \_\<5C> \<5C> \)\=\;\:\!\*\$\^< > ]"< / span > ;
00444 < span class = "keywordflow" > if< / span > (ereg($valid,$zonein))
00445 {
00446 $r = < span class = "stringliteral" > "< b> la cha<68> ne "< / span > .$zonein.< span class = "stringliteral" > " n'est pas valide< /b> "< / span > ;
00447 < span class = "keywordflow" > return< / span > ($r);
00448 }
00449 $zone = explode(< span class = "stringliteral" > " "< / span > ,$zonein); < span class = "comment" > // supprimer les blancs s<> parateurs< / span >
00450 $zonein = implode(< span class = "stringliteral" > ""< / span > ,$zone); < span class = "comment" > // reconcat<61> ne la zone input< / span >
00451 $zone = explode(< span class = "stringliteral" > "."< / span > ,$zonein); < span class = "comment" > // supprimer les points s<> parateurs< / span >
00452 $zonein = implode(< span class = "stringliteral" > ""< / span > ,$zone); < span class = "comment" > // reconcat<61> ne la zone input, <20> a c'est fort ! merci PHP< / span >
00453 $virg = strpos($zonein,< span class = "stringliteral" > ","< / span > ,1); < span class = "comment" > // <20> la poursuite de la virgule< / span >
00454 $i = strlen($zonein); < span class = "comment" > // et de la longueur de la zone input< / span >
00455 < span class = "keywordflow" > if< / span > ($virg == 0) { < span class = "comment" > // ya pas de virgule< / span >
00456 < span class = "keywordflow" > if< / span > ($i > 7)
00457 {
00458 $r = < span class = "stringliteral" > "< b> la cha<68> ne "< / span > .$zonein.< span class = "stringliteral" > " est trop longue (maxi = 9 millions)< /b> "< / span > ;
00459 < span class = "keywordflow" > return< / span > ($r);
00460 }
00461 $deb = 7 - $i;
00462 $zoneanaly = substr($zonechiffres,0,$deb).$zonein.< span class = "stringliteral" > ",00"< / span > ;
00463 }
00464 < span class = "keywordflow" > else< / span >
00465 { < span class = "comment" > //ya une virgule< / span >
00466 $ti = explode(< span class = "stringliteral" > ","< / span > ,$zonein); < span class = "comment" > // mettre de c<> t<EFBFBD> ce qu'il y a devant la virgule< / span >
00467 $i = strlen($ti[0]); < span class = "comment" > // en controler la longueur< / span >
00468 $zonechiffres = < span class = "stringliteral" > "0000000,00"< / span > ;
00469 < span class = "keywordflow" > if< / span > ($i > 7)
00470 {
00471 $r = < span class = "stringliteral" > "< b> la cha<68> ne "< / span > .$zonein.< span class = "stringliteral" > " est trop longue (maxi = 9 millions,00)< /b> "< / span > ;
00472 < span class = "keywordflow" > return< / span > ($r);
00473 }
00474 $deb = 7 - $i;
00475 $zoneanaly = substr($zonechiffres,0,$deb).$zonein;
00476 }
00477 $M= substr($zoneanaly,0,1);
00478 < span class = "keywordflow" > if< / span > ($M != 0)
00479 { < span class = "comment" > // qui veut gagner des millions< / span >
00480 $r = $arr1_99[$M].< span class = "stringliteral" > " million"< / span > ;
00481 < span class = "keywordflow" > if< / span > ($M ==1) $r = $r.< span class = "stringliteral" > " "< / span > ;
00482 < span class = "keywordflow" > else< / span > $r = $r.< span class = "stringliteral" > "s "< / span > ;
00483 < span class = "keywordflow" > if< / span > (substr($zoneanaly,1,6)==0)
00484 {
00485 < span class = "keywordflow" > if< / span > ($devise == < span class = "charliteral" > 'F'< / span > ) $r = $r.< span class = "stringliteral" > " de "< / span > ;
00486 < span class = "keywordflow" > else< / span > $r = $r.< span class = "stringliteral" > "d'"< / span > ;
00487 }
00488 }
00489 $CM= substr($zoneanaly,1,1);
00490 < span class = "keywordflow" > if< / span > ($CM == 1)
00491 { < span class = "comment" > // qui veut gagner des centaines de mille< / span >
00492 $r = $r.< span class = "stringliteral" > " cent "< / span > ;
00493 }
00494 < span class = "keywordflow" > else< / span >
00495 { < span class = "comment" > // ya des centaines de mille< / span >
00496 < span class = "keywordflow" > if< / span > ($CM > 1)
00497 {
00498 $r = $r. $arr1_99[$CM].< span class = "stringliteral" > " cent "< / span > ;
00499 }
00500 } < span class = "comment" > // fin du else ya des centaines de mille< / span >
00501 $MM= substr($zoneanaly,2,2);
00502 < span class = "keywordflow" > if< / span > (substr($zoneanaly,2,1)==0){ $MM = substr($zoneanaly,3,1);} < span class = "comment" > // enlever le z<> ro des milliers cause indexation< / span >
00503 < span class = "keywordflow" > if< / span > ($MM ==0 & & $CM > 0)
00504 {
00505 $r = $r.< span class = "stringliteral" > "mille "< / span > ;
00506 }
00507 < span class = "keywordflow" > if< / span > ($MM != 0)
00508 {
00509 < span class = "keywordflow" > if< / span > ($MM == 80)
00510 {
00511 $r = $r.< span class = "stringliteral" > "quatre-vingt mille "< / span > ;
00512 }
00513 < span class = "keywordflow" > else< / span >
00514 {
00515 < span class = "keywordflow" > if< / span > ($MM > 1 )
00516 {
00517 $r = $r.$arr1_99[$MM].< span class = "stringliteral" > " mille "< / span > ;
00518 }
00519 < span class = "keywordflow" > else< / span >
00520 {
00521 < span class = "keywordflow" > if< / span > ($CM == 0) $r = $r.< span class = "stringliteral" > " mille "< / span > ;
00522 < span class = "keywordflow" > else< / span >
00523 {
00524 $r = $r.$arr1_99[$MM].< span class = "stringliteral" > " mille "< / span > ;
00525 }
00526 }
00527 }
00528 }
00529 $C2= substr($zoneanaly,5,2);
00530 < span class = "keywordflow" > if< / span > (substr($zoneanaly,5,1)==0){ $C2 = substr($zoneanaly,6,1);} < span class = "comment" > // enlever le z<> ro des centaines cause indexation< / span >
00531 $C1= substr($zoneanaly,4,1);
00532 < span class = "keywordflow" > if< / span > ($C2 ==0 & & $C1 > 1)
00533 {
00534 $r = $r.$arr1_99[$C1].< span class = "stringliteral" > " cents "< / span > ;
00535 }
00536 < span class = "keywordflow" > else< / span >
00537 {
00538 < span class = "keywordflow" > if< / span > ($C1 == 1) $r = $r.< span class = "stringliteral" > " cent "< / span > ;
00539 < span class = "keywordflow" > else< / span >
00540 {
00541 < span class = "keywordflow" > if< / span > ($C1 > 1) $r = $r.$arr1_99[$C1].< span class = "stringliteral" > " cent "< / span > ;
00542 }
00543 }
00544 < span class = "keywordflow" > if< / span > ($C2 != 0)
00545 {
00546 $r = $r.$arr1_99[$C2];
00547 }
00548 < span class = "keywordflow" > if< / span > ($virg !=0)
00549 {
00550 < span class = "keywordflow" > if< / span > ($ti[0] > 1) $r = $r. $unite_pluriel; < span class = "keywordflow" > else< / span > $r = < span class = "stringliteral" > "un "< / span > .$unite_singulier;
00551 }
00552 < span class = "keywordflow" > else< / span >
00553 {
00554 < span class = "keywordflow" > if< / span > ($zonein > 1) $r = $r.$unite_pluriel; < span class = "keywordflow" > else< / span > $r = < span class = "stringliteral" > "un "< / span > .$unite_singulier;
00555 }
00556 $UN= substr($zoneanaly,8,2);
00557 < span class = "keywordflow" > if< / span > ($UN != < span class = "stringliteral" > "00"< / span > )
00558 {
00559 $cts = $UN;
00560 < span class = "keywordflow" > if< / span > (substr($UN,0,1)==0){ $cts = substr($UN,1,1);} < span class = "comment" > // enlever le z<> ro des centimes cause indexation< / span >
00561 $r = $r.< span class = "stringliteral" > " et "< / span > . $arr1_99[$cts].$cent_singulier;
00562 < span class = "keywordflow" > if< / span > ($UN > 1) $r =$r.< span class = "stringliteral" > "s"< / span > ; < span class = "comment" > // accorde au pluriel< / span >
00563 }
00564 $r1 = ltrim($r); < span class = "comment" > // enleve quelques blancs possibles en d<> but de zone< / span >
00565 $r = ucfirst($r1); < span class = "comment" > // met le 1er caract<63> re en Majuscule, c'est + zoli< / span >
00566 < span class = "keywordflow" > return< / span > ($r); < span class = "comment" > // retourne le r<> sultat< / span >
00567 } < span class = "comment" > // fin fonction transcoS2L< / span >
00568
00569
00570
00571 function print_liste_field_titre($name, $file, $field, $begin=< span class = "stringliteral" > ""< / span > , $options=< span class = "stringliteral" > ""< / span > )
00572 {
00573 global $conf;
00574
00575 print $name.< span class = "stringliteral" > "& nbsp;"< / span > ;
00576 print '< a href=< span class = "stringliteral" > "'.$file.'?sortfield='.$field.'& amp;sortorder=asc& amp;begin='.$begin.$options.'"< / span > > ';
00577 print '< img src=< span class = "stringliteral" > "'.DOL_URL_ROOT.'/theme/'.$conf-> theme.'/img/1downarrow.png"< / span > border=< span class = "stringliteral" > "0"< / span > alt=< span class = "stringliteral" > "A-Z"< / span > > < /a> ';
00578 print '< a href=< span class = "stringliteral" > "'.$file.'?sortfield='.$field.'& amp;sortorder=desc& amp;begin='.$begin.$options.'"< / span > > ';
00579 print '< img src=< span class = "stringliteral" > "'.DOL_URL_ROOT.'/theme/'.$conf-> theme.'/img/1uparrow.png"< / span > border=< span class = "stringliteral" > "0"< / span > alt=< span class = "stringliteral" > "Z-A"< / span > > < /a> ';
00580 }
00581
00582 function print_liste_field_titre_new($name, $file, $field, $begin=< span class = "stringliteral" > ""< / span > , $options=< span class = "stringliteral" > ""< / span > , $td=< span class = "stringliteral" > ""< / span > , $sortfield=< span class = "stringliteral" > ""< / span > )
00583 {
00584 < span class = "comment" > /*< / span >
00585 < span class = "comment" > * idem <20> la fonction ci dessus mais ajoute des fonctionnalit<69> s< / span >
00586 < span class = "comment" > *< / span >
00587 < span class = "comment" > *< / span >
00588 < span class = "comment" > */< / span >
00589 global $conf;
00590 < span class = "keywordflow" > if< / span > ($sortfield == $field)
00591 {
00592 print '< td < span class = "keyword" > class< / span > =< span class = "stringliteral" > "menusel"< / span > '. $td.< span class = "charliteral" > '> '< / span > ;
00593 }
00594 < span class = "keywordflow" > else< / span >
00595 {
00596 print '< td '. $td.< span class = "charliteral" > '> '< / span > ;
00597 }
00598 print $name.< span class = "stringliteral" > "& nbsp;"< / span > ;
00599 print '< a href=< span class = "stringliteral" > "'.$file.'?sortfield='.$field.'& amp;sortorder=asc& amp;begin='.$begin.$options.'"< / span > > ';
00600 print '< img src=< span class = "stringliteral" > "'.DOL_URL_ROOT.'/theme/'.$conf-> theme.'/img/1downarrow.png"< / span > border=< span class = "stringliteral" > "0"< / span > alt=< span class = "stringliteral" > "A-Z"< / span > > < /a> ';
00601 print '< a href=< span class = "stringliteral" > "'.$file.'?sortfield='.$field.'& amp;sortorder=desc& amp;begin='.$begin.$options.'"< / span > > ';
00602 print '< img src=< span class = "stringliteral" > "'.DOL_URL_ROOT.'/theme/'.$conf-> theme.'/img/1uparrow.png"< / span > border=< span class = "stringliteral" > "0"< / span > alt=< span class = "stringliteral" > "Z-A"< / span > > < /a> ';
00603 print < span class = "stringliteral" > "< /td> "< / span > ;
00604 }
00605
00606 < span class = "comment" > /*< / span >
00607 < span class = "comment" > *< / span >
00608 < span class = "comment" > */< / span >
00609 function print_titre($titre)
00610 {
00611 print '< div < span class = "keyword" > class< / span > =< span class = "stringliteral" > "titre"< / span > > '.$titre.'< /div> ';
00612 }
00613 < span class = "comment" > /*< / span >
00614 < span class = "comment" > * Idem que print_titre mais offre en plus possibilit<69> de mettre un text <20> droite< / span >
00615 < span class = "comment" > */< / span >
00616 function print_fiche_titre($titre, $mesg='')
00617 {
00618 print < span class = "stringliteral" > "\n"< / span > .'< table width=< span class = "stringliteral" > "100%"< / span > border=< span class = "stringliteral" > "0"< / span > cellpadding=< span class = "stringliteral" > "3"< / span > cellspacing=< span class = "stringliteral" > "0"< / span > > ';
00619 print '< tr> < td> < div < span class = "keyword" > class< / span > =< span class = "stringliteral" > "titre"< / span > valign=< span class = "stringliteral" > "middle"< / span > > '.$titre.'< /div> < /td> ';
00620 < span class = "keywordflow" > if< / span > (strlen($mesg))
00621 {
00622 print '< td align=< span class = "stringliteral" > "right"< / span > valign=< span class = "stringliteral" > "middle"< / span > > < b> '.$mesg.'< /b> < /td> ';
00623 }
00624 print '< /tr> < /table> '.< span class = "stringliteral" > "\n"< / span > ;
00625 }
00626
00627 < span class = "comment" > /*< / span >
00628 < span class = "comment" > *< / span >
00629 < span class = "comment" > *< / span >
00630 < span class = "comment" > */< / span >
00631 function dol_delete_file($file)
00632 {
00633 < span class = "keywordflow" > return< / span > unlink($file);
00634 }
00635
00636 < span class = "comment" > /*< / span >
00637 < span class = "comment" > *< / span >
00638 < span class = "comment" > *< / span >
00639 < span class = "comment" > */< / span >
00640 function block_access()
00641 {
00642 llxHeader();
00643 print < span class = "stringliteral" > "Acc<63> s refus<75> "< / span > ;
00644 llxFooter();
00645 }
00646
00647 < span class = "comment" > /*< / span >
00648 < span class = "comment" > *< / span >
00649 < span class = "comment" > *< / span >
00650 < span class = "comment" > */< / span >
00651
00652 function print_barre_liste($titre, $page, $file, $options='', $sortfield='', $sortorder='', $form='', $num=-1)
00653 {
00654 global $conf;
00655
00656 < span class = "keywordflow" > if< / span > ($num > $conf-> liste_limit or $num == -1)
00657 {
00658 $nextpage = 1;
00659 }
00660 < span class = "keywordflow" > else< / span >
00661 {
00662 $nextpage = 0;
00663 }
00664
00665 print '< table width=< span class = "stringliteral" > "100%"< / span > border=< span class = "stringliteral" > "0"< / span > cellpadding=< span class = "stringliteral" > "3"< / span > cellspacing=< span class = "stringliteral" > "0"< / span > > ';
00666
00667 < span class = "keywordflow" > if< / span > ($page > 0)
00668 {
00669 print '< tr> < td> < div < span class = "keyword" > class< / span > =< span class = "stringliteral" > "titre"< / span > > '.$titre.' - page '.($page+1).'< /div> < /td> ';
00670 }
00671 < span class = "keywordflow" > else< / span >
00672 {
00673 print '< tr> < td> < div < span class = "keyword" > class< / span > =< span class = "stringliteral" > "titre"< / span > > '.$titre.'< /div> < /td> ';
00674 }
00675
00676 < span class = "keywordflow" > if< / span > ($form)
00677 {
00678 print '< td align=< span class = "stringliteral" > "left"< / span > > '.$form.'< /td> ';
00679 }
00680
00681 print '< td align=< span class = "stringliteral" > "right"< / span > > ';
00682
00683 < span class = "keywordflow" > if< / span > (strlen($sortfield))
00684 {
00685 $options .= < span class = "stringliteral" > "& amp;sortfield=$sortfield"< / span > ;
00686 }
00687
00688 < span class = "keywordflow" > if< / span > (strlen($sortorder))
00689 {
00690 $options .= < span class = "stringliteral" > "& amp;sortorder=$sortorder"< / span > ;
00691 }
00692
00693 < span class = "comment" > // affichage des fleches de navigation< / span >
00694
00695 print_fleche_navigation($page,$file,$options, $nextpage);
00696
00697 print '< /td> < /tr> < /table> ';
00698 }
00699
00700 < span class = "comment" > /*< / span >
00701 < span class = "comment" > * fonction servant a afficher les fleches de navigation dans les< / span >
00702 < span class = "comment" > * pages de liste< / span >
00703 < span class = "comment" > */< / span >
00704 function print_fleche_navigation($page,$file,$options='', $nextpage)
00705 {
00706 global $conf;
00707 < span class = "keywordflow" > if< / span > ($page > 0)
00708 {
00709 print '< a href=< span class = "stringliteral" > "'.$file.'?page='.($page-1).$options.'"< / span > > < img alt=< span class = "stringliteral" > "Page pr<70> c<EFBFBD> dente"< / span > src=< span class = "stringliteral" > "'.DOL_URL_ROOT.'/theme/'.$conf-> theme.'/img/1leftarrow.png"< / span > border=< span class = "stringliteral" > "0"< / span > > < /a> ';
00710 }
00711
00712 < span class = "keywordflow" > if< / span > ($nextpage > 0)
00713 {
00714 print '< a href=< span class = "stringliteral" > "'.$file.'?page='.($page+1).$options.'"< / span > > < img alt=< span class = "stringliteral" > "Page suivante"< / span > src=< span class = "stringliteral" > "'.DOL_URL_ROOT.'/theme/'.$conf-> theme.'/img/1rightarrow.png"< / span > border=< span class = "stringliteral" > "0"< / span > > < /a> ';
00715 }
00716 }
00717 < span class = "comment" > /*< / span >
00718 < span class = "comment" > *< / span >
00719 < span class = "comment" > *< / span >
00720 < span class = "comment" > */< / span >
00721 function print_oui_non($value)
00722 {
00723 < span class = "keywordflow" > if< / span > ($value)
00724 {
00725 print '< option value=< span class = "stringliteral" > "0"< / span > > non';
00726 print '< option value=< span class = "stringliteral" > "1"< / span > selected> oui';
00727 }
00728 < span class = "keywordflow" > else< / span >
00729 {
00730 print '< option value=< span class = "stringliteral" > "0"< / span > selected> non';
00731 print '< option value=< span class = "stringliteral" > "1"< / span > > oui';
00732 }
00733 }
00734 < span class = "comment" > /*< / span >
00735 < span class = "comment" > *< / span >
00736 < span class = "comment" > *< / span >
00737 < span class = "comment" > */< / span >
00738 function print_date_select($set_time='')
00739 {
00740 < span class = "keywordflow" > if< / span > (! $set_time)
00741 {
00742 $set_time = time();
00743 }
00744
00745 $strmonth[1] = < span class = "stringliteral" > "Janvier"< / span > ;
00746 $strmonth[2] = < span class = "stringliteral" > "F& eacute;vrier"< / span > ;
00747 $strmonth[3] = < span class = "stringliteral" > "Mars"< / span > ;
00748 $strmonth[4] = < span class = "stringliteral" > "Avril"< / span > ;
00749 $strmonth[5] = < span class = "stringliteral" > "Mai"< / span > ;
00750 $strmonth[6] = < span class = "stringliteral" > "Juin"< / span > ;
00751 $strmonth[7] = < span class = "stringliteral" > "Juillet"< / span > ;
00752 $strmonth[8] = < span class = "stringliteral" > "Ao& ucirc;t"< / span > ;
00753 $strmonth[9] = < span class = "stringliteral" > "Septembre"< / span > ;
00754 $strmonth[10] = < span class = "stringliteral" > "Octobre"< / span > ;
00755 $strmonth[11] = < span class = "stringliteral" > "Novembre"< / span > ;
00756 $strmonth[12] = < span class = "stringliteral" > "D& eacute;cembre"< / span > ;
00757
00758 $smonth = 1; $endmonth = 12;
00759 $sday = 1; $endday = 31;
00760
00761 $cday = date(< span class = "stringliteral" > "d"< / span > , $set_time);
00762 $cmonth = date(< span class = "stringliteral" > "n"< / span > , $set_time);
00763 $syear = date(< span class = "stringliteral" > "Y"< / span > , $set_time);
00764
00765 print < span class = "stringliteral" > "< select name=\"reday\"> "< / span > ;
00766
00767 < span class = "keywordflow" > for< / span > ($day = 1 ; $day < = $endday ; $day++)
00768 {
00769 < span class = "keywordflow" > if< / span > ($day == $cday)
00770 {
00771 print < span class = "stringliteral" > "< option value=\"$day\" selected> $day"< / span > ;
00772 }
00773 < span class = "keywordflow" > else< / span >
00774 {
00775 print < span class = "stringliteral" > "< option value=\"$day\"> $day"< / span > ;
00776 }
00777 }
00778
00779 print < span class = "stringliteral" > "< /select> "< / span > ;
00780
00781
00782 print < span class = "stringliteral" > "< select name=\"remonth\"> "< / span > ;
00783 < span class = "keywordflow" > for< / span > ($month = $smonth ; $month < = $endmonth ; $month++)
00784 {
00785 < span class = "keywordflow" > if< / span > ($month == $cmonth)
00786 {
00787 print < span class = "stringliteral" > "< option value=\"$month\" selected> "< / span > . $strmonth[$month];
00788 }
00789 < span class = "keywordflow" > else< / span >
00790 {
00791 print < span class = "stringliteral" > "< option value=\"$month\"> "< / span > . $strmonth[$month];
00792 }
00793 }
00794 print < span class = "stringliteral" > "< /select> "< / span > ;
00795
00796 print < span class = "stringliteral" > "< select name=\"reyear\"> "< / span > ;
00797
00798 < span class = "keywordflow" > for< / span > ($year = $syear - 2; $year < $syear + 5 ; $year++)
00799 {
00800 < span class = "keywordflow" > if< / span > ($year == $syear)
00801 {
00802 print < span class = "stringliteral" > "< option value=\"$year\" SELECTED> $year"< / span > ;
00803 }
00804 < span class = "keywordflow" > else< / span >
00805 {
00806 print < span class = "stringliteral" > "< option value=\"$year\"> $year"< / span > ;
00807 }
00808 }
00809 print < span class = "stringliteral" > "< /select> \n"< / span > ;
00810
00811 }
00812 < span class = "comment" > /*< / span >
00813 < span class = "comment" > *< / span >
00814 < span class = "comment" > *< / span >
00815 < span class = "comment" > */< / span >
00816 function print_heure_select($prefix,$begin=1,$end=23) {
00817
00818 print '< select name=< span class = "stringliteral" > "'.$prefix.'hour"< / span > > ';
00819 < span class = "keywordflow" > for< / span > ($hour = $begin ; $hour < = $end ; $hour++) {
00820 print < span class = "stringliteral" > "< option value=\"$hour\"> $hour"< / span > ;
00821 }
00822 print < span class = "stringliteral" > "< /select> & nbsp;H& nbsp;"< / span > ;
00823 print '< select name=< span class = "stringliteral" > "'.$prefix.'min"< / span > > ';
00824 < span class = "keywordflow" > for< / span > ($min = 0 ; $min < 60 ; $min=$min+5) {
00825 < span class = "keywordflow" > if< / span > ($min < 10) {
00826 $min = < span class = "stringliteral" > "0"< / span > . $min;
00827 }
00828 print < span class = "stringliteral" > "< option value=\"$min\"> $min"< / span > ;
00829 }
00830 print < span class = "stringliteral" > "< /select> \n"< / span > ;
00831 }
00832 < span class = "comment" > /*< / span >
00833 < span class = "comment" > *< / span >
00834 < span class = "comment" > *< / span >
00835 < span class = "comment" > */< / span >
00836 function print_duree_select($prefix)
00837 {
00838 print '< select name=< span class = "stringliteral" > "'.$prefix.'hour"< / span > > ';
00839 print < span class = "stringliteral" > "< option value=\"0\"> 0"< / span > ;
00840 print < span class = "stringliteral" > "< option value=\"1\" SELECTED> 1"< / span > ;
00841
00842 < span class = "keywordflow" > for< / span > ($hour = 2 ; $hour < 13 ; $hour++)
00843 {
00844 print < span class = "stringliteral" > "< option value=\"$hour\"> $hour"< / span > ;
00845 }
00846 print < span class = "stringliteral" > "< /select> & nbsp;H& nbsp;"< / span > ;
00847 print '< select name=< span class = "stringliteral" > "'.$prefix.'min"< / span > > ';
00848 < span class = "keywordflow" > for< / span > ($min = 0 ; $min < 55 ; $min=$min+5)
00849 {
00850 print < span class = "stringliteral" > "< option value=\"$min\"> $min"< / span > ;
00851 }
00852 print < span class = "stringliteral" > "< /select> \n"< / span > ;
00853 }
00854
00855 < span class = "comment" > /*< / span >
00856 < span class = "comment" > * Return an amount with format "9 999.99"< / span >
00857 < span class = "comment" > * Fonction utilis<69> e dans les pdf et les pages< / span >
00858 < span class = "comment" > * html< / span >
00859 < span class = "comment" > */< / span >
00860 function price($amount, $html=0)
00861 {
00862 < span class = "keywordflow" > if< / span > ($html)
00863 {
00864
00865 $dec=< span class = "charliteral" > '.'< / span > ; $thousand=< span class = "charliteral" > ' '< / span > ;
00866 < span class = "keywordflow" > return< / span > ereg_replace(< span class = "charliteral" > ' '< / span > ,'& nbsp;',number_format($amount, 2, $dec, $thousand));
00867
00868 }
00869 < span class = "keywordflow" > else< / span >
00870 {
00871 < span class = "keywordflow" > return< / span > number_format($amount, 2, < span class = "charliteral" > '.'< / span > , < span class = "charliteral" > ' '< / span > );
00872 }
00873
00874 }
00875
00876 function francs($euros)
00877 {
00878 < span class = "keywordflow" > return< / span > price($euros * 6.55957);
00879 }
00880
00881 function tva($euros, $taux=19.6)
00882 {
00883 $taux = $taux / 100 ;
00884
00885 < span class = "keywordflow" > return< / span > sprintf(< span class = "stringliteral" > "%01.2f"< / span > ,($euros * $taux));
00886 }
00887 function inctva($euros, $taux=1.196)
00888 {
00889 < span class = "keywordflow" > return< / span > sprintf(< span class = "stringliteral" > "%01.2f"< / span > ,($euros * $taux));
00890 }
00891
00892
00893 < span class = "comment" > /*< / span >
00894 < span class = "comment" > *< / span >
00895 < span class = "comment" > *< / span >
00896 < span class = "comment" > */< / span >
00897 function stat_print($basename,$bc1,$bc2,$ftc, $jour) {
00898
00899 $db = pg_Connect(< span class = "stringliteral" > ""< / span > ,< span class = "stringliteral" > ""< / span > ,< span class = "stringliteral" > ""< / span > ,< span class = "stringliteral" > ""< / span > ,< span class = "stringliteral" > "$basename"< / span > );
00900 < span class = "keywordflow" > if< / span > (!$db) {
00901 echo < span class = "stringliteral" > "Pas de connexion a la base\n"< / span > ;
00902 exit ;
00903 }
00904
00905 $offset = $jour * 9;
00906
00907 $sql=< span class = "stringliteral" > "SELECT s.date, s.nb, l.libelle FROM stat_base as s, stat_cat as l WHERE s.cat = l.id ORDER by s.date DESC, s.cat ASC LIMIT 9 OFFSET $offset"< / span > ;
00908
00909 $result = $db-> query($sql);
00910 < span class = "keywordflow" > if< / span > (!$result) {
00911 print < span class = "stringliteral" > "Erreur SELECT< br> < h1> $sql< /h1> < br> "< / span > ;
00912 < span class = "keywordflow" > return< / span > 1;
00913 }
00914
00915 print < span class = "stringliteral" > "< table border=1 cellspacing=0 cellpadding=2> "< / span > ;
00916 print < span class = "stringliteral" > "< tr> < td> < font color=\"white\"> base < b> $basename< /b> < /font> < /td> "< / span > ;
00917 print < span class = "stringliteral" > "< td> < font color=\"white\"> libelle< /font> < /td> "< / span > ;
00918 print < span class = "stringliteral" > "< /tr> "< / span > ;
00919
00920 $num = $db-> num_rows();
00921 $i = 0;
00922
00923 $tag = 1;
00924 < span class = "keywordflow" > while< / span > ( $i < $num) {
00925 $obj = $db-> fetch_object( $i);
00926
00927 $tag = !$tag;
00928
00929 print < span class = "stringliteral" > "< TR> < TD> $obj-> date< /TD> < TD> $obj-> libelle< /TD> \n"< / span > ;
00930 print < span class = "stringliteral" > "< TD align=\"center\"> $obj-> nb< /TD> < /TR> \n"< / span > ;
00931 $i++;
00932 }
00933 print < span class = "stringliteral" > "< /TABLE> "< / span > ;
00934 $db-> free();
00935
00936 $db-> close();
00937
00938 }
00939
00940 function tab_count($basename,$bc1,$bc2,$ftc) {
00941
00942 $db = pg_Connect(< span class = "stringliteral" > ""< / span > ,< span class = "stringliteral" > ""< / span > ,< span class = "stringliteral" > ""< / span > ,< span class = "stringliteral" > ""< / span > ,< span class = "stringliteral" > "$basename"< / span > );
00943 < span class = "keywordflow" > if< / span > (!$db) {
00944 echo < span class = "stringliteral" > "Pas de connexion a la base\n"< / span > ;
00945 exit ;
00946 }
00947
00948 $sql=< span class = "stringliteral" > "SELECT count(*) AS nbcv from candidat WHERE active=1"< / span > ;
00949 $result = $db-> query($sql);
00950 < span class = "keywordflow" > if< / span > (!$result) {
00951 print < span class = "stringliteral" > "Erreur SELECT< br> < h1> $sql< /h1> < br> "< / span > ;
00952 < span class = "keywordflow" > return< / span > 1;
00953 }
00954 print < span class = "stringliteral" > "< table border=0 bgcolor=black cellspacing=0 cellpadding=0> < tr> < td> "< / span > ;
00955
00956 print < span class = "stringliteral" > "< table border=0 cellspacing=1 cellpadding=1> "< / span > ;
00957 print < span class = "stringliteral" > "< tr> < td> < font color=\"white\"> base < b> $basename< /b> < /font> < /td> "< / span > ;
00958 print < span class = "stringliteral" > "< td> < font color=\"white\"> libelle< /font> < /td> "< / span > ;
00959 print < span class = "stringliteral" > "< /tr> "< / span > ;
00960 $nbcv = $db-> result( $i, < span class = "stringliteral" > "nbcv"< / span > );
00961
00962 print < span class = "stringliteral" > "< tr $bc1> < td> < b> $ftc Nombre de CV< /font> < /b> < /td> \n"< / span > ;
00963 print < span class = "stringliteral" > "< td align=\"center\"> $ftc $nbcv< /td> \n"< / span > ;
00964 print < span class = "stringliteral" > "< /tr> \n"< / span > ;
00965 $db-> free();
00966
00967 $sql=< span class = "stringliteral" > "SELECT count(*) AS nbcv from offre WHERE active=1"< / span > ;
00968
00969 $result = $db-> query($sql);
00970 < span class = "keywordflow" > if< / span > (!$result) {
00971 print < span class = "stringliteral" > "Erreur SELECT< br> < h1> $sql< /h1> < br> "< / span > ;
00972 }
00973 $nbcv = $db-> result( $i, < span class = "stringliteral" > "nbcv"< / span > );
00974
00975 print < span class = "stringliteral" > "< tr $bc2> < td> < b> $ftc Nombre d'offre< /font> < /b> < /td> "< / span > ;
00976 print < span class = "stringliteral" > "< td align=\"center\"> $ftc $nbcv< /td> "< / span > ;
00977 print < span class = "stringliteral" > "< /tr> "< / span > ;
00978
00979 $db-> free();
00980
00981
00982 $sql=< span class = "stringliteral" > "SELECT count(*) AS nbcv from candidat WHERE active=0"< / span > ;
00983
00984 $result = $db-> query($sql);
00985 < span class = "keywordflow" > if< / span > (!$result) {
00986 print < span class = "stringliteral" > "Erreur SELECT< br> < h1> $sql< /h1> < br> "< / span > ;
00987 }
00988
00989 $nbcv = $db-> result( $i, < span class = "stringliteral" > "nbcv"< / span > );
00990
00991 print < span class = "stringliteral" > "< tr $bc1> < td> < b> $ftc Nombre de CV inactifs< /font> < /b> < /td> \n"< / span > ;
00992 print < span class = "stringliteral" > "< td align=\"center\"> $ftc $nbcv< /td> "< / span > ;
00993 print < span class = "stringliteral" > "< /tr> "< / span > ;
00994
00995 $db-> free();
00996
00997
00998 $sql=< span class = "stringliteral" > "SELECT count(*) AS nbcv from offre WHERE active=0"< / span > ;
00999
01000 $result = $db-> query($sql);
01001 < span class = "keywordflow" > if< / span > (!$result) {
01002 print < span class = "stringliteral" > "Erreur SELECT< br> < h1> $sql< /h1> < br> "< / span > ;
01003 }
01004
01005 $nbcv = $db-> result( $i, < span class = "stringliteral" > "nbcv"< / span > );
01006
01007 print < span class = "stringliteral" > "< tr $bc2> < td> < b> $ftc Nombre d'offres inactives< /font> < /b> < /td> \n"< / span > ;
01008 print < span class = "stringliteral" > "< td align=\"center\"> $ftc $nbcv< /td> \n"< / span > ;
01009 print < span class = "stringliteral" > "< /tr> \n"< / span > ;
01010
01011 $db-> free();
01012
01013 $sql=< span class = "stringliteral" > "SELECT count(*) AS nbsoc from logsoc"< / span > ;
01014
01015 $result = $db-> query($sql);
01016 < span class = "keywordflow" > if< / span > (!$result) {
01017 print < span class = "stringliteral" > "Erreur SELECT< br> < h1> $sql< /h1> < br> "< / span > ;
01018 }
01019
01020 $nbsoc = $db-> result( $i, < span class = "stringliteral" > "nbsoc"< / span > );
01021
01022 print < span class = "stringliteral" > "< tr $bc1> < td> < b> $ftc Nombre de logins societes< /font> < /b> < /td> \n"< / span > ;
01023 print < span class = "stringliteral" > "< td align=\"center\"> $ftc $nbsoc< /td> "< / span > ;
01024 print < span class = "stringliteral" > "< /tr> "< / span > ;
01025
01026 print < span class = "stringliteral" > "< /td> < /tr> < /table> < /td> < /tr> < /table> "< / span > ;
01027
01028 $db-> close();
01029
01030 }
01031
01032 < span class = "comment" > /*< / span >
01033 < span class = "comment" > * logfile : permet de logguer dans un fichier< / span >
01034 < span class = "comment" > * cette fonction ne fonctionenra que si et seulement si le fichier de< / span >
01035 < span class = "comment" > * la constante globale MAIN_DEBUG existe et vaut 1< / span >
01036 < span class = "comment" > */< / span >
01037 function logfile($str,$log=< span class = "stringliteral" > "/var/log/dolibarr/dolibarr.log"< / span > )
01038 {
01039 < span class = "keywordflow" > if< / span > (defined(< span class = "stringliteral" > "MAIN_DEBUG"< / span > ) & & MAIN_DEBUG ==1)
01040 {
01041 < span class = "keywordflow" > if< / span > (!file_exists($log))
01042 {
01043 < span class = "keywordflow" > if< / span > (!$file=fopen($log,< span class = "stringliteral" > "w"< / span > ))
01044 {
01045 < span class = "keywordflow" > return< / span > 0;
01046 }
01047 }
01048 < span class = "keywordflow" > else< / span >
01049 {
01050 < span class = "keywordflow" > if< / span > (!$file=fopen($log,< span class = "stringliteral" > "a+"< / span > ))
01051 {
01052 < span class = "keywordflow" > return< / span > 0;
01053 }
01054 }
01055 $logentry=date(< span class = "stringliteral" > "[d/M/Y:H:i:s] "< / span > ).$str.< span class = "stringliteral" > "\n"< / span > ;
01056 < span class = "keywordflow" > if< / span > (!fwrite($file,$logentry)) {
01057 fclose($file);
01058 < span class = "keywordflow" > return< / span > 0;
01059 }
01060 fclose($file);
01061 < span class = "keywordflow" > return< / span > 1;
01062 }
01063 }
01064
01065 < span class = "comment" > /*< / span >
01066 < span class = "comment" > * Fonctions reprise sur spip< / span >
01067 < span class = "comment" > * http://www.uzine.net/spip/< / span >
01068 < span class = "comment" > */< / span >
01069 function creer_pass_aleatoire($longueur = 8, $sel = < span class = "stringliteral" > ""< / span > ) {
01070 $seed = (< span class = "keywordtype" > double< / span > ) (microtime() + 1) * time();
01071 srand($seed);
01072
01073 < span class = "keywordflow" > for< / span > ($i = 0; $i < $longueur; $i++) {
01074 < span class = "keywordflow" > if< / span > (!$s) {
01075 < span class = "keywordflow" > if< / span > (!$s) $s = rand();
01076 $s = substr(md5(uniqid($s).$sel), 0, 16);
01077 }
01078 $r = unpack(< span class = "stringliteral" > "Cr"< / span > , pack(< span class = "stringliteral" > "H2"< / span > , $s.$s));
01079 $x = $r[< span class = "charliteral" > 'r'< / span > ] & 63;
01080 < span class = "keywordflow" > if< / span > ($x < 10) $x = chr($x + 48);
01081 < span class = "keywordflow" > else< / span > < span class = "keywordflow" > if< / span > ($x < 36) $x = chr($x + 55);
01082 < span class = "keywordflow" > else< / span > < span class = "keywordflow" > if< / span > ($x < 62) $x = chr($x + 61);
01083 < span class = "keywordflow" > else< / span > < span class = "keywordflow" > if< / span > ($x == 63) $x = < span class = "charliteral" > '/'< / span > ;
01084 < span class = "keywordflow" > else< / span > $x = < span class = "charliteral" > '.'< / span > ;
01085 $pass .= $x;
01086 $s = substr($s, 2);
01087 }
01088 < span class = "keywordflow" > return< / span > $pass;
01089 }
01090
01091 < span class = "comment" > /*< / span >
01092 < span class = "comment" > * Fonctions reprise sur spip< / span >
01093 < span class = "comment" > * http://www.uzine.net/spip/< / span >
01094 < span class = "comment" > */< / span >
01095
01096 function initialiser_sel() {
01097 global $htsalt;
01098
01099 $htsalt = '$1$'.creer_pass_aleatoire();
01100 }
01101
01102 ?>
2004-07-15 18:43:48 +00:00
< / div > < / pre > < hr size = "1" > < address style = "align: right;" > < small > G<EFBFBD> n<EFBFBD> r<EFBFBD> le Thu Jul 15 20:50:38 2004 pour dolibarr par
2004-07-15 12:40:07 +00:00
< 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 >