forked from Wavyzz/dolibarr
1112 lines
59 KiB
HTML
1112 lines
59 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/functions.inc.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 principale</a> | <a class="qindex" href="files.html">Liste des fichiers</a> | <a class="qindex" href="globals.html">Membres de fichier</a></div>
|
|
<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é 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éé par : "</span> . $object->user_creation->fullname . '<br>';
|
|
00132 print <span class="stringliteral">"Date de création : "</span> . strftime(<span class="stringliteral">"%A %d %B %Y %H:%M:%S"</span>,$object->date_creation) . '<br>';
|
|
00133 print <span class="stringliteral">"Modifié 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écé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é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é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é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\&\é\"\'\(\-\è\_\ç\à\)\=\;\:\!\*\$\^<>]"</span>;
|
|
00444 <span class="keywordflow">if</span> (ereg($valid,$zonein))
|
|
00445 {
|
|
00446 $r = <span class="stringliteral">"<b>la chaî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è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ène la zone input, ça c'est fort ! merci PHP</span>
|
|
00453 $virg = strpos($zonein,<span class="stringliteral">","</span>,1); <span class="comment">// à 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î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é 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î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è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 à la fonction ci dessus mais ajoute des fonctionnalité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é de mettre un text à 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és refusé"</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écé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é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 ?>
|
|
</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>
|