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 1889871 commit 9322e08
Show file tree
Hide file tree
Showing 13 changed files with 144 additions and 47 deletions.
22 changes: 16 additions & 6 deletions app/Gateways/AbstractGateway.php
Original file line number Diff line number Diff line change
Expand Up @@ -144,8 +144,8 @@ protected function enqueueScripts(array $deps = []): void
private function alreadyPaid(object $transaction): string
{
$this->enqueueScripts();
$msg = esc_html__('The final payment for this form has been completed but not submitted. Therefore, you only need to send the form.', 'cf7-cryptopay'); // phpcs:ignore
return '<p>' . $msg . '</p><p><input type="hidden" name="transaction-hash" value="' . esc_attr($transaction->getHash()) . '" /><input class="wpcf7-form-control wpcf7-submit has-spinner" type="submit" value="' . esc_attr__('Send') . '"><p>'; // phpcs:ignore
$msg = __('The final payment for this form has been completed but not submitted. Therefore, you only need to send the form.', 'cf7-cryptopay'); // phpcs:ignore
return '<p>' . esc_html($msg) . '</p><p><input type="hidden" name="transaction-hash" value="' . esc_attr($transaction->getHash()) . '" /><input class="wpcf7-form-control wpcf7-submit has-spinner" type="submit" value="' . esc_attr__('Send') . '"><p>'; // phpcs:ignore
}

/**
Expand Down Expand Up @@ -205,15 +205,15 @@ public function panelContent(): void
$options .= '<option value="' . $code . '" ' . esc_attr($selectedCurrency) . '>' . $name . '</option>';
}

echo '<h2>' . $this->name . '</h2>';
echo '<h2>' . esc_html($this->name) . '</h2>';
echo '<p>' . esc_html__('Add cryptocurrency payment gateway to your form.', 'cf7-cryptopay') . '</p>';
echo '<p>' . sprintf(
esc_html__(
'You need add "%s" tag to form for start %s and need delete submit button.',
'cf7-cryptopay'
),
'<strong>[' . $this->key . ']</strong>',
'<strong>[' . $this->name . ']</strong>'
'<strong>[' . esc_html($this->key) . ']</strong>',
'<strong>[' . esc_html($this->name) . ']</strong>'
) . '</p>';
echo '
<table>
Expand Down Expand Up @@ -253,7 +253,17 @@ public function panelContent(): void
<td>
<select name="cf7_cp_item_currency" required>
<option value="">Select Currency</option>
' . $options . '
' .
wp_kses_post(
$options,
[
'option' => [
'value' => [],
'selected' => [],
],
]
)
. '
</select>
</td>
<td> [ Required ]</td>
Expand Down
18 changes: 3 additions & 15 deletions cf7-cryptopay-gateway.php
Original file line number Diff line number Diff line change
Expand Up @@ -55,22 +55,10 @@ function cf7CryptoPayRegisterModels(): void
cf7CryptoPayRegisterModels();

if (!defined('WPCF7_VERSION')) {
add_action('admin_notices', function (): void {
?>
<div class="notice notice-error">
<p><?php echo sprintf(esc_html__('Contact Form 7 - CryptoPay Gateway: This plugin requires Contact Form 7 to work. You can download Contact Form 7 by %s.', 'cf7-cryptopay'), '<a href="https://wordpress.org/plugins/contact-form-7/" target="_blank">' . esc_html__('clicking here', 'cf7-cryptopay') . '</a>'); ?></p>
</div>
<?php
});
Helpers::requirePluginMessage('Contact Form 7', 'https://wordpress.org/plugins/contact-form-7/');
} elseif (Helpers::bothExists()) {
new BeycanPress\CryptoPay\CF7\Loader();
} else {
add_action('admin_notices', function (): void {
?>
<div class="notice notice-error">
<p><?php echo sprintf(esc_html__('Contact Form 7 - 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.', 'cf7-cryptopay'), '<a href="https://beycanpress.com/product/cryptopay-all-in-one-cryptocurrency-payments-for-wordpress/?utm_source=wp_org_addons&utm_medium=cf7" target="_blank">' . esc_html__('clicking here', 'cf7-cryptopay') . '</a>'); ?></p>
</div>
<?php
});
Helpers::requireCryptoPayMessage('Contact Form 7');
}
});
});
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
18 changes: 9 additions & 9 deletions vendor/composer/installed.php
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
<?php return array(
'root' => array(
'name' => '__root__',
'pretty_version' => '1.0.0+no-version-set',
'version' => '1.0.0.0',
'reference' => NULL,
'pretty_version' => 'dev-master',
'version' => 'dev-master',
'reference' => '18898714e8e656510faa0f331d316eaa4830505b',
'type' => 'library',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
'dev' => true,
),
'versions' => array(
'__root__' => array(
'pretty_version' => '1.0.0+no-version-set',
'version' => '1.0.0.0',
'reference' => NULL,
'pretty_version' => 'dev-master',
'version' => 'dev-master',
'reference' => '18898714e8e656510faa0f331d316eaa4830505b',
'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 9322e08

Please sign in to comment.