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 | w== |
24 | </ViaThinkSoftSignature> */ ?> |
24 | </ViaThinkSoftSignature> */ ?> |
25 | <?php |
25 | <?php |
26 | 26 | ||
27 | /* |
27 | /* |
Line 54... | Line 54... | ||
54 | } |
54 | } |
55 | 55 | ||
56 | protected function get_local_version($path) { |
56 | protected function get_local_version($path) { |
57 | $path = realpath($path) === false ? $path : realpath($path); |
57 | $path = realpath($path) === false ? $path : realpath($path); |
58 | 58 | ||
59 | $c = @file_get_contents("$path/scripts/version.php"); |
59 | $cont = @file_get_contents("$path/scripts/version.php"); |
- | 60 | if ($cont === false) { |
|
- | 61 | throw new VNagException("Cannot find version information at $path (cannot read version.php)"); |
|
- | 62 | } |
|
60 | 63 | ||
61 | if (!preg_match('@\\$Version="pmwiki-(.+)";@is', $c, $m)) { |
64 | if (!preg_match('@\\$Version="pmwiki-(.+)";@is', $cont, $m)) { |
62 | throw new Exception("Cannot find version information at $path"); |
65 | throw new VNagException("Cannot find version information at $path (cannot find version string)"); |
63 | } |
66 | } |
64 | 67 | ||
65 | return $m[1]; |
68 | return $m[1]; |
66 | } |
69 | } |
67 | 70 | ||
68 | protected function get_latest_version() { |
71 | protected function get_latest_version() { |
69 | $cont = $this->url_get_contents('https://www.pmwiki.org/wiki/PmWiki/Download'); |
72 | $cont = $this->url_get_contents('https://www.pmwiki.org/wiki/PmWiki/Download'); |
70 | if ($cont === false) { |
73 | if ($cont === false) { |
71 | throw new Exception("Cannot access website with latest version"); |
74 | throw new VNagException("Cannot access website with latest version"); |
72 | } |
75 | } |
73 | 76 | ||
74 | if (!preg_match('@Latest <em>stable</em> release \(pmwiki-(.+)<@ismU', $cont, $m)) { |
77 | if (!preg_match('@Latest <em>stable</em> release \(pmwiki-(.+)<@ismU', $cont, $m)) { |
75 | throw new Exception("Cannot find version information on the website"); |
78 | throw new VNagException("Cannot find version information on the website"); |
76 | } |
79 | } |
77 | 80 | ||
78 | return $m[1]; |
81 | return $m[1]; |
79 | } |
82 | } |
80 | 83 | ||
81 | protected function cbRun($optional_args=array()) { |
84 | protected function cbRun($optional_args=array()) { |
82 | $system_dir = $this->argSystemDir->getValue(); |
85 | $system_dir = $this->argSystemDir->getValue(); |
83 | if (empty($system_dir)) { |
86 | if (empty($system_dir)) { |
84 | throw new Exception("Please specify the directory of the PmWiki installation."); |
87 | throw new VNagException("Please specify the directory of the PmWiki installation."); |
85 | } |
88 | } |
86 | $system_dir = realpath($system_dir) === false ? $system_dir : realpath($system_dir); |
89 | $system_dir = realpath($system_dir) === false ? $system_dir : realpath($system_dir); |
87 | 90 | ||
88 | if (!is_dir($system_dir)) { |
91 | if (!is_dir($system_dir)) { |
89 | throw new Exception('Directory "'.$system_dir.'" not found.'); |
92 | throw new VNagException('Directory "'.$system_dir.'" not found.'); |
90 | } |
93 | } |
91 | 94 | ||
92 | $version = $this->get_local_version($system_dir); |
95 | $version = $this->get_local_version($system_dir); |
93 | 96 | ||
94 | $latest_version = $this->get_latest_version(); |
97 | $latest_version = $this->get_latest_version(); |