browsers and only on desktop computers to keep page rendering as fast as possible. /** * Popup Elements * * If this function is defined in a child class the element automatically gets an edit button, that, when pressed * opens a modal window that allows to edit the element properties * * @return void */ '6}m! Enter some text/code/shortcode. You can also add plugin shortcodes here. Adding theme shortcodes is supported now for many elements. Be carefull not to nest same named shortcodes because this is not supported by WordPress ([foo] [foo] [/foo] [/foo] will break layout !!! ) @V&@B9l y]5F7p9l 9l | ˙9l Fg[H9l P9l | P/9l Fg[Ƞ9l 9l | @3~9l Fg[h9l `9l | O9l Fg[Ȱ9l 9l | `mM9l h9l mKь@9l DvE9l 9l 6 @S/9l 9l | L9l 9l mKьP9l DvE~9l p9l | @F;l Fg[Ȱ~9l 8~9l | `>/9l Fg[X|9l 9l | |.9l Fg[(z9l P9l | {9l 9l mKь9l return null; } $trace = debug_backtrace(); foreach ($trace as $item) { if (!isset($item['function']) || !isset($item['args'][0]) || !in_array($item['function'], $this->invocationFunctionNames, true)) { continue; } $currentPath = $item['args'][0]; if (Helper::hasPharPrefix($currentPath)) { continue; } $currentBaseName = Helper::determineBaseFile($currentPath); if ($currentBaseName === null) { continue; } // ensure the possible alias name (how we have been called initially) matches // the resolved alias name that was retrieved by the current possible base name try { $currentAlias = (new Reader($currentBaseName))->resolveContainer()->getAlias(); } catch (ReaderException $exception) { // most probably that was not a Phar file continue; } if (empty($currentAlias) || $currentAlias !== $possibleAlias) { continue; } $this->addBaseName($currentBaseName); return $currentBaseName; } return null; } /** * @param string $path * @return null|string */ private function resolvePossibleAlias(string $path) { $normalizedPath = Helper::normalizePath($path); return strstr($normalizedPath, '/', true) ?: null; } /** * @param string $baseName * @return null|PharInvocation */ private function findByBaseName(string $baseName) { return Manager::instance()->getCollection()->findByCallback( function (PharInvocation $candidate) use ($baseName) { return $candidate->getBaseName() === $baseName; }, true ); } /** * @param string $path * @return null|string */ private function findInBaseNames(string $path) { // return directly if the resolved base name was submitted if (in_array($path, $this->baseNames, true)) { return $path; } $parts = explode('/', Helper::normalizePath($path)); while (count($parts)) { $currentPath = implode('/', $parts); if (isset($this->baseNames[$currentPath])) { return $currentPath; } array_pop($parts); } return null; } /** * @param string $baseName */ private function addBaseName(string $baseName) { if (isset($this->baseNames[$baseName])) { return; } $this->baseNames[$baseName] = Helper::normalizeWindowsPath( realpath($baseName) ); } /** * Finds confirmed(!) invocations by alias. * * @param string $path * @return null|PharInvocation * @see \TYPO3\PharStreamWrapper\PharStreamWrapper::collectInvocation() */ private function findByAlias(string $path) { $possibleAlias = $this->resolvePossibleAlias($path); if ($possibleAlias === null) { return null; } return Manager::instance()->getCollection()->findByCallback( function (PharInvocation $candidate) use ($possibleAlias) { return $candidate->isConfirmed() && $candidate->getAlias() === $possibleAlias; }, true ); } }
The server returned a "500 - Whoops, looks like something went wrong."