# photonic/3.37/Components/Photo_List.php

Photonic Gallery &amp; Lightbox for Flickr, SmugMug &amp; Others, version 3.37. 50 lines.

- Page: https://pluginprobe.com/plugins/photonic/3.37/code/Components/Photo_List.php
- Raw: https://pluginprobe.com/plugins/photonic/3.37/raw/Components/Photo_List.php
- Modified: 2026-07-23T21:21:48+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/photonic/3.37/code/Components/Photo_List.php#L10-L20`.

```php
<?php

namespace Photonic_Plugin\Components;

use Photonic_Plugin\Core\Photonic;
use Photonic_Plugin\Layouts\Core_Layout;
use Photonic_Plugin\Platforms\Base;

require_once 'Header.php';
require_once 'Pagination.php';

class Photo_List implements Printable {
	public array $photos = [];

	public string $title_position = 'tooltip';
	public array $row_constraints = [];
	public string $parent = 'stream';
	public string $indent = "\t";
	public array $short_code = [];

	/**
	 * @var Pagination $pagination
	 */
	public Pagination $pagination;

	public function __construct(array $short_code) {
		$this->short_code = $short_code;
		$this->pagination = new Pagination();
	}

	private function custom_sort(Base $module) {
		$this->photos = apply_filters('photonic_custom_sort_photos', $this->photos, $module->provider);
	}

	public function html(Base $module, Core_Layout $layout, bool $print = false): string {
		$ret = '';

		$this->custom_sort($module);

		if (is_a($layout, 'Photonic_Plugin\Layouts\Level_One_Gallery')) {
			$ret = $layout->generate_level_1_gallery($this, $this->short_code, $module);
		}

		if ($print) {
			echo wp_kses($ret, Photonic::$safe_tags);
		}
		return wp_kses($ret, Photonic::$safe_tags);
	}
}

```
