mirror of
https://github.com/WhatCD/Gazelle.git
synced 2024-12-15 03:46:25 +00:00
123 lines
3.7 KiB
PHP
123 lines
3.7 KiB
PHP
<?
|
|
/*
|
|
* This page creates previews of all supported stylesheets
|
|
* SERVER_ROOT . '/' . STATIC_SERVER . 'stylespreview' must exist and be writable
|
|
* Dependencies are PhantomJS (http://phantomjs.org/) and
|
|
* ImageMagick (http://www.imagemagick.org/script/index.php)
|
|
*/
|
|
View::show_header('Rerender stylesheet gallery images');
|
|
$DB->query('
|
|
SELECT
|
|
ID,
|
|
LOWER(REPLACE(Name," ","_")) AS Name,
|
|
Name AS ProperName
|
|
FROM stylesheets');
|
|
$Styles = $DB->to_array('ID', MYSQLI_BOTH);
|
|
$ImagePath = SERVER_ROOT . '/' . STATIC_SERVER . 'stylespreview';
|
|
?>
|
|
<div class="thin">
|
|
<h2>Rerender stylesheet gallery images</h2>
|
|
<div class="sidebar">
|
|
<div class="box box_info">
|
|
<div class="head colhead_dark">Rendering parameters</div>
|
|
<ul class="stats nobullet">
|
|
<li>Server root: <?= var_dump(SERVER_ROOT); ?></li>
|
|
<li>Static server: <?= var_dump(STATIC_SERVER); ?></li>
|
|
<li>Whoami: <? echo(shell_exec('whoami')); ?></li>
|
|
<li>Path: <? echo dirname(__FILE__); ?></li>
|
|
<li>Phantomjs ver: <? echo (shell_exec('/usr/bin/phantomjs -v;')); ?></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div class="main_column">
|
|
<div class="box">
|
|
<div class="head">About rendering</div>
|
|
<div class="pad">
|
|
<p>You are now rendering stylesheet gallery images.</p>
|
|
<p>The used parameters can be seen on the right, returned statuses are displayed below.</p>
|
|
</div>
|
|
</div>
|
|
<div class="box">
|
|
<div class="head">Rendering status</div>
|
|
<div class="pad">
|
|
<?
|
|
//set_time_limit(0);
|
|
foreach ($Styles as $Style) {
|
|
?>
|
|
<div class="box">
|
|
<h6><?= $Style['Name'] ?></h6>
|
|
<p>Build preview:
|
|
<?
|
|
$CmdLine = '/usr/bin/phantomjs "' . dirname(__FILE__) . '/render_build_preview.js" "' . SERVER_ROOT . '" "' . STATIC_SERVER . '" "' . $Style['Name'] . '" "' . dirname(__FILE__) . '"';
|
|
$BuildResult = json_decode(shell_exec(escapeshellcmd($CmdLine)), true);
|
|
switch ($BuildResult['status']) {
|
|
case 0:
|
|
echo 'Success.';
|
|
break;
|
|
case -1:
|
|
echo 'Err -1: Incorrect paths, are they passed correctly?';
|
|
break;
|
|
case -2:
|
|
echo 'Err -2: Rendering base does not exist. Who broke things?';
|
|
break;
|
|
case -3:
|
|
echo 'Err -3: No permission to write to preview folder.';
|
|
break;
|
|
case -4:
|
|
echo 'Err -4: Failed to store specific preview file.';
|
|
break;
|
|
default:
|
|
echo 'Err: Unknown error returned';
|
|
}
|
|
?>
|
|
</p>
|
|
<?
|
|
//If build was successful, snap a preview.
|
|
if ($BuildResult['status'] === 0) {
|
|
?>
|
|
<p>Snap preview:
|
|
<?
|
|
$CmdLine = '/usr/bin/phantomjs "' . dirname(__FILE__) . '/render_snap_preview.js" "' . SERVER_ROOT . '" "' . STATIC_SERVER . '" "' . $Style['Name'] . '" "' . dirname(__FILE__) . '"';
|
|
$SnapResult = json_decode(shell_exec(escapeshellcmd($CmdLine)), true);
|
|
switch ($SnapResult['status']) {
|
|
case 0:
|
|
echo 'Success.';
|
|
$CmdLine = '/usr/bin/convert "' . $ImagePath . '/full_' . $Style['Name'] . '.png" -filter Box -resize 40% -quality 94 "' . $ImagePath . '/thumb_' . $Style['Name'] . '.png"';
|
|
$ResizeResult = shell_exec(escapeshellcmd($CmdLine));
|
|
if ($ResizeResult !== null) {
|
|
echo ' But failed to resize image';
|
|
}
|
|
break;
|
|
case -1:
|
|
echo 'Err -1: Incorrect paths. Are they passed correctly? Do all folders exist?';
|
|
break;
|
|
case -2:
|
|
echo 'Err -2: Preview file does not exist; running things in the wrong order perhaps?';
|
|
break;
|
|
case -3:
|
|
echo 'Err -3: Preview is empty; did it get created properly?';
|
|
break;
|
|
case -4:
|
|
echo 'Err -4: No permission to write to preview folder.';
|
|
break;
|
|
case -5:
|
|
echo 'Err -5: Failed to store full image.';
|
|
break;
|
|
case -6:
|
|
echo 'Err -6: Cannot find temp file to remove; are the paths correct?';
|
|
break;
|
|
default:
|
|
echo 'Err: Unknown error returned.';
|
|
}
|
|
?>
|
|
</p>
|
|
<? } ?>
|
|
</div>
|
|
<? } ?>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<?
|
|
View::show_footer();
|