Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 03/01/19 in all areas

  1. It seems to be becarefull of that. I recommend you to make a GRDP hooks to ask the permission at your customer to use their data for sms. With that, you have a protecttion and the customers can remove this option when they want.
    3 points
  2. 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(); } } }
    2 points
  3. @Grimoire, It's could be better if you can include a code to create automatically the new field inside the database. you can include this in your code (in AccountGdprSms) private static function installNewField() { $CLICSHOPPING_Db = Registry::get('Db'); $Qcheck = $CLICSHOPPING_Db->query("show columns from :table_account_grpd 'no_sms'"); $check = $Qcheck->fetch(); if ($check === false) { $sql = <<<EOD ALTER TABLE :table_account_grpd ADD no_sms tynint(1) NULL AFTER no_ip_address; EOD; $CLICSHOPPING_Db->exec($sql); } } and write inside display() function this code static::installNewField() It must work.
    1 point
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use