.htaccess
1 year ago
ArrayData.php
1 year ago
DBObject.php
1 year ago
Engine.php
1 year ago
Mysqldump.php
5 months ago
ReflectionObject.php
1 year ago
SleekStore.php
1 year ago
index.html
1 year ago
web.config
1 year ago
SleekStore.php
53 lines
| 1 | <?php |
| 2 | |
| 3 | namespace JetBackup\Data; |
| 4 | |
| 5 | use JetBackup\Exception\DBException; |
| 6 | use JetBackup\Factory; |
| 7 | use JetBackup\JetBackup; |
| 8 | use SleekDB\Exceptions\InvalidArgumentException; |
| 9 | use SleekDB\Exceptions\InvalidConfigurationException; |
| 10 | use SleekDB\Exceptions\IOException; |
| 11 | use SleekDB\Query; |
| 12 | use SleekDB\Store; |
| 13 | |
| 14 | if (!defined( '__JETBACKUP__')) die('Direct access is not allowed'); |
| 15 | |
| 16 | class SleekStore extends Store { |
| 17 | |
| 18 | /** |
| 19 | * @throws DBException |
| 20 | * @throws InvalidArgumentException |
| 21 | * @throws IOException |
| 22 | */ |
| 23 | public function __construct($collection) { |
| 24 | |
| 25 | try { |
| 26 | parent::__construct($collection, Factory::getLocations()->getDatabaseDir() . JetBackup::SEP, [ |
| 27 | 'auto_cache' => false, |
| 28 | 'cache_lifetime' => 0, |
| 29 | 'timeout' => false, // deprecated! Set it to false! |
| 30 | 'primary_key' => JetBackup::ID_FIELD, |
| 31 | 'search' => [ |
| 32 | 'min_length' => 2, |
| 33 | 'mode' => 'or', |
| 34 | 'score_key' => 'scoreKey', |
| 35 | 'algorithm' => Query::SEARCH_ALGORITHM['hits'] |
| 36 | ], |
| 37 | 'folder_permissions' => 0700 |
| 38 | ]); |
| 39 | } catch(InvalidConfigurationException $e) { |
| 40 | throw new DBException($e->getMessage()); |
| 41 | } |
| 42 | } |
| 43 | |
| 44 | public function clearCache() { |
| 45 | if (!($path = $this->getStorePath())) return; |
| 46 | |
| 47 | $folder = $path.'cache'; |
| 48 | if (!is_dir($folder)) return; |
| 49 | |
| 50 | $cache_files = glob($folder . JetBackup::SEP . '*.json'); |
| 51 | foreach($cache_files as $file) unlink($file); |
| 52 | } |
| 53 | } |