_Cond.Sms *cndaacsv pop inst$ *cndaacsv pop empty !Install.AreaCode empty !Install.Phone empty !Install.First empty !Install.Last empty !Install.Email "Register_" inst$ & &".xtx" ofreg dup !Cond.RegFile exec$ /* "6787867816" !Install.Phone "4a616d6573" !Install.First "4261636f6e" !Install.Last "678" !Install.AreaCode "6261636f6e6a696240676d61696c2e636f6d" !Install.Email */ _Install.Phone *cndaacsv pop _Install.First hex2asc *cndaacsv pop _Install.Last hex2asc *cndaacsv pop _Install.Email hex2asc *cndaacsv pop _Install.AreaCode *cndaacsv pop _Cond.Fill *cndaacsv pop _Cond.Over !Cond.Oprev "SmsIn_" *cndamred _Usage.Count !Cond.SmsIn %%% var smsin = parseInt(AllParams.smsin); "SmsOut_" *cndamred _Usage.Count !Cond.SmsOut %%% var smsout = parseInt(AllParams.smsout); "MmsIn_" *cndamred _Usage.Count !Cond.MmsIn %%% var mmsin = parseInt(AllParams.mmsin); "MmsOut_" *cndamred _Usage.Count !Cond.MmsOut %%% var mmsout = parseInt(AllParams.mmsout); % % this is the actual usage against current fill % _Cond.SmsIn *cndaacsv "SmsIn" log)( _Cond.Psms mul *cndaacsv _Cond.SmsOut *cndaacsv "SmsOut" log)( _Cond.Psms mul *cndaacsv _Cond.MmsIn *cndaacsv "MmsIn" log)( _Cond.Pmms mul *cndaacsv _Cond.MmsOut *cndaacsv "MmsOut" log)( _Cond.Pmms mul *cndaacsv add add add "Amount used" log)( *cndaacsv _Cond.Indep { pop 0.00 } if !Cond.Amount _Cond.Amount _Cond.Fill 100.0 div dupnzis { normreal div 100.0 mul 100.0 min } { pop 100.0 } ifelse 8 left *cndaacsv _Cond.Indep { pop 0.0 } if !Cond.PerFill _Cond.Subscribed *cndaacsv isdate _Cond.NextSub *cndaacsv isdate and dup !Cond.Valid { Time.Now _Cond.NextSub &" 23:59" "d" Time.Diff *cndaacsv !Cond.TillSub } { 0 *cndaacsv !Cond.TillSub } ifelse % % now have total amount of usage against pre-fill % _Cond.Indep { } { _Cond.PerFill 90.0 gt !Cond.RemindFill _Cond.PerFill 99.9 gt !Cond.MustFill } ifelse _Cond.TillSub 3 lt !Cond.RemindSub _Cond.TillSub negative !Cond.MustSub % % all relevant info already loaded for customer record % empty !Cond.WarnText /* _Cond.Over "number" found)? { % % new secure number issuance % empty !Cond.Over "Your Secure number from TextMyPhotoshas been issued: " &_Cond.Sms &" We will remind you when a usage fill-up or your subscription has come due. Thank you for using the TextMyPhoto MMS Conduit." !Cond.WarnText true } { */ % % not a new number issuance % _Cond.MustFill { % % totally empty fill takes precedence % _Cond.Over "mustfill" found)? { % % already posted this warning % false } { % % the user has not been warned yet % "mustfill" !Cond.Over _Cond.Indep { "Please resubscribe soon to continue Collaboration from TextMyPhotos. Don't lose your Collaboration through Conduit. To avoid this, start the Conduit program and click 'Usage' at the bottom of the page in the 'Home' tab, then select a subscription. Thank you for using the TextMyPhoto Colab Conduit." !Cond.WarnText } { "Please resubscribe for your Secure number from TextMyPhotos. We will have to reclaim " &_Cond.Sms &" soon. To avoid this, start the Conduit program and click 'Usage' at the bottom of the page in the 'Home' tab, then select a subscription. Thank you for using the TextMyPhoto MMS Conduit." !Cond.WarnText } ifelse true } ifelse % % stack: new-warning % } { % % not in mustfill mode, check for must subscribe % _Cond.MustSub { _Cond.Over "mustsub" found)? { % % already posted this warning % false } { % % the user has not been warned yet % "mustsub" !Cond.Over _Cond.Indep { "Please resubscribe for your Collaboration Access from TextMyPhotos. Don't lose your Collaboration through Conduit. To avoid this, start the Conduit program and click 'Usage' at the bottom of the page in the 'Home' tab, then select a subscription. Thank you for using the TextMyPhoto MMS Conduit." !Cond.WarnText } { "Please resubscribe for your Secure number from TextMyPhotos. We will have to reclaim " &_Cond.Sms &" soon. To avoid this, start the Conduit program and click 'Usage' at the bottom of the page in the 'Home' tab, then select a subscription. Thank you for using the TextMyPhoto MMS Conduit." !Cond.WarnText } ifelse true } ifelse % % stack: new-warning % } { % % not must fill or subs, check remind fill % remove any prior must override % _Cond.Over "mustfill" empty replall "mustsub" empty replall !Cond.Over _Cond.RemindFill { % % user needs to fill up, warning at 90% % _Cond.Over "warnfill," found)? { % % already posted this warning % false } { % % the user has not been warned yet % "warnfill," ^:Cond.Over "You have reached 90% of your subscription messages. " ^:Cond.WarnText true } ifelse } { % % no fill reminder, remove any prior % _Cond.Over "warnfill," empty replall !Cond.Over false } ifelse % % reminder about subs check % _Cond.RemindSub { % % user needs to resubscribe, warning within 3 days % _Cond.Over "warnsub," found)? { % % already posted this warning % false } { % % the user has not been warned yet % "warnsub," ^:Cond.Over "You are within 3 days of your subscription ending. " ^:Cond.WarnText true } ifelse } { % % no subs reminder, remove any prior % _Cond.Over "warnsub," empty replall !Cond.Over false } ifelse % % stack: fill-remind sub-remind % or dup { "Please resubscribe for your Secure number from TextMyPhotos soon. " &_Cond.WarnText &" Start the Conduit program and click 'Usage' at the bottom of the page in the 'Home' tab, then select a subscription. Thank you for using the TextMyPhoto MMS Conduit." !Cond.WarnText } if } ifelse } ifelse /* } ifelse */ % % stack: new-warning % _Cond.Over *cndaacsv pop % % the end result will be in order of weight of warning % is empty, warnfill and/or warnsub, mustsub,mustfill % _Install.AreaCode 2 left "99" eq$ not and { % % there is at least one new warning % %%% _Cond.Sms *cndawarn } { % % no new reminder % } ifelse _Cond.Over _Cond.Oprev eq$ { % % same warnings % } { _Cond.CustRec "#" 0 3 1 parse pop2nd _Cond.Over ^"#" &"#" ^ & "newover" log)( *cndasetc } ifelse % % ----------------warning - warnfill - 90% subscribed messages used % ----------------warninh - mustfill - all subscribed messages used % warnini - warnsub - 3 days till end of subscription % warninj - mustsub - subscription expired % _Cond.Csv -1 right catcr !Cond.Csv