Rev 76 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 76 | Rev 77 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | <?php /* <ViaThinkSoftSignature> |
1 | <?php /* <ViaThinkSoftSignature> |
2 | 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 |
23 | w== |
23 | Q== |
24 | </ViaThinkSoftSignature> */ ?> |
24 | </ViaThinkSoftSignature> */ ?> |
25 | <?php |
25 | <?php |
26 | 26 | ||
27 | /* |
27 | /* |
28 | * VNag - Nagios Framework for PHP |
28 | * VNag - Nagios Framework for PHP |
Line 61... | Line 61... | ||
61 | } else if (file_exists($file = "$path/libraries/classes/Config.php")) { // Variant 2 (5.0.x) |
61 | } else if (file_exists($file = "$path/libraries/classes/Config.php")) { // Variant 2 (5.0.x) |
62 | $regex = '@\$this->set\(\'PMA_VERSION\', \'(.*)\'\);@ismU'; |
62 | $regex = '@\$this->set\(\'PMA_VERSION\', \'(.*)\'\);@ismU'; |
63 | } else if (file_exists($file = "$path/libraries/Config.class.php")) { // Variant 1 (very old) |
63 | } else if (file_exists($file = "$path/libraries/Config.class.php")) { // Variant 1 (very old) |
64 | $regex = '@\$this->set\(\'PMA_VERSION\', \'(.*)\'\);@ismU'; |
64 | $regex = '@\$this->set\(\'PMA_VERSION\', \'(.*)\'\);@ismU'; |
65 | } else { |
65 | } else { |
66 | throw new Exception("Cannot find the phpMyAdmin version information at $path"); |
66 | throw new VNagException("Cannot find the phpMyAdmin version information at $path"); |
67 | } |
67 | } |
68 | 68 | ||
69 | $cont = file_get_contents($file); |
69 | $cont = @file_get_contents($file); |
- | 70 | if ($cont === false) { |
|
- | 71 | throw new VNagException("Cannot parse the phpMyAdmin version information at $path (cannot open file $file)"); |
|
- | 72 | } |
|
70 | if (!preg_match($regex, $cont, $m)) { |
73 | if (!preg_match($regex, $cont, $m)) { |
71 | throw new Exception("Cannot parse the phpMyAdmin version information at $path"); |
74 | throw new VNagException("Cannot parse the phpMyAdmin version information at $path (cannot find version using regex)"); |
72 | } |
75 | } |
73 | 76 | ||
74 | return $m[1]; |
77 | return $m[1]; |
75 | } |
78 | } |
76 | 79 | ||
77 | protected function get_latest_version() { |
80 | protected function get_latest_version() { |
78 | $cont = $this->url_get_contents('https://www.phpmyadmin.net/home_page/version.json'); // alternatively version.php |
81 | $cont = $this->url_get_contents('https://www.phpmyadmin.net/home_page/version.json'); // alternatively version.php |
79 | if ($cont === false) { |
82 | if ($cont === false) { |
80 | throw new Exception('Cannot parse version from phpMyAdmin website. The plugin probably needs to be updated. A'); |
83 | throw new VNagException('Cannot parse version from phpMyAdmin website. The plugin probably needs to be updated. (Cannot access phpmyadmin.net)'); |
81 | } |
84 | } |
82 | 85 | ||
83 | $json = @json_decode($cont, true); |
86 | $json = @json_decode($cont, true); |
84 | if ($json === false) { |
87 | if ($json === false) { |
85 | throw new Exception('Cannot parse version from phpMyAdmin website. The plugin probably needs to be updated. B'); |
88 | throw new VNagException('Cannot parse version from phpMyAdmin website. The plugin probably needs to be updated. (Invalid JSON data downloaded from phpmyadmin.net)'); |
86 | } |
89 | } |
87 | return $json['version']; |
90 | return $json['version']; |
88 | } |
91 | } |
89 | 92 | ||
90 | protected function cbRun($optional_args=array()) { |
93 | protected function cbRun($optional_args=array()) { |
91 | $system_dir = $this->argSystemDir->getValue(); |
94 | $system_dir = $this->argSystemDir->getValue(); |
92 | if (empty($system_dir)) { |
95 | if (empty($system_dir)) { |
93 | throw new Exception("Please specify the directory of the phpMyAdmin installation."); |
96 | throw new VNagException("Please specify the directory of the phpMyAdmin installation."); |
94 | } |
97 | } |
95 | $system_dir = realpath($system_dir) === false ? $system_dir : realpath($system_dir); |
98 | $system_dir = realpath($system_dir) === false ? $system_dir : realpath($system_dir); |
96 | 99 | ||
97 | if (!is_dir($system_dir)) { |
100 | if (!is_dir($system_dir)) { |
98 | throw new Exception('Directory "'.$system_dir.'" not found.'); |
101 | throw new VNagException('Directory "'.$system_dir.'" not found.'); |
99 | } |
102 | } |
100 | 103 | ||
101 | $version = $this->get_local_version($system_dir); |
104 | $version = $this->get_local_version($system_dir); |
102 | 105 | ||
103 | $latest_version = $this->get_latest_version(); |
106 | $latest_version = $this->get_latest_version(); |