Обновляем зависимости, чиним ошибки продакшена

This commit is contained in:
Alexander Yakovlev 2023-11-15 17:01:20 +06:00
parent e1813ad856
commit fb30646691
3 changed files with 649 additions and 757 deletions

View file

@ -18,22 +18,17 @@
*/
namespace App;
use Addwiki\Mediawiki\Api\Client\Action\MediawikiApi;
use Addwiki\Mediawiki\Api\Client\Auth\UserAndPassword;
use Addwiki\Mediawiki\Api\MediawikiFactory;
use Addwiki\Mediawiki\DataModel\Content;
use Addwiki\Mediawiki\DataModel\Title;
use Addwiki\Mediawiki\DataModel\PageIdentifier;
use Addwiki\Mediawiki\DataModel\Revision;
use Wikimate;
use Illuminate\Support\Str;
use App\Models\Language;
class Wikipage {
protected $game;
/**
* @var Wikimate
**/
protected $api;
protected $services;
protected $content;
protected $fileUploader;
protected $covername;
public function __construct($game) {
@ -42,12 +37,9 @@ class Wikipage {
if (!env('APP_DEBUG') && !empty(env('WIKI'))) {
try {
// Log in to a wiki
$auth = new UserAndPassword( env('WIKIUSER'), env('WIKIPASSWORD') );
$api = MediawikiApi::newFromPage( env('WIKI'), $auth );
$services = new MediawikiFactory( $api );
$this->api = $api;
$this->services = $services;
$this->fileUploader = $services->newFileUploader();
$wiki = new Wikimate(env('WIKI'));
$wiki->login(env('WIKIUSER'), env('WIKIPASSWORD'));
$this->api = $wiki;
} catch (\Exception $e) {
echo 'Ошибка соединения.'.PHP_EOL;
echo $e->getMessage();
@ -88,16 +80,11 @@ class Wikipage {
$exists = $this->exists($pagetitle);
if (!env('APP_DEBUG') && !$exists) {
if (!empty($this->game->image_url) && isset($filename)) {
if ($this->services->newPageGetter()->getFromTitle($this->covername)) {
if (!$this->api->getFile($this->covername)->exists()) {
try {
$image = file_get_contents($this->game->image_url);
file_put_contents($filename, $image);
$extension = mime_content_type($filename);
if (strpos($extension, 'image') !== FALSE) {
$extension = str_replace('image/', '', $extension);
$this->covername = Str::slug($this->game->title, '_').'.'.$extension;
$this->fileUploader->upload($this->covername, $filename);
}
$this->api->uploadFile($filename, $this->covername);
unlink($filename);
} catch (\Exception $e) {
echo '(Обложка не найдена)'.PHP_EOL;
@ -109,11 +96,8 @@ class Wikipage {
$this->makeContent();
if (!env('APP_DEBUG') && !$exists) {
$newContent = new Content( $this->content );
$title = new Title($pagetitle);
$identifier = new PageIdentifier($title);
$revision = new Revision($newContent, $identifier);
$this->services->newRevisionSaver()->save($revision);
$page = $this->api->getPage($pagetitle);
$page->setText($this->content);
return true;
} else {
if ($exists) {
@ -210,7 +194,7 @@ class Wikipage {
if (env('APP_DEBUG') || empty(env('WIKI'))) {
return false;
}
$page = $this->services->newPageGetter()->getFromTitle((string) $pagename);
return !($page->getId() === 0);
$page = $this->api->getPage((string) $pagename);
return $page->exists();
}
}

View file

@ -17,14 +17,13 @@
],
"require": {
"php": "^8.1",
"addwiki/mediawiki-api": "^3.0",
"addwiki/mediawiki-api-base": "^3.0.0",
"doctrine/dbal": "^2.10",
"doctrine/dbal": "^3.0",
"guzzlehttp/guzzle": "^7.0.1",
"laravel/framework": "^9.0",
"hamstar/wikimate": "^1.1",
"laravel/framework": "^10.0",
"laravel/tinker": "^2.5",
"longman/telegram-bot": "dev-master",
"revolution/laravel-mastodon-api": "dev-master",
"longman/telegram-bot": "0.82.0",
"revolution/laravel-mastodon-api": "3.0.3",
"ryakad/pandoc-php": "^1.0",
"sabre/xml": "^2.0",
"symfony/css-selector": "^5.0",
@ -35,9 +34,9 @@
"fakerphp/faker": "^1.9.1",
"laravel/sail": "^1.0.1",
"mockery/mockery": "^1.4.2",
"nunomaduro/collision": "^6.0",
"nunomaduro/collision": "^7.0",
"nunomaduro/larastan": "^2.0",
"phpunit/phpunit": "^9.3.3"
"phpunit/phpunit": "^10.0"
},
"autoload": {
"psr-4": {
@ -73,6 +72,6 @@
"preferred-install": "dist",
"sort-packages": true
},
"minimum-stability": "dev",
"minimum-stability": "stable",
"prefer-stable": true
}

1347
composer.lock generated

File diff suppressed because it is too large Load diff