@@ -95,8 +95,10 @@ public function createId( $nCenter, $nNode, $sSource = null, & $arrData = null )
95
95
}
96
96
97
97
// ...
98
- $ nRet = 0 ;
99
- $ nTime = $ this ->getEscapedTime ();
98
+ $ nRet = 0 ;
99
+ $ nTime = $ this ->getEscapedTime ();
100
+ $ nCenter = intval ( $ nCenter );
101
+ $ nNode = intval ( $ nNode );
100
102
101
103
if ( is_string ( $ sSource ) && strlen ( $ sSource ) > 0 )
102
104
{
@@ -146,6 +148,7 @@ public function parseId( $nId )
146
148
}
147
149
148
150
// ...
151
+ $ nId = intval ( $ nId );
149
152
$ nCenter = ( ( $ nId & 0x00000000003E0000 ) >> 17 );
150
153
$ nNode = ( ( $ nId & 0x000000000001F000 ) >> 12 );
151
154
$ nTime = ( ( $ nId & 0x7FFFFFFFFFC00000 ) >> 22 );
@@ -187,20 +190,38 @@ public function isValidId( $nVal )
187
190
188
191
return $ bRet ;
189
192
}
190
-
191
-
193
+
194
+ /**
195
+ * @param $nVal int 64 bits unique id
196
+ * @return boolean true or false
197
+ */
192
198
public function isValidCenterId ( $ nVal )
193
199
{
194
200
return is_numeric ( $ nVal ) && ( $ nVal >= 0 ) && ( $ nVal <= 31 );
195
201
}
202
+
203
+ /**
204
+ * @param $nVal int 64 bits unique id
205
+ * @return boolean true or false
206
+ */
196
207
public function isValidNodeId ( $ nVal )
197
208
{
198
209
return is_numeric ( $ nVal ) && ( $ nVal >= 0 ) && ( $ nVal <= 31 );
199
210
}
211
+
212
+ /**
213
+ * @param $nVal int 64 bits unique id
214
+ * @return boolean true or false
215
+ */
200
216
public function isValidTime ( $ nVal )
201
217
{
202
218
return is_numeric ( $ nVal ) && ( $ nVal >= 0 );
203
219
}
220
+
221
+ /**
222
+ * @param $nVal int 64 bits unique id
223
+ * @return boolean true or false
224
+ */
204
225
public function isValidRand ( $ nVal )
205
226
{
206
227
return is_numeric ( $ nVal ) && ( $ nVal >= 0 ) && ( $ nVal <= 0xFFF );
@@ -226,4 +247,6 @@ public function getEscapedTime()
226
247
{
227
248
return intval ( $ this ->getUnixTimestamp () - self ::EPOCH_OFFSET );
228
249
}
250
+
251
+
229
252
}
0 commit comments