masonry-ppt/masonry.php

54 lines
1.3 KiB
PHP

<?php
/**
* @package MasonrySlides
* @version 1.0
*/
/*
Plugin Name: Masonry Slides
Description: Allows to make slides from random images
Author: Alexander Yakovlev
Version: 1.0
Author URI: https://en.oreolek.ru/
*/
require_once('Masonry.php');
add_action('admin_menu', 'masonryslides_menu');
function masonryslides_menu() {
add_submenu_page(
'options-general.php',
'Masonry Slides',
'Masonry Slides',
'manage_options',
'masonryslides-menu',
'masonryslides_newslide'
);
}
function masonryslides_newslide() {
?>
<h1>New slide</h1>
<?php
$images = glob('images/*');
shuffle($images);
$masonry = new Masonry();
$masonry->minWidth = 5;
$masonry->maxWidth = 15;
$masonry->minHeight = 10;
$masonry->maxHeight = 30;
$masonry->fillTopProbability = 5;
$masonry->fillHalfwayProbability = 2;
$masonry->xsize = count($images) * ($masonry->maxWidth / ($masonry->ysize / $masonry->maxHeight));
try {
$position = $masonry->create($images);
} catch (Exception $e) {
echo $e->getMessage();
}
foreach($images as $k => $v) : ?>
<div style='top: <?php echo $position[$k]['y']; ?>%; left: <?php echo $position[$k]['x']; ?>%; width: <?php echo $position[$k]['w']; ?>%; height: <?php echo $position[$k]['h']; ?>%; background-image: url(<?php echo $images[$k]; ?>);'></div>
<?php endforeach;
}