/var/hpwsites/u_050media_html/website/html/private/zilver/deploy/releases/10/classes/DeprecationService.php
private static $enabled = false;
public static function setEnabled($enabled)
{
self::$enabled = $enabled;
}
/**
* @param string $message
*/
public static function trigger($message = "")
{
if (!self::$enabled) {
return;
}
if ($message === "") {
list($originFuction, $originFile, $originLine) = self::unpackBacktrace();
$message = "Hit deprecated method \"{$originFuction}\" in file \"{$originFile}\" on line {$originLine}";
}
throw new RuntimeException($message);
}
/**
* @return array
*/
private static function unpackBacktrace()
{
$backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 3);
if (count($backtrace) > 2) {
$originFuction = $backtrace[2]['function'];
$originFile = $backtrace[2]['file'] ?? '';
$originLine = $backtrace[2]['line'] ?? '';
} else {
$originFuction = '##UNDEFINED##';
$originFile = $backtrace[1]['file'] ?? '';
$originLine = $backtrace[1]['line'] ?? '';
}
return array($originFuction, $originFile, $originLine);
}
}
/var/hpwsites/u_050media_html/website/html/private/zilver/deploy/releases/10/classes/LegacyRenderEngine.class.php
'templates/' . $this->configuration->getFrontend(),
'templates/frontenddefaults',
$template_name
);
}
require_once($template_name);
$parts = explode('/', $template_name);
$name = array_pop($parts); // het laatste path item
$parts = explode('.', $name);
$name = array_shift($parts); // het eerste woord voor '.template.php'
$name = ucfirst($name) . 'Template';
$page_template = $this->templateService->getDynamicContent(
$this->container->get($name),
'getHtml',
[$values]
);
} elseif (strcmp('.configurable.php', substr($template_name, -17)) === 0) {
\ZilverCMS\classes\DeprecationService::trigger('calling ::renderTemplate with a .configurable.php is deprecated: ' . $template_name);
if (!file_exists($template_name)) { // de template bestaat niet, dus er moet een failback gezocht worden
$template_name = str_replace(
'templates/' . $this->configuration->getFrontend(),
'templates/frontenddefaults',
$template_name
);
}
require_once($template_name);
$parts = explode('/', $template_name);
$name = array_pop($parts); // het laatste path item
$parts = explode('.', $name);
$name = array_shift($parts); // het eerste woord voor '.template.php'
$name = ucfirst($name) . 'Configurable';
/** @var ConfigurableBlock $templateInstance */
$templateInstance = $this->container->get($name);
$templateInstance->setVariables($values);
$page_template = $this->templateService->getDynamicContent(
$templateInstance,
'render'
/var/hpwsites/u_050media_html/website/html/private/zilver/deploy/releases/10/classes/RenderEngine.class.php
private $legacyRenderEngine;
public function __construct(LegacyRenderEngine $legacyRenderEngine)
{
$this->legacyRenderEngine = $legacyRenderEngine;
}
public static function setTemplate($tpl, $content)
{
self::instance()->legacyRenderEngine->setTemplate($tpl, $content);
}
public static function setResolveLinks($resolve)
{
self::instance()->legacyRenderEngine->setResolveLinks($resolve);
}
public static function renderTemplate($template_name, $values = null, $replaceVars = true)
{
return self::instance()->legacyRenderEngine->renderTemplate($template_name, $values, $replaceVars);
}
}
/var/hpwsites/u_050media_html/website/html/private/zilver/deploy/releases/10/classes/TemplateFactory.class.php
* template:webshop/product.tpl)
*/
public function getDynamicContents($block)
{
if (array_key_exists('dynamiceditor', $block) && $block['dynamiceditor'] != 'textarea') {
$view = PagetreeModel::instance()->getDynamicBlockView(
$block['dynamiceditor'] . ".dyn",
$block['id'],
'FRONTENDVIEW'
);
return $view['code'];
}
$key = $block['contents'];
if (preg_match('/^template:(.*)$/', $key, $matches)) {
$exploded_matches = explode('#', $matches[1]);
$template_key = array_shift($exploded_matches);
return RenderEngine::renderTemplate(
'templates/' . $this->configuration->getFrontend() . '/' . $matches[1],
$this->getDynamicKeysByArray($exploded_matches)
);
}
return $key;
}
/**
* Geef layout aan een blok opgemaakte tekst
*/
public function encapsulateBlock($txt)
{
return RenderEngine::renderTemplate(
'templates/' . $this->configuration->getFrontend() . '/layouts/block_encapsulator.tpl',
[
'content' => $txt
]
);
}
/**
* Expects a array with key:value-elements, split them to a hash
/var/hpwsites/u_050media_html/website/html/private/zilver/deploy/releases/10/classes/TemplateFactory.class.php
// second pass: voeg de content van de blokken in de areas
foreach ($areas as $tr_area) {
$key = $tr_area->area;
$loc = $tr_area->location;
// hier moeten area-commands ontleed en geactiveerd worden
$areacommands = [];
$areacode = 'L' . mb_strtoupper($loc) . '_AREA_' . mb_strtoupper($key);
if (preg_match("/##{$areacode}((#[a-z]+)*)##/", $tpl, $matches)) {
$areacommands = ltrim($matches[1], '#');
$areacommands = explode('#', $areacommands);
}
$content = '';
if (isset($blocks[$key])) {
$first = true;
foreach ($blocks[$key] as $idx => $bl) {
if (array_key_exists('isdynamic', $bl) && $bl['isdynamic']) {
// dynamische blokken kunnen alleen in een PAGE bestaan
$content .= $this->encapsulateDynamic($this->getDynamicContents($bl));
} else {
$prefix = '';
$contents = stripslashes($bl['contents']);
$content .= $this->encapsulateBlock($prefix . $contents);
}
$first = false;
}
}
$tpl = str_replace(
'##L' . mb_strtoupper($loc) . '_LOCKEDAREA_' . mb_strtoupper($key) . '##',
$content,
$tpl
);
$tpl = str_replace(
'##L' . mb_strtoupper($loc) . '_SINGLEAREA_' . mb_strtoupper($key) . '##',
$content,
$tpl
);
/var/hpwsites/u_050media_html/website/html/private/zilver/deploy/releases/10/models/pagetree/PagetreePage.class.php
return $blocks;
}
public function default_property_blocks_content()
{
return '<p class="PagetreePage">Hier kunt u uw tekst invullen</p>'; // multitaal string to translate
}
/**
* de samengestelde content van block en layout voor de frontend
*/
public function property_content()
{
$parameters = [
'headertitle' => $this->property_headertitle(),
];
$blocks = $this->property_blocks();
$layoutkey = $this->property_layoutkey();
return $this->templateFactory->renderFrontend(
$blocks,
$layoutkey,
$parameters
);
}
/**
* bepaal de kinderen van deze pagina, de paginas die deze als parent hebben of die een pagina
* met een voorouder gelijk aan deze pagina
*/
public static function successor_ids($id)
{
$db = Database::instance();
$childids = [];
$query = "SELECT `id` FROM `pagetree_page` WHERE `parent_id` = {$id}";
$result = $db->query($query);
while ($row = $db->fetch_row($result)) {
$childids[] = $row[0];
$childids = array_merge($childids, self::successor_ids($row[0]));
/var/hpwsites/u_050media_html/website/html/private/zilver/deploy/releases/10/controllers/frontend/pagetree/PagetreeFrontendController.php
}
// get link
$link = $page->headerlink;
$link = str_replace("linktopage:", "", $link);
if (is_numeric($link)) {
$p = $this->pagetreeModel->getPage($link);
$link = "##PATHPREFIX##" . $p->seo_urlkey;
$this->legacyRenderEngine->setTemplate(
'IMAGEHEADER',
'<a href="' . $link . '" id="imageheader">' . $img . "</a>"
);
} else {
$link = "";
$this->legacyRenderEngine->setTemplate('IMAGEHEADER', $img);
}
$this->legacyRenderEngine->setTemplate('HEADERLINK', $link);
$content = $page->property_content();
$this->legacyRenderEngine->setTemplate('PAGETITLE', $page->property_displaytitle());
$this->legacyRenderEngine->setTemplate('PAGEHEADER', $page->property_headertitle());
$this->legacyRenderEngine->setTemplate('SEODESCRIPTION', $page->seo_description);
// speciaal voor beveiligde pagina's
if ($page->isSecured()) {
if ('access' !=
$this->session->getPartialVar('authenticated_page_access', 'access', null) ||
!($this->session->getPartialVar('authenticated_page_access', 'time', null) > time())
) {
if (strcasecmp($this->request->getRealMethod(), 'POST') === 0) {
if ($page->isAuthenticated($_POST['auth_username'], $_POST['auth_password'])) {
$this->session->setPartialVar(
'authenticated_page_access',
'access',
'access'
);
$this->session->setPartialVar(
'authenticated_page_access',
'time',
/var/hpwsites/u_050media_html/website/html/private/zilver/deploy/releases/10/controllers/frontend/FrontendController.php
$this->response->setStatus(301);
$this->response->setLocation("/account/login/");
$this->session->setErrorMessage("U bent niet meer ingelogd");
return true;
}
}
$controllerName = $this->getControllerNameForUri($currentPathSegment);
if ($controllerName === null) {
throw new UrlNotFoundException(
"FrontendController: path [{$this->request->getUri()}] kan niet verwerkt worden"
);
}
$moduleName = $this->getModuleNameForController($controllerName);
$this->request->setModule($moduleName);
$result = false;
if ($this->container->has($controllerName)) {
$result = $this->container->make($controllerName)->handlePath($path);
}
if ($result === false) {
throw new UrlNotFoundException('Pagina niet gevonden');
}
if ($this->response->isRedirect()) {
return true;
}
// redirecting trailing slash after calling controller's handlePath can be a bit inefficient due to actual rendering,
// but only then can a redirect result from the controller be detected
if (!$this->request->isPost() && preg_match('#/$#', $this->request->getScriptUrl()) !== 1) {
$url = $this->request->getScriptUrl() . '/';
if (!empty($queryParams = $this->request->getGet())) {
$url .= '?' . http_build_query($queryParams);
}
$this->response->setLocation($url);
$this->response->setStatus(301);
return true;
/var/hpwsites/u_050media_html/website/html/private/zilver/deploy/releases/10/controllers/ApplicationController.php
* Execute a run based on the path given. Convention is that this function
* will return a boolean or a View class. For now there is no telling what
* it will return.
*
* @return bool|ResponseInterface|Response|View|ControllerInterface
* @throws UrlNotFoundException
*/
public function __invoke()
{
try {
$serverRequest = $this->container->get(ServerRequestInterface::class);
if (($path = $serverRequest->getUri()->getPath()) !== '/') {
// make sure URLs with and without trailing slash work on the same route
$serverRequest = $serverRequest->withUri($serverRequest->getUri()->withPath(rtrim($path, '/')));
}
return $this->container->get(RequestHandlerInterface::class)->handle($serverRequest);
} catch (\League\Route\Http\Exception\NotFoundException $nfe) {
try {
$path = $this->container->get(Path::class);
return $this->getLegacyControllerForPath($path)->handlePath($path);
} catch (UrlNotFoundException $e) {
$configurationReader = $this->container->get(ConfigurationReader::class);
if ($configurationReader->isAddonEnabled(AddonDictionary::NOT_FOUND_PAGE)) {
$twigEnvironment = $this->container->get(Environment::class);
return new Response(
$twigEnvironment->render('404.twig'),
Response::HTTP_NOT_FOUND
);
}
if ($configurationReader->isDebugEnabled()) {
throw $e;
}
return new RedirectResponse('/', 301);
}
}
}
/**
* @param Path $path
* @return ControllerInterface
/var/hpwsites/u_050media_html/website/html/private/zilver/deploy/releases/10/vendor/php-di/invoker/src/Invoker.php
$callableReflection = CallableReflection::create($callable);
$args = $this->parameterResolver->getParameters($callableReflection, $parameters, array());
// Sort by array key because call_user_func_array ignores numeric keys
ksort($args);
// Check all parameters are resolved
$diff = array_diff_key($callableReflection->getParameters(), $args);
if (! empty($diff)) {
/** @var \ReflectionParameter $parameter */
$parameter = reset($diff);
throw new NotEnoughParametersException(sprintf(
'Unable to invoke the callable because no value was given for parameter %d ($%s)',
$parameter->getPosition() + 1,
$parameter->name
));
}
return call_user_func_array($callable, $args);
}
/**
* Create the default parameter resolver.
*
* @return ParameterResolver
*/
private function createParameterResolver()
{
return new ResolverChain(array(
new NumericArrayResolver,
new AssociativeArrayResolver,
new DefaultValueResolver,
));
}
/**
* @return ParameterResolver By default it's a ResolverChain
*/
public function getParameterResolver()
/var/hpwsites/u_050media_html/website/html/private/zilver/deploy/releases/10/vendor/php-di/invoker/src/Invoker.php
$callableReflection = CallableReflection::create($callable);
$args = $this->parameterResolver->getParameters($callableReflection, $parameters, array());
// Sort by array key because call_user_func_array ignores numeric keys
ksort($args);
// Check all parameters are resolved
$diff = array_diff_key($callableReflection->getParameters(), $args);
if (! empty($diff)) {
/** @var \ReflectionParameter $parameter */
$parameter = reset($diff);
throw new NotEnoughParametersException(sprintf(
'Unable to invoke the callable because no value was given for parameter %d ($%s)',
$parameter->getPosition() + 1,
$parameter->name
));
}
return call_user_func_array($callable, $args);
}
/**
* Create the default parameter resolver.
*
* @return ParameterResolver
*/
private function createParameterResolver()
{
return new ResolverChain(array(
new NumericArrayResolver,
new AssociativeArrayResolver,
new DefaultValueResolver,
));
}
/**
* @return ParameterResolver By default it's a ResolverChain
*/
public function getParameterResolver()
/var/hpwsites/u_050media_html/website/html/private/zilver/deploy/releases/10/vendor/php-di/php-di/src/Container.php
$this->definitionResolver->resolve($definition);
return $instance;
}
/**
* Call the given function using the given parameters.
*
* Missing parameters will be resolved from the container.
*
* @param callable $callable Function to call.
* @param array $parameters Parameters to use. Can be indexed by the parameter names
* or not indexed (same order as the parameters).
* The array can also contain DI definitions, e.g. DI\get().
*
* @return mixed Result of the function.
*/
public function call($callable, array $parameters = [])
{
return $this->getInvoker()->call($callable, $parameters);
}
/**
* Define an object or a value in the container.
*
* @param string $name Entry name
* @param mixed|DefinitionHelper $value Value, use definition helpers to define objects
*/
public function set(string $name, $value)
{
if ($value instanceof DefinitionHelper) {
$value = $value->getDefinition($name);
} elseif ($value instanceof \Closure) {
$value = new FactoryDefinition($name, $value);
}
if ($value instanceof ValueDefinition) {
$this->resolvedEntries[$name] = $value->getValue();
} elseif ($value instanceof Definition) {
$value->setName($name);
/var/hpwsites/u_050media_html/website/html/private/zilver/deploy/releases/10/index.php
|| @file_get_contents(sprintf('%s/tenants/fallback/flush.flag', __DIR__)) === '1')) {
apcu_delete(\ZilverCMS\classes\DiContainerBuilder::getCacheAPCUIterator(__DIR__, $tenant));
}
$container = \ZilverCMS\classes\DiContainerBuilder::initialize(
getenv('DISABLE_DI_COMPILATION') !== '1',
$enableDiCache,
$tenant,
__DIR__ . '/di_base.php',
[
__DIR__ . '/di.php',
__DIR__ . '/di_autowire.php',
]
);
$container->get(\Whoops\Run::class)->register();
\ZilverCMS\classes\DeprecationService::setEnabled($container->get('configuration.debug'));
$controllerResponse = $container->call(\ZilverCMS\controllers\ApplicationController::class);
if ($controllerResponse instanceof \Symfony\Component\HttpFoundation\Response) {
$controllerResponse->send();
} elseif ($controllerResponse instanceof \Psr\Http\Message\ResponseInterface) {
$container->get(\ZilverCMS\classes\Http\ResponseEmitter::class)->emit($controllerResponse);
} else {
echo $container->get(OutgoingResponse::class)->send();
}