/home
/crmdp
/crm
/vendor
/webklex
/laravel-imap
/src
/config
/imap.php
| Default TRUE
| -Message key identifier option
| You can choose between 'id', 'number' or 'list'
| 'id' - Use the MessageID as array key (default, might cause hickups with yahoo mail)
| 'number' - Use the message number as array key (isn't always unique and can cause some interesting behavior)
| 'list' - Use the message list number as array key (incrementing integer (does not always start at 0 or 1)
| -Fetch order
| 'asc' - Order all messages ascending (probably results in oldest first)
| 'desc' - Order all messages descending (probably results in newest first)
| -Open IMAP options:
| DISABLE_AUTHENTICATOR - Disable authentication properties.
| Use 'GSSAPI' if you encounter the following
| error: "Kerberos error: No credentials cache
| file found (try running kinit) (...)"
| or ['GSSAPI','PLAIN'] if you are using outlook mail
|
*/
'options' => [
'delimiter' => '/',
'fetch' => FT_UID,
'fetch_body' => true,
'fetch_attachment' => true,
'fetch_flags' => true,
'message_key' => 'id',
'fetch_order' => 'asc',
'open' => [
// 'DISABLE_AUTHENTICATOR' => 'GSSAPI'
]
]
];
Arguments
"Use of undefined constant FT_UID - assumed 'FT_UID' (this will throw an Error in a future version of PHP)"
/home
/crmdp
/crm
/vendor
/webklex
/laravel-imap
/src
/config
/imap.php
| Default TRUE
| -Message key identifier option
| You can choose between 'id', 'number' or 'list'
| 'id' - Use the MessageID as array key (default, might cause hickups with yahoo mail)
| 'number' - Use the message number as array key (isn't always unique and can cause some interesting behavior)
| 'list' - Use the message list number as array key (incrementing integer (does not always start at 0 or 1)
| -Fetch order
| 'asc' - Order all messages ascending (probably results in oldest first)
| 'desc' - Order all messages descending (probably results in newest first)
| -Open IMAP options:
| DISABLE_AUTHENTICATOR - Disable authentication properties.
| Use 'GSSAPI' if you encounter the following
| error: "Kerberos error: No credentials cache
| file found (try running kinit) (...)"
| or ['GSSAPI','PLAIN'] if you are using outlook mail
|
*/
'options' => [
'delimiter' => '/',
'fetch' => FT_UID,
'fetch_body' => true,
'fetch_attachment' => true,
'fetch_flags' => true,
'message_key' => 'id',
'fetch_order' => 'asc',
'open' => [
// 'DISABLE_AUTHENTICATOR' => 'GSSAPI'
]
]
];
Arguments
2
"Use of undefined constant FT_UID - assumed 'FT_UID' (this will throw an Error in a future version of PHP)"
"/home/crmdp/crm/vendor/webklex/laravel-imap/src/config/imap.php"
105
array:2 [
"config_key" => "imap"
"path" => "/home/crmdp/crm/vendor/webklex/laravel-imap/src/IMAP/Providers/../../config/imap.php"
]
/home
/crmdp
/crm
/vendor
/webklex
/laravel-imap
/src
/IMAP
/Providers
/LaravelServiceProvider.php
$this->app->singleton(Client::class, function($app) {
return $app[ClientManager::class]->account();
});
$this->setVendorConfig();
}
/**
* Merge the vendor settings with the local config
*
* The default account identifier will be used as default for any missing account parameters.
* If however the default account is missing a parameter the package default account parameter will be used.
* This can be disabled by setting imap.default in your config file to 'false'
*/
private function setVendorConfig(){
$config_key = 'imap';
$path = __DIR__.'/../../config/'.$config_key.'.php';
$vendor_config = require $path;
$config = $this->app['config']->get($config_key, []);
$this->app['config']->set($config_key, $this->array_merge_recursive_distinct($vendor_config, $config));
$config = $this->app['config']->get($config_key);
if(is_array($config)){
if(isset($config['default'])){
if(isset($config['accounts']) && $config['default'] != false){
$default_config = $vendor_config['accounts']['default'];
if(isset($config['accounts'][$config['default']])){
$default_config = array_merge($default_config, $config['accounts'][$config['default']]);
}
if(is_array($config['accounts'])){
foreach($config['accounts'] as $account_key => $account){
$config['accounts'][$account_key] = array_merge($default_config, $account);
}
}
Arguments
"/home/crmdp/crm/vendor/webklex/laravel-imap/src/config/imap.php"
/home
/crmdp
/crm
/vendor
/webklex
/laravel-imap
/src
/IMAP
/Providers
/LaravelServiceProvider.php
$this->publishes([
__DIR__.'/../../config/imap.php' => config_path('imap.php'),
]);
}
/**
* Register any package services.
*
* @return void
*/
public function register() {
$this->app->singleton(ClientManager::class, function($app) {
return new ClientManager($app);
});
$this->app->singleton(Client::class, function($app) {
return $app[ClientManager::class]->account();
});
$this->setVendorConfig();
}
/**
* Merge the vendor settings with the local config
*
* The default account identifier will be used as default for any missing account parameters.
* If however the default account is missing a parameter the package default account parameter will be used.
* This can be disabled by setting imap.default in your config file to 'false'
*/
private function setVendorConfig(){
$config_key = 'imap';
$path = __DIR__.'/../../config/'.$config_key.'.php';
$vendor_config = require $path;
$config = $this->app['config']->get($config_key, []);
$this->app['config']->set($config_key, $this->array_merge_recursive_distinct($vendor_config, $config));
$config = $this->app['config']->get($config_key);
/home
/crmdp
/crm
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Application.php
*
* @param \Illuminate\Support\ServiceProvider|string $provider
* @param bool $force
* @return \Illuminate\Support\ServiceProvider
*/
public function register($provider, $force = false)
{
if (($registered = $this->getProvider($provider)) && ! $force) {
return $registered;
}
// If the given "provider" is a string, we will resolve it, passing in the
// application instance automatically for the developer. This is simply
// a more convenient way of specifying your service provider classes.
if (is_string($provider)) {
$provider = $this->resolveProvider($provider);
}
if (method_exists($provider, 'register')) {
$provider->register();
}
// If there are bindings / singletons set as properties on the provider we
// will spin through them and register them with the application, which
// serves as a convenience layer while registering a lot of bindings.
if (property_exists($provider, 'bindings')) {
foreach ($provider->bindings as $key => $value) {
$this->bind($key, $value);
}
}
if (property_exists($provider, 'singletons')) {
foreach ($provider->singletons as $key => $value) {
$this->singleton($key, $value);
}
}
$this->markAsRegistered($provider);
// If the application has already booted, we will call this boot method on
/home
/crmdp
/crm
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/ProviderRepository.php
// First we will load the service manifest, which contains information on all
// service providers registered with the application and which services it
// provides. This is used to know which services are "deferred" loaders.
if ($this->shouldRecompile($manifest, $providers)) {
$manifest = $this->compileManifest($providers);
}
// Next, we will register events to load the providers for each of the events
// that it has requested. This allows the service provider to defer itself
// while still getting automatically loaded when a certain event occurs.
foreach ($manifest['when'] as $provider => $events) {
$this->registerLoadEvents($provider, $events);
}
// We will go ahead and register all of the eagerly loaded providers with the
// application so their services can be registered with the application as
// a provided service. Then we will set the deferred service list on it.
foreach ($manifest['eager'] as $provider) {
$this->app->register($provider);
}
$this->app->addDeferredServices($manifest['deferred']);
}
/**
* Load the service provider manifest JSON file.
*
* @return array|null
*/
public function loadManifest()
{
// The service manifest is a file containing a JSON representation of every
// service provided by the application and whether its provider is using
// deferred loading or should be eagerly loaded on each request to us.
if ($this->files->exists($this->manifestPath)) {
$manifest = $this->files->getRequire($this->manifestPath);
if ($manifest) {
return array_merge(['when' => []], $manifest);
Arguments
LaravelServiceProvider {#116}
/home
/crmdp
/crm
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Application.php
{
return $this['env'] === 'testing';
}
/**
* Register all of the configured providers.
*
* @return void
*/
public function registerConfiguredProviders()
{
$providers = Collection::make($this->config['app.providers'])
->partition(function ($provider) {
return Str::startsWith($provider, 'Illuminate\\');
});
$providers->splice(1, 0, [$this->make(PackageManifest::class)->providers()]);
(new ProviderRepository($this, new Filesystem, $this->getCachedServicesPath()))
->load($providers->collapse()->toArray());
}
/**
* Register a service provider with the application.
*
* @param \Illuminate\Support\ServiceProvider|string $provider
* @param bool $force
* @return \Illuminate\Support\ServiceProvider
*/
public function register($provider, $force = false)
{
if (($registered = $this->getProvider($provider)) && ! $force) {
return $registered;
}
// If the given "provider" is a string, we will resolve it, passing in the
// application instance automatically for the developer. This is simply
// a more convenient way of specifying your service provider classes.
if (is_string($provider)) {
$provider = $this->resolveProvider($provider);
Arguments
array:40 [
0 => "Illuminate\Auth\AuthServiceProvider"
1 => "Illuminate\Broadcasting\BroadcastServiceProvider"
2 => "Illuminate\Bus\BusServiceProvider"
3 => "Illuminate\Cache\CacheServiceProvider"
4 => "Illuminate\Foundation\Providers\ConsoleSupportServiceProvider"
5 => "Illuminate\Cookie\CookieServiceProvider"
6 => "Illuminate\Database\DatabaseServiceProvider"
7 => "Illuminate\Encryption\EncryptionServiceProvider"
8 => "Illuminate\Filesystem\FilesystemServiceProvider"
9 => "Illuminate\Foundation\Providers\FoundationServiceProvider"
10 => "Illuminate\Hashing\HashServiceProvider"
11 => "Illuminate\Mail\MailServiceProvider"
12 => "Illuminate\Notifications\NotificationServiceProvider"
13 => "Illuminate\Pagination\PaginationServiceProvider"
14 => "Illuminate\Pipeline\PipelineServiceProvider"
15 => "Illuminate\Queue\QueueServiceProvider"
16 => "Illuminate\Redis\RedisServiceProvider"
17 => "Illuminate\Auth\Passwords\PasswordResetServiceProvider"
18 => "Illuminate\Session\SessionServiceProvider"
19 => "Illuminate\Translation\TranslationServiceProvider"
20 => "Illuminate\Validation\ValidationServiceProvider"
21 => "Illuminate\View\ViewServiceProvider"
22 => "Carbon\Laravel\ServiceProvider"
23 => "Illuminate\Notifications\SlackChannelServiceProvider"
24 => "Illuminate\Notifications\NexmoChannelServiceProvider"
25 => "Laravel\Tinker\TinkerServiceProvider"
26 => "BeyondCode\DumpServer\DumpServerServiceProvider"
27 => "NunoMaduro\Collision\Adapters\Laravel\CollisionServiceProvider"
28 => "Corcel\Laravel\CorcelServiceProvider"
29 => "Collective\Html\HtmlServiceProvider"
30 => "Fideloper\Proxy\TrustedProxyServiceProvider"
31 => "Yajra\DataTables\DataTablesServiceProvider"
32 => "Pixelpeter\Woocommerce\WoocommerceServiceProvider"
33 => "Maatwebsite\Excel\ExcelServiceProvider"
34 => "Webklex\IMAP\Providers\LaravelServiceProvider"
35 => "Barryvdh\DomPDF\ServiceProvider"
36 => "App\Providers\AppServiceProvider"
37 => "App\Providers\AuthServiceProvider"
38 => "App\Providers\EventServiceProvider"
39 => "App\Providers\RouteServiceProvider"
]
/home
/crmdp
/crm
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Bootstrap
/RegisterProviders.php
<?php
namespace Illuminate\Foundation\Bootstrap;
use Illuminate\Contracts\Foundation\Application;
class RegisterProviders
{
/**
* Bootstrap the given application.
*
* @param \Illuminate\Contracts\Foundation\Application $app
* @return void
*/
public function bootstrap(Application $app)
{
$app->registerConfiguredProviders();
}
}
/home
/crmdp
/crm
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Application.php
{
$this->register(new EventServiceProvider($this));
$this->register(new LogServiceProvider($this));
$this->register(new RoutingServiceProvider($this));
}
/**
* Run the given array of bootstrap classes.
*
* @param array $bootstrappers
* @return void
*/
public function bootstrapWith(array $bootstrappers)
{
$this->hasBeenBootstrapped = true;
foreach ($bootstrappers as $bootstrapper) {
$this['events']->dispatch('bootstrapping: '.$bootstrapper, [$this]);
$this->make($bootstrapper)->bootstrap($this);
$this['events']->dispatch('bootstrapped: '.$bootstrapper, [$this]);
}
}
/**
* Register a callback to run after loading the environment.
*
* @param \Closure $callback
* @return void
*/
public function afterLoadingEnvironment(Closure $callback)
{
return $this->afterBootstrapping(
LoadEnvironmentVariables::class, $callback
);
}
/**
* Register a callback to run before a bootstrapper.
Arguments
/home
/crmdp
/crm
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Http
/Kernel.php
Facade::clearResolvedInstance('request');
$this->bootstrap();
return (new Pipeline($this->app))
->send($request)
->through($this->app->shouldSkipMiddleware() ? [] : $this->middleware)
->then($this->dispatchToRouter());
}
/**
* Bootstrap the application for HTTP requests.
*
* @return void
*/
public function bootstrap()
{
if (! $this->app->hasBeenBootstrapped()) {
$this->app->bootstrapWith($this->bootstrappers());
}
}
/**
* Get the route dispatcher callback.
*
* @return \Closure
*/
protected function dispatchToRouter()
{
return function ($request) {
$this->app->instance('request', $request);
return $this->router->dispatch($request);
};
}
/**
* Call the terminate method on any terminable middleware.
*
Arguments
array:6 [
0 => "Illuminate\Foundation\Bootstrap\LoadEnvironmentVariables"
1 => "Illuminate\Foundation\Bootstrap\LoadConfiguration"
2 => "Illuminate\Foundation\Bootstrap\HandleExceptions"
3 => "Illuminate\Foundation\Bootstrap\RegisterFacades"
4 => "Illuminate\Foundation\Bootstrap\RegisterProviders"
5 => "Illuminate\Foundation\Bootstrap\BootProviders"
]
/home
/crmdp
/crm
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Http
/Kernel.php
$this->app['events']->dispatch(
new Events\RequestHandled($request, $response)
);
return $response;
}
/**
* Send the given request through the middleware / router.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
protected function sendRequestThroughRouter($request)
{
$this->app->instance('request', $request);
Facade::clearResolvedInstance('request');
$this->bootstrap();
return (new Pipeline($this->app))
->send($request)
->through($this->app->shouldSkipMiddleware() ? [] : $this->middleware)
->then($this->dispatchToRouter());
}
/**
* Bootstrap the application for HTTP requests.
*
* @return void
*/
public function bootstrap()
{
if (! $this->app->hasBeenBootstrapped()) {
$this->app->bootstrapWith($this->bootstrappers());
}
}
/**
/home
/crmdp
/crm
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Http
/Kernel.php
$router->middlewareGroup($key, $middleware);
}
foreach ($this->routeMiddleware as $key => $middleware) {
$router->aliasMiddleware($key, $middleware);
}
}
/**
* Handle an incoming HTTP request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function handle($request)
{
try {
$request->enableHttpMethodParameterOverride();
$response = $this->sendRequestThroughRouter($request);
} catch (Exception $e) {
$this->reportException($e);
$response = $this->renderException($request, $e);
} catch (Throwable $e) {
$this->reportException($e = new FatalThrowableError($e));
$response = $this->renderException($request, $e);
}
$this->app['events']->dispatch(
new Events\RequestHandled($request, $response)
);
return $response;
}
/**
* Send the given request through the middleware / router.
*
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: null
#routeResolver: null
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: null
#requestUri: null
#baseUrl: null
#basePath: null
#method: null
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
pathInfo: "/"
requestUri: "/"
baseUrl: ""
basePath: ""
method: "GET"
format: "html"
}
/home
/crmdp
/crm
/public
/index.php
*/
$app = require_once __DIR__.'/../bootstrap/app.php';
/*
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request
| through the kernel, and send the associated response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have prepared for them.
|
*/
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
$response = $kernel->handle(
$request = Illuminate\Http\Request::capture()
);
$response->send();
$kernel->terminate($request, $response);
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: null
#routeResolver: null
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: null
#requestUri: null
#baseUrl: null
#basePath: null
#method: null
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
pathInfo: "/"
requestUri: "/"
baseUrl: ""
basePath: ""
method: "GET"
format: "html"
}