dc2-photoblog/index.php

210 lines
9.4 KiB
PHP

<?php
if (!defined('DC_CONTEXT_ADMIN')) { exit; }
if (is_null(dcCore::app()->blog->settings->photoblog->photoblog_active)) {
if (dcCore::app()->blog->settings->photoblog->photoblog_thumbnail_height_archive) {
// We're updating the photoblog settings
dcCore::app()->blog->settings->addNamespace('photoblog');
dcCore::app()->blog->settings->photoblog->put('photoblog_active', true, 'boolean');
$active = true;
if ($msg != '') {
$msg .= '</p><p class="message">';
}
$msg .= __('The photoblog configuration has been upgraded.');
} else {
$active = false;
}
} else {
$active = (boolean)dcCore::app()->blog->settings->photoblog->photoblog_active;
}
if (!dcCore::app()->blog->settings->photoblog->photoblog_thumbnail_height_archive && $active) {
try {
dcPhotoblog::__init();
http::redirect(dcCore::app()->admin->getPageURL());
} catch (Exception $e) {
dcCore::app()->error->add($e->getMessage());
}
}
$cleanup = !empty($_REQUEST['cleanup']) ? $_REQUEST['cleanup'] : null;
$clean_result = '';
$cleanupScript = '/thumbnail_cleanup.php';
if ($cleanup == 'old_thumbs') {
include_once(__DIR__ . $cleanupScript);
$clean_result = thumbnail_cleanup(true);
} elseif ($cleanup == 'current_thumbs') {
include_once(__DIR__ . $cleanupScript);
$clean_result = thumbnail_cleanup();
} elseif ($cleanup == 'full_cleanup') {
include_once(__DIR__ . $cleanupScript);
$clean_result = file_cleanup();
} elseif (!empty($_POST['saveconfig'])) {
try {
$useSameThumbs = !empty($_POST['same_thumbs']);
dcCore::app()->blog->settings->addNamespace('photoblog');
dcCore::app()->blog->settings->photoblog->put('photoblog_active', !empty($_POST['active']), 'boolean');
dcCore::app()->blog->settings->photoblog->put('photoblog_use_same_thumbs', $useSameThumbs, 'boolean');
dcCore::app()->blog->settings->photoblog->put('photoblog_thumbnail_sepia_archive', (integer) $_POST['sepia_archive'], 'integer');
dcCore::app()->blog->settings->photoblog->put('photoblog_thumbnail_width_archive', (integer) $_POST['width_archive'], 'integer');
dcCore::app()->blog->settings->photoblog->put('photoblog_thumbnail_height_archive', (integer) $_POST['height_archive'], 'integer');
if ($useSameThumbs) {
dcCore::app()->blog->settings->photoblog->put('photoblog_thumbnail_sepia_nav', (integer) $_POST['sepia_archive'], 'integer');
dcCore::app()->blog->settings->photoblog->put('photoblog_thumbnail_width_nav', (integer) $_POST['width_archive'], 'integer');
dcCore::app()->blog->settings->photoblog->put('photoblog_thumbnail_height_nav', (integer) $_POST['height_archive'], 'integer');
} else {
dcCore::app()->blog->settings->photoblog->put('photoblog_thumbnail_sepia_nav', (integer) $_POST['sepia_nav'], 'integer');
dcCore::app()->blog->settings->photoblog->put('photoblog_thumbnail_width_nav', (integer) $_POST['width_nav'], 'integer');
dcCore::app()->blog->settings->photoblog->put('photoblog_thumbnail_height_nav', (integer) $_POST['height_nav'], 'integer');
}
http::redirect(dcCore::app()->admin->getPageURL().'&up=1&part=options');
} catch (Exception $e) {
dcCore::app()->error->add($e->getMessage());
}
}
$part = !empty($_GET['part']) && $_GET['part'] == 'cleanup' ? 'cleanup' : 'options';
if ($clean_result) { $part = 'cleanup'; }
// Read config
$same_thumbs = dcCore::app()->blog->settings->photoblog->photoblog_use_same_thumbs;
$sepia_archive = dcCore::app()->blog->settings->photoblog->photoblog_thumbnail_sepia_archive;
$width_archive = dcCore::app()->blog->settings->photoblog->photoblog_thumbnail_width_archive;
$height_archive = dcCore::app()->blog->settings->photoblog->photoblog_thumbnail_height_archive;
$sepia_nav = dcCore::app()->blog->settings->photoblog->photoblog_thumbnail_sepia_nav;
$width_nav = dcCore::app()->blog->settings->photoblog->photoblog_thumbnail_width_nav;
$height_nav = dcCore::app()->blog->settings->photoblog->photoblog_thumbnail_height_nav;
$sepia_array = [
__('Color')=>0,
__('Black and white')=>1,
__('Sepia #1')=>2,
__('Sepia #2')=>3,
__('Sepia #3')=>4,
__('Selenium')=>5,
__('Silver')=>6,
__('Cyanotype')=>7,
__('Platinum')=>8,
__('Palladium')=>9,
__('Silver gelatin')=>10
];
if (!extension_loaded('gd')) {
if ($msg != '') {
$msg .= '</p><p class="message">';
}
$msg .= __("Warning: The GD library does not seem to be present in your PHP configuration. Please activate it, otherwise you won't have any thumbnails.");
}
?>
<html>
<head>
<title><?php echo __('Photoblog'); ?></title>
<?php echo dcPage::jsPageTabs($part); ?>
</head>
<body>
<h2><?php echo html::escapeHTML(dcCore::app()->blog->name); ?> &gt; <?php echo __('Photoblog'); ?></h2>
<?php if (!empty($_GET['up'])) {
echo '<p class="message">'.__('Settings have been successfully updated.').'</p>';
}?>
<?php if (!empty($msg)) {
echo '<p class="message">'.$msg.'</p>';
}?>
<div class="multi-part" id="options" title="<?php echo __('Options'); ?>">
<form method="post" action="plugin.php">
<fieldset>
<legend><?php echo __('Base configuration'); ?></legend>
<p class="field">
<label class=" classic">
<?php echo form::checkbox('active', 1, $active); ?>&nbsp;<?php echo __('Enable photoblog'); ?>
</label>
</p>
<p class="field"<?php if (!$active) { echo ' style="display:none;"'; } ?>>
<label class=" classic">
<?php echo form::checkbox('same_thumbs', 1, $same_thumbs); ?>&nbsp;<?php echo __('Use the same thumbnails for archives and navigation').' '; ?>
</label>
</p>
<fieldset style="width: 40%; float: left;<?php if (!$active) { echo 'display:none;'; } ?>" class="clear">
<legend><?php echo __('Thumbnails for archives'); ?></legend>
<p class="field">
<label class=" classic"><?php echo __('Sepia toning for thumbnails:') . ' '; ?></label>
<?php echo form::combo('sepia_archive', $sepia_array, (integer) $sepia_archive); ?>
</p>
<p class="field">
<label class=" classic"><?php echo __('Width of thumbnails (in pixels):') . ' '; ?></label>
<?php echo form::field('width_archive', 2, null, (integer) $width_archive); ?>
</p>
<p class="field">
<label class=" classic"><?php echo __('Height of thumbnails (in pixels):') . ' '; ?></label>
<?php echo form::field('height_archive', 2, null, (integer) $height_archive); ?>
</p>
</fieldset>
<fieldset style="width: 40%; float: right;<?php if (!$active || $same_thumbs) { echo 'display:none;'; } ?>">
<legend><?php echo __('Thumbnails for navigation'); ?></legend>
<p class="field">
<label class=" classic"><?php echo __('Sepia toning for thumbnails:') . ' '; ?></label>
<?php echo form::combo('sepia_nav', $sepia_array, (integer) $sepia_nav); ?>
</p>
<p class="field">
<label class=" classic"><?php echo __('Width of thumbnails (in pixels):') . ' '; ?></label>
<?php echo form::field('width_nav', 2, null, (integer) $width_nav); ?>
</p>
<p class="field">
<label class=" classic"><?php echo __('Height of thumbnails (in pixels):') . ' '; ?></label>
<?php echo form::field('height_nav', 2, null, (integer) $height_nav); ?>
</p>
</fieldset>
</fieldset>
<p><input type="hidden" name="p" value="photoblog" />
<input type="submit" name="saveconfig" value="<?php echo __('Save configuration'); ?>" />
<?php echo dcCore::app()->formNonce(); ?></p>
</form>
</div>
<div class="multi-part" id="cleanup" title="<?php echo __('Thumbnails cleanup'); ?>">
<h3><?php echo __('Remove all photoblog thumbnails'); ?></h3>
<form action="plugin.php" method="post">
<input type="submit" value="<?php echo __('Remove all current photoblog thumbnails'); ?>" />
<input type="hidden" name="p" value="photoblog" />
<input type="hidden" name="cleanup" value="current_thumbs" />
<?php echo dcCore::app()->formNonce(); ?>
</form>
<p> </p>
<h3><?php echo __('Remove all old thumbnails'); ?></h3>
<form action="plugin.php" method="post">
<input type="submit" value="<?php echo __('Remove all old thumbnails (used by Photoblog for DotClear 1.2.x)'); ?>" />
<input type="hidden" name="p" value="photoblog" />
<input type="hidden" name="cleanup" value="old_thumbs" />
<?php echo dcCore::app()->formNonce(); ?>
</form>
<p> </p>
<h3><?php echo __('Remove all old default thumbnails'); ?></h3>
<form action="plugin.php" method="post">
<input type="submit" value="<?php echo __('Remove all old default thumbnails (used by DotClear 1.2.x)'); ?>" />
<input type="hidden" name="p" value="photoblog" />
<input type="hidden" name="cleanup" value="full_cleanup" />
<?php echo dcCore::app()->formNonce(); ?>
</form>
<?php if ($clean_result) : ?>
<p> </p>
<h3><?php echo __('Results'); ?></h3>
<?php echo $clean_result; ?>
<?php endif; ?>
</div>
<?php dcPage::helpBlock('photoblog'); ?>
</body>
</html>