Whoops \ Exception \ ErrorException (E_WARNING)
Whoops\Exception\ErrorException thrown with message "mysqli::query(): MySQL server has gone away" Stacktrace: #34 Whoops\Exception\ErrorException in /var/www/html/src/PMCOM/Core/Database.php:362 #33 mysqli:query in /var/www/html/src/PMCOM/Core/Database.php:362 #32 PMCOM\Core\Database:get in /var/www/html/src/PMCOM/Front/Category.php:315 #31 PMCOM\Front\Category:make_url in /var/www/html/src/PMCOM/Front/Category.php:253 #30 PMCOM\Front\Category:generate_url in /var/www/html/src/PMCOM/Core/Display.php:889 #29 PMCOM\Core\Display:_get_url in /var/www/html/src/PMCOM/Core/Display.php:1104 #28 call_user_func_array in /var/www/html/src/PMCOM/Core/Display.php:1104 #27 PMCOM\Core\Display:__callStatic in /var/www/html/src/PMCOM/Core/Display.php:853 #26 PMCOM\Core\Display:get_url in /var/www/html/src/PMCOM/Core/Display.php:853 #25 PMCOM\Core\Display:_get_menu_item_list in /var/www/html/src/PMCOM/Core/Display.php:1104 #24 call_user_func_array in /var/www/html/src/PMCOM/Core/Display.php:1104 #23 PMCOM\Core\Display:__callStatic in /var/www/html/src/PMCOM/Core/Display.php:854 #22 PMCOM\Core\Display:get_menu_item_list in /var/www/html/src/PMCOM/Core/Display.php:854 #21 PMCOM\Core\Display:_get_menu_item_list in /var/www/html/src/PMCOM/Core/Display.php:1104 #20 call_user_func_array in /var/www/html/src/PMCOM/Core/Display.php:1104 #19 PMCOM\Core\Display:__callStatic in /var/www/html/src/PMCOM/Core/Display.php:854 #18 PMCOM\Core\Display:get_menu_item_list in /var/www/html/src/PMCOM/Core/Display.php:854 #17 PMCOM\Core\Display:_get_menu_item_list in /var/www/html/src/PMCOM/Core/Display.php:1104 #16 call_user_func_array in /var/www/html/src/PMCOM/Core/Display.php:1104 #15 PMCOM\Core\Display:__callStatic in /var/www/html/src/PMCOM/Core/Display.php:806 #14 PMCOM\Core\Display:get_menu_item_list in /var/www/html/src/PMCOM/Core/Display.php:806 #13 PMCOM\Core\Display:_get_menu in /var/www/html/Facades/Display.php:25 #12 call_user_func_array in /var/www/html/Facades/Display.php:25 #11 Display:__callStatic in /var/www/html/themes/blank/footer.php:8 #10 Display:get_menu in /var/www/html/themes/blank/footer.php:8 #9 include in /var/www/html/src/PMCOM/Core/View.php:36 #8 PMCOM\Core\View:_load in /var/www/html/src/PMCOM/Core/View.php:163 #7 call_user_func_array in /var/www/html/src/PMCOM/Core/View.php:163 #6 PMCOM\Core\View:__callStatic in /var/www/html/src/PMCOM/Front/Product.php:634 #5 PMCOM\Core\View:load in /var/www/html/src/PMCOM/Front/Product.php:634 #4 PMCOM\Front\Product:view in /var/www/html/src/PMCOM/Core/Router.php:119 #3 PMCOM\Core\Router:_get_route in /var/www/html/src/PMCOM/Core/Router.php:163 #2 call_user_func_array in /var/www/html/src/PMCOM/Core/Router.php:163 #1 PMCOM\Core\Router:__callStatic in /var/www/html/index.php:101 #0 PMCOM\Core\Router:get_route in /var/www/html/index.php:101

mysqli::query(): MySQL server has gone away

Stack frames (35):
34 Whoops\Exception\ErrorException
…/­src/­PMCOM/­Core/­Database.php362
33 mysqli query
…/­src/­PMCOM/­Core/­Database.php362
32 PMCOM\Core\Database get
…/­src/­PMCOM/­Front/­Category.php315
31 PMCOM\Front\Category make_url
…/­src/­PMCOM/­Front/­Category.php253
30 PMCOM\Front\Category generate_url
…/­src/­PMCOM/­Core/­Display.php889
29 PMCOM\Core\Display _get_url
…/­src/­PMCOM/­Core/­Display.php1104
28 call_user_func_array
…/­src/­PMCOM/­Core/­Display.php1104
27 PMCOM\Core\Display __callStatic
…/­src/­PMCOM/­Core/­Display.php853
26 PMCOM\Core\Display get_url
…/­src/­PMCOM/­Core/­Display.php853
25 PMCOM\Core\Display _get_menu_item_list
…/­src/­PMCOM/­Core/­Display.php1104
24 call_user_func_array
…/­src/­PMCOM/­Core/­Display.php1104
23 PMCOM\Core\Display __callStatic
…/­src/­PMCOM/­Core/­Display.php854
22 PMCOM\Core\Display get_menu_item_list
…/­src/­PMCOM/­Core/­Display.php854
21 PMCOM\Core\Display _get_menu_item_list
…/­src/­PMCOM/­Core/­Display.php1104
20 call_user_func_array
…/­src/­PMCOM/­Core/­Display.php1104
19 PMCOM\Core\Display __callStatic
…/­src/­PMCOM/­Core/­Display.php854
18 PMCOM\Core\Display get_menu_item_list
…/­src/­PMCOM/­Core/­Display.php854
17 PMCOM\Core\Display _get_menu_item_list
…/­src/­PMCOM/­Core/­Display.php1104
16 call_user_func_array
…/­src/­PMCOM/­Core/­Display.php1104
15 PMCOM\Core\Display __callStatic
…/­src/­PMCOM/­Core/­Display.php806
14 PMCOM\Core\Display get_menu_item_list
…/­src/­PMCOM/­Core/­Display.php806
13 PMCOM\Core\Display _get_menu
…/­Facades/­Display.php25
12 call_user_func_array
…/­Facades/­Display.php25
11 Display __callStatic
…/­themes/­blank/­footer.php8
10 Display get_menu
…/­themes/­blank/­footer.php8
9 include
…/­src/­PMCOM/­Core/­View.php36
8 PMCOM\Core\View _load
…/­src/­PMCOM/­Core/­View.php163
7 call_user_func_array
…/­src/­PMCOM/­Core/­View.php163
6 PMCOM\Core\View __callStatic
…/­src/­PMCOM/­Front/­Product.php634
5 PMCOM\Core\View load
…/­src/­PMCOM/­Front/­Product.php634
4 PMCOM\Front\Product view
…/­src/­PMCOM/­Core/­Router.php119
3 PMCOM\Core\Router _get_route
…/­src/­PMCOM/­Core/­Router.php163
2 call_user_func_array
…/­src/­PMCOM/­Core/­Router.php163
1 PMCOM\Core\Router __callStatic
…/­index.php101
0 PMCOM\Core\Router get_route
…/­index.php101
/var/www/html/src/PMCOM/Core/Database.php
				else $query .= ' AND ';
				$query .= $field ." = '". self::$instance->real_escape_string( $value ) . "'";
			}
		}
 
		if( $order_by ) $query .= " ORDER BY $order_by";
		$query .= ' LIMIT 1';
 
		$this->nbQueries++;
		if( ! $result = self::$instance->query( $query ) ) {
			self::died( self::$instance->error, $query );
		}
		return $result->fetch_object();
	}
 
	/**
	 * Get all Items
	 *
	 * @param string $table The value of the table
	 * @return array of objects
/var/www/html/src/PMCOM/Core/Database.php
				else $query .= ' AND ';
				$query .= $field ." = '". self::$instance->real_escape_string( $value ) . "'";
			}
		}
 
		if( $order_by ) $query .= " ORDER BY $order_by";
		$query .= ' LIMIT 1';
 
		$this->nbQueries++;
		if( ! $result = self::$instance->query( $query ) ) {
			self::died( self::$instance->error, $query );
		}
		return $result->fetch_object();
	}
 
	/**
	 * Get all Items
	 *
	 * @param string $table The value of the table
	 * @return array of objects
cpt-obvious This frame is within function 'query'
/var/www/html/src/PMCOM/Front/Category.php
	*
	* generates a url
	*
	* @param int $id
	* @param string $url
	*
	*/
	function make_url($id, $url = '')
	{
		$cat = $this->database->get(self::$table, array('id' => $id));
 
		if(isset($cat->slug))
		{
			if($cat->parent_id <> 0)
			{
				$url = $this->make_url($cat->parent_id, $url);
			}
 
			$url .= $cat->slug.'/';
		}
cpt-obvious This frame is within function 'get'
/var/www/html/src/PMCOM/Front/Category.php
	* Generate Url
	*
	* generates a url
	*
	* @param int $id
	*
	*/
	function generate_url($id)
	{
		$url = $this->make_url($id);
		$url = BASE_URL .$url;
		return $url;
	}
 
	// ------------------------------------------------------------------------
 
	/**
	* Get
	*
	* gets category details
cpt-obvious This frame is within function 'make_url'
/var/www/html/src/PMCOM/Core/Display.php
			break;
 
			case 'page' :
				$page = new page();
				return $page->generate_url($item_id);
			break;
 
			case 'category' :
				$category = new category();
				return $category->generate_url($item_id);
			break;
 
			case 'product' :
				$product = new product();
				return $product->generate_url($item_id);
			break;
		}
	}
 
	/**
cpt-obvious This frame is within function 'generate_url'
/var/www/html/src/PMCOM/Core/Display.php
	 * @return [type]             [description]
	 */
 
	public static function __callStatic( $method, $parameters )
	{
		if( is_null( static::$instance ) )
		{
			static::$instance = new Display();
		}
		return call_user_func_array( array( static::$instance, '_' . $method ), $parameters );
	}
}
 
cpt-obvious This frame is within function '_get_url'
/var/www/html/src/PMCOM/Core/Display.php
	 * @return [type]             [description]
	 */
 
	public static function __callStatic( $method, $parameters )
	{
		if( is_null( static::$instance ) )
		{
			static::$instance = new Display();
		}
		return call_user_func_array( array( static::$instance, '_' . $method ), $parameters );
	}
}
 
cpt-obvious This frame is within function 'call_user_func_array'
/var/www/html/src/PMCOM/Core/Display.php
 
		$database = Database::getInstance();
		$current_level = $level;
		$next_level = $level + 1;
		$table = 'menu_items';
		$menu_items = $database->query("SELECT * FROM $table WHERE parent_id = $parent AND id <> $id AND menu_id = $menu_id ORDER BY `sort`");
		if( $current_level == 0 && ! $no_ul ) $list .= "\n".'<ul class="' . $attr_class . '" id="' . $attr_id . '">'. $ul_before . "\n";
		if( $current_level <> 0 ) $list .= "\n".'<ul>';
		foreach( $menu_items as $key => $item ) {
			$list .= '<li' . ( ! isset( $menu_items[$key+1] ) ? ' class="last-menu-item"' : ( $key === 0 ? ' class="first-menu-item"' : '' ) ) .'>' . $li_before . '<a href="'.self::get_url( $item->id, $item->type, $item->item_id, $item->link_url ).'">'.$item->name.'</a>';
			$list = self::get_menu_item_list( array( 'menu_id' => $menu_id, 'id' => $id, 'list' => $list, 'level' => $next_level, 'parent' => $item->id ) );
			$list .= $li_after;
			$list .= '</li>' . "\n";
		}
		if( $current_level <> 0 ) $list .= '</ul>' . "\n";
		if( $current_level == 0 && ! $no_ul ) $list .= $ul_after . '</ul>' . "\n";
 
		$list = str_replace( '<ul></ul>', '', $list );
		return $list;
	}
cpt-obvious This frame is within function '__callStatic'
/var/www/html/src/PMCOM/Core/Display.php
 
		$database = Database::getInstance();
		$current_level = $level;
		$next_level = $level + 1;
		$table = 'menu_items';
		$menu_items = $database->query("SELECT * FROM $table WHERE parent_id = $parent AND id <> $id AND menu_id = $menu_id ORDER BY `sort`");
		if( $current_level == 0 && ! $no_ul ) $list .= "\n".'<ul class="' . $attr_class . '" id="' . $attr_id . '">'. $ul_before . "\n";
		if( $current_level <> 0 ) $list .= "\n".'<ul>';
		foreach( $menu_items as $key => $item ) {
			$list .= '<li' . ( ! isset( $menu_items[$key+1] ) ? ' class="last-menu-item"' : ( $key === 0 ? ' class="first-menu-item"' : '' ) ) .'>' . $li_before . '<a href="'.self::get_url( $item->id, $item->type, $item->item_id, $item->link_url ).'">'.$item->name.'</a>';
			$list = self::get_menu_item_list( array( 'menu_id' => $menu_id, 'id' => $id, 'list' => $list, 'level' => $next_level, 'parent' => $item->id ) );
			$list .= $li_after;
			$list .= '</li>' . "\n";
		}
		if( $current_level <> 0 ) $list .= '</ul>' . "\n";
		if( $current_level == 0 && ! $no_ul ) $list .= $ul_after . '</ul>' . "\n";
 
		$list = str_replace( '<ul></ul>', '', $list );
		return $list;
	}
cpt-obvious This frame is within function 'get_url'
/var/www/html/src/PMCOM/Core/Display.php
	 * @return [type]             [description]
	 */
 
	public static function __callStatic( $method, $parameters )
	{
		if( is_null( static::$instance ) )
		{
			static::$instance = new Display();
		}
		return call_user_func_array( array( static::$instance, '_' . $method ), $parameters );
	}
}
 
cpt-obvious This frame is within function '_get_menu_item_list'
/var/www/html/src/PMCOM/Core/Display.php
	 * @return [type]             [description]
	 */
 
	public static function __callStatic( $method, $parameters )
	{
		if( is_null( static::$instance ) )
		{
			static::$instance = new Display();
		}
		return call_user_func_array( array( static::$instance, '_' . $method ), $parameters );
	}
}
 
cpt-obvious This frame is within function 'call_user_func_array'
/var/www/html/src/PMCOM/Core/Display.php
		$database = Database::getInstance();
		$current_level = $level;
		$next_level = $level + 1;
		$table = 'menu_items';
		$menu_items = $database->query("SELECT * FROM $table WHERE parent_id = $parent AND id <> $id AND menu_id = $menu_id ORDER BY `sort`");
		if( $current_level == 0 && ! $no_ul ) $list .= "\n".'<ul class="' . $attr_class . '" id="' . $attr_id . '">'. $ul_before . "\n";
		if( $current_level <> 0 ) $list .= "\n".'<ul>';
		foreach( $menu_items as $key => $item ) {
			$list .= '<li' . ( ! isset( $menu_items[$key+1] ) ? ' class="last-menu-item"' : ( $key === 0 ? ' class="first-menu-item"' : '' ) ) .'>' . $li_before . '<a href="'.self::get_url( $item->id, $item->type, $item->item_id, $item->link_url ).'">'.$item->name.'</a>';
			$list = self::get_menu_item_list( array( 'menu_id' => $menu_id, 'id' => $id, 'list' => $list, 'level' => $next_level, 'parent' => $item->id ) );
			$list .= $li_after;
			$list .= '</li>' . "\n";
		}
		if( $current_level <> 0 ) $list .= '</ul>' . "\n";
		if( $current_level == 0 && ! $no_ul ) $list .= $ul_after . '</ul>' . "\n";
 
		$list = str_replace( '<ul></ul>', '', $list );
		return $list;
	}
 
cpt-obvious This frame is within function '__callStatic'
/var/www/html/src/PMCOM/Core/Display.php
		$database = Database::getInstance();
		$current_level = $level;
		$next_level = $level + 1;
		$table = 'menu_items';
		$menu_items = $database->query("SELECT * FROM $table WHERE parent_id = $parent AND id <> $id AND menu_id = $menu_id ORDER BY `sort`");
		if( $current_level == 0 && ! $no_ul ) $list .= "\n".'<ul class="' . $attr_class . '" id="' . $attr_id . '">'. $ul_before . "\n";
		if( $current_level <> 0 ) $list .= "\n".'<ul>';
		foreach( $menu_items as $key => $item ) {
			$list .= '<li' . ( ! isset( $menu_items[$key+1] ) ? ' class="last-menu-item"' : ( $key === 0 ? ' class="first-menu-item"' : '' ) ) .'>' . $li_before . '<a href="'.self::get_url( $item->id, $item->type, $item->item_id, $item->link_url ).'">'.$item->name.'</a>';
			$list = self::get_menu_item_list( array( 'menu_id' => $menu_id, 'id' => $id, 'list' => $list, 'level' => $next_level, 'parent' => $item->id ) );
			$list .= $li_after;
			$list .= '</li>' . "\n";
		}
		if( $current_level <> 0 ) $list .= '</ul>' . "\n";
		if( $current_level == 0 && ! $no_ul ) $list .= $ul_after . '</ul>' . "\n";
 
		$list = str_replace( '<ul></ul>', '', $list );
		return $list;
	}
 
cpt-obvious This frame is within function 'get_menu_item_list'
/var/www/html/src/PMCOM/Core/Display.php
	 * @return [type]             [description]
	 */
 
	public static function __callStatic( $method, $parameters )
	{
		if( is_null( static::$instance ) )
		{
			static::$instance = new Display();
		}
		return call_user_func_array( array( static::$instance, '_' . $method ), $parameters );
	}
}
 
cpt-obvious This frame is within function '_get_menu_item_list'
/var/www/html/src/PMCOM/Core/Display.php
	 * @return [type]             [description]
	 */
 
	public static function __callStatic( $method, $parameters )
	{
		if( is_null( static::$instance ) )
		{
			static::$instance = new Display();
		}
		return call_user_func_array( array( static::$instance, '_' . $method ), $parameters );
	}
}
 
cpt-obvious This frame is within function 'call_user_func_array'
/var/www/html/src/PMCOM/Core/Display.php
		$database = Database::getInstance();
		$current_level = $level;
		$next_level = $level + 1;
		$table = 'menu_items';
		$menu_items = $database->query("SELECT * FROM $table WHERE parent_id = $parent AND id <> $id AND menu_id = $menu_id ORDER BY `sort`");
		if( $current_level == 0 && ! $no_ul ) $list .= "\n".'<ul class="' . $attr_class . '" id="' . $attr_id . '">'. $ul_before . "\n";
		if( $current_level <> 0 ) $list .= "\n".'<ul>';
		foreach( $menu_items as $key => $item ) {
			$list .= '<li' . ( ! isset( $menu_items[$key+1] ) ? ' class="last-menu-item"' : ( $key === 0 ? ' class="first-menu-item"' : '' ) ) .'>' . $li_before . '<a href="'.self::get_url( $item->id, $item->type, $item->item_id, $item->link_url ).'">'.$item->name.'</a>';
			$list = self::get_menu_item_list( array( 'menu_id' => $menu_id, 'id' => $id, 'list' => $list, 'level' => $next_level, 'parent' => $item->id ) );
			$list .= $li_after;
			$list .= '</li>' . "\n";
		}
		if( $current_level <> 0 ) $list .= '</ul>' . "\n";
		if( $current_level == 0 && ! $no_ul ) $list .= $ul_after . '</ul>' . "\n";
 
		$list = str_replace( '<ul></ul>', '', $list );
		return $list;
	}
 
cpt-obvious This frame is within function '__callStatic'
/var/www/html/src/PMCOM/Core/Display.php
		$database = Database::getInstance();
		$current_level = $level;
		$next_level = $level + 1;
		$table = 'menu_items';
		$menu_items = $database->query("SELECT * FROM $table WHERE parent_id = $parent AND id <> $id AND menu_id = $menu_id ORDER BY `sort`");
		if( $current_level == 0 && ! $no_ul ) $list .= "\n".'<ul class="' . $attr_class . '" id="' . $attr_id . '">'. $ul_before . "\n";
		if( $current_level <> 0 ) $list .= "\n".'<ul>';
		foreach( $menu_items as $key => $item ) {
			$list .= '<li' . ( ! isset( $menu_items[$key+1] ) ? ' class="last-menu-item"' : ( $key === 0 ? ' class="first-menu-item"' : '' ) ) .'>' . $li_before . '<a href="'.self::get_url( $item->id, $item->type, $item->item_id, $item->link_url ).'">'.$item->name.'</a>';
			$list = self::get_menu_item_list( array( 'menu_id' => $menu_id, 'id' => $id, 'list' => $list, 'level' => $next_level, 'parent' => $item->id ) );
			$list .= $li_after;
			$list .= '</li>' . "\n";
		}
		if( $current_level <> 0 ) $list .= '</ul>' . "\n";
		if( $current_level == 0 && ! $no_ul ) $list .= $ul_after . '</ul>' . "\n";
 
		$list = str_replace( '<ul></ul>', '', $list );
		return $list;
	}
 
cpt-obvious This frame is within function 'get_menu_item_list'
/var/www/html/src/PMCOM/Core/Display.php
	 * @return [type]             [description]
	 */
 
	public static function __callStatic( $method, $parameters )
	{
		if( is_null( static::$instance ) )
		{
			static::$instance = new Display();
		}
		return call_user_func_array( array( static::$instance, '_' . $method ), $parameters );
	}
}
 
cpt-obvious This frame is within function '_get_menu_item_list'
/var/www/html/src/PMCOM/Core/Display.php
	 * @return [type]             [description]
	 */
 
	public static function __callStatic( $method, $parameters )
	{
		if( is_null( static::$instance ) )
		{
			static::$instance = new Display();
		}
		return call_user_func_array( array( static::$instance, '_' . $method ), $parameters );
	}
}
 
cpt-obvious This frame is within function 'call_user_func_array'
/var/www/html/src/PMCOM/Core/Display.php
 
	/**
	 * [_get_menu description]
	 * @param  [type] $args [description]
	 * @return [type]       [description]
	 */
 
	public function _get_menu( $args )
	{
		echo self::get_menu_item_list( $args );
	}
 
	/**
	 * [_get_menu_as_array description]
	 * @param  [type] $args [description]
	 * @return [type]       [description]
	 */
	public function _get_menu_as_array( $menuId ) {
		$menu = \PMCOM\Models\Menu::findOrFail($menuId);
		return $menu->toArray();
cpt-obvious This frame is within function '__callStatic'
/var/www/html/src/PMCOM/Core/Display.php
 
	/**
	 * [_get_menu description]
	 * @param  [type] $args [description]
	 * @return [type]       [description]
	 */
 
	public function _get_menu( $args )
	{
		echo self::get_menu_item_list( $args );
	}
 
	/**
	 * [_get_menu_as_array description]
	 * @param  [type] $args [description]
	 * @return [type]       [description]
	 */
	public function _get_menu_as_array( $menuId ) {
		$menu = \PMCOM\Models\Menu::findOrFail($menuId);
		return $menu->toArray();
cpt-obvious This frame is within function 'get_menu_item_list'
/var/www/html/Facades/Display.php
	 * @return [type]             [description]
	 */
 
	public static function __callStatic( $method, $parameters )
	{
		if( is_null( static::$instance ) )
		{
			static::$instance = new PMCOM\Core\Display();
		}
		return call_user_func_array( array( static::$instance, '_' . $method ), $parameters );
	}
 
}
 
cpt-obvious This frame is within function '_get_menu'
/var/www/html/Facades/Display.php
	 * @return [type]             [description]
	 */
 
	public static function __callStatic( $method, $parameters )
	{
		if( is_null( static::$instance ) )
		{
			static::$instance = new PMCOM\Core\Display();
		}
		return call_user_func_array( array( static::$instance, '_' . $method ), $parameters );
	}
 
}
 
cpt-obvious This frame is within function 'call_user_func_array'
/var/www/html/themes/blank/footer.php
			<?php include __DIR__ . '/includes/footer_content.php'; ?>
		</div>
		<nav class="shifter-navigation">
			<ul id="mobile-menu-body">
				<li>
					<a href="/craft-model-and-hobby"><img src="<?php echo display::theme_directory(); ?>assets/images/red-ball.png" /> <span>Craft, Model &amp; Hobby</span></a>
					<ul>
						<?php display::get_menu( array( 'menu_id' => 4, 'no_ul' => true ) ); ?>
						<?php display::get_menu( array( 'menu_id' => 5, 'no_ul' => true ) ); ?>
						<?php display::get_menu( array( 'menu_id' => 6, 'no_ul' => true ) ); ?>
					</ul>
				</li>
				<li>
					<a href="/precision-engineering"><img src="<?php echo display::theme_directory(); ?>assets/images/green-ball.png" /> <span>Precision Engineering</span></a>
					<ul>
						<?php display::get_menu( array( 'menu_id' => 7, 'no_ul' => true ) ); ?>
						<?php display::get_menu( array( 'menu_id' => 8, 'no_ul' => true ) ); ?>
						<?php display::get_menu( array( 'menu_id' => 9, 'no_ul' => true ) ); ?>
					</ul>
				</li>
cpt-obvious This frame is within function '__callStatic'
/var/www/html/themes/blank/footer.php
			<?php include __DIR__ . '/includes/footer_content.php'; ?>
		</div>
		<nav class="shifter-navigation">
			<ul id="mobile-menu-body">
				<li>
					<a href="/craft-model-and-hobby"><img src="<?php echo display::theme_directory(); ?>assets/images/red-ball.png" /> <span>Craft, Model &amp; Hobby</span></a>
					<ul>
						<?php display::get_menu( array( 'menu_id' => 4, 'no_ul' => true ) ); ?>
						<?php display::get_menu( array( 'menu_id' => 5, 'no_ul' => true ) ); ?>
						<?php display::get_menu( array( 'menu_id' => 6, 'no_ul' => true ) ); ?>
					</ul>
				</li>
				<li>
					<a href="/precision-engineering"><img src="<?php echo display::theme_directory(); ?>assets/images/green-ball.png" /> <span>Precision Engineering</span></a>
					<ul>
						<?php display::get_menu( array( 'menu_id' => 7, 'no_ul' => true ) ); ?>
						<?php display::get_menu( array( 'menu_id' => 8, 'no_ul' => true ) ); ?>
						<?php display::get_menu( array( 'menu_id' => 9, 'no_ul' => true ) ); ?>
					</ul>
				</li>
cpt-obvious This frame is within function 'get_menu'
/var/www/html/src/PMCOM/Core/View.php
	{
		if( isset( $_GET['helpers'] ) ) {
			die( include Display::theme_path() . 'views/page/helpers.php' );
		}
		if(file_exists(Display::theme_path().'views/'.$view.'.php'))
		{
			if($data) extract($data);
			include Display::theme_path().'header.php';
			include Display::theme_path().'views/'.$view.'.php';
			include Display::theme_path().'footer.php';
		}
		elseif(file_exists(BASE_PATH.'views/'.$view.'.php'))
		{
			if($data) extract($data);
			include Display::theme_path().'header.php';
			include BASE_PATH.'views/'.$view.'.php';
			include Display::theme_path().'footer.php';
		}
		else
		{
cpt-obvious This frame is within function 'include'
/var/www/html/src/PMCOM/Core/View.php
	 * @return [type]             [description]
	 */
 
	public static function __callStatic( $method, $parameters )
	{
		if( is_null( static::$instance ) )
		{
			static::$instance = new View();
		}
		return call_user_func_array( array( static::$instance, '_' . $method ), $parameters );
	}
 
}
cpt-obvious This frame is within function '_load'
/var/www/html/src/PMCOM/Core/View.php
	 * @return [type]             [description]
	 */
 
	public static function __callStatic( $method, $parameters )
	{
		if( is_null( static::$instance ) )
		{
			static::$instance = new View();
		}
		return call_user_func_array( array( static::$instance, '_' . $method ), $parameters );
	}
 
}
cpt-obvious This frame is within function 'call_user_func_array'
/var/www/html/src/PMCOM/Front/Product.php
                }
                die('<p class="stock in misc"><i class="fa fa-check-circle"></i> In Stock</p>');
            }
 
		} else if( ! $product || ( ! $product->has_stock && ! $product->display_not_in_stock ) ) {
			View::show404();
		}
		else
		{
			View::load('product/view', $this->data);
		}
 
	}
 
	// ------------------------------------------------------------------------
 
	/**
	* Get Stock List
	*
	* Gets the items stock lisy
cpt-obvious This frame is within function '__callStatic'
/var/www/html/src/PMCOM/Front/Product.php
                }
                die('<p class="stock in misc"><i class="fa fa-check-circle"></i> In Stock</p>');
            }
 
		} else if( ! $product || ( ! $product->has_stock && ! $product->display_not_in_stock ) ) {
			View::show404();
		}
		else
		{
			View::load('product/view', $this->data);
		}
 
	}
 
	// ------------------------------------------------------------------------
 
	/**
	* Get Stock List
	*
	* Gets the items stock lisy
cpt-obvious This frame is within function 'load'
/var/www/html/src/PMCOM/Core/Router.php
					$method = array_reverse( $segments )[0];
				} elseif( $method === 'index' ) {
					$method = $class;
				}
 
				foreach( $controllers as $controller ) :
					try {
						$routed = $this->container->get( $controller );
						if( $routed->exists( $method ) ) :
							die( $routed->view( $method ) );
						endif;
					} catch( \Orno\Di\Exception\ReflectionException $e ) {}
				endforeach;
			endif;
		endif;
		// Show 404
		die( call_user_func_array( array( $this->container->get( 'PMCOM\Core\View' ), '_show404' ), $segments ) );
 
	}
 
cpt-obvious This frame is within function 'view'
/var/www/html/src/PMCOM/Core/Router.php
	 * @return [type]             [description]
	 */
 
	public static function __callStatic( $method, $parameters )
	{
		if( is_null( static::$instance ) )
		{
			static::$instance = new Router();
		}
		return call_user_func_array( array( static::$instance, '_' . $method ), $parameters );
	}
 
}
cpt-obvious This frame is within function '_get_route'
/var/www/html/src/PMCOM/Core/Router.php
	 * @return [type]             [description]
	 */
 
	public static function __callStatic( $method, $parameters )
	{
		if( is_null( static::$instance ) )
		{
			static::$instance = new Router();
		}
		return call_user_func_array( array( static::$instance, '_' . $method ), $parameters );
	}
 
}
cpt-obvious This frame is within function 'call_user_func_array'
/var/www/html/index.php
/*
|---------------------------------------------------------------
| LOAD THE ROUTES CLASS
|---------------------------------------------------------------
|
| And away we go...
|
*/
 
PMCOM\Core\Router::get_route( $container );
cpt-obvious This frame is within function '__callStatic'
/var/www/html/index.php
/*
|---------------------------------------------------------------
| LOAD THE ROUTES CLASS
|---------------------------------------------------------------
|
| And away we go...
|
*/
 
PMCOM\Core\Router::get_route( $container );
cpt-obvious This frame is within function 'get_route'

Environment & details:

empty
empty
empty
empty
empty
Key Value
REDIRECT_SCRIPT_URL
"/craft-model-and-hobby/airbrushing/airbrush-stencils/spraycraft-adhesive-stencil-elf/"
REDIRECT_SCRIPT_URI
"https://www.shesto.co.uk/craft-model-and-hobby/airbrushing/airbrush-stencils/spraycraft-adhesive-stencil-elf/"
REDIRECT_HTTPS
"on"
REDIRECT_STATUS
"200"
SCRIPT_URL
"/craft-model-and-hobby/airbrushing/airbrush-stencils/spraycraft-adhesive-stencil-elf/"
SCRIPT_URI
"https://www.shesto.co.uk/craft-model-and-hobby/airbrushing/airbrush-stencils/spraycraft-adhesive-stencil-elf/"
HTTPS
"on"
HTTP_USER_AGENT
"CCBot/2.0 (https://commoncrawl.org/faq/)"
HTTP_ACCEPT
"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
HTTP_ACCEPT_LANGUAGE
"en-US,en;q=0.5"
HTTP_IF_MODIFIED_SINCE
"Wed, 29 Jan 2020 08:40:16 GMT"
HTTP_ACCEPT_ENCODING
"br,gzip"
HTTP_HOST
"www.shesto.co.uk"
HTTP_CONNECTION
"Keep-Alive"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
SERVER_SIGNATURE
"<address>Apache/2.4.29 (Ubuntu) Server at www.shesto.co.uk Port 443</address>\n"
SERVER_SOFTWARE
"Apache/2.4.29 (Ubuntu)"
SERVER_NAME
"www.shesto.co.uk"
SERVER_ADDR
"104.248.173.198"
SERVER_PORT
"443"
REMOTE_ADDR
"3.237.94.109"
DOCUMENT_ROOT
"/var/www/html/"
REQUEST_SCHEME
"https"
CONTEXT_PREFIX
""
CONTEXT_DOCUMENT_ROOT
"/var/www/html/"
SERVER_ADMIN
"[no address given]"
SCRIPT_FILENAME
"/var/www/html/index.php"
REMOTE_PORT
"49692"
REDIRECT_URL
"/craft-model-and-hobby/airbrushing/airbrush-stencils/spraycraft-adhesive-stencil-elf/"
GATEWAY_INTERFACE
"CGI/1.1"
SERVER_PROTOCOL
"HTTP/1.1"
REQUEST_METHOD
"GET"
QUERY_STRING
""
REQUEST_URI
"/craft-model-and-hobby/airbrushing/airbrush-stencils/spraycraft-adhesive-stencil-elf/"
SCRIPT_NAME
"/index.php"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1601191462.43
REQUEST_TIME
1601191462
empty
0. PMCOM\Core\PurposeHandler
1. Whoops\Handler\CallbackHandler