Domain Group ID getting by API

This commit is contained in:
Seersco 2022-04-20 11:44:56 +05:00
parent 24dce862d6
commit 0fe0b2b4bb
2 changed files with 82 additions and 3 deletions

View file

@ -1,6 +1,6 @@
name: 'Seers Cookie Consent Banner Privacy Policy'
type: module
description: 'Seers cookie consent fulfils the requirements of transparency, consent and documentation under ePrivacy Directive and GDPR.'
core: 8.x
version: 1.0.3
core_version_requirement: ^7 || ^8 || ^9
package: 'Custom'

View file

@ -35,12 +35,43 @@ class SeerCookieConsentForm extends ConfigFormBase
public function buildForm(array $form, FormStateInterface $form_state)
{
$config = $this->config('seers_cookie_consent_privacy_policy.seercookieconsent');
$user = \Drupal::currentUser();
$form['consent_url'] = [
'#type' => 'textfield',
'#title' => $this->t('URL'),
'#maxlength' => 200,
'#size' => 64,
'#default_value' => (($config->get('consent_url')) ? $config->get('consent_url') : $GLOBALS['base_url'] ),
'#attributes' => array('readonly' => 'readonly')
];
$form['consent_email'] = [
'#type' => 'textfield',
'#title' => $this->t('Email'),
'#maxlength' => 64,
'#size' => 64,
'#default_value' => (($config->get('consent_email')) ? $config->get('consent_email') : $user->getEmail() ),
'#required' => true
];
$form['seers_term_condition'] = [
'#type' => 'checkbox',
'#title' => $this->t('I agree Seers <a href="https://seersco.com/terms-and-conditions.html" target="_blank">Terms & Condition</a> and <a href="https://seersco.com/privacy-policy.html" target="_blank">Privacy Policy</a>,'),
'#default_value' => (($config->get('seers_term_condition')) ? "1" : "" ),
'#required' => true
];
$form['seers_term_condition_url'] = [
'#type' => 'checkbox',
'#title' => $this->t('I agree Seers to use my email and url to create an account and power the cookie banner.'),
'#default_value' => (($config->get('seers_term_condition_url')) ? "1" : "" ),
'#required' => true
];
$form['cookie_id'] = [
'#type' => 'textfield',
'#title' => $this->t('Cookie ID'),
'#title' => $this->t('Domain Group ID'),
'#maxlength' => 64,
'#size' => 64,
'#default_value' => $config->get('cookie_id'),
'#attributes' => array('readonly' => 'readonly')
];
return parent::buildForm($form, $form_state);
}
@ -52,9 +83,57 @@ class SeerCookieConsentForm extends ConfigFormBase
{
parent::submitForm($form, $form_state);
//if the checkboxes are checked
if ($form_state->getValue('seers_term_condition') && $form_state->getValue('seers_term_condition_url')) {
$useremail = $form_state->getValue('consent_email');
$baseurl = $form_state->getValue('consent_url');
$termsandcondition = $form_state->getValue('seers_term_condition');
$termsandcondurl = $form_state->getValue('seers_term_condition_url');
$consetid = '';
$postData = array(
'domain'=>$baseurl,
'email'=>$useremail,
'secret'=>'$2y$10$9ygTfodVBVM0XVCdyzEUK.0FIuLnJT0D42sIE6dIu9r/KY3XaXXyS',
'platform'=>'drupal',
'lang' => \Drupal::languageManager()->getCurrentLanguage()->getId()
);
$request_headers = array(
'Content-Type: application/json',
'Referer: '.$baseurl
);
$url = "https://seersco.com/api/save-domain-credentials";
$postdata = json_encode($postData);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $request_headers);
$result = curl_exec($ch);
curl_close($ch);
$response = json_decode($result,true);
if ( !empty($response['key']) ) {
$consetid = $response['key'];
$this->config('seers_cookie_consent_privacy_policy.seercookieconsent')
->set('cookie_id', $form_state->getValue('cookie_id'))
->set('consent_email', $useremail)
->set('consent_url', $baseurl)
->set('cookie_id', $consetid)
->set('seers_term_condition', $form_state->getValue('seers_term_condition'))
->set('seers_term_condition_url', $form_state->getValue('seers_term_condition_url'))
->save();
}
}
}
}