/** * Stores subscription only if needed, according to global setting createAlsoFreeSubscriptions * * @param boolean $updateNulls TRUE: null object variables are also updated, FALSE: not. * @return boolean TRUE if successful otherwise FALSE */ public function store( $updateNulls = false ) { global $_CB_framework; $params =& cbpaidApp::settingsParams(); $plan = $this->getPlan(); if ( ( $params->get( 'createAlsoFreeSubscriptions') == 0 ) && $plan && $plan->isLifetimeValidity() && $plan->isFree() ) { $registeredUserGroup = $_CB_framework->getCfg( 'new_usertype' ); if ( in_array( $plan->get( 'usergroup' ), array( $registeredUserGroup, 0 ) ) ) { // do not create subscriptions for lifetime free registered-level subscriptions: $k = $this->_tbl_key; $this->$k = 0; return true; } } return parent::store( $updateNulls ); }