Deprecated: Return type of I::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/maisondeseditions/clubs/kirby/vendor/getkirby/toolkit/lib/i.php on line 62

Deprecated: Return type of I::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/maisondeseditions/clubs/kirby/vendor/getkirby/toolkit/lib/i.php on line 91

Deprecated: Return type of I::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/maisondeseditions/clubs/kirby/vendor/getkirby/toolkit/lib/i.php on line 71

Deprecated: Return type of I::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/maisondeseditions/clubs/kirby/vendor/getkirby/toolkit/lib/i.php on line 101

Deprecated: Return type of I::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/maisondeseditions/clubs/kirby/vendor/getkirby/toolkit/lib/i.php on line 53

Deprecated: Return type of Collection::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/maisondeseditions/clubs/kirby/vendor/getkirby/toolkit/lib/collection.php on line 80

Deprecated: Creation of dynamic property Site::$url is deprecated in /home/maisondeseditions/clubs/kirby/core/site.php on line 27

Deprecated: Return type of Whoops\Exception\FrameCollection::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/maisondeseditions/clubs/kirby/vendor/filp/whoops/src/Whoops/Exception/FrameCollection.php on line 101

Deprecated: Return type of Whoops\Exception\FrameCollection::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/maisondeseditions/clubs/kirby/vendor/filp/whoops/src/Whoops/Exception/FrameCollection.php on line 110

Deprecated: Return type of Whoops\Exception\FrameCollection::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/maisondeseditions/clubs/kirby/vendor/filp/whoops/src/Whoops/Exception/FrameCollection.php on line 119

Deprecated: Return type of Whoops\Exception\FrameCollection::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/maisondeseditions/clubs/kirby/vendor/filp/whoops/src/Whoops/Exception/FrameCollection.php on line 128

Deprecated: Return type of Whoops\Exception\FrameCollection::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/maisondeseditions/clubs/kirby/vendor/filp/whoops/src/Whoops/Exception/FrameCollection.php on line 92

Deprecated: Whoops\Exception\FrameCollection implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /home/maisondeseditions/clubs/kirby/vendor/filp/whoops/src/Whoops/Exception/FrameCollection.php on line 20
Kirby CMS Debugger
Whoops \ Exception \ ErrorException (E_DEPRECATED)
strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated Whoops\Exception\ErrorException thrown with message "strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated" Stacktrace: #7 Whoops\Exception\ErrorException in /home/maisondeseditions/clubs/kirby/vendor/getkirby/toolkit/lib/str.php:690 #6 strpos in /home/maisondeseditions/clubs/kirby/vendor/getkirby/toolkit/lib/str.php:690 #5 Str:startsWith in /home/maisondeseditions/clubs/site/plugins/imageset/lib/plugin.php:65 #4 Kirby\Plugins\ImageSet\Plugin:license in /home/maisondeseditions/clubs/site/plugins/imageset/imageset.php:85 #3 include_once in /home/maisondeseditions/clubs/kirby/kirby.php:426 #2 Kirby:plugin in /home/maisondeseditions/clubs/kirby/kirby.php:396 #1 Kirby:plugins in /home/maisondeseditions/clubs/kirby/kirby.php:691 #0 Kirby:launch in /home/maisondeseditions/clubs/index.php:16
Stack frames (8)
7
Whoops
\
Exception
\
ErrorException
…
/
vendor
/
getkirby
/
toolkit
/
lib
/
str.php
690
6
strpos
…
/
vendor
/
getkirby
/
toolkit
/
lib
/
str.php
690
5
Str
startsWith
/
home
/
maisondeseditions
/
clubs
/
site
/
plugins
/
imageset
/
lib
/
plugin.php
65
4
Kirby
\
Plugins
\
ImageSet
\
Plugin
license
/
home
/
maisondeseditions
/
clubs
/
site
/
plugins
/
imageset
/
imageset.php
85
3
include_once
…
/
kirby.php
426
2
Kirby
plugin
…
/
kirby.php
396
1
Kirby
plugins
…
/
kirby.php
691
0
Kirby
launch
/
home
/
maisondeseditions
/
clubs
/
index.php
16
/
home
/
maisondeseditions
/
clubs
/
kirby
/
vendor
/
getkirby
/
toolkit
/
lib
/
str.php
 
    header::download(array(
      'name' => $name ? $name : 'text.txt',
      'size' => static::length($string),
      'mime' => 'text/plain',
    ));
 
    die($string);
 
  }
 
  /**
   * Checks if a string starts with the passed needle
   *
   * @param string $string
   * @param string $needle
   * @return boolean
   */
  public static function startsWith($string, $needle) {
    return $needle === '' || strpos($string, $needle) === 0;
  }
 
  /**
   * Checks if a string ends with the passed needle
   *
   * @param string $string
   * @param string $needle
   * @return boolean
   */
  public static function endsWith($string, $needle) {
    return $needle === '' || static::substr($string, -static::length($needle)) === $needle;
  }
 
  /**
   * Get a character pool with various possible combinations
   *
   * @param  string  $type
   * @param  boolean $array
   * @return string
   */
/
home
/
maisondeseditions
/
clubs
/
kirby
/
vendor
/
getkirby
/
toolkit
/
lib
/
str.php
 
    header::download(array(
      'name' => $name ? $name : 'text.txt',
      'size' => static::length($string),
      'mime' => 'text/plain',
    ));
 
    die($string);
 
  }
 
  /**
   * Checks if a string starts with the passed needle
   *
   * @param string $string
   * @param string $needle
   * @return boolean
   */
  public static function startsWith($string, $needle) {
    return $needle === '' || strpos($string, $needle) === 0;
  }
 
  /**
   * Checks if a string ends with the passed needle
   *
   * @param string $string
   * @param string $needle
   * @return boolean
   */
  public static function endsWith($string, $needle) {
    return $needle === '' || static::substr($string, -static::length($needle)) === $needle;
  }
 
  /**
   * Get a character pool with various possible combinations
   *
   * @param  string  $type
   * @param  boolean $array
   * @return string
   */
/
home
/
maisondeseditions
/
clubs
/
site
/
plugins
/
imageset
/
lib
/
plugin.php
  
  public function license() {
    $key  = kirby()->option('imageset.license');
    $type = 'trial';
    
    /**
     * Hey there,
     * 
     * if you have digged deep into Kirby’s source code,
     * than you’ve probably stumbled across a similiar
     * message, asking you to be honest when using the
     * software. I ask you the same, if your intention is to
     * use ImageSet. Writing this plugin took a lot of time
     * and it hopefully saves you a lot of headaches.
     *
     * Anyway, have a nice day!
     *
     * Fabian
     */  
    if (str::startsWith($key, 'IMGST1') && str::length($key) === 39) {
      $type = 'ImageSet 1';
    } else {
      $key = null;
    }
    
    return new Obj(array(
      'key'   => $key,
      'type'  => $type,
    ));
  }
  
}
 
/
home
/
maisondeseditions
/
clubs
/
site
/
plugins
/
imageset
/
imageset.php
  }
}
 
// Register Snippet for ImageSet output. Can be overriden by
// placing a file called `imageset.php` within your snippets
// directory.
$kirby->set('snippet', 'imageset', __DIR__ . DS . 'snippets' . DS . 'imageset.php');
 
// Register image tag, if neither disabled in config nor
// overriden by a user-defined function.
if($kirby->option('imageset.tags.image') !== false && !file_exists($kirby->roots()->tags() . DS . 'image.php')) {
  require_once __DIR__ . DS . 'tags' . DS . 'image.php';
}
 
// Register style consolidator if enabled in options
if($kirby->option('imageset.styles.consolidate')) {
  $kirby->set('component', 'response', __NAMESPACE__ . '\\Component\\StylesConsolidatorResponse');
}
 
if(plugin::instance()->license()->type === 'trial') {
  $kirby->set('widget', 'imageset', __DIR__ . DS . 'widgets' . DS . 'imageset');
}
 
/
home
/
maisondeseditions
/
clubs
/
kirby
/
kirby.php
   * Loads a single plugin
   *
   * @param string $name
   * @param string $mode
   * @return mixed
   */
  public function plugin($name, $mode = 'dir') {
 
    if(isset($this->plugins[$name])) return $this->plugins[$name];
 
    if($mode == 'dir') {
      $file = $this->roots->plugins() . DS . $name . DS . $name . '.php';
    } else {
      $file = $this->roots->plugins() . DS . $name . '.php';
    }
 
    // make the kirby variable available in plugin files
    $kirby = $this;
 
    if(file_exists($file)) return $this->plugins[$name] = include_once($file);
 
    return false;
  
  }
 
  /**
   * Load all default extensions
   */
  public function extensions() {
 
    // load all kirby tags and field methods
    include_once(__DIR__ . DS . 'extensions' . DS . 'tags.php');
    include_once(__DIR__ . DS . 'extensions' . DS . 'methods.php');
 
    // install additional kirby tags
    kirbytext::install($this->roots->tags());
 
  }
 
  /**
/
home
/
maisondeseditions
/
clubs
/
kirby
/
kirby.php
   *
   * @return array
   */
  public function plugins() {
 
    // check for a cached plugins array
    if(!is_null($this->plugins)) return $this->plugins;
 
    // get the plugins root
    $root = $this->roots->plugins();
 
    // start the plugin registry
    $this->plugins = array();
 
    // check for an existing plugins dir
    if(!is_dir($root)) return $this->plugins;
 
    foreach(array_diff(scandir($root), array('.', '..')) as $file) {
      if(is_dir($root . DS . $file)) {
        $this->plugin($file, 'dir');
      } else if(f::extension($file) == 'php') {
        $this->plugin(f::name($file), 'file');
      }
    }
 
    return $this->plugins;
 
  }
 
  /**
   * Loads a single plugin
   *
   * @param string $name
   * @param string $mode
   * @return mixed
   */
  public function plugin($name, $mode = 'dir') {
 
    if(isset($this->plugins[$name])) return $this->plugins[$name];
 
/
home
/
maisondeseditions
/
clubs
/
kirby
/
kirby.php
    // start the error handler
    new ErrorHandling($this);
 
    // force secure connections if enabled
    if($this->option('ssl') and !r::secure()) {
      // rebuild the current url with https
      go(url::build(array('scheme' => 'https')));
    }
 
    // set the timezone for all date functions
    date_default_timezone_set($this->options['timezone']);
 
    // load all extensions
    $this->extensions();
 
    // load all models
    $this->models();
 
    // load all plugins
    $this->plugins();
 
    // start the router
    $this->router = new Router($this->routes());
    $this->route  = $this->router->run($this->path());
 
    // check for a valid route
    if(is_null($this->route)) {
      header::status('500');
      header::type('json');
      die(json_encode(array(
        'status'  => 'error',
        'message' => 'Invalid route or request method'
      )));
    }
 
    // call the router action with all arguments from the pattern
    $response = call($this->route->action(), $this->route->arguments());
 
    // load all language variables
    // this can only be loaded once the router action has been called
/
home
/
maisondeseditions
/
clubs
/
index.php
<?php
 
define('DS', DIRECTORY_SEPARATOR);
 
// load kirby
require(__DIR__ . DS . 'kirby' . DS . 'bootstrap.php');
 
// check for a custom site.php
if(file_exists(__DIR__ . DS . 'site.php')) {
  require(__DIR__ . DS . 'site.php');
} else {
  $kirby = kirby();
}
 
// render
echo $kirby->launch();

Environment & details:

Key Value
Kirby Toolkit v2.5.2
Kirby CMS v2.5.2
empty
empty
empty
empty
empty
Key Value
PHPRC /home/maisondeseditions/admin/config/php
PHP_VERSION 8.4
PWD /usr/bin
HOME /home/maisondeseditions
LANG en_US.UTF-8
SHLVL 0
LC_ALL en_US.UTF-8
PATH /home/maisondeseditions/.local/bin:/home/maisondeseditions/.local/share/gem/ruby/2.5.0/bin:/home/maisondeseditions/.gem/ruby/2.5.0/bin:/home/maisondeseditions/.composer/vendor/bin:/home/maisondeseditions/.npm-packages/bin:/usr/local/bin:/usr/bin:/bin
CONTENT_LENGTH 0
HTTP_CONNECTION close
HTTPS on
SCRIPT_NAME /index.php
REQUEST_URI /sitemap.xml
QUERY_STRING
REQUEST_METHOD GET
SERVER_PROTOCOL HTTP/1.1
GATEWAY_INTERFACE CGI/1.1
REDIRECT_URL /sitemap.xml
REMOTE_PORT 33400
SCRIPT_FILENAME /home/maisondeseditions/clubs/index.php
SERVER_ADMIN [no address given]
CONTEXT_DOCUMENT_ROOT /home/maisondeseditions/clubs/
CONTEXT_PREFIX
REQUEST_SCHEME https
DOCUMENT_ROOT /home/maisondeseditions/clubs/
REMOTE_ADDR 216.73.217.61
SERVER_PORT 443
SERVER_ADDR fd00::2:5fa1
SERVER_NAME clubs.maisondeseditions.fr
SERVER_SOFTWARE Apache
SERVER_SIGNATURE
HTTP_X_FORWARDED_PROTO https
HTTP_VIA 2.0 alproxy
HTTP_ACCEPT_ENCODING gzip, br, zstd, deflate
HTTP_USER_AGENT Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
HTTP_ACCEPT */*
HTTP_HOST clubs.maisondeseditions.fr
REDIRECT_STATUS 200
REDIRECT_LC_ALL en_US.UTF-8
REDIRECT_LANG en_US.UTF-8
REDIRECT_HOME /home/maisondeseditions
FCGI_ROLE RESPONDER
PHP_SELF /index.php
REQUEST_TIME_FLOAT 1791303684.3825
REQUEST_TIME 1791303684
argv Array ( )
argc 0
Key Value
PHPRC /home/maisondeseditions/admin/config/php
PHP_VERSION 8.4
PWD /usr/bin
HOME /home/maisondeseditions
LANG en_US.UTF-8
SHLVL 0
LC_ALL en_US.UTF-8
PATH /home/maisondeseditions/.local/bin:/home/maisondeseditions/.local/share/gem/ruby/2.5.0/bin:/home/maisondeseditions/.gem/ruby/2.5.0/bin:/home/maisondeseditions/.composer/vendor/bin:/home/maisondeseditions/.npm-packages/bin:/usr/local/bin:/usr/bin:/bin
CONTENT_LENGTH 0
HTTP_CONNECTION close
HTTPS on
SCRIPT_NAME /index.php
REQUEST_URI /sitemap.xml
QUERY_STRING
REQUEST_METHOD GET
SERVER_PROTOCOL HTTP/1.1
GATEWAY_INTERFACE CGI/1.1
REDIRECT_URL /sitemap.xml
REMOTE_PORT 33400
SCRIPT_FILENAME /home/maisondeseditions/clubs/index.php
SERVER_ADMIN [no address given]
CONTEXT_DOCUMENT_ROOT /home/maisondeseditions/clubs/
CONTEXT_PREFIX
REQUEST_SCHEME https
DOCUMENT_ROOT /home/maisondeseditions/clubs/
REMOTE_ADDR 216.73.217.61
SERVER_PORT 443
SERVER_ADDR fd00::2:5fa1
SERVER_NAME clubs.maisondeseditions.fr
SERVER_SOFTWARE Apache
SERVER_SIGNATURE
HTTP_X_FORWARDED_PROTO https
HTTP_VIA 2.0 alproxy
HTTP_ACCEPT_ENCODING gzip, br, zstd, deflate
HTTP_USER_AGENT Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
HTTP_ACCEPT */*
HTTP_HOST clubs.maisondeseditions.fr
REDIRECT_STATUS 200
REDIRECT_LC_ALL en_US.UTF-8
REDIRECT_LANG en_US.UTF-8
REDIRECT_HOME /home/maisondeseditions
FCGI_ROLE RESPONDER
0. Whoops\Handler\PrettyPageHandler