My latest update did the trick to solve my problem completely.
Since i am not using table item for gdpr there is no need to fill it with $tc, $pp, $nw. Instead i am only using table user to fill and check if socials are logged and checked boxes.
In model i modified
// INSERT TC/PP ON ITEM
public function updateItem($user_id, $tc, $pp, $nw) {
if($user_id = osc_logged_user_id() ) {
$values = array(
'i_gdpr_tc' => $tc,
'i_gdpr_pp' => $pp,
'i_gdpr_nw' => $nw
);
$this->dao->update($this->getTable_user(), $values, array('pk_i_id' => $user_id));
}
}
And checkbox.php checks if user has tc and pp on.....
<?php
$user_id = osc_logged_user_id();
$checkbox = ModelGDPR::newInstance()->getGdprByUserId($user_id);
if ($checkbox['i_gdpr_tc'] !=1) {
?>
......continue script....
Halfway the page i copied the same code for boxes and made them tc and pp un-visible....it continues checking for $nw
<?php } } else if ($checkbox['i_gdpr_nw'] !=1) { ?>
and only box $nw is shown.
In the end when all 3 boxes are checked there is <?php } else { ?>
and some text to fill.
If logged in with any kind of media it works as a charm now.....
I am posting this just in case someone needs it.
All credits to tomi 327 and Frosticek @MB Themes