diff --git a/bin/cronTask.sh b/bin/cronTask.sh new file mode 100644 index 0000000..e9d37dc --- /dev/null +++ b/bin/cronTask.sh @@ -0,0 +1,14 @@ +#!/bin/bash +queueDir="../cache/cronTask/" + +for file in $queueDir*.hash +do + if [ -f $file ]; + then + while read site hashUrl thumbSize sizeNameDir onlyThumb + do + sh thumb_server.sh "$site" "$hashUrl" "$thumbSize" "$sizeNameDir" "$onlyThumb" "0" + rm $file + done < $file + fi +done diff --git a/bin/thumb_server.sh b/bin/thumb_server.sh index 26e8561..b6e316f 100755 --- a/bin/thumb_server.sh +++ b/bin/thumb_server.sh @@ -9,9 +9,11 @@ thumbSize=$3 # size of thumb widthxheight ex : 190x90 sizeNameDir=$4 # name of size dir onlyThumb=$5 # make only thumbshot no full size image waitForResult=$6 # if true we try to make soon as possible or add to queue + ########################################## ##### DON'T EDIT THIS PARAM USE ##### ##### cache/config/serverOptions.php ##### +##### for overwrite options ##### ########################################## maxThread=1 # max parralle work. For me the best is nb core - 1 timeOut=60 # default time out, after this time the site are declared in error @@ -26,15 +28,15 @@ startPath=$sizeNameDir/$firstLevel/$secondLevel/ if [ $site == "manual" ] then - site=$(cat "cache/tmp/manual.txt") - echo '' > "cache/tmp/manual.txt" + site=$(cat "../cache/tmp/manual.txt") + echo '' > "../cache/tmp/manual.txt" fi -mkdir -p "cache/img/$startPath" +mkdir -p "../cache/img/$startPath" -if [ -f "cache/config/serverOptions.php" ] +if [ -f "../cache/config/serverOptions.php" ] then - source "cache/config/serverOptions.php" + source "../cache/config/serverOptions.php" fi if [ $currentProcess -gt $maxQueue ] @@ -52,9 +54,9 @@ then fi start_time=`date +%s` -timeout $timeOut ./bin/phantomjs --disk-cache=false --local-storage-path=/bin/ --ignore-ssl-errors=true /bin/rasterize.js "$site" "cache/tmp/$hashUrl.png" +timeout $timeOut ./phantomjs --disk-cache=false --local-storage-path=bin/ --ignore-ssl-errors=true rasterize.js "$site" "../cache/tmp/$hashUrl.png" -if [ ! -f "cache/tmp/$hashUrl.png" ] +if [ ! -f "../cache/tmp/$hashUrl.png" ] then echo 0 errorCode=`echo $(curl -k --write-out %{http_code} --silent -S --connect-timeout $timeOut \--no-keepalive --output /dev/null $site)` @@ -63,10 +65,10 @@ then errorCode='manual' fi case $errorCode in - 000) cp "bin/000.png" "cache/img/$startPath""$hashUrl""_thumb.png" && cp "bin/000.png" "cache/img/$startPath""$hashUrl.png" ;; - 200) cp "bin/error.png" "cache/img/$startPath""$hashUrl""_thumb.png" && cp "bin/error.png" "cache/img/$startPath""$hashUrl.png" ;; - 404) cp "bin/404.png" "cache/img/$startPath""$hashUrl""_thumb.png" && cp "bin/404.png" "cache/img/$startPath""$hashUrl.png" ;; - *) cp "bin/error.png" "cache/img/$startPath""$hashUrl""_thumb.png" && cp "bin/error.png" "cache/img/$startPath""$hashUrl.png" ;; + 000) cp "../bin/000.png" "../cache/img/$startPath""$hashUrl""_thumb.png" && cp "../bin/000.png" "../cache/img/$startPath""$hashUrl.png" ;; + 200) cp "../bin/error.png" "../cache/img/$startPath""$hashUrl""_thumb.png" && cp "../bin/error.png" "../cache/img/$startPath""$hashUrl.png" ;; + 404) cp "../bin/404.png" "../cache/img/$startPath""$hashUrl""_thumb.png" && cp "../bin/404.png" "../cache/img/$startPath""$hashUrl.png" ;; + *) cp "..bin/error.png" "../cache/img/$startPath""$hashUrl""_thumb.png" && cp "../bin/error.png" "../cache/img/$startPath""$hashUrl.png" ;; esac if $log then @@ -74,40 +76,40 @@ then logDate=`date +'[%a %d %b %Y] [%H:%M:%S]'` if [ $errorCode == 200 ] then - echo "none --- "$site" --- "$hashUrl" --- "$thumbSize" --- "$sizeNameDir" --- "$onlyThumb" --- true --- "$errorCode > "cache/logs/retry/"$hashUrl".log" + echo "none --- "$site" --- "$hashUrl" --- "$thumbSize" --- "$sizeNameDir" --- "$onlyThumb" --- true --- "$errorCode > "../cache/logs/retry/"$hashUrl".log" else - echo "none --- "$site" --- "$hashUrl" --- "$thumbSize" --- "$sizeNameDir" --- "$onlyThumb" --- true --- "$errorCode > "cache/logs/other/"$hashUrl".log" + echo "none --- "$site" --- "$hashUrl" --- "$thumbSize" --- "$sizeNameDir" --- "$onlyThumb" --- true --- "$errorCode > "../cache/logs/other/"$hashUrl".log" fi fi exit fi if [ $onlyThumb == 1 ] then - convert "cache/tmp/$hashUrl.png" -crop 1280x1024+0+0 -filter Lanczos -thumbnail "$thumbSize" "cache/img/$startPath""$hashUrl""_thumb.png" + convert "../cache/tmp/$hashUrl.png" -crop 1280x1024+0+0 -filter Lanczos -thumbnail "$thumbSize" "../cache/img/$startPath""$hashUrl""_thumb.png" if [ $optimizeTool ] then - eval $optimizeTool "cache/img/$startPath""$hashUrl""_thumb.png" + eval $optimizeTool "../cache/img/$startPath""$hashUrl""_thumb.png" fi else - convert "cache/tmp/$hashUrl.png" -crop 1280x1024+0+0 "cache/img/$startPath""$hashUrl.png" - convert "cache/img/$startPath""$hashUrl.png" -filter Lanczos -thumbnail "$thumbSize" "cache/img/$startPath""$hashUrl""_thumb.png" + convert "../cache/tmp/$hashUrl.png" -crop 1280x1024+0+0 "../cache/img/$startPath""$hashUrl.png" + convert "../cache/img/$startPath""$hashUrl.png" -filter Lanczos -thumbnail "$thumbSize" "../cache/img/$startPath""$hashUrl""_thumb.png" if [ $optimizeTool ] then - eval $optimizeTool "cache/img/$startPath""$hashUrl""_thumb.png" "cache/img/$startPath""$hashUrl.png" + eval $optimizeTool "../cache/img/$startPath""$hashUrl""_thumb.png" "../cache/img/$startPath""$hashUrl.png" fi fi -rm "cache/tmp/$hashUrl.png" +rm "../cache/tmp/$hashUrl.png" if [ $onlyThumb ] then - if [[ -f "cache/img/$startPath""$hashUrl""_thumb.png" ]] + if [[ -f "../cache/img/$startPath""$hashUrl""_thumb.png" ]] then echo 1 else echo 0 fi else - if [[ -f "cache/img/$startPath""$hashUrl""_thumb.png" && -f "cache/img/$startPath""$hashUrl.png" ]] + if [[ -f "../cache/img/$startPath""$hashUrl""_thumb.png" && -f "../cache/img/$startPath""$hashUrl.png" ]] then echo 1 else @@ -118,5 +120,5 @@ if $log then end_time=`date +%s` logDate=`date +'[%a %d %b %Y] [%H:%M:%S]'` - echo $logDate `expr $end_time - $start_time`s >> 'cache/logs/success.txt' + echo $logDate `expr $end_time - $start_time`s >> '../cache/logs/success.txt' fi diff --git a/inc/.htaccess b/inc/.htaccess new file mode 100644 index 0000000..b584d98 --- /dev/null +++ b/inc/.htaccess @@ -0,0 +1,2 @@ +Allow from none +Deny from all diff --git a/index.php b/index.php index 9f3e61f..383e03c 100644 --- a/index.php +++ b/index.php @@ -30,8 +30,8 @@ $GLOBALS['config']['thumbSize'] = array( ); // Remove image older than 12 hours $GLOBALS['config']['expireCache'] = 12; -// Disable exec command for launch script and use cron task -$GLOBALS['config']['disableExec'] = false; +// Disable exec command and use cron task +$GLOBALS['config']['disableExec'] = true; // Enable log for success, suspect, error $GLOBALS['config']['log'] = false; @@ -145,17 +145,30 @@ function launchScript($url, $hashUrl, $width, $size, $onlyThumb, $waitForResult } if ($GLOBALS['config']['disableExec'] === false) { + chdir('bin/'); if ($waitForResult === false) { - exec('bin/thumb_server.sh '.$url.' '.$hashUrl.' '.$width.' '.$size.' '.$onlyThumb.' > /dev/null &', $result); + exec('sh thumb_server.sh '.$url.' '.$hashUrl.' '.$width.' '.$size.' '.$onlyThumb.' > /dev/null &', $result); } else { - exec('bin/thumb_server.sh '.$url.' '.$hashUrl.' '.$width.' '.$size.' '.$onlyThumb.' 1', $result); + exec('sh thumb_server.sh '.$url.' '.$hashUrl.' '.$width.' '.$size.' '.$onlyThumb.' 1', $result); } + chdir('../'); } else { - return 0; + makeQueueFile($url, $hashUrl, $width, $size, $onlyThumb); + $result = 0; } return $result; } +function makeQueueFile($url, $hashUrl, $width, $size, $onlyThumb) { + $url = str_replace('\'', '', $url); + $hashUrl = str_replace('\'', '', $hashUrl); + $width = str_replace('\'', '', $width); + if (!file_exists('cache/cronTask/'.$hashUrl.'.hash')) { + $data = $url.' '.$hashUrl.' '.$width.' '.$size.' '.$onlyThumb. "\n"; + file_put_contents('cache/cronTask/'.$hashUrl.'.hash', $data); + } +} + function testValidUrl($url) { $url = trim($url); if (filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_SCHEME_REQUIRED | FILTER_FLAG_HOST_REQUIRED)) { @@ -367,9 +380,9 @@ function n_print($data, $name = '') { echo '

', $name, '

'; echo '
'; echo ' - ', basename($aBackTrace[0]['file']), ' ligne => ', $aBackTrace[0]['line'], ' + ', basename($aBackTrace[0]['file']), ' ligne => ', $aBackTrace[0]['line'], ' '; - echo '
',   htmlentities(print_r($data, 1)), '
'; + echo '
', htmlentities(print_r($data, 1)), '
'; echo '

@@ -552,7 +565,7 @@ if (!empty($ui['request']) && $ui['p'] !== 'install' && $ui['p'] !== 'login' && } if ((isset($ui['iw']) && (int)$ui['iw'] === 1 && $ui['request'] === 'api')) { $res = launchScript($defUrl, $hashUrl, $width, $ui['s'], $GLOBALS['config']['onlyThumb'], true); - } elseif ((isset($ui['iw']) && (int)$ui['iw'] === 1 && $ui['request'] === 'form')) { + } elseif (isset($ui['iw']) && (int)$ui['iw'] === 1 && $ui['request'] === 'form') { $res = launchScript($defUrl, $hashUrl, $width, 'shortLive', $GLOBALS['config']['onlyThumb'], true); } else { $res = launchScript($defUrl, $hashUrl, $width, $ui['s'], $GLOBALS['config']['onlyThumb'], false); @@ -561,6 +574,9 @@ if (!empty($ui['request']) && $ui['p'] !== 'install' && $ui['p'] !== 'login' && $file = 'bin/loadingGen'; printThumbShot($file); } else { + if ($GLOBALS['config']['disableExec'] === true) { + $file = 'bin/loadingGen'; + } $success = array( 'normal' => $file.'.png', 'thumb' => $file.'_thumb.png' @@ -576,11 +592,11 @@ if (!empty($ui['request']) && $ui['p'] !== 'install' && $ui['p'] !== 'login' && SoShot - + \ No newline at end of file diff --git a/inc/style.css b/style.css similarity index 100% rename from inc/style.css rename to style.css