mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2025-06-28 04:30:08 +02:00
Added an PHP CS fixer config file and applied it to files.
We now use the same the same style as the symfony project, and it allows us to simply fix the style by executing php_cs_fixer fix in the project root.
This commit is contained in:
parent
89258bc102
commit
e557bdedd5
210 changed files with 2099 additions and 2742 deletions
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* This file is part of Part-DB (https://github.com/Part-DB/Part-DB-symfony)
|
||||
* This file is part of Part-DB (https://github.com/Part-DB/Part-DB-symfony).
|
||||
*
|
||||
* Copyright (C) 2019 Jan Böhmer (https://github.com/jbtronics)
|
||||
*
|
||||
|
@ -17,26 +17,21 @@
|
|||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*
|
||||
*/
|
||||
|
||||
namespace App\Command;
|
||||
|
||||
use App\Services\Attachments\AttachmentManager;
|
||||
use App\Services\Attachments\AttachmentReverseSearch;
|
||||
use App\Services\Attachments\AttachmentPathResolver;
|
||||
use App\Services\Attachments\AttachmentReverseSearch;
|
||||
use Symfony\Component\Console\Command\Command;
|
||||
use Symfony\Component\Console\Helper\Table;
|
||||
use Symfony\Component\Console\Input\InputArgument;
|
||||
use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Input\InputOption;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
use Symfony\Component\Console\Style\SymfonyStyle;
|
||||
use Symfony\Component\Filesystem\Filesystem;
|
||||
use Symfony\Component\Finder\Finder;
|
||||
use Symfony\Component\Mime\FileinfoMimeTypeGuesser;
|
||||
use Symfony\Component\Mime\MimeTypes;
|
||||
use Symfony\Component\Mime\MimeTypesInterface;
|
||||
|
||||
class CleanAttachmentsCommand extends Command
|
||||
{
|
||||
|
@ -69,9 +64,9 @@ class CleanAttachmentsCommand extends Command
|
|||
$io = new SymfonyStyle($input, $output);
|
||||
|
||||
$mediaPath = $this->pathResolver->getMediaPath();
|
||||
$io->note("The media path is " . $mediaPath);
|
||||
$io->note('The media path is '.$mediaPath);
|
||||
$securePath = $this->pathResolver->getSecurePath();
|
||||
$io->note("The secure media path is ". $securePath);
|
||||
$io->note('The secure media path is '.$securePath);
|
||||
|
||||
$finder = new Finder();
|
||||
//We look for files in the media folder only
|
||||
|
@ -81,7 +76,7 @@ class CleanAttachmentsCommand extends Command
|
|||
|
||||
$fs = new Filesystem();
|
||||
|
||||
$file_list = array();
|
||||
$file_list = [];
|
||||
|
||||
$table = new Table($output);
|
||||
$table->setHeaders(['Filename', 'MIME Type', 'Last modified date']);
|
||||
|
@ -89,20 +84,20 @@ class CleanAttachmentsCommand extends Command
|
|||
|
||||
foreach ($finder as $file) {
|
||||
//If not attachment object uses this file, print it
|
||||
if (count($this->reverseSearch->findAttachmentsByFile($file)) == 0) {
|
||||
if (0 == \count($this->reverseSearch->findAttachmentsByFile($file))) {
|
||||
$file_list[] = $file;
|
||||
$table->addRow([
|
||||
$fs->makePathRelative($file->getPathname(), $mediaPath),
|
||||
$this->mimeTypeGuesser->guessMimeType($file->getPathname()),
|
||||
$dateformatter->format($file->getMTime())
|
||||
$dateformatter->format($file->getMTime()),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
if (count($file_list) > 0) {
|
||||
if (\count($file_list) > 0) {
|
||||
$table->render();
|
||||
|
||||
$continue = $io->confirm(sprintf("Found %d abandoned files. Do you want to delete them? This can not be undone!", count($file_list)), false);
|
||||
$continue = $io->confirm(sprintf('Found %d abandoned files. Do you want to delete them? This can not be undone!', \count($file_list)), false);
|
||||
|
||||
if (!$continue) {
|
||||
//We are finished here, when no files should be deleted
|
||||
|
@ -114,27 +109,26 @@ class CleanAttachmentsCommand extends Command
|
|||
//Delete empty folders:
|
||||
$this->removeEmptySubFolders($mediaPath);
|
||||
|
||||
$io->success("All abandoned files were removed.");
|
||||
|
||||
$io->success('All abandoned files were removed.');
|
||||
} else {
|
||||
$io->success("No abandoned files found.");
|
||||
$io->success('No abandoned files found.');
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* This function removes all empty folders inside $path. Taken from https://stackoverflow.com/a/1833681
|
||||
* This function removes all empty folders inside $path. Taken from https://stackoverflow.com/a/1833681.
|
||||
*
|
||||
* @param string $path The path in which the empty folders should be deleted
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
protected function removeEmptySubFolders($path)
|
||||
{
|
||||
$empty=true;
|
||||
foreach (glob($path . DIRECTORY_SEPARATOR . "*") as $file)
|
||||
{
|
||||
$empty = true;
|
||||
foreach (glob($path.\DIRECTORY_SEPARATOR.'*') as $file) {
|
||||
$empty &= is_dir($file) && $this->removeEmptySubFolders($file);
|
||||
}
|
||||
|
||||
return $empty && rmdir($path);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* This file is part of Part-DB (https://github.com/Part-DB/Part-DB-symfony)
|
||||
* This file is part of Part-DB (https://github.com/Part-DB/Part-DB-symfony).
|
||||
*
|
||||
* Copyright (C) 2019 Jan Böhmer (https://github.com/jbtronics)
|
||||
*
|
||||
|
@ -17,12 +17,10 @@
|
|||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*
|
||||
*/
|
||||
|
||||
namespace App\Command;
|
||||
|
||||
|
||||
use App\Entity\Attachments\AttachmentType;
|
||||
use App\Entity\Base\NamedDBElement;
|
||||
use App\Entity\Devices\Device;
|
||||
|
@ -45,13 +43,12 @@ use Symfony\Component\PropertyAccess\PropertyAccessorInterface;
|
|||
|
||||
/**
|
||||
* This command converts the BBCode used by old Part-DB versions (<1.0), to the current used markdown format.
|
||||
* @package App\Command
|
||||
*/
|
||||
class ConvertBBCodeCommand extends Command
|
||||
{
|
||||
/** @var string The LIKE criteria used to detect on SQL server if a entry contains BBCode */
|
||||
protected const BBCODE_CRITERIA = "%[%]%[/%]%";
|
||||
/** @var string The regex (performed in PHP) used to check if a property really contains BBCODE */
|
||||
protected const BBCODE_CRITERIA = '%[%]%[/%]%';
|
||||
/** @var string The regex (performed in PHP) used to check if a property really contains BBCODE */
|
||||
protected const BBCODE_REGEX = '/\\[.+\\].*\\[\\/.+\\]/';
|
||||
|
||||
protected static $defaultName = 'app:convert-bbcode';
|
||||
|
@ -83,9 +80,10 @@ class ConvertBBCodeCommand extends Command
|
|||
|
||||
/**
|
||||
* Returns a list which entities and which properties need to be checked.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
protected function getTargetsLists() : array
|
||||
protected function getTargetsLists(): array
|
||||
{
|
||||
return [
|
||||
Part::class => ['description', 'comment'],
|
||||
|
@ -120,19 +118,19 @@ class ConvertBBCodeCommand extends Command
|
|||
->select('e');
|
||||
//Add fields criteria
|
||||
foreach ($properties as $key => $property) {
|
||||
$qb->orWhere('e.' . $property . ' LIKE ?' . $key);
|
||||
$qb->orWhere('e.'.$property.' LIKE ?'.$key);
|
||||
$qb->setParameter($key, static::BBCODE_CRITERIA);
|
||||
}
|
||||
|
||||
//Fetch resulting classes
|
||||
$results = $qb->getQuery()->getResult();
|
||||
$io->note(sprintf('Found %d entities, that need to be converted!', count($results)));
|
||||
$io->note(sprintf('Found %d entities, that need to be converted!', \count($results)));
|
||||
|
||||
//In verbose mode print the names of the entities
|
||||
foreach ($results as $result) {
|
||||
/** @var NamedDBElement $result */
|
||||
/* @var NamedDBElement $result */
|
||||
$io->writeln(
|
||||
'Convert entity: ' . $result->getName() . ' (' . $result->getIDString() . ')',
|
||||
'Convert entity: '.$result->getName().' ('.$result->getIDString().')',
|
||||
OutputInterface::VERBOSITY_VERBOSE
|
||||
);
|
||||
foreach ($properties as $property) {
|
||||
|
@ -144,19 +142,18 @@ class ConvertBBCodeCommand extends Command
|
|||
}
|
||||
$io->writeln(
|
||||
'BBCode (old): '
|
||||
. str_replace('\n', ' ', substr($bbcode, 0, 255)),
|
||||
.str_replace('\n', ' ', substr($bbcode, 0, 255)),
|
||||
OutputInterface::VERBOSITY_VERY_VERBOSE
|
||||
);
|
||||
$markdown = $this->converter->convert($bbcode);
|
||||
$io->writeln(
|
||||
'Markdown (new): '
|
||||
. str_replace('\n', ' ', substr($markdown, 0, 255)),
|
||||
.str_replace('\n', ' ', substr($markdown, 0, 255)),
|
||||
OutputInterface::VERBOSITY_VERY_VERBOSE
|
||||
);
|
||||
$io->writeln('', OutputInterface::VERBOSITY_VERY_VERBOSE);
|
||||
$this->propertyAccessor->setValue($result, $property, $markdown);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -166,6 +163,4 @@ class ConvertBBCodeCommand extends Command
|
|||
$io->success('Changes saved to DB successfully!');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* This file is part of Part-DB (https://github.com/Part-DB/Part-DB-symfony)
|
||||
* This file is part of Part-DB (https://github.com/Part-DB/Part-DB-symfony).
|
||||
*
|
||||
* Copyright (C) 2019 Jan Böhmer (https://github.com/jbtronics)
|
||||
*
|
||||
|
@ -17,7 +17,6 @@
|
|||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*
|
||||
*/
|
||||
|
||||
namespace App\Command;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* This file is part of Part-DB (https://github.com/Part-DB/Part-DB-symfony)
|
||||
* This file is part of Part-DB (https://github.com/Part-DB/Part-DB-symfony).
|
||||
*
|
||||
* Copyright (C) 2019 Jan Böhmer (https://github.com/jbtronics)
|
||||
*
|
||||
|
@ -17,15 +17,12 @@
|
|||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*
|
||||
*/
|
||||
|
||||
namespace App\Command;
|
||||
|
||||
use App\Entity\PriceInformations\Currency;
|
||||
use App\Form\AdminPages\CurrencyAdminForm;
|
||||
use Doctrine\ORM\EntityManagerInterface;
|
||||
use PHPUnit\Runner\Exception;
|
||||
use Swap\Builder;
|
||||
use Swap\Swap;
|
||||
use Symfony\Component\Console\Command\Command;
|
||||
|
@ -70,12 +67,13 @@ class UpdateExchangeRatesCommand extends Command
|
|||
$io = new SymfonyStyle($input, $output);
|
||||
|
||||
//Check for valid base current
|
||||
if (strlen($this->base_current) !== 3) {
|
||||
$io->error("Choosen Base current is not valid. Check your settings!");
|
||||
if (3 !== \strlen($this->base_current)) {
|
||||
$io->error('Choosen Base current is not valid. Check your settings!');
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$io->note('Update currency exchange rates with base currency: ' . $this->base_current);
|
||||
$io->note('Update currency exchange rates with base currency: '.$this->base_current);
|
||||
|
||||
$service = $input->getOption('service');
|
||||
$api_key = $input->getOption('api_key');
|
||||
|
@ -88,7 +86,7 @@ class UpdateExchangeRatesCommand extends Command
|
|||
//Check what currencies we need to update:
|
||||
$iso_code = $input->getArgument('iso_code');
|
||||
$repo = $this->em->getRepository(Currency::class);
|
||||
$candidates = array();
|
||||
$candidates = [];
|
||||
|
||||
if (!empty($iso_code)) {
|
||||
$candidates = $repo->findBy(['iso_code' => $iso_code]);
|
||||
|
@ -101,22 +99,21 @@ class UpdateExchangeRatesCommand extends Command
|
|||
//Iterate over each candidate and update exchange rate
|
||||
foreach ($candidates as $currency) {
|
||||
try {
|
||||
$rate = $swap->latest($currency->getIsoCode() . '/' . $this->base_current);
|
||||
$rate = $swap->latest($currency->getIsoCode().'/'.$this->base_current);
|
||||
$currency->setExchangeRate($rate->getValue());
|
||||
$io->note(sprintf('Set exchange rate of %s to %f', $currency->getIsoCode(), $currency->getExchangeRate()));
|
||||
$this->em->persist($currency);
|
||||
|
||||
$success_counter++;
|
||||
++$success_counter;
|
||||
} catch (\Exchanger\Exception\Exception $ex) {
|
||||
$io->warning(sprintf('Error updating %s:', $currency->getIsoCode()));
|
||||
$io->warning($ex->getMessage());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//Save to database
|
||||
$this->em->flush();
|
||||
|
||||
$io->success(sprintf('%d (of %d) currency exchange rates were updated.', $success_counter, count($candidates)));
|
||||
$io->success(sprintf('%d (of %d) currency exchange rates were updated.', $success_counter, \count($candidates)));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue