Whoops \ Exception \ ErrorException (E_NOTICE)
Trying to access array offset on value of type bool Whoops\Exception\ErrorException thrown with message "Trying to access array offset on value of type bool" Stacktrace: #29 Whoops\Exception\ErrorException in /home/nahicom/nahi.com/public/wp-content/plugins/formidable-pro/classes/models/FrmProFileField.php:1599 #28 Whoops\Run:handleError in /home/nahicom/nahi.com/public/wp-content/plugins/formidable-pro/classes/models/FrmProFileField.php:1599 #27 FrmProFileField:filter_attachment_image_src in /home/nahicom/nahi.com/public/wp-includes/class-wp-hook.php:287 #26 WP_Hook:apply_filters in /home/nahicom/nahi.com/public/wp-includes/plugin.php:206 #25 apply_filters in /home/nahicom/nahi.com/public/wp-includes/media.php:993 #24 wp_get_attachment_image_src in /home/nahicom/nahi.com/public/wp-content/plugins/autodescription/inc/classes/generate-image.class.php:508 #23 The_SEO_Framework\Generate_Image:get_image_dimensions in /home/nahicom/nahi.com/public/wp-content/plugins/autodescription/inc/classes/generate-image.class.php:487 #22 The_SEO_Framework\Generate_Image:merge_extra_image_details in /home/nahicom/nahi.com/public/wp-content/plugins/autodescription/inc/classes/generate-image.class.php:458 #21 The_SEO_Framework\Generate_Image:process_image_cbs in /home/nahicom/nahi.com/public/wp-content/plugins/autodescription/inc/classes/generate-image.class.php:425 #20 The_SEO_Framework\Generate_Image:generate_image_details in /home/nahicom/nahi.com/public/wp-content/plugins/autodescription/inc/classes/generate-image.class.php:170 #19 The_SEO_Framework\Generate_Image:get_generated_image_details in /home/nahicom/nahi.com/public/wp-content/plugins/autodescription/inc/classes/generate-image.class.php:87 #18 The_SEO_Framework\Generate_Image:get_image_details in /home/nahicom/nahi.com/public/wp-content/plugins/autodescription/inc/classes/generate-image.class.php:54 #17 The_SEO_Framework\Generate_Image:get_image_details_from_cache in /home/nahicom/nahi.com/public/wp-content/plugins/autodescription/inc/classes/render.class.php:307 #16 The_SEO_Framework\Render:og_image in /home/nahicom/nahi.com/public/wp-content/plugins/autodescription/inc/classes/init.class.php:465 #15 The_SEO_Framework\Init:get_html_output in /home/nahicom/nahi.com/public/wp-content/plugins/autodescription/inc/classes/init.class.php:400 #14 The_SEO_Framework\Init:html_output in /home/nahicom/nahi.com/public/wp-includes/class-wp-hook.php:287 #13 WP_Hook:apply_filters in /home/nahicom/nahi.com/public/wp-includes/class-wp-hook.php:311 #12 WP_Hook:do_action in /home/nahicom/nahi.com/public/wp-includes/plugin.php:478 #11 do_action in /home/nahicom/nahi.com/public/wp-includes/general-template.php:3006 #10 wp_head in /home/nahicom/nahi.com/public/wp-content/themes/roots/templates/head.php:28 #9 require in /home/nahicom/nahi.com/public/wp-includes/template.php:732 #8 load_template in /home/nahicom/nahi.com/public/wp-includes/template.php:676 #7 locate_template in /home/nahicom/nahi.com/public/wp-includes/general-template.php:204 #6 get_template_part in /home/nahicom/nahi.com/public/wp-content/themes/roots/base.php:4 #5 include in /home/nahicom/nahi.com/public/wp-content/plugins/wpdev/inc/bootstrap.php:72 #4 WPDev\data in /home/nahicom/nahi.com/public/wp-includes/class-wp-hook.php:287 #3 WP_Hook:apply_filters in /home/nahicom/nahi.com/public/wp-includes/plugin.php:206 #2 apply_filters in /home/nahicom/nahi.com/public/wp-includes/template-loader.php:104 #1 require_once in /home/nahicom/nahi.com/public/wp-blog-header.php:19 #0 require in /home/nahicom/nahi.com/public/index.php:17
Stack frames (30)
29
Whoops
\
Exception
\
ErrorException
/
home
/
nahicom
/
nahi.com
/
public
/
wp-content
/
plugins
/
formidable-pro
/
classes
/
models
/
FrmProFileField.php
1599
28
Whoops
\
Run
handleError
/
home
/
nahicom
/
nahi.com
/
public
/
wp-content
/
plugins
/
formidable-pro
/
classes
/
models
/
FrmProFileField.php
1599
27
FrmProFileField
filter_attachment_image_src
/
home
/
nahicom
/
nahi.com
/
public
/
wp-includes
/
class-wp-hook.php
287
26
WP_Hook
apply_filters
/
home
/
nahicom
/
nahi.com
/
public
/
wp-includes
/
plugin.php
206
25
apply_filters
/
home
/
nahicom
/
nahi.com
/
public
/
wp-includes
/
media.php
993
24
wp_get_attachment_image_src
/
home
/
nahicom
/
nahi.com
/
public
/
wp-content
/
plugins
/
autodescription
/
inc
/
classes
/
generate-image.class.php
508
23
The_SEO_Framework
\
Generate_Image
get_image_dimensions
/
home
/
nahicom
/
nahi.com
/
public
/
wp-content
/
plugins
/
autodescription
/
inc
/
classes
/
generate-image.class.php
487
22
The_SEO_Framework
\
Generate_Image
merge_extra_image_details
/
home
/
nahicom
/
nahi.com
/
public
/
wp-content
/
plugins
/
autodescription
/
inc
/
classes
/
generate-image.class.php
458
21
The_SEO_Framework
\
Generate_Image
process_image_cbs
/
home
/
nahicom
/
nahi.com
/
public
/
wp-content
/
plugins
/
autodescription
/
inc
/
classes
/
generate-image.class.php
425
20
The_SEO_Framework
\
Generate_Image
generate_image_details
/
home
/
nahicom
/
nahi.com
/
public
/
wp-content
/
plugins
/
autodescription
/
inc
/
classes
/
generate-image.class.php
170
19
The_SEO_Framework
\
Generate_Image
get_generated_image_details
/
home
/
nahicom
/
nahi.com
/
public
/
wp-content
/
plugins
/
autodescription
/
inc
/
classes
/
generate-image.class.php
87
18
The_SEO_Framework
\
Generate_Image
get_image_details
/
home
/
nahicom
/
nahi.com
/
public
/
wp-content
/
plugins
/
autodescription
/
inc
/
classes
/
generate-image.class.php
54
17
The_SEO_Framework
\
Generate_Image
get_image_details_from_cache
/
home
/
nahicom
/
nahi.com
/
public
/
wp-content
/
plugins
/
autodescription
/
inc
/
classes
/
render.class.php
307
16
The_SEO_Framework
\
Render
og_image
/
home
/
nahicom
/
nahi.com
/
public
/
wp-content
/
plugins
/
autodescription
/
inc
/
classes
/
init.class.php
465
15
The_SEO_Framework
\
Init
get_html_output
/
home
/
nahicom
/
nahi.com
/
public
/
wp-content
/
plugins
/
autodescription
/
inc
/
classes
/
init.class.php
400
14
The_SEO_Framework
\
Init
html_output
/
home
/
nahicom
/
nahi.com
/
public
/
wp-includes
/
class-wp-hook.php
287
13
WP_Hook
apply_filters
/
home
/
nahicom
/
nahi.com
/
public
/
wp-includes
/
class-wp-hook.php
311
12
WP_Hook
do_action
/
home
/
nahicom
/
nahi.com
/
public
/
wp-includes
/
plugin.php
478
11
do_action
/
home
/
nahicom
/
nahi.com
/
public
/
wp-includes
/
general-template.php
3006
10
wp_head
/
home
/
nahicom
/
nahi.com
/
public
/
wp-content
/
themes
/
roots
/
templates
/
head.php
28
9
require
/
home
/
nahicom
/
nahi.com
/
public
/
wp-includes
/
template.php
732
8
load_template
/
home
/
nahicom
/
nahi.com
/
public
/
wp-includes
/
template.php
676
7
locate_template
/
home
/
nahicom
/
nahi.com
/
public
/
wp-includes
/
general-template.php
204
6
get_template_part
/
home
/
nahicom
/
nahi.com
/
public
/
wp-content
/
themes
/
roots
/
base.php
4
5
include
/
inc
/
bootstrap.php
72
4
WPDev
\
data
/
home
/
nahicom
/
nahi.com
/
public
/
wp-includes
/
class-wp-hook.php
287
3
WP_Hook
apply_filters
/
home
/
nahicom
/
nahi.com
/
public
/
wp-includes
/
plugin.php
206
2
apply_filters
/
home
/
nahicom
/
nahi.com
/
public
/
wp-includes
/
template-loader.php
104
1
require_once
/
home
/
nahicom
/
nahi.com
/
public
/
wp-blog-header.php
19
0
require
/
home
/
nahicom
/
nahi.com
/
public
/
index.php
17
/
home
/
nahicom
/
nahi.com
/
public
/
wp-content
/
plugins
/
formidable-pro
/
classes
/
models
/
FrmProFileField.php
     * @param string $url
     * @param int $attachment_id
     * @return string
     */
    public static function filter_attachment_url( $url, $attachment_id ) {
        if ( ! self::should_filter_url( $url, $attachment_id ) ) {
            return $url;
        }
        return self::get_file_url( $attachment_id, false, compact( 'url' ) );
    }
 
    /**
     * @param array $image
     * @param int $attachment_id
     * @param string|int[] $size
     * @param bool $icon
     * @return array
     */
    public static function filter_attachment_image_src( $image, $attachment_id, $size, $icon ) {
        if ( self::should_filter_url( $image[0], $attachment_id ) ) {
            $image[0] = self::get_file_url( $attachment_id, $size, array( 'src' => $image[0] ) );
        }
        return $image;
    }
 
    /**
     * @param array $attr
     * @param WP_Post $attachment
     * @param string|int[] $size
     * @return array
     */
    public static function filter_attachment_image_attributes( $attr, $attachment, $size ) {
        if ( self::should_filter_attachment_image_attributes( $attachment->ID ) ) {
            $attr['src'] = self::get_file_url( $attachment->ID, $size );
        }
        return $attr;
    }
 
    /**
     * @param int $attachment_id
Arguments
  1. "Trying to access array offset on value of type bool"
    
/
home
/
nahicom
/
nahi.com
/
public
/
wp-content
/
plugins
/
formidable-pro
/
classes
/
models
/
FrmProFileField.php
     * @param string $url
     * @param int $attachment_id
     * @return string
     */
    public static function filter_attachment_url( $url, $attachment_id ) {
        if ( ! self::should_filter_url( $url, $attachment_id ) ) {
            return $url;
        }
        return self::get_file_url( $attachment_id, false, compact( 'url' ) );
    }
 
    /**
     * @param array $image
     * @param int $attachment_id
     * @param string|int[] $size
     * @param bool $icon
     * @return array
     */
    public static function filter_attachment_image_src( $image, $attachment_id, $size, $icon ) {
        if ( self::should_filter_url( $image[0], $attachment_id ) ) {
            $image[0] = self::get_file_url( $attachment_id, $size, array( 'src' => $image[0] ) );
        }
        return $image;
    }
 
    /**
     * @param array $attr
     * @param WP_Post $attachment
     * @param string|int[] $size
     * @return array
     */
    public static function filter_attachment_image_attributes( $attr, $attachment, $size ) {
        if ( self::should_filter_attachment_image_attributes( $attachment->ID ) ) {
            $attr['src'] = self::get_file_url( $attachment->ID, $size );
        }
        return $attr;
    }
 
    /**
     * @param int $attachment_id
/
home
/
nahicom
/
nahi.com
/
public
/
wp-includes
/
class-wp-hook.php
 
        $nesting_level = $this->nesting_level++;
 
        $this->iterations[ $nesting_level ] = array_keys( $this->callbacks );
        $num_args                           = count( $args );
 
        do {
            $this->current_priority[ $nesting_level ] = current( $this->iterations[ $nesting_level ] );
            $priority                                 = $this->current_priority[ $nesting_level ];
 
            foreach ( $this->callbacks[ $priority ] as $the_ ) {
                if ( ! $this->doing_action ) {
                    $args[0] = $value;
                }
 
                // Avoid the array_slice() if possible.
                if ( 0 == $the_['accepted_args'] ) {
                    $value = call_user_func( $the_['function'] );
                } elseif ( $the_['accepted_args'] >= $num_args ) {
                    $value = call_user_func_array( $the_['function'], $args );
                } else {
                    $value = call_user_func_array( $the_['function'], array_slice( $args, 0, (int) $the_['accepted_args'] ) );
                }
            }
        } while ( false !== next( $this->iterations[ $nesting_level ] ) );
 
        unset( $this->iterations[ $nesting_level ] );
        unset( $this->current_priority[ $nesting_level ] );
 
        $this->nesting_level--;
 
        return $value;
    }
 
    /**
     * Calls the callback functions that have been added to an action hook.
     *
     * @since 4.7.0
     *
     * @param array $args Parameters to pass to the callback functions.
/
home
/
nahicom
/
nahi.com
/
public
/
wp-includes
/
plugin.php
    if ( isset( $wp_filter['all'] ) ) {
        $wp_current_filter[] = $tag;
        _wp_call_all_hook( $args );
    }
 
    if ( ! isset( $wp_filter[ $tag ] ) ) {
        if ( isset( $wp_filter['all'] ) ) {
            array_pop( $wp_current_filter );
        }
        return $value;
    }
 
    if ( ! isset( $wp_filter['all'] ) ) {
        $wp_current_filter[] = $tag;
    }
 
    // Don't pass the tag name to WP_Hook.
    array_shift( $args );
 
    $filtered = $wp_filter[ $tag ]->apply_filters( $value, $args );
 
    array_pop( $wp_current_filter );
 
    return $filtered;
}
 
/**
 * Calls the callback functions that have been added to a filter hook, specifying arguments in an array.
 *
 * @since 3.0.0
 *
 * @see apply_filters() This function is identical, but the arguments passed to the
 * functions hooked to `$tag` are supplied using an array.
 *
 * @global array $wp_filter         Stores all of the filters and actions.
 * @global array $wp_current_filter Stores the list of current filters with the current one last.
 *
 * @param string $tag  The name of the filter hook.
 * @param array  $args The arguments supplied to the functions hooked to $tag.
 * @return mixed The filtered value after all hooked functions are applied to it.
/
home
/
nahicom
/
nahi.com
/
public
/
wp-includes
/
media.php
    }
    /**
     * Filters the attachment image source result.
     *
     * @since 4.3.0
     *
     * @param array|false  $image         {
     *     Array of image data, or boolean false if no image is available.
     *
     *     @type string $0 Image source URL.
     *     @type int    $1 Image width in pixels.
     *     @type int    $2 Image height in pixels.
     *     @type bool   $3 Whether the image is a resized image.
     * }
     * @param int          $attachment_id Image attachment ID.
     * @param string|int[] $size          Requested size of image. Image size name, or array of width
     *                                    and height values (in that order).
     * @param bool         $icon          Whether the image should be treated as an icon.
     */
    return apply_filters( 'wp_get_attachment_image_src', $image, $attachment_id, $size, $icon );
}
 
/**
 * Get an HTML img element representing an image attachment
 *
 * While `$size` will accept an array, it is better to register a size with
 * add_image_size() so that a cropped version is generated. It's much more
 * efficient than having to find the closest-sized image and then having the
 * browser scale down the image.
 *
 * @since 2.5.0
 * @since 4.4.0 The `$srcset` and `$sizes` attributes were added.
 * @since 5.5.0 The `$loading` attribute was added.
 *
 * @param int          $attachment_id Image attachment ID.
 * @param string|array $size          Optional. Image size. Accepts any valid image size, or an array of width
 *                                    and height values in pixels (in that order). Default 'thumbnail'.
 * @param bool         $icon          Optional. Whether the image should be treated as an icon. Default false.
 * @param string|array $attr {
 *     Optional. Attributes for the image markup.
/
home
/
nahicom
/
nahi.com
/
public
/
wp-content
/
plugins
/
autodescription
/
inc
/
classes
/
generate-image.class.php
 
        return $details;
    }
 
    /**
     * Generates image dimensions.
     *
     * @since 4.0.0
     *
     * @param int    $src_id The source ID of the image.
     * @param string $url    The source URL of the image. Ideally related to the $src_id.
     * @param string $size   The size of the image used.
     * @return array The image dimensions, associative: {
     *    int width:  The image width in pixels,
     *    int height: The image height in pixels,
     * }
     */
    public function get_image_dimensions( $src_id, $url, $size ) {
 
        $image = \wp_get_attachment_image_src( $src_id, $size );
 
        $dimensions = [
            'width'  => 0,
            'height' => 0,
        ];
 
        if ( $image ) {
            list( $src, $width, $height ) = $image;
 
            $test_src = \esc_url_raw( $this->set_url_scheme( $src, 'https' ), [ 'https', 'http' ] );
            $test_url = \esc_url_raw( $this->set_url_scheme( $url, 'https' ), [ 'https', 'http' ] );
 
            if ( $test_src === $test_url ) {
                $dimensions = [
                    'width'  => $width,
                    'height' => $height,
                ];
            }
        }
 
/
home
/
nahicom
/
nahi.com
/
public
/
wp-content
/
plugins
/
autodescription
/
inc
/
classes
/
generate-image.class.php
     * Adds image dimension and alt parameters to the input details, if any.
     *
     * @since 4.0.0
     *
     * @param array  $details The image details array, associative: {
     *    string url:    The image URL,
     *    int    id:     The image ID,
     * }
     * @param string $size    The size of the image used.
     * @return array The image details array, associative: {
     *    string url:    The image URL,
     *    int    id:     The image ID,
     *    int    width:  The image width in pixels,
     *    int    height: The image height in pixels,
     *    string alt:    The image alt tag,
     * }
     */
    public function merge_extra_image_details( array $details, $size = 'full' ) {
 
        $details += $this->get_image_dimensions( $details['id'], $details['url'], $size );
        $details += [ 'alt' => $this->get_image_alt_tag( $details['id'] ) ];
 
        return $details;
    }
 
    /**
     * Generates image dimensions.
     *
     * @since 4.0.0
     *
     * @param int    $src_id The source ID of the image.
     * @param string $url    The source URL of the image. Ideally related to the $src_id.
     * @param string $size   The size of the image used.
     * @return array The image dimensions, associative: {
     *    int width:  The image width in pixels,
     *    int height: The image height in pixels,
     * }
     */
    public function get_image_dimensions( $src_id, $url, $size ) {
 
/
home
/
nahicom
/
nahi.com
/
public
/
wp-content
/
plugins
/
autodescription
/
inc
/
classes
/
generate-image.class.php
     * @param sring      $size   The image size to use.
     * @param bool       $single Whether to fetch one image, or multiple.
     * @return array The image details array, sequential: int => {
     *    string url:    The image URL,
     *    int    id:     The image ID,
     *    int    width:  The image width in pixels,
     *    int    height: The image height in pixels,
     *    string alt:    The image alt tag,
     * }
     */
    protected function process_image_cbs( $cbs, $args, $size, $single ) {
 
        $items = [];
        $i     = 0;
 
        foreach ( $cbs as $cb ) {
            // This is one of the slowest calls in this plugin on PHP 5.6. However, PHP 7.0 optimized cuf(a). Neglegible.
            foreach ( \call_user_func_array( $cb, [ $args, $size ] ) as $details ) {
                if ( $details['url'] && $this->s_url_query( $details['url'] ) ) {
                    $items[ $i++ ] = $this->merge_extra_image_details( $details, $size );
                    if ( $single ) break 2;
                }
            }
        }
 
        return $items;
    }
 
    /**
     * Adds image dimension and alt parameters to the input details, if any.
     *
     * @since 4.0.0
     *
     * @param array  $details The image details array, associative: {
     *    string url:    The image URL,
     *    int    id:     The image ID,
     * }
     * @param string $size    The size of the image used.
     * @return array The image details array, associative: {
     *    string url:    The image URL,
/
home
/
nahicom
/
nahi.com
/
public
/
wp-content
/
plugins
/
autodescription
/
inc
/
classes
/
generate-image.class.php
     * @since 4.0.0
     *
     * @param array|null $args    The query arguments. Accepts 'id' and 'taxonomy'.
     *                            Leave null to autodetermine query.
     * @param bool       $single  Whether to fetch one image, or multiple.
     * @param string     $context The context of the image generation, albeit 'social', 'schema', etc.
     * @return array The image details array, sequential: int => {
     *    string url:    The image URL,
     *    int    id:     The image ID,
     *    int    width:  The image width in pixels,
     *    int    height: The image height in pixels,
     *    string alt:    The image alt tag,
     * }
     */
    protected function generate_image_details( $args, $single = true, $context = 'social' ) {
 
        $params = $this->get_image_generation_params( $args, $context );
        $single = $single || ! $params['multi'];
 
        $details = $this->process_image_cbs( $params['cbs'], $args, $params['size'], $single )
                ?: $this->process_image_cbs( $params['fallback'], $args, $params['size'], true );
 
        return $details;
    }
 
    /**
     * Processes image detail callbacks.
     *
     * @since 4.0.0
     *
     * @param array      $cbs    The callbacks to parse. Ideally be generators, so we can halt early.
     * @param array|null $args   The query arguments. Accepts 'id' and 'taxonomy'.
     *                           Leave null to autodetermine query.
     * @param sring      $size   The image size to use.
     * @param bool       $single Whether to fetch one image, or multiple.
     * @return array The image details array, sequential: int => {
     *    string url:    The image URL,
     *    int    id:     The image ID,
     *    int    width:  The image width in pixels,
     *    int    height: The image height in pixels,
/
home
/
nahicom
/
nahi.com
/
public
/
wp-content
/
plugins
/
autodescription
/
inc
/
classes
/
generate-image.class.php
     * @since 4.0.0
     *
     * @param array|null $args    The query arguments. Accepts 'id' and 'taxonomy'.
     *                            Leave null to autodetermine query.
     * @param bool       $single  Whether to fetch one image, or multiple.
     * @param string     $context The filter context. Default 'social'.
     * @param bool       $clean   Whether to clean the image, like stripping duplicates and erroneous items.
     *                            It's best to leave this enabled, unless you're merging the calls, and clean up yourself.
     * @return array The image details array, sequential: int => {
     *    string url:    The image URL,
     *    int    id:     The image ID,
     *    int    width:  The image width in pixels,
     *    int    height: The image height in pixels,
     *    string alt:    The image alt tag,
     * }
     */
    public function get_generated_image_details( $args = null, $single = false, $context = 'social', $clean = true ) {
 
        if ( null === $args ) {
            $details = $this->generate_image_details( null, $single, $context );
        } else {
            $this->fix_generation_args( $args );
            $details = $this->generate_image_details( $args, $single, $context );
        }
 
        return $clean ? $this->s_image_details( $details ) : $details;
    }
 
    /**
     * Returns single custom field image details from query.
     *
     * @since 4.0.0
     *
     * @return array The image details array, sequential: int => {
     *    string url:    The image URL,
     *    int    id:     The image ID,
     *    int    width:  The image width in pixels,
     *    int    height: The image height in pixels,
     *    string alt:    The image alt tag,
     * }
/
home
/
nahicom
/
nahi.com
/
public
/
wp-content
/
plugins
/
autodescription
/
inc
/
classes
/
generate-image.class.php
     *                            It's best to leave this enabled, unless you're merging the calls, and clean up yourself.
     * @return array The image details array, sequential: int => {
     *    string url:    The image URL,
     *    int    id:     The image ID,
     *    int    width:  The image width in pixels,
     *    int    height: The image height in pixels,
     *    string alt:    The image alt tag,
     * }
     */
    public function get_image_details( $args = null, $single = false, $context = 'social', $clean = true ) {
 
        if ( $single ) {
            $details = $this->get_custom_field_image_details( $args, $single, false );
 
            if ( empty( $details[0]['url'] ) )
                $details = $this->get_generated_image_details( $args, $single, $context, false );
        } else {
            $details = array_merge(
                $this->get_custom_field_image_details( $args, $single, false ),
                $this->get_generated_image_details( $args, $single, $context, false )
            );
        }
 
        /**
         * @since 4.0.5
         * @param array      $details The image details array, sequential: int => {
         *    string url:    The image URL,
         *    int    id:     The image ID,
         *    int    width:  The image width in pixels,
         *    int    height: The image height in pixels,
         *    string alt:    The image alt tag,
         * }
         * @param array|null $args    The query arguments. Accepts 'id' and 'taxonomy'.
         *                            Is null when query is autodetermined.
         * @param bool       $single  Whether to fetch one image, or multiple.
         * @param string     $context The filter context. Default 'social'.
         * @param bool       $clean   Whether to clean the image, like stripping duplicates and erroneous items.
         */
        return \apply_filters_ref_array(
            'the_seo_framework_image_details',
/
home
/
nahicom
/
nahi.com
/
public
/
wp-content
/
plugins
/
autodescription
/
inc
/
classes
/
generate-image.class.php
class Generate_Image extends Generate_Url {
 
    /**
     * Returns the image details from cache.
     * Only to be used within the loop, uses default parameters, inlucing the 'social' context.
     * Memoizes the return value.
     *
     * @since 4.0.0
     *
     * @return array The image details array, sequential: int => {
     *    string url:    The image URL,
     *    int    id:     The image ID,
     *    int    width:  The image width in pixels,
     *    int    height: The image height in pixels,
     *    string alt:    The image alt tag,
     * }
     */
    public function get_image_details_from_cache() {
        static $cache;
        return isset( $cache ) ? $cache : $cache = $this->get_image_details();
    }
 
    /**
     * Returns image details.
     *
     * @since 4.0.0
     * @since 4.0.5 The output is now filterable.
     *
     * @param array|null $args    The query arguments. Accepts 'id' and 'taxonomy'.
     *                            Leave null to autodetermine query.
     * @param bool       $single  Whether to fetch one image, or multiple.
     * @param string     $context The filter context. Default 'social'.
     * @param bool       $clean   Whether to clean the image, like stripping duplicates and erroneous items.
     *                            It's best to leave this enabled, unless you're merging the calls, and clean up yourself.
     * @return array The image details array, sequential: int => {
     *    string url:    The image URL,
     *    int    id:     The image ID,
     *    int    width:  The image width in pixels,
     *    int    height: The image height in pixels,
     *    string alt:    The image alt tag,
/
home
/
nahicom
/
nahi.com
/
public
/
wp-content
/
plugins
/
autodescription
/
inc
/
classes
/
render.class.php
    }
 
    /**
     * Renders Open Graph image meta tag.
     *
     * @since 1.3.0
     * @since 2.6.0 : Added WooCommerce gallery images.
     * @since 2.7.0 : Added image dimensions if found.
     *
     * @return string The Open Graph image meta tag.
     */
    public function og_image() {
 
        if ( ! $this->use_og_tags() ) return '';
 
        $output = '';
 
        $multi = (bool) $this->get_option( 'multi_og_image' );
 
        foreach ( $this->get_image_details_from_cache() as $image ) {
            $output .= '<meta property="og:image" content="' . \esc_attr( $image['url'] ) . '" />' . "\r\n";
 
            if ( $image['height'] && $image['width'] ) {
                $output .= '<meta property="og:image:width" content="' . \esc_attr( $image['width'] ) . '" />' . "\r\n";
                $output .= '<meta property="og:image:height" content="' . \esc_attr( $image['height'] ) . '" />' . "\r\n";
            }
 
            if ( $image['alt'] ) {
                $output .= '<meta property="og:image:alt" content="' . \esc_attr( $image['alt'] ) . '" />' . "\r\n";
            }
 
            if ( ! $multi )
                break;
        }
 
        return $output;
    }
 
    /**
     * Renders Open Graph sitename meta tag.
/
home
/
nahicom
/
nahi.com
/
public
/
wp-content
/
plugins
/
autodescription
/
inc
/
classes
/
init.class.php
                    . $this->paged_urls()
                    . $this->google_site_output()
                    . $this->bing_site_output()
                    . $this->yandex_site_output()
                    . $this->baidu_site_output()
                    . $this->pint_site_output();
        elseif ( $this->is_404() ) :
            $output = $this->theme_color()
                    . $this->google_site_output()
                    . $this->bing_site_output()
                    . $this->yandex_site_output()
                    . $this->baidu_site_output()
                    . $this->pint_site_output();
        elseif ( $this->is_query_exploited() ) :
            // aqp = advanced query protection
            $output = '<meta name="tsf:aqp" value="1" />' . PHP_EOL;
        else :
            // Inefficient concatenation is inefficient. Improve this?
            $output = $this->the_description()
                    . $this->og_image()
                    . $this->og_locale()
                    . $this->og_type()
                    . $this->og_title()
                    . $this->og_description()
                    . $this->og_url()
                    . $this->og_sitename()
                    . $this->facebook_publisher()
                    . $this->facebook_author()
                    . $this->facebook_app_id()
                    . $this->article_published_time()
                    . $this->article_modified_time()
                    . $this->twitter_card()
                    . $this->twitter_site()
                    . $this->twitter_creator()
                    . $this->twitter_title()
                    . $this->twitter_description()
                    . $this->twitter_image()
                    . $this->theme_color()
                    . $this->shortlink()
                    . $this->canonical()
/
home
/
nahicom
/
nahi.com
/
public
/
wp-content
/
plugins
/
autodescription
/
inc
/
classes
/
init.class.php
        \do_action( 'the_seo_framework_do_before_output' );
 
        /**
         * Start the timer here. I know it doesn't calculate the initiation of
         * the plugin, but it will make the code smelly if I were to do so.
         * A static array cache counter function would make it possible, but meh.
         * This function presumably takes the most time anyway.
         */
        $init_start = microtime( true );
 
        if ( $this->use_object_cache ) {
            $cache_key = $this->get_meta_output_cache_key_by_query();
            $output    = $this->object_cache_get( $cache_key );
        } else {
            $cache_key = '';
            $output    = false;
        }
 
        if ( false === $output ) {
            $output = $this->get_html_output();
            $this->use_object_cache and $this->object_cache_set( $cache_key, $output, DAY_IN_SECONDS );
        }
 
        // phpcs:ignore, WordPress.Security.EscapeOutput -- $output is escaped.
        echo PHP_EOL, $this->get_plugin_indicator( 'before' ), $output, $this->get_plugin_indicator( 'after', $init_start ), PHP_EOL;
 
        /**
         * @since 2.6.0
         */
        \do_action( 'the_seo_framework_do_after_output' );
    }
 
    /**
     * Generates front-end HTMl output.
     *
     * @since 4.0.5
     * @todo convert $output to array and allow filtering it.
     *
     * @return string The HTML output.
     */
/
home
/
nahicom
/
nahi.com
/
public
/
wp-includes
/
class-wp-hook.php
 
        $nesting_level = $this->nesting_level++;
 
        $this->iterations[ $nesting_level ] = array_keys( $this->callbacks );
        $num_args                           = count( $args );
 
        do {
            $this->current_priority[ $nesting_level ] = current( $this->iterations[ $nesting_level ] );
            $priority                                 = $this->current_priority[ $nesting_level ];
 
            foreach ( $this->callbacks[ $priority ] as $the_ ) {
                if ( ! $this->doing_action ) {
                    $args[0] = $value;
                }
 
                // Avoid the array_slice() if possible.
                if ( 0 == $the_['accepted_args'] ) {
                    $value = call_user_func( $the_['function'] );
                } elseif ( $the_['accepted_args'] >= $num_args ) {
                    $value = call_user_func_array( $the_['function'], $args );
                } else {
                    $value = call_user_func_array( $the_['function'], array_slice( $args, 0, (int) $the_['accepted_args'] ) );
                }
            }
        } while ( false !== next( $this->iterations[ $nesting_level ] ) );
 
        unset( $this->iterations[ $nesting_level ] );
        unset( $this->current_priority[ $nesting_level ] );
 
        $this->nesting_level--;
 
        return $value;
    }
 
    /**
     * Calls the callback functions that have been added to an action hook.
     *
     * @since 4.7.0
     *
     * @param array $args Parameters to pass to the callback functions.
/
home
/
nahicom
/
nahi.com
/
public
/
wp-includes
/
class-wp-hook.php
        } while ( false !== next( $this->iterations[ $nesting_level ] ) );
 
        unset( $this->iterations[ $nesting_level ] );
        unset( $this->current_priority[ $nesting_level ] );
 
        $this->nesting_level--;
 
        return $value;
    }
 
    /**
     * Calls the callback functions that have been added to an action hook.
     *
     * @since 4.7.0
     *
     * @param array $args Parameters to pass to the callback functions.
     */
    public function do_action( $args ) {
        $this->doing_action = true;
        $this->apply_filters( '', $args );
 
        // If there are recursive calls to the current action, we haven't finished it until we get to the last one.
        if ( ! $this->nesting_level ) {
            $this->doing_action = false;
        }
    }
 
    /**
     * Processes the functions hooked into the 'all' hook.
     *
     * @since 4.7.0
     *
     * @param array $args Arguments to pass to the hook callbacks. Passed by reference.
     */
    public function do_all_hook( &$args ) {
        $nesting_level                      = $this->nesting_level++;
        $this->iterations[ $nesting_level ] = array_keys( $this->callbacks );
 
        do {
            $priority = current( $this->iterations[ $nesting_level ] );
/
home
/
nahicom
/
nahi.com
/
public
/
wp-includes
/
plugin.php
 
    if ( ! isset( $wp_filter[ $tag ] ) ) {
        if ( isset( $wp_filter['all'] ) ) {
            array_pop( $wp_current_filter );
        }
        return;
    }
 
    if ( ! isset( $wp_filter['all'] ) ) {
        $wp_current_filter[] = $tag;
    }
 
    if ( empty( $arg ) ) {
        $arg[] = '';
    } elseif ( is_array( $arg[0] ) && 1 === count( $arg[0] ) && isset( $arg[0][0] ) && is_object( $arg[0][0] ) ) {
        // Backward compatibility for PHP4-style passing of `array( &$this )` as action `$arg`.
        $arg[0] = $arg[0][0];
    }
 
    $wp_filter[ $tag ]->do_action( $arg );
 
    array_pop( $wp_current_filter );
}
 
/**
 * Retrieve the number of times an action is fired.
 *
 * @since 2.1.0
 *
 * @global array $wp_actions Increments the amount of times action was triggered.
 *
 * @param string $tag The name of the action hook.
 * @return int The number of times action hook $tag is fired.
 */
function did_action( $tag ) {
    global $wp_actions;
 
    if ( ! isset( $wp_actions[ $tag ] ) ) {
        return 0;
    }
/
home
/
nahicom
/
nahi.com
/
public
/
wp-includes
/
general-template.php
     * @param string $before           The HTML to output before the date.
     * @param string $after            The HTML to output after the date.
     */
    echo apply_filters( 'the_weekday_date', $the_weekday_date, $before, $after );
}
 
/**
 * Fire the wp_head action.
 *
 * See {@see 'wp_head'}.
 *
 * @since 1.2.0
 */
function wp_head() {
    /**
     * Prints scripts or data in the head tag on the front end.
     *
     * @since 1.5.0
     */
    do_action( 'wp_head' );
}
 
/**
 * Fire the wp_footer action.
 *
 * See {@see 'wp_footer'}.
 *
 * @since 1.5.1
 */
function wp_footer() {
    /**
     * Prints scripts or data before the closing body tag on the front end.
     *
     * @since 1.5.1
     */
    do_action( 'wp_footer' );
}
 
/**
 * Fire the wp_body_open action.
/
home
/
nahicom
/
nahi.com
/
public
/
wp-content
/
themes
/
roots
/
templates
/
head.php
    <meta name="viewport" content="width=device-width, initial-scale=1">
 
    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
    <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/lightbox2@2.9.0/dist/css/lightbox.min.css">
    <script src="https://maps.google.com/maps/api/js?key=AIzaSyC6QsOveAYAgHKUowq525oknddgYaQAvzI" type="text/javascript"></script>
 
    <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,400i,700|Merriweather:300" rel="stylesheet">
    <link rel="stylesheet" href="https://use.typekit.net/tku6ihd.css">
 
 
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css" />
    <link rel="alternate" type="application/rss+xml" title="<?php echo get_bloginfo('name'); ?> Feed"
          href="<?php echo esc_url(get_feed_link()); ?>">
    <link rel="stylesheet" href="<?php echo Asset::init('css/main.css'); ?>">
    <?php wp_head(); ?>
 
    <!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-122925720-4"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
 
  gtag('config', 'UA-122925720-4');
</script>
 
</head>
 
 
/
home
/
nahicom
/
nahi.com
/
public
/
wp-includes
/
template.php
        /*
         * This use of extract() cannot be removed. There are many possible ways that
         * templates could depend on variables that it creates existing, and no way to
         * detect and deprecate it.
         *
         * Passing the EXTR_SKIP flag is the safest option, ensuring globals and
         * function variables cannot be overwritten.
         */
        // phpcs:ignore WordPress.PHP.DontExtract.extract_extract
        extract( $wp_query->query_vars, EXTR_SKIP );
    }
 
    if ( isset( $s ) ) {
        $s = esc_attr( $s );
    }
 
    if ( $require_once ) {
        require_once $_template_file;
    } else {
        require $_template_file;
    }
}
 
Arguments
  1. "/home/nahicom/nahi.com/public/wp-content/themes/roots/templates/head.php"
    
/
home
/
nahicom
/
nahi.com
/
public
/
wp-includes
/
template.php
function locate_template( $template_names, $load = false, $require_once = true, $args = array() ) {
    $located = '';
    foreach ( (array) $template_names as $template_name ) {
        if ( ! $template_name ) {
            continue;
        }
        if ( file_exists( STYLESHEETPATH . '/' . $template_name ) ) {
            $located = STYLESHEETPATH . '/' . $template_name;
            break;
        } elseif ( file_exists( TEMPLATEPATH . '/' . $template_name ) ) {
            $located = TEMPLATEPATH . '/' . $template_name;
            break;
        } elseif ( file_exists( ABSPATH . WPINC . '/theme-compat/' . $template_name ) ) {
            $located = ABSPATH . WPINC . '/theme-compat/' . $template_name;
            break;
        }
    }
 
    if ( $load && '' !== $located ) {
        load_template( $located, $require_once, $args );
    }
 
    return $located;
}
 
/**
 * Require the template file with WordPress environment.
 *
 * The globals are set up for the template file to ensure that the WordPress
 * environment is available from within the function. The query variables are
 * also available.
 *
 * @since 1.5.0
 * @since 5.5.0 The `$args` parameter was added.
 *
 * @global array      $posts
 * @global WP_Post    $post          Global post object.
 * @global bool       $wp_did_header
 * @global WP_Query   $wp_query      WordPress Query object.
 * @global WP_Rewrite $wp_rewrite    WordPress rewrite component.
/
home
/
nahicom
/
nahi.com
/
public
/
wp-includes
/
general-template.php
    if ( '' !== $name ) {
        $templates[] = "{$slug}-{$name}.php";
    }
 
    $templates[] = "{$slug}.php";
 
    /**
     * Fires before a template part is loaded.
     *
     * @since 5.2.0
     * @since 5.5.0 The `$args` parameter was added.
     *
     * @param string   $slug      The slug name for the generic template.
     * @param string   $name      The name of the specialized template.
     * @param string[] $templates Array of template files to search for, in order.
     * @param array    $args      Additional arguments passed to the template.
     */
    do_action( 'get_template_part', $slug, $name, $templates, $args );
 
    if ( ! locate_template( $templates, true, false, $args ) ) {
        return false;
    }
}
 
/**
 * Display search form.
 *
 * Will first attempt to locate the searchform.php file in either the child or
 * the parent, then load it. If it doesn't exist, then the default search form
 * will be displayed. The default search form is HTML, which will be displayed.
 * There is a filter applied to the search form HTML in order to edit or replace
 * it. The filter is {@see 'get_search_form'}.
 *
 * This function is primarily used by themes which want to hardcode the search
 * form into the sidebar and also by the search widget in WordPress.
 *
 * There is also an action that is called whenever the function is run called,
 * {@see 'pre_get_search_form'}. This can be useful for outputting JavaScript that the
 * search relies on or various formatting that applies to the beginning of the
 * search. To give a few examples of what it can be used for.
/
home
/
nahicom
/
nahi.com
/
public
/
wp-content
/
themes
/
roots
/
base.php
<?php use GM\Roots\Asset; ?>
<!DOCTYPE html>
<html class="no-js h-100" <?php language_attributes(); ?>>
    <?php get_template_part('templates/head'); ?>
    <?php
    $body_classes = get_body_class();
    $body_classes[] = 'd-flex flex-column';
    $body_classes = join(' ', $body_classes);
    ?>
    <body class="<?php echo $body_classes; ?>">
 
        <!--[if lt IE 8]>
        <div class="alert alert-warning">
            <?php _e('You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade
            your browser</a> to improve your experience.', 'roots'); ?>
        </div>
        <![endif]-->
 
        <?php
        do_action('get_header');
        // Choose the correct header
        // pick which one in config.php
        if (current_theme_supports('header-two-navs')) {
            get_template_part('templates/header-two-navs');
        } elseif (current_theme_supports('header-nav-bottom')) {
            get_template_part('templates/header-nav-bottom');
        } else {
            get_template_part('templates/header');
        }
        ?>
 
        
 
        <?php if(!is_front_page() && !is_page_template('page-templates/landing-page.php')) {
            get_template_part('templates/page', 'header');
        } ?>
 
 
 
        <div class="site-main py-3">
/
home
/
nahicom
/
nahi.com
/
public
/
wp-content
/
plugins
/
wpdev
/
inc
/
bootstrap.php
 
    if ( ! empty($GLOBALS['wp_query'])) {
        $default_data['Posts'] = PostFactory::makeFromQuery($GLOBALS['wp_query']);
    }
 
    // Load Controllers then include the template
    $controller = ControllerLoader::create(new Hierarchy)->getController();
 
    /** @var \WPDev\Controller\ControllerInterface $controller */
    if ($controller) {
        // set the default data so controller can access it in the build method
        $controller->defaultData = $default_data;
        $data                    = array_merge($default_data, $controller->build());
    } else {
        $data = $default_data;
    }
 
    extract($data);
 
    include $template;
}
add_filter('template_include', __NAMESPACE__.'\\data', 1000);
 
/*
|--------------------------------------------------------------------------
| Load this plugin first
|--------------------------------------------------------------------------
| WordPress sorts and loads plugins alphabetically.
| Here we find the wpdev plugin and move it to the front.
| And we have to do it every time a plugin is activated since
| WP always calls sort()
*/
function on_plugin_activation()
{
    // should end up evaluating to 'wpdev/wpdev.php'
    $path    = basename(dirname(__DIR__)).'/wpdev.php';
    $plugins = get_option('active_plugins', []);
    $key     = array_search($path, $plugins);
 
    if ($key !== false) {
Arguments
  1. "/home/nahicom/nahi.com/public/wp-content/themes/roots/base.php"
    
/
home
/
nahicom
/
nahi.com
/
public
/
wp-includes
/
class-wp-hook.php
 
        $nesting_level = $this->nesting_level++;
 
        $this->iterations[ $nesting_level ] = array_keys( $this->callbacks );
        $num_args                           = count( $args );
 
        do {
            $this->current_priority[ $nesting_level ] = current( $this->iterations[ $nesting_level ] );
            $priority                                 = $this->current_priority[ $nesting_level ];
 
            foreach ( $this->callbacks[ $priority ] as $the_ ) {
                if ( ! $this->doing_action ) {
                    $args[0] = $value;
                }
 
                // Avoid the array_slice() if possible.
                if ( 0 == $the_['accepted_args'] ) {
                    $value = call_user_func( $the_['function'] );
                } elseif ( $the_['accepted_args'] >= $num_args ) {
                    $value = call_user_func_array( $the_['function'], $args );
                } else {
                    $value = call_user_func_array( $the_['function'], array_slice( $args, 0, (int) $the_['accepted_args'] ) );
                }
            }
        } while ( false !== next( $this->iterations[ $nesting_level ] ) );
 
        unset( $this->iterations[ $nesting_level ] );
        unset( $this->current_priority[ $nesting_level ] );
 
        $this->nesting_level--;
 
        return $value;
    }
 
    /**
     * Calls the callback functions that have been added to an action hook.
     *
     * @since 4.7.0
     *
     * @param array $args Parameters to pass to the callback functions.
/
home
/
nahicom
/
nahi.com
/
public
/
wp-includes
/
plugin.php
    if ( isset( $wp_filter['all'] ) ) {
        $wp_current_filter[] = $tag;
        _wp_call_all_hook( $args );
    }
 
    if ( ! isset( $wp_filter[ $tag ] ) ) {
        if ( isset( $wp_filter['all'] ) ) {
            array_pop( $wp_current_filter );
        }
        return $value;
    }
 
    if ( ! isset( $wp_filter['all'] ) ) {
        $wp_current_filter[] = $tag;
    }
 
    // Don't pass the tag name to WP_Hook.
    array_shift( $args );
 
    $filtered = $wp_filter[ $tag ]->apply_filters( $value, $args );
 
    array_pop( $wp_current_filter );
 
    return $filtered;
}
 
/**
 * Calls the callback functions that have been added to a filter hook, specifying arguments in an array.
 *
 * @since 3.0.0
 *
 * @see apply_filters() This function is identical, but the arguments passed to the
 * functions hooked to `$tag` are supplied using an array.
 *
 * @global array $wp_filter         Stores all of the filters and actions.
 * @global array $wp_current_filter Stores the list of current filters with the current one last.
 *
 * @param string $tag  The name of the filter hook.
 * @param array  $args The arguments supplied to the functions hooked to $tag.
 * @return mixed The filtered value after all hooked functions are applied to it.
/
home
/
nahicom
/
nahi.com
/
public
/
wp-includes
/
template-loader.php
            if ( 'is_attachment' === $tag ) {
                remove_filter( 'the_content', 'prepend_attachment' );
            }
 
            break;
        }
    }
 
    if ( ! $template ) {
        $template = get_index_template();
    }
 
    /**
     * Filters the path of the current template before including it.
     *
     * @since 3.0.0
     *
     * @param string $template The path of the template to include.
     */
    $template = apply_filters( 'template_include', $template );
    if ( $template ) {
        include $template;
    } elseif ( current_user_can( 'switch_themes' ) ) {
        $theme = wp_get_theme();
        if ( $theme->errors() ) {
            wp_die( $theme->errors() );
        }
    }
    return;
}
 
/
home
/
nahicom
/
nahi.com
/
public
/
wp-blog-header.php
<?php
/**
 * Loads the WordPress environment and template.
 *
 * @package WordPress
 */
 
if ( ! isset( $wp_did_header ) ) {
 
    $wp_did_header = true;
 
    // Load the WordPress library.
    require_once __DIR__ . '/wp-load.php';
 
    // Set up the WordPress query.
    wp();
 
    // Load the theme template.
    require_once ABSPATH . WPINC . '/template-loader.php';
 
}
 
Arguments
  1. "/home/nahicom/nahi.com/public/wp-includes/template-loader.php"
    
/
home
/
nahicom
/
nahi.com
/
public
/
index.php
<?php
/**
 * Front to the WordPress application. This file doesn't do anything, but loads
 * wp-blog-header.php which does and tells WordPress to load the theme.
 *
 * @package WordPress
 */
 
/**
 * Tells WordPress to load the WordPress theme and output it.
 *
 * @var bool
 */
define( 'WP_USE_THEMES', true );
 
/** Loads the WordPress Environment and Template */
require __DIR__ . '/wp-blog-header.php';
 
Arguments
  1. "/home/nahicom/nahi.com/public/wp-blog-header.php"
    

Environment & details:

empty
empty
empty
empty
empty
Key Value
SERVER_SOFTWARE
"nginx/1.18.0"
REQUEST_URI
"/inventory/"
USER
"nahicom"
HOME
"/home/nahicom"
HTTP_CONNECTION
"Keep-Alive"
HTTP_HOST
"nahi.com"
HTTP_ACCEPT_ENCODING
"br,gzip"
HTTP_ACCEPT_LANGUAGE
"en-US,en;q=0.5"
HTTP_ACCEPT
"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
HTTP_USER_AGENT
"CCBot/2.0 (https://commoncrawl.org/faq/)"
REDIRECT_STATUS
"200"
HTTPS
"on"
SERVER_NAME
"nahi.com"
SERVER_PORT
"443"
SERVER_ADDR
"69.55.235.55"
REMOTE_PORT
"34578"
REMOTE_ADDR
"18.215.33.158"
GATEWAY_INTERFACE
"CGI/1.1"
SERVER_PROTOCOL
"HTTP/1.1"
DOCUMENT_ROOT
"/home/nahicom/nahi.com/public"
DOCUMENT_URI
"/index.php"
SCRIPT_NAME
"/index.php"
SCRIPT_FILENAME
"/home/nahicom/nahi.com/public/index.php"
CONTENT_LENGTH
""
CONTENT_TYPE
""
REQUEST_METHOD
"GET"
QUERY_STRING
""
FCGI_ROLE
"RESPONDER"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1603716251.6587
REQUEST_TIME
1603716251
empty
0. Whoops\Handler\PrettyPageHandler