/** * read config in db configured in Symfony BO * * @param $featureCode * @param $value * * @return mixed */ public static function feature($featureCode, $value) { if(eZINI::instance()->hasVariable("Environment", "Type")) $env = eZINI::instance()->variable("Environment", "Type"); else $env = "dev"; $featureLocalized = CacheFeatureTool::getFeatureLocalizedByCode($featureCode); if(!$featureLocalized) return false; $features = $featureLocalized->getParameter($value); if(!$features) return false; $featureDefinition = $featureLocalized->featureDefinition(); $definition = $featureDefinition->getValuesDefinition($value); if($definition["envDependent"]) return $features[$env]; else return $features; }
/** * * @param string $user Usually get from MMUsers::getCurrentUserObject() function */ protected function getSubsForOptin($user) { if( $user && SolrSafeOperatorHelper::featureIsActive('newsletterPopin') ) { if (SolrSafeOperatorHelper::featureIsActive('UUMP')) { // not yet activated for UUMP clusters //$instance = new ServiceUserUUMP(); } else { $instance = new ServiceUser(); $userSubs = $instance->subsread(); $userSubs = $userSubs['Data']['Subs']; $toCheck = array(); $subs = json_decode(CacheFeatureTool::getFeatureLocalizedByCode('newsletterPopin')->parameters, true); foreach ( $subs as $key => $value ) { if ( $value ) { $toCheck[] = $key; } } $filteredSubs = array(); if(is_array($userSubs)){ foreach ( $userSubs as $key => $value ) { $filteredSubs[] = $value['offerId']; } } $listOfChecks = array(); if ( !empty($toCheck) ) { foreach ( $toCheck as $value ) { if ( !in_array( $value, $filteredSubs ) && $value != "daysToCheck" ){ $listOfChecks[] = $value; } } } if (!empty($listOfChecks)) { eZSession::set('listOfChecks', $listOfChecks); } } } }