User permission management code. User permission management code define (PATTERN_MODE_INT, 1); define (PATTERN_MODE_STRING, 2); functionbitToArray ($ data, $ ruleArr, $ modePATTERN_MODE_INT) {$ varDataarray (); if ($ m user permission management code
Define ('pattern_mode_int ', 1 );
Define ('pattern_mode_string ', 2 );
Function bitToArray ($ data, $ ruleArr, $ mode = PATTERN_MODE_INT)
{
$ VarData = array ();
If ($ mode = PATTERN_MODE_INT)
{
$ UsedBit = 0;
For ($ I = 0; $ I <Count ($ ruleArr); $ I ++)
{
If ($ ruleArr [$ I] <= 0) continue;
$ TurnData = pow (2, $ ruleArr [$ I])-1 <$ usedBit & $ data;
$ VarData [$ I] = $ turnData >>$ usedBit;
$ UsedBit + = $ ruleArr [$ I];
}
}
Else
{
For ($ I = 0, $ cnt = Count ($ ruleArr); $ I <$ cnt; $ I ++)
{
$ VarData [$ I] = substr ($ data, $ I, $ ruleArr [$ I]);
}
}
Return $ varData;
}
Function arrayToBit ($ data, $ ruleArr, $ mode = PATTERN_MODE_INT)
{
$ Rslt = '';
If ($ mode = PATTERN_MODE_INT)
{
$ UsedBit = 0;
$ Rslt = 0;
For ($ I = 0; $ I <Count ($ ruleArr); $ I ++)
{
If ($ ruleArr [$ I] <= 0) continue;
If (! $ Data [$ I]) $ data [$ I] = 0;
$ Rslt | = $ data [$ I] <$ usedBit;
$ UsedBit + = $ ruleArr [$ I];
}
}
Else
{
For ($ I = 0, $ cnt = Count ($ ruleArr); $ I <$ cnt; $ I ++)
{
$ Rslt. = sprintf ('% 0'. $ ruleArr [$ I]. S', $ data [$ I]);
}
}
Return $ rslt;
}
Includefine ('pattern_mode_int ', 1); define ('pattern_mode_string', 2); function bitToArray ($ data, $ ruleArr, $ mode = PATTERN_MODE_INT) {$ varData = array (); if ($ m...