Beispiel #1
0
 /**
  * Modified inventory fetcher
  *
  * @return array
  */
 public function inventory()
 {
     $inventory = parent::inventory();
     $defaultLang = $this->site->defaultLanguage->code;
     $expression = '!(.*?)(\\.(' . implode('|', $this->site->languages->codes()) . ')|)\\.' . $this->site->options['content.file.extension'] . '$!i';
     foreach ($inventory['meta'] as $key => $meta) {
         $inventory['meta'][$key] = array($defaultLang => $meta);
     }
     foreach ($inventory['content'] as $key => $content) {
         preg_match($expression, $content, $match);
         $file = $match[1];
         $lang = isset($match[3]) ? $match[3] : $defaultLang;
         if (in_array($file, $inventory['files'])) {
             $inventory['meta'][$file][$lang] = $content;
         } else {
             $inventory['content'][$lang] = $content;
         }
         unset($inventory['content'][$key]);
     }
     return $inventory;
 }
Beispiel #2
0
 /**
  * Modified inventory fetcher
  *
  * @return array
  */
 public function inventory()
 {
     $inventory = parent::inventory();
     $defaultLang = $this->site->defaultLanguage->code;
     $expression = '!(.*?)(\\.(' . implode('|', $this->site->languages->codes()) . ')|)\\.' . $this->kirby->options['content.file.extension'] . '$!i';
     foreach ($inventory['meta'] as $key => $meta) {
         $inventory['meta'][$key] = array($defaultLang => $meta);
     }
     foreach ($inventory['content'] as $key => $content) {
         preg_match($expression, $content, $match);
         $file = $match[1];
         $lang = isset($match[3]) ? $match[3] : null;
         if (in_array($file, $inventory['files'])) {
             $inventory['meta'][$file][$lang] = $content;
         } else {
             if (is_null($lang)) {
                 $lang = f::extension($file);
                 if (empty($lang)) {
                     $lang = $defaultLang;
                 }
             }
             $inventory['content'][$lang] = $content;
         }
         unset($inventory['content'][$key]);
     }
     // try to fill the default language with something else
     if (!isset($inventory['content'][$defaultLang])) {
         $inventory['content'][$defaultLang] = a::first($inventory['content']);
     }
     return $inventory;
 }