first commit

This commit is contained in:
CHIEFSOFT\ameye
2024-06-08 17:09:23 -04:00
commit df3a033196
17887 changed files with 8637778 additions and 0 deletions
@@ -0,0 +1,53 @@
<?php
/**
* @file mail/traits/SubscriptionInstitutional.php
*
* Copyright (c) 2014-2022 Simon Fraser University
* Copyright (c) 2000-2022 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* @class SubscriptionInstitutional
*
* @ingroup mail_traits
*
* @brief Mailable trait to set institutional subscription variables
*/
namespace APP\mail\traits;
use APP\subscription\InstitutionalSubscription;
use PKP\institution\Institution;
trait SubscriptionInstitutional
{
abstract public function addData(array $variables);
protected static string $institutionName = 'institutionName';
protected static string $institutionMailingAddress = 'institutionMailingAddress';
protected static string $domain = 'domain';
protected static string $ipRanges = 'ipRanges';
protected function setupInstitutionalVariables(InstitutionalSubscription $subscription, Institution $institution): void
{
$this->addData([
static::$institutionName => $institution->getLocalizedName(),
static::$institutionMailingAddress => $subscription->getInstitutionMailingAddress(),
static::$domain => $subscription->getDomain(),
static::$ipRanges => implode(' ', $institution->getIPRanges()),
]);
}
protected static function addInstitutionalVariablesDescription(array $variables): array
{
return array_merge(
$variables,
[
static::$institutionName => __('emailTemplate.variable.subscription.institutionName'),
static::$institutionMailingAddress => __('emailTemplate.variable.subscription.institutionMailingAddress'),
static::$domain => __('emailTemplate.variable.subscription.domain'),
static::$ipRanges => __('emailTemplate.variable.subscription.ipRanges'),
]
);
}
}
@@ -0,0 +1,66 @@
<?php
/**
* @file mail/traits/SubscriptionTypeVariables.php
*
* Copyright (c) 2014-2022 Simon Fraser University
* Copyright (c) 2000-2022 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* @class SubscriptionTypeVariables
*
* @ingroup mail_traits
*
* @brief Mailable trait to set variables related to subscription type
*/
namespace APP\mail\traits;
use APP\core\Application;
use APP\journal\Journal;
use APP\subscription\SubscriptionType;
trait SubscriptionTypeVariables
{
protected static string $subscriptionUrl = 'subscriptionUrl';
protected static string $subscriptionType = 'subscriptionType';
abstract public function addData(array $variables);
protected function setupSubscriptionTypeVariables(SubscriptionType $subscriptionType, Journal $context): void
{
$this->addData([
static::$subscriptionUrl => $this->getSubscriptionUrl($subscriptionType, $context),
static::$subscriptionType => $subscriptionType->getSummaryString(),
]);
}
protected static function addSubscriptionTypeVariablesDescription(array $variables): array
{
return array_merge(
$variables,
[
static::$subscriptionUrl => __('emailTemplate.variable.subscription.subscriptionUrl'),
static::$subscriptionType => __('emailTemplate.variable.subscription.subscriptionType'),
]
);
}
protected function getSubscriptionUrl(SubscriptionType $subscriptionType, Journal $context): string
{
$application = Application::get();
$request = $application->getRequest();
$dispatcher = $application->getDispatcher();
return $dispatcher->url(
$request,
Application::ROUTE_PAGE,
$context->getData('urlPath'),
'payments',
null,
null,
null,
$subscriptionType->getInstitutional() ? 'institutional' : 'individual',
);
}
}