/downloader/lib/Mage/Archive/Abstract.php

https://gitlab.com/LisovyiEvhenii/ismextensions · PHP · 87 lines · 47 code · 1 blank · 39 comment · 4 complexity · fe932085a8ee80ced42caa531114f1e0 MD5 · raw file

  1. <?php
  2. /**
  3. * Magento
  4. *
  5. * NOTICE OF LICENSE
  6. *
  7. * This source file is subject to the Open Software License (OSL 3.0)
  8. * that is bundled with this package in the file LICENSE.txt.
  9. * It is also available through the world-wide-web at this URL:
  10. * http://opensource.org/licenses/osl-3.0.php
  11. * If you did not receive a copy of the license and are unable to
  12. * obtain it through the world-wide-web, please send an email
  13. * to license@magento.com so we can send you a copy immediately.
  14. *
  15. * DISCLAIMER
  16. *
  17. * Do not edit or add to this file if you wish to upgrade Magento to newer
  18. * versions in the future. If you wish to customize Magento for your
  19. * needs please refer to http://www.magento.com for more information.
  20. *
  21. * @category Mage
  22. * @package Mage_Archive
  23. * @copyright Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
  24. * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
  25. */
  26. /**
  27. * Class to work with archives
  28. *
  29. * @category Mage
  30. * @package Mage_Archive
  31. * @author Magento Core Team <core@magentocommerce.com>
  32. */
  33. class Mage_Archive_Abstract
  34. {
  35. /**
  36. * Write data to file. If file can't be opened - throw exception
  37. *
  38. * @param string $destination
  39. * @param string $data
  40. * @return boolean
  41. * @throws Mage_Exception
  42. */
  43. protected function _writeFile($destination, $data)
  44. {
  45. $destination = trim($destination);
  46. if(false === file_put_contents($destination, $data)) {
  47. throw new Mage_Exception("Can't write to file: " . $destination);
  48. }
  49. return true;
  50. }
  51. /**
  52. * Read data from file. If file can't be opened, throw to exception.
  53. *
  54. * @param string $source
  55. * @return string
  56. * @throws Mage_Exception
  57. */
  58. protected function _readFile($source)
  59. {
  60. $data = '';
  61. if (is_file($source) && is_readable($source)) {
  62. $data = @file_get_contents($source);
  63. if ($data === false) {
  64. throw new Mage_Exception("Can't get contents from: " . $source);
  65. }
  66. }
  67. return $data;
  68. }
  69. /**
  70. * Get file name from source (URI) without last extension.
  71. *
  72. * @param string $source
  73. * @param bool $withExtension
  74. * @return mixed|string
  75. */
  76. public function getFilename($source, $withExtension=false)
  77. {
  78. $file = str_replace(dirname($source) . DS, '', $source);
  79. if (!$withExtension) {
  80. $file = substr($file, 0, strrpos($file, '.'));
  81. }
  82. return $file;
  83. }
  84. }