mirror of
https://github.com/OpenXE-org/OpenXE.git
synced 2025-03-03 13:29:24 +01:00
Merge branch 'OpenXE-org:master' into master
This commit is contained in:
commit
9f3f1388a0
@ -1,6 +1,6 @@
|
|||||||
# Generated file from class.acl.php
|
# Generated file from class.acl.php
|
||||||
# For detection of htaccess functionality
|
# For detection of htaccess functionality
|
||||||
SetEnv OPENXE_HTACCESS on
|
SetEnv HTTP_OPENXE_HTACCESS on
|
||||||
# Disable directory browsing
|
# Disable directory browsing
|
||||||
Options -Indexes
|
Options -Indexes
|
||||||
# Set default page to index.php
|
# Set default page to index.php
|
||||||
|
@ -8,6 +8,9 @@
|
|||||||
|
|
||||||
namespace Xentral\Carrier\SendCloud\Data;
|
namespace Xentral\Carrier\SendCloud\Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Documents object for a parcel
|
||||||
|
*/
|
||||||
class Document
|
class Document
|
||||||
{
|
{
|
||||||
public const TYPE_LABEL = 'label';
|
public const TYPE_LABEL = 'label';
|
||||||
|
13
classes/Carrier/SendCloud/Data/Label.php
Normal file
13
classes/Carrier/SendCloud/Data/Label.php
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Xentral\Carrier\SendCloud\Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Label object for a parcel
|
||||||
|
*/
|
||||||
|
class Label
|
||||||
|
{
|
||||||
|
public string $labelPrinter;
|
||||||
|
/** @var string[] $normalPrinter */
|
||||||
|
public array $normalPrinter;
|
||||||
|
}
|
@ -14,26 +14,41 @@ class ParcelCreation extends ParcelBase
|
|||||||
|
|
||||||
public function toApiRequest(): array
|
public function toApiRequest(): array
|
||||||
{
|
{
|
||||||
|
|
||||||
|
define("DEFAULT_LENGTH", 150);
|
||||||
|
|
||||||
|
// DPD-special condition, to be checked in detail
|
||||||
|
$address_2 = substr($this->Adress2, 0, 35);
|
||||||
|
$company_name = substr($this->CompanyName, 0, 35);
|
||||||
|
$length = strlen($address_2)+strlen($company_name);
|
||||||
|
if ($length > 34) {
|
||||||
|
$company_name_length = 34-strlen($address_2);
|
||||||
|
if ($company_name_length < 0) {
|
||||||
|
$company_name_lenght = 0;
|
||||||
|
}
|
||||||
|
$company_name = substr($company_name, 0, $company_name_length);
|
||||||
|
}
|
||||||
|
|
||||||
$data = [
|
$data = [
|
||||||
'name' => $this->Name,
|
'name' => substr($this->Name, 0, 35),
|
||||||
'company_name' => $this->CompanyName,
|
'company_name' => $company_name,
|
||||||
'address' => $this->Address,
|
'address' => substr($this->Address, 0, 35),
|
||||||
'address_2' => $this->Address2,
|
'address_2' => $address_2,
|
||||||
'house_number' => $this->HouseNumber,
|
'house_number' => substr($this->HouseNumber, 0, 8),
|
||||||
'city' => $this->City,
|
'city' => substr($this->City, 0, 30),
|
||||||
'postal_code' => $this->PostalCode,
|
'postal_code' => substr($this->PostalCode, 0, 12),
|
||||||
'telephone' => $this->Telephone,
|
'telephone' => substr($this->Telephone, 0, 20),
|
||||||
'request_label' => $this->RequestLabel,
|
'request_label' => $this->RequestLabel,
|
||||||
'email' => $this->EMail,
|
'email' => substr($this->EMail, 0, DEFAULT_LENGTH),
|
||||||
'country' => $this->Country,
|
'country' => substr($this->Country, 0, DEFAULT_LENGTH),
|
||||||
'shipment' => ['id' => $this->ShippingMethodId],
|
'shipment' => ['id' => $this->ShippingMethodId],
|
||||||
'weight' => number_format($this->Weight / 1000, 3, '.', null),
|
'weight' => number_format($this->Weight / 1000, 3, '.', null),
|
||||||
'order_number' => $this->OrderNumber,
|
'order_number' => substr($this->OrderNumber, 0, 35),
|
||||||
'total_order_value_currency' => $this->TotalOrderValueCurrency,
|
'total_order_value_currency' => $this->TotalOrderValueCurrency,
|
||||||
'total_order_value' => number_format($this->TotalOrderValue, 2, '.', null),
|
'total_order_value' => number_format($this->TotalOrderValue, 2, '.', null),
|
||||||
'country_state' => $this->CountryState,
|
'country_state' => substr($this->CountryState, 0, DEFAULT_LENGTH),
|
||||||
'sender_address' => $this->SenderAddressId,
|
'sender_address' => substr($this->SenderAddressId, 0, DEFAULT_LENGTH),
|
||||||
'external_reference' => $this->ExternalReference,
|
'external_reference' => substr($this->ExternalReference, 0, DEFAULT_LENGTH),
|
||||||
'total_insured_value' => $this->TotalInsuredValue ?? 0,
|
'total_insured_value' => $this->TotalInsuredValue ?? 0,
|
||||||
'parcel_items' => array_map(fn(ParcelItem $item) => $item->toApiRequest(), $this->ParcelItems),
|
'parcel_items' => array_map(fn(ParcelItem $item) => $item->toApiRequest(), $this->ParcelItems),
|
||||||
'is_return' => $this->IsReturn,
|
'is_return' => $this->IsReturn,
|
||||||
@ -41,11 +56,14 @@ class ParcelCreation extends ParcelBase
|
|||||||
'width' => $this->Width,
|
'width' => $this->Width,
|
||||||
'height' => $this->Height,
|
'height' => $this->Height,
|
||||||
];
|
];
|
||||||
if ($this->CustomsInvoiceNr !== null)
|
if ($this->CustomsInvoiceNr !== null) {
|
||||||
$data['customs_invoice_nr'] = $this->CustomsInvoiceNr;
|
$data['customs_invoice_nr'] = substr($this->CustomsInvoiceNr, 0, 40);
|
||||||
if ($this->CustomsShipmentType !== null)
|
}
|
||||||
$data['customs_shipment_type'] = $this->CustomsShipmentType;
|
if ($this->CustomsShipmentType !== null) {
|
||||||
|
$data['customs_shipment_type'] = substr($this->CustomsShipmentType, 0, DEFAULT_LENGTH);
|
||||||
|
}
|
||||||
|
|
||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,6 +8,9 @@
|
|||||||
|
|
||||||
namespace Xentral\Carrier\SendCloud\Data;
|
namespace Xentral\Carrier\SendCloud\Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Error returned during parcel creation
|
||||||
|
*/
|
||||||
class ParcelCreationError
|
class ParcelCreationError
|
||||||
{
|
{
|
||||||
public int $Code;
|
public int $Code;
|
||||||
|
12
classes/Carrier/SendCloud/Data/Shipment.php
Normal file
12
classes/Carrier/SendCloud/Data/Shipment.php
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Xentral\Carrier\SendCloud\Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Shipping method object for a parcel
|
||||||
|
*/
|
||||||
|
class Shipment
|
||||||
|
{
|
||||||
|
public int $id;
|
||||||
|
public int $name;
|
||||||
|
}
|
12
classes/Carrier/SendCloud/Data/Status.php
Normal file
12
classes/Carrier/SendCloud/Data/Status.php
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Xentral\Carrier\SendCloud\Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Status object for a parcel
|
||||||
|
*/
|
||||||
|
class Status
|
||||||
|
{
|
||||||
|
public int $id;
|
||||||
|
public string $message;
|
||||||
|
}
|
@ -79,7 +79,7 @@ class SendCloudApi
|
|||||||
*/
|
*/
|
||||||
public function CreateParcel(ParcelCreation $parcel): ParcelResponse|string|null
|
public function CreateParcel(ParcelCreation $parcel): ParcelResponse|string|null
|
||||||
{
|
{
|
||||||
$uri = self::PROD_BASE_URI . '/parcels';
|
$uri = self::PROD_BASE_URI . '/parcels?errors=verbose-carrier';
|
||||||
$response = $this->sendRequest($uri, null, true, ['parcel' => $parcel->toApiRequest()], [200,400]);
|
$response = $this->sendRequest($uri, null, true, ['parcel' => $parcel->toApiRequest()], [200,400]);
|
||||||
switch ($response['code']) {
|
switch ($response['code']) {
|
||||||
case 200:
|
case 200:
|
||||||
@ -91,8 +91,8 @@ class SendCloudApi
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 400:
|
case 400:
|
||||||
if (isset($response->error))
|
if (isset($response['body']->error))
|
||||||
return $response->error->message;
|
return $response['body']->error->message;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
throw SendcloudApiException::fromResponse($response);
|
throw SendcloudApiException::fromResponse($response);
|
||||||
|
@ -67,11 +67,18 @@ class MailAttachmentData implements MailAttachmentInterface
|
|||||||
} else if ($split[0] === 'inline') {
|
} else if ($split[0] === 'inline') {
|
||||||
return ('inline');
|
return ('inline');
|
||||||
}
|
}
|
||||||
} else { // Check for application/octet-stream
|
} else {
|
||||||
|
// No disposition given (that is a bad thing)
|
||||||
|
// Check for application/octet-stream
|
||||||
$content_type = $part->getContentType();
|
$content_type = $part->getContentType();
|
||||||
if ($content_type == 'application/octet-stream') {
|
if ($content_type == 'application/octet-stream') {
|
||||||
return('application/octet-stream');
|
return('application/octet-stream');
|
||||||
}
|
}
|
||||||
|
// Check for Content-id
|
||||||
|
$contentIdHeader = $part->getHeader('content-id');
|
||||||
|
if ($contentIdHeader !== null) {
|
||||||
|
return ('inline');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,9 +49,9 @@ final class PdfMerger
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$this->fpdi->mergeFiles($sourceFiles, $targetFile);
|
|
||||||
} catch (PdfIncompatibleException $exception) {
|
|
||||||
$this->gs->mergeFiles($sourceFiles, $targetFile);
|
$this->gs->mergeFiles($sourceFiles, $targetFile);
|
||||||
|
} catch (Exception $exception) {
|
||||||
|
$this->fpdi->mergeFiles($sourceFiles, $targetFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $targetFile;
|
return $targetFile;
|
||||||
|
@ -39,7 +39,7 @@ final class Bootstrap
|
|||||||
*
|
*
|
||||||
* @return ImportTemplateService
|
* @return ImportTemplateService
|
||||||
*/
|
*/
|
||||||
public function onInitImportTemplateService(ContainerInterface $container)
|
public static function onInitImportTemplateService(ContainerInterface $container)
|
||||||
{
|
{
|
||||||
return new ImportTemplateService(
|
return new ImportTemplateService(
|
||||||
$container->get('Database')
|
$container->get('Database')
|
||||||
@ -51,7 +51,7 @@ final class Bootstrap
|
|||||||
*
|
*
|
||||||
* @return ImportTemplateGateway
|
* @return ImportTemplateGateway
|
||||||
*/
|
*/
|
||||||
public function onInitImportTemplateGateway(ContainerInterface $container)
|
public static function onInitImportTemplateGateway(ContainerInterface $container)
|
||||||
{
|
{
|
||||||
return new ImportTemplateGateway(
|
return new ImportTemplateGateway(
|
||||||
$container->get('Database')
|
$container->get('Database')
|
||||||
|
@ -129,6 +129,8 @@ final class Shopware6Client
|
|||||||
],
|
],
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
if ($priceData->getEndingQuantity() > 0)
|
||||||
|
$data['quantityEnd'] = $priceData->getEndingQuantity();
|
||||||
|
|
||||||
return $this->request(
|
return $this->request(
|
||||||
'POST',
|
'POST',
|
||||||
|
@ -8,6 +8,8 @@ class PriceData
|
|||||||
{
|
{
|
||||||
/** @var int */
|
/** @var int */
|
||||||
protected $startingQuantity;
|
protected $startingQuantity;
|
||||||
|
/** @var int|null */
|
||||||
|
protected $endingQuantity;
|
||||||
/** @var float */
|
/** @var float */
|
||||||
protected $net;
|
protected $net;
|
||||||
/** @var float */
|
/** @var float */
|
||||||
@ -26,13 +28,14 @@ class PriceData
|
|||||||
* @param $currency
|
* @param $currency
|
||||||
* @param $groupName
|
* @param $groupName
|
||||||
*/
|
*/
|
||||||
public function __construct(int $startingQuantity, float $net, float $gross, string $currency, string $groupName)
|
public function __construct(int $startingQuantity, float $net, float $gross, string $currency, string $groupName, int $endingQuantity = null)
|
||||||
{
|
{
|
||||||
$this->startingQuantity = $startingQuantity;
|
$this->startingQuantity = $startingQuantity;
|
||||||
$this->net = $net;
|
$this->net = $net;
|
||||||
$this->gross = $gross;
|
$this->gross = $gross;
|
||||||
$this->currency = $currency;
|
$this->currency = $currency;
|
||||||
$this->groupName = $groupName;
|
$this->groupName = $groupName;
|
||||||
|
$this->endingQuantity = $endingQuantity;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -95,6 +98,25 @@ class PriceData
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return int|null
|
||||||
|
*/
|
||||||
|
public function getEndingQuantity(): int|null
|
||||||
|
{
|
||||||
|
return $this->endingQuantity;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param int $endingQuantity
|
||||||
|
* @return PriceData
|
||||||
|
*/
|
||||||
|
public function setEndingQuantity(int $endingQuantity): PriceData
|
||||||
|
{
|
||||||
|
$this->endingQuantity = $endingQuantity;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return float
|
* @return float
|
||||||
*/
|
*/
|
||||||
|
@ -15,6 +15,7 @@ use DateTimeImmutable;
|
|||||||
use DateTimeInterface;
|
use DateTimeInterface;
|
||||||
use Exception;
|
use Exception;
|
||||||
use Xentral\Components\Database\Database;
|
use Xentral\Components\Database\Database;
|
||||||
|
use Xentral\Components\Logger\Logger;
|
||||||
use Xentral\Modules\SubscriptionCycle\Service\SubscriptionCycleJobService;
|
use Xentral\Modules\SubscriptionCycle\Service\SubscriptionCycleJobService;
|
||||||
use Xentral\Modules\SubscriptionCycle\SubscriptionCycleModuleInterface;
|
use Xentral\Modules\SubscriptionCycle\SubscriptionCycleModuleInterface;
|
||||||
use Xentral\Modules\SubscriptionCycle\SubscriptionModuleInterface;
|
use Xentral\Modules\SubscriptionCycle\SubscriptionModuleInterface;
|
||||||
@ -58,15 +59,23 @@ final class SubscriptionCycleManualJobTask
|
|||||||
$this->taskMutexService->setMutex('rechnungslauf_manual');
|
$this->taskMutexService->setMutex('rechnungslauf_manual');
|
||||||
$jobs = $this->cycleJobService->listAll(100);
|
$jobs = $this->cycleJobService->listAll(100);
|
||||||
foreach ($jobs as $job) {
|
foreach ($jobs as $job) {
|
||||||
switch ($job['document_type']) {
|
try {
|
||||||
case 'rechnung':
|
switch ($job['document_type']) {
|
||||||
$this->subscriptionModule->CreateInvoice((int)$job['address_id']);
|
case 'rechnung':
|
||||||
break;
|
$this->subscriptionModule->CreateInvoice((int)$job['address_id']);
|
||||||
case 'auftrag':
|
break;
|
||||||
$this->subscriptionModule->CreateOrder((int)$job['address_id']);
|
case 'auftrag':
|
||||||
break;
|
$this->subscriptionModule->CreateOrder((int)$job['address_id']);
|
||||||
}
|
break;
|
||||||
$this->cycleJobService->delete((int)$job['id']);
|
}
|
||||||
|
}
|
||||||
|
catch (Exception $e) {
|
||||||
|
/** @var Logger $logger */
|
||||||
|
$logger = $this->app->Container->get('Logger');
|
||||||
|
$logger->error($e->getMessage(), $job);
|
||||||
|
} finally {
|
||||||
|
$this->cycleJobService->delete((int)$job['id']);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -61,6 +61,7 @@ class SubscriptionModule implements SubscriptionModuleInterface
|
|||||||
WHERE aa.dokument = :doctype
|
WHERE aa.dokument = :doctype
|
||||||
AND greatest(aa.startdatum, aa.abgerechnetbis) <= :calcdate
|
AND greatest(aa.startdatum, aa.abgerechnetbis) <= :calcdate
|
||||||
AND (aa.enddatum = '0000-00-00' OR aa.abgerechnetbis < aa.enddatum)
|
AND (aa.enddatum = '0000-00-00' OR aa.abgerechnetbis < aa.enddatum)
|
||||||
|
AND aa.preisart IN ('monat', 'jahr', '30tage')
|
||||||
AND aa.adresse = :address";
|
AND aa.adresse = :address";
|
||||||
|
|
||||||
return $this->db->fetchAll($sql, [
|
return $this->db->fetchAll($sql, [
|
||||||
|
@ -850,9 +850,9 @@ class TicketImportHelper
|
|||||||
if (
|
if (
|
||||||
$this->mailAccount->isAutoresponseEnabled()
|
$this->mailAccount->isAutoresponseEnabled()
|
||||||
&& $this->mailAccount->getAutoresponseText() !== ''
|
&& $this->mailAccount->getAutoresponseText() !== ''
|
||||||
&& (
|
&& !(
|
||||||
// $this->erpApi->AutoresponderBlacklist($from) !== 1 ||
|
$this->CheckAutoresponderBlacklist($from) &&
|
||||||
$this->mailAccount->isAutoresponseLimitEnabled() === false
|
$this->mailAccount->isAutoresponseLimitEnabled()
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
|
|
||||||
@ -867,20 +867,38 @@ class TicketImportHelper
|
|||||||
$betreff = str_replace('{TICKET}', $ticketNumber, $betreff);
|
$betreff = str_replace('{TICKET}', $ticketNumber, $betreff);
|
||||||
$betreff = str_replace('{BETREFF}', $subject, $betreff);
|
$betreff = str_replace('{BETREFF}', $subject, $betreff);
|
||||||
|
|
||||||
|
|
||||||
if (!$this->erpApi->isHTML($text)) {
|
if (!$this->erpApi->isHTML($text)) {
|
||||||
$text = str_replace("\r\n", '<br>', $text);
|
$text = str_replace("\r\n", '<br>', $text);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$this->SetAutoresponderBlacklist($from);
|
||||||
|
|
||||||
$this->erpApi->MailSend(
|
$this->erpApi->MailSend(
|
||||||
$this->mailAccount->getSenderEmailAddress(),
|
$this->mailAccount->getSenderEmailAddress(),
|
||||||
'',
|
$this->mailAccount->getSenderName(),
|
||||||
|
$from,
|
||||||
$from,
|
$from,
|
||||||
$name_sender,
|
|
||||||
$betreff,
|
$betreff,
|
||||||
$text
|
$text
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return(true);
|
return(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Check if the given address has already been autoresponded to
|
||||||
|
// True if blocked
|
||||||
|
function CheckAutoresponderBlacklist(string $mailaddress) : bool {
|
||||||
|
$blocked = $this->db->Select("SELECT * FROM autoresponder_blacklist WHERE mailaddress = '".$mailaddress."' AND cachetime > DATE_ADD(CURRENT_TIMESTAMP, INTERVAL -24 HOUR)");
|
||||||
|
|
||||||
|
$this->logger->debug('Blacklist',['address' => $mailaddress, 'result' => $blocked]);
|
||||||
|
|
||||||
|
return(!empty($blocked));
|
||||||
|
}
|
||||||
|
|
||||||
|
function SetAutoresponderBlacklist(string $mailaddress) {
|
||||||
|
$this->db->Insert("INSERT INTO autoresponder_blacklist (mailaddress) VALUES ('".$mailaddress."')");
|
||||||
|
$this->db->Delete("DELETE FROM autoresponder_blacklist WHERE cachetime < DATE_ADD(CURRENT_TIMESTAMP, INTERVAL -24 HOUR)");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -945,7 +945,7 @@ if($shops) {
|
|||||||
{
|
{
|
||||||
$onlinebestellnummer = $tmpwarenkorb['auftrag'];
|
$onlinebestellnummer = $tmpwarenkorb['auftrag'];
|
||||||
}
|
}
|
||||||
$projekt = $app->DB->Select("SELECT projekt WHERE shopexport = '$id' LIMIT 1");
|
$projekt = $app->DB->Select("SELECT projekt FROM shopexport WHERE id = '$id' LIMIT 1");
|
||||||
if(!empty($tmpwarenkorb['projekt']) && $app->DB->Select("SELECT id FROM projekt WHERE id = '".(int)$tmpwarenkorb['projekt']."' LIMIT 1"))$projekt = (int)$tmpwarenkorb['projekt'];
|
if(!empty($tmpwarenkorb['projekt']) && $app->DB->Select("SELECT id FROM projekt WHERE id = '".(int)$tmpwarenkorb['projekt']."' LIMIT 1"))$projekt = (int)$tmpwarenkorb['projekt'];
|
||||||
if(isset($tmpwarenkorb['subshop']) && $tmpwarenkorb['subshop'])
|
if(isset($tmpwarenkorb['subshop']) && $tmpwarenkorb['subshop'])
|
||||||
{
|
{
|
||||||
|
24373
database/struktur.sql
24373
database/struktur.sql
File diff suppressed because it is too large
Load Diff
@ -849,9 +849,10 @@ class Acl
|
|||||||
{
|
{
|
||||||
// verbinden zum ldap server
|
// verbinden zum ldap server
|
||||||
$ds = ldap_connect($this->app->erp->Firmendaten("ldap_host"));
|
$ds = ldap_connect($this->app->erp->Firmendaten("ldap_host"));
|
||||||
|
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
|
||||||
|
ldap_set_option($ds, LDAP_OPT_REFERRALS, 0);
|
||||||
$suche = $this->app->erp->Firmendaten("ldap_searchbase");
|
$suche = $this->app->erp->Firmendaten("ldap_searchbase");
|
||||||
$filter = $this->app->erp->Firmendaten("ldap_filter");
|
$filter = str_replace('{USER}',$username,$this->app->erp->Firmendaten("ldap_filter"));
|
||||||
//$bind_name = str_replace('%user%',$username,$this->app->erp->Firmendaten("ldap_bindname"));
|
|
||||||
$bind_name = str_replace('{USER}',$username,$this->app->erp->Firmendaten("ldap_bindname"));
|
$bind_name = str_replace('{USER}',$username,$this->app->erp->Firmendaten("ldap_bindname"));
|
||||||
|
|
||||||
if ($ds) {
|
if ($ds) {
|
||||||
@ -1227,7 +1228,7 @@ class Acl
|
|||||||
$nominal = array('
|
$nominal = array('
|
||||||
# Generated file from class.acl.php
|
# Generated file from class.acl.php
|
||||||
# For detection of htaccess functionality
|
# For detection of htaccess functionality
|
||||||
SetEnv OPENXE_HTACCESS on
|
SetEnv HTTP_OPENXE_HTACCESS on
|
||||||
# Disable directory browsing
|
# Disable directory browsing
|
||||||
Options -Indexes
|
Options -Indexes
|
||||||
# Set default page to index.php
|
# Set default page to index.php
|
||||||
@ -1303,7 +1304,7 @@ Allow from all
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isset($_SERVER['OPENXE_HTACCESS'])) {
|
if (!isset($_SERVER['HTTP_OPENXE_HTACCESS'])) {
|
||||||
return("htaccess nicht aktiv.");
|
return("htaccess nicht aktiv.");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1312,6 +1313,7 @@ Allow from all
|
|||||||
}
|
}
|
||||||
|
|
||||||
function refresh_githash() {
|
function refresh_githash() {
|
||||||
|
$gitinfo = array();
|
||||||
$path = '../.git/';
|
$path = '../.git/';
|
||||||
if (!is_dir($path)) {
|
if (!is_dir($path)) {
|
||||||
return;
|
return;
|
||||||
@ -1320,12 +1322,13 @@ Allow from all
|
|||||||
$refs = trim(substr($head,0,4));
|
$refs = trim(substr($head,0,4));
|
||||||
if ($refs == 'ref:') {
|
if ($refs == 'ref:') {
|
||||||
$ref = substr($head,5);
|
$ref = substr($head,5);
|
||||||
$hash = trim(file_get_contents($path . $ref));
|
$gitinfo['hash'] = trim(file_get_contents($path . $ref));
|
||||||
|
$gitinfo['branch'] = basename($path . $ref);
|
||||||
} else {
|
} else {
|
||||||
$hash = $head;
|
$gitinfo['hash'] = $head;
|
||||||
}
|
}
|
||||||
if (!empty($hash)) {
|
if (!empty($gitinfo)) {
|
||||||
file_put_contents("../githash.txt", $hash);
|
file_put_contents("../gitinfo.json", json_encode($gitinfo));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6781,7 +6781,11 @@ r.land as land, p.abkuerzung as projekt, r.zahlungsweise as zahlungsweise,
|
|||||||
FORMAT(r.soll,2{$extended_mysql55} ) as soll,
|
FORMAT(r.soll,2{$extended_mysql55} ) as soll,
|
||||||
ifnull(r.waehrung,'EUR'),
|
ifnull(r.waehrung,'EUR'),
|
||||||
r.zahlungsstatus as zahlung,
|
r.zahlungsstatus as zahlung,
|
||||||
if(r.soll-r.ist!=0 AND r.ist > 0,FORMAT(r.ist-r.soll,2{$extended_mysql55}),FORMAT((r.soll-r.ist)*-1,2{$extended_mysql55})) as fehlt,
|
if (
|
||||||
|
r.zahlungsstatus <> 'bezahlt',
|
||||||
|
if(r.soll-r.ist!=0 AND r.ist > 0,FORMAT(r.ist-r.soll,2{$extended_mysql55}),FORMAT((r.soll-r.ist)*-1,2{$extended_mysql55})),
|
||||||
|
'')
|
||||||
|
as fehlt,
|
||||||
if(r.status = 'storniert' AND r.teilstorno = 1,'TEILSTORNO',UPPER(r.status)) as status,
|
if(r.status = 'storniert' AND r.teilstorno = 1,'TEILSTORNO',UPPER(r.status)) as status,
|
||||||
".(!empty($zusatzcols)?implode(', ',$zusatzcols).',':'')."
|
".(!empty($zusatzcols)?implode(', ',$zusatzcols).',':'')."
|
||||||
r.id
|
r.id
|
||||||
|
@ -85,10 +85,8 @@ class PLACEHOLDER_MODULECLASSNAME {
|
|||||||
|
|
||||||
public function PLACEHOLDER_DELETE() {
|
public function PLACEHOLDER_DELETE() {
|
||||||
$id = (int) $this->app->Secure->GetGET('id');
|
$id = (int) $this->app->Secure->GetGET('id');
|
||||||
|
|
||||||
$this->app->DB->Delete("DELETE FROM `PLACEHOLDER_MODULENAME` WHERE `id` = '{$id}'");
|
$this->app->DB->Delete("DELETE FROM `PLACEHOLDER_MODULENAME` WHERE `id` = '{$id}'");
|
||||||
$this->app->Tpl->Set('MESSAGE', "<div class=\"error\">Der Eintrag wurde gelöscht.</div>");
|
$this->app->Tpl->addMessage('error', 'Der Eintrag wurde gelöscht');
|
||||||
|
|
||||||
$this->PLACEHOLDER_LIST();
|
$this->PLACEHOLDER_LIST();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -112,6 +110,10 @@ class PLACEHOLDER_MODULECLASSNAME {
|
|||||||
$this->app->erp->MenuEintrag("index.php?module=PLACEHOLDER_MODULENAME&action=list", "Zurück zur Übersicht");
|
$this->app->erp->MenuEintrag("index.php?module=PLACEHOLDER_MODULENAME&action=list", "Zurück zur Übersicht");
|
||||||
$id = $this->app->Secure->GetGET('id');
|
$id = $this->app->Secure->GetGET('id');
|
||||||
$input = $this->GetInput();
|
$input = $this->GetInput();
|
||||||
|
|
||||||
|
// Convert here
|
||||||
|
// $input['prio'] = !empty($this->app->Secure->GetPOST('prio'))?"1":"0";
|
||||||
|
|
||||||
$submit = $this->app->Secure->GetPOST('submit');
|
$submit = $this->app->Secure->GetPOST('submit');
|
||||||
|
|
||||||
if (empty($id)) {
|
if (empty($id)) {
|
||||||
@ -156,23 +158,26 @@ class PLACEHOLDER_MODULECLASSNAME {
|
|||||||
$msg = $this->app->erp->base64_url_encode("<div class=\"success\">Das Element wurde erfolgreich angelegt.</div>");
|
$msg = $this->app->erp->base64_url_encode("<div class=\"success\">Das Element wurde erfolgreich angelegt.</div>");
|
||||||
header("Location: index.php?module=PLACEHOLDER_MODULENAME&action=list&msg=$msg");
|
header("Location: index.php?module=PLACEHOLDER_MODULENAME&action=list&msg=$msg");
|
||||||
} else {
|
} else {
|
||||||
$this->app->Tpl->Set('MESSAGE', "<div class=\"success\">Die Einstellungen wurden erfolgreich übernommen.</div>");
|
$this->app->Tpl->addMessage('success', 'Die Einstellungen wurden erfolgreich übernommen.');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Load values again from database
|
// Load values again from database
|
||||||
$dropnbox = "PLACEHOLDER_DROPNBOX";
|
if ($id != 'NULL') {
|
||||||
$result = $this->app->DB->SelectArr("PLACEHOLDER_SQL_LIST"." WHERE id=$id");
|
|
||||||
|
|
||||||
foreach ($result[0] as $key => $value) {
|
$dropnbox = "PLACEHOLDER_DROPNBOX";
|
||||||
$this->app->Tpl->Set(strtoupper($key), $value);
|
$result = $this->app->DB->SelectArr("PLACEHOLDER_SQL_LIST"." WHERE id=$id");
|
||||||
}
|
|
||||||
|
|
||||||
if (!empty($result)) {
|
foreach ($result[0] as $key => $value) {
|
||||||
$PLACEHOLDER_MODULENAME_from_db = $result[0];
|
$this->app->Tpl->Set(strtoupper($key), $value);
|
||||||
} else {
|
}
|
||||||
return;
|
|
||||||
|
if (!empty($result)) {
|
||||||
|
$PLACEHOLDER_MODULENAME_from_db = $result[0];
|
||||||
|
} else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -184,6 +189,8 @@ class PLACEHOLDER_MODULECLASSNAME {
|
|||||||
$this->app->Tpl->Add('ANGEZEIGTERNAME', $angezeigtername);
|
$this->app->Tpl->Add('ANGEZEIGTERNAME', $angezeigtername);
|
||||||
|
|
||||||
$this->app->YUI->AutoComplete("artikel", "artikelnummer");
|
$this->app->YUI->AutoComplete("artikel", "artikelnummer");
|
||||||
|
$this->app->Tpl->Set('PROJEKT',$this->app->erp->ReplaceProjekt(false,$PLACEHOLDER_MODULENAME_from_db['projekt'],false));
|
||||||
|
$this->app->Tpl->Set('PRIO', $PLACEHOLDER_MODULENAME_from_db['prio']==1?"checked":"");
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -3660,6 +3660,28 @@
|
|||||||
"Extra": "",
|
"Extra": "",
|
||||||
"Privileges": "select,insert,update,references",
|
"Privileges": "select,insert,update,references",
|
||||||
"Comment": ""
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "etikettautodruck",
|
||||||
|
"Type": "int(1)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": "0",
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "etikett",
|
||||||
|
"Type": "int(11)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": "0",
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"keys": [
|
"keys": [
|
||||||
@ -50385,6 +50407,83 @@
|
|||||||
"Privileges": "select,insert,update,references",
|
"Privileges": "select,insert,update,references",
|
||||||
"Comment": ""
|
"Comment": ""
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"Field": "usereditid",
|
||||||
|
"Type": "int(11)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "YES",
|
||||||
|
"Key": "MUL",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "projekt",
|
||||||
|
"Type": "int(11)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "MUL",
|
||||||
|
"Default": "0",
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "adresse",
|
||||||
|
"Type": "int(10)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "MUL",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "belegnr",
|
||||||
|
"Type": "varchar(255)",
|
||||||
|
"Collation": "utf8mb3_general_ci",
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "MUL",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "schreibschutz",
|
||||||
|
"Type": "int(1)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": "0",
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "ausgelagert",
|
||||||
|
"Type": "int(1)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": "0",
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "sprache",
|
||||||
|
"Type": "varchar(32)",
|
||||||
|
"Collation": "utf8mb3_general_ci",
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"Field": "zeitstempel",
|
"Field": "zeitstempel",
|
||||||
"Type": "timestamp",
|
"Type": "timestamp",
|
||||||
@ -50472,6 +50571,28 @@
|
|||||||
"Extra": "",
|
"Extra": "",
|
||||||
"Privileges": "select,insert,update,references",
|
"Privileges": "select,insert,update,references",
|
||||||
"Comment": ""
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "lieferschein",
|
||||||
|
"Type": "int(11)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": "0",
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "auftrag",
|
||||||
|
"Type": "int(11)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": "0",
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"keys": [
|
"keys": [
|
||||||
@ -50534,6 +50655,17 @@
|
|||||||
"Privileges": "select,insert,update,references",
|
"Privileges": "select,insert,update,references",
|
||||||
"Comment": ""
|
"Comment": ""
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"Field": "menge",
|
||||||
|
"Type": "decimal(14,4)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": "0.0000",
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"Field": "ausgeblendet",
|
"Field": "ausgeblendet",
|
||||||
"Type": "tinyint(1)",
|
"Type": "tinyint(1)",
|
||||||
@ -92697,6 +92829,17 @@
|
|||||||
"Privileges": "select,insert,update,references",
|
"Privileges": "select,insert,update,references",
|
||||||
"Comment": ""
|
"Comment": ""
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"Field": "texteuebertragen",
|
||||||
|
"Type": "tinyint(1)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": "1",
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"Field": "adressennichtueberschreiben",
|
"Field": "adressennichtueberschreiben",
|
||||||
"Type": "tinyint(1)",
|
"Type": "tinyint(1)",
|
||||||
@ -111329,6 +111472,17 @@
|
|||||||
"Extra": "",
|
"Extra": "",
|
||||||
"Privileges": "select,insert,update,references",
|
"Privileges": "select,insert,update,references",
|
||||||
"Comment": ""
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "ustid",
|
||||||
|
"Type": "varchar(64)",
|
||||||
|
"Collation": "utf8mb3_general_ci",
|
||||||
|
"Null": "YES",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"keys": [
|
"keys": [
|
||||||
@ -112175,7 +112329,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Field": "preis",
|
"Field": "preis",
|
||||||
"Type": "decimal(14,4)",
|
"Type": "decimal(14,5)",
|
||||||
"Collation": null,
|
"Collation": null,
|
||||||
"Null": "NO",
|
"Null": "NO",
|
||||||
"Key": "",
|
"Key": "",
|
||||||
|
@ -119,6 +119,12 @@ if (php_sapi_name() == "cli") {
|
|||||||
$strict_db = false;
|
$strict_db = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (in_array('-drop_keys', $argv)) {
|
||||||
|
$drop_keys = true;
|
||||||
|
} else {
|
||||||
|
$drop_keys = false;
|
||||||
|
}
|
||||||
|
|
||||||
if (in_array('-do', $argv)) {
|
if (in_array('-do', $argv)) {
|
||||||
if (!$check_git && !$check_db) {
|
if (!$check_git && !$check_db) {
|
||||||
$do_git = true;
|
$do_git = true;
|
||||||
@ -143,7 +149,8 @@ if (php_sapi_name() == "cli") {
|
|||||||
do_db: $do_db,
|
do_db: $do_db,
|
||||||
force: $force,
|
force: $force,
|
||||||
connection: $connection,
|
connection: $connection,
|
||||||
origin: $origin);
|
origin: $origin,
|
||||||
|
drop_keys: $drop_keys);
|
||||||
} else {
|
} else {
|
||||||
info();
|
info();
|
||||||
}
|
}
|
||||||
@ -155,7 +162,7 @@ if (php_sapi_name() == "cli") {
|
|||||||
}
|
}
|
||||||
// -------------------------------- END
|
// -------------------------------- END
|
||||||
|
|
||||||
function upgrade_main(string $directory,bool $verbose, bool $check_git, bool $do_git, bool $export_db, bool $check_db, bool $strict_db, bool $do_db, bool $force, bool $connection, bool $origin) {
|
function upgrade_main(string $directory,bool $verbose, bool $check_git, bool $do_git, bool $export_db, bool $check_db, bool $strict_db, bool $do_db, bool $force, bool $connection, bool $origin, bool $drop_keys) {
|
||||||
|
|
||||||
$mainfolder = dirname($directory);
|
$mainfolder = dirname($directory);
|
||||||
$datafolder = $directory."/data";
|
$datafolder = $directory."/data";
|
||||||
@ -395,7 +402,7 @@ function upgrade_main(string $directory,bool $verbose, bool $check_git, bool $do
|
|||||||
echo_out("--------------- Calculating database upgrade for '$schema@$host'... ---------------\n");
|
echo_out("--------------- Calculating database upgrade for '$schema@$host'... ---------------\n");
|
||||||
|
|
||||||
$upgrade_sql = array();
|
$upgrade_sql = array();
|
||||||
$result = mustal_calculate_db_upgrade($compare_def, $db_def, $upgrade_sql, $mustal_replacers, $strict_db);
|
$result = mustal_calculate_db_upgrade($compare_def, $db_def, $upgrade_sql, $mustal_replacers, $strict_db, $drop_keys);
|
||||||
|
|
||||||
if (!empty($result)) {
|
if (!empty($result)) {
|
||||||
abort(count($result)." errors.\n");
|
abort(count($result)." errors.\n");
|
||||||
|
18
vendor/mustal/mustal_mysql_upgrade_tool.php
vendored
18
vendor/mustal/mustal_mysql_upgrade_tool.php
vendored
@ -21,7 +21,7 @@ function mustal_compare_table_array(array $nominal, string $nominal_name, array
|
|||||||
Compare two database structures
|
Compare two database structures
|
||||||
Returns a structured array containing information on all the differences.
|
Returns a structured array containing information on all the differences.
|
||||||
|
|
||||||
function mustal_calculate_db_upgrade(array $compare_def, array $db_def, array &$upgrade_sql, bool $strict) : int
|
function mustal_calculate_db_upgrade(array $compare_def, array $db_def, array &$upgrade_sql, array $replacers, bool $strict, bool $drop_keys) : array
|
||||||
Generate the SQL needed to upgrade the database to match the definition, based on a comparison.
|
Generate the SQL needed to upgrade the database to match the definition, based on a comparison.
|
||||||
|
|
||||||
Data structure in Array and JSON
|
Data structure in Array and JSON
|
||||||
@ -71,6 +71,9 @@ $mustal_replacers = [
|
|||||||
// Load all db_def from a DB connection into a db_def array
|
// Load all db_def from a DB connection into a db_def array
|
||||||
function mustal_load_tables_from_db(string $host, string $schema, string $user, string $passwd, array $replacers) : array {
|
function mustal_load_tables_from_db(string $host, string $schema, string $user, string $passwd, array $replacers) : array {
|
||||||
|
|
||||||
|
$tables = array();
|
||||||
|
$views = array();
|
||||||
|
|
||||||
// First get the contents of the database table structure
|
// First get the contents of the database table structure
|
||||||
$mysqli = mysqli_connect($host, $user, $passwd, $schema);
|
$mysqli = mysqli_connect($host, $user, $passwd, $schema);
|
||||||
|
|
||||||
@ -542,11 +545,22 @@ function mustal_implode_with_quote(string $quote, string $delimiter, array $arra
|
|||||||
// 11 Table type upgrade not supported
|
// 11 Table type upgrade not supported
|
||||||
// 12 Upgrade type not supported
|
// 12 Upgrade type not supported
|
||||||
|
|
||||||
function mustal_calculate_db_upgrade(array $compare_def, array $db_def, array &$upgrade_sql, array $replacers, bool $strict) : array {
|
function mustal_calculate_db_upgrade(array $compare_def, array $db_def, array &$upgrade_sql, array $replacers, bool $strict, bool $drop_keys) : array {
|
||||||
|
|
||||||
$result = array();
|
$result = array();
|
||||||
$upgrade_sql = array();
|
$upgrade_sql = array();
|
||||||
|
|
||||||
|
if ($drop_keys) {
|
||||||
|
foreach ($db_def['tables'] as $table_id => $table) {
|
||||||
|
foreach ($table['keys'] as $key_id => $key) {
|
||||||
|
if ($key['Key_name'] != 'PRIMARY') {
|
||||||
|
$upgrade_sql[] = "ALTER TABLE `".$table['name']. "` DROP KEY `".$key['Key_name']."`;";
|
||||||
|
unset($db_def['tables'][$table_id]['keys'][$key_id]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$compare_differences = mustal_compare_table_array($compare_def,"in JSON",$db_def,"in DB",true,true);
|
$compare_differences = mustal_compare_table_array($compare_def,"in JSON",$db_def,"in DB",true,true);
|
||||||
|
|
||||||
foreach ($compare_differences as $compare_difference) {
|
foreach ($compare_differences as $compare_difference) {
|
||||||
|
16
version.php
16
version.php
@ -2,9 +2,19 @@
|
|||||||
|
|
||||||
$version="OSS";
|
$version="OSS";
|
||||||
$version_revision="1.11";
|
$version_revision="1.11";
|
||||||
$githash = file_get_contents("../githash.txt");
|
$gitinfo = file_get_contents("../gitinfo.json");
|
||||||
if (!empty($githash)) {
|
if (!empty($gitinfo)) {
|
||||||
$version_revision .= " (".substr($githash,0,8).")";
|
$gitinfo = json_decode($gitinfo);
|
||||||
|
|
||||||
|
if ($gitinfo->branch != 'master') {
|
||||||
|
$version_revision .= " (".substr($gitinfo->hash,0,8)." - ".$gitinfo->branch.")";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$version_revision .= " (".substr($gitinfo->hash,0,8).")";
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
$version_revision .= " (?)";
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
@ -22,7 +22,7 @@ include '../lib/libextern.php';
|
|||||||
|
|
||||||
|
|
||||||
$config = new Config();
|
$config = new Config();
|
||||||
$db = new DB($config->WFdbhost, $config->WFdbname, $config->WFdbuser, $config->WFdbpass,null,$conf->WFdbport);
|
$db = new DB($config->WFdbhost, $config->WFdbname, $config->WFdbuser, $config->WFdbpass,null,$config->WFdbport);
|
||||||
//$erp = new erpAPI($app);
|
//$erp = new erpAPI($app);
|
||||||
//$app->erp = $erp;
|
//$app->erp = $erp;
|
||||||
|
|
||||||
|
@ -1111,10 +1111,10 @@ if (typeof document.hidden !== \"undefined\") { // Opera 12.10 and Firefox 18 an
|
|||||||
}
|
}
|
||||||
|
|
||||||
// userd edit ajax call
|
// userd edit ajax call
|
||||||
/* $poll = true;
|
$poll = true;
|
||||||
if($poll) {
|
if($poll) {
|
||||||
$this->addPollJs($module, $action, $id);
|
$this->addPollJs($module, $action, $id);
|
||||||
}*/
|
}
|
||||||
|
|
||||||
/** @var Ajax $ajax */
|
/** @var Ajax $ajax */
|
||||||
$ajax = $this->loadModule('ajax');
|
$ajax = $this->loadModule('ajax');
|
||||||
|
@ -1387,7 +1387,7 @@ function processData( xmlHttp, intID )
|
|||||||
if(typeof mySplitResult[2] != 'undefined')parent.document.getElementById('lieferunterabteilung'+commandpostfix).value=trim(mySplitResult[2]);
|
if(typeof mySplitResult[2] != 'undefined')parent.document.getElementById('lieferunterabteilung'+commandpostfix).value=trim(mySplitResult[2]);
|
||||||
//parent.document.getElementById('lieferland').options[parent.document.getElementById('lieferland').selectedIndex].value=trim(mySplitResult[3]);
|
//parent.document.getElementById('lieferland').options[parent.document.getElementById('lieferland').selectedIndex].value=trim(mySplitResult[3]);
|
||||||
//if(typeof mySplitResult[3] != 'undefined')Select_Value_Set('eprooform.lieferland'+commandpostfix,trim(mySplitResult[3]));
|
//if(typeof mySplitResult[3] != 'undefined')Select_Value_Set('eprooform.lieferland'+commandpostfix,trim(mySplitResult[3]));
|
||||||
if(typeof mySplitResult[3] != 'undefined')SelectCountry('#lieferland',trim(mySplitResult[3]));
|
// if(typeof mySplitResult[3] != 'undefined')SelectCountry('#lieferland',trim(mySplitResult[3]));
|
||||||
if(typeof mySplitResult[4] != 'undefined')parent.document.getElementById('lieferstrasse'+commandpostfix).value=trim(mySplitResult[4]);
|
if(typeof mySplitResult[4] != 'undefined')parent.document.getElementById('lieferstrasse'+commandpostfix).value=trim(mySplitResult[4]);
|
||||||
if(typeof mySplitResult[5] != 'undefined')parent.document.getElementById('lieferort'+commandpostfix).value=trim(mySplitResult[5]);
|
if(typeof mySplitResult[5] != 'undefined')parent.document.getElementById('lieferort'+commandpostfix).value=trim(mySplitResult[5]);
|
||||||
if(typeof mySplitResult[6] != 'undefined')parent.document.getElementById('lieferplz'+commandpostfix).value=trim(mySplitResult[6]);
|
if(typeof mySplitResult[6] != 'undefined')parent.document.getElementById('lieferplz'+commandpostfix).value=trim(mySplitResult[6]);
|
||||||
@ -1397,6 +1397,9 @@ function processData( xmlHttp, intID )
|
|||||||
if(typeof mySplitResult[10] != 'undefined')parent.document.getElementById('ansprechpartnerid'+commandpostfix).value=trim(mySplitResult[10]);
|
if(typeof mySplitResult[10] != 'undefined')parent.document.getElementById('ansprechpartnerid'+commandpostfix).value=trim(mySplitResult[10]);
|
||||||
if(typeof mySplitResult[15] != 'undefined')parent.document.getElementById('liefergln'+commandpostfix).value=trim(mySplitResult[15]);
|
if(typeof mySplitResult[15] != 'undefined')parent.document.getElementById('liefergln'+commandpostfix).value=trim(mySplitResult[15]);
|
||||||
if(typeof mySplitResult[11] != 'undefined')parent.document.getElementById('lieferemail'+commandpostfix).value=trim(mySplitResult[11]);
|
if(typeof mySplitResult[11] != 'undefined')parent.document.getElementById('lieferemail'+commandpostfix).value=trim(mySplitResult[11]);
|
||||||
|
|
||||||
|
if(typeof mySplitResult[3] != 'undefined')SelectCountry('#lieferland',trim(mySplitResult[3])); // moved due to JS error
|
||||||
|
|
||||||
window.parent.abweichend2();
|
window.parent.abweichend2();
|
||||||
// parent.document.getElementById('lieferansprechpartner').value=trim(mySplitResult[0]);
|
// parent.document.getElementById('lieferansprechpartner').value=trim(mySplitResult[0]);
|
||||||
break;
|
break;
|
||||||
|
4
www/js/production/generic/.htaccess
Normal file
4
www/js/production/generic/.htaccess
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<FilesMatch ".">
|
||||||
|
Order Allow,Deny
|
||||||
|
Allow from all
|
||||||
|
</FilesMatch>
|
177
www/js/production/generic/LICENSE
Normal file
177
www/js/production/generic/LICENSE
Normal file
@ -0,0 +1,177 @@
|
|||||||
|
|
||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
File diff suppressed because it is too large
Load Diff
19813
www/js/production/generic/build/pdf.mjs
Normal file
19813
www/js/production/generic/build/pdf.mjs
Normal file
File diff suppressed because it is too large
Load Diff
1
www/js/production/generic/build/pdf.mjs.map
Normal file
1
www/js/production/generic/build/pdf.mjs.map
Normal file
File diff suppressed because one or more lines are too long
239
www/js/production/generic/build/pdf.sandbox.mjs
Normal file
239
www/js/production/generic/build/pdf.sandbox.mjs
Normal file
File diff suppressed because one or more lines are too long
1
www/js/production/generic/build/pdf.sandbox.mjs.map
Normal file
1
www/js/production/generic/build/pdf.sandbox.mjs.map
Normal file
File diff suppressed because one or more lines are too long
45517
www/js/production/generic/build/pdf.worker.js
vendored
45517
www/js/production/generic/build/pdf.worker.js
vendored
File diff suppressed because it is too large
Load Diff
56051
www/js/production/generic/build/pdf.worker.mjs
Normal file
56051
www/js/production/generic/build/pdf.worker.mjs
Normal file
File diff suppressed because one or more lines are too long
1
www/js/production/generic/build/pdf.worker.mjs.map
Normal file
1
www/js/production/generic/build/pdf.worker.mjs.map
Normal file
File diff suppressed because one or more lines are too long
1
www/js/production/generic/info.txt
Normal file
1
www/js/production/generic/info.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
This folder contains Mozilla pdfjs-4.2.67-dist added on 2024-05-15
|
BIN
www/js/production/generic/web/cmaps/78-EUC-H.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/78-EUC-H.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/78-EUC-V.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/78-EUC-V.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/78-H.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/78-H.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/78-RKSJ-H.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/78-RKSJ-H.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/78-RKSJ-V.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/78-RKSJ-V.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/78-V.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/78-V.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/78ms-RKSJ-H.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/78ms-RKSJ-H.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/78ms-RKSJ-V.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/78ms-RKSJ-V.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/83pv-RKSJ-H.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/83pv-RKSJ-H.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/90ms-RKSJ-H.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/90ms-RKSJ-H.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/90ms-RKSJ-V.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/90ms-RKSJ-V.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/90msp-RKSJ-H.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/90msp-RKSJ-H.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/90msp-RKSJ-V.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/90msp-RKSJ-V.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/90pv-RKSJ-H.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/90pv-RKSJ-H.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/90pv-RKSJ-V.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/90pv-RKSJ-V.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/Add-H.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/Add-H.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/Add-RKSJ-H.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/Add-RKSJ-H.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/Add-RKSJ-V.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/Add-RKSJ-V.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/Add-V.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/Add-V.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/Adobe-CNS1-0.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/Adobe-CNS1-0.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/Adobe-CNS1-1.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/Adobe-CNS1-1.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/Adobe-CNS1-2.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/Adobe-CNS1-2.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/Adobe-CNS1-3.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/Adobe-CNS1-3.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/Adobe-CNS1-4.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/Adobe-CNS1-4.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/Adobe-CNS1-5.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/Adobe-CNS1-5.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/Adobe-CNS1-6.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/Adobe-CNS1-6.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/Adobe-CNS1-UCS2.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/Adobe-CNS1-UCS2.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/Adobe-GB1-0.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/Adobe-GB1-0.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/Adobe-GB1-1.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/Adobe-GB1-1.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/Adobe-GB1-2.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/Adobe-GB1-2.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/Adobe-GB1-3.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/Adobe-GB1-3.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/Adobe-GB1-4.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/Adobe-GB1-4.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/Adobe-GB1-5.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/Adobe-GB1-5.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/Adobe-GB1-UCS2.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/Adobe-GB1-UCS2.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/Adobe-Japan1-0.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/Adobe-Japan1-0.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/Adobe-Japan1-1.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/Adobe-Japan1-1.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/Adobe-Japan1-2.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/Adobe-Japan1-2.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/Adobe-Japan1-3.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/Adobe-Japan1-3.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/Adobe-Japan1-4.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/Adobe-Japan1-4.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/Adobe-Japan1-5.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/Adobe-Japan1-5.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/Adobe-Japan1-6.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/Adobe-Japan1-6.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/Adobe-Japan1-UCS2.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/Adobe-Japan1-UCS2.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/Adobe-Korea1-0.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/Adobe-Korea1-0.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/Adobe-Korea1-1.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/Adobe-Korea1-1.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/Adobe-Korea1-2.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/Adobe-Korea1-2.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/Adobe-Korea1-UCS2.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/Adobe-Korea1-UCS2.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/B5-H.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/B5-H.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/B5-V.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/B5-V.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/B5pc-H.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/B5pc-H.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/B5pc-V.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/B5pc-V.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/CNS-EUC-H.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/CNS-EUC-H.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/CNS-EUC-V.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/CNS-EUC-V.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/CNS1-H.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/CNS1-H.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/CNS1-V.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/CNS1-V.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/CNS2-H.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/CNS2-H.bcmap
Normal file
Binary file not shown.
3
www/js/production/generic/web/cmaps/CNS2-V.bcmap
Normal file
3
www/js/production/generic/web/cmaps/CNS2-V.bcmap
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
àRCopyright 1990-2009 Adobe Systems Incorporated.
|
||||||
|
All rights reserved.
|
||||||
|
See ./LICENSEáCNS2-H
|
BIN
www/js/production/generic/web/cmaps/ETHK-B5-H.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/ETHK-B5-H.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/ETHK-B5-V.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/ETHK-B5-V.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/ETen-B5-H.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/ETen-B5-H.bcmap
Normal file
Binary file not shown.
BIN
www/js/production/generic/web/cmaps/ETen-B5-V.bcmap
Normal file
BIN
www/js/production/generic/web/cmaps/ETen-B5-V.bcmap
Normal file
Binary file not shown.
3
www/js/production/generic/web/cmaps/ETenms-B5-H.bcmap
Normal file
3
www/js/production/generic/web/cmaps/ETenms-B5-H.bcmap
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
àRCopyright 1990-2009 Adobe Systems Incorporated.
|
||||||
|
All rights reserved.
|
||||||
|
See ./LICENSEá ETen-B5-H` ^
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user