document.php 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. <?php
  2. /* Copyright (C) 2003-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
  3. * Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
  4. * Copyright (C) 2005 Marc Barilley / Ocebo <marc@ocebo.com>
  5. * Copyright (C) 2005-2009 Regis Houssin <regis.houssin@inodbox.com>
  6. * Copyright (C) 2005 Simon TOSSER <simon@kornog-computing.com>
  7. * Copyright (C) 2011-2012 Juanjo Menent <jmenent@2byte.es>
  8. * Copyright (C) 2013 Cédric Salvador <csalvador@gpcsolutions.fr>
  9. * Copyright (C) 2016 Gilles Poirier <glgpoirier@gmail.com>
  10. *
  11. * This program is free software; you can redistribute it and/or modify
  12. * it under the terms of the GNU General Public License as published by
  13. * the Free Software Foundation; either version 3 of the License, or
  14. * (at your option) any later version.
  15. *
  16. * This program is distributed in the hope that it will be useful,
  17. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  18. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  19. * GNU General Public License for more details.
  20. *
  21. * You should have received a copy of the GNU General Public License
  22. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  23. */
  24. /**
  25. * \file htdocs/resource/document.php
  26. * \ingroup resource
  27. * \brief Page des documents joints sur les resources
  28. */
  29. require '../main.inc.php';
  30. require_once DOL_DOCUMENT_ROOT.'/resource/class/dolresource.class.php';
  31. require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
  32. require_once DOL_DOCUMENT_ROOT.'/core/lib/images.lib.php';
  33. require_once DOL_DOCUMENT_ROOT.'/core/lib/resource.lib.php';
  34. require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
  35. // Load translation files required by the page
  36. $langs->loadLangs(array('other', 'resource', 'companies'));
  37. $id = GETPOST('id','int');
  38. $ref = GETPOST('ref','alpha');
  39. $action = GETPOST('action','alpha');
  40. $confirm = GETPOST('confirm','alpha');
  41. // Security check
  42. if ($user->societe_id) $socid=$user->societe_id;
  43. $result = restrictedArea($user, 'resource', $id, 'resource');
  44. // Get parameters
  45. $sortfield = GETPOST('sortfield','alpha');
  46. $sortorder = GETPOST('sortorder','alpha');
  47. $page = GETPOST('page','int');
  48. if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1
  49. $offset = $conf->liste_limit * $page;
  50. $pageprev = $page - 1;
  51. $pagenext = $page + 1;
  52. if (! $sortorder) $sortorder="ASC";
  53. if (! $sortfield) $sortfield="name";
  54. $object = new DolResource($db);
  55. $object->fetch($id, $ref);
  56. $upload_dir = $conf->resource->dir_output.'/'.dol_sanitizeFileName($object->ref);
  57. $modulepart='resource';
  58. /*
  59. * Actions
  60. */
  61. include_once DOL_DOCUMENT_ROOT . '/core/actions_linkedfiles.inc.php';
  62. /*
  63. * View
  64. */
  65. $form = new Form($db);
  66. llxHeader('',$langs->trans("Resource"));
  67. if ($object->id)
  68. {
  69. $object->fetch_thirdparty();
  70. $head=resource_prepare_head($object);
  71. dol_fiche_head($head, 'documents', $langs->trans("ResourceSingular"), -1, 'resource');
  72. // Build file list
  73. $filearray=dol_dir_list($upload_dir,"files",0,'','(\.meta|_preview.*\.png)$',$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1);
  74. $totalsize=0;
  75. foreach($filearray as $key => $file)
  76. {
  77. $totalsize+=$file['size'];
  78. }
  79. $linkback = '<a href="' . DOL_URL_ROOT . '/resource/list.php' . (! empty($socid) ? '?id=' . $socid : '') . '">' . $langs->trans("BackToList") . '</a>';
  80. $morehtmlref='<div class="refidno">';
  81. $morehtmlref.='</div>';
  82. dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref);
  83. print '<div class="fichecenter">';
  84. print '<div class="underbanner clearboth"></div>';
  85. print '<table class="border" width="100%">';
  86. // Resource type
  87. print '<tr>';
  88. print '<td class="titlefield">' . $langs->trans("ResourceType") . '</td>';
  89. print '<td>';
  90. print $object->type_label;
  91. print '</td>';
  92. print '</tr>';
  93. print '<tr><td>'.$langs->trans("NbOfAttachedFiles").'</td><td colspan="3">'.count($filearray).'</td></tr>';
  94. print '<tr><td>'.$langs->trans("TotalSizeOfAttachedFiles").'</td><td colspan="3">'.dol_print_size($totalsize,1,1).'</td></tr>';
  95. print '</table>';
  96. print '</div>';
  97. dol_fiche_end();
  98. $modulepart = 'dolresource';
  99. $permission = $user->rights->resource->write;
  100. include_once DOL_DOCUMENT_ROOT . '/core/tpl/document_actions_post_headers.tpl.php';
  101. }
  102. else
  103. {
  104. print $langs->trans("ErrorUnknown");
  105. }
  106. // End of page
  107. llxFooter();
  108. $db->close();