1 <?php
  2 
  3 /**
  4  * Represents a null package.
  5  *
  6  * @author gharlan
  7  *
  8  * @package redaxo\core\packages
  9  */
 10 abstract class rex_null_package implements rex_package_interface
 11 {
 12     use rex_singleton_trait;
 13 
 14     /**
 15      * {@inheritdoc}
 16      */
 17     public function getName()
 18     {
 19         return get_class($this);
 20     }
 21 
 22     /**
 23      * {@inheritdoc}
 24      */
 25     public function getAddon()
 26     {
 27         return rex_null_addon::getInstance();
 28     }
 29 
 30     /**
 31      * {@inheritdoc}
 32      */
 33     public function getPackageId()
 34     {
 35         return null;
 36     }
 37 
 38     /**
 39      * {@inheritdoc}
 40      */
 41     public function getPath($file = '')
 42     {
 43         return null;
 44     }
 45 
 46     /**
 47      * {@inheritdoc}
 48      */
 49     public function getAssetsPath($file = '')
 50     {
 51         return null;
 52     }
 53 
 54     /**
 55      * {@inheritdoc}
 56      */
 57     public function getAssetsUrl($file = '')
 58     {
 59         return null;
 60     }
 61 
 62     /**
 63      * {@inheritdoc}
 64      */
 65     public function getDataPath($file = '')
 66     {
 67         return null;
 68     }
 69 
 70     /**
 71      * {@inheritdoc}
 72      */
 73     public function getCachePath($file = '')
 74     {
 75         return null;
 76     }
 77 
 78     /**
 79      * {@inheritdoc}
 80      */
 81     public function setConfig($key, $value = null)
 82     {
 83         return false;
 84     }
 85 
 86     /**
 87      * {@inheritdoc}
 88      */
 89     public function getConfig($key = null, $default = null)
 90     {
 91         return $default;
 92     }
 93 
 94     /**
 95      * {@inheritdoc}
 96      */
 97     public function hasConfig($key = null)
 98     {
 99         return false;
100     }
101 
102     /**
103      * {@inheritdoc}
104      */
105     public function removeConfig($key)
106     {
107         return false;
108     }
109 
110     /**
111      * {@inheritdoc}
112      */
113     public function setProperty($key, $value)
114     {
115     }
116 
117     /**
118      * {@inheritdoc}
119      */
120     public function getProperty($key, $default = null)
121     {
122         return $default;
123     }
124 
125     /**
126      * {@inheritdoc}
127      */
128     public function hasProperty($key)
129     {
130         return false;
131     }
132 
133     /**
134      * {@inheritdoc}
135      */
136     public function removeProperty($key)
137     {
138     }
139 
140     /**
141      * {@inheritdoc}
142      */
143     public function isAvailable()
144     {
145         return false;
146     }
147 
148     /**
149      * {@inheritdoc}
150      */
151     public function isInstalled()
152     {
153         return false;
154     }
155 
156     /**
157      * {@inheritdoc}
158      */
159     public function isSystemPackage()
160     {
161         return false;
162     }
163 
164     /**
165      * {@inheritdoc}
166      */
167     public function getAuthor($default = null)
168     {
169         return $default;
170     }
171 
172     /**
173      * {@inheritdoc}
174      */
175     public function getVersion($format = null)
176     {
177         return null;
178     }
179 
180     /**
181      * {@inheritdoc}
182      */
183     public function getSupportPage($default = null)
184     {
185         return $default;
186     }
187 
188     /**
189      * {@inheritdoc}
190      */
191     public function includeFile($file, array $context = [])
192     {
193     }
194 
195     /**
196      * {@inheritdoc}
197      */
198     public function i18n($key)
199     {
200         $args = func_get_args();
201         return call_user_func_array('rex_i18n::msg', $args);
202     }
203 }
204