Copied!
<?php

namespace Example;

class ComposerVersion extends \Example\Page
	{
	public function __construct()
		{
		parent::__construct([$this, 'processPost']);

		$this->addBody(new \PHPFUI\Header('Composer Version Checker'));
		$form = new \PHPFUI\Form($this);
		$parameters = \PHPFUI\Session::getFlash('post');

		if ($parameters)
			{
			$parameters = \json_decode($parameters, true);
			}
		else
			{
			$parameters = [];
			}

		$view = new \Example\View\ComposerVersion($this, $parameters);
		$form->add($view->render());
		$form->add(new \PHPFUI\Submit('Test', 'save'));
		$this->addBody($form);
		}

	/** @param array<string, string> $post */
	public function processPost(array $post) : void
		{
		\PHPFUI\Session::setFlash('post', \json_encode($_POST));
		$version = $post['version'] ?? '';
		$constraint = $post['constraint'] ?? '';

		if (! $constraint || ! $version)
			{
			\PHPFUI\Session::setFlash('alert', \json_encode('constraint and / or version field not found'));

			return;
			}

		try
			{
			if (\Composer\Semver\Semver::satisfies($version, $constraint))
				{
				\PHPFUI\Session::setFlash('success', \json_encode("Version '<b>{$version}</b>' satifies constraint '<b>{$constraint}</b>'"));

				return;
				}
			}
		catch (\Throwable $e)
			{
			\PHPFUI\Session::setFlash('alert', \json_encode($e->getMessage()));

			return;
			}

		\PHPFUI\Session::setFlash('warning', \json_encode("Version '<b>{$version}</b>' is not allowed for constraint '<b>{$constraint}</b>'"));
		}
	}
© 2025 Bruce Wells
Search Namespaces \ Classes
Configuration