1 | <?php |
||
10 | class CnbDataProvider |
||
11 | { |
||
12 | private $cachePathPrefix = 'vojtasvoboda_cnbrates'; |
||
13 | |||
14 | private $undefinedFolderName = 'undefined'; |
||
15 | |||
16 | /** |
||
17 | * Get source data |
||
18 | * |
||
19 | * @param $url |
||
20 | * @param null $date Concrete date specifier |
||
21 | * @param null $ident Service idend for caching |
||
22 | * |
||
23 | * @return string |
||
24 | * |
||
25 | * @throws |
||
26 | */ |
||
27 | 15 | public function getData($url, $date = null, $ident = null) |
|
42 | |||
43 | /** |
||
44 | * Load data from URL |
||
45 | * |
||
46 | * @param string $url |
||
47 | * |
||
48 | * @return string |
||
49 | */ |
||
50 | 12 | private function loadDataFromUrl($url) |
|
57 | |||
58 | /** |
||
59 | * Load data from file |
||
60 | * |
||
61 | * @param $date |
||
62 | * @param $ident |
||
63 | * |
||
64 | * @return string |
||
65 | */ |
||
66 | 11 | private function loadDataFromFile($date, $ident) |
|
70 | |||
71 | /** |
||
72 | * Save loaded data to file |
||
73 | * |
||
74 | * @param $data |
||
75 | * @param $date |
||
76 | * @param $ident |
||
77 | * |
||
78 | * @return int |
||
79 | */ |
||
80 | 11 | private function saveDataToFile($data, $date, $ident) |
|
86 | |||
87 | /** |
||
88 | * If file exists |
||
89 | * |
||
90 | * @param $date |
||
91 | * @param $ident |
||
92 | * |
||
93 | * @return bool |
||
94 | */ |
||
95 | 12 | private function isFileExists($date, $ident) |
|
99 | |||
100 | /** |
||
101 | * Get file path by date and service ident |
||
102 | * |
||
103 | * @param $date |
||
104 | * @param null $ident |
||
105 | * |
||
106 | * @return string |
||
107 | */ |
||
108 | 12 | private function getFilePath($date, $ident = null) |
|
116 | |||
117 | /** |
||
118 | * Create cache folder if not exists |
||
119 | * |
||
120 | * @param $ident |
||
121 | */ |
||
122 | 11 | private function checkCacheFolder($ident) |
|
138 | } |