����JFIF��x�x����'
| Server IP : 78.140.185.180  /  Your IP : 216.73.216.38 Web Server : LiteSpeed System : Linux cpanel13.v.fozzy.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : builderbox ( 1072) PHP Version : 7.3.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/builderbox/././././././public_html/common/Settings/Validators/  | 
Upload File :  | 
<?php
namespace Common\Settings\Validators;
use App\User;
use Arr;
use Exception;
use Laravel\Scout\Builder;
use Laravel\Scout\EngineManager;
use PDOException;
use Throwable;
class SearchConfigValidator
{
    const KEYS = ["scout_driver"];
    public function fails($settings)
    {
        $engineName = Arr::get(
            $settings,
            "scout_driver",
            config("scout.driver"),
        );
        $manager = app(EngineManager::class);
        if (isset($settings["algolia_app_id"])) {
            config()->set("scout.algolia.id", $settings["algolia_app_id"]);
        }
        if (isset($settings["algolia_secret"])) {
            config()->set("scout.algolia.secret", $settings["algolia_secret"]);
        }
        if (
            $engineName === "mysql" &&
            Arr::get($settings, "scout_mysql_mode") !== "fulltext"
        ) {
            return false;
        }
        try {
            $results = $manager->engine($engineName)->search(
                app(Builder::class, [
                    "model" => new User(),
                    "query" => "test",
                ]),
            );
            if (!$results) {
                return $this->getDefaultErrorMessage();
            }
        } catch (PDOException $e) {
            return ["search_group" => $e->getMessage()];
        } catch (Exception | Throwable $e) {
            return $this->getErrorMessage($e);
        }
    }
    /**
     * @param Exception|Throwable $e
     * @return array
     */
    private function getErrorMessage($e)
    {
        $message = $e->getMessage();
        return [
            "search_group" => "Could not enable this search method: $message",
        ];
    }
    /**
     * @return array
     */
    private function getDefaultErrorMessage()
    {
        return ["search_group" => "Could not enable this search method."];
    }
}