diff options
| author | Cassio de Campos <cassiopc@gmail.com> | 2017-10-24 10:01:12 +0000 |
|---|---|---|
| committer | Cassio de Campos <cassiopc@gmail.com> | 2017-10-24 10:01:12 +0000 |
| commit | de77e892f314c4113c08ca5515a16d2e1c4a9eb4 (patch) | |
| tree | 580b84c106826ae4b540cbac281a6cf01219373e /src | |
| parent | f0652e3973b13c283db71fc40fdfaba813f035a9 (diff) | |
| download | boca-de77e892f314c4113c08ca5515a16d2e1c4a9eb4.tar.gz boca-de77e892f314c4113c08ca5515a16d2e1c4a9eb4.zip | |
bf
Diffstat (limited to 'src')
| -rw-r--r-- | src/admin/misc.php | 87 |
1 files changed, 49 insertions, 38 deletions
diff --git a/src/admin/misc.php b/src/admin/misc.php index 56743b5..9bbd417 100644 --- a/src/admin/misc.php +++ b/src/admin/misc.php @@ -75,48 +75,59 @@ if (isset($_POST["Submit5"]) && $_POST["Submit5"] == "Full clear") { else echo "<pre>Error (likely permission/ownership issues)</pre>\n"; } if (isset($_POST["Submit6"]) && $_POST["Submit6"] == "Update BOCA") { - require('..' . $ds . 'versionnum.php'); - $curv = split('.',$BOCAVERSION); - $dir = dirname(__DIR__); - fixbocadir($dir); - $tmpfname = tempnam(sys_get_temp_dir()); - if(($str = @file_get_contents('http://www.bombonera.org/updateboca.zip')) !== false) { - @file_put_contents($tmpfname, $str); - $t = mytime(); - $zip = new ZipArchive; - if ($zip->open($tmpfname) === true) { - $zip->extractTo($dir . $ds . "private" . $ds . "newboca." . $t); - $zip->close(); - require($dir . $ds . "private" . $ds . "newboca." . $t . $ds . 'versionnum.php'); - $newv = split('.',$BOCAVERSION); - if($curv[0] != $newv[0] || $curv[1] != $newv[1]) - echo "<pre>Cannot updated because of major version difference</pre>"; - else { - $q = updatebocafile($dir, $dir . $ds . "private" . $ds . "newboca." . $t, $t); - echo "<pre>" . $q . " files updated to " . $BOCAVERSION . "\n</pre>\n"; - $str = @file_get_contents($dir . $ds . "private" . $ds . "updateboca.log"); - @file_put_contents($dir . $ds . "private" . $ds . "updateboca.log", $str . $t . "\n"); + if(!is_readable($dir . $ds . "private" . $ds . "updateboca.log")) @file_put_contents($dir . $ds . "private" . $ds . "updateboca.log", ""); + if(is_writable($dir . $ds . "private" . $ds . "updateboca.log")) { + require('..' . $ds . 'versionnum.php'); + $curv = split('.',$BOCAVERSION); + $dir = dirname(__DIR__); + fixbocadir($dir); + $tmpfname = tempnam(sys_get_temp_dir()); + if(($str = @file_get_contents('http://www.bombonera.org/updateboca.zip')) !== false) { + @file_put_contents($tmpfname, $str); + $t = mytime(); + $zip = new ZipArchive; + if ($zip->open($tmpfname) === true) { + $zip->extractTo($dir . $ds . "private" . $ds . "newboca." . $t); + $zip->close(); + require($dir . $ds . "private" . $ds . "newboca." . $t . $ds . 'versionnum.php'); + $newv = split('.',$BOCAVERSION); + if($curv[0] != $newv[0] || $curv[1] != $newv[1]) + echo "<pre>Cannot updated because of major version difference</pre>"; + else { + $q = updatebocafile($dir, $dir . $ds . "private" . $ds . "newboca." . $t, $t); + echo "<pre>" . $q . " files updated to " . $BOCAVERSION . "\n</pre>\n"; + $str = @file_get_contents($dir . $ds . "private" . $ds . "updateboca.log"); + @file_put_contents($dir . $ds . "private" . $ds . "updateboca.log", $str . $t . "\n"); + } + } else { + echo "<pre>Downloaded file corrupted</pre>"; } - } else { - echo "<pre>Downloaded file corrupted</pre>"; - } - } else echo "<pre>Download error</pre>"; + } else echo "<pre>Download error</pre>"; + } else { + echo "<pre>Cannot update log file\n</pre>"; + } } if (isset($_POST["Submit7"]) && $_POST["Submit7"] == "Revert Update") { - $str = @file($dir . $ds . "private" . $ds . "updateboca.log"); - if(count($str) >= 1) { - $t = trim($str[count($str)-1]); - unset($str[count($str)-1]); - $str = implode("\n", $str); - $dir = dirname(__DIR__); - fixbocadir($dir); - echo "<pre>Reverting last update\n"; - $q = revertupdatebocafile($dir, $t); - echo $q . " files reverted properly\n"; - echo "</pre>"; - @file_put_contents($dir . $ds . "private" . $ds . "updateboca.log", $str); + if(!is_readable($dir . $ds . "private" . $ds . "updateboca.log")) @file_put_contents($dir . $ds . "private" . $ds . "updateboca.log", ""); + if(is_writable($dir . $ds . "private" . $ds . "updateboca.log")) { + $str = @file($dir . $ds . "private" . $ds . "updateboca.log"); + if(count($str) >= 1) { + $t = trim($str[count($str)-1]); + unset($str[count($str)-1]); + $str = implode("\n", $str); + $dir = dirname(__DIR__); + fixbocadir($dir); + echo "<pre>Reverting last update\n"; + $q = revertupdatebocafile($dir, $t); + echo $q . " files reverted properly\n"; + echo "</pre>"; + fixbocadir($dir); + @file_put_contents($dir . $ds . "private" . $ds . "updateboca.log", $str); + } else { + echo "<pre>No updates to revert</pre>\n"; + } } else { - echo "<pre>No updates to revert</pre>\n"; + echo "<pre>Cannot update log file\n</pre>"; } } if($dotransfer || $doscore || $dotransferall) { |