Use base image content instead of os_path; fix base images stats

This commit is contained in:
Max Kostikov 2019-04-16 17:31:27 +02:00
parent 25c35cbbe4
commit 5ba7e5d7d7

View File

@ -29,7 +29,7 @@ if($argc == 2) {
echo 'Current storage set to: ' . ($storage ? 'filesystem' : 'SQL database') . PHP_EOL; echo 'Current storage set to: ' . ($storage ? 'filesystem' : 'SQL database') . PHP_EOL;
switch($argv[1]) { switch($argv[1]) {
case 'stats': case 'stats':
$x = q("SELECT COUNT(resource_id) AS qty FROM photo WHERE photo_usage = 0 and os_storage = 1"); $x = q("SELECT COUNT(resource_id) AS qty FROM photo WHERE photo_usage = 0 AND os_storage = 1 AND imgscale = 0");
echo 'Local images: ' . $x[0]['qty'] . PHP_EOL; echo 'Local images: ' . $x[0]['qty'] . PHP_EOL;
$x = q("SELECT COUNT(id) AS qty FROM photo WHERE resource_id IN (SELECT DISTINCT resource_id FROM photo WHERE photo_usage = 0 and os_storage = 1) AND imgscale > 0"); $x = q("SELECT COUNT(id) AS qty FROM photo WHERE resource_id IN (SELECT DISTINCT resource_id FROM photo WHERE photo_usage = 0 and os_storage = 1) AND imgscale > 0");
echo 'Thumbnails total: ' . $x[0]['qty'] . PHP_EOL; echo 'Thumbnails total: ' . $x[0]['qty'] . PHP_EOL;
@ -45,26 +45,21 @@ if($argc == 2) {
break; break;
} }
$x = q("SELECT DISTINCT uid, resource_id FROM photo WHERE photo_usage = 0 and os_storage = 1"); $x = q("SELECT DISTINCT resource_id, content FROM photo WHERE photo_usage = 0 AND os_storage = 1 AND imgscale = 0");
if($x) { if($x) {
foreach($x as $xx) { foreach($x as $xx) {
$r = q("SELECT channel_address FROM channel WHERE channel_id = %d", $n = q("SELECT id, imgscale, content FROM photo WHERE resource_id = '%s' AND os_storage != %d AND imgscale > 0",
intval($xx['uid'])
);
$n = q("SELECT id, imgscale, content, os_path FROM photo WHERE resource_id = '%s' AND os_storage != %d AND imgscale > 0",
dbesc($xx['resource_id']), dbesc($xx['resource_id']),
$storage $storage
); );
echo count($n) . PHP_EOL;
foreach($n as $nn) { foreach($n as $nn) {
echo '.'; echo '.';
$filename = 'store/' . $r[0]['channel_address'] . '/' . $nn['os_path'] . '-' . $nn['imgscale']; $filename = dbunescbin($xx['content']) . '-' . $nn['imgscale'];
if(! file_put_contents($filename, dbunescbin($nn['content']))) { if(! file_put_contents($filename, dbunescbin($nn['content']))) {
echo 'Failed to save file ' . $filename . PHP_EOL; echo 'Failed to save file ' . $filename . PHP_EOL;
continue; continue;
@ -90,7 +85,7 @@ if($argc == 2) {
break; break;
} }
$x = q("SELECT DISTINCT resource_id FROM photo WHERE photo_usage = 0 and os_storage = 1"); $x = q("SELECT DISTINCT resource_id FROM photo WHERE photo_usage = 0 AND os_storage = 1 AND imgscale = 0");
if($x) { if($x) {
foreach($x as $xx) { foreach($x as $xx) {
@ -134,4 +129,3 @@ if($argc == 2) {
echo PHP_EOL; echo PHP_EOL;
} }