[ Index ] |
|
Code source de Dolibarr 2.0.1 |
1 <?php 2 /* Copyright (C) 2001-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org> 3 * Copyright (C) 2004-2005 Laurent Destailleur <eldy@users.sourceforge.net> 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; either version 2 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program; if not, write to the Free Software 17 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 * 19 * $Id: index.php,v 1.51.2.1 2005/12/21 20:16:29 hregis Exp $ 20 * $Source: /cvsroot/dolibarr/dolibarr/htdocs/index.php,v $ 21 */ 22 23 /** 24 \file htdocs/index.php 25 \brief Page accueil par defaut 26 \version $Revision: 1.51.2.1 $ 27 */ 28 29 require ("./pre.inc.php"); 30 31 $user->getrights(''); 32 33 34 // Simule le menu par défaut sur Home 35 if (! isset($_GET["mainmenu"])) $_GET["mainmenu"]="home"; 36 37 38 llxHeader(); 39 40 41 42 print_fiche_titre($langs->trans("HomeArea")); 43 44 45 if (defined("MAIN_MOTD") && strlen(trim(MAIN_MOTD))) 46 { 47 print '<table width="100%" class="notopnoleftnoright"><tr><td>'; 48 print nl2br(MAIN_MOTD); 49 print '</td></tr></table><br>'; 50 } 51 52 // Affiche warning répertoire install existe (si utilisateur admin) 53 if ($user->admin && ! defined("MAIN_REMOVE_INSTALL_WARNING")) 54 { 55 if (is_dir(DOL_DOCUMENT_ROOT."/install") && is_readable(DOL_DOCUMENT_ROOT."/install")) 56 { 57 $langs->load("other"); 58 print '<table width="100%"><tr><td>'; 59 print '<div class="warning">'.$langs->trans("WarningInstallDirExists",DOL_DOCUMENT_ROOT."/install").' '; 60 print $langs->trans("WarningUntilDirRemoved",DOL_DOCUMENT_ROOT."/install").'</div>'; 61 print '</td></tr></table>'; 62 print "<br>\n"; 63 } 64 } 65 66 print '<table width="100%" class="notopnoleftnoright">'; 67 68 print '<tr><td valign="top" class="notopnoleft">'; 69 70 71 /* 72 * Informations 73 */ 74 75 if (file_exists(DOL_DOCUMENT_ROOT.'/logo.png')) 76 { 77 print '<table class="noborder" width="100%">'; 78 print '<tr><td colspan="3" style="text-align:center;">'; 79 print '<img src="/logo.png"></td></tr>'; 80 print "</table><br />\n"; 81 } 82 83 84 print '<table class="noborder" width="100%">'; 85 print '<tr class="liste_titre"><td colspan="2">'.$langs->trans("Informations").'</td></tr>'; 86 print '<tr '.$bc[false].'>'; 87 $userstring=$user->fullname; 88 print '<td nowrap>'.$langs->trans("User").'</td><td>'.$userstring.'</td></tr>'; 89 print '<tr '.$bc[true].'>'; 90 print '<td nowrap>'.$langs->trans("LastAccess").'</td><td>'; 91 if ($user->datelastaccess) print dolibarr_print_date($user->datelastaccess,"%d %B %Y %H:%M:%S"); 92 else print $langs->trans("Unknown"); 93 print '</td>'; 94 print "</tr>\n"; 95 print "</table>\n"; 96 97 98 /* 99 * Tableau de bord d'états Dolibarr (statistiques) 100 * Non affiché pour un utilisateur externe 101 */ 102 $langs->load("commercial"); 103 if ($user->societe_id == 0) 104 { 105 print '<br>'; 106 print '<table class="noborder" width="100%">'; 107 print '<tr class="liste_titre">'; 108 print '<td colspan="2">'.$langs->trans("DolibarrStateBoard").'</td>'; 109 print '<td align="right"> </td>'; 110 print '</tr>'; 111 112 $var=true; 113 114 // Condition à vérifier pour affichage de chaque ligne du tableau de bord 115 $conditions=array($conf->societe->enabled && $user->rights->societe->lire, 116 $conf->societe->enabled && $user->rights->societe->lire, 117 $conf->fournisseur->enabled && $user->rights->fournisseur->lire, 118 $conf->adherent->enabled && $user->rights->adherent->lire, 119 $conf->produit->enabled && $user->rights->produit->lire, 120 $conf->service->enabled && $user->rights->produit->lire, 121 $conf->telephonie->enabled && $user->rights->telephonie->lire); 122 // Fichier des classes qui contiennent la methode load_state_board pour chaque ligne 123 $includes=array(DOL_DOCUMENT_ROOT."/client.class.php", 124 DOL_DOCUMENT_ROOT."/client.class.php", 125 DOL_DOCUMENT_ROOT."/fourn/fournisseur.class.php", 126 DOL_DOCUMENT_ROOT."/adherents/adherent.class.php", 127 DOL_DOCUMENT_ROOT."/product.class.php", 128 DOL_DOCUMENT_ROOT."/service.class.php", 129 DOL_DOCUMENT_ROOT."/telephonie/lignetel.class.php"); 130 // Nom des classes qui contiennent la methode load_state_board pour chaque ligne 131 $classes=array('Client', 132 'Client', 133 'Fournisseur', 134 'Adherent', 135 'Product', 136 'Service', 137 'LigneTel'); 138 // Clé de tableau retourné par la methode load_state_bord pour chaque ligne 139 $keys=array('customers', 140 'prospects', 141 'suppliers', 142 'members', 143 'products', 144 'services', 145 'sign'); 146 // Icon des lignes du tableau de bord 147 $icons=array('company', 148 'company', 149 'company', 150 'user', 151 'product', 152 'service', 153 'phoning'); 154 // Titre des lignes du tableau de bord 155 $titres=array($langs->trans("Customers"), 156 $langs->trans("Prospects"), 157 $langs->trans("Suppliers"), 158 $langs->trans("Members"), 159 $langs->trans("Products"), 160 $langs->trans("Services"), 161 $langs->trans("Lignes de téléphonie suivis")); 162 // Lien des lignes du tableau de bord 163 $links=array(DOL_URL_ROOT.'/comm/clients.php', 164 DOL_URL_ROOT.'/comm/prospect/prospects.php', 165 DOL_URL_ROOT.'/fourn/liste.php', 166 DOL_URL_ROOT.'/adherents/liste.php?statut=1&mainmenu=members', 167 DOL_URL_ROOT.'/product/liste.php?type=0&mainmenu=products', 168 DOL_URL_ROOT.'/product/liste.php?type=1&mainmenu=products', 169 DOL_URL_ROOT.'/telephonie/ligne/index.php'); 170 171 // Boucle et affiche chaque ligne du tableau 172 foreach ($keys as $key=>$val) 173 { 174 if ($conditions[$key]) 175 { 176 $classe=$classes[$key]; 177 // Cherche dans cache si le load_state_board deja réalisé 178 if (! is_object($boardloaded[$classe])) 179 { 180 include_once($includes[$key]); 181 $board=new $classe($db); 182 $board->load_state_board($user); 183 $boardloaded[$classe]=$board; 184 } 185 else $board=$boardloaded[$classe]; 186 $var=!$var; 187 print '<tr '.$bc[$var].'><td width="16">'.img_object($titres[$key],$icons[$key]).'</td>'; 188 print '<td>'.$titres[$key].'</td>'; 189 print '<td align="right"><a href="'.$links[$key].'">'.$board->nb[$val].'</a></td>'; 190 print '</tr>'; 191 } 192 } 193 194 print '</table>'; 195 } 196 197 print '</td><td width="65%" valign="top" class="notopnoleftnoright">'; 198 199 200 /* 201 * Dolibarr Work Board 202 */ 203 204 if (MAIN_SHOW_WORKBOARD == 1) 205 { 206 207 print '<table class="noborder" width="100%">'; 208 print '<tr class="liste_titre">'; 209 print '<td colspan="2">'.$langs->trans("DolibarrWorkBoard").'</td>'; 210 print '<td align="right">'.$langs->trans("Number").'</td>'; 211 print '<td align="right">'.$langs->trans("Late").'</td>'; 212 print '<td> </td>'; 213 print '<td width="20"> </td>'; 214 print '</tr>'; 215 216 $var=true; 217 // 218 // Ne pas inclure de sections sans gestion de permissions 219 // 220 221 // Nbre actions à faire (en retard) 222 if (($conf->commercial->enabled || $conf->compta->enabled) && $user->rights->actions->lire) 223 { 224 include_once (DOL_DOCUMENT_ROOT."/actioncomm.class.php"); 225 $board=new ActionComm($db); 226 $board->load_board($user); 227 $board->warning_delay=$conf->actions->warning_delay/60/60/24; 228 $board->label=$langs->trans("ActionsToDo"); 229 230 $var=!$var; 231 print '<tr '.$bc[$var].'><td width="16">'.img_object($langs->trans("Actions"),"task").'</td><td>'.$board->label.'</td>'; 232 print '<td align="right"><a href="'.DOL_URL_ROOT.'/comm/action/index.php?status=todo">'.$board->nbtodo.'</a></td>'; 233 print '<td align="right">'; 234 print '<a href="'.DOL_URL_ROOT.'/comm/action/index.php?status=todo">'; 235 print $board->nbtodolate; 236 print '</a></td><td nowrap align="right">'; 237 print ' (>'.ceil($board->warning_delay).' '.$langs->trans("days").')'; 238 print '</td>'; 239 print '<td>'; 240 if ($board->nbtodolate > 0) print img_picto($langs->trans("Late"),"warning"); 241 else print ' '; 242 print '</td>'; 243 print '</tr>'; 244 } 245 246 // Nbre commandes clients à honorer 247 if ($conf->commande->enabled && $user->rights->commande->lire) 248 { 249 include_once (DOL_DOCUMENT_ROOT."/commande/commande.class.php"); 250 $board=new Commande($db); 251 $board->load_board($user); 252 253 $var=!$var; 254 print '<tr '.$bc[$var].'><td width="16">'.img_object($langs->trans("Orders"),"order").'</td><td>'.$langs->trans("OrdersToProcess").'</td>'; 255 print '<td align="right"><a href="'.DOL_URL_ROOT.'/commande/liste.php">'.$board->nbtodo.'</a></td>'; 256 print '<td align="right">'; 257 print '<a href="'.DOL_URL_ROOT.'/commande/liste.php">'; 258 print $board->nbtodolate; 259 print '</a></td><td nowrap align="right">'; 260 print ' (>'.ceil($conf->commande->traitement->warning_delay/60/60/24).' '.$langs->trans("days").')'; 261 print '</td>'; 262 print '<td>'; 263 if ($board->nbtodolate > 0) print img_picto($langs->trans("Late"),"warning"); 264 else print ' '; 265 print '</td>'; 266 print '</tr>'; 267 } 268 269 // Nbre propales ouvertes (expirées) 270 if ($conf->propal->enabled && $user->rights->propale->lire) 271 { 272 $langs->load("propal"); 273 274 include_once (DOL_DOCUMENT_ROOT."/propal.class.php"); 275 $board=new Propal($db); 276 $board->load_board($user,"opened"); 277 278 $var=!$var; 279 print '<tr '.$bc[$var].'><td width="16">'.img_object($langs->trans("Propals"),"propal").'</td><td>'.$langs->trans("PropalsToClose").'</td>'; 280 print '<td align="right"><a href="'.DOL_URL_ROOT.'/comm/propal.php?viewstatut=1">'.$board->nbtodo.'</a></td>'; 281 print '<td align="right">'; 282 print '<a href="'.DOL_URL_ROOT.'/comm/propal.php?viewstatut=1">'; 283 print $board->nbtodolate; 284 print '</a></td><td nowrap align="right">'; 285 print ' (>'.ceil($conf->propal->cloture->warning_delay/60/60/24).' '.$langs->trans("days").')'; 286 print '</td>'; 287 print '<td>'; 288 if ($board->nbtodolate > 0) print img_picto($langs->trans("Late"),"warning"); 289 else print ' '; 290 print '</td>'; 291 print '</tr>'; 292 } 293 294 // Nbre propales fermées signées (à facturer) 295 if ($conf->propal->enabled && $user->rights->propale->lire) 296 { 297 $langs->load("propal"); 298 299 include_once (DOL_DOCUMENT_ROOT."/propal.class.php"); 300 $board=new Propal($db); 301 $board->load_board($user,"signed"); 302 303 $var=!$var; 304 print '<tr '.$bc[$var].'><td width="16">'.img_object($langs->trans("Propals"),"propal").'</td><td>'.$langs->trans("PropalsToBill").'</td>'; 305 print '<td align="right"><a href="'.DOL_URL_ROOT.'/comm/propal.php?viewstatut=2">'.$board->nbtodo.'</a></td>'; 306 print '<td align="right">'; 307 print '<a href="'.DOL_URL_ROOT.'/comm/propal.php?viewstatut=2">'; 308 print $board->nbtodolate; 309 print '</a></td><td nowrap align="right">'; 310 print ' (>'.ceil($conf->propal->facturation->warning_delay/60/60/24).' '.$langs->trans("days").')'; 311 print '</td>'; 312 print '<td>'; 313 if ($board->nbtodolate > 0) print img_picto($langs->trans("Late"),"warning"); 314 else print ' '; 315 print '</td>'; 316 print '</tr>'; 317 } 318 319 // Nbre services à activer (en retard) 320 if ($conf->contrat->enabled && $user->rights->contrat->lire) 321 { 322 $langs->load("contracts"); 323 324 include_once (DOL_DOCUMENT_ROOT."/contrat/contrat.class.php"); 325 $board=new Contrat($db); 326 $board->load_board($user,"inactives"); 327 328 $var=!$var; 329 print '<tr '.$bc[$var].'><td width="16">'.img_object($langs->trans("Contract"),"contract").'</td><td>'.$langs->trans("BoardNotActivatedServices").'</td>'; 330 print '<td align="right"><a href="'.DOL_URL_ROOT.'/contrat/services.php?mainmenu=commercial&leftmenu=contracts&mode=0">'.$board->nbtodo.'</a></td>'; 331 print '<td align="right">'; 332 print '<a href="'.DOL_URL_ROOT.'/contrat/services.php?mainmenu=commercial&leftmenu=contracts&mode=0">'; 333 print $board->nbtodolate; 334 print '</a></td><td nowrap align="right">'; 335 print ' (>'.ceil($conf->contrat->services->inactifs->warning_delay/60/60/24).' '.$langs->trans("days").')'; 336 print '</td>'; 337 print '<td>'; 338 if ($board->nbtodolate > 0) print img_picto($langs->trans("Late"),"warning"); 339 else print ' '; 340 print '</td>'; 341 print '</tr>'; 342 } 343 344 // Nbre services actifs (à renouveler) 345 if ($conf->contrat->enabled && $user->rights->contrat->lire) 346 { 347 $langs->load("contracts"); 348 349 include_once (DOL_DOCUMENT_ROOT."/contrat/contrat.class.php"); 350 $board=new Contrat($db); 351 $board->load_board($user,"expired"); 352 353 $var=!$var; 354 print '<tr '.$bc[$var].'><td width="16">'.img_object($langs->trans("Contract"),"contract").'</td><td>'.$langs->trans("BoardRunningServices").'</td>'; 355 print '<td align="right"><a href="'.DOL_URL_ROOT.'/contrat/services.php?mainmenu=commercial&leftmenu=contracts&mode=4">'.$board->nbtodo.'</a></td>'; 356 print '<td align="right">'; 357 print '<a href="'.DOL_URL_ROOT.'/contrat/services.php?mainmenu=commercial&leftmenu=contracts&mode=4">'; 358 print $board->nbtodolate; 359 print '</a></td><td nowrap align="right">'; 360 print ' (>'.ceil($conf->contrat->services->expires->warning_delay/60/60/24).' '.$langs->trans("days").')'; 361 print '</td>'; 362 print '<td>'; 363 if ($board->nbtodolate > 0) print img_picto($langs->trans("Late"),"warning"); 364 else print ' '; 365 print '</td>'; 366 print '</tr>'; 367 } 368 369 // Nbre factures fournisseurs (à payer) 370 if ($conf->fournisseur->enabled && $conf->facture->enabled && $user->rights->facture->lire) 371 { 372 $langs->load("bills"); 373 374 include_once ("./fourn/fournisseur.facture.class.php"); 375 $board=new FactureFournisseur($db); 376 $board->load_board($user); 377 378 $var=!$var; 379 print '<tr '.$bc[$var].'><td width="16">'.img_object($langs->trans("Bills"),"bill").'</td><td>'.$langs->trans("SupplierBillsToPay").'</td>'; 380 print '<td align="right"><a href="'.DOL_URL_ROOT.'/fourn/facture/index.php?filtre=paye:0">'.$board->nbtodo.'</a></td>'; 381 print '<td align="right">'; 382 print '<a href="'.DOL_URL_ROOT.'/fourn/facture/index.php?filtre=paye:0">'; 383 print $board->nbtodolate; 384 print '</a></td><td nowrap align="right">'; 385 print ' (>'.ceil($conf->facture->fournisseur->warning_delay/60/60/24).' '.$langs->trans("days").')'; 386 print '</td>'; 387 print '<td>'; 388 if ($board->nbtodolate > 0) print img_picto($langs->trans("Late"),"warning"); 389 else print ' '; 390 print '</td>'; 391 print '</tr>'; 392 } 393 394 // Nbre factures clients (à payer) 395 if ($conf->facture->enabled && $user->rights->facture->lire) 396 { 397 include_once (DOL_DOCUMENT_ROOT."/facture.class.php"); 398 $board=new Facture($db); 399 $board->load_board($user); 400 401 $var=!$var; 402 print '<tr '.$bc[$var].'><td width="16">'.img_object($langs->trans("Bills"),"bill").'</td><td>'.$langs->trans("CustomerBillsUnpayed").'</td>'; 403 print '<td align="right"><a href="'.DOL_URL_ROOT.'/compta/facture/impayees.php">'.$board->nbtodo.'</a></td>'; 404 print '<td align="right">'; 405 print '<a href="'.DOL_URL_ROOT.'/compta/facture/impayees.php">'; 406 print $board->nbtodolate; 407 print '</a></td><td nowrap align="right">'; 408 print ' (>'.ceil($conf->facture->client->warning_delay/60/60/24).' '.$langs->trans("days").')'; 409 print '</td>'; 410 print '<td>'; 411 if ($board->nbtodolate > 0) print img_picto($langs->trans("Late"),"warning"); 412 else print ' '; 413 print '</td>'; 414 print '</tr>'; 415 } 416 417 // Nbre ecritures à rapprocher 418 if ($conf->banque->enabled && $user->rights->banque->lire && ! $user->societe_id) 419 { 420 $langs->load("banks"); 421 422 include_once (DOL_DOCUMENT_ROOT."/compta/bank/account.class.php"); 423 $board=new Account($db); 424 $board->load_board($user); 425 426 $var=!$var; 427 print '<tr '.$bc[$var].'><td width="16">'.img_object($langs->trans("TransactionsToConciliate"),"payment").'</td><td>'.$langs->trans("TransactionsToConciliate").'</td>'; 428 print '<td align="right"><a href="'.DOL_URL_ROOT.'/compta/bank/index.php?leftmenu=bank&mainmenu=bank">'.$board->nbtodo.'</a></td>'; 429 print '<td align="right">'; 430 print '<a href="'.DOL_URL_ROOT.'/compta/bank/index.php?leftmenu=bank&mainmenu=bank">'; 431 print $board->nbtodolate; 432 print '</a></td><td nowrap align="right">'; 433 print ' (>'.ceil($conf->bank->rappro->warning_delay/60/60/24).' '.$langs->trans("days").')'; 434 print '</td>'; 435 print '<td>'; 436 if ($board->nbtodolate > 0) print img_picto($langs->trans("Late"),"warning"); 437 else print ' '; 438 print '</td>'; 439 print '</tr>'; 440 } 441 442 // Nbre adhérent valides (attente cotisation) 443 if ($conf->adherent->enabled && $user->rights->adherent->lire && ! $user->societe_id) 444 { 445 $langs->load("members"); 446 447 include_once (DOL_DOCUMENT_ROOT."/adherents/adherent.class.php"); 448 $board=new Adherent($db); 449 $board->load_board($user); 450 451 $var=!$var; 452 print '<tr '.$bc[$var].'><td width="16">'.img_object($langs->trans("Members"),"user").'</td><td>'.$langs->trans("Members").'</td>'; 453 print '<td align="right"><a href="'.DOL_URL_ROOT.'/adherents/liste.php?mainmenu=members&statut=1">'.$board->nbtodo.'</a></td>'; 454 print '<td align="right">'; 455 print '<a href="'.DOL_URL_ROOT.'/adherents/liste.php?mainmenu=members&statut=1">'; 456 print $board->nbtodolate; 457 print '</a></td><td nowrap align="right">'; 458 print ' (>'.ceil($conf->adherent->cotisation->warning_delay/60/60/24).' '.$langs->trans("days").')'; 459 print '</td>'; 460 print '<td>'; 461 if ($board->nbtodolate > 0) print img_picto($langs->trans("Late"),"warning"); 462 else print ' '; 463 print '</td>'; 464 print '</tr>'; 465 } 466 467 print '</table>'; 468 } 469 470 print '</td></tr></table>'; 471 472 473 /* 474 * Affichage des boites 475 * 476 */ 477 include_once ("./boxes.php"); 478 $infobox=new InfoBox($db); 479 $boxes=$infobox->listboxes("0"); // 0 = valeur pour la page accueil 480 481 $NBCOLS=2; // Nombre de colonnes pour les boites 482 483 if (sizeof($boxes)) 484 { 485 print '<br>'; 486 print_fiche_titre($langs->trans("OtherInformationsBoxes")); 487 print '<table width="100%" class="notopnoleftnoright">'; 488 } 489 for ($ii=0, $ni=sizeof($boxes); $ii<$ni; $ii++) 490 { 491 if ($ii % $NBCOLS == 0) print "<tr>\n"; 492 print '<td valign="top" width="50%">'; 493 494 // Affichage boite ii 495 include_once(DOL_DOCUMENT_ROOT."/includes/boxes/".$boxes[$ii].".php"); 496 $box=new $boxes[$ii](); 497 $box->loadBox(); 498 $box->showBox(); 499 500 print "</td>"; 501 if ($ii % $NBCOLS == ($NBCOLS-1)) print "</tr>\n"; 502 } 503 if (sizeof($boxes)) 504 { 505 if ($ii % $NBCOLS == ($NBCOLS-1)) print "</tr>\n"; 506 print "</table>"; 507 } 508 509 510 // Juste pour éviter bug IE qui réorganise mal div précédents si celui-ci absent 511 print '<div class="tabsAction">'; 512 print ' '; 513 print '</div>'; 514 515 516 $db->close(); 517 518 llxFooter('$Date: 2005/12/21 20:16:29 $ - $Revision: 1.51.2.1 $'); 519 ?> 520 521 522 523 524 525 526 527 528 529
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Mon Nov 26 12:29:37 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |