Untitled
unknown
plain_text
25 days ago
28 kB
4
Indexable
Never
<!DOCTYPE html> <html xmlns:mso="urn:schemas-microsoft-com:office:office" xmlns:msdt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"><meta charset="utf-8"><head><title>TAG Tricks</title> <style type="text/css"> body { font: normal 12px Verdana, Arial, sans-serif; background-color: white; /* Lighter, whiter background for a modern look */ } .select-css { font-size: 14px; font-family: sans-serif; font-weight: 700; color: #555; /* Updated text color for better contrast on white background */ line-height: 1.3; padding: .5em 1.5em .5em .8em; /* Adjusted right padding for content balance */ margin: 0; background-color: white; /* Changed to white for a modern look */ border: 1px solid #cccccc; /* Added border to distinguish the dropdown */ border-radius: 4px; /* Rounded corners for the select box */ appearance: none; /* Standardized appearance */ background-repeat: no-repeat, repeat; /* Maintains the background image */ background-position: right .7em top 50%, 0 0; /* Position for the background image */ background-size: .65em auto, 100%; } /* ... other existing select-css and related pseudo-element rules ... */ input[type=text], input[type=password], input[type=email], input[type=search], /* Updated input types for consistency */ textarea, /* Included textarea for text input fields */ select { width: 100%; /* Full width */ padding: 10px; /* Padding for a larger, touch-friendly interface */ margin: 5px 0 22px 0; /* Margin for spacing, with a larger bottom space for error messages */ display: inline-block; /* Ensures that the input takes up the full width of its container */ border: 1px solid #ccc; /* Border for definition */ border-radius: 4px; /* Rounded corners for all input types */ box-sizing: border-box; /* Box-sizing for border inclusion in width calculation */ background-color: #f8f8f8; /* A light background color */ box-shadow: 0 1px 3px rgba(0,0,0,0.1) inset; /* Inner shadow for a subtle depth effect */ transition: border-color 0.3s; /* Transition for the border color */ } input[type=text]:focus, input[type=password]:focus, input[type=email]:focus, input[type=search]:focus, textarea:focus, /* Focus states for inputs and textarea */ select:focus { border: 1px solid #4CAF50; /* Green border for focus state */ } input[type=button], input[type=submit], input[type=reset], /* Button types */ button { background-color: #4CAF50; /* Green background for buttons */ color: white; /* White text color for buttons */ padding: 10px 20px; /* Padding for button size */ margin: 8px 0; /* Margin for spacing around buttons */ border: none; /* No border for a flat style */ border-radius: 4px; /* Rounded corners for buttons */ cursor: pointer; /* Cursor to indicate button functionality */ width: auto; /* Auto width to wrap content */ box-shadow: 0 1px 3px rgba(0,0,0,0.1); /* Box shadow for a subtle 3D effect */ transition: background-color 0.25s ease-out; /* Smooth background color transition */ } input[type=button]:hover, input[type=submit]:hover, input[type=reset]:hover, button:hover { background-color: #45a049; /* A lighter green for the hover state */ } /* ... any other custom styles or overrides ... */ </style> </head><body bgcolor="#B9CDF5"> <h1>STVA & Modem MultiTool</h1> <table><tbody><tr><td><h2>Account (Affects this column)</h2> <b>Legacy Company:</b><br /> <label class="container">TWC<input type="radio" name="mso" id="mso" value="&mso=twc" checked=""><span class="checkmark"></span></label> <label class="container">BHN<input type="radio" name="mso" id="mso" value="&mso=bh"><span class="checkmark"></span></label> <!-- Charter support has not been tested! --> <label class="container">CHTR<input type="radio" name="mso" id="mso" value="&mso=chtr"><span class="checkmark"></span></label><br><br> <b>ID Type:</b><br> <label class="container">Username<input type="radio" name="idtype" id="idtype" value="&username=" checked=""><span class="checkmark"></span></label> <label class="container">Customer GUID<input type="radio" name="idtype" id="idtype" value="&customerGuid="><span class="checkmark"></span></label><br /> <label class="container">Account GUID<input type="radio" name="idtype" id="idtype" value="&accountGuid="><span class="checkmark"></span></label> <label class="container">Div:Account<input type="radio" name="idtype" id="idtype" value="&accountId="><span class="checkmark"></span></label><br /> <input type="text" id="identry" name="identry" placeholder="User Identity" autofocus=""> </td></tr> <tr><td> <h2>Account Tools:</h2> <button class="button" onclick="recalcA() "style="font-size: 24px; width:99%;">Recalculate Entitlements</button><br /> <div style="display:flex;"><input style="width:100%" class="button" type="submit" onclick="pinfinderp()" value="Get Parental Pin"> <input style="width:100%" class="button" type="submit" onclick="pinfindert()" value="Get Transactional Pin"><br /></div> <div style="display:flex;"><input style="width:100%" class="button" type="submit" onclick="lineupcheck()" value="Get Lineup"> <input style="width:100%" class="button" type="submit" onclick="idcheck()" value="Get Identity"></div> </td></tr> <tr><td><h2>Behind Own Modem Check</h2> <div style="display:flex;"> <input style="margin: 2px 0px; width:100%;" type="text" id="ipentry" placeholder="Public IP Address" autofocus=""> <input class="button" type="submit" onclick="btmcheck()" value="Check"></div> <br></td></tr></tbody></table> </tbody></table> <div class="column2"><table style="width:382px;"><tbody> <tr><td><h2>Ticket Lookup</h2> <div style="display:flex;"> <select class="select-css" style="margin: 2px 2px; width:49%;" name="ticksystem" id="ticksystem"> <option value="https://remweb.bhn.net/forms/ars01/Ticket+Search?F536870913=">AIM</option> <option value="https://charter.cherwellondemand.com/CherwellPortal/IT/Command/Queries.GoToRecord?BusObID=945bdc738df5d10ca26a704b41ba7c5a7f1fa47bfc&PublicID=">BOT</option> <option value="http://csoc.corp.chartercom.com/issuesubmitter/IssueSubmit.aspx?Ticket=">CET</option> <option value="https://charter.cherwellondemand.com/CherwellPortal/IT/Command/Queries.GoToRecord?BusObID=6dd53665c0c24cab86870a21cf6434ae&PublicID=">Cherwell</option> <option value="https://corportal.corp.chartercom.com/main/forms/default.aspx?Forms=120&TicketID=">ETD</option> <option id="INC" selected value="https://cars-web-usr.corp.chartercom.com/arsys/servlet/ViewFormServlet?form=HPD%3AHelp+Desk&server=cars-app-usr&qual='1000000161'="">INC (CARS)</option> <option selected value="https://vm0pntoolsw0001.corp.chartercom.com/incidentportal/?report_type=incident_search&incident_id=">INC (NOC)</option> <!-- Deprecated <option value="http://kstlutcwp14.corp.chartercom.com/arsys/forms/remedycc/CCTT%3AEVT%3AEvents/Default+Administrator+View/?eid=">IRIS</option> --> <!-- Deprecated <option value="https://issuetrak.twcable.com/beta.aspx#/IssueSplitView/Id/">IssueTrak</option> --> <option value="https://jira.charter.com/browse/">JIRA</option> <option value="https://cars-web-usr.corp.chartercom.com/arsys/servlet/ViewFormServlet?form=CHR%3ASCI%3ASingle+Customer+Issue&server=cars-app-usr&eid=">SCI</option> <option value="https://tms.corp.chartercom.com/Task/DetailRO/">TMS</option> <option value="https://ucm.chartercom.com/SPA/#/issue/update/">UCM</option> </select><input style="margin: 2px 2px; width:50%;" class="ticketcontainer" type="text" id="ticket" name="ticket" placeholder="FULL Ticket Number"></<br /><br /> </div> <div style="display:flex;"><input class="button" class="ticketcontainer" style="width:50%" type="submit" onclick="ticketlookup()" value="Look Up"> <input class="button" class="ticketcontainer" style="width:50%" type="submit" onclick="ticketshare()" value="Get Link"></div> </td></tr> <tr><td><h2>Device Delete</h2> <form method="post" action="https://bps-tools.cdptpa.rr.com/bps/omp_tools/device_delete.pl" enctype="multipart/form-data" target="bhnddt"><select style="width:99%;" class="select-css" name="rdc"> <option value="austtx.bps.rr.com">austtx.bps.rr.com</option> <option value="bps2prod-vip.bhn.net" selected>bps2prod-vip.bhn.net</option> <option value="clmboh.bps.rr.com">clmboh.bps.rr.com</option> <option value="dnvrco.bps.rr.com">dnvrco.bps.rr.com</option> <option value="nycmny.bps.rr.com">nycmny.bps.rr.com</option> <option value="orngca.bps.rr.com">orngca.bps.rr.com</option> <option value="rlghnc.bps.rr.com">rlghnc.bps.rr.com</option> <option value="syrcny.bps.rr.com">syrcny.bps.rr.com</option> </select><br><div style="display:flex;"><input style="margin: 2px 0px; width:100%;" type="text" name="sub_devmac" placeholder="MAC Address" id="sdevmac"><input style="margin-left: 2px;"class="button" type="submit" name=".submit" value="Query"></div></form> </td></tr> <tr><td><h2>Modem Proxy</h2> <b>HTTP admin port must be enabled from Scope.</b></br></br> <b>Type:</b> <label class="container">IPv4<input onclick="showipv4();" type="radio" name="iptype" value="selipv4"><span class="checkmark" id="selipv4"></span></label> <label class="container">IPv6<input onclick="showipv6();" type="radio" name="iptype" value="selipv6"><br /><span class="checkmark" id="selipv6"></span></label> <div id="showipv4"> <input style="margin: 2px 0px; width:35%;" type="text" id="ipaddress4" name="ipaddress4" placeholder="IPv4 Address"> <select style="margin: 3px 0px;" class="select-css" name="region4" id="region4"> <option value=".car.cproxy.scope.charter.com">Carolinas </option> <option value=".mwe.cproxy.scope.charter.com">Midwest</option> <option value=".nyc.cproxy.scope.charter.com">NYC</option> <option value=".bhn.cproxy.scope.charter.com">Orlando</option> <option value=".ner.cproxy.scope.charter.com">Syracuse</option> <option value=".bhn.cproxy.scope.charter.com">Tampa</option> <option value=".tex.cproxy.scope.charter.com">Texas/KC</option> <option value=".pwe.cproxy.scope.charter.com">PacWest</option> </select> <input class="button" type="submit" onclick="proxylink()" value="Connect"><br /></div> <div id="showipv6"> <input style="margin: 2px 0px; width:35%;" type="text" id="ipaddress6" name="ipaddress6" placeholder="IPv6 Address"> <select style="margin: 3px 0px;" class="select-css" name="region6" id="region6"> <!-- Deprecated <option value="dnvrco-ccare-jump-v6-02.cloud.twc.net">Legacy 1</option> <option value="dnvrco-ccare-jump-v6-02.cloud.twc.net">Legacy 2</option> <option value="dnvrco-ccare-jump-v6-02.cloud.twc.net">Legacy 3</option> --> <option selected value="cproxy.scope.charter.com">Main </option> </select><input class="button" type="submit" onclick="proxylink6()" value="Connect"></div> </td></tr> <tr><td><h2>Modem Live Ping (<a href="../ScopeID.png" onclick="window.open('ScopeID.png', 'newwindow', 'width=554, height=26'); return false;">?</a>)<br /></h2> <div style="display:flex;"><input style="margin: 2px 0px; width:100%;" type="text" id="scopeid" placeholder="Scope ID"> <input style="" class="button" type="submit" onclick="pingmodem()" value="Ping Modem"></div><br /> </tr></td> </tbody> </table> <div class="column3"><table style="width:250px;"><tbody> <tr><td><h2>Roku Eligibility(<a href="https://charterukm.custhelp.com/app/answers/answer_view/a_id/1019740" target="_blank">?</a>)</h2> <div class="card"> <div class="card-body" id="rokuTool"> <div class="text-center" id="loading"> <p><i>Please allow up to 20 seconds for the tool to load...</i></p> </div> <div hidden="" id="toolPrompts"> <input class="form-control" id="acctInput" onkeyup="checkAcctInput()" placeholder="Nine-Digit Account Number" type="text"> <span hidden="" id="acctInputErr" style="color: red;"><b>Please check the Account number</b></span> <div hidden="" id="zipPrompt"><input class="form-control" id="zipInput" onkeyup="checkZipInput()" placeholder="Five-Digit Zip Code" type="text"> <p hidden="" id="zipInputErr" style="color: red;"><b>Please check the zip code</b></p> </div> <div hidden="" id="statePrompt">State Info Here</div> <button class="btn btn-primary" style="font-size: 17px; width:99%;" disabled="disabled" id="submitBtn" onclick="checkEligibility()" type="submit">Check Eligibility</button></div> <div hidden="" id="toolOutput"> <hr> <p hidden="" id="success">Eligible for STVA via Roku</p> <p hidden="" id="notPass">NOT eligible for STVA via Roku</p> <button class="btn btn-primary" id="resetBtn" onclick="reset()" type="reset">Check Again</button></div> </div> </div> </div></td> </tr> </tbody></table> </div></div><div style="position: absolute; bottom: 5px;">This tool works best in Chrome. Last update: 06/14/2021. Updated Roku eligibility link.</div> <script type="text/JavaScript"> var test1="test"; var server="http://ipvs.prd.spectrum.net/saint/api/"; var recalc1="customer?req=Entitlements"; var recalc2="&cacheWriteBehind=true&recalculate=true"; var btm1="customer?ip="; var btm2="&req=BehindOwnModem&sessionId=tagtricks"; var lineup="customer?req=marketLineup"; var identity="customer?req=Customer,Devices,Address,Metadata"; var incpart1="https://cars-web-usr.corp.chartercom.com/arsys/servlet/ViewFormServlet?form=HPD%3AHelp+Desk&server=cars-app-usr&qual='1000000161'=\"" var incpart2="\"" var href1="<br /><a href=\"" var href2=">Click</a>" var ping1="https://scope.charter.com/#/popout/" var ping2="/cablemodem-modem-resetPopout" var pinp="customer/parentalcontrols/pin?" var pint="customer/tvod/pin?" var shipv4 = document.getElementById("showipv4"); var shipv6 = document.getElementById("showipv6"); function buildvar(){ identry=document.getElementById('identry').value identry2=identry; idtype=document.querySelector('input[name="idtype"]:checked').value.trim(); ipentry=document.getElementById('ipentry').value mso=document.querySelector('input[name="mso"]:checked').value.trim(); ticket=document.getElementById('ticket').value ticksystem=document.querySelector('#ticksystem option:checked').value.trim(); typecheck="&username=" scopeid=document.getElementById('scopeid').value.trim(); ipaddress4=document.getElementById('ipaddress4').value.replace(/[.\s]+/g,"-"); region4=document.querySelector('#region4 option:checked').value; // Force lowercase if username chosen. Use uppercase, otherwise. if (document.querySelector('input[name="idtype"]:checked').value.trim().includes("username")) { // identry2=identry.toLowerCase(); } else { identry2=identry.toUpperCase(); } } function recalcA(){ buildvar(); window.open(this.server+recalc1+idtype+identry2+recalc2+mso, "_blank", "width=400,height=300"); } function btmcheck(){ buildvar(); window.open(server+btm1+ipentry+idtype+identry2+btm2+mso, "_blank", "width=150,height=50"); } function pinfinderp(){ buildvar(); window.open(server+pinp+idtype+identry2+mso, "_blank", "width=400,height=300"); } function pinfindert(){ buildvar(); window.open(server+pint+idtype+identry2+mso, "_blank", "width=400,height=300"); } function idcheck(){ buildvar(); window.open(server+identity+idtype+identry2+mso, "_blank", "width=400,height=300"); } function lineupcheck(){ buildvar(); window.open(server+lineup+idtype+identry2+mso, "_blank", "width=400,height=300"); } function ticketlookup(){ buildvar(); if (document.getElementById("INC").selected) {ticket=ticket+incpart2} window.open(ticksystem+ticket, "_blank"); } function inclookup(){ buildvar(); if (document.getElementById("INC").selected) {ticket=ticket+incpart2} window.open(incpart1+inctick+incpart2, "_blank"); } function incshare(){ if (document.getElementById("INC").selected) {ticket=ticket+incpart2} buildvar(); alert(incpart1+inctick+incpart2); } function ticketshare(){ buildvar(); if (document.getElementById("INC").selected) {ticket=ticket+incpart2} alert(ticksystem+ticket); } function pingmodem(){ buildvar(); window.open(ping1+scopeid+ping2, 'newwindow', 'width=1000, height=550'); return false; } function proxylink(){ buildvar(); // Debug window.open("https://"+this.ipaddress4+region4, "_blank"); } function showipv4() { shipv4.style.display = "flex"; shipv6.style.display = "none"; } function showipv6() { shipv6.style.display = "flex"; shipv4.style.display = "none"; } // <!-- Code taken and adapted from legacy IPv6 Portal --> function proxylink6(){ region6=document.querySelector('#region6 option:checked').value; var fqdn = region6; var ipaddress6 = document.getElementById('ipaddress6').value; var port = "80"; if (ipaddress6 && validateIpAddress(ipaddress6)){ if (ipaddress6.indexOf(':') >= 0) { var normalize = ipaddress6.split(':'); for (var i = 0; i < normalize.length; i++) { normalize[i] = normalize[i].padStart(4, "0"); } if (port != 80) { var url = "http://" + normalize.join('') + "." + port + "." + fqdn; window.open(url); } else { var url = "http://" + normalize.join('') + "." + fqdn; window.open(url); } } } else { var message = "Invalid IP address provided: " + ipaddress6; } if (message){ alert(message); } } function validateIpAddress(ipaddress6){ var expression = /^((?:[0-9A-Fa-f]{1,4}))((?::[0-9A-Fa-f]{1,4}))*::((?:[0-9A-Fa-f]{1,4}))((?::[0-9A-Fa-f]{1,4}))*|((?:[0-9A-Fa-f]{1,4}))((?::[0-9A-Fa-f]{1,4})){7}$/; if (expression.test(ipaddress6)) { // good IP return true; } else { // bad IP return false; } } </script> <!-- Roku Eligibility checker, from HOW6536. --> <script async="" src="https://sharepoint.charter.com/corp/OperationalReadiness/lob-specialinitiatives/Shared%20Documents/HTML%20Tools/sampleData.js"></script><script> let needsZip = true; let needsState = false; let exception = false; function checkAcctInput(){ let valid = true; let currAcctInput = document.getElementById("acctInput").value; currAcctInput = currAcctInput.replace(/\s/g, ''); currAcctInput = [...currAcctInput]; for(i=0;i<currAcctInput.length;i++){ if(!(currAcctInput[i] >= '0' && currAcctInput[i] <= '9')){ valid = false; } } valid ? document.getElementById("acctInputErr").hidden = true : document.getElementById("acctInputErr").hidden = false; if(currAcctInput.length === 9){ valid ? document.getElementById("submitBtn").disabled = false : document.getElementById("submitBtn").disabled = true; } else if(currAcctInput.length === 16){ needsZip = false; needsState= false; valid ? document.getElementById("submitBtn").disabled = false : document.getElementById("submitBtn").disabled = true; } else{ document.getElementById("submitBtn").disabled = true; document.getElementById("zipPrompt").hidden = true; document.getElementById("zipInput").value = ""; document.getElementById("zipInputErr").hidden = true; document.getElementById("statePrompt").hidden = true; needsState = false; needsZip = true; document.getElementById("stateInput").value = "0"; } } function checkZipInput(){ let valid = true; let currZip = document.getElementById("zipInput").value; currZip = currZip.replace(/\s/g, ''); currZip = [...currZip]; for(z=0;z<currZip.length;z++){ if(!(currZip[z] >= '0' && currZip[z] <= '9')){ valid = false; } } valid ? document.getElementById("zipInputErr").hidden = true : document.getElementById("zipInputErr").hidden = false; if(currZip.length === 5){ needsZip = false; (valid && !needsState) ? document.getElementById("submitBtn").disabled = false : document.getElementById("submitBtn").disabled = true; } else{ needsZip = true; document.getElementById("submitBtn").disabled = true; } } function loadStateData(){ let stateSelect = "<select name='stateInput' id='stateInput' onchange='checkStateInput()'><option value='0'>Select a State</option>"; for(s=0;s<stateList.length;s++){ let currState = stateList[s]; stateSelect += "<option value='"+(s+1)+"'>"+currState+"</option>"; } stateSelect += "<option value='Not Listed'>Not Listed</option></select>"; document.getElementById("statePrompt").innerHTML = stateSelect; } function checkStateInput(){ let selectedState = document.getElementById("stateInput").value; if(selectedState !== '0'){ needsState = false; exception = true; } else { needsState = true; exception = false; } console.log(needsState); checkZipInput(); } function checkEligibility(){ let acctInput = document.getElementById("acctInput").value; acctInput = acctInput.replace(/\s/g, ''); if(acctInput.length === 9){ if(needsZip){ document.getElementById("submitBtn").disabled = true; checkException(); document.getElementById("zipPrompt").hidden = false; document.getElementById("zipInput").focus(); } } if(!needsZip){ document.getElementById("acctInput").disabled = true; document.getElementById("zipInput").disabled = true; document.getElementById("submitBtn").hidden = true; checkResults(); } } function checkException(){ acctInput = document.getElementById("acctInput").value; for(e=0;e<exceptionData.length;e++){ if(exceptionData[e].billing_id === acctInput){ needsState = true; break; } } if(needsState){ document.getElementById("statePrompt").hidden = false; } } function checkResults(){ let acct = document.getElementById("acctInput").value; acct = acct.replace(/\s/g, ''); let zip = document.getElementById("zipInput").value; zip = zip.replace(/\s/g, ''); let state = document.getElementById("stateInput").value; state = parseInt(state); state = stateList[state-1]; let isEligible = false; if (acct.length === 16){ acct = parseInt(acct); if (csgData.includes(acct)){ isEligible = true; } } else{ for(id=0;id<icomsData.length;id++){ if(icomsData[id].billing_id === acct){ if(icomsData[id].billing_zip_code === zip){ isEligible = true; break; } } } if(exception){ for(ie=0;ie<exceptionData.length;ie++){ if(exceptionData[ie].billing_id === acct){ console.log(exceptionData[ie].device_streaming_state_name); console.log(state); if(exceptionData[ie].device_streaming_state_name === state){ isEligible = true; break; } } } } } document.getElementById("toolOutput").hidden = false; isEligible ? document.getElementById("success").hidden = false : document.getElementById("notPass").hidden = false; canReset = true; } function reset(){ document.getElementById("acctInput").disabled = false; document.getElementById("zipInput").disabled = false; document.getElementById("zipInput").value = ""; document.getElementById("acctInput").value = ""; document.getElementById("submitBtn").hidden = false; document.getElementById("submitBtn").disabled = true; document.getElementById("zipPrompt").hidden = true; document.getElementById("zipInput").value = ""; document.getElementById("zipInputErr").hidden = true document.getElementById("toolOutput").hidden = true; document.getElementById("success").hidden = true; document.getElementById("notPass").hidden = true; needsZip = true; needsState = false; exception = false; document.getElementById("statePrompt").hidden = true; document.getElementById("stateInput").value = "0"; } document.getElementById("acctInput").onkeydown = function(e) { if(e.keyCode === 13){ if(document.getElementById("submitBtn").disabled === false){ checkEligibility(); } } } document.getElementById("zipInput").onkeydown = function(e) { if(e.keyCode === 13){ if(document.getElementById("submitBtn").disabled === false){ checkEligibility(); } } } window.onbeforeunload = function(){ reset(); } </script><!-- End my unique code for Roku tool --><!-- Boot Strap JS Code --><script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/js/bootstrap.bundle.min.js" integrity="sha384-ygbV9kiqUc6oa4msXn9868pTtWMgiQaeYH7/t7LECLbyPA2x65Kgf80OJFdroafW" crossorigin="anonymous"></script> <!-- TAG Tricks by Joshua Salter. All except recalc function were reverse engineered. NO SUPPORT for functions other than recalc. I do not own any functions, including recalc, that this form takes advantage of. Last update 06/14/2021. --> </body></html>