2
0

cms.document.php 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. <?php
  2. if (core::ifGet("id") == FALSE and access::ifAccesss("add-document") == FALSE) {
  3. get::page("unknow");
  4. exit();
  5. }
  6. if (core::getGet("id") == NULL) {
  7. $titre = "Ajouter un document";
  8. $id_form = '<input type="hidden" name="id" value="add">';
  9. $submit = "Ajouter ce nouveau document";
  10. $document = session::getTemp("document");
  11. } else {
  12. $datas = document::get(core::getGet("id"));
  13. $document = $datas["document"];
  14. $files = $datas["files"];
  15. if (empty($document["id"]) or access::ifLimitAccessException("salaire") and isset($document["id_type"]) and $document["id_type"] == 3) {
  16. get::page("unknow");
  17. exit();
  18. }
  19. $id_form = '<input type="hidden" name="id" value="' . $document["id"] . '">';
  20. $submit = "Modifier ce document";
  21. $badgeCSS = " font-size:0.4em; margin-top:-5px;";
  22. $titre = "[#" . $document["id"] . "] " . $document["titre"];
  23. }
  24. if (debug::isFile("debug")) {
  25. (!empty($document)) ? debug::log($document, "Données brutes document") : NULL;
  26. (!empty($files)) ? debug::log($files, "Données brutes files") : NULL;
  27. }
  28. $userTags = user::getUser(session::getId())["tags"];
  29. ?>
  30. <header class="d-flex flex-column flex-md-row align-items-md-center p-3 bg-light ">
  31. <h2 class="bd-title" id="content">
  32. <span><?php echo $titre ?></span>
  33. </h2>
  34. <?php
  35. if (isset($document["id"]) and access::ifAccesss("add-document")) {
  36. ?>
  37. <div class="fix-container-button-nav">
  38. <a href="/submit.php?from=document-delete&id=<?php echo $document["id"] ?>" style="color: #dc3545; text-decoration:none;" onclick="return confirm('Voulez-vous supprimer ce document ?')"><button type="submit" class="btn btn-outline-danger btn-sm"><?php icon::getFont(["icon" => "bi-trash-fill"]) ?></i> Supprimer</button></a>
  39. </div>
  40. <?php
  41. }
  42. ?>
  43. </header>
  44. <?php
  45. if (core::ifGet("add")) {
  46. $labelFil = "Ajouter un document";
  47. $lienFil = "/add-document.html";
  48. } else {
  49. $labelFil = "[#" . $document["id"] . "] " . $document["titre"];
  50. $lienFil = "/document-" . core::getGet("id") . ".html";
  51. }
  52. echo core::filAriane(array(
  53. "current" => $labelFil,
  54. "arbo" => array(
  55. "Documents" => NULL,
  56. "Listes des documents" => "/documents.html",
  57. $labelFil => $lienFil
  58. )
  59. ));
  60. ?>
  61. <link rel="stylesheet" href="css/dragAndDrop.css">
  62. <?php if (access::ifAccesss("add-document")) { ?>
  63. <form id="form-document" method="post" action="/submit.php" enctype="multipart/form-data" onsubmit="return(false);">
  64. <?php } ?>
  65. <div class="row">
  66. <div class="col">
  67. <input type="hidden" name="from" value="document">
  68. <?php echo $id_form; ?>
  69. <?php $_titre = (isset($document["titre"])) ? $document["titre"] : NULL; ?>
  70. <div class="form-group">
  71. <label>Titre</label>
  72. <input type="text" class="form-control" value="<?php core::printFormValue($_titre) ?>" name="titre" placeholder="" required <?php if (!access::ifAccesss("add-document")) {
  73. echo "readonly";
  74. } ?>>
  75. </div>
  76. <br />
  77. <?php
  78. $_type_document = (isset($document["id_type"])) ? $document["id_type"] : NULL;
  79. $_label_type_document = document::getTypes();
  80. ?>
  81. <div class="form-group">
  82. <label>Type de document</label>
  83. <select id="id_type" name="id_type" class="form-select" <?php if (!access::ifAccesss("add-document")) {
  84. echo "disabled";
  85. } ?> required>
  86. <option value=""></option>
  87. <option value="1" <?php core::printFormSelectOption(1, $_type_document) ?>><?php echo $_label_type_document[1] ?></option>
  88. <option value="2" <?php core::printFormSelectOption(2, $_type_document) ?>><?php echo $_label_type_document[2] ?></option>
  89. <?php if (!access::ifLimitAccessException("salaire")) { ?>
  90. <option value="3" <?php core::printFormSelectOption(3, $_type_document) ?>><?php echo $_label_type_document[3] ?></option>
  91. <?php } ?>
  92. <option value="4" <?php core::printFormSelectOption(4, $_type_document) ?>><?php echo $_label_type_document[4] ?></option>
  93. <option value="0" <?php core::printFormSelectOption(0, $_type_document) ?>><?php echo $_label_type_document[0] ?></option>
  94. </select>
  95. </div>
  96. <br />
  97. <?php
  98. $_client = (isset($document["id_client"])) ? $document["id_client"] : NULL;
  99. $_all_clients = clients::getAll();
  100. ?>
  101. <div class="form-group" id="client-section" <?php if ($_type_document != 1 and $_type_document != 0) {
  102. echo 'style=" display: none;"';
  103. } ?>>
  104. <label>Lié à</label>
  105. <select name="id_client" id="id_client" class="form-select">
  106. <option value=""></option>
  107. <?php
  108. foreach ($_all_clients as $client) {
  109. echo '<option value="' . $client["id"] . '"';
  110. echo $_client == $client["id"] ? " selected" : NULL;
  111. echo '>' . $client["label"] . '</option>';
  112. }
  113. ?>
  114. </select>
  115. <br />
  116. </div>
  117. <?php $_montant = (isset($document["montant"])) ? $document["montant"] : NULL; ?>
  118. <div class="form-group">
  119. <label>Montant associé</label>
  120. <input type="text" class="form-control" value="<?php core::printFormValue($_montant) ?>" name="montant" placeholder="" onkeypress="return (event.charCode >= 48 && event.charCode <= 57) || event.charCode == 46 || event.charCode == 0 " <?php if (!access::ifAccesss("add-document")) {
  121. echo "readonly";
  122. } ?>>
  123. </div>
  124. <br />
  125. <?php $_tagsSupplier = (isset($document["tagsSupplier"])) ? $document["tagsSupplier"] : NULL; ?>
  126. <div class="form-group">
  127. <label>Tags associés</label>
  128. <input type="text" value="<?php core::printFormValue($_tagsSupplier) ?>" name="tagsSupplier" id="tagsSupplier" <?php if (!access::ifAccesss("add-document")) {
  129. echo "class=\"form-control\" readonly";
  130. } ?> />
  131. </div>
  132. <br />
  133. <?php $_date = (isset($document["date"])) ? $document["date"] : NULL; ?>
  134. <div class="form-group">
  135. <label>Date associée à ce document</label>
  136. <input type="date" class="form-control" name="date" value="<?php core::printFormValue($_date) ?>" placeholder="" required <?php if (!access::ifAccesss("add-document")) {
  137. echo "readonly";
  138. } ?>>
  139. </div>
  140. <br />
  141. <?php $_deadline = (isset($document["deadline"])) ? $document["deadline"] : NULL; ?>
  142. <div class="form-group">
  143. <label>Date limite de traitement</label>
  144. <input type="date" class="form-control" name="deadline" value="<?php core::printFormValue($_deadline) ?>" placeholder="" required <?php if (!access::ifAccesss("add-document")) {
  145. echo "readonly";
  146. } ?>>
  147. </div>
  148. <br />
  149. <?php $_description = (isset($document["description"])) ? $document["description"] : NULL; ?>
  150. <div class="form-group">
  151. <label>Description et commentaires</label>
  152. <textarea class="form-control" name="description" style="height:100%;" <?php if (!access::ifAccesss("add-document")) {
  153. echo "readonly";
  154. } ?>><?php core::printFormValue($_description) ?></textarea>
  155. </div>
  156. <br />
  157. <?php $_rapprochement = (isset($document["rapprochement"])) ? $document["rapprochement"] : NULL; ?>
  158. <div class="form-group">
  159. <label>Rapprochement comptable</label>
  160. <input type="text" class="form-control" value="<?php core::printFormValue($_rapprochement) ?>" name="rapprochement" placeholder="" <?php if (!access::ifAccesss("add-document")) {
  161. echo "readonly";
  162. } ?>>
  163. </div>
  164. <br />
  165. <?php $_tagsUser = (isset($document["tagsUser"])) ? $document["tagsUser"] : NULL; ?>
  166. <div class="form-group">
  167. <label>Attribution</label>
  168. <input type="text" value="<?php core::printFormValue($_tagsUser) ?>" name="tagsUser" id="tagsUser" <?php if (!access::ifAccesss("add-document")) {
  169. echo "class=\"form-control\" readonly";
  170. } ?> />
  171. </div>
  172. <br />
  173. <?php if (isset($files["principal"]["id"])) { ?>
  174. <div style="border:1px #CCCCCC solid; background-color:#F6F6F6; padding:20px; border-radius:.375rem;">
  175. <?php
  176. if ((isset($document) and tags::compareUserDocument($userTags, $document["tagsUser"]) == TRUE) or (isset($document["date_done"]))) {
  177. $checkDone = (isset($document["id_user_done"])) ? " disabled" : NULL;
  178. $checkColor = (isset($document["id_user_done"])) ? " style=\"background-color:#d1e7dd;\"" : NULL;
  179. $checkText = (isset($document["id_user_done"])) ? "Document traité par <span style=\"font-weight: bold;\">" . $document["doneUser"] . "</span> le" : "Document traité le";
  180. $_dateDone = (isset($document["date_done"])) ? $document["date_done"] : NULL;
  181. echo ' <div class="form-group">
  182. <label>' . $checkText . '</label>
  183. <input type="date" class="form-control"' . $checkColor . ' name="date_done" value="' . core::getFormValue($_dateDone) . '"' . $checkDone . '>
  184. </div><br />';
  185. }
  186. document::printAttachement($files);
  187. ?>
  188. <?php if (access::ifAccesss("add-document")) { ?>
  189. <div class="file-drop-area">
  190. <span class="choose-file-button">Ajouter une pièce jointe</span>
  191. <span class="file-message">ou drag & drop</span>
  192. <input id="attachement-document" class="import-excel" name="attachement-document" type="file" onchange="dargAndDropAttachment()" accept="image/jpeg,image/png,application/pdf,text/xml,application/xml">
  193. </div>
  194. <?php } ?>
  195. </div>
  196. <br />
  197. <?php } ?>
  198. </div>
  199. <div class="col">
  200. <?php if (empty($files["principal"]["id"])) { ?>
  201. <div class="file-drop-area" style="margin-top:22px;" id="file-document-import">
  202. <span class="choose-file-button">Choisissez votre document</span>
  203. <span class="file-message">ou drag & drop</span>
  204. <input id="document-import" class="import-excel" name="document-import" type="file" onchange="dargAndDrop()" accept="image/jpeg,image/png,application/pdf,text/xml,application/xml" required>
  205. </div>
  206. <br />
  207. <?php } else {
  208. $getMime = mime_content_type(file::download($files["principal"]["id"], DIR_DATAS_DOCS));
  209. $heigh = ($getMime == "application/pdf" or $getMime == "text/xml" or $getMime == "application/xml") ? "height:110vh;" : NULL;
  210. $marginTop = ($getMime == "text/xml" or $getMime == "application/xml") ? "margin-top:4px;" : "margin-top:22px;";
  211. echo ' <div style="' . $marginTop . '">
  212. <embed src="/document.php?id=' . $files["principal"]["id"] . '" style="width:100%; margin-top:10px;' . $heigh . '" /></embed>
  213. </div><br />
  214. ';
  215. }
  216. ?>
  217. </div>
  218. </div>
  219. <?php if (access::ifAccesss("add-document")) { ?>
  220. <input class="btn btn-primary btn-lg" style="width: 100%;" type="button" value="<?php echo $submit ?>" onclick="validateAndSubmit()">
  221. </form>
  222. <?php
  223. }
  224. get::javascript("document");
  225. ?>