PageRenderTime 56ms CodeModel.GetById 29ms RepoModel.GetById 1ms app.codeStats 0ms

/beacon/web/php/file/unlink.php

https://bitbucket.org/StylusEater/portfolio
PHP | 84 lines | 53 code | 21 blank | 10 comment | 8 complexity | 5facecbc9af27d2e79c0ae913b3615e1 MD5 | raw file
Possible License(s): GPL-3.0, AGPL-3.0
  1. <?php
  2. require('../utilities/connection.php');
  3. require('../settings/config.php');
  4. require('../utilities/queries.php');
  5. // Logger
  6. $unlinkLog = Logger::getRootLogger();
  7. $DEBUG = 1;
  8. // Variables given
  9. $projid = $_POST['id'];
  10. $projrev = $_POST['rev'];
  11. $projname = $_POST['name'];
  12. $projShortName = $_POST['shortname'];
  13. $user = $_SESSION['user'];
  14. $userid = $_SESSION['userid'];
  15. // Database modification handle
  16. $projectBackend = new Database($dbBackend,$userBackend,$passBackend,$typeBackend);
  17. // Setup backend connection
  18. $projectBackend->setup();
  19. // We're connected to the data store
  20. $handle = $projectBackend->getHandle();
  21. // Get files for a particular project
  22. $unlinkFileQuery = $unlinkFilesForProjectBegin . $projid . $unlinkFilesForProjectRevision . $projrev . $unlinkFilesForProjectDev . $userid . $unlinkFilesForProjectName . $projname . $unlinkFilesForProjectEnd;
  23. $updateProjectQuery = $updateProjectUpdatedStart . $projid . $updateProjectUpdatedEnd;
  24. if ($DEBUG) {
  25. $unlinkLog->debug($unlinkFileQuery);
  26. }
  27. if ($handle) {
  28. try {
  29. // File Query
  30. $handle->beginTransaction();
  31. $preparedUnlink = $handle->prepare($unlinkFileQuery);
  32. $preparedUnlink->execute();
  33. $unlinkStatus = $preparedUnlink->fetchAll();
  34. $unlinkCount = count($unlinkStatus);
  35. // Project Query
  36. $preparedProject = $handle->prepare($updateProjectQuery);
  37. $preparedProject->execute();
  38. $path = $baseFileDir . "/" . $fileSrcDir . "/" . $user . "/" . $projShortName . "/" . $projrev . "-" . $projname;
  39. if ($DEBUG) {
  40. $unlinkLog->debug("Unlinked File Status: " . $unlinkCount);
  41. }
  42. if (($unlinkCount == 0) && unlink($path)) {
  43. $status = "<span class=\"message\">Unlinked " . $projname . " revision #" . $projrev . " successfully.</span>";
  44. if ($DEBUG) {
  45. $unlinkLog->debug($status);
  46. }
  47. $handle->commit();
  48. }
  49. } catch (Exception $unlinkException) {
  50. $handle->rollback();
  51. $unlinklog->error($preparedUnlink->errorInfo());
  52. $status = "<span class=\"message\">Error unlinking: " . $unlinkCount . "</span>";
  53. if ($DEBUG) {
  54. $unlinkLog->debug($status);
  55. }
  56. }
  57. // Always remember to cleanup our database connection
  58. $projectBackend->teardown();
  59. // Really make sure cleanup is done
  60. $projectBackend = NULL;
  61. }
  62. echo $status;
  63. ?>