BxFilesDb.php 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php defined('BX_DOL') or die('hack attempt');
  2. /**
  3. * Copyright (c) UNA, Inc - https://una.io
  4. * MIT License - https://opensource.org/licenses/MIT
  5. *
  6. * @defgroup Files Files
  7. * @ingroup UnaModules
  8. *
  9. * @{
  10. */
  11. /*
  12. * Module database queries
  13. */
  14. class BxFilesDb extends BxBaseModFilesDb
  15. {
  16. function __construct(&$oConfig)
  17. {
  18. parent::__construct($oConfig);
  19. }
  20. public function updateFileId ($iContentId, $iFileId)
  21. {
  22. return $this->updateEntries(array('file_id' => $iFileId, 'data' => '', 'data_processed' => 0), array('id' => $iContentId));
  23. }
  24. public function updateFileData ($iContentId, $sData, $iDataProcessed = 1)
  25. {
  26. return $this->updateEntries(array('data' => $sData, 'data_processed' => $iDataProcessed), array('id' => $iContentId));
  27. }
  28. public function getNotProcessedFiles ($iLimit)
  29. {
  30. $sQuery = $this->prepare ("SELECT * FROM `" . $this->_oConfig->CNF['TABLE_ENTRIES'] . "` WHERE `data_processed` = 0 ORDER BY `added` ASC LIMIT ?", $iLimit);
  31. return $this->getAll($sQuery);
  32. }
  33. public function bookmarkFile($iContentId, $iProfileId) {
  34. if ($this->isFileBookmarked($iContentId, $iProfileId)) {
  35. $this->query("DELETE FROM `" . $this->_oConfig->CNF['TABLE_BOOKMARKS'] . "` WHERE `object_id` = :id AND `profile_id` = :profile_id", [
  36. 'id' => $iContentId,
  37. 'profile_id' => $iProfileId
  38. ]);
  39. } else {
  40. $this->query("INSERT INTO `" . $this->_oConfig->CNF['TABLE_BOOKMARKS'] . "` (`object_id`, `profile_id`) VALUES (:id, :profile_id)", [
  41. 'id' => $iContentId,
  42. 'profile_id' => $iProfileId
  43. ]);
  44. }
  45. }
  46. public function deleteFileBookmarks($iContentId) {
  47. $this->query("DELETE FROM `" . $this->_oConfig->CNF['TABLE_BOOKMARKS'] . "` WHERE `object_id` = :id", [
  48. 'id' => $iContentId,
  49. ]);
  50. }
  51. public function deleteProfileBookmarks($iProfileId) {
  52. $this->query("DELETE FROM `" . $this->_oConfig->CNF['TABLE_BOOKMARKS'] . "` WHERE `profile_id` = :profile_id", [
  53. 'profile_id' => $iProfileId,
  54. ]);
  55. }
  56. public function isFileBookmarked($iContentId, $iProfileId) {
  57. return $this->getOne("SELECT COUNT(*) FROM `" . $this->_oConfig->CNF['TABLE_BOOKMARKS'] . "` WHERE `object_id` = :id AND `profile_id` = :profile_id", [
  58. 'id' => $iContentId,
  59. 'profile_id' => $iProfileId
  60. ]);
  61. }
  62. public function updateEntryTitle($iContentId, $sNewTitle) {
  63. $this->query("UPDATE `" . $this->_oConfig->CNF['TABLE_ENTRIES'] . "` SET `" . $this->_oConfig->CNF['FIELD_TITLE'] . "` = :title WHERE `" . $this->_oConfig->CNF['FIELD_ID'] . "` = :id", [
  64. 'id' => $iContentId,
  65. 'title' => $sNewTitle,
  66. ]);
  67. }
  68. }
  69. /** @} */