passkey system 1 2 page 4


Passkey System v1.2 - TorrentTrader Forums /* * Cascading Style Sheet(CSS 467), for Invision Power Board 2.2.0 * Author: James A. Mathias, admin@leihu.com, http://www.1lotus.com * Copyright: 2005 Invision Power Services, all rights reserved * * All style attributes in alpha-numeric order starting from 0 * */ /* * ======================================== * global element styles * ======================================== */ html{ overflow-x: auto; /* fixes MSIE scrollbar bug DO NOT REMOVE, has no effect in Mozilla, or Opera */ } body{ background: #FFF; color: #222; font-family: Verdana, Tahoma, Arial, "Trebuchet MS", Sans-Serif, Georgia, Courier, "Times New Roman", Serif; font-size: 11px; line-height: 135%; margin: 0px; padding: 0px; /* required for Opera to have 0 margin */ text-align: center; /* centers board in MSIE */ } /* * ======================================== * Set up IPB table * ======================================== */ .ipbtable { width:100% } table.ipbtable, tr.ipbtable, td.ipbtable { /* required for text in tables, because tables do not inherit from body */ background: transparent; color: #222; font-size: 11px; line-height: 135%; } .ipbtable td, .divpad{ /* gives all tables faux cellpadding of 5px */ padding: 5px; } td.nopad{ /* allows some tables to have no padding on the td */ padding: 0; } /* Safari... */ th { text-align: left; } form{ display: inline; margin: 0; /* removes mystery form tag gapping */ padding: 0; /* removes mystery form tag gapping */ } img{ border: 0; /* makes sure linked images do not have a border */ vertical-align: middle; } /* * ======================================== * global hyperlink styles * ======================================== */ a:link, a:visited, a:active{ background: transparent; color: #222; text-decoration: underline; } a:hover{ background: transparent; color: #34498B; } /* * ======================================== * Main wrapper, this controls the overall width of the board in you browser view window. * ======================================== */ #ipbwrapper{ margin: 20px auto 20px auto; /* centers the box, no matter the overall width, also applies a 20px gap at the top and bottom of the board */ text-align: left; /* re_aligns text to left second part of two part MSIE centering workaround */ /* EDIT THIS TO CHANGE THE WIDTH OF THE BOARD -> 960px is a common fixed resolution size */ width: 98%; } /* * ======================================== * styles for pagination links * ======================================== */ .pagelink, .pagelinklast, .pagecurrent, .minipagelink, .minipagelinklast{ background: #F0F5FA; border: 1px solid #072A66; padding: 1px 3px 1px 3px; } .pagelinklast, .minipagelinklast{ background: #DFE6EF; } .pagecurrent{ background: #FFC9A5; } .minipagelink, .minipagelinklast{ border: 1px solid #C2CFDF; font-size: 10px; margin: 0 1px 0 0; } .pagelink a:active, .pagelink a:visited, .pagelink a:link, .pagelinklast a:active, .pagelinklast a:visited, .pagelinklast a:link, .pagecurrent a:active, .pagecurrent a:visited, .pagecurrent a:link, .minipagelink a:active, .minipagelink a:visited, .minipagelink a:link, .minipagelinklast a:active, .minipagelinklast a:visited, .minipagelinklast a:link{ text-decoration: none; } /* fake button effect for some links */ .fauxbutton{ background: #BFCDE0; border: 1px solid #072A66; font-size: 11px; font-weight: bold; padding: 4px; } .fauxbutton a:link, .fauxbutton a:visited, .fauxbutton a:active{ color: #222 !important; text-decoration: none; } .forumdesc, .forumdesc a:link, .forumdesc a:visited, .forumdesc a:active{ background: transparent; font-size: 10px; color: #666; line-height: 135%; margin: 2px 0 0 0; padding: 0; } /* =================================================================================== */ /* =================================================================================== */ /* =================================================================================== */ .searchlite { background-color:yellow; font-weight:bold; color: red; } .activeusers{ background: #FFF; border: 1px solid #072A66; color: #000; margin: 0px; padding: 1px; } .activeuserposting a:link, .activeuserposting a:visited, .activeuserposting a:active, .activeuserposting { font-style:italic; text-decoration: none; border-bottom:1px dotted black; } fieldset.search{ line-height: 150%; padding: 6px; } label{ cursor: pointer; } img.attach{ background: #808080 url(style_images/1/click2enlarge.gif) no-repeat top right; border: 1px solid #808080; margin: 0 2px 0 0; padding: 11px 2px 2px 2px; } .thumbwrap, .thumbwrapp, .fullimagewrap { border: 1px solid #072A66; margin: 2px; } .thumbwrapp{ border: 2px solid #660707; } .fullimagewrap{ background: #F5F9FD; text-align: center; margin: 5px 0 5px 0; padding: 5px; } .thumbwrap h4, .thumbwrapp h4{ background: #DDE6F2; border: 0 !important; border-bottom: 1px solid #5176B5 !important; color: #5176B5; font-size: 12px; font-weight: bold; margin: 0; padding: 5px; } .thumbwrap p, .thumbwrapp p{ background: #EEF2F7 !important; border: 0 !important; border-top: 1px solid #5176B5 !important; margin: 0 !important; padding: 5px !important; text-align: left; } .thumbwrap p.alt, .thumbwrapp p.alt{ background: #DFE6EF !important; margin: 0 !important; padding: 5px !important; text-align: left; } .thumbwrapp p.pin{ background: #EFDFDF !important; text-align: center !important; } .thumbwrap img.galattach, .thumbwrapp img.galattach{ background: #FFF url(style_images/1/img_larger.gif) no-repeat bottom right; border: 1px solid #072A66; margin: 5px; padding: 2px 2px 10px 2px; } li.helprow{ margin: 0 0 10px 0; padding: 0; } ul#help{ padding: 0 0 0 15px; } .warngood, .warnbad{ color: #0B9500; font-weight: bold; } .warnbad{ color: #DD0000; } #padandcenter{ margin: 0 auto 0 auto; padding: 14px 0 14px 0; text-align: center; } #profilename{ font-size: 28px; font-weight: bold; } #photowrap{ padding: 6px; } #phototitle{ border-bottom: 1px solid #000; font-size: 24px; } #photoimg{ margin: 15px 0 0 0; text-align: center; } #ucpmenu, #ucpcontent{ background: #F5F9FD; border: 1px solid #345487; line-height: 150%; } #ucpmenu p{ margin: 0; padding: 2px 5px 6px 9px; } #ucpmenu a:link, #ucpmenu a:active, #ucpmenu a:visited{ text-decoration: none; } #ucpcontent{ width: auto; } #ucpcontent p{ margin: 0; padding: 10px; } .activeuserstrip{ background: #BCD0ED; padding: 6px; } /* Topic View elements */ .signature{ background: transparent; color: #339; font-size: 10px; line-height: 150%; } .postdetails{ font-size: 10px; line-height:140%; } .postcolor{ font-size: 12px; line-height: 160%; } .normalname{ color: #003; font-size: 12px; font-weight: bold; } .normalname a:link, .normalname a:visited, .normalname a:active{ font-size: 12px; } .post1, .bg1{ background: #F5F9FD; } .post2, .bg3{ background: #EEF2F7; } .row2shaded, .post1shaded { background-color: #DEDBE4 } .row4shaded, .post2shaded { background-color: #E3DFE7 } .row1{ background: #DFE6EF; } .row2{ background: #E4EAF2; } .rowhighlight{ background-color: #FFF9BA; } .darkrow1{ background: #BCD0ED; color: #3A4F6C; } .darkrow3{ background: #D1DCEB; color: #3A4F6C; } /* tableborders gives the white column / row lines effect */ .plainborder, .tablefill, .tablepad{ background: #F5F9FD; border: 1px solid #345487; } .tablefill, .tablepad{ padding: 6px; } .tablepad{ border: 0 !important; } .wrapmini{ float: left; line-height: 1.5em; width: 25%; } .pagelinks{ float: left; line-height: 1.2em; width: 35%; } .desc{ font-size: 11px; color: #434951; } .lastaction { font-size: 10px; color: #434951; } .edit{ font-size: 9px; } .thin{ border: 1px solid #FFF; border-left: 0; border-right: 0; line-height: 150%; margin: 2px 0 2px 0; padding: 6px 0 6px 0; } /* =================================================================================== */ /* =================================================================================== */ /* =================================================================================== */ /* * ======================================== * calendar styles * ======================================== */ .calmonths{ background: #F0F5FA; border: 1px solid #C2CFDF; font-size: 18px; font-weight: bold; margin: 5px 0 5px 0; padding: 8px; text-align: center; } .weekday{ font-size: 14px; font-weight: bold; } .calmonths a{ text-decoration: none; } .calday, .calweekday{ background: #DFE6EF; color: #666; font-size: 11px; font-weight: bold; margin: 0; padding: 4px; text-align: right; } .calweekday{ border-right: 1px solid #AAA; color: #222; font-size: 14px; padding: 6px; text-align: center; } .celltodayshaded, .celldateshaded, .cellblank, .celldate, .celltoday, .mcellblank, .mcelldate, .mcelltoday{ background: #EEF2F7; height: 100px; margin: 0; padding: 0; vertical-align: top; } .celltodayshaded, .celldateshaded { background: #E3DFE7; } .mcellblank, .mcelldate, .mcelltoday{ height: auto; } .cellblank, .mcellblank{ background: #C2CFDF; } .celltoday, .celltodayshaded, .mcelltoday{ border: 2px solid #8B0000; } .calranged { border: 2px outset #C2CFDF; background: #C2CFDF; padding:4px; } .calitem { border-bottom: 1px dotted #C2CFDF; padding:4px; } /* * ======================================== * form styles * ======================================== */ .input-warn, .input-green, .input-checkbox, input, textarea, select{ background: #FFF; border: 1px solid #4C77B6; color: #000; font-family: verdana, helvetica, sans-serif; font-size: 11px; margin: 5px; padding: 2px; vertical-align: middle; } select { margin: 0px; } .input-checkbox { border: none; } .input-warn, .input-warn-content { border: 1px solid #C00; } .input-ok, .input-ok-content { border: 1px solid #0C0; } .input-warn-content { padding: 4px; margin: 4px; background-color: #FCC; } .input-ok-content { padding: 4px; margin: 4px; background-color: #CFC; } .input-text { color: #900; } input.button{ margin: 0; width: auto; cursor: pointer; } optgroup option{ font-family: verdana, helvetica, sans-serif; font-size: 12px; } .codebuttons{ font-family: Verdana, Helvetica, Sans-Serif; font-size: 10px; vertical-align: middle; margin:2px; } .textarea, .searchinput, .button, .gobutton{ background: #FFF; border: 1px solid #4C77B6; color: #000; font-family: Verdana, Helvetica, Sans-Serif; font-size: 11px; padding: 2px; vertical-align: middle; } .button{ background: #DFE6EF; } .gobutton{ background: transparent; border: 0; color: #072A66; margin: 0; vertical-align: middle; } .radiobutton, .checkbox, .helpbox { border: 0; vertical-align: middle; background: transparent; } /* * class.formtable * * used for tabled forms * technically tables should not be used for form display * but, in the case of IPB a table is easier to work with * for the average webmaster, who has little to no CSS knowledge. * */ .formtable{ background: transparent; } .formtable td, .pformleft, .pformleftw, .pformright{ background:#F5F9FD; border: 1px solid #C2CFDF; border-bottom: 0; border-left: 0; font-weight: bold; margin: 1px 0 0 0; padding: 6px; width: 25%; } .formtable td.wider, .pformleftw, .pformright{ width: 40%; } .formtable td.formright, .pformright{ border-right: 0px; font-weight: normal; width: auto; } .formtable td.formtitle, .formsubtitle{ background: #D1DCEB; border: 1px solid #9FB9D4; border-bottom: 0; border-left: 0; border-right: 0; font-weight: normal; } .formsubtitle{ border: 0; color: #3A4F6C; font-weight: bold; padding: 5px; } .formtable td.formstrip{ background: #DDE8F2; border: 1px solid #9FB9D4; border-left: 0; border-right: 0; font-weight: normal; } /* * ======================================== * new style quote and code wrappers MATT's DESIGN * ======================================== */ .quotetop{ background: #E4EAF2 url(style_images/1/css_img_quote.gif) no-repeat right; border: 1px dotted #000; border-bottom: 0; border-left: 4px solid #8394B2; color: #000; font-weight: bold; font-size: 10px; margin: 2px auto 0 auto; padding: 3px; } .quotemain{ background: #FAFCFE; border: 1px dotted #000; border-left: 4px solid #8394B2; border-top: 0; color: #465584; padding: 4px; margin: 0 auto 0 auto; } .codetop, .sqltop, .htmltop{ background: #FDDBCC url(style_images/1/css_img_code.gif) no-repeat right; color: #000; font-weight: bold; margin: 0 auto 0 auto; padding: 3px; } .codemain, .sqlmain, .htmlmain{ background: #FAFCFE; border: 1px dotted #000; color: #465584; font-family: Courier, "Courier New", Verdana, Arial; margin: 0 auto 0 auto; padding: 2px; } /* * ======================================== * old school quote and code styles - backwards compatibility * ======================================== */ #QUOTE, #CODE{ background: #FAFCFE; border: 1px solid #000; color: #465584; font-family: Verdana, Arial; font-size: 11px; padding: 2px; white-space: normal; } #CODE{ font-family: Courier, "Courier New", Verdana, Arial; } /* * ======================================== * All New Styles * ======================================== */ .cleared{ clear: both; } .borderwrap, .borderwrapm{ /* this will affect the outlining border of all the tables and boxes through-out the skin. */ background: #FFF; border: 1px solid #072A66; padding: 0px; margin: 0px; } .borderwrapm{ margin: 5px; } .borderwrap h3, .maintitle, .maintitlecollapse{ background: url(style_images/1/tile_cat.gif); border: 1px solid #FFF; border-bottom: 1px solid #5176B5; color: #FFF; font-size: 12px; font-weight: bold; margin: 0px; padding: 8px; } .maintitle td { color: #FFF; font-size: 12px; font-weight: bold; } .maintitlecollapse{ border: 1px solid #FFF; } .maintitle p, .maintitlecollapse p, .formsubtitle p{ background: transparent !important; border: 0 !important; margin: 0 !important; padding: 0 !important; } .maintitle p.expand, .maintitle p.goto, .maintitlecollapse p.expand, .formsubtitle p.members{ float: right; width: auto !important; } .maintitle a:link, .maintitle a:visited, .maintitlecollapse a:link, .maintitlecollapse a:visited{ background: transparent; color: #FFF; text-decoration: none; } .maintitle a:hover, .maintitle a:active, .maintitlecollapse a:hover, .maintitlecollapse a:active{ background: transparent; color: #F1F1F1; } table th, .borderwrap table th, .subtitle, .subtitlediv, .postlinksbar{ background: transparent url(style_images/1/tile_sub.gif); border-bottom: 1px solid #5176B5; color: #3A4F6C; font-size: 10px; font-weight: bold; letter-spacing: 1px; margin: 0; padding: 5px; } .subtitlediv{ border: 1px solid #FFF; border-bottom: 1px solid #5176B5; text-align: right; } .borderwrap table th a:link, .subtitle a:link, .subtitlediv a:link, .borderwrap table th a:visited, .subtitle a:visited, .subtitlediv a:visited, .borderwrap table th a:active, .subtitle a:active, .subtitlediv a:active, .borderwrap table th a:hover, .subtitle a:hover, .subtitlediv a:hover{ background: transparent; color: #3A4F6C; text-decoration: none; } .borderwrap h4{ background: #DDE6F2; border: 1px solid #FFF; border-bottom: 1px solid #5176B5; border-top: 1px solid #5176B5; color: #5176B5; font-size: 12px; font-weight: bold; margin: 0; padding: 5px; } .borderwrap p{ background: #F9F9F9; border: 1px solid #CCC; margin: 5px; padding: 10px; text-align: left; } td.formbuttonrow, .pformstrip, .borderwrap p.formbuttonrow, .borderwrap p.formbuttonrow1{ background: #D1DCEB !important; border: 1px solid #FFF; border-top: 1px solid #5176B5; margin: 0px !important; padding: 5px !important; text-align: center; } td.formbuttonrow{ border-bottom: 0; border-left: 0; border-right: 0; } .borderwrap p.formbuttonrow1{ background: #F9F9F9 !important; border: 0; border-top: 1px solid #CCC; } .bar, .barb, .barc{ background: #DFE6EF; border: 1px solid #FFF; } .barc{ border-bottom: 0; } .bar p, .barb p, .barc p{ background: transparent; border: 0; color: #222; font-size: 11px; margin: 0; padding: 5px; text-align: left; } .barb p{ text-align: right; } .bar p.over, .bar p.overs, .barc p.over, .barc p.overs{ float: right; } .barb p.over, .barb p.overs{ float: left; } .bar p.overs, .barb p.overs, .barc p.overs{ position: relative; top: 5px; } .catend{ background: #8394B2; color: #000; font-size: 1px; height: 5px; } .newslink{ background: #F0F5FA; border: 1px solid #C2CFDF; margin: 0; width: 100%; } .newslink td{ color: #222; font-size: 10px; padding: 5px 5px 5px 10px; } .newslink span{ background: transparent; color: #072A66; font-style: italic; font-weight: normal; } .newslink input{ background: #FFF; border: 1px solid #999; color: #072A66; font-size: 10px; padding: 3px; vertical-align: middle; width: auto; } .newslink input.button{ background: transparent; border: 0; color: #072A66; vertical-align: middle; } .fieldwrap{ background: #F9F9F9; border: 1px solid #CCC; border-top: 0; margin: 5px; padding: 0; text-align: left; } .fieldwrap h4{ background: #EEE; border: 1px solid #CCC; border-left: 0; border-right: 0; color: #444; font-size: 12px; font-weight: bold; margin: 0; padding: 5px; } .errorwrap { background: #F2DDDD; border: 1px solid #992A2A; border-top: 0; margin: 5px; padding: 0; } .errorwrap h4 { background: #E3C0C0; border: 1px solid #992A2A; border-left: 0; border-right: 0; color: #992A2A; font-size: 12px; font-weight: bold; margin: 0; padding: 5px; } .errorwrap p { background: transparent; border: 0; color: #992A2A; margin: 0; padding: 8px; } .ruleswrap{ background: #F2DDDD; border: 1px solid #992A2A; color: #992A2A; margin: 5px 0 5px 0; padding: 5px; } #redirectwrap{ background: #F0F5FA; border: 1px solid #C2CFDF; margin: 200px auto 0 auto; text-align: left; width: 500px; } #redirectwrap h4{ background: #D0DDEA; border-bottom: 1px solid #C2CFDF; color: #3A4F6C; font-size: 14px; margin: 0; padding: 5px; } #redirectwrap p{ margin: 0; padding: 5px; } #redirectwrap p.redirectfoot{ background: #E3EBF4; border-top: 1px solid #C2CFDF; text-align: center; } #gfooter{ background: #8394B2; margin: 5px 0 5px 0; padding: 0; width: 100%; } #gfooter td{ color: #FFF; font-size: 10px; padding: 4px; } #gfooter a:link, #gfooter a:visited{ color: #FFF; } #logostrip{ background: #3860BB url(style_images/1/tile_back.gif); border: 1px solid #FFF; height: 68px; margin: 0; padding: 0; } #logographic{ background: transparent url(style_images/1/logo4.gif) no-repeat left; height: 68px; margin: 0; padding: 0; } #submenu{ background: transparent url(style_images/1/tile_sub.gif); border: 1px solid #FFF; border-top: 0; color: #3A4F6C; margin: 0; height: 29px; text-align: right; } .ipb-top-left-link, .ipb-top-right-link { background: transparent url(style_images/1/tile_sub-lite.gif); float: right; font-size: 10px; font-weight: bold; letter-spacing: 0.5px; margin: 0px; padding: 7px 0 7px 0; width: auto; border-left: 1px solid #dce3ee; } .ipb-top-left-link { float: left; border-left: 0px; border-right: 1px solid #dce3ee; } .ipb-top-left-link a:link, .ipb-top-left-link a:visited, .ipb-top-right-link a:link, .ipb-top-right-link a:visited { background: transparent; color: #3A4F6C; padding: 0 6px 0 6px; text-decoration: none; } .ipb-top-left-link a:hover, .ipb-top-left-link a:active, .ipb-top-right-link a:hover, .ipb-top-right-link a:active { background: transparent; color: #5176B5; } #userlinks, #userlinksguest{ background: #F0F5FA; border: 1px solid #C2CFDF; margin: 5px 0 5px 0; padding: 0 5px 0 5px; } #userlinksguest{ background: #F4E7EA; border: 1px solid #986265; } #userlinks p, #userlinksguest p{ background: transparent !important; border: 0 !important; font-size: 10px; font-weight: bold; letter-spacing: 1px; margin: 0 !important; padding: 7px 0 7px 0; text-align: right; } #userlinks p, #userlinksguest p{ font-weight: normal; letter-spacing: 0; } #userlinksguest p.pcen{ text-align: center; } #userlinks p.home, #userlinksguest p.home{ float: left; } #navstrip{ background: transparent; color: #999; font-size: 12px; font-weight: bold; margin: 0 0 5px 0; padding: 14px 0px 8px 0px; } #navstrip a:link, #navstrip a:visited{ background: transparent; color: #222; text-decoration: none; } #navstrip a:hover, #navstrip a:active{ background: transparent; color: #5176B5; } .toplinks{ background: transparent; color: #000; margin: 0; padding: 0 0 5px 0; text-align: right; } .toplinks span{ background: #F0F5FA; border: 1px solid #C2CFDF; border-bottom: 0; color: #000; font-size: 10px; font-weight: bold; margin: 0 10px 0 0; padding: 5px; } .copyright{ background: #EEE; font-size: 11px; margin: 0 0 5px 0; padding: 8px; } /* * ======================================== * print page styles * ======================================== */ #print{ margin: 20px auto 20px auto; padding: 0; text-align: left; width: 85%; } #print h1, #print h2, #print h3, #print h4, #print p{ color: #036; font-size: 18px; font-weight: bold; margin: 0; padding: 8px; } #print h2, #print h3, #print p{ border-bottom: 1px solid #999; font-size: 11px; font-weight: normal; } #print h3{ background: #F5F5F5; font-size: 12px; font-weight: bold; margin: 0 0 10px 0; } #print h4{ background: #F9F9F9; font-size: 11px; } #print p{ margin: 0 0 5px 0; padding: 10px; } #print p.printcopy{ border: 0; color: #000; text-align: center; } .dny-edit-title { border:0px; padding:3px; margin:0px; background: #D1DCEB; color: #3A4F6C; } /* ======================================== */ /* TABS /* ======================================== */ .tabon { border-top:1px solid #999; border-left:1px solid #999; border-right:1px solid #999; background-color:#FFF; padding:8px; padding-bottom:9px; font-size:10px; float:left; width:auto; margin-top:3px; } .taboff { border-top: 1px solid #777; border-left: 1px solid #777; border-right: 1px solid #777; background-color: #B5C3D9; color: #333; padding: 8px; font-size:10px; float: left; width: auto; margin-top:3px; } .tabon a:link, .tabon a:visited, .tabon a:active { text-decoration:none; color: #000; } .taboff a:link, .taboff a:visited, .taboff a:active { text-decoration:none; color: #333; } .mya-back { background: #072A66; margin:1px; padding: 1px; } .mya-content { background: #FFF; padding:8px; margin: 1px; border: 1px solid #777; } .mya-content-tbl { background: #F0F5FA; border: 1px solid #777; text-align:left; font-size:10px; white-space:nowrap; margin:1px; } .mya-fieldwrap { background: transparent; margin-top: 2px; margin-bottom: 2px; padding: 4px; border: 1px solid #C5C7CD; -moz-border-radius: 5px; width: auto; display: block; } /* -------------------------------- */ /* Create PM box defaults */ /* -------------------------------- */ .iframeshim { position:absolute; display:none; background: #FFF; border:0px; width:auto; height:auto; } /* -------------------------------- */ /* Experimental */ /* -------------------------------- */ .popupmenu, .popupmenu-new { background: #F0F5FA; border: 1px solid #3A4F6C; text-align:left; font-size:10px; white-space:nowrap; /*padding:3px 5px 3px 3px;*/ /*width:300px;*/ } .popupmenu-item { padding: 5px; /*margin-top:4px;*/ white-space: nowrap; border-bottom: 1px solid #C2CFDF; color: #000000; font-weight: normal; } .popupmenu-item-last { padding: 5px; /*margin-top:4px;*/ white-space: nowrap; color: #000000; font-weight: normal; } .popmenubutton-new, .popmenubutton { width:120px; white-space:nowrap; background-color: #C2CFDF; border:1px solid #3A4F6C; color: #3A4F6C; font-weight:bold; float:right; height:18px; text-align:center; margin:0px; font-size:11px; padding:3px; } .popmenubutton-new { float:none; width:auto; text-align:left; height:auto; padding:3px; font-weight:normal; background-color:#EEF2F7; background-image: url(style_images/1/menu_action_down-padded.gif); background-repeat: no-repeat; background-position: right; } .popmenubutton-new-out { padding:4px; } .popupmenu-new { background-color: #DFE6EF; } .popmenubutton a:link, .popmenubutton a:visited, .popmenubutton-new a:link, .popmenubutton-new a:visited, .popupmenu-item a:link, .popupmenu-item a:visited, .popupmenu-item-last a:link, .popupmenu-item-last a:visited { color: #3A4F6C; text-decoration: none; } .popmenubutton a:hover, .popmenubutton-new a:hover, .popupmenu-item a:hover, .popupmenu-item-last a:hover { color: #5176B5; text-decoration: none; } .popupmenu-category { background: transparent url(style_images/1/tile_sub.gif); border-top: 1px solid #5176B5; border-bottom: 1px solid #5176B5; color: #3A4F6C; font-size: 10px; font-weight: bold; letter-spacing: 1px; margin: 0; padding: 5px; } /* -------------------------------- */ /* Loading box /* -------------------------------- */ #loading-layer-inner { width:220px; height:28px; padding:18px 10px 10px 10px; text-align:center; color: #000; border: 1px solid; border-color:#CCC #666 #666 #CCC; background-color: #FCF8C7; } /* -------------------------------- */ /* Message in a bo(x|ttle) /* -------------------------------- */ #ipd-msg-wrapper { display: none; width: 220px; } #ipd-msg-inner { width:100%; height:45px; padding: 6px 4px 4px 4px; margin: 0px; text-align:center; color: #000; border: 1px solid; border-color:#ccc #666 #666 #ccc; background-color: #FCF8C7; filter:alpha(opacity=75); opacity:.75 } #ipd-msg-title { width: 100%; height:20px; margin: 0px; padding: 6px 4px 4px 4px; background: transparent url(style_images/1/css_pp_header.gif); border: 1px solid #3A4F6C; border-bottom: 0px; color: #FFF; } .linked-image { margin: 0px; padding: 0px; border: 0px; } .resized-linked-image { margin: 1px 0px 0px 0px; padding: 0px; background-color: #000; border: 0px; color: #FFF; font-size: 10px; width: auto; -moz-border-radius-topleft: 7px; -moz-border-radius-topright: 7px; } .resized-linked-image-zoom { width: 200px; height: 30px; filter:alpha(opacity=85); opacity:.85; background-color: #FFF; padding-top: 6px; padding-left: 5px; top: 0px; left: 0px; position: absolute; display: none; } /* -------------------------------- */ /* Edit post reason /* -------------------------------- */ .post-edit-reason { background: #E7EAEF; margin-top: 9px; margin-bottom: 0px; padding: 4px; color: #333; font-size: 10px; border: 1px solid #C5C7CD; -moz-border-radius: 5px; width: auto; display: block; } /* -------------------------------- */ /* Personal Profile /* -------------------------------- */ .pp-name { background: #F0F5FA; border: 1px solid #C2CFDF; margin: 0px; padding: 10px; } .pp-name h3 { margin:0px; padding:0px 0px 5px 0px; font-size:24px; } .pp-header { background: transparent url(style_images/1/tile_sub.gif); color: #3A4F6C; font-size: 10px; font-weight: bold; margin: 0px 0px 1px 0px; padding: 5px; } .pp-title { background: url(style_images/1/css_pp_header.gif); border-bottom: 1px solid #5176B5; color: #FFF; font-size: 12px; font-weight: bold; margin: 0px; padding: 8px; } .pp-datebox { text-align: center; background: #FFFFFF; border: 1px solid #555555; padding: 4px; margin: 0px; font-size:18px; font-weight:bold; line-height: 100%; letter-spacing: -1px; float:right; width: auto; } .pp-datebox em { color: #AAA; font-weight: normal; font-style: normal; } .pp-contentbox-back { background-image: url(style_images/1/folder_profile_portal/pp-css-contentblock.gif); background-repeat: repeat-x; background-color: #ACBFD9; padding: 6px; } .pp-contentbox-entry, .pp-contentbox-entry-noheight, .pp-contentbox-entry-noheight-mod, .pp-contentbox-entry-noheight-sel { background-color: #EEF2F7; border: 1px solid #888888; line-height: 140%; padding: 8px; margin-bottom: 6px; height: 200px; overflow: auto; overflow-x: auto; } .pp-contentbox-entry-noheight-sel { background-color:#FCECCD; } .pp-contentbox-entry-noheight-mod { background-color:#FDF1DA; } .pp-contentbox-entry-noheight, .pp-contentbox-entry-noheight-mod, .pp-contentbox-entry-noheight-sel { height: auto; margin-bottom: 1px; } .pp-image-thumb-wrap, .pp-image-thumb-wrap-floatright, .pp-image-mini-wrap, .pp-image-mini-wrap-floatright { width: 52px; height: 52px; text-align: center; background: #FFFFFF; border: 1px solid #555555; padding: 4px; margin-top: auto; margin-bottom: auto; } .pp-image-mini-wrap, .pp-image-mini-wrap-floatright { width: 27px; height: 27px; margin-top: auto; margin-bottom: auto; } .pp-image-thumb-wrap-floatright, .pp-image-mini-wrap-floatright { float:right; } .pp-tiny-text { color: gray; font-size: 10px; } .pp-mini-content-entry, .pp-mini-content-entry-noheight, .pp-mini-entry-noheight-shaded { background-color: #F5F9FD; padding: 6px; border-bottom: 1px dotted #555555; clear:both; width: auto; height: 60px; } .pp-mini-entry-noheight-shaded { background-color: #E3DFE7; } .pp-mini-content-entry-noheight, .pp-mini-entry-noheight-shaded { height: auto; } .pp-tabclear, .pp-maintitle { background: url(style_images/1/css_pp_header.gif); border: 1px solid #FFF; border-bottom: 1px solid #5176B5; color: #FFF; font-size: 12px; font-weight: bold; margin: 0px; padding: 8px; } .pp-tabclear { border:0px; border-right: 1px solid #072A66; border-left: 1px solid #072A66; } .pp-tabon { border-top:1px solid #3363A1; border-left:1px solid #072A66; border-right:1px solid #072A66; background-color:#6696D6; color:#FFFFFF; padding:8px; float:left; width:auto; background-image: url(style_images/1/css_pp_tab_on.gif); background-repeat: repeat-x; background-position: left bottom; margin-top:3px; font-size:10px; } .pp-taboff, .pp-tabshaded { border-top: 1px solid #759BC7; border-left: 1px solid #759BC7; border-right: 1px solid #759BC7; background-color: #3363A1; color: #3363A1; padding:8px; float: left; width: auto; background-image: url(style_images/1/css_pp_tab_off.gif); background-repeat: repeat-x; background-position: left bottom; margin-top:3px; font-size:10px; } .pp-tabshaded { background-image: url(style_images/1/css_pp_tab_shaded.gif); background-repeat: repeat-x; background-position: left bottom; color: #516795; border-top: 1px solid #7f9BBC; border-left: 1px solid #7f9BBC; border-right: 1px solid #7f9BBC; } .pp-tabon a:link, .pp-tabon a:visited, .pp-tabon a:active { text-decoration:none; color: #FFFFFF; } .pp-taboff a:link, .pp-taboff a:visited, .pp-taboff a:active, .pp-tabshaded a:link, .pp-tabshaded a:visited, .pp-tabshaded a:active { text-decoration:none; color: #3363A1; } .pp-tabwrap { height: 34px; margin:0px; padding:0px; } @import url( "http://www.torrenttrader.org/style_images/1/folder_editor_images/css_rte.css" ); // // Features Forums SourceForge Download Premium Support Custom Services VBTT VBTT Download Help Search Members Calendar Search this forum only? More Search Options ipsmenu.register( "ipb-tl-search", 'document.getElementById("ipb-tl-search-box").focus();' ); gbl_check_search_box(); [X] My Assistant Loading. Please Wait...   Site Message (Message will auto close in 2 seconds) Logged in as: small_bigguy ( Log Out ) My Controls · View New Posts · My Assistant · My Friends · 0 New Messages  TorrentTrader Forums > TorrentTrader PREMIUM > PREMIUM Hacks & Modifications //  Posting Rules Please remember that all hacks and modifications found in the premium area are for premium members only.DO NOT DISTRIBUTE!

6 Pages   « < 2 3 4 5 6 > //    Passkey System v1.2, Add Passkey function to your site Options Scylla View Member Profile Add as Friend Send Message Find Member's Topics Find Member's Posts ipsmenu.register( "post-member-24181", '', 'popmenubutton-new', 'popmenubutton-new-out' ); Mar 6 2007, 05:45 AM Post #61 Member Group: Premium Posts: 19 Joined: 25-February 07 Member No.: 6,269 QUOTE(SssLukasSss @ Mar 6 2007, 12:26 AM) [snapback]24167[/snapback]"Failure: Connection limit exceeded! Your Passkey Has possibly been leaked"what does it mean? is it bad?Depends. This usually happens when u are using your passkey in multi IP environment or your did not disconnect properly.   pavlosp View Member Profile Add as Friend Send Message Find Member's Topics Find Member's Posts ipsmenu.register( "post-member-24323", '', 'popmenubutton-new', 'popmenubutton-new-out' ); Mar 11 2007, 07:02 PM Post #62 Advanced Member Group: Premium Posts: 102 Joined: 21-July 06 From: Greece Member No.: 2,850 A problem came up with passkey. Until now was ok but today i noticed a problem. When i upload a torrent to my tracker in order to get the passkey and then download it in order to seed it, the passkey isn't added. Its missing.Testing i found that with utorrent that problem exists, if i create a torrent with bitcomet the problem doesn't exist.   jwwolf View Member Profile Add as Friend Send Message Find Member's Topics Find Member's Posts ipsmenu.register( "post-member-25426", '', 'popmenubutton-new', 'popmenubutton-new-out' ); Apr 6 2007, 02:56 PM Post #63 Newbie Group: Premium Posts: 7 Joined: 21-January 07 Member No.: 5,613 whats the verdict on this oneis it worth the time and trouble to mod iti noticed throughout the pages the overall theme was it dosent work   Torrential-Storm... Torrential-Storm.co.uk View Member Profile Add as Friend Send Message Find Member's Topics Find Member's Posts ipsmenu.register( "post-member-25430", '', 'popmenubutton-new', 'popmenubutton-new-out' ); Apr 6 2007, 03:32 PM Post #64 Official Developer/Moderator Group: Official Developer Posts: 3,085 Joined: 27-September 05 From: http://www.TorrentialStorm.net Member No.: 10 it does work, just the resetting passkey bit doesn't.. but... if you don't want to try this one try my one (i tested it on my test tracker and it worked perfectly) -------------------- TorrentialStorm ^^Click My Sig^^TorrentTrader IRC Channel: #TorrentTrader on irc.p2p-network.netTorrentialStorm IRC Channel: #TorrentialStorm on irc.p2p-network.netIf you want to know what made my sig click HERE____________________________________________________________STOP PM'ING ME FOR SUPPORT, USE THE FORUMS THAT'S WHAT THEY'RE HERE FOR.   jwwolf View Member Profile Add as Friend Send Message Find Member's Topics Find Member's Posts ipsmenu.register( "post-member-25451", '', 'popmenubutton-new', 'popmenubutton-new-out' ); Apr 6 2007, 10:06 PM Post #65 Newbie Group: Premium Posts: 7 Joined: 21-January 07 Member No.: 5,613 QUOTE(Torrential-Storm.co.uk @ Apr 6 2007, 02:32 PM) [snapback]25430[/snapback]it does work, just the resetting passkey bit doesn't.. but... if you don't want to try this one try my one (i tested it on my test tracker and it worked perfectly)if i knew where it was located at i might be inclind to try itsearched for passkey and only found version 1.1 and 1.2 of this mod on the forums   Torrential-Storm... Torrential-Storm.co.uk View Member Profile Add as Friend Send Message Find Member's Topics Find Member's Posts ipsmenu.register( "post-member-25452", '', 'popmenubutton-new', 'popmenubutton-new-out' ); Apr 7 2007, 12:18 AM Post #66 Official Developer/Moderator Group: Official Developer Posts: 3,085 Joined: 27-September 05 From: http://www.TorrentialStorm.net Member No.: 10 this topic -------------------- TorrentialStorm ^^Click My Sig^^TorrentTrader IRC Channel: #TorrentTrader on irc.p2p-network.netTorrentialStorm IRC Channel: #TorrentialStorm on irc.p2p-network.netIf you want to know what made my sig click HERE____________________________________________________________STOP PM'ING ME FOR SUPPORT, USE THE FORUMS THAT'S WHAT THEY'RE HERE FOR.   Tab View Member Profile Add as Friend Send Message Find Member's Topics Find Member's Posts ipsmenu.register( "post-member-25631", '', 'popmenubutton-new', 'popmenubutton-new-out' ); Apr 11 2007, 12:37 AM Post #67 Advanced Member Group: Premium Posts: 62 Joined: 29-March 07 Member No.: 6,958 QUOTE(Torrential-Storm.co.uk @ Apr 6 2007, 07:32 AM) [snapback]25430[/snapback]it does work, just the resetting passkey bit doesn't.. but... if you don't want to try this one try my one (i tested it on my test tracker and it worked perfectly)So are you saying that the non-premium version works better than this 1.2 mod? I need to install a passkey hack, but I'm confused which one is recommended? (I'm using TT1.05)   bison View Member Profile Add as Friend Send Message Find Member's Topics Find Member's Posts ipsmenu.register( "post-member-25888", '', 'popmenubutton-new', 'popmenubutton-new-out' ); Apr 16 2007, 05:25 PM Post #68 Member Group: Premium Posts: 20 Joined: 5-June 06 Member No.: 2,551 Works for me!!!very useful! thx   Tab View Member Profile Add as Friend Send Message Find Member's Topics Find Member's Posts ipsmenu.register( "post-member-26012", '', 'popmenubutton-new', 'popmenubutton-new-out' ); Apr 19 2007, 07:20 PM Post #69 Advanced Member Group: Premium Posts: 62 Joined: 29-March 07 Member No.: 6,958 QUOTE(FLASH @ Aug 23 2006, 06:00 AM) [snapback]15597[/snapback]open announce.phpfind:CODE$rzz = mysql_query("SELECT id, uploaded, downloaded, class FROM users WHERE ip='$ip' AND enabled = 'yes' ORDER BY last_access DESC LIMIT 1");replace with:CODE////////////////////////////// PASSKEY SYSTEM////////////////////////////$valid = @mysql_fetch_row(@mysql_query("SELECT COUNT(*) FROM peers WHERE torrent=$torrentid AND passkey=" . sqlesc($passkey) . ""));if ($valid[0] >= 1 && $seeder == 'no') err("Connection limit exceeded! Your Passkey Has possibly been leaked");if ($valid[0] >= 3 && $seeder == 'yes') err("Connection limit exceeded!");$rzz = mysql_query("SELECT id, uploaded, downloaded, class FROM users WHERE passkey=".sqlesc($passkey)." AND enabled = 'yes' ORDER BY last_access DESC LIMIT 1") or err("Tracker error 2");////////////////////////////// END PASSKEY SYSTEM////////////////////////////find:CODE$ret = mysql_query("INSERT INTO peers (connectable, torrent, peer_id, ip, port, uploaded, downloaded, to_go, started, last_action, seeder, userid, client) VALUES ('$connectable', $torrentid, " . sqlesc($peer_id) . ", " . sqlesc($ip) . ", $port, $uploaded, $downloaded, $left, NOW(), NOW(), '$seeder', '$userid', " . sqlesc($agent) . ")");replace with:CODE////////////////////////////// PASSKEY SYSTEM////////////////////////////      $ret = mysql_query("INSERT INTO peers (connectable, torrent, peer_id, ip, port, uploaded, downloaded, to_go, started, last_action, seeder, userid, client, passkey) VALUES ('$connectable', $torrentid, " . sqlesc($peer_id) . ", " . sqlesc($ip) . ", $port, $uploaded, $downloaded, $left, NOW(), NOW(), '$seeder', $userid, " . sqlesc($agent) . ", " . sqlesc($passkey) . ")");////////////////////////////// END PASSKEY SYSTEM//////////////////////////// find: CODE$rz = mysql_query("SELECT id FROM users WHERE ip='$ip' AND enabled='yes' LIMIT 1") or err('Tracker error (1)');I'm now using TT 1.06 and a lot of the code mentioned in announce.php doesn't seem to be there? Are the changes different for TT 1.06?   Torrential-Storm... Torrential-Storm.co.uk View Member Profile Add as Friend Send Message Find Member's Topics Find Member's Posts ipsmenu.register( "post-member-26025", '', 'popmenubutton-new', 'popmenubutton-new-out' ); Apr 19 2007, 09:15 PM Post #70 Official Developer/Moderator Group: Official Developer Posts: 3,085 Joined: 27-September 05 From: http://www.TorrentialStorm.net Member No.: 10 1.06 announce:[codebox]<?//// TORRENTTRADER ANNOUNCE V2 (WWW.TORRENTTRADER.ORG)// CHANGES: MODIFIED TO INCLUDE FUNCTIONS CALLED FROM FUNCTIONS.PHP AND BENC.PHP// INCLUDES: WAIT TIMES, LIVE STATS UPDATE, PORT BLOCKING, NEW GZIP OUTPUT, ANTI-BROWSER, FULL SNATCHED DETAILS//// LINE 303/304 UNCONNECTABLE POSSIBLE FIX, SIMPLY CHANGE THE COMMENTED SQL//// SUPPORT FOR OLD "WHO COMPLETED" MOD ON LINE 409-413 ////require_once("backend/config.php");//START FUNCTIONSfunction unesc($x) { if (get_magic_quotes_gpc()) return stripslashes($x); return $x;}function is_valid_id($id){ return is_numeric($id) && ($id > 0) && (floor($id) == $id);}function validip($ip){ if (!empty($ip) && ip2long($ip)!=-1) { $reserved_ips = array ( array('0.0.0.0','2.255.255.255'), array('10.0.0.0','10.255.255.255'), array('127.0.0.0','127.255.255.255'), array('169.254.0.0','169.254.255.255'), array('172.16.0.0','172.31.255.255'), array('192.0.2.0','192.0.2.255'), array('192.168.0.0','192.168.255.255'), array('255.255.255.0','255.255.255.255') ); foreach ($reserved_ips as $r) { $min = ip2long($r[0]); $max = ip2long($r[1]); if ((ip2long($ip) >= $min) && (ip2long($ip) <= $max)) return false; } return true; } else return false;}function getip() { if (isset($_SERVER)) { if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && validip($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; } elseif (isset($_SERVER['HTTP_CLIENT_IP']) && validip($_SERVER['HTTP_CLIENT_IP'])) { $ip = $_SERVER['HTTP_CLIENT_IP']; } else { $ip = $_SERVER['REMOTE_ADDR']; } } else { if (getenv('HTTP_X_FORWARDED_FOR') && validip(getenv('HTTP_X_FORWARDED_FOR'))) { $ip = getenv('HTTP_X_FORWARDED_FOR'); } elseif (getenv('HTTP_CLIENT_IP') && validip(getenv('HTTP_CLIENT_IP'))) { $ip = getenv('HTTP_CLIENT_IP'); } else { $ip = getenv('REMOTE_ADDR'); } } return $ip;}function dbconn($autoclean = false) { global $mysql_host, $mysql_user, $mysql_pass, $mysql_db; if (!@mysql_connect($mysql_host, $mysql_user, $mysql_pass)) { die('dbconn: mysql_connect: ' . mysql_error()); } mysql_select_db($mysql_db) or die('dbconn: mysql_select_db: ' + mysql_error());}function hash_pad($hash) { return str_pad($hash, 20);}function hash_where($name, $hash) { $shhash = preg_replace('/ *$/s', "", $hash); return "($name = " . sqlesc($hash) . " OR $name = " . sqlesc($shhash) . ")";}function sqlesc($x) { return "'".mysql_real_escape_string($x)."'";}function err($msg){ benc_resp(array("failure reason" => array(type => "string", value => $msg))); exit();}function benc($obj) { if (!is_array($obj) || !isset($obj["type"]) || !isset($obj["value"])) return; $c = $obj["value"]; switch ($obj["type"]) { case "string": return benc_str($c); case "integer": return benc_int($c); case "list": return benc_list($c); case "dictionary": return benc_dict($c); default: return; }}function benc_str($s) { return strlen($s) . ":$s";}function benc_int($i) { return "i" . $i . "e";}function benc_list($a) { $s = "l"; foreach ($a as $e) { $s .= benc($e); } $s .= "e"; return $s;}function benc_dict($d) { $s = "d"; $keys = array_keys($d); sort($keys); foreach ($keys as $k) { $v = $d[$k]; $s .= benc_str($k); $s .= benc($v); } $s .= "e"; return $s;}function benc_resp($d){ benc_resp_raw(benc(array(type => "dictionary", value => $d)));}function benc_resp_raw($x) {header("Content-Type: text/plain");header("Pragma: no-cache");if ($_SERVER["HTTP_ACCEPT_ENCODING"] == "gzip") { header("Content-Encoding: gzip"); echo gzencode($x, 9, FORCE_GZIP);} else print($x);}function gmtime(){ return strtotime(get_date_time());}function get_date_time($timestamp = 0){ if ($timestamp) return date("Y-m-d H:i:s", $timestamp); else return gmdate("Y-m-d H:i:s");}function portblacklisted($port){ // direct connect if ($port >= 411 && $port <= 413) return true; // bittorrent (AZUREUS) // if ($port >= 6881 && $port <= 6889) return true; // kazaa if ($port == 1214) return true; // gnutella if ($port >= 6346 && $port <= 6347) return true; // emule if ($port == 4662) return true; // winmx if ($port == 6699) return true; return false;}//////////////////////// NOW WE DO THE ANNOUNCE CODE ////////////////////////// BLOCK ACCESS WITH WEB BROWSERS$agent = $_SERVER["HTTP_USER_AGENT"];if (ereg("^Mozilla\\/", $agent) || ereg("^Opera\\/", $agent) || ereg("^Links ", $agent) || ereg("^Lynx\\/", $agent)) err("torrent not registered with this tracker");//GET DETAILS OF PEERS ANNOUNCEforeach (array("passkey","info_hash","peer_id","event") as $x){if(isset($_GET["$x"]))$GLOBALS[$x] = "" . $_GET[$x];}foreach (array("port","downloaded","uploaded","left") as $x)$GLOBALS[$x] = 0 + $_GET[$x];if (strpos($passkey, "?")) {$tmp = substr($passkey, strpos($passkey, "?"));$passkey = substr($passkey, 0, strpos($passkey, "?"));$tmpname = substr($tmp, 1, strpos($tmp, "=")-1);$tmpvalue = substr($tmp, strpos($tmp, "=")+1);$GLOBALS[$tmpname] = $tmpvalue;}foreach (array("passkey","info_hash","peer_id","port","downloaded","uploaded","left") as $x)if (!isset($x)) err("Missing key: $x");foreach (array("info_hash","peer_id") as $x)if (strlen($passkey) != 32) err("Invalid passkey (" . strlen($passkey) . " - $passkey)");$ip = getip();$rsize = 50;foreach(array("num want", "numwant", "num_want") as $k){ if (isset($_GET[$k])) { $rsize = 0 + $_GET[$k]; break; }}//PORT CHECKif (!$port || $port > 0xffff) err("invalid port");//TRACKER EVENT CHECKif (!isset($event)) $event = "";$seeder = ($left == 0) ? "yes" : "no";dbconn(false);// GET HASH AND SELECT FROM DB$usehash = false;if (isset($_GET["info_hash"])){ if (get_magic_quotes_gpc()) $info_hash = stripslashes($_GET["info_hash"]); else $info_hash = $_GET["info_hash"]; if (strlen($info_hash) == 20) $info_hash = bin2hex($info_hash); else if (strlen($info_hash) != 40) err("Invalid info hash value."); $info_hash = strtolower($info_hash); $usehash = true;}if ($usehash) $sql = mysql_query("SELECT id, name, category, banned, seeders + leechers AS numpeers, UNIX_TIMESTAMP(added) AS ts FROM torrents WHERE info_hash='$info_hash'") or err("$info_hash - Database error. Cannot complete request.");else $sql = mysql_query("SELECT id, name, category, banned, seeders + leechers AS numpeers, UNIX_TIMESTAMP(added) AS ts FROM torrents ORDER BY info_hash") or err("Database error. Cannot complete request.");//DOES THE TORRENT EXIST?$torrent = mysql_fetch_array($sql);if (!$torrent) err("torrent not found on this tracker - hash = " . $info_hash);//IS THE IP REGISTERED, IF SO CALL USER ID$userid = 0;if ($MEMBERSONLY){$valid = @mysql_fetch_row(@mysql_query("SELECT COUNT(*) FROM peers WHERE torrent=$torrentid AND passkey=" . sqlesc($passkey) . ""));if ($valid[0] >= 1 && $seeder == 'no') err("Connection limit exceeded! Your Passkey Has possibly been leaked");if ($valid[0] >= 3 && $seeder == 'yes') err("Connection limit exceeded!");$rzz = mysql_query("SELECT id, uploaded, downloaded, class FROM users WHERE passkey=".sqlesc($passkey)." AND enabled = 'yes' ORDER BY last_access DESC LIMIT 1") or err("Tracker error 2"); if (mysql_num_rows($rz) < 1) err("Unrecognized host ($ip - $passkey). Please go to $SITEURL to sign-up or login."); $azz = mysql_fetch_assoc($rz); $userid = $azz["id"];}//SELECT DATA FROM PEERS TABLE$torrentid = $torrent["id"];$torrentname = $torrent["name"];$torrentcategory = $torrent["category"];$fields = "seeder, UNIX_TIMESTAMP(last_action) AS ez, peer_id, ip, port, uploaded, downloaded, userid";$numpeers = $torrent["numpeers"];$limit = "";if ($numpeers > $rsize) $limit = "ORDER BY RAND() LIMIT $rsize";// ABC and CONNECTABLE issues FIX, swap commented line over//$res = mysql_query("SELECT $fields FROM peers WHERE torrent = $torrentid AND connectable = 'yes' $limit");$res = mysql_query("SELECT $fields FROM peers WHERE torrent = $torrentid $limit");//DO SOME BENC STUFF TO THE PEERS CONNECTION$resp = "d" . benc_str("interval") . "i" . $announce_interval . "e" . benc_str("peers") . "l";unset($self);while ($row = mysql_fetch_assoc($res)){ $row["peer_id"] = hash_pad($row["peer_id"]); if ($row["peer_id"] === $peer_id) { $userid = $row["userid"]; $self = $row; continue; } $resp .= "d" . benc_str("ip") . benc_str($row["ip"]) . benc_str("peer id") . benc_str($row["peer_id"]) . benc_str("port") . "i" . $row["port"] . "e" . "e";}$resp .= "ee";$selfwhere = "torrent = $torrentid AND " . hash_where("peer_id", $peer_id);// FILL $SELF WITH DETAILS FROM PEERS TABLE (CONNECTING PEERS DETAILS)if (!isset($self)){ $res = mysql_query("SELECT $fields FROM peers WHERE $selfwhere"); $row = mysql_fetch_assoc($res); if ($row){ $userid = $row["userid"]; $self = $row; }}// END $SELF FILL// SNATCHED MOD - GET DATE TIME/OFFSET$dt = gmtime() - 180;//OFFSET$dt = sqlesc(get_date_time($dt));if (!isset($self))//IF PEER IS NOT IN PEERS TABLE DO THE WAIT TIME CHECK{ if ($MEMBERSONLY_WAIT && $MEMBERSONLY){ if ($left > 0 && $azz["class"] == 0 ) { $gigs = $azz["uploaded"] / (1024*1024*1024); $elapsed = floor((gmtime() - $torrent["ts"]) / 3600); $ratio = (($azz["downloaded"] > 0) ? ($azz["uploaded"] / $azz["downloaded"]) : 1); if ($ratio == 0 && $gigs == 0) $wait = 24; elseif ($ratio < $RATIOA || $gigs < $GIGSA) $wait = $WAITA; elseif ($ratio < $RATIOB || $gigs < $GIGSB) $wait = $WAITB; elseif ($ratio < $RATIOC || $gigs < $GIGSC) $wait = $WAITC; elseif ($ratio < $RATIOD || $gigs < $GIGSD) $wait = $WAITD; else $wait = 0; if ($wait) if ($elapsed < $wait) err("Not authorized (" . ($wait - $elapsed) . "h) - READ THE FAQ! $SITEURL"); } }}else{// IF WE DO HAVE PEERS DETAILS ($self) THEN WE UPDATE THE UP/DOWN STATS HERE //ANTI FLOOD $start = $self["ez"]; //last_action $end = time(); //now time if ($end - $start < 60 && $event != "completed") // Flood time in secs err("Sorry, minimum announce interval = 60 sec."); //END ANTI FLOOD $upthis = max(0, $uploaded - $self["uploaded"]); $downthis = max(0, $downloaded - $self["downloaded"]); if (($upthis > 0 || $downthis > 0) && is_valid_id($userid)) // SEE IF THERE IS ANYTHING THATS GONE UP (LIVE STATS!) { mysql_query("UPDATE users SET uploaded = uploaded + $upthis, downloaded = downloaded + $downthis WHERE id=$userid") or err("Tracker error 3"); }}//END WAIT AND STATS UPDATE$updateset = array();////////////////// NOW WE DO THE TRACKER EVENT UPDATES ///////////////////if ($event == "stopped")// UPDATE "STOPPED" EVENT{ if (isset($self))// DELETE PEER AND REMOVE SEEDER OR LEECHER { //UPDATE SNATCHED mysql_query("UPDATE snatched SET seeder = 'no', connectable='no' WHERE torrent = $torrentid AND userid = $userid"); mysql_query("DELETE FROM peers WHERE $selfwhere"); if (mysql_affected_rows()) { if ($self["seeder"] == "yes") $updateset[] = "seeders = seeders - 1"; else $updateset[] = "leechers = leechers - 1"; } }}else{ if ($event == "completed")// UPDATE "COMPLETED" EVENT { //UPDATE SNATCHED mysql_query("UPDATE snatched SET finished = 'yes', completedat = $dt WHERE torrent = $torrentid AND userid = $userid"); $updateset[] = "times_completed = times_completed + 1"; //if (is_valid_id($userid)){// UPDATE THE "WHO COMPLETED TABLE" $az = mysql_fetch_assoc($rz); mysql_query("INSERT INTO downloaded (torrent, user) VALUES ('$torrentid', '$userid')") or err(mysql_error()); //} }//END COMPLETED if (isset($self))// NO EVENT? THEN WE MUST BE A NEW PEER OR ARE NOW SEEDING A COMPLETED TORRENT {// NOW WE ARE SEEDING AFTER COMPLETED//SNATCH UPDATE $res=mysql_query("SELECT uploaded, downloaded FROM snatched WHERE torrent = $torrentid AND userid = $userid"); $row = mysql_fetch_array($res); $sockres = @fsockopen($ip, $port, $errno, $errstr, 5); if (!$sockres) $connectable = "no"; else { $connectable = "yes"; @fclose($sockres); } $downloaded2=$downloaded - $self["downloaded"]; $uploaded2=$uploaded - $self["uploaded"]; mysql_query("UPDATE snatched SET uploaded = uploaded+$uploaded2, downloaded = downloaded+$downloaded2, port = $port, connectable = '$connectable', agent= " . sqlesc($agent) . ", to_go = $left, last_action = $dt, seeder = '$seeder' WHERE torrent = $torrentid AND userid = $userid");//END SNATCH UPDATE mysql_query("UPDATE peers SET ip = " . sqlesc($ip) . ", port = $port, uploaded = $uploaded, downloaded = $downloaded, to_go = $left, last_action = NOW(), client = " . sqlesc($agent) . ", seeder = '$seeder' WHERE $selfwhere"); if (mysql_affected_rows() && $self["seeder"] != $seeder) { if ($seeder == "yes"){ $updateset[] = "seeders = seeders + 1"; $updateset[] = "leechers = leechers - 1"; } else { $updateset[] = "seeders = seeders - 1"; $updateset[] = "leechers = leechers + 1"; } } } else { if (portblacklisted($port)) err("Port $port is blacklisted."); else {// WE ARE NOT A "COMPLETED" SEED, WE ARE A "NEW" SEEDER $sockres = @fsockopen($ip, $port, $errno, $errstr, 5); if (!$sockres) $connectable = "no"; else { $connectable = "yes"; @fclose($sockres); } } //SNATCHED MOD $res = mysql_query("SELECT torrent, userid FROM snatched WHERE torrent = $torrentid AND userid = $userid"); $check = mysql_fetch_assoc($res); if (!$check) mysql_query("INSERT INTO snatched (torrent, torrentid, userid, port, startdat, last_action, agent, torrent_name, torrent_category) VALUES ($torrentid, $torrentid, $userid, $port, $dt, $dt, " . sqlesc($agent) . ", " . sqlesc($torrentname) . ", $torrentcategory)"); //END SNATCHED $ret = mysql_query("INSERT INTO peers (connectable, torrent, peer_id, ip, port, uploaded, downloaded, to_go, started, last_action, seeder, userid, client, passkey) VALUES ('$connectable', $torrentid, " . sqlesc($peer_id) . ", " . sqlesc($ip) . ", $port, $uploaded, $downloaded, $left, NOW(), NOW(), '$seeder', $userid, " . sqlesc($agent) . ", " . sqlesc($passkey) . ")"); if ($ret) { if ($seeder == "yes") $updateset[] = "seeders = seeders + 1"; else $updateset[] = "leechers = leechers + 1"; } }}////////////////// END TRACKER EVENT UPDATES ///////////////////// SEEDED, LETS MAKE IT VISIBLE THENif ($seeder == "yes") { if ($torrent["banned"] != "yes") // DONT MAKE BANNED ONES VISIBLE $updateset[] = "visible = 'yes'"; $updateset[] = "last_action = NOW()";}// NOW WE UPDATE THE TORRENT AS PER ABOVEif (count($updateset)) mysql_query("UPDATE torrents SET " . join(",", $updateset) . " WHERE id = $torrentid");// NOW BENC THE DATA AND SEND TO CLIENT???benc_resp_raw($resp);exit();?>[/codebox]untested but it should work fine -------------------- TorrentialStorm ^^Click My Sig^^TorrentTrader IRC Channel: #TorrentTrader on irc.p2p-network.netTorrentialStorm IRC Channel: #TorrentialStorm on irc.p2p-network.netIf you want to know what made my sig click HERE____________________________________________________________STOP PM'ING ME FOR SUPPORT, USE THE FORUMS THAT'S WHAT THEY'RE HERE FOR.   Tab View Member Profile Add as Friend Send Message Find Member's Topics Find Member's Posts ipsmenu.register( "post-member-26057", '', 'popmenubutton-new', 'popmenubutton-new-out' ); Apr 20 2007, 11:33 PM Post #71 Advanced Member Group: Premium Posts: 62 Joined: 29-March 07 Member No.: 6,958 QUOTEuntested but it should work fineCan you double check its correct? I'm getting this error message reported by my tracker: Tracker sending invalid data: <br /><b>Warning</b>: mysql_num_rows(): supplied argument is not a valid MySQL result resource in <b>/home/domains/muslimtorrents.com/www_root/annou.   Tab View Member Profile Add as Friend Send Message Find Member's Topics Find Member's Posts ipsmenu.register( "post-member-26058", '', 'popmenubutton-new', 'popmenubutton-new-out' ); Apr 20 2007, 11:45 PM Post #72 Advanced Member Group: Premium Posts: 62 Joined: 29-March 07 Member No.: 6,958 QUOTE(FLASH @ Aug 23 2006, 06:00 AM) [snapback]15597[/snapback]if you are using the external stats mod then please see the thread in the premium members are for the alternate download.phpI'm using the external stats mod but can't find the alternate download.php for the passkey mod? I already checked the ext stats mod thread.   nicky View Member Profile Add as Friend Send Message Find Member's Topics Find Member's Posts ipsmenu.register( "post-member-26066", '', 'popmenubutton-new', 'popmenubutton-new-out' ); Apr 21 2007, 12:48 PM Post #73 Advanced Member Group: Premium Posts: 44 Joined: 8-January 06 Member No.: 1,213 hi test with Attached File(s)  announce.rar ( 5.36K ) Number of downloads: 14     Tab View Member Profile Add as Friend Send Message Find Member's Topics Find Member's Posts ipsmenu.register( "post-member-26182", '', 'popmenubutton-new', 'popmenubutton-new-out' ); Apr 24 2007, 07:39 PM Post #74 Advanced Member Group: Premium Posts: 62 Joined: 29-March 07 Member No.: 6,958 QUOTE(nicky @ Apr 21 2007, 04:48 AM) [snapback]26066[/snapback]hi test withThanks...but have you tested this w/ version 1.06? Its way different than the one T-Storm posted. T-Storm, can you please test your code?   nightmare View Member Profile Add as Friend Send Message Find Member's Topics Find Member's Posts ipsmenu.register( "post-member-26192", '', 'popmenubutton-new', 'popmenubutton-new-out' ); Apr 25 2007, 03:08 AM Post #75 Advanced Member Group: Premium Posts: 1,138 Joined: 3-October 05 From: PT. Lisbon Member No.: 93 This hack need to be completly rewrited, FLASH where are you!!!!!!!!!!!!!, I've no time to rewrite this and finish V2 RC1 --------------------   SssLukasSss View Member Profile Add as Friend Send Message Find Member's Topics Find Member's Posts ipsmenu.register( "post-member-26201", '', 'popmenubutton-new', 'popmenubutton-new-out' ); Apr 25 2007, 12:32 PM Post #76 Advanced Member Group: Premium Posts: 149 Joined: 26-January 07 From: Wilno - Litwa :) Member No.: 5,686 i will wait for flashi will wait for flash   Tab View Member Profile Add as Friend Send Message Find Member's Topics Find Member's Posts ipsmenu.register( "post-member-26252", '', 'popmenubutton-new', 'popmenubutton-new-out' ); Apr 26 2007, 07:38 PM Post #77 Advanced Member Group: Premium Posts: 62 Joined: 29-March 07 Member No.: 6,958 I would love someone to post a working download.php and announce.php based on TT 1.06 with the passkey 1.2 and external stats mod. Seems like there's a lot of changes that need to be made for v1.06 if you have these 2 mods (which I'm sure most users do)PLEASE post them soon! *Cough FLash or T-Storm Cough*   Torrential-Storm... Torrential-Storm.co.uk View Member Profile Add as Friend Send Message Find Member's Topics Find Member's Posts ipsmenu.register( "post-member-26257", '', 'popmenubutton-new', 'popmenubutton-new-out' ); Apr 26 2007, 09:36 PM Post #78 Official Developer/Moderator Group: Official Developer Posts: 3,085 Joined: 27-September 05 From: http://www.TorrentialStorm.net Member No.: 10 fixed it:[codebox]<?//// TORRENTTRADER ANNOUNCE V2 (WWW.TORRENTTRADER.ORG)// CHANGES: MODIFIED TO INCLUDE FUNCTIONS CALLED FROM FUNCTIONS.PHP AND BENC.PHP// INCLUDES: WAIT TIMES, LIVE STATS UPDATE, PORT BLOCKING, NEW GZIP OUTPUT, ANTI-BROWSER, FULL SNATCHED DETAILS//// LINE 303/304 UNCONNECTABLE POSSIBLE FIX, SIMPLY CHANGE THE COMMENTED SQL//// SUPPORT FOR OLD "WHO COMPLETED" MOD ON LINE 409-413////require_once("backend/config.php");//START FUNCTIONSfunction unesc($x) {if (get_magic_quotes_gpc())return stripslashes($x);return $x;}function is_valid_id($id){return is_numeric($id) && ($id > 0) && (floor($id) == $id);}function validip($ip){if (!empty($ip) && ip2long($ip)!=-1){$reserved_ips = array (array('0.0.0.0','2.255.255.255'),array('10.0.0.0','10.255.255.255'),array('127.0.0.0','127.255.255.255'),array('169.254.0.0','169.254.255.255'),array('172.16.0.0','172.31.255.255'),array('192.0.2.0','192.0.2.255'),array('192.168.0.0','192.168.255.255'),array('255.255.255.0','255.255.255.255'));foreach ($reserved_ips as $r){$min = ip2long($r[0]);$max = ip2long($r[1]);if ((ip2long($ip) >= $min) && (ip2long($ip) <= $max)) return false;}return true;}else return false;}function getip() {if (isset($_SERVER)) {if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && validip($_SERVER['HTTP_X_FORWARDED_FOR'])) {$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];} elseif (isset($_SERVER['HTTP_CLIENT_IP']) && validip($_SERVER['HTTP_CLIENT_IP'])) {$ip = $_SERVER['HTTP_CLIENT_IP'];} else {$ip = $_SERVER['REMOTE_ADDR'];}} else {if (getenv('HTTP_X_FORWARDED_FOR') && validip(getenv('HTTP_X_FORWARDED_FOR'))) {$ip = getenv('HTTP_X_FORWARDED_FOR');} elseif (getenv('HTTP_CLIENT_IP') && validip(getenv('HTTP_CLIENT_IP'))) {$ip = getenv('HTTP_CLIENT_IP');} else {$ip = getenv('REMOTE_ADDR');}}return $ip;}function dbconn($autoclean = false) {global $mysql_host, $mysql_user, $mysql_pass, $mysql_db;if (!@mysql_connect($mysql_host, $mysql_user, $mysql_pass)){die('dbconn: mysql_connect: ' . mysql_error());}mysql_select_db($mysql_db)or die('dbconn: mysql_select_db: ' + mysql_error());}function hash_pad($hash) {return str_pad($hash, 20);}function hash_where($name, $hash) {$shhash = preg_replace('/ *$/s', "", $hash);return "($name = " . sqlesc($hash) . " OR $name = " . sqlesc($shhash) . ")";}function sqlesc($x) {return "'".mysql_real_escape_string($x)."'";}function err($msg){benc_resp(array("failure reason" => array(type => "string", value => $msg)));exit();}function benc($obj) {if (!is_array($obj) || !isset($obj["type"]) || !isset($obj["value"]))return;$c = $obj["value"];switch ($obj["type"]) {case "string":return benc_str($c);case "integer":return benc_int($c);case "list":return benc_list($c);case "dictionary":return benc_dict($c);default:return;}}function benc_str($s) {return strlen($s) . ":$s";}function benc_int($i) {return "i" . $i . "e";}function benc_list($a) {$s = "l";foreach ($a as $e) {$s .= benc($e);}$s .= "e";return $s;}function benc_dict($d) {$s = "d";$keys = array_keys($d);sort($keys);foreach ($keys as $k) {$v = $d[$k];$s .= benc_str($k);$s .= benc($v);}$s .= "e";return $s;}function benc_resp($d){benc_resp_raw(benc(array(type => "dictionary", value => $d)));}function benc_resp_raw($x) {header("Content-Type: text/plain");header("Pragma: no-cache");//if ($_SERVER["HTTP_ACCEPT_ENCODING"] == "gzip") {//header("Content-Encoding: gzip");//echo gzencode($x, 9, FORCE_GZIP);//} elseprint($x);}function gmtime(){return strtotime(get_date_time());}function get_date_time($timestamp = 0){if ($timestamp)return date("Y-m-d H:i:s", $timestamp);elsereturn gmdate("Y-m-d H:i:s");}function portblacklisted($port){// direct connectif ($port >= 411 && $port <= 413) return true;// bittorrent (AZUREUS)// if ($port >= 6881 && $port <= 6889) return true;// kazaaif ($port == 1214) return true;// gnutellaif ($port >= 6346 && $port <= 6347) return true;// emuleif ($port == 4662) return true;// winmxif ($port == 6699) return true;return false;}//////////////////////// NOW WE DO THE ANNOUNCE CODE ////////////////////////// BLOCK ACCESS WITH WEB BROWSERS$agent = $_SERVER["HTTP_USER_AGENT"];if (ereg("^Mozilla\\/", $agent) || ereg("^Opera\\/", $agent) || ereg("^Links ", $agent) || ereg("^Lynx\\/", $agent))err("torrent not registered with this tracker");//GET DETAILS OF PEERS ANNOUNCE$req = "info_hash:peer_id:port:uploaded:downloaded:left:!event:passkey";foreach (explode(":", $req) as $x){ if ($x[0] == "!") { $x = substr($x, 1); $opt = 1; } else $opt = 0; if (!isset($_GET[$x])) { if (!$opt) err("missing key ($x)"); continue; } $GLOBALS[$x] = unesc($_GET[$x]);}foreach (array("info_hash","peer_id") as $x){ if (strlen($GLOBALS[$x]) != 20) err("invalid $x (" . strlen($GLOBALS[$x]) . " - " . urlencode($GLOBALS[$x]) . ")");}$ip = getip();$rsize = 50;foreach(array("num want", "numwant", "num_want") as $k){if (isset($_GET[$k])){$rsize = 0 + $_GET[$k];break;}}//PORT CHECKif (!$port || $port > 0xffff)err("invalid port");//TRACKER EVENT CHECKif (!isset($event))$event = "";$seeder = ($left == 0) ? "yes" : "no";dbconn(false);// GET HASH AND SELECT FROM DB$usehash = false;if (isset($_GET["info_hash"])){if (get_magic_quotes_gpc())$info_hash = stripslashes($_GET["info_hash"]);else$info_hash = $_GET["info_hash"];if (strlen($info_hash) == 20)$info_hash = bin2hex($info_hash);else if (strlen($info_hash) != 40)err("Invalid info hash value.");$info_hash = strtolower($info_hash);$usehash = true;}if ($usehash)$sql = mysql_query("SELECT id, name, category, banned, seeders + leechers AS numpeers, UNIX_TIMESTAMP(added) AS ts FROM torrents WHERE info_hash='$info_hash'") or err("$info_hash - Database error. Cannot complete request.");else$sql = mysql_query("SELECT id, name, category, banned, seeders + leechers AS numpeers, UNIX_TIMESTAMP(added) AS ts FROM torrents ORDER BY info_hash") or err("Database error. Cannot complete request.");//DOES THE TORRENT EXIST?$torrent = mysql_fetch_array($sql);if (!$torrent)err("torrent not found on this tracker - hash = " . $info_hash);//IS THE IP REGISTERED, IF SO CALL USER ID$userid = 0;if ($MEMBERSONLY){$rzz = mysql_query("SELECT id, uploaded, downloaded, class FROM users WHERE passkey=".sqlesc($passkey)." AND enabled = 'yes' ORDER BY last_access DESC LIMIT 1") or err("Tracker error 2");if (mysql_num_rows($rzz) < 1)err("Unrecognized host ($ip - $passkey). Please go to $SITEURL to sign-up or login.");$valid = @mysql_fetch_row(@mysql_query("SELECT COUNT(*) FROM peers WHERE torrent=$torrentid AND passkey=" . sqlesc($passkey) . ""));if ($valid[0] >= 1 && $seeder == 'no') err("Connection limit exceeded! Your Passkey Has possibly been leaked");if ($valid[0] >= 3 && $seeder == 'yes') err("Connection limit exceeded!");$azz = mysql_fetch_assoc($rzz);$userid = $azz["id"];}//SELECT DATA FROM PEERS TABLE$torrentid = $torrent["id"];$torrentname = $torrent["name"];$torrentcategory = $torrent["category"];$fields = "seeder, UNIX_TIMESTAMP(last_action) AS ez, peer_id, ip, port, uploaded, downloaded, userid";$numpeers = $torrent["numpeers"];$limit = "";if ($numpeers > $rsize)$limit = "ORDER BY RAND() LIMIT $rsize";// ABC and CONNECTABLE issues FIX, swap commented line over//$res = mysql_query("SELECT $fields FROM peers WHERE torrent = $torrentid AND connectable = 'yes' $limit");$res = mysql_query("SELECT $fields FROM peers WHERE torrent = $torrentid $limit");//DO SOME BENC STUFF TO THE PEERS CONNECTION$resp = "d" . benc_str("interval") . "i" . $announce_interval . "e" . benc_str("peers") . "l";unset($self);while ($row = mysql_fetch_assoc($res)){$row["peer_id"] = hash_pad($row["peer_id"]);if ($row["peer_id"] === $peer_id){$userid = $row["userid"];$self = $row;continue;}$resp .= "d" .benc_str("ip") . benc_str($row["ip"]) .benc_str("peer id") . benc_str($row["peer_id"]) .benc_str("port") . "i" . $row["port"] . "e" ."e";}$resp .= "ee";$selfwhere = "torrent = $torrentid AND " . hash_where("peer_id", $peer_id);// FILL $SELF WITH DETAILS FROM PEERS TABLE (CONNECTING PEERS DETAILS)if (!isset($self)){$res = mysql_query("SELECT $fields FROM peers WHERE $selfwhere");$row = mysql_fetch_assoc($res);if ($row){$userid = $row["userid"];$self = $row;}}// END $SELF FILL// SNATCHED MOD - GET DATE TIME/OFFSET$dt = gmtime() - 180;//OFFSET$dt = sqlesc(get_date_time($dt));if (!isset($self))//IF PEER IS NOT IN PEERS TABLE DO THE WAIT TIME CHECK{if ($MEMBERSONLY_WAIT && $MEMBERSONLY){if ($left > 0 && $azz["class"] == 0 ){$gigs = $azz["uploaded"] / (1024*1024*1024);$elapsed = floor((gmtime() - $torrent["ts"]) / 3600);$ratio = (($azz["downloaded"] > 0) ? ($azz["uploaded"] / $azz["downloaded"]) : 1);if ($ratio == 0 && $gigs == 0) $wait = 24;elseif ($ratio < $RATIOA || $gigs < $GIGSA) $wait = $WAITA;elseif ($ratio < $RATIOB || $gigs < $GIGSB) $wait = $WAITB;elseif ($ratio < $RATIOC || $gigs < $GIGSC) $wait = $WAITC;elseif ($ratio < $RATIOD || $gigs < $GIGSD) $wait = $WAITD;else $wait = 0;if ($wait)if ($elapsed < $wait)err("Not authorized (" . ($wait - $elapsed) . "h) - READ THE FAQ! $SITEURL");}}}else{// IF WE DO HAVE PEERS DETAILS ($self) THEN WE UPDATE THE UP/DOWN STATS HERE//ANTI FLOOD$start = $self["ez"]; //last_action$end = time(); //now timeif ($end - $start < 60 && $event != "completed") // Flood time in secserr("Sorry, minimum announce interval = 60 sec.");//END ANTI FLOOD$upthis = max(0, $uploaded - $self["uploaded"]);$downthis = max(0, $downloaded - $self["downloaded"]);if (($upthis > 0 || $downthis > 0) && is_valid_id($userid)) // SEE IF THERE IS ANYTHING THATS GONE UP (LIVE STATS!){mysql_query("UPDATE users SET uploaded = uploaded + $upthis, downloaded = downloaded + $downthis WHERE id=$userid") or err("Tracker error 3");}}//END WAIT AND STATS UPDATE$updateset = array();////////////////// NOW WE DO THE TRACKER EVENT UPDATES ///////////////////if ($event == "stopped")// UPDATE "STOPPED" EVENT{if (isset($self))// DELETE PEER AND REMOVE SEEDER OR LEECHER{//UPDATE SNATCHEDmysql_query("UPDATE snatched SET seeder = 'no', connectable='no' WHERE torrent = $torrentid AND userid = $userid");mysql_query("DELETE FROM peers WHERE $selfwhere");if (mysql_affected_rows()){if ($self["seeder"] == "yes")$updateset[] = "seeders = seeders - 1";else$updateset[] = "leechers = leechers - 1";}}}else{if ($event == "completed")// UPDATE "COMPLETED" EVENT{//UPDATE SNATCHEDmysql_query("UPDATE snatched SET finished = 'yes', completedat = $dt WHERE torrent = $torrentid AND userid = $userid");$updateset[] = "times_completed = times_completed + 1";//if (is_valid_id($userid)){// UPDATE THE "WHO COMPLETED TABLE"$az = mysql_fetch_assoc($rz);mysql_query("INSERT INTO downloaded (torrent, user) VALUES ('$torrentid', '$userid')") or err(mysql_error());//}}//END COMPLETEDif (isset($self))// NO EVENT? THEN WE MUST BE A NEW PEER OR ARE NOW SEEDING A COMPLETED TORRENT{// NOW WE ARE SEEDING AFTER COMPLETED//SNATCH UPDATE$res=mysql_query("SELECT uploaded, downloaded FROM snatched WHERE torrent = $torrentid AND userid = $userid");$row = mysql_fetch_array($res);$sockres = @fsockopen($ip, $port, $errno, $errstr, 5);if (!$sockres)$connectable = "no";else{$connectable = "yes";@fclose($sockres);}$downloaded2=$downloaded - $self["downloaded"];$uploaded2=$uploaded - $self["uploaded"];mysql_query("UPDATE snatched SET uploaded = uploaded+$uploaded2, downloaded = downloaded+$downloaded2, port = $port, connectable = '$connectable', agent= " . sqlesc($agent) . ", to_go = $left, last_action = $dt, seeder = '$seeder' WHERE torrent = $torrentid AND userid = $userid");//END SNATCH UPDATEmysql_query("UPDATE peers SET ip = " . sqlesc($ip) . ", port = $port, uploaded = $uploaded, downloaded = $downloaded, to_go = $left, last_action = NOW(), client = " . sqlesc($agent) . ", seeder = '$seeder' WHERE $selfwhere");if (mysql_affected_rows() && $self["seeder"] != $seeder){if ($seeder == "yes"){$updateset[] = "seeders = seeders + 1";$updateset[] = "leechers = leechers - 1";} else {$updateset[] = "seeders = seeders - 1";$updateset[] = "leechers = leechers + 1";}}} else {if (portblacklisted($port))err("Port $port is blacklisted.");else{// WE ARE NOT A "COMPLETED" SEED, WE ARE A "NEW" SEEDER$sockres = @fsockopen($ip, $port, $errno, $errstr, 5);if (!$sockres)$connectable = "no";else{$connectable = "yes";@fclose($sockres);}}//SNATCHED MOD$res = mysql_query("SELECT torrent, userid FROM snatched WHERE torrent = $torrentid AND userid = $userid");$check = mysql_fetch_assoc($res);if (!$check)mysql_query("INSERT INTO snatched (torrent, torrentid, userid, port, startdat, last_action, agent, torrent_name, torrent_category) VALUES ($torrentid, $torrentid, $userid, $port, $dt, $dt, " . sqlesc($agent) . ", " . sqlesc($torrentname) . ", $torrentcategory)");//END SNATCHED$ret = mysql_query("INSERT INTO peers (connectable, torrent, peer_id, ip, port, uploaded, downloaded, to_go, started, last_action, seeder, userid, client, passkey) VALUES ('$connectable', $torrentid, " . sqlesc($peer_id) . ", " . sqlesc($ip) . ", $port, $uploaded, $downloaded, $left, NOW(), NOW(), '$seeder', $userid, " . sqlesc($agent) . ", " . sqlesc($passkey) . ")");if ($ret){if ($seeder == "yes")$updateset[] = "seeders = seeders + 1";else$updateset[] = "leechers = leechers + 1";}}}////////////////// END TRACKER EVENT UPDATES ///////////////////// SEEDED, LETS MAKE IT VISIBLE THENif ($seeder == "yes") {if ($torrent["banned"] != "yes") // DONT MAKE BANNED ONES VISIBLE$updateset[] = "visible = 'yes'";$updateset[] = "last_action = NOW()";}// NOW WE UPDATE THE TORRENT AS PER ABOVEif (count($updateset))mysql_query("UPDATE torrents SET " . join(",", $updateset) . " WHERE id = $torrentid");// NOW BENC THE DATA AND SEND TO CLIENT???benc_resp_raw($resp);exit();?>[/codebox]i missed a z off 2 vars -------------------- TorrentialStorm ^^Click My Sig^^TorrentTrader IRC Channel: #TorrentTrader on irc.p2p-network.netTorrentialStorm IRC Channel: #TorrentialStorm on irc.p2p-network.netIf you want to know what made my sig click HERE____________________________________________________________STOP PM'ING ME FOR SUPPORT, USE THE FORUMS THAT'S WHAT THEY'RE HERE FOR.   Tab View Member Profile Add as Friend Send Message Find Member's Topics Find Member's Posts ipsmenu.register( "post-member-26294", '', 'popmenubutton-new', 'popmenubutton-new-out' ); Apr 28 2007, 12:05 AM Post #79 Advanced Member Group: Premium Posts: 62 Joined: 29-March 07 Member No.: 6,958 QUOTE(Torrential-Storm.co.uk @ Apr 26 2007, 01:36 PM) [snapback]26257[/snapback]fixed it:i missed a z off 2 vars Thanks TS. Has this been tested though? I'm hesitant to put it on my live site because I noticed a lot of the code has changed from the announce.php you posted a few posts up. For example, the code under"//GET DETAILS OF PEERS ANNOUNCE" is quite different in ur last 2 posts. So you sure you didn't change more than just the missing Zs off the vars?And I think you missed another "z":Find:CODE$az = mysql_fetch_assoc($rz);Replace with:CODE$az = mysql_fetch_assoc($rzz);   Torrential-Storm... Torrential-Storm.co.uk View Member Profile Add as Friend Send Message Find Member's Topics Find Member's Posts ipsmenu.register( "post-member-26306", '', 'popmenubutton-new', 'popmenubutton-new-out' ); Apr 28 2007, 08:35 AM Post #80 Official Developer/Moderator Group: Official Developer Posts: 3,085 Joined: 27-September 05 From: http://www.TorrentialStorm.net Member No.: 10 actually that line shouldn't be there and i forgot to uncomment some stuff i commented cause utorrent didn't like the gzipped data. and the code under "//GET DETAILS OF PEERS ANNOUNCE" i changed to something more readable, still does the same thing just easier to read/understand.[codebox]<?//// TORRENTTRADER ANNOUNCE V2 (WWW.TORRENTTRADER.ORG)// CHANGES: MODIFIED TO INCLUDE FUNCTIONS CALLED FROM FUNCTIONS.PHP AND BENC.PHP// INCLUDES: WAIT TIMES, LIVE STATS UPDATE, PORT BLOCKING, NEW GZIP OUTPUT, ANTI-BROWSER, FULL SNATCHED DETAILS//// LINE 303/304 UNCONNECTABLE POSSIBLE FIX, SIMPLY CHANGE THE COMMENTED SQL//// SUPPORT FOR OLD "WHO COMPLETED" MOD ON LINE 409-413////require_once("backend/config.php");//START FUNCTIONSfunction unesc($x) {if (get_magic_quotes_gpc())return stripslashes($x);return $x;}function is_valid_id($id){return is_numeric($id) && ($id > 0) && (floor($id) == $id);}function validip($ip){if (!empty($ip) && ip2long($ip)!=-1){$reserved_ips = array (array('0.0.0.0','2.255.255.255'),array('10.0.0.0','10.255.255.255'),array('127.0.0.0','127.255.255.255'),array('169.254.0.0','169.254.255.255'),array('172.16.0.0','172.31.255.255'),array('192.0.2.0','192.0.2.255'),array('192.168.0.0','192.168.255.255'),array('255.255.255.0','255.255.255.255'));foreach ($reserved_ips as $r){$min = ip2long($r[0]);$max = ip2long($r[1]);if ((ip2long($ip) >= $min) && (ip2long($ip) <= $max)) return false;}return true;}else return false;}function getip() {if (isset($_SERVER)) {if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && validip($_SERVER['HTTP_X_FORWARDED_FOR'])) {$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];} elseif (isset($_SERVER['HTTP_CLIENT_IP']) && validip($_SERVER['HTTP_CLIENT_IP'])) {$ip = $_SERVER['HTTP_CLIENT_IP'];} else {$ip = $_SERVER['REMOTE_ADDR'];}} else {if (getenv('HTTP_X_FORWARDED_FOR') && validip(getenv('HTTP_X_FORWARDED_FOR'))) {$ip = getenv('HTTP_X_FORWARDED_FOR');} elseif (getenv('HTTP_CLIENT_IP') && validip(getenv('HTTP_CLIENT_IP'))) {$ip = getenv('HTTP_CLIENT_IP');} else {$ip = getenv('REMOTE_ADDR');}}return $ip;}function dbconn($autoclean = false) {global $mysql_host, $mysql_user, $mysql_pass, $mysql_db;if (!@mysql_connect($mysql_host, $mysql_user, $mysql_pass)){die('dbconn: mysql_connect: ' . mysql_error());}mysql_select_db($mysql_db)or die('dbconn: mysql_select_db: ' + mysql_error());}function hash_pad($hash) {return str_pad($hash, 20);}function hash_where($name, $hash) {$shhash = preg_replace('/ *$/s', "", $hash);return "($name = " . sqlesc($hash) . " OR $name = " . sqlesc($shhash) . ")";}function sqlesc($x) {return "'".mysql_real_escape_string($x)."'";}function err($msg){benc_resp(array("failure reason" => array(type => "string", value => $msg)));exit();}function benc($obj) {if (!is_array($obj) || !isset($obj["type"]) || !isset($obj["value"]))return;$c = $obj["value"];switch ($obj["type"]) {case "string":return benc_str($c);case "integer":return benc_int($c);case "list":return benc_list($c);case "dictionary":return benc_dict($c);default:return;}}function benc_str($s) {return strlen($s) . ":$s";}function benc_int($i) {return "i" . $i . "e";}function benc_list($a) {$s = "l";foreach ($a as $e) {$s .= benc($e);}$s .= "e";return $s;}function benc_dict($d) {$s = "d";$keys = array_keys($d);sort($keys);foreach ($keys as $k) {$v = $d[$k];$s .= benc_str($k);$s .= benc($v);}$s .= "e";return $s;}function benc_resp($d){benc_resp_raw(benc(array(type => "dictionary", value => $d)));}function benc_resp_raw($x) {header("Content-Type: text/plain");header("Pragma: no-cache");if ($_SERVER["HTTP_ACCEPT_ENCODING"] == "gzip") {header("Content-Encoding: gzip");echo gzencode($x, 9, FORCE_GZIP);} elseprint($x);}function gmtime(){return strtotime(get_date_time());}function get_date_time($timestamp = 0){if ($timestamp)return date("Y-m-d H:i:s", $timestamp);elsereturn gmdate("Y-m-d H:i:s");}function portblacklisted($port){// direct connectif ($port >= 411 && $port <= 413) return true;// bittorrent (AZUREUS)// if ($port >= 6881 && $port <= 6889) return true;// kazaaif ($port == 1214) return true;// gnutellaif ($port >= 6346 && $port <= 6347) return true;// emuleif ($port == 4662) return true;// winmxif ($port == 6699) return true;return false;}//////////////////////// NOW WE DO THE ANNOUNCE CODE ////////////////////////// BLOCK ACCESS WITH WEB BROWSERS$agent = $_SERVER["HTTP_USER_AGENT"];if (ereg("^Mozilla\\/", $agent) || ereg("^Opera\\/", $agent) || ereg("^Links ", $agent) || ereg("^Lynx\\/", $agent))err("torrent not registered with this tracker");//GET DETAILS OF PEERS ANNOUNCE$req = "info_hash:peer_id:port:uploaded:downloaded:left:!event:passkey";foreach (explode(":", $req) as $x){ if ($x[0] == "!") { $x = substr($x, 1); $opt = 1; } else $opt = 0; if (!isset($_GET[$x])) { if (!$opt) err("missing key ($x)"); continue; } $GLOBALS[$x] = unesc($_GET[$x]);}foreach (array("info_hash","peer_id") as $x){ if (strlen($GLOBALS[$x]) != 20) err("invalid $x (" . strlen($GLOBALS[$x]) . " - " . urlencode($GLOBALS[$x]) . ")");}$ip = getip();$rsize = 50;foreach(array("num want", "numwant", "num_want") as $k){if (isset($_GET[$k])){$rsize = 0 + $_GET[$k];break;}}//PORT CHECKif (!$port || $port > 0xffff)err("invalid port");//TRACKER EVENT CHECKif (!isset($event))$event = "";$seeder = ($left == 0) ? "yes" : "no";dbconn(false);// GET HASH AND SELECT FROM DB$usehash = false;if (isset($_GET["info_hash"])){if (get_magic_quotes_gpc())$info_hash = stripslashes($_GET["info_hash"]);else$info_hash = $_GET["info_hash"];if (strlen($info_hash) == 20)$info_hash = bin2hex($info_hash);else if (strlen($info_hash) != 40)err("Invalid info hash value.");$info_hash = strtolower($info_hash);$usehash = true;}if ($usehash)$sql = mysql_query("SELECT id, name, category, banned, seeders + leechers AS numpeers, UNIX_TIMESTAMP(added) AS ts FROM torrents WHERE info_hash='$info_hash'") or err("$info_hash - Database error. Cannot complete request.");else$sql = mysql_query("SELECT id, name, category, banned, seeders + leechers AS numpeers, UNIX_TIMESTAMP(added) AS ts FROM torrents ORDER BY info_hash") or err("Database error. Cannot complete request.");//DOES THE TORRENT EXIST?$torrent = mysql_fetch_array($sql);if (!$torrent)err("torrent not found on this tracker - hash = " . $info_hash);//IS THE IP REGISTERED, IF SO CALL USER ID$userid = 0;if ($MEMBERSONLY){$rzz = mysql_query("SELECT id, uploaded, downloaded, class FROM users WHERE passkey=".sqlesc($passkey)." AND enabled = 'yes' ORDER BY last_access DESC LIMIT 1") or err("Tracker error 2");if (mysql_num_rows($rzz) < 1)err("Unrecognized host ($ip - $passkey). Please go to $SITEURL to sign-up or login.");$valid = @mysql_fetch_row(@mysql_query("SELECT COUNT(*) FROM peers WHERE torrent=$torrentid AND passkey=" . sqlesc($passkey) . ""));if ($valid[0] >= 1 && $seeder == 'no') err("Connection limit exceeded! Your Passkey Has possibly been leaked");if ($valid[0] >= 3 && $seeder == 'yes') err("Connection limit exceeded!");$azz = mysql_fetch_assoc($rzz);$userid = $azz["id"];}//SELECT DATA FROM PEERS TABLE$torrentid = $torrent["id"];$torrentname = $torrent["name"];$torrentcategory = $torrent["category"];$fields = "seeder, UNIX_TIMESTAMP(last_action) AS ez, peer_id, ip, port, uploaded, downloaded, userid";$numpeers = $torrent["numpeers"];$limit = "";if ($numpeers > $rsize)$limit = "ORDER BY RAND() LIMIT $rsize";// ABC and CONNECTABLE issues FIX, swap commented line over//$res = mysql_query("SELECT $fields FROM peers WHERE torrent = $torrentid AND connectable = 'yes' $limit");$res = mysql_query("SELECT $fields FROM peers WHERE torrent = $torrentid $limit");//DO SOME BENC STUFF TO THE PEERS CONNECTION$resp = "d" . benc_str("interval") . "i" . $announce_interval . "e" . benc_str("peers") . "l";unset($self);while ($row = mysql_fetch_assoc($res)){$row["peer_id"] = hash_pad($row["peer_id"]);if ($row["peer_id"] === $peer_id){$userid = $row["userid"];$self = $row;continue;}$resp .= "d" .benc_str("ip") . benc_str($row["ip"]) .benc_str("peer id") . benc_str($row["peer_id"]) .benc_str("port") . "i" . $row["port"] . "e" ."e";}$resp .= "ee";$selfwhere = "torrent = $torrentid AND " . hash_where("peer_id", $peer_id);// FILL $SELF WITH DETAILS FROM PEERS TABLE (CONNECTING PEERS DETAILS)if (!isset($self)){$res = mysql_query("SELECT $fields FROM peers WHERE $selfwhere");$row = mysql_fetch_assoc($res);if ($row){$userid = $row["userid"];$self = $row;}}// END $SELF FILL// SNATCHED MOD - GET DATE TIME/OFFSET$dt = gmtime() - 180;//OFFSET$dt = sqlesc(get_date_time($dt));if (!isset($self))//IF PEER IS NOT IN PEERS TABLE DO THE WAIT TIME CHECK{if ($MEMBERSONLY_WAIT && $MEMBERSONLY){if ($left > 0 && $azz["class"] == 0 ){$gigs = $azz["uploaded"] / (1024*1024*1024);$elapsed = floor((gmtime() - $torrent["ts"]) / 3600);$ratio = (($azz["downloaded"] > 0) ? ($azz["uploaded"] / $azz["downloaded"]) : 1);if ($ratio == 0 && $gigs == 0) $wait = 24;elseif ($ratio < $RATIOA || $gigs < $GIGSA) $wait = $WAITA;elseif ($ratio < $RATIOB || $gigs < $GIGSB) $wait = $WAITB;elseif ($ratio < $RATIOC || $gigs < $GIGSC) $wait = $WAITC;elseif ($ratio < $RATIOD || $gigs < $GIGSD) $wait = $WAITD;else $wait = 0;if ($wait)if ($elapsed < $wait)err("Not authorized (" . ($wait - $elapsed) . "h) - READ THE FAQ! $SITEURL");}}}else{// IF WE DO HAVE PEERS DETAILS ($self) THEN WE UPDATE THE UP/DOWN STATS HERE//ANTI FLOOD$start = $self["ez"]; //last_action$end = time(); //now timeif ($end - $start < 60 && $event != "completed") // Flood time in secserr("Sorry, minimum announce interval = 60 sec.");//END ANTI FLOOD$upthis = max(0, $uploaded - $self["uploaded"]);$downthis = max(0, $downloaded - $self["downloaded"]);if (($upthis > 0 || $downthis > 0) && is_valid_id($userid)) // SEE IF THERE IS ANYTHING THATS GONE UP (LIVE STATS!){mysql_query("UPDATE users SET uploaded = uploaded + $upthis, downloaded = downloaded + $downthis WHERE id=$userid") or err("Tracker error 3");}}//END WAIT AND STATS UPDATE$updateset = array();////////////////// NOW WE DO THE TRACKER EVENT UPDATES ///////////////////if ($event == "stopped")// UPDATE "STOPPED" EVENT{if (isset($self))// DELETE PEER AND REMOVE SEEDER OR LEECHER{//UPDATE SNATCHEDmysql_query("UPDATE snatched SET seeder = 'no', connectable='no' WHERE torrent = $torrentid AND userid = $userid");mysql_query("DELETE FROM peers WHERE $selfwhere");if (mysql_affected_rows()){if ($self["seeder"] == "yes")$updateset[] = "seeders = seeders - 1";else$updateset[] = "leechers = leechers - 1";}}}else{if ($event == "completed")// UPDATE "COMPLETED" EVENT{//UPDATE SNATCHEDmysql_query("UPDATE snatched SET finished = 'yes', completedat = $dt WHERE torrent = $torrentid AND userid = $userid");$updateset[] = "times_completed = times_completed + 1";//if (is_valid_id($userid)){// UPDATE THE "WHO COMPLETED TABLE"mysql_query("INSERT INTO downloaded (torrent, user) VALUES ('$torrentid', '$userid')") or err(mysql_error());//}}//END COMPLETEDif (isset($self))// NO EVENT? THEN WE MUST BE A NEW PEER OR ARE NOW SEEDING A COMPLETED TORRENT{// NOW WE ARE SEEDING AFTER COMPLETED//SNATCH UPDATE$res=mysql_query("SELECT uploaded, downloaded FROM snatched WHERE torrent = $torrentid AND userid = $userid");$row = mysql_fetch_array($res);$sockres = @fsockopen($ip, $port, $errno, $errstr, 5);if (!$sockres)$connectable = "no";else{$connectable = "yes";@fclose($sockres);}$downloaded2=$downloaded - $self["downloaded"];$uploaded2=$uploaded - $self["uploaded"];mysql_query("UPDATE snatched SET uploaded = uploaded+$uploaded2, downloaded = downloaded+$downloaded2, port = $port, connectable = '$connectable', agent= " . sqlesc($agent) . ", to_go = $left, last_action = $dt, seeder = '$seeder' WHERE torrent = $torrentid AND userid = $userid");//END SNATCH UPDATEmysql_query("UPDATE peers SET ip = " . sqlesc($ip) . ", port = $port, uploaded = $uploaded, downloaded = $downloaded, to_go = $left, last_action = NOW(), client = " . sqlesc($agent) . ", seeder = '$seeder' WHERE $selfwhere");if (mysql_affected_rows() && $self["seeder"] != $seeder){if ($seeder == "yes"){$updateset[] = "seeders = seeders + 1";$updateset[] = "leechers = leechers - 1";} else {$updateset[] = "seeders = seeders - 1";$updateset[] = "leechers = leechers + 1";}}} else {if (portblacklisted($port))err("Port $port is blacklisted.");else{// WE ARE NOT A "COMPLETED" SEED, WE ARE A "NEW" SEEDER$sockres = @fsockopen($ip, $port, $errno, $errstr, 5);if (!$sockres)$connectable = "no";else{$connectable = "yes";@fclose($sockres);}}//SNATCHED MOD$res = mysql_query("SELECT torrent, userid FROM snatched WHERE torrent = $torrentid AND userid = $userid");$check = mysql_fetch_assoc($res);if (!$check)mysql_query("INSERT INTO snatched (torrent, torrentid, userid, port, startdat, last_action, agent, torrent_name, torrent_category) VALUES ($torrentid, $torrentid, $userid, $port, $dt, $dt, " . sqlesc($agent) . ", " . sqlesc($torrentname) . ", $torrentcategory)");//END SNATCHED$ret = mysql_query("INSERT INTO peers (connectable, torrent, peer_id, ip, port, uploaded, downloaded, to_go, started, last_action, seeder, userid, client, passkey) VALUES ('$connectable', $torrentid, " . sqlesc($peer_id) . ", " . sqlesc($ip) . ", $port, $uploaded, $downloaded, $left, NOW(), NOW(), '$seeder', $userid, " . sqlesc($agent) . ", " . sqlesc($passkey) . ")");if ($ret){if ($seeder == "yes")$updateset[] = "seeders = seeders + 1";else$updateset[] = "leechers = leechers + 1";}}}////////////////// END TRACKER EVENT UPDATES ///////////////////// SEEDED, LETS MAKE IT VISIBLE THENif ($seeder == "yes") {if ($torrent["banned"] != "yes") // DONT MAKE BANNED ONES VISIBLE$updateset[] = "visible = 'yes'";$updateset[] = "last_action = NOW()";}// NOW WE UPDATE THE TORRENT AS PER ABOVEif (count($updateset))mysql_query("UPDATE torrents SET " . join(",", $updateset) . " WHERE id = $torrentid");// NOW BENC THE DATA AND SEND TO CLIENT???benc_resp_raw($resp);exit();?>[/codebox]^^ that's what i just used and it works fine. -------------------- TorrentialStorm ^^Click My Sig^^TorrentTrader IRC Channel: #TorrentTrader on irc.p2p-network.netTorrentialStorm IRC Channel: #TorrentialStorm on irc.p2p-network.netIf you want to know what made my sig click HERE____________________________________________________________STOP PM'ING ME FOR SUPPORT, USE THE FORUMS THAT'S WHAT THEY'RE HERE FOR.   « Next Oldest · PREMIUM Hacks & Modifications · Next Newest »   6 Pages   « < 2 3 4 5 6 > //  Fast Reply    Enable email notification of replies |  Enable Smilies |  Enable Signature     Forum Home Search Help Main   |-- Site News Updates and Rules   |-- General Chat   |-- Your Tracker TorrentTrader   |-- Technical Support   |-- Mod Requests   |-- Hacks And Modifications   |-- Themes & Styles   |-- TT4XBT VBTT   |-- VBTT Version 1.x   |---- Releases   |---- Support   |---- Mods   |-- VBTT Version 2.x   |---- Releases   |---- Support   |---- Mods   |-- VBTT Version 3.x   |---- Releases   |---- Support   |---- Mods TorrentTrader PREMIUM   |-- PREMIUM Support   |-- PREMIUM Hacks & Modifications   |-- PREMIUM BETA Source Codes   |-- PREMIUM Themes   Display Mode: Standard · Switch to: Linear+ · Switch to: Outline Track this topic · Email this topic · Print this topic · Subscribe to this forum // IPB 2.2.0 Default English Lo-Fi Version Time is now: 22nd August 2007 - 12:51 PM // Powered By IP.Board 2.3.1 © 2007  IPS, Inc. Licensed to: TorrentTrader.org

Wyszukiwarka

Podobne podstrony:
passkey system 1 2 page 5
passkey system 1 2 page 6
passkey system 1 2 page 3 htm
passkey system 1 2 page 2
passkey system 1 2
Passkey System v1 2, Add Passkey function to your site
TorrentTrader Classic Edition Passkey System v1 1
Hero System Two Page Combat Summary
wylaczenie aktualizacji systemu XP
EV (Electric Vehicle) and Hybrid Drive Systems
page$
system ósemkowy
ANALIZA KOMPUTEROWA SYSTEMÓW POMIAROWYCH — MSE
Instalacja systemu Windows z pendrive a

więcej podobnych podstron