shell bypass 403
UnknownSec Shell
: /home/bouloter/public_html/__MACOSX/vendor/joedixon/laravel-translation/src/Drivers/ [ drwxr-xr-x ]
<?php namespace JoeDixon\Translation\Drivers; use Illuminate\Support\Collection; use Illuminate\Support\Str; abstract class Translation { /** * Find all of the translations in the app without translation for a given language. * * @param string $language * @return array */ public function findMissingTranslations($language) { return array_diff_assoc_recursive( $this->scanner->findTranslations(), $this->allTranslationsFor($language) ); } /** * Save all of the translations in the app without translation for a given language. * * @param string $language * @return void */ public function saveMissingTranslations($language = false) { $languages = $language ? [$language => $language] : $this->allLanguages(); foreach ($languages as $language => $name) { $missingTranslations = $this->findMissingTranslations($language); foreach ($missingTranslations as $type => $groups) { foreach ($groups as $group => $translations) { foreach ($translations as $key => $value) { if (Str::contains($group, 'single')) { $this->addSingleTranslation($language, $group, $key); } else { $this->addGroupTranslation($language, $group, $key); } } } } } } /** * Get all translations for a given language merged with the source language. * * @param string $language * @return Collection */ public function getSourceLanguageTranslationsWith($language) { $sourceTranslations = $this->allTranslationsFor($this->sourceLanguage); $languageTranslations = $this->allTranslationsFor($language); return $sourceTranslations->map(function ($groups, $type) use ($language, $languageTranslations) { return $groups->map(function ($translations, $group) use ($type, $language, $languageTranslations) { $translations = $translations->toArray(); array_walk($translations, function (&$value, &$key) use ($type, $group, $language, $languageTranslations) { $value = [ $this->sourceLanguage => $value, $language => $languageTranslations->get($type, collect())->get($group, collect())->get($key), ]; }); return $translations; }); }); } /** * Filter all keys and translations for a given language and string. * * @param string $language * @param string $filter * @return Collection */ public function filterTranslationsFor($language, $filter) { $allTranslations = $this->getSourceLanguageTranslationsWith(($language)); if (! $filter) { return $allTranslations; } return $allTranslations->map(function ($groups, $type) use ($language, $filter) { return $groups->map(function ($keys, $group) use ($language, $filter, $type) { return collect($keys)->filter(function ($translations, $key) use ($group, $language, $filter, $type) { return strs_contain([$group, $key, $translations[$language], $translations[$this->sourceLanguage]], $filter); }); })->filter(function ($keys) { return $keys->isNotEmpty(); }); }); } }