progress in repservice
This commit is contained in:
parent
151f6f2c17
commit
37fdd5029b
|
@ -113,4 +113,4 @@
|
|||
"symfony/stopwatch": "6.2.*",
|
||||
"symfony/web-profiler-bundle": "6.2.*"
|
||||
}
|
||||
}
|
||||
}
|
799
hesabixCore/composer.lock
generated
799
hesabixCore/composer.lock
generated
File diff suppressed because it is too large
Load diff
|
@ -39,6 +39,7 @@ class BusinessController extends AbstractController
|
|||
$buss = $entityManager->getRepository(Permission::class)->findBy(['user' => $user]);
|
||||
$response = [];
|
||||
foreach ($buss as $bus) {
|
||||
//echo $bus->getBid()->getId();
|
||||
$temp = [];
|
||||
$temp['id'] = $bus->getBid()->getId();
|
||||
$temp['owner'] = $bus->getBid()->getOwner()->getFullName();
|
||||
|
@ -459,6 +460,7 @@ class BusinessController extends AbstractController
|
|||
'plugAccproRfsell' => true,
|
||||
'plugAccproRfbuy' => true,
|
||||
'plugAccproCloseYear' => true,
|
||||
'plugRepservice' => true,
|
||||
];
|
||||
} elseif ($perm) {
|
||||
$result = [
|
||||
|
@ -498,6 +500,7 @@ class BusinessController extends AbstractController
|
|||
'plugAccproRfsell' => $perm->isPlugAccproRfsell(),
|
||||
'plugAccproRfbuy' => $perm->isPlugAccproRfbuy(),
|
||||
'plugAccproCloseYear' => $perm->isPlugAccproCloseYear(),
|
||||
'plugRepservice' => $perm->isPlugRepservice(),
|
||||
];
|
||||
}
|
||||
return $this->json($result);
|
||||
|
@ -565,6 +568,7 @@ class BusinessController extends AbstractController
|
|||
$perm->setPlugAccproRfbuy($params['plugAccproRfbuy']);
|
||||
$perm->setPlugAccproRfsell($params['plugAccproRfsell']);
|
||||
$perm->setPlugAccproAccounting($params['plugAccproAccounting']);
|
||||
$perm->setPlugRepservice($params['plugRepservice']);
|
||||
$entityManager->persist($perm);
|
||||
$entityManager->flush();
|
||||
$log->insert('تنظیمات پایه', 'ویرایش دسترسیهای کاربر با پست الکترونیکی ' . $user->getEmail(), $this->getUser(), $business);
|
||||
|
|
|
@ -0,0 +1,99 @@
|
|||
<?php
|
||||
|
||||
namespace App\Controller\Plugins;
|
||||
|
||||
use App\Service\Log;
|
||||
use App\Service\SMS;
|
||||
use App\Entity\Person;
|
||||
use App\Service\Access;
|
||||
use App\Entity\Commodity;
|
||||
use App\Service\Provider;
|
||||
use App\Service\Extractor;
|
||||
use App\Service\registryMGR;
|
||||
use App\Entity\PlugRepserviceOrder;
|
||||
use App\Entity\PlugRepserviceOrderState;
|
||||
use Doctrine\ORM\EntityManagerInterface;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\Routing\Annotation\Route;
|
||||
use Symfony\Component\HttpFoundation\JsonResponse;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
|
||||
class PlugRepserviceController extends AbstractController
|
||||
{
|
||||
#[Route('/api/plug/repservice/order/mod', name: 'app_plug_repservice_order_mod')]
|
||||
public function app_plug_repservice_order_mod(Provider $provider, registryMGR $registryMGR, SMS $sms, Log $log, EntityManagerInterface $entityManagerInterface, Access $access, Request $request, Extractor $extractor): JsonResponse
|
||||
{
|
||||
$acc = $access->hasRole('plugRepservice');
|
||||
if (!$acc)
|
||||
throw $this->createAccessDeniedException();
|
||||
$params = [];
|
||||
if ($content = $request->getContent()) {
|
||||
$params = json_decode($content, true);
|
||||
}
|
||||
if (
|
||||
!array_key_exists('commodity', $params) ||
|
||||
!array_key_exists('des', $params) ||
|
||||
!array_key_exists('pelak', $params) ||
|
||||
!array_key_exists('person', $params) ||
|
||||
!array_key_exists('serial', $params) ||
|
||||
!array_key_exists('date', $params)
|
||||
)
|
||||
return $this->json($extractor->paramsNotSend());
|
||||
|
||||
//find person and commodity
|
||||
$person = $entityManagerInterface->getRepository(Person::class)->findOneBy([
|
||||
'bid' => $acc['bid'],
|
||||
'code' => $params['person']['code']
|
||||
]);
|
||||
|
||||
$commodity = $entityManagerInterface->getRepository(Commodity::class)->findOneBy([
|
||||
'bid' => $acc['bid'],
|
||||
'code' => $params['commodity']['code']
|
||||
]);
|
||||
if (!$person || !$commodity) return $this->json($extractor->paramsNotSend());
|
||||
|
||||
if ($params['update'] == '') {
|
||||
$order = new PlugRepserviceOrder();
|
||||
$order->setBid($acc['bid']);
|
||||
$order->setcode($provider->getAccountingCode($acc['bid'], 'PlugRepservice'));
|
||||
$order->setShortlink($provider->RandomString(6) . time());
|
||||
} else {
|
||||
$order = $entityManagerInterface->getRepository(PlugRepserviceOrder::class)->findOneBy([
|
||||
'bid' => $acc['bid'],
|
||||
'code' => $params['update']
|
||||
]);
|
||||
if (!$order)
|
||||
return $this->json($extractor->notFound());
|
||||
}
|
||||
$order->setDateSubmit(time());
|
||||
$order->setSubmitter($this->getUser());
|
||||
$order->setCommodity($commodity);
|
||||
$order->setPerson($person);
|
||||
$order->setDate($params['date']);
|
||||
$order->setDes($params['des']);
|
||||
$order->setPelak($params['pelak']);
|
||||
$order->setSerial($params['serial']);
|
||||
$order->setState($entityManagerInterface->getRepository(PlugRepserviceOrderState::class)->findOneBy(['code' => 'get']));
|
||||
$entityManagerInterface->persist($order);
|
||||
$entityManagerInterface->flush();
|
||||
$log->insert('افزونه تعمیرکاران', ' رسید دریافت کالا با نام ' . $person->getNikename() . ' افزوده/ویرایش شد.', $this->getUser(), $acc['bid']->getId());
|
||||
|
||||
if (array_key_exists('sms', $params)) {
|
||||
if ($params['sms'] == true) {
|
||||
//going to send sms
|
||||
$sms->send(
|
||||
[
|
||||
$person->getNikename(),
|
||||
$order->getCode(),
|
||||
$acc['bid']->getName(),
|
||||
$acc['bid']->getId() . '/' . $order->getShortlink()
|
||||
],
|
||||
$registryMGR->get('sms', 'plugRepserviceStateGet'),
|
||||
$person->getMobile()
|
||||
);
|
||||
}
|
||||
}
|
||||
return $this->json($extractor->operationSuccess());
|
||||
}
|
||||
}
|
|
@ -137,7 +137,6 @@ class Business
|
|||
|
||||
#[ORM\ManyToOne]
|
||||
#[ORM\JoinColumn(nullable: false)]
|
||||
#[Ignore]
|
||||
private ?User $owner = null;
|
||||
|
||||
#[ORM\Column(nullable: true)]
|
||||
|
@ -211,6 +210,12 @@ class Business
|
|||
#[ORM\OneToMany(mappedBy: 'bid', targetEntity: MostDes::class, orphanRemoval: true)]
|
||||
private Collection $mostDes;
|
||||
|
||||
#[ORM\OneToMany(mappedBy: 'bid', targetEntity: PlugRepserviceOrder::class, orphanRemoval: true)]
|
||||
private Collection $plugRepserviceOrders;
|
||||
|
||||
#[ORM\Column(length: 25, nullable: true)]
|
||||
private ?string $plugRepserviceCode = null;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->logs = new ArrayCollection();
|
||||
|
@ -239,6 +244,7 @@ class Business
|
|||
$this->cheques = new ArrayCollection();
|
||||
$this->personCards = new ArrayCollection();
|
||||
$this->mostDes = new ArrayCollection();
|
||||
$this->plugRepserviceOrders = new ArrayCollection();
|
||||
}
|
||||
|
||||
public function getId(): ?int
|
||||
|
@ -1457,4 +1463,46 @@ class Business
|
|||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Collection<int, PlugRepserviceOrder>
|
||||
*/
|
||||
public function getPlugRepserviceOrders(): Collection
|
||||
{
|
||||
return $this->plugRepserviceOrders;
|
||||
}
|
||||
|
||||
public function addPlugRepserviceOrder(PlugRepserviceOrder $plugRepserviceOrder): static
|
||||
{
|
||||
if (!$this->plugRepserviceOrders->contains($plugRepserviceOrder)) {
|
||||
$this->plugRepserviceOrders->add($plugRepserviceOrder);
|
||||
$plugRepserviceOrder->setBid($this);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function removePlugRepserviceOrder(PlugRepserviceOrder $plugRepserviceOrder): static
|
||||
{
|
||||
if ($this->plugRepserviceOrders->removeElement($plugRepserviceOrder)) {
|
||||
// set the owning side to null (unless already changed)
|
||||
if ($plugRepserviceOrder->getBid() === $this) {
|
||||
$plugRepserviceOrder->setBid(null);
|
||||
}
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getPlugRepserviceCode(): ?string
|
||||
{
|
||||
return $this->plugRepserviceCode;
|
||||
}
|
||||
|
||||
public function setPlugRepserviceCode(?string $plugRepserviceCode): static
|
||||
{
|
||||
$this->plugRepserviceCode = $plugRepserviceCode;
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -73,6 +73,9 @@ class Commodity
|
|||
#[ORM\Column(nullable: true)]
|
||||
private ?bool $speedAccess = null;
|
||||
|
||||
#[ORM\OneToMany(mappedBy: 'commodity', targetEntity: PlugRepserviceOrder::class, orphanRemoval: true)]
|
||||
private Collection $plugRepserviceOrders;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->setPriceBuy(0);
|
||||
|
@ -80,6 +83,7 @@ class Commodity
|
|||
$this->hesabdariRows = new ArrayCollection();
|
||||
$this->commodityDropLinks = new ArrayCollection();
|
||||
$this->storeroomItems = new ArrayCollection();
|
||||
$this->plugRepserviceOrders = new ArrayCollection();
|
||||
}
|
||||
|
||||
public function getId(): ?int
|
||||
|
@ -344,4 +348,34 @@ class Commodity
|
|||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Collection<int, PlugRepserviceOrder>
|
||||
*/
|
||||
public function getPlugRepserviceOrders(): Collection
|
||||
{
|
||||
return $this->plugRepserviceOrders;
|
||||
}
|
||||
|
||||
public function addPlugRepserviceOrder(PlugRepserviceOrder $plugRepserviceOrder): static
|
||||
{
|
||||
if (!$this->plugRepserviceOrders->contains($plugRepserviceOrder)) {
|
||||
$this->plugRepserviceOrders->add($plugRepserviceOrder);
|
||||
$plugRepserviceOrder->setCommodity($this);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function removePlugRepserviceOrder(PlugRepserviceOrder $plugRepserviceOrder): static
|
||||
{
|
||||
if ($this->plugRepserviceOrders->removeElement($plugRepserviceOrder)) {
|
||||
// set the owning side to null (unless already changed)
|
||||
if ($plugRepserviceOrder->getCommodity() === $this) {
|
||||
$plugRepserviceOrder->setCommodity(null);
|
||||
}
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -117,6 +117,9 @@ class Permission
|
|||
#[ORM\Column(nullable: true)]
|
||||
private ?bool $plugAccproCloseYear = null;
|
||||
|
||||
#[ORM\Column(nullable: true)]
|
||||
private ?bool $plugRepservice = null;
|
||||
|
||||
public function getId(): ?int
|
||||
{
|
||||
return $this->id;
|
||||
|
@ -529,4 +532,16 @@ class Permission
|
|||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function isPlugRepservice(): ?bool
|
||||
{
|
||||
return $this->plugRepservice;
|
||||
}
|
||||
|
||||
public function setPlugRepservice(?bool $plugRepservice): static
|
||||
{
|
||||
$this->plugRepservice = $plugRepservice;
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -128,6 +128,9 @@ class Person
|
|||
#[ORM\Column(length: 15, nullable: true)]
|
||||
private ?string $mobile2 = null;
|
||||
|
||||
#[ORM\OneToMany(mappedBy: 'person', targetEntity: PlugRepserviceOrder::class, orphanRemoval: true)]
|
||||
private Collection $plugRepserviceOrders;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->hesabdariRows = new ArrayCollection();
|
||||
|
@ -138,6 +141,7 @@ class Person
|
|||
$this->cheques = new ArrayCollection();
|
||||
$this->type = new ArrayCollection();
|
||||
$this->personCards = new ArrayCollection();
|
||||
$this->plugRepserviceOrders = new ArrayCollection();
|
||||
}
|
||||
|
||||
public function getId(): ?int
|
||||
|
@ -702,4 +706,34 @@ class Person
|
|||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Collection<int, PlugRepserviceOrder>
|
||||
*/
|
||||
public function getPlugRepserviceOrders(): Collection
|
||||
{
|
||||
return $this->plugRepserviceOrders;
|
||||
}
|
||||
|
||||
public function addPlugRepserviceOrder(PlugRepserviceOrder $plugRepserviceOrder): static
|
||||
{
|
||||
if (!$this->plugRepserviceOrders->contains($plugRepserviceOrder)) {
|
||||
$this->plugRepserviceOrders->add($plugRepserviceOrder);
|
||||
$plugRepserviceOrder->setPerson($this);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function removePlugRepserviceOrder(PlugRepserviceOrder $plugRepserviceOrder): static
|
||||
{
|
||||
if ($this->plugRepserviceOrders->removeElement($plugRepserviceOrder)) {
|
||||
// set the owning side to null (unless already changed)
|
||||
if ($plugRepserviceOrder->getPerson() === $this) {
|
||||
$plugRepserviceOrder->setPerson(null);
|
||||
}
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
|
|
205
hesabixCore/src/Entity/PlugRepserviceOrder.php
Normal file
205
hesabixCore/src/Entity/PlugRepserviceOrder.php
Normal file
|
@ -0,0 +1,205 @@
|
|||
<?php
|
||||
|
||||
namespace App\Entity;
|
||||
|
||||
use App\Repository\PlugRepserviceOrderRepository;
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
|
||||
#[ORM\Entity(repositoryClass: PlugRepserviceOrderRepository::class)]
|
||||
class PlugRepserviceOrder
|
||||
{
|
||||
#[ORM\Id]
|
||||
#[ORM\GeneratedValue]
|
||||
#[ORM\Column]
|
||||
private ?int $id = null;
|
||||
|
||||
#[ORM\ManyToOne(inversedBy: 'plugRepserviceOrders')]
|
||||
#[ORM\JoinColumn(nullable: false)]
|
||||
private ?Business $bid = null;
|
||||
|
||||
#[ORM\ManyToOne(inversedBy: 'plugRepserviceOrders')]
|
||||
#[ORM\JoinColumn(nullable: false)]
|
||||
private ?Commodity $commodity = null;
|
||||
|
||||
#[ORM\ManyToOne(inversedBy: 'plugRepserviceOrders')]
|
||||
#[ORM\JoinColumn(nullable: false)]
|
||||
private ?Person $person = null;
|
||||
|
||||
#[ORM\ManyToOne(inversedBy: 'plugRepserviceOrders')]
|
||||
#[ORM\JoinColumn(nullable: false)]
|
||||
private ?User $submitter = null;
|
||||
|
||||
#[ORM\Column(length: 255)]
|
||||
private ?string $dateSubmit = null;
|
||||
|
||||
#[ORM\Column(length: 35)]
|
||||
private ?string $date = null;
|
||||
|
||||
#[ORM\Column(length: 255, nullable: true)]
|
||||
private ?string $des = null;
|
||||
|
||||
#[ORM\Column(length: 255, nullable: true)]
|
||||
private ?string $pelak = null;
|
||||
|
||||
#[ORM\Column(length: 255, nullable: true)]
|
||||
private ?string $serial = null;
|
||||
|
||||
#[ORM\ManyToOne(inversedBy: 'plugRepserviceOrders')]
|
||||
#[ORM\JoinColumn(nullable: false)]
|
||||
private ?PlugRepserviceOrderState $state = null;
|
||||
|
||||
#[ORM\Column(length: 50)]
|
||||
private ?string $code = null;
|
||||
|
||||
#[ORM\Column(length: 50)]
|
||||
private ?string $shortlink = null;
|
||||
|
||||
public function getId(): ?int
|
||||
{
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
public function getBid(): ?Business
|
||||
{
|
||||
return $this->bid;
|
||||
}
|
||||
|
||||
public function setBid(?Business $bid): static
|
||||
{
|
||||
$this->bid = $bid;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getCommodity(): ?Commodity
|
||||
{
|
||||
return $this->commodity;
|
||||
}
|
||||
|
||||
public function setCommodity(?Commodity $commodity): static
|
||||
{
|
||||
$this->commodity = $commodity;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getPerson(): ?Person
|
||||
{
|
||||
return $this->person;
|
||||
}
|
||||
|
||||
public function setPerson(?Person $person): static
|
||||
{
|
||||
$this->person = $person;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getSubmitter(): ?User
|
||||
{
|
||||
return $this->submitter;
|
||||
}
|
||||
|
||||
public function setSubmitter(?User $submitter): static
|
||||
{
|
||||
$this->submitter = $submitter;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getDateSubmit(): ?string
|
||||
{
|
||||
return $this->dateSubmit;
|
||||
}
|
||||
|
||||
public function setDateSubmit(string $dateSubmit): static
|
||||
{
|
||||
$this->dateSubmit = $dateSubmit;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getDate(): ?string
|
||||
{
|
||||
return $this->date;
|
||||
}
|
||||
|
||||
public function setDate(string $date): static
|
||||
{
|
||||
$this->date = $date;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getDes(): ?string
|
||||
{
|
||||
return $this->des;
|
||||
}
|
||||
|
||||
public function setDes(?string $des): static
|
||||
{
|
||||
$this->des = $des;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getPelak(): ?string
|
||||
{
|
||||
return $this->pelak;
|
||||
}
|
||||
|
||||
public function setPelak(?string $pelak): static
|
||||
{
|
||||
$this->pelak = $pelak;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getSerial(): ?string
|
||||
{
|
||||
return $this->serial;
|
||||
}
|
||||
|
||||
public function setSerial(?string $serial): static
|
||||
{
|
||||
$this->serial = $serial;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getState(): ?PlugRepserviceOrderState
|
||||
{
|
||||
return $this->state;
|
||||
}
|
||||
|
||||
public function setState(?PlugRepserviceOrderState $state): static
|
||||
{
|
||||
$this->state = $state;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getCode(): ?string
|
||||
{
|
||||
return $this->code;
|
||||
}
|
||||
|
||||
public function setCode(string $code): static
|
||||
{
|
||||
$this->code = $code;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getShortlink(): ?string
|
||||
{
|
||||
return $this->shortlink;
|
||||
}
|
||||
|
||||
public function setShortlink(string $shortlink): static
|
||||
{
|
||||
$this->shortlink = $shortlink;
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
90
hesabixCore/src/Entity/PlugRepserviceOrderState.php
Normal file
90
hesabixCore/src/Entity/PlugRepserviceOrderState.php
Normal file
|
@ -0,0 +1,90 @@
|
|||
<?php
|
||||
|
||||
namespace App\Entity;
|
||||
|
||||
use App\Repository\PlugRepserviceOrderStateRepository;
|
||||
use Doctrine\Common\Collections\ArrayCollection;
|
||||
use Doctrine\Common\Collections\Collection;
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
|
||||
#[ORM\Entity(repositoryClass: PlugRepserviceOrderStateRepository::class)]
|
||||
class PlugRepserviceOrderState
|
||||
{
|
||||
#[ORM\Id]
|
||||
#[ORM\GeneratedValue]
|
||||
#[ORM\Column]
|
||||
private ?int $id = null;
|
||||
|
||||
#[ORM\Column(length: 255)]
|
||||
private ?string $label = null;
|
||||
|
||||
#[ORM\Column(length: 255)]
|
||||
private ?string $code = null;
|
||||
|
||||
#[ORM\OneToMany(mappedBy: 'state', targetEntity: PlugRepserviceOrder::class, orphanRemoval: true)]
|
||||
private Collection $plugRepserviceOrders;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->plugRepserviceOrders = new ArrayCollection();
|
||||
}
|
||||
|
||||
public function getId(): ?int
|
||||
{
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
public function getLabel(): ?string
|
||||
{
|
||||
return $this->label;
|
||||
}
|
||||
|
||||
public function setLabel(string $label): static
|
||||
{
|
||||
$this->label = $label;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getCode(): ?string
|
||||
{
|
||||
return $this->code;
|
||||
}
|
||||
|
||||
public function setCode(string $code): static
|
||||
{
|
||||
$this->code = $code;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Collection<int, PlugRepserviceOrder>
|
||||
*/
|
||||
public function getPlugRepserviceOrders(): Collection
|
||||
{
|
||||
return $this->plugRepserviceOrders;
|
||||
}
|
||||
|
||||
public function addPlugRepserviceOrder(PlugRepserviceOrder $plugRepserviceOrder): static
|
||||
{
|
||||
if (!$this->plugRepserviceOrders->contains($plugRepserviceOrder)) {
|
||||
$this->plugRepserviceOrders->add($plugRepserviceOrder);
|
||||
$plugRepserviceOrder->setState($this);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function removePlugRepserviceOrder(PlugRepserviceOrder $plugRepserviceOrder): static
|
||||
{
|
||||
if ($this->plugRepserviceOrders->removeElement($plugRepserviceOrder)) {
|
||||
// set the owning side to null (unless already changed)
|
||||
if ($plugRepserviceOrder->getState() === $this) {
|
||||
$plugRepserviceOrder->setState(null);
|
||||
}
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
|
@ -107,6 +107,9 @@ class User implements UserInterface, PasswordAuthenticatedUserInterface
|
|||
#[ORM\OneToMany(mappedBy: 'submitter', targetEntity: MostDes::class, orphanRemoval: true)]
|
||||
private Collection $mostDes;
|
||||
|
||||
#[ORM\OneToMany(mappedBy: 'submitter', targetEntity: PlugRepserviceOrder::class, orphanRemoval: true)]
|
||||
private Collection $plugRepserviceOrders;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->userTokens = new ArrayCollection();
|
||||
|
@ -129,6 +132,7 @@ class User implements UserInterface, PasswordAuthenticatedUserInterface
|
|||
$this->hooks = new ArrayCollection();
|
||||
$this->cheques = new ArrayCollection();
|
||||
$this->mostDes = new ArrayCollection();
|
||||
$this->plugRepserviceOrders = new ArrayCollection();
|
||||
}
|
||||
|
||||
public function getId(): ?int
|
||||
|
@ -872,4 +876,34 @@ class User implements UserInterface, PasswordAuthenticatedUserInterface
|
|||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Collection<int, PlugRepserviceOrder>
|
||||
*/
|
||||
public function getPlugRepserviceOrders(): Collection
|
||||
{
|
||||
return $this->plugRepserviceOrders;
|
||||
}
|
||||
|
||||
public function addPlugRepserviceOrder(PlugRepserviceOrder $plugRepserviceOrder): static
|
||||
{
|
||||
if (!$this->plugRepserviceOrders->contains($plugRepserviceOrder)) {
|
||||
$this->plugRepserviceOrders->add($plugRepserviceOrder);
|
||||
$plugRepserviceOrder->setSubmitter($this);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function removePlugRepserviceOrder(PlugRepserviceOrder $plugRepserviceOrder): static
|
||||
{
|
||||
if ($this->plugRepserviceOrders->removeElement($plugRepserviceOrder)) {
|
||||
// set the owning side to null (unless already changed)
|
||||
if ($plugRepserviceOrder->getSubmitter() === $this) {
|
||||
$plugRepserviceOrder->setSubmitter(null);
|
||||
}
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
|
|
48
hesabixCore/src/Repository/PlugRepserviceOrderRepository.php
Normal file
48
hesabixCore/src/Repository/PlugRepserviceOrderRepository.php
Normal file
|
@ -0,0 +1,48 @@
|
|||
<?php
|
||||
|
||||
namespace App\Repository;
|
||||
|
||||
use App\Entity\PlugRepserviceOrder;
|
||||
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
|
||||
use Doctrine\Persistence\ManagerRegistry;
|
||||
|
||||
/**
|
||||
* @extends ServiceEntityRepository<PlugRepserviceOrder>
|
||||
*
|
||||
* @method PlugRepserviceOrder|null find($id, $lockMode = null, $lockVersion = null)
|
||||
* @method PlugRepserviceOrder|null findOneBy(array $criteria, array $orderBy = null)
|
||||
* @method PlugRepserviceOrder[] findAll()
|
||||
* @method PlugRepserviceOrder[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
|
||||
*/
|
||||
class PlugRepserviceOrderRepository extends ServiceEntityRepository
|
||||
{
|
||||
public function __construct(ManagerRegistry $registry)
|
||||
{
|
||||
parent::__construct($registry, PlugRepserviceOrder::class);
|
||||
}
|
||||
|
||||
// /**
|
||||
// * @return PlugRepserviceOrder[] Returns an array of PlugRepserviceOrder objects
|
||||
// */
|
||||
// public function findByExampleField($value): array
|
||||
// {
|
||||
// return $this->createQueryBuilder('p')
|
||||
// ->andWhere('p.exampleField = :val')
|
||||
// ->setParameter('val', $value)
|
||||
// ->orderBy('p.id', 'ASC')
|
||||
// ->setMaxResults(10)
|
||||
// ->getQuery()
|
||||
// ->getResult()
|
||||
// ;
|
||||
// }
|
||||
|
||||
// public function findOneBySomeField($value): ?PlugRepserviceOrder
|
||||
// {
|
||||
// return $this->createQueryBuilder('p')
|
||||
// ->andWhere('p.exampleField = :val')
|
||||
// ->setParameter('val', $value)
|
||||
// ->getQuery()
|
||||
// ->getOneOrNullResult()
|
||||
// ;
|
||||
// }
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
<?php
|
||||
|
||||
namespace App\Repository;
|
||||
|
||||
use App\Entity\PlugRepserviceOrderState;
|
||||
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
|
||||
use Doctrine\Persistence\ManagerRegistry;
|
||||
|
||||
/**
|
||||
* @extends ServiceEntityRepository<PlugRepserviceOrderState>
|
||||
*
|
||||
* @method PlugRepserviceOrderState|null find($id, $lockMode = null, $lockVersion = null)
|
||||
* @method PlugRepserviceOrderState|null findOneBy(array $criteria, array $orderBy = null)
|
||||
* @method PlugRepserviceOrderState[] findAll()
|
||||
* @method PlugRepserviceOrderState[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
|
||||
*/
|
||||
class PlugRepserviceOrderStateRepository extends ServiceEntityRepository
|
||||
{
|
||||
public function __construct(ManagerRegistry $registry)
|
||||
{
|
||||
parent::__construct($registry, PlugRepserviceOrderState::class);
|
||||
}
|
||||
|
||||
// /**
|
||||
// * @return PlugRepserviceOrderState[] Returns an array of PlugRepserviceOrderState objects
|
||||
// */
|
||||
// public function findByExampleField($value): array
|
||||
// {
|
||||
// return $this->createQueryBuilder('p')
|
||||
// ->andWhere('p.exampleField = :val')
|
||||
// ->setParameter('val', $value)
|
||||
// ->orderBy('p.id', 'ASC')
|
||||
// ->setMaxResults(10)
|
||||
// ->getQuery()
|
||||
// ->getResult()
|
||||
// ;
|
||||
// }
|
||||
|
||||
// public function findOneBySomeField($value): ?PlugRepserviceOrderState
|
||||
// {
|
||||
// return $this->createQueryBuilder('p')
|
||||
// ->andWhere('p.exampleField = :val')
|
||||
// ->setParameter('val', $value)
|
||||
// ->getQuery()
|
||||
// ->getOneOrNullResult()
|
||||
// ;
|
||||
// }
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
.*/**
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,82 +0,0 @@
|
|||
CKEditor 4 - Releases
|
||||
=====================
|
||||
|
||||
## Releases Code
|
||||
|
||||
This repository contains the official release versions of [CKEditor 4](https://ckeditor.com/ckeditor-4/).
|
||||
|
||||
There are four versions for each release — `standard-all`, `basic`, `standard`, and `full`.
|
||||
They differ in the number of plugins that are compiled into the main `ckeditor.js` file as well as the toolbar configuration.
|
||||
|
||||
See the [comparison](https://ckeditor.com/cke4/presets) of the `basic`, `standard`, and `full` installation presets for more details.
|
||||
|
||||
The `standard-all` build includes all official CKSource plugins with only those from the `standard` installation preset compiled into the `ckeditor.js` file and enabled in the configuration.
|
||||
|
||||
All versions available in this repository were built using [CKBuilder](https://ckeditor.com/cke4/builder), so they are optimized and ready to be used in a production environment.
|
||||
|
||||
## Documentation
|
||||
|
||||
Developer documentation for CKEditor is available online at: <https://ckeditor.com/docs/>.
|
||||
|
||||
## Installation
|
||||
|
||||
### Git clone
|
||||
|
||||
To install one of the available releases, just clone this repository and switch to the respective branch (see next section):
|
||||
|
||||
git clone -b <release branch> git://github.com/ckeditor/ckeditor4-releases.git
|
||||
|
||||
### Git submodule
|
||||
|
||||
If you are using git for your project and you want to integrate CKEditor, we recommend to add this repository as a
|
||||
[submodule](https://git-scm.com/book/en/v2/Git-Tools-Submodules).
|
||||
|
||||
git submodule add -b <release branch> git://github.com/ckeditor/ckeditor-releases.git <clone dir>
|
||||
git commit -m "Added CKEditor submodule in <clone dir> directory."
|
||||
|
||||
### Using Package Managers
|
||||
|
||||
See the [Installing CKEditor with Package Managers](https://ckeditor.com/docs/ckeditor4/latest/guide/dev_package_managers.html) article for more details about installing CKEditor with [Bower](https://bower.io), [Composer](https://getcomposer.org/) and [npm](https://www.npmjs.com/).
|
||||
|
||||
## Repository Structure
|
||||
|
||||
### Branches
|
||||
|
||||
This repository contains the following branches:
|
||||
|
||||
- `master` and `latest` – the latest release of the `standard-all` preset (including betas).
|
||||
- `stable` – the latest stable release of the `standard-all` preset (non-beta).
|
||||
- `A.B.x` (e.g. `4.3.x`) – the latest release of the `standard-all` preset in the `A.B` branch.
|
||||
- `(basic|standard|full)/stable` – the latest stable release tag point (non-beta).
|
||||
- `(basic|standard|full)/latest` – the latest release tag point (including betas).
|
||||
- `(basic|standard|full)/A.B.x` (e.g. `basic/4.0.x`) – the latest releases in the `A.B` branch.
|
||||
|
||||
### Tags
|
||||
|
||||
**Since version 4.3.3** this repository uses the following tag naming rules:
|
||||
|
||||
- `x.y.z` – contains the `standard-all` editor build, e.g. `4.3.3`, `4.4.0` etc.
|
||||
- `(basic|standard|full)/x.y.z` – contains the editor build with a given preset, e.g. `basic/4.3.3`.
|
||||
|
||||
The version numbers follow the [Semantic Versioning 2.0.0](http://semver.org/) scheme.
|
||||
|
||||
Up to version **4.3.2** the tags were released in the following form `x.y[.z]/(basic|standard|full)`.
|
||||
For example: `4.0/basic`, `4.0.1/standard`. This convention was changed in CKEditor 4.3.3 to conform to the Semantic Versioning scheme.
|
||||
|
||||
## Checking Your Installation
|
||||
|
||||
The editor comes with a few sample pages that can be used to verify if the installation succeeded. Take a look at the `samples` directory.
|
||||
|
||||
To test your installation, just call the following page for your website:
|
||||
|
||||
http://<your site>/<CKEditor installation path>/samples/index.html
|
||||
|
||||
For example:
|
||||
|
||||
http://www.example.com/ckeditor/samples/index.html
|
||||
|
||||
### License
|
||||
|
||||
Licensed under the GPL, LGPL, and MPL licenses, at your choice.
|
||||
|
||||
Please check the `LICENSE.md` file for more information about the license.
|
|
@ -1,10 +0,0 @@
|
|||
# Reporting a security issues
|
||||
|
||||
If you believe you have found a security issue in the CKEditor 4 software, please contact us immediately.
|
||||
|
||||
When reporting a potential security problem, please bear this in mind:
|
||||
|
||||
* Make sure to provide as many details as possible about the vulnerability.
|
||||
* Please do not disclose publicly any security issues until we fix them and publish security releases.
|
||||
|
||||
Contact the security team at security@cksource.com. As soon as we receive the security report, we will work promptly to confirm the issue and then to provide a security fix.
|
|
@ -1,10 +0,0 @@
|
|||
/*
|
||||
Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
||||
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
||||
*/
|
||||
(function(a){if("undefined"==typeof a)throw Error("jQuery should be loaded before CKEditor jQuery adapter.");if("undefined"==typeof CKEDITOR)throw Error("CKEditor should be loaded before CKEditor jQuery adapter.");CKEDITOR.config.jqueryOverrideVal="undefined"==typeof CKEDITOR.config.jqueryOverrideVal?!0:CKEDITOR.config.jqueryOverrideVal;a.extend(a.fn,{ckeditorGet:function(){var a=this.eq(0).data("ckeditorInstance");if(!a)throw"CKEditor is not initialized yet, use ckeditor() with a callback.";return a},
|
||||
ckeditor:function(g,e){if(!CKEDITOR.env.isCompatible)throw Error("The environment is incompatible.");if("function"!==typeof g){var m=e;e=g;g=m}var k=[];e=e||{};this.each(function(){var b=a(this),c=b.data("ckeditorInstance"),f=b.data("_ckeditorInstanceLock"),h=this,l=new a.Deferred;k.push(l.promise());if(c&&!f)g&&g.apply(c,[this]),l.resolve();else if(f)c.once("instanceReady",function(){setTimeout(function d(){c.element?(c.element.$==h&&g&&g.apply(c,[h]),l.resolve()):setTimeout(d,100)},0)},null,null,
|
||||
9999);else{if(e.autoUpdateElement||"undefined"==typeof e.autoUpdateElement&&CKEDITOR.config.autoUpdateElement)e.autoUpdateElementJquery=!0;e.autoUpdateElement=!1;b.data("_ckeditorInstanceLock",!0);c=a(this).is("textarea")?CKEDITOR.replace(h,e):CKEDITOR.inline(h,e);b.data("ckeditorInstance",c);c.on("instanceReady",function(e){var d=e.editor;setTimeout(function n(){if(d.element){e.removeListener();d.on("dataReady",function(){b.trigger("dataReady.ckeditor",[d])});d.on("setData",function(a){b.trigger("setData.ckeditor",
|
||||
[d,a.data])});d.on("getData",function(a){b.trigger("getData.ckeditor",[d,a.data])},999);d.on("destroy",function(){b.trigger("destroy.ckeditor",[d])});d.on("save",function(){a(h.form).trigger("submit");return!1},null,null,20);if(d.config.autoUpdateElementJquery&&b.is("textarea")&&a(h.form).length){var c=function(){b.ckeditor(function(){d.updateElement()})};a(h.form).on("submit",c);a(h.form).on("form-pre-serialize",c);b.on("destroy.ckeditor",function(){a(h.form).off("submit",c);a(h.form).off("form-pre-serialize",
|
||||
c)})}d.on("destroy",function(){b.removeData("ckeditorInstance")});b.removeData("_ckeditorInstanceLock");b.trigger("instanceReady.ckeditor",[d]);g&&g.apply(d,[h]);l.resolve()}else setTimeout(n,100)},0)},null,null,9999)}});var f=new a.Deferred;this.promise=f.promise();a.when.apply(this,k).then(function(){f.resolve()});this.editor=this.eq(0).data("ckeditorInstance");return this}});CKEDITOR.config.jqueryOverrideVal&&(a.fn.val=CKEDITOR.tools.override(a.fn.val,function(g){return function(e){if(arguments.length){var m=
|
||||
this,k=[],f=this.each(function(){var b=a(this),c=b.data("ckeditorInstance");if(b.is("textarea")&&c){var f=new a.Deferred;c.setData(e,function(){f.resolve()});k.push(f.promise());return!0}return g.call(b,e)});if(k.length){var b=new a.Deferred;a.when.apply(this,k).done(function(){b.resolveWith(m)});return b.promise()}return f}var f=a(this).eq(0),c=f.data("ckeditorInstance");return f.is("textarea")&&c?c.getData():g.call(f)}}))})(window.jQuery);
|
|
@ -1,16 +0,0 @@
|
|||
{
|
||||
"bender": {
|
||||
"port": 9001
|
||||
},
|
||||
"server": {
|
||||
"port": 9002
|
||||
},
|
||||
"paths": {
|
||||
"ckeditor4": "../ckeditor4/",
|
||||
"runner": "./src/runner.html"
|
||||
},
|
||||
"browsers": {
|
||||
"linux": [ "chrome", "firefox" ],
|
||||
"macos": [ "safari" ]
|
||||
}
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"name": "ckeditor",
|
||||
"description": "JavaScript WYSIWYG web text editor.",
|
||||
"keywords": [ "ckeditor4", "ckeditor", "fckeditor", "editor", "wysiwyg", "html", "richtext", "text", "javascript" ],
|
||||
"authors": "CKSource (https://cksource.com/)",
|
||||
"license": "For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license/.",
|
||||
"homepage": "https://ckeditor.com",
|
||||
"main": "./ckeditor.js",
|
||||
"moduleType": "globals"
|
||||
}
|
|
@ -1,194 +0,0 @@
|
|||
/**
|
||||
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
||||
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license/
|
||||
*/
|
||||
|
||||
/**
|
||||
* This file was added automatically by CKEditor builder.
|
||||
* You may re-use it at any time to build CKEditor again.
|
||||
*
|
||||
* If you would like to build CKEditor online again
|
||||
* (for example to upgrade), visit one the following links:
|
||||
*
|
||||
* (1) https://ckeditor.com/cke4/builder
|
||||
* Visit online builder to build CKEditor from scratch.
|
||||
*
|
||||
* (2) https://ckeditor.com/cke4/builder/6490967e78ab135a44d8c0998d90e841
|
||||
* Visit online builder to build CKEditor, starting with the same setup as before.
|
||||
*
|
||||
* (3) https://ckeditor.com/cke4/builder/download/6490967e78ab135a44d8c0998d90e841
|
||||
* Straight download link to the latest version of CKEditor (Optimized) with the same setup as before.
|
||||
*
|
||||
* NOTE:
|
||||
* This file is not used by CKEditor, you may remove it.
|
||||
* Changing this file will not change your CKEditor configuration.
|
||||
*/
|
||||
|
||||
var CKBUILDER_CONFIG = {
|
||||
skin: 'moono-lisa',
|
||||
preset: 'full',
|
||||
ignore: [
|
||||
'.DS_Store',
|
||||
'.bender',
|
||||
'.editorconfig',
|
||||
'.gitattributes',
|
||||
'.gitignore',
|
||||
'.idea',
|
||||
'.jscsrc',
|
||||
'.jshintignore',
|
||||
'.jshintrc',
|
||||
'.mailmap',
|
||||
'.npm',
|
||||
'.nvmrc',
|
||||
'.travis.yml',
|
||||
'bender-err.log',
|
||||
'bender-out.log',
|
||||
'bender.ci.js',
|
||||
'bender.js',
|
||||
'dev',
|
||||
'gruntfile.js',
|
||||
'less',
|
||||
'node_modules',
|
||||
'package-lock.json',
|
||||
'package.json',
|
||||
'tests'
|
||||
],
|
||||
plugins : {
|
||||
'a11yhelp' : 1,
|
||||
'about' : 1,
|
||||
'basicstyles' : 1,
|
||||
'bidi' : 1,
|
||||
'blockquote' : 1,
|
||||
'clipboard' : 1,
|
||||
'colorbutton' : 1,
|
||||
'colordialog' : 1,
|
||||
'contextmenu' : 1,
|
||||
'copyformatting' : 1,
|
||||
'dialogadvtab' : 1,
|
||||
'div' : 1,
|
||||
'editorplaceholder' : 1,
|
||||
'elementspath' : 1,
|
||||
'enterkey' : 1,
|
||||
'entities' : 1,
|
||||
'exportpdf' : 1,
|
||||
'filebrowser' : 1,
|
||||
'find' : 1,
|
||||
'floatingspace' : 1,
|
||||
'font' : 1,
|
||||
'format' : 1,
|
||||
'forms' : 1,
|
||||
'horizontalrule' : 1,
|
||||
'htmlwriter' : 1,
|
||||
'iframe' : 1,
|
||||
'image' : 1,
|
||||
'indentblock' : 1,
|
||||
'indentlist' : 1,
|
||||
'justify' : 1,
|
||||
'language' : 1,
|
||||
'link' : 1,
|
||||
'list' : 1,
|
||||
'liststyle' : 1,
|
||||
'magicline' : 1,
|
||||
'maximize' : 1,
|
||||
'newpage' : 1,
|
||||
'pagebreak' : 1,
|
||||
'pastefromgdocs' : 1,
|
||||
'pastefromlibreoffice' : 1,
|
||||
'pastefromword' : 1,
|
||||
'pastetext' : 1,
|
||||
'preview' : 1,
|
||||
'print' : 1,
|
||||
'removeformat' : 1,
|
||||
'resize' : 1,
|
||||
'save' : 1,
|
||||
'scayt' : 1,
|
||||
'selectall' : 1,
|
||||
'showblocks' : 1,
|
||||
'showborders' : 1,
|
||||
'smiley' : 1,
|
||||
'sourcearea' : 1,
|
||||
'specialchar' : 1,
|
||||
'stylescombo' : 1,
|
||||
'tab' : 1,
|
||||
'table' : 1,
|
||||
'tableselection' : 1,
|
||||
'tabletools' : 1,
|
||||
'templates' : 1,
|
||||
'toolbar' : 1,
|
||||
'undo' : 1,
|
||||
'uploadimage' : 1,
|
||||
'wysiwygarea' : 1
|
||||
},
|
||||
languages : {
|
||||
'af' : 1,
|
||||
'ar' : 1,
|
||||
'az' : 1,
|
||||
'bg' : 1,
|
||||
'bn' : 1,
|
||||
'bs' : 1,
|
||||
'ca' : 1,
|
||||
'cs' : 1,
|
||||
'cy' : 1,
|
||||
'da' : 1,
|
||||
'de' : 1,
|
||||
'de-ch' : 1,
|
||||
'el' : 1,
|
||||
'en' : 1,
|
||||
'en-au' : 1,
|
||||
'en-ca' : 1,
|
||||
'en-gb' : 1,
|
||||
'eo' : 1,
|
||||
'es' : 1,
|
||||
'es-mx' : 1,
|
||||
'et' : 1,
|
||||
'eu' : 1,
|
||||
'fa' : 1,
|
||||
'fi' : 1,
|
||||
'fo' : 1,
|
||||
'fr' : 1,
|
||||
'fr-ca' : 1,
|
||||
'gl' : 1,
|
||||
'gu' : 1,
|
||||
'he' : 1,
|
||||
'hi' : 1,
|
||||
'hr' : 1,
|
||||
'hu' : 1,
|
||||
'id' : 1,
|
||||
'is' : 1,
|
||||
'it' : 1,
|
||||
'ja' : 1,
|
||||
'ka' : 1,
|
||||
'km' : 1,
|
||||
'ko' : 1,
|
||||
'ku' : 1,
|
||||
'lt' : 1,
|
||||
'lv' : 1,
|
||||
'mk' : 1,
|
||||
'mn' : 1,
|
||||
'ms' : 1,
|
||||
'nb' : 1,
|
||||
'nl' : 1,
|
||||
'no' : 1,
|
||||
'oc' : 1,
|
||||
'pl' : 1,
|
||||
'pt' : 1,
|
||||
'pt-br' : 1,
|
||||
'ro' : 1,
|
||||
'ru' : 1,
|
||||
'si' : 1,
|
||||
'sk' : 1,
|
||||
'sl' : 1,
|
||||
'sq' : 1,
|
||||
'sr' : 1,
|
||||
'sr-latn' : 1,
|
||||
'sv' : 1,
|
||||
'th' : 1,
|
||||
'tr' : 1,
|
||||
'tt' : 1,
|
||||
'ug' : 1,
|
||||
'uk' : 1,
|
||||
'vi' : 1,
|
||||
'zh' : 1,
|
||||
'zh-cn' : 1
|
||||
}
|
||||
};
|
1446
public_html/bundles/fosckeditor/ckeditor.js
vendored
1446
public_html/bundles/fosckeditor/ckeditor.js
vendored
File diff suppressed because one or more lines are too long
|
@ -1,20 +0,0 @@
|
|||
{
|
||||
"name": "ckeditor/ckeditor",
|
||||
"description": "JavaScript WYSIWYG web text editor.",
|
||||
"type": "library",
|
||||
"keywords": [ "ckeditor4", "ckeditor", "fckeditor", "editor", "wysiwyg", "html", "richtext", "text", "javascript" ],
|
||||
"homepage": "https://ckeditor.com/ckeditor-4/",
|
||||
"license": [ "GPL-2.0+", "LGPL-2.1+", "MPL-1.1+" ],
|
||||
"authors": [
|
||||
{
|
||||
"name": "CKSource",
|
||||
"homepage": "https://cksource.com"
|
||||
}
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/ckeditor/ckeditor4/issues",
|
||||
"forum": "https://stackoverflow.com/tags/ckeditor",
|
||||
"wiki": "https://ckeditor.com/docs/ckeditor4/latest/",
|
||||
"source": "https://github.com/ckeditor/ckeditor4"
|
||||
}
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
/**
|
||||
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
||||
* For licensing, see https://ckeditor.com/legal/ckeditor-oss-license
|
||||
*/
|
||||
|
||||
CKEDITOR.editorConfig = function( config ) {
|
||||
// Define changes to default configuration here. For example:
|
||||
// config.language = 'fr';
|
||||
// config.uiColor = '#AADC6E';
|
||||
};
|
|
@ -1,208 +0,0 @@
|
|||
/*
|
||||
Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
||||
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
||||
*/
|
||||
|
||||
body
|
||||
{
|
||||
/* Font */
|
||||
/* Emoji fonts are added to visualise them nicely in Internet Explorer. */
|
||||
font-family: sans-serif, Arial, Verdana, "Trebuchet MS", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
||||
font-size: 12px;
|
||||
|
||||
/* Text color */
|
||||
color: #333;
|
||||
|
||||
/* Remove the background color to make it transparent. */
|
||||
background-color: #fff;
|
||||
|
||||
margin: 20px;
|
||||
}
|
||||
|
||||
.cke_editable
|
||||
{
|
||||
font-size: 13px;
|
||||
line-height: 1.6;
|
||||
|
||||
/* Fix for missing scrollbars with RTL texts. (#10488) */
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
blockquote
|
||||
{
|
||||
font-style: italic;
|
||||
font-family: Georgia, Times, "Times New Roman", serif;
|
||||
padding: 2px 0;
|
||||
border-style: solid;
|
||||
border-color: #ccc;
|
||||
border-width: 0;
|
||||
}
|
||||
|
||||
.cke_contents_ltr blockquote
|
||||
{
|
||||
padding-left: 20px;
|
||||
padding-right: 8px;
|
||||
border-left-width: 5px;
|
||||
}
|
||||
|
||||
.cke_contents_rtl blockquote
|
||||
{
|
||||
padding-left: 8px;
|
||||
padding-right: 20px;
|
||||
border-right-width: 5px;
|
||||
}
|
||||
|
||||
a
|
||||
{
|
||||
color: #0782C1;
|
||||
}
|
||||
|
||||
ol,ul,dl
|
||||
{
|
||||
/* IE7: reset rtl list margin. (#7334) */
|
||||
*margin-right: 0px;
|
||||
/* Preserved spaces for list items with text direction different than the list. (#6249,#8049)*/
|
||||
padding: 0 40px;
|
||||
}
|
||||
|
||||
h1,h2,h3,h4,h5,h6
|
||||
{
|
||||
font-weight: normal;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
hr
|
||||
{
|
||||
border: 0px;
|
||||
border-top: 1px solid #ccc;
|
||||
}
|
||||
|
||||
img.right
|
||||
{
|
||||
border: 1px solid #ccc;
|
||||
float: right;
|
||||
margin-left: 15px;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
img.left
|
||||
{
|
||||
border: 1px solid #ccc;
|
||||
float: left;
|
||||
margin-right: 15px;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
pre
|
||||
{
|
||||
white-space: pre-wrap; /* CSS 2.1 */
|
||||
word-wrap: break-word; /* IE7 */
|
||||
-moz-tab-size: 4;
|
||||
tab-size: 4;
|
||||
}
|
||||
|
||||
.marker
|
||||
{
|
||||
background-color: Yellow;
|
||||
}
|
||||
|
||||
span[lang]
|
||||
{
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
figure
|
||||
{
|
||||
text-align: center;
|
||||
outline: solid 1px #ccc;
|
||||
background: rgba(0,0,0,0.05);
|
||||
padding: 10px;
|
||||
margin: 10px 20px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
figure > figcaption
|
||||
{
|
||||
text-align: center;
|
||||
display: block; /* For IE8 */
|
||||
}
|
||||
|
||||
a > img {
|
||||
padding: 1px;
|
||||
margin: 1px;
|
||||
border: none;
|
||||
outline: 1px solid #0782C1;
|
||||
}
|
||||
|
||||
/* Widget Styles */
|
||||
.code-featured
|
||||
{
|
||||
border: 5px solid red;
|
||||
}
|
||||
|
||||
.math-featured
|
||||
{
|
||||
padding: 20px;
|
||||
box-shadow: 0 0 2px rgba(200, 0, 0, 1);
|
||||
background-color: rgba(255, 0, 0, 0.05);
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.image-clean
|
||||
{
|
||||
border: 0;
|
||||
background: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.image-clean > figcaption
|
||||
{
|
||||
font-size: .9em;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.image-grayscale
|
||||
{
|
||||
background-color: white;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.image-grayscale img, img.image-grayscale
|
||||
{
|
||||
filter: grayscale(100%);
|
||||
}
|
||||
|
||||
.embed-240p
|
||||
{
|
||||
max-width: 426px;
|
||||
max-height: 240px;
|
||||
margin:0 auto;
|
||||
}
|
||||
|
||||
.embed-360p
|
||||
{
|
||||
max-width: 640px;
|
||||
max-height: 360px;
|
||||
margin:0 auto;
|
||||
}
|
||||
|
||||
.embed-480p
|
||||
{
|
||||
max-width: 854px;
|
||||
max-height: 480px;
|
||||
margin:0 auto;
|
||||
}
|
||||
|
||||
.embed-720p
|
||||
{
|
||||
max-width: 1280px;
|
||||
max-height: 720px;
|
||||
margin:0 auto;
|
||||
}
|
||||
|
||||
.embed-1080p
|
||||
{
|
||||
max-width: 1920px;
|
||||
max-height: 1080px;
|
||||
margin:0 auto;
|
||||
}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,27 +0,0 @@
|
|||
{
|
||||
"name": "ckeditor4",
|
||||
"version": "4.22.1",
|
||||
"description": "JavaScript WYSIWYG web text editor.",
|
||||
"main": "ckeditor.js",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/ckeditor/ckeditor4-releases.git"
|
||||
},
|
||||
"keywords": [
|
||||
"ckeditor4",
|
||||
"ckeditor",
|
||||
"fckeditor",
|
||||
"editor",
|
||||
"wysiwyg",
|
||||
"html",
|
||||
"richtext",
|
||||
"text",
|
||||
"javascript"
|
||||
],
|
||||
"author": "CKSource (https://cksource.com/)",
|
||||
"license": "(GPL-2.0 OR LGPL-2.1 OR MPL-1.1)",
|
||||
"bugs": {
|
||||
"url": "https://github.com/ckeditor/ckeditor4/issues"
|
||||
},
|
||||
"homepage": "https://ckeditor.com/ckeditor-4/"
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
/*
|
||||
Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
||||
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
||||
*/
|
||||
CKEDITOR.dialog.add("a11yHelp",function(f){function m(a){for(var b,c,h=[],d=0;d<g.length;d++)c=g[d],b=a/g[d],1<b&&2>=b&&(a-=c,h.push(e[c]));h.push(e[a]||String.fromCharCode(a));return h.join("+")}function t(a,b){var c=f.getCommandKeystroke(b,!0);return c.length?CKEDITOR.tools.array.map(c,m).join(" / "):a}var a=f.lang.a11yhelp,b=f.lang.common.keyboard,p=CKEDITOR.tools.getNextId(),q=/\$\{(.*?)\}/g,g=[CKEDITOR.ALT,CKEDITOR.SHIFT,CKEDITOR.CTRL],e={8:b[8],9:a.tab,13:b[13],16:b[16],17:b[17],18:b[18],19:a.pause,
|
||||
20:a.capslock,27:a.escape,33:a.pageUp,34:a.pageDown,35:b[35],36:b[36],37:a.leftArrow,38:a.upArrow,39:a.rightArrow,40:a.downArrow,45:a.insert,46:b[46],91:a.leftWindowKey,92:a.rightWindowKey,93:a.selectKey,96:a.numpad0,97:a.numpad1,98:a.numpad2,99:a.numpad3,100:a.numpad4,101:a.numpad5,102:a.numpad6,103:a.numpad7,104:a.numpad8,105:a.numpad9,106:a.multiply,107:a.add,109:a.subtract,110:a.decimalPoint,111:a.divide,112:a.f1,113:a.f2,114:a.f3,115:a.f4,116:a.f5,117:a.f6,118:a.f7,119:a.f8,120:a.f9,121:a.f10,
|
||||
122:a.f11,123:a.f12,144:a.numLock,145:a.scrollLock,186:a.semiColon,187:a.equalSign,188:a.comma,189:a.dash,190:a.period,191:a.forwardSlash,192:a.graveAccent,219:a.openBracket,220:a.backSlash,221:a.closeBracket,222:a.singleQuote};e[CKEDITOR.ALT]=b[18];e[CKEDITOR.SHIFT]=b[16];e[CKEDITOR.CTRL]=CKEDITOR.env.mac?b[224]:b[17];return{title:a.title,minWidth:600,minHeight:400,contents:[{id:"info",label:f.lang.common.generalTab,expand:!0,elements:[{type:"html",id:"legends",style:"white-space:normal;",focus:function(){this.getElement().focus()},
|
||||
html:function(){for(var b='\x3cdiv class\x3d"cke_accessibility_legend" role\x3d"document" aria-labelledby\x3d"'+p+'_arialbl" tabIndex\x3d"-1"\x3e%1\x3c/div\x3e\x3cspan id\x3d"'+p+'_arialbl" class\x3d"cke_voice_label"\x3e'+a.contents+" \x3c/span\x3e",e=[],c=a.legend,h=c.length,d=0;d<h;d++){for(var f=c[d],g=[],r=f.items,m=r.length,n=0;n<m;n++){var k=r[n],l=CKEDITOR.env.edge&&k.legendEdge?k.legendEdge:k.legend,l=l.replace(q,t);l.match(q)||g.push("\x3cdt\x3e%1\x3c/dt\x3e\x3cdd\x3e%2\x3c/dd\x3e".replace("%1",
|
||||
k.name).replace("%2",l))}e.push("\x3ch1\x3e%1\x3c/h1\x3e\x3cdl\x3e%2\x3c/dl\x3e".replace("%1",f.name).replace("%2",g.join("")))}return b.replace("%1",e.join(""))}()+'\x3cstyle type\x3d"text/css"\x3e.cke_accessibility_legend{width:600px;height:400px;padding-right:5px;overflow-y:auto;overflow-x:hidden;}.cke_browser_quirks .cke_accessibility_legend,{height:390px}.cke_accessibility_legend *{white-space:normal;}.cke_accessibility_legend h1{font-size: 20px;border-bottom: 1px solid #AAA;margin: 5px 0px 15px;}.cke_accessibility_legend dl{margin-left: 5px;}.cke_accessibility_legend dt{font-size: 13px;font-weight: bold;}.cke_accessibility_legend dd{margin:10px}\x3c/style\x3e'}]}],
|
||||
buttons:[CKEDITOR.dialog.cancelButton]}});
|
|
@ -1,25 +0,0 @@
|
|||
Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
||||
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
||||
|
||||
cs.js Found: 30 Missing: 0
|
||||
cy.js Found: 30 Missing: 0
|
||||
da.js Found: 12 Missing: 18
|
||||
de.js Found: 30 Missing: 0
|
||||
el.js Found: 25 Missing: 5
|
||||
eo.js Found: 30 Missing: 0
|
||||
fa.js Found: 30 Missing: 0
|
||||
fi.js Found: 30 Missing: 0
|
||||
fr.js Found: 30 Missing: 0
|
||||
gu.js Found: 12 Missing: 18
|
||||
he.js Found: 30 Missing: 0
|
||||
it.js Found: 30 Missing: 0
|
||||
mk.js Found: 5 Missing: 25
|
||||
nb.js Found: 30 Missing: 0
|
||||
nl.js Found: 30 Missing: 0
|
||||
no.js Found: 30 Missing: 0
|
||||
pt-br.js Found: 30 Missing: 0
|
||||
ro.js Found: 6 Missing: 24
|
||||
tr.js Found: 30 Missing: 0
|
||||
ug.js Found: 27 Missing: 3
|
||||
vi.js Found: 6 Missing: 24
|
||||
zh-cn.js Found: 30 Missing: 0
|
|
@ -1,11 +0,0 @@
|
|||
/*
|
||||
Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
||||
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
||||
*/
|
||||
CKEDITOR.plugins.setLang("a11yhelp","af",{title:"Toeganglikheid instruksies",contents:"Hulp inhoud. Druk ESC om toe te maak.",legend:[{name:"Algemeen",items:[{name:"Bewerker balk",legend:"Druk ${toolbarFocus} om op die werkbalk te land. Beweeg na die volgende en voorige wekrbalkgroep met TAB and SHIFT+TAB. Beweeg na die volgende en voorige werkbalkknop met die regter of linker pyl. Druk SPASIE of ENTER om die knop te bevestig."},{name:"Bewerker dialoog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively. Press ESC to discard changes and close the dialog. The focus will be moved back to the editing area upon leaving the dialog."},
|
||||
{name:"Bewerkerinhoudmenu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."},
|
||||
{name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command",
|
||||
legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},
|
||||
{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pouse",capslock:"Hoofletterslot",escape:"Ontsnap",pageUp:"Blaaiop",pageDown:"Blaaiaf",leftArrow:"Linkspyl",upArrow:"Oppyl",rightArrow:"Regterpyl",downArrow:"Afpyl",insert:"Toevoeg",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Nommerblok 0",numpad1:"Nommerblok 1",
|
||||
numpad2:"Nommerblok 2",numpad3:"Nommerblok 3",numpad4:"Nommerblok 4",numpad5:"Nommerblok 5",numpad6:"Nommerblok 6",numpad7:"Nommerblok 7",numpad8:"Nommerblok 8",numpad9:"Nommerblok 9",multiply:"Maal",add:"Plus",subtract:"Minus",decimalPoint:"Desimaalepunt",divide:"Gedeeldeur",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Nommervergrendel",scrollLock:"Rolvergrendel",semiColon:"Kommapunt",equalSign:"Isgelykaan",comma:"Komma",dash:"Koppelteken",
|
||||
period:"Punt",forwardSlash:"Skuinsstreep",graveAccent:"Aksentteken",openBracket:"Oopblokhakkie",backSlash:"Trustreep",closeBracket:"Toeblokhakkie",singleQuote:"Enkelaanhaalingsteken"});
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue