Odyssey
cu_flagconst.i
1 <?php
2 /**
3  * ***
4  * *** NEW GLOBAL FUNCTIONS ADDED AT END OF SCRIPT -- keep both until all references removed
5  * ***
6  * *** GetFlagsetValue
7  * *** GetUserFlagsValue
8  * *** GetAdminUserFlagsValue
9  * *** GetMsgTxValue
10  * ***
11  */
12 # Defines used for ACH operations; used for ACH, external accounts, transfers
13 define( "ACCOUNT_TYPE_CHECKING", 10 );
14 define( "ACCOUNT_TYPE_SAVINGS", 20 );
15 
16 # stored in cuadmin.flagset
17 # Show Available balance
18 $CU_SHOWAVAILABLE=1;
19 # Check image retrieval on
20 $CU_SHOWIMAGES=2;
21 # Special processing for check images returned as link
22 # value recycled as new flag 5/25/12
23 # Use cuadmin.depositlimit for 3rd party remote deposit
24 $CU_3RDPARTYRDC=4;
25 # Mail copy of transactions to CU
26 $CU_MAILTXNS=8;
27 # Save copy of transaction in database
28 $CU_SAVETXNS=16;
29 # Require email addresses on transfers
30 $CU_COLLECTEMAIL=32;
31 # Calculate running balance from account balance
32 $CU_CALCRUNBAL=64;
33 # Show Dividend message on deposit accounts
34 $CU_SHOWDEPDIVIDEND=128;
35 # Show YTD Interest message on loans
36 $CU_SHOWLNINTEREST=256;
37 # Include description when reporting loan transactions
38 $CU_SHOWLNTXNDESC=512;
39 # Show split principle and interest for loan transactions
40 $CU_SHOWLNTXNSPLIT=1024;
41 # If loan balance is NA print zero
42 $CU_HIDENA=2048;
43 # Sort account history transactions by ....
44 # accounttype, certnumber, tracenumber desc
45 $CU_SORTORDER1=4096;
46 # accounttype, certnumber, date desc, sortkey desc
47 $CU_SORTORDER2=8192;
48 # accounttype, certnumber, date desc, tracenumber desc
49 $CU_SORTORDER3=16384;
50 # btrim(ab.accounttype,'DIS'),ab.certnumber,ah.date desc, tracenumber desc
51 $CU_SORTORDER4=32768;
52 # accounttype, certnumber, date desc, oid desc
53 $CU_SORTORDER5=2097152;
54 # loanhistory balance missing -- hide the field
55 $CU_LNBALUNUSABLE=65536;
56 # Sort loan history transactions by ....
57 # lb.loannumber, lh.date desc, lh.tracenumber desc
58 $CU_LNSORT1=131072;
59 # btrim(lb.loannumber,'LC'), lh.date desc, lh.tracenumber desc
60 $CU_LNSORT2=262144;
61 # Allow QIF download format
62 $CU_QIFDOWN=524288;
63 # Hide Loan Next Payment Date
64 $CU_HIDELOANDATE=1048576;
65 # Allow MNY download format Microsoft Money
66 $CU_MNYDOWN=4194304;
67 # Allow QKN download format Quicken WebConnect
68 $CU_QKNDOWN=8388608;
69 # Show NCUA logo on Transfer screen
70 $CU_SHOWNCUA=16777216;
71 # Show Current Interest Rates on Loans
72 $CU_SHOWLNRATE=33554432;
73 # Show link for older check images
74 $CU_SHOWARCLINK=67108864;
75 # Allow members to reset their own password
76 $CU_MEMRESET=134217728;
77 # Allow members to switch to other accounts w/o login
78 $CU_ALLOWSWITCH=268435456;
79 # Switch Account records included in LIVE XAC packet
80 $CU_PKT_SWITCH=536870912;
81 # Hide Prior Year Interest and Dividends
82 $CU_HIDE_PYR=1073741824;
83 #
84 # Now use flagset2 because PHP runs out of bits
85 
86 # stored in cuadmin.flagset2
87 # Hide Payoff
88 $CU2_HIDE_PAYOFF=1;
89 # Show 'Call' for Payoff
90 $CU2_CALL_PAYOFF=2;
91 # Special Handling for loan type 18 Credit Cards
92 $CU2_SPEC18=4;
93 # Show interest rate on credit cards
94 $CU2_SHOWCCRATE=8;
95 # Show Credit Card last paid date
96 $CU2_SHOWCCLPAY=16;
97 # Process Repeating Transactions for this CU, they will NOT be processed until this is set
98 $CU2_PROCRECUR=32;
99 # Credit Union uses member messaging feature
100 $CU2_ALLOWMESSAGE=64;
101 # Sort accounts by ....
102 # deposittype, accounttype, certnumber
103 $CU2_SORTORDER6=128;
104 # Show Destination Account Number for LIVE Cross-Accts
105 $CU2_SHOWTXDEST=256;
106 # Show holds; Expect Hold Transactions in live packet
107 $CU2_SHOWHOLD=512;
108 # Show Credit Card (type 18) stmnt bal
109 $CU2_SHOWCCSB=1024;
110 # Credit Union uses OnLineDeposits
111 $CU2_USEONLDEP=2048;
112 # Type 18 No balance info available
113 $CU2_CC18NOINFO=4096;
114 # Type 18 Show as From/To even if zero available
115 $CU2_CC18SHOWZERO=8192;
116 # Hide Loan Past Due marker
117 $CU2_HIDE_PASTDUE=16384;
118 # OFX Include Member in ACCTID
119 $CU2_OFX_MEMACCTID=32768;
120 # OFX Include LOAN INFO
121 $CU2_OFX_PASSLOAN=65536;
122 # Show 10-day payoff
123 $CU2_10DAYPAY=131072;
124 # Credit Card Hide Available
125 $CU2_HIDE_CCAVAIL=262144;
126 # Credit Card Show 'Call' for Available
127 $CU2_CALL_CCAVAIL=524288;
128 # Show banner add in page top
129 $CU2_SHOWBANNER=1048576;
130 # Use expanded schema for LoanBalance & LoanHistory
131 # available for use on UPD8 / AWS only
132 $CU2_ESCHEMA=2097152;
133 # Loan History show escrow amount (requires CU2_ESCHEMA)
134 $CU2_SHOW_LN_ESCROW=4194304;
135 # Loan History show fee amount (requires CU2_ESCHEMA)
136 $CU2_SHOW_LN_FEE=8388608;
137 # Present Members with FRAME-FREE home banking scripts -- Menu is loaded from fmenu.html
138 $CU2_FRAMEFREE=16777216;
139 # Allow Member Alerts Processing -- Use this to turn on Alert processing for a credit union
140 $CU2_ALLOW_MBR_ALERTS=33554432;
141 # CU requires user_alias as username
142 $CU2_ALIAS_REQ=67108864;
143 # Show pending; Expect pending Txns in live packet
144 $CU2_SHOWPEND=134217728;
145 # lb.oid, lh.date desc, lh.tracenumber desc
146 $CU2_LNSORT3=268435456;
147 # Show only 1 randomized challenge question at a time
148 $CU2_RANDOM_CHAL=536870912;
149 # CU allows user_alias as username
150 $CU2_ALIAS_OK=1073741824;
151 
152 
153 
154 # NEXT AVAILABLE FLAG
155 # alter cuadmin to include flagset3 before using this set. Defined on barney
156 # and debtest and forward to amazon.
157 # If a client needs a cu3 flag, make sure they move to amazon
158 
159 # stored in cuadmin.flagset3
160 
161 # Flag used to see if member should be able to sign up for E-Statements at first login
162 $CU3_ESTMNT_SIGNUP=1;
163 # Flag for receiving eStatements directly from core
164 $CU3_ESTMNT_CORE=2;
165 # Flag for allowing members to enroll in home banking by showing button on login page
166 $CU3_SHOW_ENROLL=4;
167 # Flag for having auto activate use the MIR packet
168 $CU3_ENROLL_MIR=8;
169 # CU uses MFA Authcode instead of Challenge Questions
170 $CU3_MFA_AUTHCODE=16;
171 # Prepends members to descriptions without custom message
172 $CU3_PREPEND_MBR_DESC=32;
173 # Masks the member number for descriptions without custom message and previous flag set
174 $CU3_MASK_MBR_DESC=64;
175 // Use Plus API features (Balance Only, History on demand, M2M)
176 $CU3_API_PLUS = 128;
177 // Make a XAC packet request from the core for the member
178 $CU3_API_XAC = 256;
179 // By default Odyssey will use Amazon SMS services for sending MFA Codes. If this is set then it will use the LONG CODE associated with CU
180 $CU3_LONGCODE_MFA = 512;
181 // Allow contents of sortkey from core to override check micr info at HomeCU
182 $CU3_SORTKEY_MICR = 1024;
183 // Allow QB download format QuickBooks
184 $CU3_QBDOWN = 2048;
185 // Flag for having auto activate use the core PIN
186 $CU3_ENROLL_PIN = 4096;
187 // Flag for disallowing multiple accounts
188 $CU3_DISALLOW_MULTIPLE_ACCOUNTS = 8192;
189 // Flag for preventing transfers to different accounts
190 $CU3_DISALLOW_MULT_ACCOUNTS_TRANSFER = 16384;
191 // Flag to determine if we create Access_Control Records from XAC entries instead of the overloaded 000#1234123
192 $CU3_CREATE_ACCESS_CONTROL_FROM_XAC = 32768;
193 // Flag for allowing CU to have leading zeros on member account numbers
194 $CU3_ALLOW_LEAD_ZEROS = 65536;
195 // Flag for allowing CU to migrate older (device) cookies to the new format
196 $CU3_ALLOW_COOKIE_MIGRATION = 131072;
197 // Flag for when the MIR packet is not supported
198 $CU3_MIR_PACKET_NOT_SUPPORTED = 262144;
199 // Flag for deciding whether or not to display
200 // cross accounts in the profile descriptions
201 // screen
202 $CU3_EXCLUDE_XAC_FROM_PROFILE_DESCRIPTIONS = 524288;
203 
204 
205 # CUDP default flags
206 $CU_CUDP_DEFAULT=$CU_SORTORDER1 + $CU_SHOWDEPDIVIDEND + $CU_SHOWLNINTEREST
207  + $CU_SHOWLNTXNDESC + $CU_SHOWLNTXNSPLIT + $CU_LNSORT1
208  + $CU_SAVETXNS + $CU_COLLECTEMAIL;
209 
210 # CUSA default flags
211 $CU_CUSA_DEFAULT=$CU_SORTORDER2 + $CU_SHOWDEPDIVIDEND + $CU_SHOWLNINTEREST
212  + $CU_SHOWLNTXNDESC + $CU_SHOWLNTXNSPLIT + $CU_LNSORT1
213  + $CU_SAVETXNS + $CU_COLLECTEMAIL;
214 
215 # AMI default flags
216 $CU_AMI_DEFAULT=$CU_SORTORDER3 + $CU_CALCRUNBAL + $CU_SHOWLNTXNSPLIT
217  + $CU_LNSORT1 + $CU_SAVETXNS + $CU_COLLECTEMAIL
218  + $CU_SHOWAVAILABLE + $CU_SHOWLNTXNDESC;
219 
220 # SOSystems default flags
221 $CU_SOS_DEFAULT=$CU_SORTORDER3 + $CU_CALCRUNBAL + $CU_LNBALUNUSABLE
222  + $CU_LNSORT1 + $CU_SAVETXNS + $CU_COLLECTEMAIL
223  + $CU_SHOWLNTXNDESC;
224 
225 # Peerless default flags
226 $CU_PEER_DEFAULT=$CU_SORTORDER3 + $CU_SHOWDEPDIVIDEND + $CU_SHOWLNINTEREST
227  + $CU_SHOWLNTXNDESC + $CU_SHOWLNTXNSPLIT + $CU_CALCRUNBAL
228  + $CU_LNSORT1 + $CU_SAVETXNS + $CU_COLLECTEMAIL;
229 
230 # Galaxy default flags
231 $CU_GALAXY_DEFAULT=$CU_SORTORDER4 + $CU_SHOWDEPDIVIDEND + $CU_SHOWLNINTEREST
232  + $CU_SHOWLNTXNDESC + $CU_SHOWLNTXNSPLIT + $CU_CALCRUNBAL
233  + $CU_LNSORT2 + $CU_HIDENA + $CU_SAVETXNS + $CU_COLLECTEMAIL;
234 
235 # Compusource default flags
236 $CU_CSOURCE_DEFAULT=$CU_SORTORDER5 + $CU_SHOWDEPDIVIDEND + $CU_SHOWLNINTEREST
237  + $CU_SHOWLNTXNDESC + $CU_SHOWLNTXNSPLIT + $CU_LNSORT1
238  + $CU_SAVETXNS + $CU_COLLECTEMAIL;
239 
240 # CUC default flags
241 $CU_CUC_DEFAULT=$CU_SHOWAVAILABLE + $CU_SORTORDER1 + $CU_SHOWDEPDIVIDEND
242  + $CU_SHOWLNINTEREST + $CU_SHOWLNTXNDESC + $CU_SHOWLNTXNSPLIT
243  + $CU_LNSORT1 + $CU_SAVETXNS + $CU_COLLECTEMAIL + $CU_HIDE_PYR;
244 
245 # generic default flags
246 $CU_GENL_DEFAULT=$CU_SORTORDER3 + $CU_SHOWDEPDIVIDEND + $CU_SHOWLNINTEREST
247  + $CU_SHOWLNTXNDESC + $CU_SHOWLNTXNSPLIT + $CU_LNSORT1
248  + $CU_SAVETXNS + $CU_COLLECTEMAIL;
249 
250 
251 // *** MEMBER FLAG CONSTANTS
252 // stored in cuusers.userflags
253 // ** Bit Number --- Maximum of a 32 bit integer
254 // 0 - Flag Unused
255 $MEM_UNUSED = 0;
256 // 1 - Force Reset by Admin
257 $MEM_FORCE_RESET = 2;
258 // 2 - Login Failed -- Email Incorrect
259 $MEM_LOGIN_FAILED_EMAIL = 4;
260 // 3 - Login Failed -- Challenge Questions Incorrect
261 $MEM_LOGIN_FAILED_QST = 8;
262 // 4 - Login Failed -- Password Incorrect
263 $MEM_LOGIN_FAILED_PWD = 16;
264 // 5 - Flag Member for Bill Pay email
265 $MEM_ASKBPAY = 32;
266 // 6 - Login Failed -- Cannot use account # when alias is set
267 $MEM_LOGIN_FAILED_ALIAS = 64;
268 // 7 - Login Failed -- Secure Access Code Incorrect
269 $MEM_LOGIN_FAILED_SAC = 128;
270 // 8 Login Failed -- MFA Bundle missing or invalid
271 $MEM_LOGIN_FAILED_BNDL = 256;
272 // 9 Login Failed -- App login process took too long
273 $MEM_LOGIN_FAILED_BNDL_TIMEOUT = 512;
274 
275 // ** NEXT MEMBER FLAG VALUE = 1024
276 // ** MAX MEMBER FLAG VALUE = 1073741824 2^30
277 
278 // *** ADMIN FLAG CONSTANTS
279 // stored in cuadminusers.userflags
280 // ** Bit Number --- Maximum of a 32 bit integer
281 // 0 - Flag Unused
282 $ADM_UNUSED = 0;
283 // 1 - Force Reset by Admin
284 $ADM_FORCE_RESET = 2;
285 // 2 -Admin Privileges
286 $ADM_MASTER_PRIV = 4;
287 // 3 -Login Failed -- Email Incorrect
288 $ADM_LOGIN_FAILED_EMAIL = 8;
289 // 4 -Login Failed -- Challenge Questions Incorrect
290 $ADM_LOGIN_FAILED_QST = 16;
291 // 5 -Login Failed -- Password Incorrect
292 $ADM_LOGIN_FAILED_PWD = 32;
293 // 6
294 $ADM_REMOTE_ACCESS_ALLOWED = 64;
295 
296 // ** NEXT ADMIN FLAG VALUE = 128
297 // ** MAX ADMIN FLAG VALUE = 1073741824 2^30
298 
299 
300 // *** LIVE APPLIANCE FLAG CONSTANTS
301 # stored in cuadmin.livesetup
302 # - Allow appliance auto-down
303 $LA_AUTO_DOWN = 1;
304 # - Allow appliance auto-up
305 $LA_AUTO_UP = 2;
306 
307 // ** NEXT LIVE APPLIANCE FLAG VALUE = 4
308 // ** MAX LIVE APPLIANCE FLAG VALUE = 1073741824 2^30
309 
310 #
311 # flag bits stored in cuusers.msg_tx
312 # 1=Transfer
313 # 2=Estatement
314 # 4=WebConnect
315 #
316 # 8 temporary (session-long) flag for SurveyPopup SURVEY
317 # 16 temporary (session-long) flag to indicate when an XAC packet has been requested
318 # 32 temporary (session-long) flag to indicate when an XAC packet has been successfully loaded
319 #
320 # 64=IntuitUpdate message
321 # 128=TxnDownload
322 #
323 # 256 temporary (session-long) flag for SurveyPopup MESSAGE
324 #
325 # 512 'Force Email Change': when set the member will be prompted for email at login.
326 # 1024=Passchange
327 #
328 # 2048 Online Deposits disclosure acceptance - used in OnLineDeposits,
329 # 4096 - Promo don't show me again
330 # 8192 - "Sticky" Promo -- member can't suppress
331 #
332 # 16384 is next
333 
334 # HCUTEMP_FLAGS value below should reflect the sum of
335 # temporary (session-long) flags. This value is used when updating
336 # the database to avoid storing any temporary flags.
337 #
338 
339 define ("HCUTEMP_FLAGS",49464);
340 
341 /**
342  * Return the integer value of a predefined constant
343  * FOR ** flagset ** constants
344  *
345  * These values are typically used in bitwise operations
346  *
347  * @param string $pConstantName -- Name of the predefined constant
348  *
349  * @return integer
350  * -- returns 0 on error
351  *
352  */
353 function GetFlagsetValue($pConstantName) {
354  $retVal = 0;
355 
356 /* stored in cuadmin.flagset */
357 
358  $flagConstants = Array(
359  'CU_SHOWAVAILABLE' => 1, // Show Available balance
360  'CU_SHOWIMAGES' => 2, // Check image retrieval on
361  'CU_3RDPARTYRDC' => 4, // Use cuadmin.depositlimit for 3rd party remote deposit
362 
363  'CU_MAILTXNS' => 8, // Mail copy of transactions to CU
364  'CU_SAVETXNS' => 16, // Save copy of transaction in database
365  'CU_COLLECTEMAIL' => 32, // Require email addresses on transfers
366  'CU_CALCRUNBAL' => 64, // Calculate running balance from account balance
367  'CU_SHOWDEPDIVIDEND' => 128, // Show Dividend message on deposit accounts
368  'CU_SHOWLNINTEREST' => 256, // Show YTD Interest message on loans
369  'CU_SHOWLNTXNDESC' => 512, // Include description when reporting loan transactions
370  'CU_SHOWLNTXNSPLIT' => 1024, // Show split principle and interest for loan transactions
371  'CU_HIDENA' => 2048, // If loan balance is NA print zero
372  'CU_SORTORDER1' => 4096, // Sort account history transactions by ....accounttype, certnumber, tracenumber desc
373  'CU_SORTORDER2' => 8192, // accounttype, certnumber, date desc, sortkey desc
374  'CU_SORTORDER3' => 16384, // accounttype, certnumber, date desc, tracenumber desc
375  'CU_SORTORDER4' => 32768, // btrim(ab.accounttype,'DIS'),ab.certnumber,ah.date desc, tracenumber desc
376  'CU_SORTORDER5' => 2097152, // accounttype, certnumber, date desc, oid desc
377  'CU_LNBALUNUSABLE' => 65536, // loanhistory balance missing -- hide the field
378  'CU_LNSORT1' => 131072, // Sort loan history transactions by .... lb.loannumber, lh.date desc, lh.tracenumber desc
379  'CU_LNSORT2' => 262144, // btrim(lb.loannumber,'LC'), lh.date desc, lh.tracenumber desc
380  'CU_QIFDOWN' => 524288, // Allow QIF download format
381  'CU_HIDELOANDATE' => 1048576, // Hide Loan Next Payment Date
382  'CU_MNYDOWN' => 4194304, // Allow MNY download format Microsoft Money
383  'CU_QKNDOWN' => 8388608, // Allow QKN download format Quicken WebConnect
384  'CU_SHOWNCUA' => 16777216, // Show NCUA logo on Transfer screen
385  'CU_SHOWLNRATE' => 33554432, // Show Current Interest Rates on Loans
386  'CU_SHOWARCLINK' => 67108864, // Show link for older check images
387  'CU_MEMRESET' => 134217728, // Allow members to reset their own password
388  'CU_ALLOWSWITCH' => 268435456, // Allow members to switch to other accounts w/o login
389  'CU_PKT_SWITCH' => 536870912, // Switch Account records included in LIVE XAC packet
390  'CU_HIDE_PYR' => 1073741824, // Hide Prior Year Interest and Dividends
391 
392  /* stored in cuadmin.flagset2 */
393  'CU2_HIDE_PAYOFF' => 1, // Hide Payoff
394  'CU2_CALL_PAYOFF' => 2, // Show 'Call' for Payoff
395  'CU2_SPEC18' => 4, // Special Handling for loan type 18 Credit Cards
396  'CU2_SHOWCCRATE' => 8, // Show interest rate on credit cards
397  'CU2_SHOWCCLPAY' => 16, // Show Credit Card last paid date
398  'CU2_PROCRECUR' => 32, // Process Repeating Transactions for this CU, they will NOT be processed until this is set
399  'CU2_ALLOWMESSAGE' => 64, // Credit Union uses member messaging feature
400  'CU2_SORTORDER6' => 128, // Sort accounts by .... deposittype, accounttype, certnumber
401  'CU2_SHOWTXDEST' => 256, // Show Destination Account Number for LIVE Cross-Accts
402  'CU2_SHOWHOLD' => 512, // Show holds; Expect Hold Transactions in live packet
403  'CU2_SHOWCCSB' => 1024, // Show Credit Card (type 18) stmnt bal
404  'CU2_USEONLDEP' => 2048, // Credit Union uses OnLineDeposits
405  'CU2_CC18NOINFO' => 4096, // Type 18 No balance info available
406  'CU2_CC18SHOWZERO' => 8192, // Type 18 Show as From/To even if zero available
407  'CU2_HIDE_PASTDUE' => 16384, // Hide Loan Past Due marker
408  'CU2_OFX_MEMACCTID'=> 32768, // OFX Include Member in ACCTID
409  'CU2_OFX_PASSLOAN' => 65536, // OFX Include LOAN INFO
410  'CU2_10DAYPAY' => 131072, // Show 10-day payoff
411  'CU2_HIDE_CCAVAIL' => 262144, // Credit Card Hide Available
412  'CU2_CALL_CCAVAIL' => 524288, // Credit Card Show 'Call' for Available
413  'CU2_SHOWBANNER' => 1048576, // Show banner add in page top
414  'CU2_ESCHEMA' => 2097152, // Use expanded schema for LoanBalance & LoanHistory
415  'CU2_SHOW_LN_ESCROW' => 4194304, // Loan History show escrow amount (requires CU2_ESCHEMA)
416  'CU2_SHOW_LN_FEE' => 8388608, // Loan History show fee amount (requires CU2_ESCHEMA)
417  'CU2_FRAMEFREE' => 16777216, // Present Members with FRAME-FREE home banking scripts -- Menu is loaded from fmenu.html
418  'CU2_ALLOW_MBR_ALERTS' => 33554432, // Allow Member Alerts Processing -- Use this to turn on Alert processing for a credit union
419  'CU2_ALIAS_REQ' => 67108864, // CU requires user_alias as username
420  'CU2_SHOWPEND' => 134217728, // Show pending; Expect pending Txns in live packet
421  'CU2_LNSORT3' => 268435456, // lb.oid, lh.date desc, lh.tracenumber desc
422  'CU2_RANDOM_CHAL' => 536870912, // Show only 1 randomized challenge question at a time
423  'CU2_ALIAS_OK' => 1073741824, // CU allows user_alias as username
424 
425  /* stored in cuadmin.flagset3 */
426  'CU3_ESTMNT_SIGNUP'=> 1, // Flag used to see if member should be able to sign up for E-Statements at first login
427  'CU3_ESTMNT_CORE' => 2, // Flag for receiving eStatements directly from core
428  'CU3_SHOW_ENROLL' => 4, // Flag for allowing members to enroll in home banking by showing button on login page
429  'CU3_ENROLL_MIR' => 8, // Flag for having auto activate use the MIR packet
430  'CU3_MFA_AUTHCODE' => 16, // CU uses MFA Authcode instead of Challenge Questions
431  'CU3_PREPEND_MBR_DESC' => 32, // Prepends members to descriptions without custom message
432  'CU3_MASK_MBR_DESC' => 64, // Masks the member number for descriptions without custom message and previous flag set
433  'CU3_API_PLUS' => 128, // Use Plus API features (Balance Only, History on demand, M2M)
434  'CU3_API_XAC' => 256, // Make a XAC packet request from the core for the member
435  'CU3_LONGCODE_MFA' => 512, // By default Odyssey will use Amazon SMS services for sending MFA Codes. If this is set then it will use the LONG CODE associated with CU
436  'CU3_SORTKEY_MICR' => 1024, // Allow contents of sortkey from core to override check micr info at HomeCU
437  'CU3_QBDOWN' => 2048, // Allow QB download format QuickBooks
438  "CU3_ENROLL_PIN" => 4096, // Flag for having auto activate use the core PIN
439  "CU3_DISALLOW_MULTIPLE_ACCOUNTS" => 8192, // Flag for disallowing multiple accounts
440  "CU3_DISALLOW_MULT_ACCOUNTS_TRANSFER" => 16384, // Flag for disallowing transfers between different accounts
441  "CU3_CREATE_ACCESS_CONTROL_FROM_XAC" => 32768, // Flag to determine if we create Access_Control Records from XAC entries instead of the overloaded 000#1234123
442  "CU3_ALLOW_LEAD_ZEROS" => 65536, // Allow CU to have leading zeros on member account numbers
443  "CU3_ALLOW_COOKIE_MIGRATION" => 131072, //Allow CU to migrate older (device) cookies to the new format
444  "CU3_MIR_PACKET_NOT_SUPPORTED" => 262144, // Do not call MIR packet when not supported by core
445  "CU3_EXCLUDE_XAC_FROM_PROFILE_DESCRIPTIONS" => 524288, // Exclude XAC from profile descriptions
446  );
447 
448  /* ** CUDP default flags ** */
449  $flagConstants['CU_CUDP_DEFAULT'] = $flagConstants['CU_SORTORDER1'] + $flagConstants['CU_SHOWDEPDIVIDEND'] + $flagConstants['CU_SHOWLNINTEREST']
450  + $flagConstants['CU_SHOWLNTXNDESC'] + $flagConstants['CU_SHOWLNTXNSPLIT'] + $flagConstants['CU_LNSORT1']
451  + $flagConstants['CU_SAVETXNS'] + $flagConstants['CU_COLLECTEMAIL'];
452 
453  /* CUSA default flags */
454  $flagConstants['CU_CUSA_DEFAULT'] = $flagConstants['CU_SORTORDER2'] + $flagConstants['CU_SHOWDEPDIVIDEND'] + $flagConstants['CU_SHOWLNINTEREST']
455  + $flagConstants['CU_SHOWLNTXNDESC'] + $flagConstants['CU_SHOWLNTXNSPLIT'] + $flagConstants['CU_LNSORT1']
456  + $flagConstants['CU_SAVETXNS'] + $flagConstants['CU_COLLECTEMAIL'];
457 
458  /* AMI default flags */
459  $flagConstants['CU_AMI_DEFAULT'] = $flagConstants['CU_SORTORDER3'] + $flagConstants['CU_CALCRUNBAL'] + $flagConstants['CU_SHOWLNTXNSPLIT']
460  + $flagConstants['CU_LNSORT1'] + $flagConstants['CU_SAVETXNS'] + $flagConstants['CU_COLLECTEMAIL']
461  + $flagConstants['CU_SHOWAVAILABLE'] + $flagConstants['CU_SHOWLNTXNDESC'];
462 
463  /* SOSystems default flags */
464  $flagConstants['CU_SOS_DEFAULT'] = $flagConstants['CU_SORTORDER3'] + $flagConstants['CU_CALCRUNBAL'] + $flagConstants['CU_LNBALUNUSABLE']
465  + $flagConstants['CU_LNSORT1'] + $flagConstants['CU_SAVETXNS'] + $flagConstants['CU_COLLECTEMAIL']
466  + $flagConstants['CU_SHOWLNTXNDESC'];
467 
468  /* Peerless default flags */
469  $flagConstants['CU_PEER_DEFAULT'] = $flagConstants['CU_SORTORDER3'] + $flagConstants['CU_SHOWDEPDIVIDEND'] + $flagConstants['CU_SHOWLNINTEREST']
470  + $flagConstants['CU_SHOWLNTXNDESC'] + $flagConstants['CU_SHOWLNTXNSPLIT'] + $flagConstants['CU_CALCRUNBAL']
471  + $flagConstants['CU_LNSORT1'] + $flagConstants['CU_SAVETXNS'] + $flagConstants['CU_COLLECTEMAIL'];
472 
473  /* Galaxy default flags */
474  $flagConstants['CU_GALAXY_DEFAULT'] = $flagConstants['CU_SORTORDER4'] + $flagConstants['CU_SHOWDEPDIVIDEND'] + $flagConstants['CU_SHOWLNINTEREST']
475  + $flagConstants['CU_SHOWLNTXNDESC'] + $flagConstants['CU_SHOWLNTXNSPLIT'] + $flagConstants['CU_CALCRUNBAL']
476  + $flagConstants['CU_LNSORT2'] + $flagConstants['CU_HIDENA'] + $flagConstants['CU_SAVETXNS'] + $flagConstants['CU_COLLECTEMAIL'];
477 
478  /* Compusource default flags */
479  $flagConstants['CU_CSOURCE_DEFAULT'] = $flagConstants['CU_SORTORDER5'] + $flagConstants['CU_SHOWDEPDIVIDEND']+ $flagConstants['CU_SHOWLNINTEREST']
480  + $flagConstants['CU_SHOWLNTXNDESC'] + $flagConstants['CU_SHOWLNTXNSPLIT'] + $flagConstants['CU_LNSORT1']
481  + $flagConstants['CU_SAVETXNS'] + $flagConstants['CU_COLLECTEMAIL'];
482 
483  /* CUC default flags */
484  $flagConstants['CU_CUC_DEFAULT'] = $flagConstants['CU_SHOWAVAILABLE'] + $flagConstants['CU_SORTORDER1'] + $flagConstants['CU_SHOWDEPDIVIDEND']
485  + $flagConstants['CU_SHOWLNINTEREST'] + $flagConstants['CU_SHOWLNTXNDESC'] + $flagConstants['CU_SHOWLNTXNSPLIT']
486  + $flagConstants['CU_LNSORT1'] + $flagConstants['CU_SAVETXNS'] + $flagConstants['CU_COLLECTEMAIL'] + $flagConstants['CU_HIDE_PYR'];
487 
488  /* generic default flags */
489  $flagConstants['CU_GENL_DEFAULT'] = $flagConstants['CU_SORTORDER3'] + $flagConstants['CU_SHOWDEPDIVIDEND'] + $flagConstants['CU_SHOWLNINTEREST']
490  + $flagConstants['CU_SHOWLNTXNDESC'] + $flagConstants['CU_SHOWLNTXNSPLIT'] + $flagConstants['CU_LNSORT1']
491  + $flagConstants['CU_SAVETXNS'] + $flagConstants['CU_COLLECTEMAIL'];
492 
493  if (array_key_exists($pConstantName, $flagConstants)) {
494  $retVal = $flagConstants[$pConstantName];
495  }
496 
497  return $retVal;
498 }
499 /**
500  * Return the integer value of a predefined constant
501  * FOR ** <client>user.userflags ** constants
502  *
503  * These values are typically used in bitwise operations
504  *
505  * @param string $pConstantName -- Name of the predefined constant
506  *
507  * @return integer
508  * -- returns 0 on error
509  *
510  */
511 
512 function GetUserFlagsValue($pConstantName) {
513  $retVal = 0;
514 
515  // *** MEMBER FLAG CONSTANTS
516  // stored in cuusers.userflags
517  // ** Bit Number --- Maximum of a 32 bit integer
518  $flagConstants = Array(
519  'MEM_UNUSED' => 0, // 0 - Flag Unused
520  'MEM_FORCE_RESET' => 2, // 1 - Force Reset by Admin
521  'MEM_LOGIN_FAILED_EMAIL' => 4, // 2 - Login Failed -- Email Incorrect
522  'MEM_LOGIN_FAILED_QST' => 8, // 8 - Login Failed -- Challenge Questions
523  'MEM_LOGIN_FAILED_PWD' => 16, // 4 - Login Failed -- Password Incorrect
524  'MEM_ASKBPAY' => 32, // 5 - Flag Member for Bill Pay email
525  'MEM_LOGIN_FAILED_ALIAS' => 64, // 6 - Login Failed -- Cannot use account # when alias is set
526  'MEM_LOGIN_FAILED_SAC' => 128, // 7 - Login Failed -- Secure Access Code incorrect
527  'MEM_LOGIN_FAILED_BNDL' => 256, // 8 - APP Login Failed -- MFABUNDLE missing or invalid
528  'MEM_LOGIN_FAILED_BNDL_TIMEOUT' => 512 // 9 - APP Login Failed -- APP login process took too long
529  );
530  // ** NEXT MEMBER FLAG VALUE = 512
531  // ** MAX MEMBER FLAG VALUE = 1073741824 2^30
532 
533  if (array_key_exists($pConstantName, $flagConstants)) {
534  $retVal = $flagConstants[$pConstantName];
535  }
536  return $retVal;
537 }
538 
539 /**
540  * Return the integer value of a predefined constant
541  * FOR ** cuadminusers.userflags ** constants
542  *
543  * These values are typically used in bitwise operations
544  *
545  * @param string $pConstantName -- Name of the predefined constant
546  *
547  * @return integer
548  * -- returns 0 on error
549  *
550  */
551 
552 function GetAdminUserFlagsValue($pConstantName) {
553  $retVal = 0;
554 
555  // *** ADMIN FLAG CONSTANTS
556  // stored in cuadminusers.userflags
557  // ** Bit Number --- Maximum of a 32 bit integer
558  $flagConstants = Array(
559  'ADM_UNUSED' => 0, // 0 - Flag Unused
560  'ADM_FORCE_RESET' => 2, // 1 - Force Reset by Admin
561  'ADM_MASTER_PRIV' => 4, // 2 -Admin Privileges
562  'ADM_LOGIN_FAILED_EMAIL' => 8, // 3 -Login Failed -- Email Incorrect
563  'ADM_LOGIN_FAILED_QST' => 16, // 4 -Login Failed -- Challenge Questions Incorrect
564  'ADM_LOGIN_FAILED_PWD' => 32, // 5 -Login Failed -- Password Incorrect
565  'ADM_REMOTE_ACCESS_ALLOWED' => 64 // 6
566  );
567 
568  // ** NEXT ADMIN FLAG VALUE = 128
569  // ** MAX ADMIN FLAG VALUE = 1073741824 2^30
570 
571 
572  if (array_key_exists($pConstantName, $flagConstants)) {
573  $retVal = $flagConstants[$pConstantName];
574  }
575  return $retVal;
576 }
577 /**
578  * Return the integer value of a predefined constant
579  * FOR ** msg_tx ** constants
580  *
581  * These values are typically used in bitwise operations
582  *
583  * @param string $pConstantName -- Name of the predefined constant
584  *
585  * @return integer
586  * -- returns 0 on error
587  *
588  */
589 function GetMsgTxValue($pConstantName) {
590  $retVal = 0;
591 
592  // *** USER msg_tx
593  // flag bits stored in cuusers.msg_tx
594  // ** Bit Number --- Maximum of a 32 bit integer
595  $flagConstants = Array(
596  'MSGTX_TRANSFER' => 1, // Transfer
597  'MSGTX_ES' => 2, // Estatement
598  'MSGTX_WEBCONNECT' => 4, // WebConnect
599  'MSGTX_TMP_SURVEY' => 8, // temporary (session-long) flag for SurveyPopup SURVEY
600  'MSGTX_TMP_XAC_RQ' => 16, // temporary (session-long) flag to indicate when an XAC packet has been requested
601  'MSGTX_TMP_XAX_LD' => 32, // temporary (session-long) flag to indicate when an XAC packet has been successfully loaded
602  'MSGTX_INTUITUPD' => 64, // IntuitUpdate message
603  'MSGTX_TXNDOWN' => 128, // TxnDownload
604  'MSGTX_TMP_MKT' => 256, // temporary (session-long) flag for SurveyPopup MESSAGE
605  'MSGTX_FORCE_EM' => 512, // 'Force Email Change': when set the member will be prompted for email at login.
606  'MSGTX_PASSCHG' => 1024, // Passchange
607  'MSGTX_ONLINEDISC' => 2048, // Online Deposits disclosure acceptance - used in OnLineDeposits,
608  'MSGTX_PROMOHIDE' => 4096, // Promo don't show me again
609  'MSGTX_STICKY' => 8192, // "Sticky" Promo -- member can't suppress
610  'HCUTEMP_FLAGS' => 49464 // The sum of all session long flags
611  );
612 # HCUTEMP_FLAGS value below should reflect the sum of
613 # temporary (session-long) flags. This value is used when updating
614 # the database to avoid storing any temporary flags.
615 #
616 
617 
618 
619  /* ** 16384 is next ** */
620  if (array_key_exists($pConstantName, $flagConstants)) {
621  $retVal = $flagConstants[$pConstantName];
622  }
623  return $retVal;
624 }
625 
626 /**
627  * Function to return the value to save for msg_tx
628  * This function will auto remove any of the session only values
629  */