Hello,
Could you help me to create a new GRPD hooks,
It's in relation with this post https://www.clicshopping.org/forum/topic/98-adverttisement-sms/?tab=comments#comment-308
If I understand well I must create 2 files,
One to display called AccountGdprSms and one AccountGdprDeleteSms.
After I must create a new field inside customers_gdpr called no_sms
Is like this AccountGdprSms
namespace ClicShopping\OM\Module\Hooks\Shop\Account;
use ClicShopping\OM\CLICSHOPPING;
use ClicShopping\OM\Registry;
use ClicShopping\OM\HTML;
class AccountGdprNoIp {
protected $sms;
public function getSms() {
$CLICSHOPPING_Db = Registry::get('Db');
$CLICSHOPPING_Customer = Registry::get('Customer');
$Qgdpr = $CLICSHOPPING_Db->prepare('select no_sms
from :table_customers_gdpr
where customers_id = :customers_id
');
$Qgdpr->bindInt(':customers_id', $CLICSHOPPING_Customer->getID());
$Qgdpr->execute();
$sms = $Qgdpr->valueInt('no_sms');
return $sms;
}
public function display() {
$output = '<div>';
$output .= '<label class="checkbox-inline">';
$output .= HTML::checkboxField('no_sms', $this->getSms(), $this->getSms());
$output .= '</label>';
$output .= CLICSHOPPING::getDef('module_account_customers_gdpr_no_sms');
$output .= '</div>';
return $output;
}
}
and for AccountGdprDeleteSms
<?php
/**
*
* @copyright 2008 - https://www.clicshopping.org
* @Brand : ClicShopping(Tm) at Inpi all right Reserved
* @Licence GPL 2 & MIT
* @licence MIT - Portion of osCommerce 2.4
* @Info : https://www.clicshopping.org/forum/trademark/
*
*/
namespace ClicShopping\OM\Module\Hooks\Shop\Account;
use ClicShopping\OM\CLICSHOPPING;
use ClicShopping\OM\Registry;
use ClicShopping\OM\HTML;
class AccountGdprCallNoSms {
public function execute() {
$CLICSHOPPING_Db = Registry::get('Db');
$CLICSHOPPING_Customer = Registry::get('Customer');
$Qcheck = $CLICSHOPPING_Db->prepare('select customers_id,
no_sms
from :table_customers_gdpr
where customers_id = :customers_id
');
$Qcheck->bindInt(':customers_id', $CLICSHOPPING_Customer->getID());
$Qcheck->execute();
if ($Qcheck->fetch() === false) {
$CLICSHOPPING_Db->save('customers_gdpr', ['customers_id' => $CLICSHOPPING_Customer->getID()]);
} else {
if (!is_null($_POST['no_sms'])) {
$no_sms = 1;
} else {
$no_sms = 0;
}
$Qupdate = $CLICSHOPPING_Db->prepare('update :table_customers_gdpr
set no_sms = :no_sms,
customers_id = :customers_id
');
$Qupdate->bindInt(':customers_id', $CLICSHOPPING_Customer->getID());
$Qupdate->bindInt(':no_sms', no_sms);
$Qupdate->execute();
}
}
}