Skip to content

Commit

Permalink
updated integrator
Browse files Browse the repository at this point in the history
  • Loading branch information
BeycanDeveloper committed Mar 22, 2024
1 parent e4b4428 commit 8dc557c
Show file tree
Hide file tree
Showing 15 changed files with 140 additions and 48 deletions.
21 changes: 13 additions & 8 deletions app/Field.php
Original file line number Diff line number Diff line change
Expand Up @@ -253,18 +253,23 @@ private function isBlockEditor(): bool
$isElementor = false;
$isDivi = false;

if (!empty($_POST['action'])) {
if (!empty($_GET['et_fb']) && 'wpforms_divi_preview' === $_POST['action']) {
$etFb = isset($_GET['et_fb']) ? sanitize_text_field($_GET['et_fb']) : '';
$getAction = isset($_GET['action']) ? sanitize_text_field($_GET['action']) : '';
$postAction = isset($_POST['action']) ? sanitize_text_field($_POST['action']) : '';
$reqContext = isset($_REQUEST['context']) ? sanitize_text_field($_REQUEST['context']) : '';

if (!empty($postAction)) {
if (!empty($etFb) && 'wpforms_divi_preview' === $postAction) {
$isDivi = true;
}

if ('elementor_ajax' === $_POST['action'] || 'elementor' === $_GET['action']) {
if ('elementor_ajax' === $postAction || 'elementor' === $getAction) {
$isElementor = true;
}
}

if (!empty($_REQUEST['context'])) {
if (defined('REST_REQUEST') && REST_REQUEST && 'edit' === $_REQUEST['context']) {
if (!empty($reqContext)) {
if (defined('REST_REQUEST') && REST_REQUEST && 'edit' === $reqContext) {
$isGutenberg = true;
}
}
Expand Down Expand Up @@ -311,11 +316,11 @@ public function field_preview($field): void
'label' => $this->name
]);

echo str_replace(
echo esc_html(str_replace(
'{name}',
$this->name,
esc_html__('{name} does not have a preview and also removes the submit button because it starts the submit process after the payment is made. You can see what {name} looks like on the page where you add the form.', 'wpforms-cryptopay') // phpcs:ignore
);
));
}

/**
Expand Down Expand Up @@ -417,6 +422,6 @@ public function field_display($field, $deprecated, $formData): void
]
);

echo $html;
Helpers::run('ksesEcho', $html);
}
}
6 changes: 3 additions & 3 deletions app/Payments.php
Original file line number Diff line number Diff line change
Expand Up @@ -118,12 +118,12 @@ public function builderOutput(): void
*/
public function builderContent(): void
{
echo '<div id="wpforms-panel-content-section-payment-' . $this->slug . '">';
echo '<div id="wpforms-panel-content-section-payment-' . esc_attr($this->slug) . '">';

?>
<div class="wpforms-panel-content-section-payment">
<h2 class="wpforms-panel-content-section-payment-subtitle">
<?php echo $this->name; ?>
<?php echo esc_html($this->name); ?>
</h2>
<?php
wpforms_panel_field(
Expand All @@ -139,7 +139,7 @@ public function builderContent(): void
'parent' => 'payments',
'default' => '0',
'tooltip' => esc_html__('Allow your customers to cryptocurrency payments via the form.', 'wpforms-cryptopay'),
'class' => 'wpforms-panel-content-section-payment-toggle wpforms-panel-content-section-payment-toggle-' . $this->slug,
'class' => 'wpforms-panel-content-section-payment-toggle wpforms-panel-content-section-payment-toggle-' . esc_attr($this->slug),
]
);
?>
Expand Down
2 changes: 1 addition & 1 deletion app/Settings.php
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ public function registerFields(array $settings): array
*/
private function getHeadingContent(string $title): string
{
return '<h4>' . $title . '</h4>' .
return '<h4>' . esc_html($title) . '</h4>' .
'<p>' .
str_replace(
'{title}',
Expand Down
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,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' => 'cdfa3853e25a8c9193ddf99f3eec77a9f3392d51',
'reference' => 'e4b44284c5e21254b661cf1060669c52bc9bb90f',
'type' => 'library',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
Expand All @@ -13,16 +13,16 @@
'__root__' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
'reference' => 'cdfa3853e25a8c9193ddf99f3eec77a9f3392d51',
'reference' => 'e4b44284c5e21254b661cf1060669c52bc9bb90f',
'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
16 changes: 2 additions & 14 deletions wpforms-cryptopay-gateway.php
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,7 @@

add_action('plugins_loaded', function (): void {
if (!defined('WPFORMS_VERSION')) {
add_action('admin_notices', function (): void {
?>
<div class="notice notice-error">
<p><?php echo sprintf(esc_html__('WPForms - CryptoPay Gateway: This plugin requires WPForms to work. You can download WPForms by %s.', 'wpforms-cryptopay'), '<a href="https://wordpress.org/plugins/wpforms-lite/" target="_blank">' . esc_html__('clicking here', 'wpforms-cryptopay') . '</a>'); ?></p>
</div>
<?php
});
Helpers::requirePluginMessage('WPForms', 'https://wordpress.org/plugins/wpforms-lite/');
} elseif (Helpers::bothExists()) {
new BeycanPress\CryptoPay\WPForms\Loader();
add_filter('wpforms_integrations_available', function (array $integrations): array {
Expand All @@ -60,12 +54,6 @@
]);
});
} else {
add_action('admin_notices', function (): void {
?>
<div class="notice notice-error">
<p><?php echo sprintf(esc_html__('WPForms - 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.', 'wpforms-cryptopay'), '<a href="https://beycanpress.com/product/cryptopay-all-in-one-cryptocurrency-payments-for-wordpress/?utm_source=wp_org_addons&utm_medium=wpforms" target="_blank">' . esc_html__('clicking here', 'wpforms-cryptopay') . '</a>'); ?></p>
</div>
<?php
});
Helpers::requireCryptoPayMessage('WPForms');
}
});

0 comments on commit 8dc557c

Please sign in to comment.