Merge branch '11515_encrypted_flag' into 'master'
update 11515_encrypted_flag See merge request !2
Showing
2 changed files
with
15 additions
and
9 deletions
| ... | @@ -156,25 +156,31 @@ class FlagManager { | ... | @@ -156,25 +156,31 @@ class FlagManager { |
| 156 | if(!$flags) return []; | 156 | if(!$flags) return []; |
| 157 | foreach($flags as $flag){ | 157 | foreach($flags as $flag){ |
| 158 | $value = $this->checkFlag($flag, !empty($flag['default']) ? $flag['default'] : null); | 158 | $value = $this->checkFlag($flag, !empty($flag['default']) ? $flag['default'] : null); |
| 159 | setcookie($flag['encrypted_name'], $value, time() + (86400 * 30), "/"); | 159 | setcookie($flag['encrypted_name'], $value['cookie_value'], time() + (86400 * 30), "/"); |
| 160 | } | 160 | } |
| 161 | } | 161 | } |
| 162 | 162 | ||
| 163 | private function filterFlag($flag, $needle, $defaultValue){ | 163 | private function filterFlag($flag, $needle, $defaultValue){ |
| 164 | $this->checkDir(); | 164 | $this->checkDir(); |
| 165 | if(!$flag['is_filtered']) return $needle; | 165 | if(!$flag['is_filtered']) return array('value' => $needle, 'cookie_value' => $needle ); |
| 166 | 166 | ||
| 167 | $acceptedValues = $flag['accepted_values']; | 167 | $acceptedValues = $flag['accepted_values']; |
| 168 | if(isset($flag['both_usable'])){ | 168 | if(isset($flag['both_usable'])){ |
| 169 | if($flag['both_usable']){ | 169 | if($flag['both_usable']){ |
| 170 | return count(array_filter($acceptedValues, function($value) use ($needle) { | 170 | $flag_value = ''; |
| 171 | return $value['encrypted_value'] == $needle || $value['value'] == $needle; | 171 | foreach($acceptedValues as $value) { |
| 172 | })) ? $needle : $defaultValue; | 172 | if($value['encrypted_value'] == $needle || $value['value'] == $needle) |
| 173 | $flag_value = $value['value']; | ||
| 173 | } | 174 | } |
| 175 | return $flag_value != '' ? array('value' => $flag_value, 'cookie_value' => $needle ) : array('value' => $defaultValue, 'cookie_value' => $defaultValue ); | ||
| 174 | } | 176 | } |
| 175 | return count(array_filter($acceptedValues, function($value) use ($needle) { | 177 | } |
| 176 | return $value['encrypted_value'] == $needle; | 178 | $flag_value = ''; |
| 177 | })) ? $needle : $defaultValue; | 179 | foreach($acceptedValues as $value) { |
| 180 | if($value['encrypted_value'] == $needle) | ||
| 181 | $flag_value = $value['value']; | ||
| 182 | } | ||
| 183 | return $flag_value != '' ? array('value' => $flag_value, 'cookie_value' => $needle ) : array('value' => $defaultValue, 'cookie_value' => $defaultValue ); | ||
| 178 | } | 184 | } |
| 179 | 185 | ||
| 180 | public function checkFlag($flag, $defaultValue, $driver = 'cookie'){ | 186 | public function checkFlag($flag, $defaultValue, $driver = 'cookie'){ | ... | ... |
| ... | @@ -18,7 +18,7 @@ class Flags{ | ... | @@ -18,7 +18,7 @@ class Flags{ |
| 18 | $flagManager = new FlagManager(); | 18 | $flagManager = new FlagManager(); |
| 19 | $flag = $flagManager->getFlag($flagName, $encrypted); | 19 | $flag = $flagManager->getFlag($flagName, $encrypted); |
| 20 | if(!$flag) return null; | 20 | if(!$flag) return null; |
| 21 | return $flagManager->checkFlag($flag, $defaultValue ? $defaultValue : (isset($flag['has_default']) && $flag['has_default'] ? $flag['default'] : null)); | 21 | return $flagManager->checkFlag($flag, $defaultValue ? $defaultValue : (isset($flag['has_default']) && $flag['has_default'] ? $flag['default'] : null))['value']; |
| 22 | } | 22 | } |
| 23 | 23 | ||
| 24 | /** | 24 | /** | ... | ... |
-
Please register or sign in to post a comment