json.class.php 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. <?php
  2. class json extends db
  3. {
  4. public function __construct()
  5. {
  6. }
  7. public static function create(string $_target)
  8. {
  9. if (isset($_target)) {
  10. switch ($_target) {
  11. case "salaries":
  12. return self::create_salaries();
  13. break;
  14. case "excel":
  15. return self::create_excel();
  16. break;
  17. case "excel-proweb":
  18. return self::create_excelProweb();
  19. break;
  20. case "events":
  21. return self::create_events();
  22. break;
  23. case "users":
  24. return self::create_users();
  25. break;
  26. case "salaries-proweb":
  27. return self::create_salariesProweb();
  28. break;
  29. case "lotterys":
  30. return self::create_lotterys();
  31. break;
  32. case "banque-lignes-1":
  33. return self::create_banque_lignes(1);
  34. break;
  35. case "banque-lignes-2":
  36. return self::create_banque_lignes(2);
  37. break;
  38. case "banque-lignes-3":
  39. return self::create_banque_lignes(3);
  40. break;
  41. case "banque-lignes-4":
  42. return self::create_banque_lignes(4);
  43. break;
  44. case "banque-csv":
  45. return self::create_banque_csv();
  46. break;
  47. case "documents":
  48. return self::create_document();
  49. break;
  50. case "documents-limited":
  51. return self::create_document("limited");
  52. break;
  53. }
  54. } else {
  55. return 0;
  56. }
  57. }
  58. private static function create_salaries()
  59. {
  60. $row = salaries::getSalaries();
  61. if (file_put_contents(DIR_DATAS_JSON . "salaries.json", json_encode($row))) {
  62. return 1;
  63. } else {
  64. return 0;
  65. }
  66. }
  67. private static function create_salariesProweb()
  68. {
  69. $row = proweb::getBase();
  70. if (file_put_contents(DIR_DATAS_JSON . "salaries-proweb.json", json_encode($row))) {
  71. return 1;
  72. } else {
  73. return 0;
  74. }
  75. }
  76. private static function create_excel()
  77. {
  78. db::query("SELECT
  79. " . DB_T_EXCEL . ".id,
  80. " . DB_T_FILES . ".name,
  81. " . DB_T_EXCEL . ".nbSalaries,
  82. CONCAT(ROUND((" . DB_T_FILES . ".size / 1024 / 1024), 2), ' Mo') AS size,
  83. " . DB_T_EXCEL . ".md5,
  84. " . DB_T_EXCEL . ".cree,
  85. CONCAT (" . DB_T_USER . ".prenom, ' ', " . DB_T_USER . ".nom) AS 'user',
  86. dateData,
  87. goMysql,
  88. md5forSFTP,
  89. log
  90. FROM " . DB_T_EXCEL . "
  91. INNER JOIN " . DB_T_USER . " ON " . DB_T_EXCEL . ".id_user = " . DB_T_USER . ".id
  92. LEFT JOIN " . DB_T_FILES . " ON " . DB_T_EXCEL . ".md5 = " . DB_T_FILES . ".id");
  93. $row = db::resultset();
  94. if (file_put_contents(DIR_DATAS_JSON . "excel.json", json_encode($row))) {
  95. return 1;
  96. } else {
  97. return 0;
  98. }
  99. }
  100. private static function create_excelProweb()
  101. {
  102. db::query("SELECT
  103. " . DB_T_EXCEL_PROWEB . ".id,
  104. " . DB_T_FILES . ".name,
  105. " . DB_T_EXCEL_PROWEB . ".nbSalaries,
  106. CONCAT(ROUND((" . DB_T_FILES . ".size / 1024 / 1024), 2), ' Mo') AS size,
  107. " . DB_T_EXCEL_PROWEB . ".md5,
  108. " . DB_T_EXCEL_PROWEB . ".cree,
  109. CONCAT (" . DB_T_USER . ".prenom, ' ', " . DB_T_USER . ".nom) AS 'user',
  110. dateData
  111. FROM " . DB_T_EXCEL_PROWEB . "
  112. INNER JOIN " . DB_T_USER . " ON " . DB_T_EXCEL_PROWEB . ".id_user = " . DB_T_USER . ".id
  113. LEFT JOIN " . DB_T_FILES . " ON " . DB_T_EXCEL_PROWEB . ".md5 = " . DB_T_FILES . ".id");
  114. $row = db::resultset();
  115. if (file_put_contents(DIR_DATAS_JSON . "excel-proweb.json", json_encode($row))) {
  116. return 1;
  117. } else {
  118. return 0;
  119. }
  120. }
  121. private static function create_events()
  122. {
  123. $row = event::getEvents();
  124. if (file_put_contents(DIR_DATAS_JSON . "events.json", json_encode($row))) {
  125. return 1;
  126. } else {
  127. return 0;
  128. }
  129. }
  130. private static function create_lotterys()
  131. {
  132. $row = lottery::getLotterys();
  133. if (file_put_contents(DIR_DATAS_JSON . "lotterys.json", json_encode($row))) {
  134. return 1;
  135. } else {
  136. return 0;
  137. }
  138. }
  139. private static function create_users()
  140. {
  141. $row = user::getUsers();
  142. if (file_put_contents(DIR_DATAS_JSON . "users.json", json_encode($row))) {
  143. return 1;
  144. } else {
  145. return 0;
  146. }
  147. }
  148. private static function create_banque_csv()
  149. {
  150. $row = banque::getHistoriqueCSV();
  151. if (file_put_contents(DIR_DATAS_JSON . "banque-csv.json", json_encode($row))) {
  152. return 1;
  153. } else {
  154. return 0;
  155. }
  156. }
  157. private static function create_banque_lignes(int $_id)
  158. {
  159. $row = array(banque::getInitial($_id));
  160. $row2 = banque::getLignes($_id, $row[0]["solde"]);
  161. $return = array_merge($row, $row2);
  162. if (file_put_contents(DIR_DATAS_JSON . "banque-lignes-" . $_id . ".json", json_encode($return))) {
  163. return 1;
  164. } else {
  165. return 0;
  166. }
  167. }
  168. public static function delete(string $_target)
  169. {
  170. if (is_file(DIR_DATAS_JSON . "/" . $_target . ".json")) {
  171. unlink(DIR_DATAS_JSON . "/" . $_target . ".json");
  172. }
  173. }
  174. public static function testSFTP()
  175. {
  176. return (sftp::testAccessHost()) ? "OK" : "KO";
  177. }
  178. private static function create_document(string $_limited = NULL)
  179. {
  180. $where = ($_limited == TRUE) ? " WHERE " . DB_T_DOCUMENTS . ".id_type != 3" : NULL;
  181. if(is_null($_limited)){
  182. $where = NULL;
  183. $file = "documents";
  184. } else {
  185. $where = " WHERE " . DB_T_DOCUMENTS . ".id_type != 3";
  186. $file = "documents-limited";
  187. }
  188. db::query("SELECT
  189. " . DB_T_DOCUMENTS . ".id,
  190. " . DB_T_DOCUMENTS . ".titre,
  191. " . DB_T_DOCUMENTS . ".date,
  192. " . DB_T_DOCUMENTS . ".deadline,
  193. " . DB_T_DOCUMENTS . ".description,
  194. " . DB_T_DOCUMENTS . ".montant,
  195. ( SELECT GROUP_CONCAT(" . DB_T_TAGS . ".label SEPARATOR ', ')
  196. FROM " . DB_T_DOCUMENT_TAGS . "
  197. INNER JOIN " . DB_T_TAGS . " ON " . DB_T_TAGS . ".id = " . DB_T_DOCUMENT_TAGS . ".id_tags
  198. WHERE id_documents = " . DB_T_DOCUMENTS . ".id AND " . DB_T_DOCUMENT_TAGS . ".id_type_tags = 2
  199. ORDER BY " . DB_T_DOCUMENT_TAGS . ".creer) AS tags,
  200. ( SELECT GROUP_CONCAT(" . DB_T_TAGS . ".label SEPARATOR ', ')
  201. FROM " . DB_T_DOCUMENT_TAGS . "
  202. INNER JOIN " . DB_T_TAGS . " ON " . DB_T_TAGS . ".id = " . DB_T_DOCUMENT_TAGS . ".id_tags
  203. WHERE id_documents = " . DB_T_DOCUMENTS . ".id AND " . DB_T_DOCUMENT_TAGS . ".id_type_tags = 1
  204. ORDER BY " . DB_T_DOCUMENT_TAGS . ".creer) AS assign,
  205. IF(" . DB_T_DOCUMENTS . ".id_user_done IS NOT NULL, 'Traité', 'Non traité') AS done,
  206. " . DB_T_TYPE_DOCUMENT . ".label
  207. FROM " . DB_T_DOCUMENTS . "
  208. INNER JOIN " . DB_T_TYPE_DOCUMENT . " ON " . DB_T_TYPE_DOCUMENT . ".id = " . DB_T_DOCUMENTS . ".id_type" . $where);
  209. $row = db::resultset();
  210. if (file_put_contents(DIR_DATAS_JSON . $file . ".json", json_encode($row))) {
  211. return 1;
  212. } else {
  213. return 0;
  214. }
  215. }
  216. }