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@magentocommerce.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.magentocommerce.com for more information.
20: *
21: * @category Mage
22: * @package Mage_Downloadable
23: * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24: * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25: */
26:
27: /**
28: * Downloadable sample model
29: *
30: * @method Mage_Downloadable_Model_Resource_Sample _getResource()
31: * @method Mage_Downloadable_Model_Resource_Sample getResource()
32: * @method int getProductId()
33: * @method Mage_Downloadable_Model_Sample setProductId(int $value)
34: * @method string getSampleUrl()
35: * @method Mage_Downloadable_Model_Sample setSampleUrl(string $value)
36: * @method string getSampleFile()
37: * @method Mage_Downloadable_Model_Sample setSampleFile(string $value)
38: * @method string getSampleType()
39: * @method Mage_Downloadable_Model_Sample setSampleType(string $value)
40: * @method int getSortOrder()
41: * @method Mage_Downloadable_Model_Sample setSortOrder(int $value)
42: *
43: * @category Mage
44: * @package Mage_Downloadable
45: * @author Magento Core Team <core@magentocommerce.com>
46: */
47: class Mage_Downloadable_Model_Sample extends Mage_Core_Model_Abstract
48: {
49: const XML_PATH_SAMPLES_TITLE = 'catalog/downloadable/samples_title';
50:
51: /**
52: * Initialize resource
53: *
54: */
55: protected function _construct()
56: {
57: $this->_init('downloadable/sample');
58: parent::_construct();
59: }
60:
61: /**
62: * Return sample files path
63: *
64: * @return string
65: */
66: public static function getSampleDir()
67: {
68: return Mage::getBaseDir();
69: }
70:
71: /**
72: * After save process
73: *
74: * @return Mage_Downloadable_Model_Sample
75: */
76: protected function _afterSave()
77: {
78: $this->getResource()
79: ->saveItemTitle($this);
80: return parent::_afterSave();
81: }
82:
83: /**
84: * Retrieve sample URL
85: *
86: * @return string
87: */
88: public function getUrl()
89: {
90: if ($this->getSampleUrl()) {
91: return $this->getSampleUrl();
92: } else {
93: return $this->getSampleFile();
94: }
95: }
96:
97: /**
98: * Retrieve base tmp path
99: *
100: * @return string
101: */
102: public static function getBaseTmpPath()
103: {
104: return Mage::getBaseDir('media') . DS . 'downloadable' . DS . 'tmp' . DS . 'samples';
105: }
106:
107: /**
108: * Retrieve sample files path
109: *
110: * @return string
111: */
112: public static function getBasePath()
113: {
114: return Mage::getBaseDir('media') . DS . 'downloadable' . DS . 'files' . DS . 'samples';
115: }
116:
117: /**
118: * Retrieve links searchable data
119: *
120: * @param int $productId
121: * @param int $storeId
122: * @return array
123: */
124: public function getSearchableData($productId, $storeId)
125: {
126: return $this->_getResource()
127: ->getSearchableData($productId, $storeId);
128: }
129: }
130: