[fix] manual delete

This commit is contained in:
Knah Tsaeb 2015-07-10 11:04:56 +02:00
parent 47df04fbfc
commit 2f1c5277e0
4 changed files with 41 additions and 14 deletions

View file

@ -7,7 +7,7 @@ if (phantom.args.length < 2) {
} else { } else {
address = phantom.args[0]; address = phantom.args[0];
output = phantom.args[1]; output = phantom.args[1];
page.settings.userAgent = 'SoShot Agent'; page.settings.userAgent = 'Mozilla/5.0 (X11; Linux x86_64; rv:39.0) Gecko/20100101 Firefox/39.0';
page.viewportSize = { width: 1280, height:1024}; page.viewportSize = { width: 1280, height:1024};
page.open(address, function (status) { page.open(address, function (status) {

View file

@ -62,6 +62,8 @@ else
timeout $timeOut ./phantomjs_x86 --disk-cache=false --local-storage-path=bin/ --ignore-ssl-errors=true rasterize.js "$site" "../cache/tmp/$hashUrl.png" timeout $timeOut ./phantomjs_x86 --disk-cache=false --local-storage-path=bin/ --ignore-ssl-errors=true rasterize.js "$site" "../cache/tmp/$hashUrl.png"
fi fi
sleep 5
if [ ! -f "../cache/tmp/$hashUrl.png" ] if [ ! -f "../cache/tmp/$hashUrl.png" ]
then then
echo 0 echo 0

View file

@ -5,19 +5,15 @@ $acceptParam['log'] = array(
'other', 'other',
'retry' 'retry'
); );
if (isset($ui['pwd'])) { if (isset($ui['pwd'])) {
checkAdmin($ui['pwd']); checkAdmin($ui['pwd']);
} }
if (isset($ui['log']) && !in_array($ui['log'], $acceptParam['log']) || $_SESSION['login'] !== true) { if (isset($ui['log']) && !in_array($ui['log'], $acceptParam['log']) || $_SESSION['login'] !== true) {
die('Tell me, Mr Anderson, what good is a phone call if you\'re unable to speak ?'); die('Tell me, Mr Anderson, what good is a phone call if you\'re unable to speak ?');
} }
if (empty($ui['log']) && empty($ui['ac'])) { if (empty($ui['log']) && empty($ui['ac'])) {
$ui['log'] = 'success'; $ui['log'] = 'success';
} }
function clearLog($log) { function clearLog($log) {
if (file_exists('cache/logs/'.$log.'.txt') && is_file('cache/logs/'.$log.'.txt')) { if (file_exists('cache/logs/'.$log.'.txt') && is_file('cache/logs/'.$log.'.txt')) {
file_put_contents('cache/logs/'.$log.'.txt', ''); file_put_contents('cache/logs/'.$log.'.txt', '');
@ -85,7 +81,7 @@ function manualGen($hash, $log) {
chdir('bin/'); chdir('bin/');
exec('bash thumb_server.sh manual '.escapeshellarg($hash).' '.escapeshellarg($line[3]).' '.escapeshellarg($line[4]).' trc 1', $result); exec('bash thumb_server.sh manual '.escapeshellarg($hash).' '.escapeshellarg($line[3]).' '.escapeshellarg($line[4]).' trc 1', $result);
chdir('../'); chdir('../');
if ((int)$result[0] === 1) { if ((int)$result[0] == 1) {
$res['success'] = 1; $res['success'] = 1;
$res['filePath'] = pathForFile($line[4], $hash).'.png'; $res['filePath'] = pathForFile($line[4], $hash).'.png';
$res['base64'] = 'data:image/png;base64,'.base64_encode(file_get_contents($res['filePath'])); $res['base64'] = 'data:image/png;base64,'.base64_encode(file_get_contents($res['filePath']));
@ -101,6 +97,9 @@ function delAndRegen($hash, $size) {
if (file_exists($path.'_thumb.png')) { if (file_exists($path.'_thumb.png')) {
unlink($path.'_thumb.png'); unlink($path.'_thumb.png');
} }
if (file_exists($path.'_complete.png')) {
unlink($path.'_complete.png');
}
} }
function tryRootDomain($hash, $log) { function tryRootDomain($hash, $log) {
@ -162,6 +161,9 @@ echo '<div class="hMenu">
</div> </div>
<div id="log">'; <div id="log">';
if (isset($ui['ac']) && $ui['ac'] === 'delete') { if (isset($ui['ac']) && $ui['ac'] === 'delete') {
if($ui['delThumb']){
delAndRegen($ui['delThumb'], $size);
}
if (isset($ui['deleteUrl']) && testValidUrl($ui['deleteUrl']) !== true) { if (isset($ui['deleteUrl']) && testValidUrl($ui['deleteUrl']) !== true) {
unset($ui['deleteUrl']); unset($ui['deleteUrl']);
echo '<div>Not a valid url.</div>'; echo '<div>Not a valid url.</div>';
@ -186,16 +188,15 @@ if (isset($ui['ac']) && $ui['ac'] === 'delete') {
$ui['deleteUrl'] = trim(rawurldecode($ui['deleteUrl'])); $ui['deleteUrl'] = trim(rawurldecode($ui['deleteUrl']));
$ui['deleteUrl'] = rtrim($ui['deleteUrl'], '/'); $ui['deleteUrl'] = rtrim($ui['deleteUrl'], '/');
$hashUrl = sha1($GLOBALS['config']['salt'].$ui['deleteUrl']); $hashUrl = sha1($GLOBALS['config']['salt'].$ui['deleteUrl']);
$imgUrl = pathForFile('m', $hashUrl); $imgUrl = pathForFile('', $hashUrl);
echo '</div> echo '</div>
<div id="result"> <div id="result">
<p> <p>
<a href="', $imgUrl, '.png"><img src="', $imgUrl, '_thumb.png"/></a> <a href="', $imgUrl, '.png"><img src="', $imgUrl, '_thumb.png"/></a>
</p> </p>
<a href="?p=admin&amp;ac=delete&amp;thumb=', $hashUrl, '">Delete this thumb</a> <a href="?p=admin&amp;ac=delete&amp;delThumb=', $hashUrl, '">Delete this thumb</a>
</div>'; </div>';
} }
} }
if (isset($ui['log']) && $ui['log'] === 'success') { if (isset($ui['log']) && $ui['log'] === 'success') {
$logs = parseSuccessLog(); $logs = parseSuccessLog();
@ -203,7 +204,7 @@ if (isset($ui['log']) && $ui['log'] === 'success') {
$nbThumb = 0; $nbThumb = 0;
$nbThumb = count($logs['genTime']); $nbThumb = count($logs['genTime']);
echo 'Total request : ', $nbThumb, '</br>'; echo 'Total request : ', $nbThumb, '</br>';
echo 'Moyenne per request : ', round(array_sum($logs['genTime']) / $nbThumb, 2), 's (min (', min($logs['genTime']), 's) max (', max($logs['genTime']), 's))</br>'; echo 'Moyenne per request : ', round(array_sum($logs['genTime']) / $nbThumb, 2), 's (min (', min($logs['genTime']), 's) max (', max($logs['genTime']), 's))</br>';
} else { } else {
echo 'No result'; echo 'No result';
} }
@ -227,12 +228,13 @@ if (isset($ui['log']) && ($ui['log'] === 'suspect' || $ui['log'] === 'retry' ||
} }
if (isset($ui['mGen']) && (int)$ui['mGen'] === 1) if (isset($ui['mGen']) && (int)$ui['mGen'] === 1)
$success = manualGen($ui['hash'], $ui['log']); $success = manualGen($ui['hash'], $ui['log']);
$success['base64'] = 'data:image/png;base64,'.base64_encode(file_get_contents($success['filePath']));
} }
$logs = parseFailLog($ui['log']); $logs = parseFailLog($ui['log']);
if (!empty($logs)) { if (!empty($logs)) {
echo '<ul>'; echo '<ul>';
foreach ($logs as $value) { foreach ($logs as $value) {
echo '<li>', htmlentities(strip_tags($value['3'])), htmlentities(strip_tags($value['0'])), '</br><a href="?p=admin&log=', $ui['log'], '&hash=', $value['1'], '&mGen=1#result">manuel launch</a> <a href="', htmlentities(strip_tags($value['0'])), '">view site</a> <a href="?p=admin&log=', $ui['log'], '&hash=', $value['1'], '&cache=1&s=', $value['2'], '#result">view image in cache</a></li>'; echo '<li>', htmlentities(strip_tags($value['3'])), htmlentities(strip_tags($value['0'])), '</br><a href="?p=admin&log=', $ui['log'], '&hash=', $value['1'], '&mGen=1#result">manuel launch</a> <a href="', htmlentities(strip_tags($value['0'])), '">view site</a> <a href="?p=admin&log=', $ui['log'], '&hash=', $value['1'], '&cache=1&s=', $value['2'], '#result">view image in cache</a></li>';
} }
echo '</ul>'; echo '</ul>';
} else { } else {
@ -244,6 +246,7 @@ if (!empty($success)) {
echo '<div id="result">'; echo '<div id="result">';
echo '<img src="', $success['base64'], '" style="width:100%;"/>'; echo '<img src="', $success['base64'], '" style="width:100%;"/>';
echo '<p><input type="text" value="http://', $_SERVER['SERVER_NAME'], '/', $success['filePath'], '" onclick="this.select()"/></p>'; echo '<p><input type="text" value="http://', $_SERVER['SERVER_NAME'], '/', $success['filePath'], '" onclick="this.select()"/></p>';
echo '<a href="?p=admin&log=', $ui['log'], '&hash=', $value['1'], '&mGen=1">manuel launch</a> / ';
echo '<a href="?p=admin&log=', $ui['log'], '&hash=', $ui['hash'], '&root=1">Try with root domain</a> / '; echo '<a href="?p=admin&log=', $ui['log'], '&hash=', $ui['hash'], '&root=1">Try with root domain</a> / ';
echo '<a href="?p=admin&log=', $ui['log'], '&hash=', $ui['hash'], '&keep=1">Keep this thumbshot</a>'; echo '<a href="?p=admin&log=', $ui['log'], '&hash=', $ui['hash'], '&keep=1">Keep this thumbshot</a>';
echo '</div>'; echo '</div>';

View file

@ -43,6 +43,7 @@ if (get_magic_quotes_gpc()) {
$value = is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value); $value = is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value);
return $value; return $value;
} }
$_POST = array_map('stripslashes_deep', $_POST); $_POST = array_map('stripslashes_deep', $_POST);
$_GET = array_map('stripslashes_deep', $_GET); $_GET = array_map('stripslashes_deep', $_GET);
$_COOKIE = array_map('stripslashes_deep', $_COOKIE); $_COOKIE = array_map('stripslashes_deep', $_COOKIE);
@ -327,10 +328,31 @@ function removeOlderThan($dir = 'cache/img/shortLive') {
function pathForFile($size, $hashUrl) { function pathForFile($size, $hashUrl) {
$startPath = substr($hashUrl, 0, 2).'/'.substr($hashUrl, 2, 2).'/'; $startPath = substr($hashUrl, 0, 2).'/'.substr($hashUrl, 2, 2).'/';
if(empty($size)){
$size = tryDetectSize($startPath.$hashUrl);
}
$file = 'cache/img/'.$size.'/'.$startPath.$hashUrl; $file = 'cache/img/'.$size.'/'.$startPath.$hashUrl;
return $file; return $file;
} }
function tryDetectSize($file) {
if (is_file('cache/img/s/'.$file.'_thumb.png')) {
return 's';
}
if (is_file('cache/img/m/'.$file.'_thumb.png')) {
return 'm';
}
if (is_file('cache/img/l/'.$file.'_thumb.png')) {
return 'l';
}
if (is_file('cache/img/xl/'.$file.'_thumb.png')) {
return 'xl';
}
if (is_file('cache/img/xxl/'.$file.'_thumb.png')) {
return 'xxl';
}
}
function validHash($hash) { function validHash($hash) {
if (empty($hash)) { if (empty($hash)) {
die('You talking to me'); die('You talking to me');
@ -390,9 +412,9 @@ function n_print($data, $name = '') {
echo '<h2>', $name, '</h2>'; echo '<h2>', $name, '</h2>';
echo '<fieldset style="border: 1px solid orange; padding: 5px;color: #333; background-color: #fff;">'; echo '<fieldset style="border: 1px solid orange; padding: 5px;color: #333; background-color: #fff;">';
echo '<legend style="border:1px solid orange;padding: 1px;background-color:#eee;color:orange;"> echo '<legend style="border:1px solid orange;padding: 1px;background-color:#eee;color:orange;">
', basename($aBackTrace[0]['file']), ' ligne => ', $aBackTrace[0]['line'], ' ', basename($aBackTrace[0]['file']), ' ligne => ', $aBackTrace[0]['line'], '
</legend>'; </legend>';
echo '<pre>', htmlentities(print_r($data, 1)), '</pre>'; echo '<pre>', htmlentities(print_r($data, 1)), '</pre>';
echo ' echo '
</fieldset> </fieldset>
<br /> <br />
@ -613,7 +635,7 @@ if (!empty($ui['request']) && $ui['p'] !== 'install' && $ui['p'] !== 'login' &&
</head> </head>
<body> <body>
<?php <?php
require getPage($ui['p']); require getPage($ui['p']);
?> ?>
</body> </body>
</html> </html>