Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Janis
/
btflags
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
783c9be5
authored
2018-11-21 10:34:21 +0800
by
Jonille Arreglo
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
update 11515_encrypted_flag
1 parent
43fd0d88
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
15 additions
and
9 deletions
src/BTFlags/FlagManager.php
src/BTFlags/Flags.php
src/BTFlags/FlagManager.php
View file @
783c9be
...
...
@@ -156,25 +156,31 @@ class FlagManager {
if
(
!
$flags
)
return
[];
foreach
(
$flags
as
$flag
){
$value
=
$this
->
checkFlag
(
$flag
,
!
empty
(
$flag
[
'default'
])
?
$flag
[
'default'
]
:
null
);
setcookie
(
$flag
[
'encrypted_name'
],
$value
,
time
()
+
(
86400
*
30
),
"/"
);
setcookie
(
$flag
[
'encrypted_name'
],
$value
[
'cookie_value'
]
,
time
()
+
(
86400
*
30
),
"/"
);
}
}
private
function
filterFlag
(
$flag
,
$needle
,
$defaultValue
){
$this
->
checkDir
();
if
(
!
$flag
[
'is_filtered'
])
return
$needle
;
if
(
!
$flag
[
'is_filtered'
])
return
array
(
'value'
=>
$needle
,
'cookie_value'
=>
$needle
)
;
$acceptedValues
=
$flag
[
'accepted_values'
];
if
(
isset
(
$flag
[
'both_usable'
])){
if
(
$flag
[
'both_usable'
]){
return
count
(
array_filter
(
$acceptedValues
,
function
(
$value
)
use
(
$needle
)
{
return
$value
[
'encrypted_value'
]
==
$needle
||
$value
[
'value'
]
==
$needle
;
}))
?
$needle
:
$defaultValue
;
$flag_value
=
''
;
foreach
(
$acceptedValues
as
$value
)
{
if
(
$value
[
'encrypted_value'
]
==
$needle
||
$value
[
'value'
]
==
$needle
)
$flag_value
=
$value
[
'value'
];
}
return
$flag_value
!=
''
?
array
(
'value'
=>
$flag_value
,
'cookie_value'
=>
$needle
)
:
array
(
'value'
=>
$defaultValue
,
'cookie_value'
=>
$defaultValue
);
}
return
count
(
array_filter
(
$acceptedValues
,
function
(
$value
)
use
(
$needle
)
{
return
$value
[
'encrypted_value'
]
==
$needle
;
}))
?
$needle
:
$defaultValue
;
}
$flag_value
=
''
;
foreach
(
$acceptedValues
as
$value
)
{
if
(
$value
[
'encrypted_value'
]
==
$needle
)
$flag_value
=
$value
[
'value'
];
}
return
$flag_value
!=
''
?
array
(
'value'
=>
$flag_value
,
'cookie_value'
=>
$needle
)
:
array
(
'value'
=>
$defaultValue
,
'cookie_value'
=>
$defaultValue
);
}
public
function
checkFlag
(
$flag
,
$defaultValue
,
$driver
=
'cookie'
){
...
...
src/BTFlags/Flags.php
View file @
783c9be
...
...
@@ -18,7 +18,7 @@ class Flags{
$flagManager
=
new
FlagManager
();
$flag
=
$flagManager
->
getFlag
(
$flagName
,
$encrypted
);
if
(
!
$flag
)
return
null
;
return
$flagManager
->
checkFlag
(
$flag
,
$defaultValue
?
$defaultValue
:
(
isset
(
$flag
[
'has_default'
])
&&
$flag
[
'has_default'
]
?
$flag
[
'default'
]
:
null
));
return
$flagManager
->
checkFlag
(
$flag
,
$defaultValue
?
$defaultValue
:
(
isset
(
$flag
[
'has_default'
])
&&
$flag
[
'has_default'
]
?
$flag
[
'default'
]
:
null
))
[
'value'
]
;
}
/**
...
...
Write
Preview
Styling with
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment