[SAVE] Zwischencommit
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
class ChroseyImageVariants extends AbstractPicoPlugin
|
||||
{
|
||||
public function onPageRendering(&$templateName, array &$twigVariables)
|
||||
{
|
||||
// Create images array
|
||||
$twigVariables['variants'] = $this->getImageVariants();
|
||||
}
|
||||
|
||||
private function getImageVariants()
|
||||
{
|
||||
// code...
|
||||
}
|
||||
}
|
||||
+31
-24
@@ -1,12 +1,13 @@
|
||||
<?php
|
||||
/**
|
||||
* Get the images of the current page with {{ images }} in Pico CMS.
|
||||
* Edited September 2018 by Brian Goncalves
|
||||
* Edited September 2018 by Brian Goncalves.
|
||||
*
|
||||
* @author Nicolas Liautaud <contact@nliautaud.fr>
|
||||
* @license http://opensource.org/licenses/MIT The MIT License
|
||||
* @link http://nliautaud.fr
|
||||
* @link http://picocms.org
|
||||
*
|
||||
* @see http://nliautaud.fr
|
||||
* @see http://picocms.org
|
||||
*/
|
||||
class PicoPagesImages extends AbstractPicoPlugin
|
||||
{
|
||||
@@ -16,7 +17,7 @@ class PicoPagesImages extends AbstractPicoPlugin
|
||||
|
||||
/**
|
||||
* Register path relative to content without index and extension
|
||||
* var/html/content/foo/bar.md => foo/bar/
|
||||
* var/html/content/foo/bar.md => foo/bar/.
|
||||
*
|
||||
* Triggered after Pico has discovered the content file to serve
|
||||
*
|
||||
@@ -36,29 +37,33 @@ class PicoPagesImages extends AbstractPicoPlugin
|
||||
}
|
||||
$contentExt = $this->getConfig('content_ext');
|
||||
$this->path = substr($file, $contentDirLength);
|
||||
$this->path = rtrim($this->path, "index$contentExt");
|
||||
$this->path = rtrim($this->path, "index{$contentExt}");
|
||||
$this->path = rtrim($this->path, $contentExt);
|
||||
if ($this->path) {
|
||||
$this->path .= '/';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Triggered after Pico has read its configuration
|
||||
* Triggered after Pico has read its configuration.
|
||||
*
|
||||
* @see Pico::getConfig()
|
||||
* @param array &$config array of config variables
|
||||
*
|
||||
* @param array &$config array of config variables
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function onConfigLoaded(array &$config)
|
||||
{
|
||||
if (!empty($config['images_path'])) {
|
||||
$this->root = rtrim($config['images_path'], '/') . '/';
|
||||
$this->root = rtrim($config['images_path'], '/').'/';
|
||||
} else {
|
||||
$this->root = 'images/';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Triggered before Pico renders the page
|
||||
* Triggered before Pico renders the page.
|
||||
*
|
||||
* @see DummyPlugin::onPageRendered()
|
||||
*
|
||||
@@ -72,6 +77,7 @@ class PicoPagesImages extends AbstractPicoPlugin
|
||||
// Create images array
|
||||
$twigVariables['images'] = $this->getImages();
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the list and infos of images in the current directory.
|
||||
*
|
||||
@@ -79,46 +85,47 @@ class PicoPagesImages extends AbstractPicoPlugin
|
||||
*/
|
||||
private function getImages()
|
||||
{
|
||||
$images_path = $this->root . $this->path;
|
||||
$images_path = $this->root.$this->path;
|
||||
// Filter images path for extra slashes
|
||||
$images_path = preg_replace('/(\/+)/','/',$images_path);
|
||||
$images_path = preg_replace('/(\/+)/', '/', $images_path);
|
||||
|
||||
$data = array();
|
||||
$data = [];
|
||||
$pattern = '*.{[jJ][pP][gG],[jJ][pP][eE][gG],[pP][nN][gG],[gG][iI][fF]}';
|
||||
$images = glob($images_path . $pattern, GLOB_BRACE);
|
||||
$meta = array();
|
||||
$images = glob($images_path.$pattern, GLOB_BRACE);
|
||||
$meta = [];
|
||||
|
||||
if (!is_array($images)) {
|
||||
return array();
|
||||
return [];
|
||||
}
|
||||
|
||||
foreach ($images as $path) {
|
||||
$imagesize = getimagesize($path);
|
||||
if (!is_array($imagesize)) {
|
||||
$imagesize = array();
|
||||
$imagesize = [];
|
||||
}
|
||||
list($width, $height,, $size) = array_pad($imagesize, 4, '');
|
||||
list($width, $height, , $size) = array_pad($imagesize, 4, '');
|
||||
|
||||
// Find meta files for images if they exist
|
||||
$metapath = $path . '.meta.yml';
|
||||
$metapath = $path.'.meta.yml';
|
||||
if (is_file($metapath)) {
|
||||
$yamlparser = $this->getPico()->getYamlParser();
|
||||
$meta = $yamlparser->parse(file_get_contents($metapath));
|
||||
}
|
||||
|
||||
$data[] = array (
|
||||
'url' => $this->getBaseUrl() . $images_path . pathinfo($path, PATHINFO_BASENAME),
|
||||
$data[] = [
|
||||
'url' => $this->getBaseUrl().$images_path.pathinfo($path, PATHINFO_BASENAME),
|
||||
'preview' => $this->getBaseUrl().pathinfo($path, PATHINFO_DIRNAME).'/thumbs/'.pathinfo($path, PATHINFO_BASENAME),
|
||||
'basename' => pathinfo($path, PATHINFO_BASENAME),
|
||||
'path' => $images_path,
|
||||
'name' => pathinfo($path, PATHINFO_FILENAME),
|
||||
'ext' => pathinfo($path, PATHINFO_EXTENSION),
|
||||
'width' => $width,
|
||||
'height' => $height,
|
||||
'size' => $size,
|
||||
'meta' => $meta
|
||||
);
|
||||
|
||||
|
||||
'meta' => $meta,
|
||||
];
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user