Skip to content

Commit

Permalink
updated integrator
Browse files Browse the repository at this point in the history
  • Loading branch information
0xBeycan committed Mar 22, 2024
1 parent 49d9c46 commit 2d142bd
Show file tree
Hide file tree
Showing 13 changed files with 124 additions and 37 deletions.
2 changes: 1 addition & 1 deletion app/Loader.php
Original file line number Diff line number Diff line change
Expand Up @@ -328,7 +328,7 @@ public function validatePaymentGateway(string $gatewayKey, array $gOptions, arra
]
]);

echo json_encode([
echo wp_json_encode([
'status' => 'success',
'type' => 'redirect',
'message' => '<script data-cfasync="false" type="text/javascript" language="javascript">window.location.href="' . $paymentUrl . '"</script>', // @phpcs:ignore
Expand Down
16 changes: 2 additions & 14 deletions arm-cryptopay-gateway.php
Original file line number Diff line number Diff line change
Expand Up @@ -54,22 +54,10 @@ function armCryptoPayRegisterModels(): void
armCryptoPayRegisterModels();

if (!defined('MEMBERSHIPLITE_DIR_NAME')) {
add_action('admin_notices', function (): void {
?>
<div class="notice notice-error">
<p><?php echo sprintf(esc_html__('ARMember - CryptoPay Gateway: This plugin requires ARMember to work. You can download ARMember by %s.', 'arm-cryptopay'), '<a href="https://wordpress.org/plugins/armember-membership/" target="_blank">' . esc_html__('clicking here', 'arm-cryptopay') . '</a>'); ?></p>
</div>
<?php
});
Helpers::requirePluginMessage('ARMember', 'https://wordpress.org/plugins/armember-membership/');
} elseif (Helpers::bothExists()) {
new BeycanPress\CryptoPay\ARM\Loader();
} else {
add_action('admin_notices', function (): void {
?>
<div class="notice notice-error">
<p><?php echo sprintf(esc_html__('ARMember - CryptoPay Gateway: This plugin is an extra feature plugin so it cannot do anything on its own. It needs CryptoPay to work. You can buy CryptoPay by %s.', 'arm-cryptopay'), '<a href="https://beycanpress.com/product/cryptopay-all-in-one-cryptocurrency-payments-for-wordpress/?utm_source=wp_org_addons&utm_medium=arm" target="_blank">' . esc_html__('clicking here', 'arm-cryptopay') . '</a>'); ?></p>
</div>
<?php
});
Helpers::requireCryptoPayMessage('ARMember');
}
});
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@
}
},
"require": {
"beycanpress/cryptopay-integrator": "^0.1.8"
"beycanpress/cryptopay-integrator": "^0.1.10"
}
}
14 changes: 7 additions & 7 deletions composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion vendor/beycanpress/cryptopay-integrator/composer.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "beycanpress/cryptopay-integrator",
"version": "0.1.8",
"version": "0.1.10",
"description": "CryptoPay and CryptoPay Lite integration wrapper",
"type": "library",
"license": "MIT",
Expand Down
4 changes: 4 additions & 0 deletions vendor/beycanpress/cryptopay-integrator/phpcs.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@
<rule ref="Squiz.Commenting.FunctionComment.ParamNameNoMatch"/>
<rule ref="Squiz.Commenting.FunctionComment.IncorrectTypeHint"/>
<rule ref="Squiz.Commenting.FunctionComment.MissingReturn"/>
<rule ref="Squiz.NamingConventions.ValidVariableName"/>
<rule ref="Squiz.NamingConventions.ValidVariableName.PrivateNoUnderscore">
<severity>0</severity>
</rule>
<rule ref="SlevomatCodingStandard.ControlStructures.RequireYodaComparison"/>
<rule ref="SlevomatCodingStandard.TypeHints.DeclareStrictTypes">
<exclude name="SlevomatCodingStandard.TypeHints.DeclareStrictTypes.IncorrectStrictTypesFormat" />
Expand Down
35 changes: 35 additions & 0 deletions vendor/beycanpress/cryptopay-integrator/src/Helpers.php
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,30 @@ public static function response(string $method, ...$args): mixed
}
}

/**
* @param string $currentPlugin
* @param string $pluginLink
* @param bool $download
* @return void
*/
public static function requirePluginMessage(string $currentPlugin, string $pluginLink, bool $download = true): void
{
add_action('admin_notices', function () use ($currentPlugin, $pluginLink, $download): void {
require dirname(__DIR__) . '/views/message-1.php';
});
}

/**
* @param string $currentPlugin
* @return void
*/
public static function requireCryptoPayMessage(string $currentPlugin): void
{
add_action('admin_notices', function () use ($currentPlugin): void {
require dirname(__DIR__) . '/views/message-2.php';
});
}

/**
* @param array<mixed> $data
* @return string
Expand Down Expand Up @@ -181,6 +205,17 @@ public static function createSPP(array $data): string
return home_url("/?cp_spp={$token}");
}

/**
* @param string $url
* @return string|null
*/
public static function getSPPToken(string $url): ?string
{
/** @var array<mixed> $matches */
preg_match('/[?&]cp_spp=([^&]+)/', $url, $matches);
return isset($matches[1]) ? $matches[1] : null;
}

/**
* @return void
*/
Expand Down
4 changes: 3 additions & 1 deletion vendor/beycanpress/cryptopay-integrator/src/Session.php
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,9 @@ public static function has(string $key): bool
public static function remove(string $key): void
{
self::start();
unset($_SESSION['cp_integrator'][$key]);
if (self::has($key)) {
unset($_SESSION['cp_integrator'][$key]);
}
}

/**
Expand Down
19 changes: 19 additions & 0 deletions vendor/beycanpress/cryptopay-integrator/views/message-1.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<div class="notice notice-error">
<p>
<?php echo wp_kses_post(
str_replace(
'{name}',
esc_html($currentPlugin),
sprintf(
esc_html__('{name} - CryptoPay Gateway: This plugin requires {name} to work. You can %s {name} by %s.', 'arm-cryptopay'),
$download ? esc_html__('download', 'cryptopay') : esc_html__('buy', 'cryptopay'),
sprintf(
'<a href="%s" target="_blank">' . esc_html__('clicking here', 'cryptopay') . '</a>',
$pluginLink
)
)
),
['a' => ['href' => [], 'target' => []]]
); ?>
</p>
</div>
16 changes: 16 additions & 0 deletions vendor/beycanpress/cryptopay-integrator/views/message-2.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@

<div class="notice notice-error">
<p>
<?php echo wp_kses_post(
sprintf(
esc_html__('%s - CryptoPay Gateway: This plugin is an integration plugin so it cannot do anything on its own. It needs CryptoPay to work. You can buy CryptoPay by %s.', 'cryptopay'),
esc_html($currentPlugin),
sprintf(
'<a href="https://beycanpress.com/product/cryptopay-all-in-one-cryptocurrency-payments-for-wordpress/?utm_source=wp_org_addons&utm_medium=%s" target="_blank">' . esc_html__('clicking here', 'cryptopay') . '</a>',
esc_html($currentPlugin)
)
),
['a' => ['href' => [], 'target' => []]]
); ?>
</p>
</div>
23 changes: 23 additions & 0 deletions vendor/beycanpress/cryptopay-integrator/views/pay.php
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,26 @@
border-radius: 5px;
}

.go-to-back {
text-align: center;
margin: 20px 0;
}

.go-to-back a {
display: inline-block;
padding: 10px 20px;
background-color: #007bff;
color: #fff;
text-decoration: none;
border-radius: 5px;
}

@media screen and (max-width: 768px) {
body {
padding: 0 20px;
text-align: center;
}

.container {
flex-direction: column;
}
Expand All @@ -59,6 +78,7 @@
margin-right: 0;
margin-bottom: 20px;
max-width: 100%;
width: 100%;
}
}
</style>
Expand All @@ -84,6 +104,9 @@
<?php echo $cryptopay; ?>
</div>
</div>
<div class="go-to-back">
<a href="<?php echo esc_url($_SERVER["HTTP_REFERER"]) ?>"><?php echo esc_html__('Go back to add-on page') ?></a>
</div>
<?php do_action('wp_print_footer_scripts'); ?>
</body>
</html>
14 changes: 7 additions & 7 deletions vendor/composer/installed.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,23 @@
"packages": [
{
"name": "beycanpress/cryptopay-integrator",
"version": "0.1.8",
"version_normalized": "0.1.8.0",
"version": "0.1.10",
"version_normalized": "0.1.10.0",
"source": {
"type": "git",
"url": "https://github.com/BeycanPress/cryptopay-integrator.git",
"reference": "c28bbee3ca84fd1e4ca02f4867f6dadbee0c117d"
"reference": "6ac799ad5b3c9b952ee77d4d974162f525ff0f2a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/BeycanPress/cryptopay-integrator/zipball/c28bbee3ca84fd1e4ca02f4867f6dadbee0c117d",
"reference": "c28bbee3ca84fd1e4ca02f4867f6dadbee0c117d",
"url": "https://api.github.com/repos/BeycanPress/cryptopay-integrator/zipball/6ac799ad5b3c9b952ee77d4d974162f525ff0f2a",
"reference": "6ac799ad5b3c9b952ee77d4d974162f525ff0f2a",
"shasum": ""
},
"require": {
"php": ">=8.1"
},
"time": "2024-03-11T06:09:27+00:00",
"time": "2024-03-22T11:55:55+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
Expand All @@ -34,7 +34,7 @@
"homepage": "https://github.com/BeycanPress/cryptopay-integrator",
"support": {
"issues": "https://github.com/BeycanPress/cryptopay-integrator/issues",
"source": "https://github.com/BeycanPress/cryptopay-integrator/tree/0.1.8"
"source": "https://github.com/BeycanPress/cryptopay-integrator/tree/0.1.10"
},
"install-path": "../beycanpress/cryptopay-integrator"
}
Expand Down
10 changes: 5 additions & 5 deletions vendor/composer/installed.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
'name' => '__root__',
'pretty_version' => 'dev-master',
'version' => 'dev-master',
'reference' => '694c518f2b051c860dd9177750b6aa4934c39319',
'reference' => '49d9c46f7c495f86edcfe7df2557fe0c057fbf46',
'type' => 'library',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
Expand All @@ -13,16 +13,16 @@
'__root__' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
'reference' => '694c518f2b051c860dd9177750b6aa4934c39319',
'reference' => '49d9c46f7c495f86edcfe7df2557fe0c057fbf46',
'type' => 'library',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
'dev_requirement' => false,
),
'beycanpress/cryptopay-integrator' => array(
'pretty_version' => '0.1.8',
'version' => '0.1.8.0',
'reference' => 'c28bbee3ca84fd1e4ca02f4867f6dadbee0c117d',
'pretty_version' => '0.1.10',
'version' => '0.1.10.0',
'reference' => '6ac799ad5b3c9b952ee77d4d974162f525ff0f2a',
'type' => 'library',
'install_path' => __DIR__ . '/../beycanpress/cryptopay-integrator',
'aliases' => array(),
Expand Down

0 comments on commit 2d142bd

Please sign in to comment.