Files
WrenchBoradWeb/resources/cards/index.php
T
2019-05-31 11:39:03 -04:00

80 lines
2.4 KiB
PHP

<?php
$path = $_GET['path'];
$size = isset($_GET['size'])?$_GET['size']:NULL;
define('BASEPATH', getcwd());
chdir('../../adminsavvy/');
chdir('/home/savvy/savvy/adminsavvy'); // DEBUG
require 'backend.php';
require 'application/libraries/Googlestorage.php';
$uniqueId = pathinfo($path, PATHINFO_FILENAME);
$objectName = pathinfo($path, PATHINFO_BASENAME);
$host = $savvyext->cfgReadChar('database.host');
$name = $savvyext->cfgReadChar('database.name');
$user = $savvyext->cfgReadChar('database.user');
$pass = $savvyext->cfgReadChar('database.pass');
$port = $savvyext->cfgReadLong('database.port');
$dbconn = pg_connect("host=${host} port=${port} dbname=${name} user=${user} password=${pass}");
if (!$dbconn) {
// Show error
showfile('errorspy.jpg');
}
$q = "select a.*,b.name as bucket from card_images a left join card_image_category b on (b.id=a.catid) where a.uniqueid = '".pg_escape_string($uniqueId)."'";
$r = pg_query($q);
if ($r && pg_num_rows($r) && $f=pg_fetch_assoc($r)) {
$image = $f;
} else {
// Show not found
showFile('image_not_found.png');
}
$storage = new GoogleStorage();
$storage->Init(
$savvyext->cfgReadChar('google.storage_project_id'),
$savvyext->cfgReadChar('google.storage_auth_file')
);
try {
$data = $storage->DownloadObject($image['bucket'],$objectName);
header('Content-type: image/'.$image['format']);
if ($size!=NULL && preg_match('/^([0-9]{2,4})x([0-9]{2,4})$/i', $size, $resize)==1
&& count($resize)>2 && ((int)$resize[1])>0 && ((int)$resize[2])>0) {
$temp_file = tempnam(sys_get_temp_dir(), $uniqueId);
file_put_contents($temp_file, $data);
require(BASEPATH.'/simple_image.php');
$resized = new SimpleImage();
$resized->load($temp_file);
$resized->resize($resize[1], $resize[2]);
$resized->output();
unlink($temp_file);
} else {
echo $data;
}
} catch (Exception $e) {
showFile('error.png');
/*
foreach ($storage->ListBuckets()as $b) {
echo $b->name()."<br>";
}
var_dump($storage->ListObjects($image['bucket']));
*/
}
function showFile($file,$path=BASEPATH) {
header('Content-type: '.mime_content_type($path.'/'.$file));
echo (file_get_contents($path.'/'.$file));
exit();
}
/*
$file = 'feed1.jpg';
header('Content-type: '.mime_content_type($file));
echo (file_get_contents($file));
*/
pg_close($dbconn);