10763a50f01d1f9d19a25a9cd0c5c680f1d2e687
[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 = $error = 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         foreach ($extensions as $e){
39             
40             if(extension_loaded($e)) {
41                 continue;
42             }
43             
44             $error[] = "Error: Please install php extension: {$e}";
45         }
46         
47         if(!empty($error)) {
48             $this->jerr($error);
49         }
50         
51         $this->jok("DONE");
52         
53     }
54 }