diff --git a/Wikipage.php b/Wikipage.php index 26fa995..1fd855b 100644 --- a/Wikipage.php +++ b/Wikipage.php @@ -49,20 +49,31 @@ class Wikipage { $this->covername = $slugify->slugify($this->game->title, '_').'.'.$extension; } - $this->makeContent(); - - $exists = $this->exists($this->game->title); + $pagetitle = strtr($this->game->title, [ + '|' => '-' + ]); + $exists = $this->exists($pagetitle); if (!$config['DUMMY'] && !$exists) { if (!empty($this->game->image)) { if ($this->services->newPageGetter()->getFromTitle($this->covername)) { $image = file_get_contents($this->game->image); file_put_contents($filename, $image); - $this->fileUploader->upload($this->covername, $filename); + $extension = mime_content_type($filename); + if (strpos($extension, 'image') !== FALSE) { + $extension = str_replace('image/', '', $extension); + $this->covername = $slugify->slugify($this->game->title, '_').'.'.$extension; + $this->fileUploader->upload($this->covername, $filename); + } unlink($filename); } } + } + + $this->makeContent(); + + if (!$config['DUMMY'] && !$exists) { $newContent = new Content( $this->content ); - $title = new Title($this->game->title); + $title = new Title($pagetitle); $identifier = new PageIdentifier($title); $revision = new Revision($newContent, $identifier); $this->services->newRevisionSaver()->save($revision);