sync
[Pman.Core] / UpdateDatabase / VerifyExtensions.php
1 <?php
2
3 require_once 'Pman.php';
4
5 class Pman_Core_UpdateDatabase_VerifyExtensions extends Pman
6 {
7     static $cli_opts = array(
8
9     );
10     
11     function getAuth()
12     {
13         return true;
14     }
15     
16     function get($base, $opts = array())
17     {
18         $extensions = array();
19         
20         $ff = HTML_FlexyFramework::get();
21         
22         foreach($this->modulesList() as $m) {
23             
24             $fd = $ff->rootDir. "/Pman/$m/UpdateDatabase.php";
25             
26             if (!file_exists($fd)) {
27                 continue;
28             }
29             require_once $fd;
30             $cls = new ReflectionClass('Pman_'. $m . '_UpdateDatabase');
31             $props = $cls->getDefaultProperties();
32             
33             if(!empty($props['required_extensions'])) {
34                 $extensions = array_merge($extensions, $props['required_extensions']);
35             }
36         }
37         
38         $error = '';
39         
40         foreach ($extensions as $e){
41             
42             if(extension_loaded($e)) {
43                 continue;
44             }
45             
46             $error .= "$e\n";
47         }
48         
49         if(!empty($error)) {
50             $this->jerr($error);
51         }
52         
53         $this->jok("DONE");
54         
55     }
56 }