PageRenderTime 35ms CodeModel.GetById 0ms RepoModel.GetById 0ms app.codeStats 0ms

/htdocs/compta/dons/liste.php

https://bitbucket.org/speedealing/speedealing
PHP | 197 lines | 147 code | 23 blank | 27 comment | 22 complexity | 3c2737885f468a7017ddc7de0bf862a6 MD5 | raw file
Possible License(s): LGPL-3.0, LGPL-2.1, GPL-3.0, MIT
  1. <?php
  2. /* Copyright (C) 2001-2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
  3. * Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
  4. * Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
  5. *
  6. * This program is free software; you can redistribute it and/or modify
  7. * it under the terms of the GNU General Public License as published by
  8. * the Free Software Foundation; either version 3 of the License, or
  9. * (at your option) any later version.
  10. *
  11. * This program is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. * GNU General Public License for more details.
  15. *
  16. * You should have received a copy of the GNU General Public License
  17. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  18. */
  19. /**
  20. * \file htdocs/compta/dons/liste.php
  21. * \ingroup don
  22. * \brief Page de liste des dons
  23. */
  24. require '../../main.inc.php';
  25. require_once DOL_DOCUMENT_ROOT.'/compta/dons/class/don.class.php';
  26. if (! empty($conf->projet->enabled)) require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php';
  27. $langs->load("companies");
  28. $langs->load("donations");
  29. $sortfield = GETPOST("sortfield",'alpha');
  30. $sortorder = GETPOST("sortorder",'alpha');
  31. $page = GETPOST("page",'int');
  32. if ($page == -1) { $page = 0; }
  33. $offset = $conf->liste_limit * $page;
  34. $pageprev = $page - 1;
  35. $pagenext = $page + 1;
  36. if (! $sortorder) $sortorder="DESC";
  37. if (! $sortfield) $sortfield="d.datedon";
  38. $limit = $conf->liste_limit;
  39. $statut=isset($_GET["statut"])?$_GET["statut"]:"-1";
  40. $search_ref=GETPOST('search_ref');
  41. $search_company=GETPOST('search_company');
  42. $search_name=GETPOST('search_name');
  43. if (!$user->rights->don->lire) accessforbidden();
  44. /*
  45. * View
  46. */
  47. if (! empty($conf->projet->enabled)) $projectstatic=new Project($db);
  48. llxHeader('',$langs->trans("Donations"),'EN:Module_Donations|FR:Module_Dons|ES:M&oacute;dulo_Donaciones');
  49. $donationstatic=new Don($db);
  50. // Genere requete de liste des dons
  51. $sql = "SELECT d.rowid, d.datedon, d.prenom, d.nom, d.societe,";
  52. $sql.= " d.amount, d.fk_statut as statut, ";
  53. $sql.= " p.rowid as pid, p.ref, p.title, p.public";
  54. $sql.= " FROM ".MAIN_DB_PREFIX."don as d LEFT JOIN ".MAIN_DB_PREFIX."projet AS p";
  55. $sql.= " ON p.rowid = d.fk_don_projet WHERE 1 = 1";
  56. if ($statut >= 0)
  57. {
  58. $sql .= " AND d.fk_statut = ".$statut;
  59. }
  60. if (trim($search_ref) != '')
  61. {
  62. $sql.= ' AND d.rowid LIKE \'%'.$db->escape(trim($search_ref)) . '%\'';
  63. }
  64. if (trim($search_company) != '')
  65. {
  66. $sql.= ' AND d.societe LIKE \'%'.$db->escape(trim($search_company)) . '%\'';
  67. }
  68. if (trim($search_name) != '')
  69. {
  70. $sql.= ' AND d.nom LIKE \'%'.$db->escape(trim($search_name)) . '%\' OR d.prenom LIKE \'%'.$db->escape(trim($search_name)) . '%\'';
  71. }
  72. $sql.= $db->order($sortfield,$sortorder);
  73. $sql.= $db->plimit($limit+1, $offset);
  74. $resql = $db->query($sql);
  75. if ($resql)
  76. {
  77. $num = $db->num_rows($resql);
  78. $i = 0;
  79. $param="&statut=$statut&sortorder=$sortorder&sortfield=$sortfield";
  80. if ($statut >= 0)
  81. {
  82. $donationstatic->statut=$statut;
  83. $label=$donationstatic->getLibStatut(0);
  84. print_barre_liste($label, $page, $_SERVER["PHP_SELF"], $param, '', '', '', $num);
  85. }
  86. else
  87. {
  88. print_barre_liste($langs->trans("Donations"), $page, $_SERVER["PHP_SELF"], $param, '', '', '', $num);
  89. }
  90. print '<form method="get" action="'.$_SERVER["PHP_SELF"].'">'."\n";
  91. print "<table class=\"noborder\" width=\"100%\">";
  92. print '<tr class="liste_titre">';
  93. print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"d.rowid","&page=$page&statut=$statut","","",$sortfield,$sortorder);
  94. print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"d.societe","&page=$page&statut=$statut","","",$sortfield,$sortorder);
  95. print_liste_field_titre($langs->trans("Name"),$_SERVER["PHP_SELF"],"d.nom","&page=$page&statut=$statut","","",$sortfield,$sortorder);
  96. print_liste_field_titre($langs->trans("Date"),$_SERVER["PHP_SELF"],"d.datedon","&page=$page&statut=$statut","",'align="center"',$sortfield,$sortorder);
  97. if (! empty($conf->projet->enabled))
  98. {
  99. $langs->load("projects");
  100. print_liste_field_titre($langs->trans("Project"),$_SERVER["PHP_SELF"],"fk_don_projet","&page=$page&statut=$statut","","",$sortfield,$sortorder);
  101. }
  102. print_liste_field_titre($langs->trans("Amount"),$_SERVER["PHP_SELF"],"d.amount","&page=$page&statut=$statut","",'align="right"',$sortfield,$sortorder);
  103. print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"d.fk_statut","&page=$page&statut=$statut","",'align="right"',$sortfield,$sortorder);
  104. print "</tr>\n";
  105. // Filters lines
  106. print '<tr class="liste_titre">';
  107. print '<td class="liste_titre">';
  108. print '<input class="flat" size="10" type="text" name="search_ref" value="'.$search_ref.'">';
  109. print '</td>';
  110. print '<td class="liste_titre">';
  111. print '<input class="flat" size="10" type="text" name="search_company" value="'.$search_company.'">';
  112. print '</td>';
  113. print '<td class="liste_titre">';
  114. print '<input class="flat" size="10" type="text" name="search_name" value="'.$search_name.'">';
  115. print '</td>';
  116. print '<td class="liste_titre" align="left">';
  117. print '&nbsp;';
  118. print '</td>';
  119. if (! empty($conf->projet->enabled))
  120. {
  121. print '<td class="liste_titre" align="right">';
  122. print '&nbsp;';
  123. print '</td>';
  124. }
  125. print '<td class="liste_titre" align="right">';
  126. print '&nbsp;';
  127. print '</td>';
  128. print '<td class="liste_titre" align="right"><input type="image" class="liste_titre" name="button_search" src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/search.png" value="'.dol_escape_htmltag($langs->trans("Search")).'" title="'.dol_escape_htmltag($langs->trans("Search")).'">';
  129. print "</td></tr>\n";
  130. $var=True;
  131. while ($i < min($num,$limit))
  132. {
  133. $objp = $db->fetch_object($result);
  134. $var=!$var;
  135. print "<tr ".$bc[$var].">";
  136. $donationstatic->id=$objp->rowid;
  137. $donationstatic->ref=$objp->rowid;
  138. $donationstatic->nom=$objp->nom;
  139. $donationstatic->prenom=$objp->prenom;
  140. print "<td>".$donationstatic->getNomUrl(1)."</td>\n";
  141. print "<td>".$objp->societe."</td>\n";
  142. print "<td>".$donationstatic->getFullName($langs)."</td>\n";
  143. print '<td align="center">'.dol_print_date($db->jdate($objp->datedon),'day').'</td>';
  144. if (! empty($conf->projet->enabled))
  145. {
  146. print "<td>";
  147. if ($objp->pid)
  148. {
  149. $projectstatic->id=$objp->pid;
  150. $projectstatic->ref=$objp->ref;
  151. $projectstatic->id=$objp->pid;
  152. $projectstatic->public=$objp->public;
  153. $projectstatic->title=$objp->title;
  154. print $projectstatic->getNomUrl(1);
  155. }
  156. else print '&nbsp;';
  157. print "</td>\n";
  158. }
  159. print '<td align="right">'.price($objp->amount).'</td>';
  160. print '<td align="right">'.$donationstatic->LibStatut($objp->statut,5).'</td>';
  161. print "</tr>";
  162. $i++;
  163. }
  164. print "</table>";
  165. print "</form>\n";
  166. $db->free($resql);
  167. }
  168. else
  169. {
  170. dol_print_error($db);
  171. }
  172. $db->close();
  173. llxFooter();
  174. ?>