/mnt/monguz/vufind-instances/6.1.2/vendor/zendframework/zend-servicemanager/src/ServiceManager.php
* @return mixed
* @throws ServiceNotFoundException if unable to resolve the service.
* @throws ServiceNotCreatedException if an exception is raised when
* creating a service.
* @throws ContainerException if any other error occurs
*/
private function doCreate($resolvedName, array $options = null)
{
try {
if (! isset($this->delegators[$resolvedName])) {
// Let's create the service by fetching the factory
$factory = $this->getFactory($resolvedName);
$object = $factory($this->creationContext, $resolvedName, $options);
} else {
$object = $this->createDelegatorFromName($resolvedName, $options);
}
} catch (ContainerException $exception) {
throw $exception;
} catch (Exception $exception) {
throw new ServiceNotCreatedException(sprintf(
'Service with name "%s" could not be created. Reason: %s',
$resolvedName,
$exception->getMessage()
), (int) $exception->getCode(), $exception);
}
foreach ($this->initializers as $initializer) {
$initializer($this->creationContext, $object);
}
return $object;
}
/**
* Create the lazy services delegator factory.
*
* Creates the lazy services delegator factory based on the lazy_services
* configuration present.
*
* @return Proxy\LazyServiceFactory
/mnt/monguz/vufind-instances/6.1.2/vendor/zendframework/zend-session/src/Storage/AbstractSessionArrayStorage.php
/**
* Set storage metadata
*
* Metadata is used to store information about the data being stored in the
* object. Some example use cases include:
* - Setting expiry data
* - Maintaining access counts
* - localizing session storage
* - etc.
*
* @param string $key
* @param mixed $value
* @param bool $overwriteArray Whether to overwrite or merge array values; by default, merges
* @return ArrayStorage
* @throws Exception\RuntimeException
*/
public function setMetadata($key, $value, $overwriteArray = false)
{
if ($this->isImmutable()) {
throw new Exception\RuntimeException(
sprintf('Cannot set key "%s" as storage is marked isImmutable', $key)
);
}
if (! isset($_SESSION['__ZF']) || ! is_array($_SESSION['__ZF'])) {
$_SESSION['__ZF'] = [];
}
if (isset($_SESSION['__ZF'][$key]) && is_array($value)) {
if ($overwriteArray) {
$_SESSION['__ZF'][$key] = $value;
} else {
$_SESSION['__ZF'][$key] = array_replace_recursive($_SESSION['__ZF'][$key], $value);
}
} else {
if ((null === $value) && isset($_SESSION['__ZF'][$key])) {
$array = $_SESSION['__ZF'];
unset($array[$key]);
$_SESSION['__ZF'] = $array;
unset($array);
} elseif (null !== $value) {
/mnt/monguz/vufind-instances/6.1.2/vendor/zendframework/zend-session/src/Storage/AbstractSessionArrayStorage.php
/**
* Retrieve the request access time
*
* @return float
*/
public function getRequestAccessTime()
{
return $this->getMetadata('_REQUEST_ACCESS_TIME');
}
/**
* Set the request access time
*
* @param float $time
* @return ArrayStorage
*/
protected function setRequestAccessTime($time)
{
$this->setMetadata('_REQUEST_ACCESS_TIME', $time);
return $this;
}
/**
* Cast the object to an array
*
* @param bool $metaData Whether to include metadata
* @return array
*/
public function toArray($metaData = false)
{
if (isset($_SESSION)) {
$values = $_SESSION;
} else {
$values = [];
}
if ($metaData) {
return $values;
/mnt/monguz/vufind-instances/6.1.2/vendor/zendframework/zend-session/src/Storage/AbstractSessionArrayStorage.php
}
/**
* Initialize Storage
*
* @param array $input
* @return void
*/
public function init($input = null)
{
if ((null === $input) && isset($_SESSION)) {
$input = $_SESSION;
if (is_object($input) && ! $_SESSION instanceof \ArrayObject) {
$input = (array) $input;
}
} elseif (null === $input) {
$input = [];
}
$_SESSION = $input;
$this->setRequestAccessTime(microtime(true));
}
/**
* Get Offset
*
* @param mixed $key
* @return mixed
*/
public function __get($key)
{
return $this->offsetGet($key);
}
/**
* Set Offset
*
* @param mixed $key
* @param mixed $value
* @return void
*/
/mnt/monguz/vufind-instances/6.1.2/vendor/zendframework/zend-session/src/Storage/AbstractSessionArrayStorage.php
/**
* Session storage in $_SESSION
*
* Replaces the $_SESSION superglobal with an ArrayObject that allows for
* property access, metadata storage, locking, and immutability.
*/
abstract class AbstractSessionArrayStorage implements
IteratorAggregate,
StorageInterface,
StorageInitializationInterface
{
/**
* Constructor
*
* @param array|null $input
*/
public function __construct($input = null)
{
// this is here for B.C.
$this->init($input);
}
/**
* Initialize Storage
*
* @param array $input
* @return void
*/
public function init($input = null)
{
if ((null === $input) && isset($_SESSION)) {
$input = $_SESSION;
if (is_object($input) && ! $_SESSION instanceof \ArrayObject) {
$input = (array) $input;
}
} elseif (null === $input) {
$input = [];
}
$_SESSION = $input;
$this->setRequestAccessTime(microtime(true));
/mnt/monguz/vufind-instances/6.1.2/vendor/zendframework/zend-session/src/AbstractManager.php
throw new Exception\RuntimeException(sprintf(
'Default config class %s is invalid; must implement %s\Config\ConfigInterface',
$this->defaultConfigClass,
__NAMESPACE__
));
}
}
$this->config = $config;
// init storage
if ($storage === null) {
if (! class_exists($this->defaultStorageClass)) {
throw new Exception\RuntimeException(sprintf(
'Unable to locate storage class "%s"; class does not exist',
$this->defaultStorageClass
));
}
$storage = new $this->defaultStorageClass();
if (! $storage instanceof Storage) {
throw new Exception\RuntimeException(sprintf(
'Default storage class %s is invalid; must implement %s\Storage\StorageInterface',
$this->defaultConfigClass,
__NAMESPACE__
));
}
}
$this->storage = $storage;
// save handler
if ($saveHandler !== null) {
$this->saveHandler = $saveHandler;
}
$this->validators = $validators;
}
/mnt/monguz/vufind-instances/6.1.2/vendor/zendframework/zend-session/src/SessionManager.php
* @param Config\ConfigInterface|null $config
* @param Storage\StorageInterface|null $storage
* @param SaveHandler\SaveHandlerInterface|null $saveHandler
* @param array $validators
* @param array $options
* @throws Exception\RuntimeException
*/
public function __construct(
Config\ConfigInterface $config = null,
Storage\StorageInterface $storage = null,
SaveHandler\SaveHandlerInterface $saveHandler = null,
array $validators = [],
array $options = []
) {
$options = array_merge($this->defaultOptions, $options);
if ($options['attach_default_validators']) {
$validators = array_merge($this->defaultValidators, $validators);
}
parent::__construct($config, $storage, $saveHandler, $validators);
register_shutdown_function([$this, 'writeClose']);
}
/**
* Does a session exist and is it currently active?
*
* @return bool
*/
public function sessionExists()
{
if (session_status() == PHP_SESSION_ACTIVE) {
return true;
}
$sid = defined('SID') ? constant('SID') : false;
if ($sid !== false && $this->getId()) {
return true;
}
if (headers_sent()) {
return true;
}
/mnt/monguz/vufind-instances/6.1.2/module/VuFind/src/VuFind/I18n/LangCodeConverter.php
class LangCodeConverter {
static $iso639_1_codes = [];
static $iso639_2_codes = [];
protected $sessionManager;
protected $session;
/**
* Loads language file content.
*
* @param \Zend\Session\Container $session
* @param string $iso639_1_property Language property file in import/translation_maps
* @param string $iso639_2_property Language property file in import/translation_maps
*
* @return array
*/
public function __construct($session = null, $iso639_1_property, $iso639_2_property) {
if (($session == null) && ($this->session == null)) {
$this->sessionManager = new \Zend\Session\SessionManager();
$this->session = new \Zend\Session\Container(
'LangCodeConverter', $this->sessionManager
);
}
else if ($session != null) {
$this->session = $session;
}
$iso639_1_fpath = ConfigLocator::getConfigPath($iso639_1_property, 'import/translation_maps');
$iso639_2_fpath = ConfigLocator::getConfigPath($iso639_2_property, 'import/translation_maps');
if (((!isset($this->session->iso639_1_codes))
|| ($this->session->iso639_1_codes_mtime != filemtime($iso639_1_fpath)))
&& ((!isset(static::$iso639_1_codes)) || (count(static::$iso639_1_codes) < 1))) {
// parse_ini_file(..., false, INI_SCANNER_RAW): "syntax error, unexpected BOOL_FALSE in ..."
static::$iso639_1_codes = static::loadIni($iso639_1_fpath);
$this->session->iso639_1_codes = static::$iso639_1_codes;
$this->session->iso639_1_codes_mtime = filemtime($iso639_1_fpath);
}
else if (isset($this->session->iso639_1_codes)) {
static::$iso639_1_codes = $this->session->iso639_1_codes;
/mnt/monguz/vufind-instances/6.1.2/module/VuFind/src/VuFind/Search/Primo/Options.php
if (isset($searchSettings->General->default_sort)) {
$this->defaultSort = $searchSettings->General->default_sort;
}
if (isset($searchSettings->DefaultSortingByType)
&& count($searchSettings->DefaultSortingByType) > 0
) {
foreach ($searchSettings->DefaultSortingByType as $key => $val) {
$this->defaultSortByHandler[$key] = $val;
}
}
foreach ($searchSettings->Resource_Types as $key => $value)
$this->resource_types[$key] = $value;
foreach ($searchSettings->Domain as $key => $value)
$this->domains[$key] = $value;
foreach ($searchSettings->Availability as $key => $value)
$this->availability[$key] = $value;
if ($searchSettings->General->lang_iso639_2) {
$lcc = new \VuFind\I18n\LangCodeConverter(null, $searchSettings->General->lang_iso639_1,
$searchSettings->General->lang_iso639_2);
$this->languages = $lcc->getLangCodes();
}
}
/**
* Return the IDs and names of availability statuses.
*
* @param string $key ex.: 'open_access' => 'open_access'
* @return array
*/
public function getAvailability($key = null, $value = null)
{
if ($value != null) {
$key = array_search($value, $this->availability);
}
return isset($key) && ($key != false) ? (isset($this->availability[$key])
? [$key => $this->availability[$key]] : null)
: $this->availability;
}
/mnt/monguz/vufind-instances/6.1.2/module/VuFind/src/VuFind/Search/Options/OptionsFactory.php
{
/**
* Create an object
*
* @param ContainerInterface $container Service manager
* @param string $requestedName Service being created
* @param null|array $options Extra options (optional)
*
* @return object
*
* @throws ServiceNotFoundException if unable to resolve the service.
* @throws ServiceNotCreatedException if an exception is raised when
* creating a service.
* @throws ContainerException if any other error occurs
*/
public function __invoke(ContainerInterface $container, $requestedName,
array $options = null
) {
return new $requestedName(
$container->get(\VuFind\Config\PluginManager::class), ...($options ?: [])
);
}
}
/mnt/monguz/vufind-instances/6.1.2/vendor/zendframework/zend-servicemanager/src/ServiceManager.php
/**
* Create a new instance with an already resolved name
*
* This is a highly performance sensitive method, do not modify if you have not benchmarked it carefully
*
* @param string $resolvedName
* @param null|array $options
* @return mixed
* @throws ServiceNotFoundException if unable to resolve the service.
* @throws ServiceNotCreatedException if an exception is raised when
* creating a service.
* @throws ContainerException if any other error occurs
*/
private function doCreate($resolvedName, array $options = null)
{
try {
if (! isset($this->delegators[$resolvedName])) {
// Let's create the service by fetching the factory
$factory = $this->getFactory($resolvedName);
$object = $factory($this->creationContext, $resolvedName, $options);
} else {
$object = $this->createDelegatorFromName($resolvedName, $options);
}
} catch (ContainerException $exception) {
throw $exception;
} catch (Exception $exception) {
throw new ServiceNotCreatedException(sprintf(
'Service with name "%s" could not be created. Reason: %s',
$resolvedName,
$exception->getMessage()
), (int) $exception->getCode(), $exception);
}
foreach ($this->initializers as $initializer) {
$initializer($this->creationContext, $object);
}
return $object;
}
/mnt/monguz/vufind-instances/6.1.2/vendor/zendframework/zend-servicemanager/src/ServiceManager.php
// is the fastest method).
if (isset($this->services[$requestedName])) {
return $this->services[$requestedName];
}
$name = isset($this->resolvedAliases[$name]) ? $this->resolvedAliases[$name] : $name;
// Next, if the alias should be shared, and we have cached the resolved
// service, use it.
if ($requestedName !== $name
&& (! isset($this->shared[$requestedName]) || $this->shared[$requestedName])
&& isset($this->services[$name])
) {
$this->services[$requestedName] = $this->services[$name];
return $this->services[$name];
}
// At this point, we need to create the instance; we use the resolved
// name for that.
$object = $this->doCreate($name);
// Cache it for later, if it is supposed to be shared.
if (($this->sharedByDefault && ! isset($this->shared[$name]))
|| (isset($this->shared[$name]) && $this->shared[$name])
) {
$this->services[$name] = $object;
}
// Also do so for aliases; this allows sharing based on service name used.
if ($requestedName !== $name
&& (($this->sharedByDefault && ! isset($this->shared[$requestedName]))
|| (isset($this->shared[$requestedName]) && $this->shared[$requestedName]))
) {
$this->services[$requestedName] = $object;
}
return $object;
}
/**
/mnt/monguz/vufind-instances/6.1.2/vendor/zendframework/zend-servicemanager/src/AbstractPluginManager.php
* a service definition for the instance, and the service is not
* auto-invokable.
* @throws InvalidServiceException if the plugin created is invalid for the
* plugin context.
*/
public function get($name, array $options = null)
{
if (! $this->has($name)) {
if (! $this->autoAddInvokableClass || ! class_exists($name)) {
throw new Exception\ServiceNotFoundException(sprintf(
'A plugin by the name "%s" was not found in the plugin manager %s',
$name,
get_class($this)
));
}
$this->setFactory($name, Factory\InvokableFactory::class);
}
$instance = empty($options) ? parent::get($name) : $this->build($name, $options);
$this->validate($instance);
return $instance;
}
/**
* {@inheritDoc}
*/
public function validate($instance)
{
if (method_exists($this, 'validatePlugin')) {
trigger_error(sprintf(
'%s::validatePlugin() has been deprecated as of 3.0; please define validate() instead',
get_class($this)
), E_USER_DEPRECATED);
$this->validatePlugin($instance);
return;
}
if (empty($this->instanceOf) || $instance instanceof $this->instanceOf) {
return;
/mnt/monguz/vufind-instances/6.1.2/module/VuFind/src/VuFind/ServiceManager/LowerCaseServiceNameTrait.php
*
* @category VuFind
* @package ServiceManager
* @author Demian Katz <demian.katz@villanova.edu>
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License
* @link https://vufind.org/wiki/development Wiki
*/
trait LowerCaseServiceNameTrait
{
/**
* Retrieve a plugin
*
* @param string $name Name of plugin
* @param null|array $options Options to use when creating the instance.
*
* @return mixed
*/
public function get($name, array $options = null)
{
return parent::get($this->getNormalizedServiceName($name), $options);
}
/**
* Returns true if the container can return an entry for the given identifier.
* Returns false otherwise.
*
* @param string $id Identifier of the entry to look for.
*
* @return bool
*/
public function has($id)
{
return parent::has($this->getNormalizedServiceName($id));
}
/**
* Hack for backward compatibility with services defined under
* ServiceManager v2, when service names were case-insensitive.
* TODO: set up aliases and/or normalize code to eliminate the need for this.
*
/mnt/monguz/vufind-instances/6.1.2/module/VuFind/src/VuFind/View/Helper/Root/SearchBox.php
* @param string $activeHandler Active search handler
*
* @return array
*/
protected function getCombinedHandlers($activeSearchClass, $activeHandler)
{
// Build settings:
$handlers = [];
$selectedFound = false;
$backupSelectedIndex = false;
$addedBrowseHandlers = false;
$settings = $this->getCombinedHandlerConfig($activeSearchClass);
$typeCount = count($settings['type']);
for ($i = 0; $i < $typeCount; $i++) {
$type = $settings['type'][$i];
$target = $settings['target'][$i];
$label = $settings['label'][$i];
if ($type == 'VuFind') {
$options = $this->optionsManager->get($target);
$j = 0;
$basic = $options->getBasicHandlers();
if (empty($basic)) {
$basic = ['' => ''];
}
foreach ($basic as $searchVal => $searchDesc) {
$j++;
$selected = $target == $activeSearchClass
&& $activeHandler == $searchVal;
if ($selected) {
$selectedFound = true;
} elseif ($backupSelectedIndex === false
&& $target == $activeSearchClass
) {
$backupSelectedIndex = count($handlers);
}
// Depending on whether or not the current section has a label,
// we'll either want to override the first label and indent
// subsequent ones, or else use all default labels without
// any indentation.
/mnt/monguz/vufind-instances/6.1.2/module/VuFind/src/VuFind/View/Helper/Root/SearchBox.php
? $this->placeholders['default']
: null);
}
return null;
}
/**
* Get an array of information on search handlers for use in generating a
* drop-down or hidden field. Returns an array of arrays with 'value', 'label',
* 'indent' and 'selected' keys.
*
* @param string $activeSearchClass Active search class ID
* @param string $activeHandler Active search handler
*
* @return array
*/
public function getHandlers($activeSearchClass, $activeHandler)
{
return $this->combinedHandlersActive()
? $this->getCombinedHandlers($activeSearchClass, $activeHandler)
: $this->getBasicHandlers($activeSearchClass, $activeHandler);
}
/**
* Get number of active filters
*
* @param array $checkboxFilters Checkbox filters
* @param array $filterList Other filters
*
* @return int
*/
public function getFilterCount($checkboxFilters, $filterList)
{
$result = 0;
foreach ($checkboxFilters as $filter) {
if ($filter['selected']) {
++$result;
}
}
foreach ($filterList as $filter) {
/mnt/monguz/vufind-instances/6.1.2/themes/bootstrap3elte/templates/search/searchbox.phtml
<?php
// Set default value if necessary:
if (!isset($this->searchClassId)) {
$config = $this->config()->get('config');
$this->searchClassId = $config->Site->defaultSearchBackend ?? 'Solr';
}
// Load search actions and settings (if any):
$options = $this->searchOptions($this->searchClassId);
$handlers = $this->searchbox()->getHandlers(
$this->searchClassId, $this->searchIndex ?? null
);
$handlerCount = count($handlers);
$basicSearch = $this->searchbox()->combinedHandlersActive() ? 'combined-searchbox' : $options->getSearchAction();
$searchHome = $options->getSearchHomeAction();
$advSearch = $options->getAdvancedSearchAction();
$lastSort = $this->searchMemory()->getLastSort($this->searchClassId);
$lastLimit = $this->searchMemory()->getLastLimit($this->searchClassId);
$ignoreHiddenFilterMemory = $this->ignoreHiddenFilterMemory ?? false;
$ignoreHiddenFiltersInRequest = $this->ignoreHiddenFiltersInRequest ?? false;
$hiddenFilters = $this->searchTabs()->getHiddenFilters($this->searchClassId, $ignoreHiddenFilterMemory, $ignoreHiddenFiltersInRequest);
if (empty($hiddenFilters) && !$ignoreHiddenFilterMemory) {
$hiddenFilters = $this->searchMemory()->getLastHiddenFilters($this->searchClassId);
if (empty($hiddenFilters)) {
$hiddenFilters = $this->searchTabs()->getHiddenFilters($this->searchClassId);
}
}
$hiddenFilterParams = $this->searchTabs()->getCurrentHiddenFilterParams($this->searchClassId, $ignoreHiddenFilterMemory, '?');
if (!isset($this->filterList) || !isset($this->checkboxFilters)) {
$params = $this->searchMemory()->getLastSearchParams($this->searchClassId);
$filterList = $params->getFilterList(true);
$checkboxFilters = $params->getCheckboxFacets();
} else {
$filterList = is_array($this->filterList) ? $this->filterList : [];
$checkboxFilters = is_array($this->checkboxFilters) ? $this->checkboxFilters : [];
}
$filterDetails = $this->searchbox()->getFilterDetails($filterList, $checkboxFilters);
$showFilters = $filterDetails && (isset($results) || $options->getRetainFilterSetting());
?>
/mnt/monguz/vufind-instances/6.1.2/vendor/zendframework/zend-view/src/Renderer/PhpRenderer.php
$__vars = $this->vars()->getArrayCopy();
if (array_key_exists('this', $__vars)) {
unset($__vars['this']);
}
extract($__vars);
unset($__vars); // remove $__vars from local scope
$this->__content = '';
while ($this->__template = array_pop($this->__templates)) {
$this->__file = $this->resolver($this->__template);
if (! $this->__file) {
throw new Exception\RuntimeException(sprintf(
'%s: Unable to render template "%s"; resolver could not resolve to a file',
__METHOD__,
$this->__template
));
}
try {
ob_start();
$includeReturn = include $this->__file;
$this->__content = ob_get_clean();
} catch (\Throwable $ex) {
ob_end_clean();
throw $ex;
} catch (\Exception $ex) { // @TODO clean up once PHP 7 requirement is enforced
ob_end_clean();
throw $ex;
}
if ($includeReturn === false && empty($this->__content)) {
throw new Exception\UnexpectedValueException(sprintf(
'%s: Unable to render template "%s"; file include failed',
__METHOD__,
$this->__file
));
}
}
$this->setVars(array_pop($this->__varsCache));
if ($this->__filterChain instanceof FilterChain) {
/mnt/monguz/vufind-instances/6.1.2/themes/bootstrap3elte/templates/layout/layout.phtml
$translations = $this->jsTranslations()->getJSON();
$dsb = DEFAULT_SEARCH_BACKEND;
$setupJS = <<<JS
VuFind.path = '{$root}';
VuFind.defaultSearchBackend = '{$dsb}';
VuFind.addTranslations({$translations});
JS;
$this->headScript()->appendScript($setupJS);
?>
<?=$this->headScript()?>
</head>
<body class="template-dir-<?=$this->templateDir?> template-name-<?=$this->templateName?> <?=$this->layoutClass('offcanvas-row')?><?php if ($this->layout()->rtl): ?> rtl<?php endif; ?>">
<?php // Set up the search box -- there are three possible cases:
// 1. No search box was set; we should default to the normal box
// 2. It was set to false; we should display nothing
// 3. It is set to a custom string; we should display the provided version
// Set up default search box if no data was provided from the template;
// this covers case 1. Cases 2 and 3 are then covered by logic below.
if (!isset($this->layout()->searchbox)) {
$this->layout()->searchbox = $this->render('search/searchbox.phtml');
}
?>
<header class="hidden-print">
<?php if (isset($this->layout()->srmessage)): // message for benefit of screen-reader users ?>
<span class="sr-only" role="heading" aria-level="1"><?=$this->layout()->srmessage ?></span>
<?php endif; ?>
<a class="sr-only" href="#content"><?=$this->transEsc('Skip to content') ?></a>
<?=$this->render('header.phtml')?>
</header>
<nav class="breadcrumbs" aria-label="<?=$this->transEsc('Breadcrumbs') ?>">
<div class="container">
<?php if((!isset($this->layout()->showBreadcrumbs) || $this->layout()->showBreadcrumbs == true)
&& !empty($this->layout()->breadcrumbs)
&& $this->layout()->breadcrumbs !== false
): ?>
<ul class="breadcrumb hidden-print">
<?php if(is_array($this->layout()->breadcrumbs)): ?>
<?php if(count($this->layout()->breadcrumbs) > 1): ?>
<?=$this->render('breadcrumbs/multi.phtml', [
'parents' => $this->layout()->breadcrumbs,
/mnt/monguz/vufind-instances/6.1.2/vendor/zendframework/zend-view/src/Renderer/PhpRenderer.php
$__vars = $this->vars()->getArrayCopy();
if (array_key_exists('this', $__vars)) {
unset($__vars['this']);
}
extract($__vars);
unset($__vars); // remove $__vars from local scope
$this->__content = '';
while ($this->__template = array_pop($this->__templates)) {
$this->__file = $this->resolver($this->__template);
if (! $this->__file) {
throw new Exception\RuntimeException(sprintf(
'%s: Unable to render template "%s"; resolver could not resolve to a file',
__METHOD__,
$this->__template
));
}
try {
ob_start();
$includeReturn = include $this->__file;
$this->__content = ob_get_clean();
} catch (\Throwable $ex) {
ob_end_clean();
throw $ex;
} catch (\Exception $ex) { // @TODO clean up once PHP 7 requirement is enforced
ob_end_clean();
throw $ex;
}
if ($includeReturn === false && empty($this->__content)) {
throw new Exception\UnexpectedValueException(sprintf(
'%s: Unable to render template "%s"; file include failed',
__METHOD__,
$this->__file
));
}
}
$this->setVars(array_pop($this->__varsCache));
if ($this->__filterChain instanceof FilterChain) {
/mnt/monguz/vufind-instances/6.1.2/vendor/zendframework/zend-view/src/View.php
// If EVENT_RENDERER or EVENT_RENDERER_POST changed the model, make sure
// we use this new model instead of the current $model
$model = $event->getModel();
// If we have children, render them first, but only if:
// a) the renderer does not implement TreeRendererInterface, or
// b) it does, but canRenderTrees() returns false
if ($model->hasChildren()
&& (! $renderer instanceof TreeRendererInterface
|| ! $renderer->canRenderTrees())
) {
$this->renderChildren($model);
}
// Reset the model, in case it has changed, and set the renderer
$event->setModel($model);
$event->setRenderer($renderer);
$rendered = $renderer->render($model);
// If this is a child model, return the rendered content; do not
// invoke the response strategy.
$options = $model->getOptions();
if (array_key_exists('has_parent', $options) && $options['has_parent']) {
return $rendered;
}
$event->setResult($rendered);
$event->setName(ViewEvent::EVENT_RESPONSE);
$events->triggerEvent($event);
}
/**
* Loop through children, rendering each
*
* @param Model $model
* @throws Exception\DomainException
* @return void
/mnt/monguz/vufind-instances/6.1.2/vendor/zendframework/zend-mvc/src/View/Http/DefaultRenderingStrategy.php
if ($result instanceof Response) {
return $result;
}
// Martial arguments
$request = $e->getRequest();
$response = $e->getResponse();
$viewModel = $e->getViewModel();
if (! $viewModel instanceof ViewModel) {
return;
}
$view = $this->view;
$view->setRequest($request);
$view->setResponse($response);
$caughtException = null;
try {
$view->render($viewModel);
} catch (\Throwable $ex) {
$caughtException = $ex;
} catch (\Exception $ex) { // @TODO clean up once PHP 7 requirement is enforced
$caughtException = $ex;
}
if ($caughtException !== null) {
if ($e->getName() === MvcEvent::EVENT_RENDER_ERROR) {
throw $caughtException;
}
$application = $e->getApplication();
$events = $application->getEventManager();
$e->setError(Application::ERROR_EXCEPTION);
$e->setParam('exception', $caughtException);
$e->setName(MvcEvent::EVENT_RENDER_ERROR);
$events->triggerEvent($e);
}
/mnt/monguz/vufind-instances/6.1.2/vendor/zendframework/zend-eventmanager/src/EventManager.php
}
if ($this->sharedManager) {
foreach ($this->sharedManager->getListeners($this->identifiers, $name) as $priority => $listeners) {
$listOfListenersByPriority[$priority][] = $listeners;
}
}
// Sort by priority in reverse order
krsort($listOfListenersByPriority);
// Initial value of stop propagation flag should be false
$event->stopPropagation(false);
// Execute listeners
$responses = new ResponseCollection();
foreach ($listOfListenersByPriority as $listOfListeners) {
foreach ($listOfListeners as $listeners) {
foreach ($listeners as $listener) {
$response = $listener($event);
$responses->push($response);
// If the event was asked to stop propagating, do so
if ($event->propagationIsStopped()) {
$responses->setStopped(true);
return $responses;
}
// If the result causes our validation callback to return true,
// stop propagation
if ($callback && $callback($response)) {
$responses->setStopped(true);
return $responses;
}
}
}
}
return $responses;
}
/mnt/monguz/vufind-instances/6.1.2/vendor/zendframework/zend-eventmanager/src/EventManager.php
$event = clone $this->eventPrototype;
$event->setName($eventName);
if ($target !== null) {
$event->setTarget($target);
}
if ($argv) {
$event->setParams($argv);
}
return $this->triggerListeners($event, $callback);
}
/**
* @inheritDoc
*/
public function triggerEvent(EventInterface $event)
{
return $this->triggerListeners($event);
}
/**
* @inheritDoc
*/
public function triggerEventUntil(callable $callback, EventInterface $event)
{
return $this->triggerListeners($event, $callback);
}
/**
* @inheritDoc
*/
public function attach($eventName, callable $listener, $priority = 1)
{
if (! is_string($eventName)) {
throw new Exception\InvalidArgumentException(sprintf(
'%s expects a string for the event; received %s',
__METHOD__,
(is_object($eventName) ? get_class($eventName) : gettype($eventName))
/mnt/monguz/vufind-instances/6.1.2/vendor/zendframework/zend-mvc/src/Application.php
return $this->completeRequest($event);
}
/**
* Complete the request
*
* Triggers "render" and "finish" events, and returns response from
* event object.
*
* @param MvcEvent $event
* @return Application
*/
protected function completeRequest(MvcEvent $event)
{
$events = $this->events;
$event->setTarget($this);
$event->setName(MvcEvent::EVENT_RENDER);
$event->stopPropagation(false); // Clear before triggering
$events->triggerEvent($event);
$event->setName(MvcEvent::EVENT_FINISH);
$event->stopPropagation(false); // Clear before triggering
$events->triggerEvent($event);
return $this;
}
}
/mnt/monguz/vufind-instances/6.1.2/vendor/zendframework/zend-mvc/src/Application.php
// Trigger dispatch event
$event->setName(MvcEvent::EVENT_DISPATCH);
$event->stopPropagation(false); // Clear before triggering
$result = $events->triggerEventUntil($shortCircuit, $event);
// Complete response
$response = $result->last();
if ($response instanceof ResponseInterface) {
$event->setName(MvcEvent::EVENT_FINISH);
$event->setTarget($this);
$event->setResponse($response);
$event->stopPropagation(false); // Clear before triggering
$events->triggerEvent($event);
$this->response = $response;
return $this;
}
$response = $this->response;
$event->setResponse($response);
return $this->completeRequest($event);
}
/**
* Complete the request
*
* Triggers "render" and "finish" events, and returns response from
* event object.
*
* @param MvcEvent $event
* @return Application
*/
protected function completeRequest(MvcEvent $event)
{
$events = $this->events;
$event->setTarget($this);
$event->setName(MvcEvent::EVENT_RENDER);
$event->stopPropagation(false); // Clear before triggering
$events->triggerEvent($event);
/mnt/monguz/vufind-instances/eles/public/index.php
// Ensure vendor/ is on include_path; some PEAR components may not load correctly
// otherwise (i.e. File_MARC may cause a "Cannot redeclare class" error by pulling
// from the shared PEAR directory instead of the local copy):
$pathParts = [];
$pathParts[] = APPLICATION_PATH . '/vendor';
$pathParts[] = get_include_path();
set_include_path(implode(PATH_SEPARATOR, $pathParts));
// Composer autoloading
if (file_exists('vendor/autoload.php')) {
$loader = include 'vendor/autoload.php';
}
if (!class_exists('Zend\Loader\AutoloaderFactory')) {
throw new RuntimeException('Unable to load Zend Framework autoloader.');
}
// Run the application!
Zend\Mvc\Application::init(require 'config/application.config.php')->run();