diff --git a/.gitignore b/.gitignore index 2d5f3ed..5792ff5 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,7 @@ xkeeper/ version.txt lib/config.php lib/firewall.php +.htaccess +favicon.gif +robots.txt +google*.html diff --git a/.htaccess b/.htaccess deleted file mode 100644 index 123ceea..0000000 --- a/.htaccess +++ /dev/null @@ -1,7 +0,0 @@ - -ErrorDocument 403 /errors/403.html -ErrorDocument 404 /errors/404.html -ErrorDocument 500 /errors/500.html - -Order Allow,Deny -Allow from all diff --git a/css/base.css b/css/base.css index 0d7adc7..efab625 100644 --- a/css/base.css +++ b/css/base.css @@ -18,16 +18,17 @@ img { border:none; } .center {text-align:center} .right {text-align:right} -/* Make code blocks scroll instead of stretching the page */ -code { - overflow: auto; - width: 100%; - white-space: pre; - display: block; +/* Make code blocks slightly less likely to go haywire, since apparently + "don't stretch the entire gat dang page" is not possible in HTML, lol */ +.code pre { + max-width: 100%; + width: 100%; + overflow-x: auto; + white-space: pre-wrap; } -/* "Fix" for auto-generated
tags in and
 blocks */
-code br, pre br { display: none; }
+/* "Fix" for auto-generated 
tags in
 blocks */
+pre br { display: none; }
 
 /* Make radio buttons look not terrible */
 input[type=radio] { color: black; background: white; }
@@ -54,3 +55,26 @@ input[type=radio] { color: black; background: white; }
 	max-height:	100%;
 	max-width:	100%;
 }
+
+.spoiler-label:after { content: 'Spoiler'; color: white; background: black; font-style: italic; font-weight: bold; margin: 0 .2em; padding: 0.1em 0.4em; font-size: 80%; vertical-align: 10%; }
+.spoiler > input[type="checkbox"] { display: none; }
+.spoiler > .hidden { background: rgba(128, 128, 128, .5); }
+.spoiler > input[type="checkbox"]:checked + .hidden {
+  background: unset;
+}
+
+.spoiler-b > .spoiler-label:after { width: 100%; display: block; margin: 0; vertical-align: unset; padding: 0.25em 1em; box-sizing: border-box; content: 'Spoiler content - click to show/hide'; }
+
+.spoiler-label:hover:after { background: #444; }
+.spoiler-label:hover + input[type="checkbox"]:checked ~ .hidden { background: rgba(128, 128, 128, .5); }
+
+.spoiler > .hidden > * {
+  visibility: hidden;
+}
+.spoiler > input[type="checkbox"]:checked + .hidden > * {
+  visibility: visible;
+}
+
+.imgtag { max-width: 100%; }
+
+.post { position: relative; }
diff --git a/css/basics.css b/css/basics.css
index 4688976..bd662ed 100644
--- a/css/basics.css
+++ b/css/basics.css
@@ -25,9 +25,21 @@ div.lastpost { font-size: 90%; text-align: right !important; }
 .center, center { text-align: center; }
 .right { text-align: right; }
 
-code { overflow: auto; width: 100%; white-space: pre; display: block; }
-code br { display: none; }
+/* Make code blocks slightly less likely to go haywire, since apparently
+   "don't stretch the entire gat dang page" is not possible in HTML, lol */
+.code pre {
+	max-width: 100%;
+	width: 100%;
+	overflow-x: auto;
+	white-space: pre-wrap;
+}
+
+/* "Fix" for auto-generated 
tags in
 blocks */
+pre br { display: none; }
 
 .pstspl1 {opacity:0;}
 .pstspl1:hover {opacity:1;}
 .pstspl2 {background:#000;color:#FFF;display:block;}
+
+.imgtag { max-width: 100%; }
+.post { position: relative; }
diff --git a/editprofile.php b/editprofile.php
index f0897d9..94dcf48 100644
--- a/editprofile.php
+++ b/editprofile.php
@@ -30,9 +30,9 @@
     $checked5[$loguser['pagestyle']]='checked=1';
     $checked6[$loguser['pollstyle']]='checked=1';
     $sexlist="
-	$radio=sex value=0 $checked1[0]> Male   
-	$radio=sex value=1 $checked1[1]> Female   
-	$radio=sex value=2 $checked1[2]> N/A";
+	$radio=sex value=0 $checked1[0]> Male   
+	$radio=sex value=1 $checked1[1]> Female   
+	$radio=sex value=2 $checked1[2]> Other / N/A";
 	if ($loguser['sex'] > 2)
 		$sexlist .= "$radio=sex value=$loguser[sex] checked style=\"display:none;\">";
 
@@ -128,8 +128,10 @@
 	 $tccell2l>$txta=signature ROWS=8 COLS=60 style='width: 100%;'>". htmlspecialchars($loguser['signature']) ."
 
 	 $tccellh colspan='2'>Personal information
-	 $tccell1>Gender:$descbr This determines your name color (for now).
+     $tccell1>Gender/Name color:$descbr This mostly determines your name color.
 	 $tccell2l>$sexlist
+     $tccell1>Pronouns:$descbr You can put your pronouns here (e.g. they/them, he/him, she/her, etc).
+	 $tccell2l>$inpt=pronouns VALUE=\"". htmlspecialchars($loguser['pronouns']) ."\" SIZE=40 MAXLENGTH=50>
 
 	 $tccell1>Real name:$descbr Your real name (you can leave this blank).
@@ -192,6 +194,14 @@
     ";
   }
   if($action=='saveprofile'){
+
+      if (stripos($_POST['pronouns'], "helicopter") !== false) {
+          // A wise guy, ey?
+          // Real original, asshole.
+          header("Location: https://www.youtube.com/embed/0WrFZAf6EEE?autoplay=1");
+          die();
+      }
+
     if ($eddateformat == $defaultdateformat) $eddateformat = '';
     if ($eddateshort  == $defaultdateshort)  $eddateshort  = '';
 
@@ -272,9 +282,9 @@
       `threadsperpage` = '$threadsperpage',
       `viewsig` = '$viewsig',
       `layout` = '$tlayout',
-      `moodurl` = '". $_POST['moodurl'] ."',".
-//      `posttool` = '$posttool',
-     "`imood` = '$imood',
+      `moodurl` = '". $_POST['moodurl'] ."',
+      `imood` = '$imood',
+      `pronouns` = '{$_POST['pronouns']}',
       `signsep` = '$signsep',
       `pagestyle` = '$pagestyle',
       `pollstyle` = '$pollstyle'
diff --git a/edituser.php b/edituser.php
index 8363fd2..505446c 100644
--- a/edituser.php
+++ b/edituser.php
@@ -76,7 +76,7 @@
 	}
 	$rsetlist="";
 
-	if(!$_POST[action] and $log){
+	if(!$_POST['action'] and $log){
    $lft="$tccell1>";
    $rgt=":$tccell2l>";
    $hlft="$tccellh>";
@@ -107,7 +107,7 @@
 				$lft User name		$rgt$inpt=username VALUE=\"$user[name]\" SIZE=25 MAXLENGTH=25 autocomplete=\"off\">
 				$lft Also known as		$rgt$inpt=aka VALUE=\"$user[aka]\" SIZE=25 MAXLENGTH=25 autocomplete=\"off\">
 
-				
 				
@@ -130,15 +130,16 @@
 				$lft User picture		$rgt$inpt=picture VALUE=\"$user[picture]\" SIZE=60 MAXLENGTH=100>
 				$lft Mood avatar		$rgt$inpt=moodurl VALUE=\"$user[moodurl]\" SIZE=60 MAXLENGTH=100>
 				$lft Post background	$rgt$inpt=postbg VALUE=\"$user[postbg]\" SIZE=60 MAXLENGTH=100>
-				$lft Post header		$rgt$txta=postheader ROWS=5 COLS=60>". htmlspecialchars($user[postheader]) ."
-				$lft Signature		$rgt$txta=signature ROWS=5 COLS=60>". htmlspecialchars($user[signature]) ."
+				$lft Post header		$rgt$txta=postheader ROWS=5 COLS=60>". htmlspecialchars($user['postheader']) ."
+				$lft Signature		$rgt$txta=signature ROWS=5 COLS=60>". htmlspecialchars($user['signature']) ."
 
 				$hlft Personal information $hrgt
 				$lft Sex			$rgt$sexlist
+				$lft Pronouns		$rgt$inpt=pronouns VALUE=\"$user[pronouns]\" SIZE=40 MAXLENGTH=50>
 				$lft Real name		$rgt$inpt=realname VALUE=\"$user[realname]\" SIZE=40 MAXLENGTH=60>
 				$lft Location		$rgt$inpt=location VALUE=\"$user[location]\" SIZE=40 MAXLENGTH=60>
 				$lft Birthday		$rgt Month: $inpt=bmonth SIZE=2 MAXLENGTH=2 VALUE=$month> Day: $inpt=bday SIZE=2 MAXLENGTH=2 VALUE=$day> Year: $inpt=byear SIZE=4 MAXLENGTH=4 VALUE=$year>
-				$lft Bio			$rgt$txta=bio ROWS=5 COLS=60>". htmlspecialchars($user[bio]) ."
+				$lft Bio			$rgt$txta=bio ROWS=5 COLS=60>". htmlspecialchars($user['bio']) ."
 
 				$hlft Online services	$hrgt
 				$lft Email address    $rgt $inpt=email VALUE=\"$user[email]\" SIZE=60 MAXLENGTH=60>
@@ -184,7 +185,7 @@
 		if ($password) {
 			$passedit="`password` = '".getpwhash($password, $userid)."', ";
 		}
-		
+
 		if ($sex == -378) {
 			$sex = $sexn;
 		}
@@ -229,6 +230,7 @@
 	 "`moodurl` = '$moodurl',
 		`profile_locked` = '$profile_locked',
 		`editing_locked` = '$editing_locked',
+		`pronouns` = '$pronouns',
 		`titleoption` = '$titleoption'
 	WHERE `id` = '$userid'") or print mysql_error();
 
@@ -236,8 +238,8 @@
 	$tblstart
 	 $tccell1>Thank you, $loguser[name], for editing this user.
".redirect("profile.php?id=$userid","view $username's profile",0)." - $tblend"; + $tblend"; } print $footer; printtimedif($startingtime); -?> \ No newline at end of file +?> diff --git a/faq.php b/faq.php index d9721a8..774fee0 100644 --- a/faq.php +++ b/faq.php @@ -11,71 +11,272 @@ print "$header
$tblstart $tccellh>FAQ and Rules - $tccell1l>Generally, this forum is for a small group of people that know each other well. You should probably think twice about registering if you don't know who the regulars are already. + $tccell1l>Generally, this forum is for a small group of people that know each other well. You should probably think twice about registering if you don't know who the regulars are already. $tblend"; - + } else { - $faq .= faqformat("darules", "The Rules", " - Our rules are really really simple, if you take the time to learn them. And you should! -
    -
  1. Don't be a dick. If you don't have something constructive to say, don't say it! This is the big one. -
  2. This forum's official language is English. You're welcome to use other languages (if you at least post a machine translation), though. 'IM' or 'l33t' speak (such as 'u r dum lolol') isn't tolerated. -
  3. Be careful about bumping old threads. You should only do so if you're contributing something major and new to the topic, doubly so for general discussions. If it's a hack thread, it's usually OK. -
  4. Be careful when double posting. Replying within minutes asking if anybody has read your post is a terrible idea. Double posting after a day or two with something new or updated is fine, though. -
  5. Let the staff handle things. Don't try to do our jobs for us — we'll handle problem users. -
  6. Don't post NSFW content without tagging it! Not doing so is an instant ban. In general: Think before you link. -
  7. The staff have the final say in everything. If we tell you to do something, do it. No exceptions. -
- And some rules that are mostly specific to the ROM Hacking fora but still a good idea to follow everywhere else: -
    -
  1. Read the stickies. They're there for a reason.
  2. -
  3. No ROM links/ROM requests! If you need to upload a hack, use a patch; either IPS, UPS, or any of the other formats.
  4. -
  5. Keep things in their forum. Help/Suggestions is not for your hack!
  6. -
-
As for the punishments: -
    -
  1. A warning. -
  2. A short ban to drive the point home. -
  3. Permanent ban. -
-
These punishments are a guideline and may be disregarded entirely for particularly egregious screwups. + + $faq .= faqformat("aboot", "About Jul, the community", " + Jul itself is a community made up of people who predominantly like to just hang around friendlies and talk about whatever, though we also like games and occasionally anime/other things.
-
We're often pretty relaxed, but constantly breaking the rules will get you banned fast. +
It is a community that has gone on for over 10 years, founded early July 2007. It is based off of another (defunct) community that started in early 2001.
-
If you have any questions, feel free to ask one of the admins for help. - +
While we're an old group, we always welcome new folks. Feel free to drop in and say hello. "); - - $faq .= faqformat("aboot", "About Jul", " - Jul itself is a community made up of people who predominantly like to just hang around friendlies and talk about whatever, though we also like games and occasionally anime/other things. + $faq .= faqformat("aboot", "About the forum", " + This forum is based off of 2001-era custom software, and is pretty different from most other forums on the internet. There are no push notifications, no e-mail reminders, no 'we miss you' nags, no popups, no ads, no apps, and no tracking. What you see is exactly what you get. +
+
That being said, here is a quote from a different site that explains us well: +
I think it is important in this moment to restate that [this site] is an independently owned and operated website; it is intended as a long term, not-for-profit informational and historical resource; we are dedicated to treating all people with respect; it will never be sunsetted or deprecated or paywalled; and we do not vacuum up your personal information, much less profit from it. If you despair for the future of the Internet, consider that [this site], and thousands of small websites just like it, continue to exist and thrive in the spirit of discovery and camaraderie in which the Internet was first conceived.
"); $faq .= faqformat("newbies", "I'm new here. Where should I start?", " Always, by reading the rules... but since you're here, it's probably a safe bet that you've already done that. (If you haven't, now is a great time.)
-
Once you've done that, sign up for an account (or log in if you've already made one). It's simple and very easy to do. After you're registered, you're more than welcome to just jump in and say hi. We're friendly people and won't bite (usually). Let us know about yourself, how you found us, or whatever's on your mind — or just jump in and start contributing to discussions. +
Once you've done that, sign up for an account (or log in if you've already made one). It's simple and very easy to do. After you're registered, you're more than welcome to just jump in and say hi by posting in the Introductions thread, or even making your own. We're friendly people and won't bite (usually). Let us know about yourself, how you found us, or whatever's on your mind — or just jump in and start contributing to discussions. "); -/* - $faq .= faqformat("n00b", "I have this n00b sticker on my post. What's up with that?", " - The n00b sticker is our way of telling you that your post was pretty awful. Usually it's for one of the following reasons: + $faq .= faqformat("darules", "The Rules", " + Our rules are really really simple:
    -
  1. Complete disregard for our rules. If you show that you really can't even be bothered to read the small number of rules we have here, you're going to wear your welcome out very fast.
  2. -
  3. Flagrant lack of basic knowledge. For example, if there's a sticky saying 'don't make a new thread for this' and you make a new thread for it, that's a big sign that you don't read the rules.
  4. -
  5. Using dumb memes or bandwagoning. Everybody loves a laugh every now and then. Nobody loves it being rammed down their throat every five seconds.
  6. -
  7. Terrible spelling or grammar. This is beyond the occasional misspelling (even the best of us make mistakes), but if you make a post loaded with \"Your a looser\", well...
  8. -
  9. Your post is just mind-bogglingly terrible or groan-worthy.
  10. +
  11. Don't be a jerk. If you don't have something constructive to say, don't say it! +
  12. No slurs, hate speech, or homo-/trans-phobia. If you can't respect your fellow posters, you aren't welcome here. +
  13. Post legibly. Keep it readable — you don't have to be perfect, but be understandable and don't post like this is an AOL chatroom. +
  14. Don't spam. Posting over and over without adding to a conversation is annoying. +
  15. Don't get in fights. If you're having trouble with another user, contact an administrator. +
  16. No illegal content. Don't post stuff that would get you (or us) in legal trouble.
- The n00b sticker is something of a mark of shame. Usually it's an early warning indicator before we start taking issues with your actions on a broader scale, so if you see them, you should probably shape up. Note, however, that they can just as similarly be used as a joke. + However, the admins have the final say in everything! We can ban you for any reason, or no reason at all.
-
Remember: The fastest way to get yourself stamped is to make a big deal out of it. +
Breaking the rules will resort in whatever punishment we feel is worthy, from giving you a warning to banning you forever. Posting here is NOT a right. +
+
If you have any questions, feel free to ask one of the admins for help. "); -*/ + + $faq .= faqformat("layoutlowdown", "What are post layouts?", " + Post layouts are like signatures on other forums, but on steroids. Rather than just some text, an image, and maybe a link, post layouts allow you to style your entire post! You too can turn your wonderful contributions into a GeoCities™-esque abomination. +
+
You can customize your layout with fun facts about your statistics by using &tags&, outlined below. +
+
You can enable or disable others' post layouts in your profile settings. +
+
If you make a post layout that interferes with the board's interface, is particularly annoying, is hard-to-read, or is just awful, it will be removed. If you continue to do this, your ability to use them will be revoked. Malfunctioning layouts (due to broken images or CSS) may also be removed. + "); + + $faq .= faqformat("tags", "What are &tags&?", " + These are variables that can be used in your post header or signature. Once you post, they'll get replaced with a value depending on the tag used. +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TagDescription
/meYour username (must have a space after it), like IRC.
&date&The current date
&numdays&Number of days since you registered
&numposts&How many posts you've made
&rank&Current rank, according to your amount of posts
&postrank&Your 'ranking', by post count, among all members
&5000&Posts left until you have 5,000
&10000&Posts left until you have 10,000
&20000&Posts left until you have 20,000
&30000&Posts left until you have 30,000
&level&Your current level.
&exp&Your current EXP.
&expgain&How much EXP you gain per post.
&expgaintime&How many seconds it takes to get 1 EXP naturally.
&expdone&How much EXP you've done in your current level.
&expdone1k&The above, divided by 1,000.
&expdone10k&The above, divided by 10,000.
&expnext&How much EXP you have left until the next level.
&expnext1k&The above, divided by 1,000.
&expnext10k&The above, divided by 10,000.
&exppct&How much EXP you've done in your current level, in percent.
&exppct2&How much EXP you have left in your current level, in percent.
&lvlexp&Cumulative EXP for your next level.
&lvllen&EXP needed to go through your current level.
+ For an explanation of how the Level and EXP tags work, hover over the highlighted parts below. (The percentages are useful when creating 'EXP bars', as you can use them as a width value.) +
+
Level 101040 EXP (20 per post, 1 EXP per 300 sec.) +
(Next level at 1200 in 160 EXP. (40/200 EXP) — 20% done, 80% left + "); + + $faq .= faqformat("bbcode", "What is BBcode?", doreplace2(" + BBcode is a simple syntax which you can use on your posts to format the text or add images and videos. Below is a list of the supported tags: +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BBcode + Result +
[b]Bolded text.[/b][b]Bolded text.[/b]
[i]Italicized text.[/i][i]Italicized text.[/i]
[u]Underlined text.[/u][u]Underlined text.[/u]
[s]Strikethrough text.[/s][s]Strikethrough text.[/s]
[abbr=Basic Input/Output System]BIOS[/abbr][abbr=Basic Input/Output System]BIOS[/abbr]
[sp=terrible]Great[/sp] software.[sp=terrible]Great[/sp] software.
[url]http://example.com/[/url][url]http://example.com/[/url]
[url=http://example.com/]Link text here.[/url][url=http://example.com/]Link text here.[/url]
[img]https://jul.rustedlogic.net/images/smilies/toot.png[/img][img]https://jul.rustedlogic.net/images/smilies/toot.png[/img]
[red]Red color.[/color][red]Red color.[/color]
[green]Green color.[/color][green]Green color.[/color]
[blue]Blue color.[/color][blue]Blue color.[/color]
[orange]Orange color.[/color][orange]Orange color.[/color]
[yellow]Yellow color.[/color][yellow]Yellow color.[/color]
[pink]Pink color.[/color][pink]Pink color.[/color]
[white]White color.[/color][white]White color.[/color]
[black]Black color.[/color] (bad idea)[black]Black color.[/color]
[quote=user]Quoted text.[/quote][quote=user]Quoted text.[/quote]
[code]Sample <b>code</b>.[/code][code]Sample code.[/code]
[spoiler]Spoiler text.[/spoiler][spoiler]Spoiler text.[/spoiler]
[spoileri]Spoiler text.[/spoileri][spoileri]Spoiler text.[/spoileri]
[youtube]BrQn-O_zFRc[/youtube] (video ID)A YouTube embed.
+ ")); $faq .= faqformat("halp", "I've got a question and I need some help, or I found a bug somewhere.", " Post it in the forum here, or alternatively just message the main administrator. If it's a security bug in the code, we really recommend the latter. @@ -87,30 +288,17 @@
On the other hand, if it's permanent, you can always try to show us you've changed and request a second chance... but any further antics after that will usually get your account deleted. "); - $faq .= faqformat("cantpass", "I've lost/forgotten my password. Now what?", " - The best thing you can do is to contact Xkeeper directly. He can help you get it fixed. + $faq .= faqformat("cantpass", "I've lost/forgotten my password.", " + The best thing you can do is to contact Xkeeper directly. They can help you get it reset. You'll need whatever information you have about your account, including your current IP address, the e-mail you added to your profile (if any), and any other information that can help confirm your identity. "); - $faq .= faqformat("frosteddonut", "I want to throw money at you guys. How do I do that?", " - Really? How generous. + $faq .= faqformat("leganese", "Legal Crap / Privacy Policy / et cetera", " + The site does not own, and cannot be held responsible for, statements made by members on the forum. This site is offered as-is to the user. Any statements made on the board may be altered or removed at the discretion of the staff.
-
Donations with this button go straight to the hosting bill, and we can't withdraw them, so you don't have to worry about us secretly buying drugs or other fancy stuff with your money. +
We do not automatically collect or store personal information, with the exception of IP addresses used when registering, logging in, and posting. Unlike pretty much every other site on the internet, we do not use cookies with the sole exception of authenticating a user should they wish to sign in. That means we don't have to show you a cookie popup. Nice, huh? Pretty rare these days.
-
However, there is a slight fee involved, so suffice it to say it's often better to donate $20 at once intead of ten $2 donations. -
-
\"Donate -
-
Thanks in advance. -
-
At some point we plan on getting a 'donor star' for those who paid our bills... other than that, there isn't really any other benefit than a warm, fuzzy feeling. - "); - - - $faq .= faqformat("leganese", "Legal Crap", " - The site does not own and cannot be held responsible for statements made by members on the forum. This site is offered as-is to the user. Any statements made on the board may be altered or removed at the discretion of the staff. -
-
We do not sell member information like e-mail addresses or passwords to any third party. Data entered into user profiles is completely optional and may be left out at the user's discretion; however, doing so may complicate matters such as account recovery. +
All information on this site, excepting username, password, and IP address, is optional, and is provided by the user. If you do not want your information on this site, don't submit it. "); @@ -123,75 +311,11 @@ $topiclist $tblend - + $faq "; - -/* - print "
- $tblstart - $tccell1l> - What is this forum all about? -
Gaming, the internet in general, emulation, and rarely, ROM hacking. Though SM64 hacking is rather popular, considering. -
- -
Okay, I'm new here. Where should I start? -
First off, read the rules before. They're not that long, and not that hard to follow; it'll make your life here a lot easier. -
Next, feel free to drop by and say hello. Tell us about yourself, how you found out about us, or anything -- or just jump in and start posting. -
It's up to you. -
- - -
What about the rules? -
Honestly, we follow Sonic Retro's ruleset pretty closely, so read up there. Some things aren't relevant to here, though. -
The gist of it: -
    -
  1. Don't try talking in anything other than well-written English. If you are posting in another language, include an English translation, even if by machine. 'lulz-speak' is not tolerated here. -
  2. Don't be a dick. Nobody likes dicks. This includes posting just to complain about something forum-related, especially temporary. -
  3. Don't bump old (more than a month or two) threads without a decent reason. -
  4. Don't post blank, repeated, or completely off-topic replies. -
  5. Don't backseat mod. We're the staff, you aren't. -
  6. NSFW content must be linked and tagged as such. Not doing so is an instant permanent ban. (It's best to just not post it) -
  7. Admins are the final rules. If we tell you to do something, do it. No exceptions. -
As for the punishments: -
    -
  1. Subtle warning. -
  2. More obvious warning, usually via PM. -
  3. Ban. -
We're pretty leinient, but we have limits. -
- - -
Something isn't working right. -
Great, let us know. We love fixing bugs. -
- -
I've been banned! -
You probably did something against the rules and pissed off the staff. Check your title, it usually includes information as to why. -
- -
No, I want to be unbanned! -
Great. First of all, let us know. If you can prove that you've learned your lesson, we'll give you another chance. -
If you decide to evade your ban by reregistering, we will IP ban you and you will be prohibited from viewing this site, even via proxies. If you're stupid enough to try requesting unbanning again, well... -
- -
I'm g0nn4 h4x0rz ur 4um -
Sure you are. We've dealt with little script kiddies like you, and we know pretty much how you work. You might find one exploit somewhere, but we take daily backups and are sure to patch up the holes as soon as we find them. -
- -
I have a question that you didn't answer (enough). -
Let us know. -
- -
General Disclaimer (i.e., Legal Crap) -
The site does not own and cannot be held responsible for statements made by members on the forum. This site is offered as-is to the user. Any statements made on the board may be altered or removed at the discretion of the staff. -
We do not sell member information like e-mail addresses or passwords to any third party. Data entered into user profiles is completely optional and may be left out at the user's discretion; however, doing so may complicate matters such as account recovery. - - $tblend - "; -*/ } print " @@ -207,17 +331,17 @@ function faqformat($a, $title, $content) { global $tblstart, $tccellh, $tccell1l, $tblend, $topiclist; - + $topiclist .= "\n\t\t
  • $title
  • "; return "

    $tblstart $tccellh>
    [^]
    $title - $tccell1l style='padding: 4px;'>$content + $tccell1l style='padding: 4px;'>$content $tblend "; } -?> \ No newline at end of file +?> diff --git a/lib/colors.php b/lib/colors.php index b2e6f32..bc0c849 100644 --- a/lib/colors.php +++ b/lib/colors.php @@ -24,9 +24,9 @@ $linkcolor4='FFFFFF'; $textcolor='E0E0E0'; - $font ='verdana'; - $font2 ='verdana'; - $font3 ='tahoma'; + $font ='Verdana, sans-serif'; + $font2 ='Verdana, sans-serif'; + $font3 ='Tahoma, sans-serif'; $newpollpic = 'New poll'; $newreplypic = 'New reply'; @@ -97,7 +97,7 @@ $newpic = $statusicons['new']; # hack for compat - if ($loguser['powerlevel'] < 3) { + if ($loguser['powerlevel'] <= 0) { $nmcol[0][1] = $nmcol[0][0]; $nmcol[1][1] = $nmcol[1][0]; $nmcol[2][1] = $nmcol[2][0]; diff --git a/lib/function.php b/lib/function.php index 3e83081..7f0daf3 100644 --- a/lib/function.php +++ b/lib/function.php @@ -198,7 +198,7 @@ if($banned) $power=0; $specialscheme = ""; - $smallbrowsers = array("Nintendo DS", "Android", "PSP", "Windows CE"); + $smallbrowsers = array("Nintendo DS", "Android", "PSP", "Windows CE", "iPhone", "Mobile"); if ( (str_replace($smallbrowsers, "", $_SERVER['HTTP_USER_AGENT']) != $_SERVER['HTTP_USER_AGENT']) || filter_int($_GET['mobile']) == 1) { $loguser['layout'] = 2; $loguser['viewsig'] = 0; @@ -329,7 +329,7 @@ function timeunits($sec){ if($sec<86400) return floor($sec/3600).' hours'; if($sec<172800) return '1 day'; if($sec<31556926) return floor($sec/86400).' days'; - return sprintf("%.1f years", floor($sec/31556926)); + return sprintf("%.1f years", $sec/31556926); } function timeunits2($sec){ @@ -486,7 +486,8 @@ function escape_codeblock($text) { $list2 = array("", "", "<", "\"", "\\", "\'", "[", ":", ")", "_"); // @TODO why not just use htmlspecialchars() or htmlentities() - return "[quote]". str_replace($list, $list2, $text[0]) ."[/quote]"; + //return "

    ". str_replace($list, $list2, $text[0]) ."

    "; + return "

    ". str_replace($list, $list2, $text[0]) ."

    "; } function doreplace2($msg, $options='0|0'){ @@ -529,11 +530,13 @@ function doreplace2($msg, $options='0|0'){ $msg=str_replace('[/quote]','
    ',$msg); $msg=preg_replace("'\[sp=(.*?)\](.*?)\[/sp\]'si", '\\2', $msg); $msg=preg_replace("'\[abbr=(.*?)\](.*?)\[/abbr\]'si", '\\2', $msg); - $msg=str_replace('[spoiler]','
    Spoiler:
    ',$msg); - $msg=str_replace('[/spoiler]','
    ',$msg); + $msg=str_replace('[spoiler]','',$msg); + $msg=str_replace('[spoileri]','',$msg); $msg=preg_replace("'\[(b|i|u|s)\]'si",'<\\1>',$msg); $msg=preg_replace("'\[/(b|i|u|s)\]'si",'',$msg); - $msg=preg_replace("'\[img\](.*?)\[/img\]'si", '', $msg); + $msg=preg_replace("'\[img\](.*?)\[/img\]'si", '', $msg); $msg=preg_replace("'\[url\](.*?)\[/url\]'si", '\\1', $msg); $msg=preg_replace("'\[url=(.*?)\](.*?)\[/url\]'si", '\\2', $msg); $msg=str_replace('http://nightkev.110mb.com/justus_layout.css','about:blank',$msg); @@ -1263,7 +1266,7 @@ function xss_clean($data) { #$data = preg_replace('#(<[^>]+?[\x00-\x20"\'])(?:on|xmlns)[^>]*+>#iu', '$1>', $data); do { $old_data = $data; - $data = preg_replace('#(<[^>]+?[\x00-\x20"\'])(on|xmlns)([^>]*+)>#iu', '$1DISABLED_$2$3>', $data); + $data = preg_replace('#(<[A-Za-z][^>]*?[\x00-\x20"\'])(on|xmlns)([^>]*+)>#iu', '$1DISABLED_$2$3>', $data); } while ($old_data !== $data); // Remove javascript: and vbscript: protocols diff --git a/lib/layout.php b/lib/layout.php index 97e81ac..3df0352 100644 --- a/lib/layout.php +++ b/lib/layout.php @@ -93,16 +93,10 @@ a:active { color: #$linkcolor3; } a:hover { color: #$linkcolor4; } body { - scrollbar-face-color: #$scr3; - scrollbar-track-color: #$scr7; - scrollbar-arrow-color: #$scr6; - scrollbar-highlight-color: #$scr2; - scrollbar-3dlight-color: #$scr1; - scrollbar-shadow-color: #$scr4; - scrollbar-darkshadow-color: #$scr5; color: #$textcolor; font:13px $font; background: #$bgcolor$bgimage; + } div.lastpost { font: 10px $font2 !important; white-space: nowrap; } div.lastpost:first-line { font: 13px $font !important; } @@ -120,7 +114,75 @@ border-left: #$tableborder 1px solid;} td.tbl {border-right: #$tableborder 1px solid; border-bottom: #$tableborder 1px solid} - "; + "; + + if ( + isset($scr1) + && isset($scr2) + && isset($scr3) + && isset($scr4) + && isset($scr5) + && isset($scr6) + && isset($scr7) + ) { + $css .= " + /* IE/Webkit/Chrome/etc. custom scrollbars. Remember these? */ + body { + scrollbar-face-color: #$scr3; + scrollbar-track-color: #$scr7; + scrollbar-arrow-color: #$scr6; + scrollbar-highlight-color: #$scr2; + scrollbar-3dlight-color: #$scr1; + scrollbar-shadow-color: #$scr4; + scrollbar-darkshadow-color: #$scr5; + } + + ::-webkit-scrollbar, ::-webkit-scrollbar-button { + width: 1.25em; + height: 1.25em; + } + ::-webkit-scrollbar-track { + background-color: #$scr7; + } + ::-webkit-scrollbar-track-piece { + + } + ::-webkit-scrollbar-thumb, ::-webkit-scrollbar-button { + background-color: #$scr3; + background-size: contain; + background-repeat: no-repeat; + background-position: center; + border: 2px solid; + color: #$scr6; + border-color: #$scr1 #$scr4 #$scr5 #$scr2; + } + + ::-webkit-scrollbar-thumb:active, ::-webkit-scrollbar-button:active { + background-color: #$scr4; + border-color: #$scr5 #$scr2 #$scr1 #$scr5; + } + + ::-webkit-scrollbar-button:vertical:decrement { + background-image: url(\"data:image/svg+xml;utf8,\"); + + } + ::-webkit-scrollbar-button:vertical:increment { + background-image: url(\"data:image/svg+xml;utf8,\"); + } + + ::-webkit-scrollbar-button:horizontal:decrement { + background-image: url(\"data:image/svg+xml;utf8,\"); + + } + ::-webkit-scrollbar-button:horizontal:increment { + background-image: url(\"data:image/svg+xml;utf8,\"); + } + + ::-webkit-scrollbar-corner { + background: #$scr7; + } + "; + } } $numcols=(filter_int($numcols) ? $numcols : 60); @@ -340,7 +402,7 @@ $metatag = ''; - if (filter_bool($meta['noindex'])) + if (true || filter_bool($meta['noindex'])) $metatag .= ""; if (isset($meta['description'])) @@ -367,7 +429,7 @@ Views: $dispviews
    $headlinks2
    ". date($dateformat,ctime()+$tzoff) ."
    " - : "
    $dispviews views, ". date($dateformat,ctime()+$tzoff) ." + : "
    $dispviews views, ". date($dateformat,ctime()+$tzoff) ."
    (mobile view enabled) $headlinks2") ." $race diff --git a/lib/threadpost.php b/lib/threadpost.php index ea98cfb..c94653d 100644 --- a/lib/threadpost.php +++ b/lib/threadpost.php @@ -15,7 +15,8 @@ $set['userlink'] = "{$userlink}"; $set['date'] = date($dateformat,$post['date']+$tzoff); - if($post['location']) { $set['location']="
    From: {$post['location']}"; } + if($post['location']) { $set['location']="From: ". htmlspecialchars($post['location']); } + if($post['pronouns']) { $set['pronouns']="Pronouns: ". htmlspecialchars($post['pronouns']); } if($post['picture'] || ($post['moodid'] && $post['moodurl'])){ $post['picture'] = str_replace('>','%3E',$post['picture']); diff --git a/memberlist.php b/memberlist.php index 2da5c97..9be8213 100644 --- a/memberlist.php +++ b/memberlist.php @@ -28,7 +28,7 @@ if($pow!='') { $pow = intval($pow); - if (($pow == 1 || $pow == 0) && $loguser['powerlevel'] < 3) + if (($pow == 1 || $pow == 0) && $loguser['powerlevel'] <= 0) $pow = "IN (0, 1)"; elseif ($pow == 3 || $pow == 4) // merge admin + sysadmin (they appear the same) $pow = "IN (3, 4)"; @@ -42,12 +42,13 @@ $where = 'WHERE '.((empty($qwhere)) ? '1' : implode(' AND ', $qwhere)); - if (!in_array($sort, array('name','reg','exp','age','posts'))) + if (!in_array($sort, array('name','reg','exp','age','posts', 'act'))) $sort = 'posts'; - $query='SELECT id,posts,regdate,name,minipic,sex,powerlevel,aka,r.* FROM users LEFT JOIN users_rpg r ON id=uid '; + $query='SELECT id,posts,regdate,lastactivity,name,minipic,sex,powerlevel,aka,r.* FROM users LEFT JOIN users_rpg r ON id=uid '; if($sort=='name') $users1=$sql->query("$query$where ORDER BY name", MYSQL_ASSOC); if($sort=='reg') $users1=$sql->query("$query$where ORDER BY regdate DESC", MYSQL_ASSOC); + if($sort=='act') $users1=$sql->query("$query$where ORDER BY lastactivity DESC", MYSQL_ASSOC); if($sort=='exp') $users1=$sql->query("$query$where", MYSQL_ASSOC); if($sort=='age') $users1=$sql->query("$query$where AND birthday ORDER BY birthday", MYSQL_ASSOC); if($sort=='posts') $users1=$sql->query("$query$where ORDER BY posts DESC", MYSQL_ASSOC); @@ -80,6 +81,7 @@ $lnk=exp$q$qpow$qsex>EXP | $lnk=name$q$qpow$qsex>User name | $lnk=reg$q$qpow$qsex>Registration date | + $lnk=act$q$qpow$qsex>Last activity | $lnk=age$q$qpow$qsex>Age $tccell1s> Sex: @@ -93,7 +95,7 @@ $tccell2s> $lnk=$sort$q$qsex&pow=-1>Banned | $lnk=$sort$q$qsex&pow=0>Normal | - ". ($loguser['powerlevel'] >= 3 ? "$lnk=$sort$q$qsex&pow=1>Normal + | " : "") ." + ". ($loguser['powerlevel'] >= 1 ? "$lnk=$sort$q$qsex&pow=1>Normal + | " : "") ." $lnk=$sort$q$qsex&pow=2>Moderator | $lnk=$sort$q$qsex&pow=3>Administrator | $lnk=$sort$q$qsex>All @@ -107,6 +109,7 @@ if(!$rpg) { print " $tccellh width=200>Registered on + $tccellh width=200>Last active $tccellh width=60>Posts $tccellh width=35>Level $tccellh width=100>EXP @@ -137,17 +140,18 @@ $userlink = getuserlink($user); $ulist.=" - $tccell2>".($i+1).". + $tccell2>".($i+1)." $tccell1l>{$userpicture} $tccell2l>{$userlink} "; if(!$rpg){ $ulist.=" - $tccell2>".date($dateformat,$user['regdate']+$tzoff)." - $tccell1>{$user['posts']} - $tccell1>{$user['lvl']} - $tccell1>{$user['exp']} + $tccell2>".date($dateformat,$user['regdate']+$tzoff)." + $tccell2>".date($dateformat,$user['lastactivity']+$tzoff)." + $tccell1r>{$user['posts']} + $tccell1r>{$user['lvl']} + $tccell1r>{$user['exp']} "; } else { @@ -165,4 +169,4 @@ } print "$ulist$tblend$pagelinks$footer"; - printtimedif($startingtime); \ No newline at end of file + printtimedif($startingtime); diff --git a/newthread.php b/newthread.php index 74156b4..c275a76 100644 --- a/newthread.php +++ b/newthread.php @@ -68,8 +68,6 @@
    $radio=iconid value=-1 $checked> None      Custom: $inpt=custposticon SIZE=40 MAXLENGTH=100 VALUE=\"". stripslashes($custposticon) ."\"> "; - $subject=htmlspecialchars($subject); - $question=htmlspecialchars($question); if ($nosmilies) $nosmilieschk = " checked"; if ($nohtml) $nohtmlchk = " checked"; @@ -94,13 +92,13 @@ ":" $tccell1>Poll icon: $tccell2l colspan=2>$posticonlist - $tccell1>Poll title: $tccell2l colspan=2>$inpt=subject SIZE=40 MAXLENGTH=100 VALUE=\"". stripslashes($subject) ."\"> - $tccell1>Question: $tccell2l colspan=2>$inpt=question SIZE=60 MAXLENGTH=255 VALUE=\"". stripslashes($question) ."\"> - $tccell1>Briefing: $tccell2l colspan=2>$txta=briefing ROWS=2 COLS=$numcols style=\"resize:vertical;\">". stripslashes($briefing) ." + $tccell1>Poll title: $tccell2l colspan=2>$inpt=subject SIZE=40 MAXLENGTH=100 VALUE=\"". htmlspecialchars(stripslashes($subject)) ."\"> + $tccell1>Question: $tccell2l colspan=2>$inpt=question SIZE=60 MAXLENGTH=255 VALUE=\"". htmlspecialchars(stripslashes($question)) ."\"> + $tccell1>Briefing: $tccell2l colspan=2>$txta=briefing ROWS=2 COLS=$numcols style=\"resize:vertical;\">". htmlspecialchars(stripslashes($briefing)) ." $tccell1>Multi-voting:$tccell2l colspan=2>$radio=mltvote value=0 $checked0> Disabled   $radio=mltvote value=1 $checked1> Enabled $tccell1>Choices: $tccell2l colspan=2>$choices $tccell1>Post:$tccell2l width=800px valign=top>".replytoolbar(2)." - $txta=message ROWS=21 COLS=$numcols style=\"width: 100%; max-width: 800px; resize:vertical;\">". stripslashes(htmlspecialchars($message)) ." + $txta=message ROWS=21 COLS=$numcols style=\"width: 100%; max-width: 800px; resize:vertical;\">". htmlspecialchars(stripslashes($message)) ." $tccell2l width=*>".moodlist($moodid)." @@ -275,16 +273,17 @@ "; } $mlt=($mltvote?'enabled':'disabled'); + $subject = htmlspecialchars(stripslashes($subject)); + $question = htmlspecialchars(stripslashes($question)); + $briefing = htmlspecialchars(stripslashes($briefing)); + $pollpreview=" - $question - $tccell2ls colspan=3>$briefing + ". $question ." + $tccell2ls colspan=3>". $briefing ." $pchoices $tccell2ls colspan=3>Multi-voting is $mlt. $tblend
    $tblstart "; - $subject = htmlspecialchars(stripslashes($subject)); - $question = htmlspecialchars(stripslashes($question)); - $briefing = htmlspecialchars(stripslashes($briefing)); } loadtlayout(); $ppost=$user; diff --git a/online.php b/online.php index 9f9a5f1..f157bb2 100644 --- a/online.php +++ b/online.php @@ -22,7 +22,7 @@ $time = filter_int($_GET['time']) ? $_GET['time'] : 300; // FOR THE LOVE OF GOD XKEEPER JUST GIVE ME ~NUKE ACCESS - $banorama = ($_SERVER['REMOTE_ADDR'] == $x_hacks['adminip'] || $loguser['id'] == 1 || $loguser['id'] == 5 || $loguser['id'] == 2100); + $banorama = ($loguser['id'] == 1 || $loguser['id'] == 2100); if ($banorama && filter_string($_GET['banip']) && filter_string($_GET['valid']) == md5($_GET['banip'] . "aglkdgslhkadgshlkgds")) { $sql->query("INSERT INTO `ipbans` SET `ip` = '". $_GET['banip'] ."', `reason`='online.php ban', `date` = '". ctime() ."', `banner` = '$loguserid'") or print mysql_error(); @@ -160,4 +160,4 @@ function urlformat($url) { return preg_replace("/^\/thread\.php\?pid=([0-9]+)$/", "/thread.php?pid=\\1#\\1", $url); - } \ No newline at end of file + } diff --git a/profile.php b/profile.php index 213dd0b..aa606c3 100644 --- a/profile.php +++ b/profile.php @@ -211,14 +211,15 @@ $tblend
    $tblstart $tccellh colspan=2>
    Personal information $tccell1l width=150>Real name $tccell2l>$user[realname]  + $tccell1l width=150>Pronouns $tccell2l>". htmlspecialchars($user['pronouns']) ."  $tccell1l width=150>Location $tccell2l>$user[location]  $tccell1l width=150>Birthday $tccell2l>$birthday $age  $tccell1l width=150>User bio $tccell2l>". dofilters(doreplace2(doreplace($user['bio'], $user['posts'], (ctime()-$user['regdate'])/86400, $user['name']))) ."  $tblend
    $tblstart $tccellh colspan=2>
    Sample post - ". threadpost($user, 1) ." $tblend + ". threadpost($user, 1) ."
    $tblstart $tccellhs colspan=2>
    Options $tccell2s colspan=2> diff --git a/robots.txt b/robots.txt deleted file mode 100644 index a534125..0000000 --- a/robots.txt +++ /dev/null @@ -1,4 +0,0 @@ -User-agent: * -Crawl-delay: 120 -Disallow: /calendar.php -Disallow: /board/calendar.php \ No newline at end of file diff --git a/schemes/kafuka.php b/schemes/kafuka.php index 3fed3b5..830fcae 100644 --- a/schemes/kafuka.php +++ b/schemes/kafuka.php @@ -4,7 +4,7 @@ $numdir='num2/'; $numfil='numkafuka'; $boardtitle=''; - $font='arial'; + $font='Arial, sans-serif'; $bgimage='images/firebg4.jpg'; $bgcolor='220000'; $newthreadpic=''; @@ -27,4 +27,4 @@ $scr5='550600'; $scr6='220300'; $scr7='110000'; -?> \ No newline at end of file +?> diff --git a/schemes/mariomovie.php b/schemes/mariomovie.php index 8d9d3eb..8dba027 100644 --- a/schemes/mariomovie.php +++ b/schemes/mariomovie.php @@ -6,8 +6,8 @@ $threadclosedpic='Thread closed'; $bgimage='images/mariomovie/zeroesbg3.png'; $bgcolor='101010'; - $font='courier new'; - $font2='tahoma'; + $font='\'Courier New\', monospace'; + $font2='Tahoma, sans-serif'; $textcolor='cccccc'; $linkcolor='eeeeee'; $linkcolor2='ffffff'; diff --git a/sendprivate.php b/sendprivate.php index 8a46a56..54d371d 100644 --- a/sendprivate.php +++ b/sendprivate.php @@ -57,7 +57,7 @@ $postlist=" $tccellh width=150>User $tccellh>Message - $tcellbg>$user[name]$smallfont
    + $tcellbg>$user[name]$smallfont
    Posts: $postnum$user[posts] $tcellbg>".doreplace2($msg[text])." "; @@ -166,4 +166,4 @@ } */ print $footer; printtimedif($startingtime); -?> \ No newline at end of file +?> diff --git a/showprivate.php b/showprivate.php index bcc96ec..8b1b7cf 100644 --- a/showprivate.php +++ b/showprivate.php @@ -50,6 +50,6 @@ if ($isadmin) $ip = (($quote) ? ' | ' : '') . "IP: $msg[ip]"; - print $header.$top.$tblstart.threadpost($post,1).$tblend.$top.$footer; + print $header.$top.threadpost($post,1).$top.$footer; printtimedif($startingtime); -?> \ No newline at end of file +?> diff --git a/stats-daily.php b/stats-daily.php new file mode 100644 index 0000000..4b37758 --- /dev/null +++ b/stats-daily.php @@ -0,0 +1,59 @@ +$tblstart + $tccellh>Information + $tccellc> +
    + Daily stats for the board. This page might take a while to fully display. +

    + + + $tblend +
    + $tblstart + $tccellh colspan=9>Daily stats + $tccellc>Date + $tccellc>Total users + $tccellc>Total posts + $tccellc>Total threads + $tccellc>Total views + $tccellc>New users + $tccellc>New posts + $tccellc>New threads + $tccellc>New views + "; + $users=0; + $posts=0; + $threads=0; + $views=0; + $stats=$sql->query("SELECT * FROM dailystats"); + $oldyear = ""; + while($day=$sql->fetch($stats)){ + $year = substr($day['date'], 6); + if ($year !== $oldyear) { + print " + $tccellh colspan=9>20$year"; + $oldyear = $year; + } + print " + $tccell1>$day[date] + $tccell2>". number_format($day['users']) ." + $tccell2>". number_format($day['posts']) ." + $tccell2>". number_format($day['threads']) ." + $tccell2>". number_format($day['views']) ." + $tccell2>". number_format($day['users']-$users)." + $tccell2>". number_format($day['posts']-$posts)." + $tccell2>". number_format($day['threads']-$threads)." + $tccell2>". number_format($day['views']-$views)." + "; + $users=$day['users']; + $posts=$day['posts']; + $threads=$day['threads']; + $views=$day['views']; + } + print $tblend.$footer; + printtimedif($startingtime); diff --git a/stats.php b/stats.php index 21d16cc..02b6947 100644 --- a/stats.php +++ b/stats.php @@ -31,7 +31,7 @@
  • Recently active posters
  • Daily poster rankings
  • Post milestones
  • -
  • Biggest posters
  • +
  • Biggest posters
  • Largest post layouts
  • Largest bios
  • Graph of your posting history (change the ID in the URL to see others)
  • @@ -39,6 +39,7 @@
  • Graph of total post count and posts per day
  • Graph of active users per day
  • Mood avatars
  • +
  • Daily board-wide statistics
  • @@ -82,42 +83,9 @@ .tblinfo('dailystats') .tblinfo('rendertimes') ."$tblend -
    - $tblstart - $tccellhs colspan=9>Daily stats - $tccellcs>Date - $tccellcs>Total users - $tccellcs>Total posts - $tccellcs>Total threads - $tccellcs>Total views - $tccellcs>New users - $tccellcs>New posts - $tccellcs>New threads - $tccellcs>New views - "; - $users=0; - $posts=0; - $threads=0; - $views=0; - $stats=$sql->query("SELECT * FROM dailystats"); - while($day=$sql->fetch($stats)){ - print " - $tccell1s>$day[date] - $tccell2s>$day[users] - $tccell2s>$day[posts] - $tccell2s>$day[threads] - $tccell2s>$day[views] - $tccell2s>".($day['users']-$users)." - $tccell2s>".($day['posts']-$posts)." - $tccell2s>".($day['threads']-$threads)." - $tccell2s>".($day['views']-$views)." - "; - $users=$day['users']; - $posts=$day['posts']; - $threads=$day['threads']; - $views=$day['views']; - } - print $tblend.$footer; +"; + + print $footer; printtimedif($startingtime); @@ -147,5 +115,3 @@ $tccell2l>".sp($t['Data_free'])." $tccell2l>".sp($t['Data_length']+$t['Index_length']).""; } - -?> diff --git a/thread.php b/thread.php index 24d3f13..d3ffee6 100644 --- a/thread.php +++ b/thread.php @@ -292,7 +292,7 @@ $link = ""; $choices .= " - $tccell1l width=20%>$dot$link".($pollc['choice'])." + $tccell1l width=20%>$dot$link".htmlspecialchars($pollc['choice'])." $tccell2l width=60%>$barpart $tccell1 width=20%>".($poll['doublevote'] ? "$pct% of users, $votes ($pct2%)" : "$pct%, $votes")." "; @@ -308,7 +308,7 @@ $polltbl = "$tblstart $tccellc colspan=3>".htmlspecialchars($poll['question'])." - $tccell2ls colspan=3>".nl2br(dofilters($poll['briefing']))." + $tccell2ls colspan=3>".nl2br(htmlspecialchars(dofilters($poll['briefing'])))." $choices $tccell2l colspan=3>$smallfont $polltext $tvotes_u user$s_have voted. $polledit $tblend
    @@ -369,7 +369,6 @@ preplayouts($posts); for ($i = 0; $post = $sql->fetch($posts); $i++) { - $postlist .= ''; $bg = $i % 2 + 1; diff --git a/tlayouts/regular.php b/tlayouts/regular.php index 4bf178f..80b4522 100644 --- a/tlayouts/regular.php +++ b/tlayouts/regular.php @@ -1,18 +1,18 @@ "; $exp = calcexp($post['posts'],(ctime()-$post['regdate']) / 86400); $lvl = calclvl($exp); $expleft = calcexpleft($exp); - + if ($tlayout == 1) { $level = "Level: $lvl"; $poststext = "Posts: "; @@ -21,11 +21,11 @@ $experience = "EXP: $exp
    For next: $expleft"; $totalwidth = 96; $barwidth = $totalwidth-round(@($expleft/totallvlexp($lvl))*$totalwidth); - + if ($barwidth < 1) $barwidth=0; - + if ($barwidth > 0) $baron=""; - + if ($barwidth < $totalwidth) $baroff="'; $bar="
    $baron$baroff'; @@ -37,32 +37,32 @@ $posttotal = ""; $totalwidth = 56; $barwidth = $totalwidth-round(@($expleft/totallvlexp($lvl))*$totalwidth); - + if($barwidth<1) $barwidth=0; - + if($barwidth>0) $baron=""; - + if($barwidth<$totalwidth) $baroff="'; $bar="
    $baron$baroff'; } - + if(!$post['num']){ $postnum = ''; - + if($postlayout==1) $posttotal=""; } - + $reinf=syndrome(filter_int($post['act'])); - + if ($post['lastposttime']) { $sincelastpost = 'Since last post: '.timeunits(ctime()-$post['lastposttime']); } $lastactivity = 'Last activity: '.timeunits(ctime()-$post['lastactivity']); $since = 'Since: '.@date($dateshort,$post['regdate']+$tzoff); $postdate = date($dateformat,$post['date']+$tzoff); - + $threadlink = ""; if (filter_string($set['threadlink'])) { $threadlink = ", in $set[threadlink]"; @@ -75,17 +75,17 @@ $sidebars = array(1, 3, 19, 89, 387, 45, 92, 47); - $sidebars = array(1, 19, 89, 387, 45, 92, 47, 1420, 1090, 2100, 2069); + $sidebars = array(19, 89, 387, 45, 92, 47, 1420, 1090, 2100, 2069); // Large block of user-specific hacks follows // - if ($post['uid'] == 1 && !$x_hacks['host'] && true) { + if (false && $post['uid'] == 1 && !$x_hacks['host'] && true) { global $numdir; $numdir_ = $numdir; $numdir = "num3/"; - + if ($post['num']) { $numtext = generatenumbergfx($post['num'], 1, true) ."
    ". generatenumbergfx($post['posts']); } else { @@ -93,7 +93,7 @@ } $numdir = $numdir_; - return " + return "
    $tblstart $set[tdbg] rowspan=2 style='padding: 5px 1px 5px 1px;'>
    $set[userlink]$smallfont
    @@ -110,7 +110,8 @@
    $quote$edit$ip $set[tdbg] height=220 id=\"post". $post['id'] ."\">$post[headtext]$post[text]$post[signtext] - $tblend"; + $tblend +
    "; } // Inu's sidebar @@ -208,7 +209,8 @@ $quote$edit$ip $set[tdbg]{$dstyle} height=220 id=\"post". $post['id'] ."\">$post[headtext]$post[text]$post[signtext] - $tblend"; + $tblend + "; } // End Inu's sidebar @@ -231,13 +233,14 @@ $quote$edit$ip $set[tdbg] style='background: #000;' height=220 id=\"post". $post['id'] ."\">$post[headtext]$post[text]$post[signtext] - $tblend"; + $tblend + "; } // Default layout if (!(in_array($post['uid'], $sidebars) && !$x_hacks['host']) || $loguser['viewsig'] == 0) { return " -
    +
    $tblstart $set[tdbg] rowspan=2> $set[userlink]$smallfont
    @@ -246,7 +249,11 @@ $set[userpic]
    ". (filter_bool($hacks['noposts']) ? "" : "$poststext$postnum$posttotal
    ") ." $experience

    - $since
    ".str_ireplace("<br>", "
    ", substr(htmlspecialchars($set['location']),10))."

    + $since
    + ". (isset($set['pronouns']) ? "
    ".$set['pronouns'] : "")." + ". (isset($set['location']) ? "
    ".$set['location'] : "")." +
    +
    $sincelastpost
    $lastactivity

    @@ -271,7 +278,7 @@ } //". str_replace('valign=top', 'valign=top', $set[tdbg]) ." - return " + return "
    — $set[userlink] — @@ -288,7 +295,7 @@ Posted on $postdate$threadlink$post[edited] $quote$edit$ip
    - $post[headtext]$post[text]$post[signtext]$tblend + $post[headtext]$post[text]$post[signtext]$tblend
    "; } elseif ($post['uid'] == "3" && !$x_hacks['host']) { $lastactivity = 'Active ' .timeunits(ctime()-$post[lastactivity]) .' ago'; @@ -298,7 +305,7 @@ $postnum = ''; $postss = "s:"; } - return "$tblstart + return "
    $tblstart ". str_replace('valign=top', 'valign=top', $set[tdbg]) ." rowspan=2 align=center style=\"background: #000; font-size: 12px; color: #f00; font-family: Verdana, sans-serif;\"> — $set[userlink] — $smallfont @@ -313,7 +320,7 @@ Posted on $postdate$threadlink$post[edited] $quote$edit$ip - $set[tdbg] style=\"padding: 0;\" id=\"post". $post['id'] ."\">$post[headtext]$post[text]$post[signtext]$tblend + $set[tdbg] style=\"padding: 0;\" id=\"post". $post['id'] ."\">$post[headtext]$post[text]$post[signtext]$tblend
    "; // ************************************************************ @@ -325,7 +332,7 @@ $fcol2 = "#3070a0"; $fcol3 = "#f0f8ff"; - + $lastactivity = 'Active
    ' .timeunits(ctime()-$post[lastactivity]) ." ago"; $postnum = ($post['num']) ."/"; $posttotal = $post['posts']; @@ -333,7 +340,7 @@ $postnum = ''; $postss = "s:"; } - return "$tblstart + return "
    $tblstart ". str_replace('valign=top', 'valign=top', $set[tdbg]) ." rowspan=2 align=center style=\"background: $fcol3; font-size: 12px; color: $fcol1; font-family: Verdana, sans-serif;\"> — $set[userlink] — $smallfont @@ -349,7 +356,7 @@ Posted on $postdate$threadlink$post[edited] $quote$edit$ip - $set[tdbg] style=\"padding: 0;\" id=\"post". $post['id'] ."\">$post[headtext]$post[text]$post[signtext]$tblend + $set[tdbg] style=\"padding: 0;\" id=\"post". $post['id'] ."\">$post[headtext]$post[text]$post[signtext]$tblend
    "; @@ -366,7 +373,7 @@ $fcol2 = "#eebbff"; $fcol3 = "#000000"; } - + $lastactivity = 'Active
    ' .timeunits(ctime()-$post[lastactivity]) ." ago"; $postnum = ($post['num']) ."/"; $posttotal = $post['posts']; @@ -374,7 +381,7 @@ $postnum = ''; $postss = "s:"; } - return "$tblstart + return "
    $tblstart ". str_replace('valign=top', 'valign=top', $set[tdbg]) ." rowspan=2 align=center style=\"background: $fcol3". ($post['posts'] >= 20000 ? " url('http://www.ffalexandria.com/orlandu/anya/side_bg.jpg'); background-position:bottom left" : "") ."; font-size: 12px; color: $fcol1; font-family: Verdana, sans-serif;\"> — $set[userlink] —
    $smallfont @@ -389,7 +396,7 @@ Posted on $postdate$threadlink$post[edited]
    $quote$edit$ip - $set[tdbg] style=\"padding: 0;\" id=\"post". $post['id'] ."\">$post[headtext]$post[text]$post[signtext]$tblend + $set[tdbg] style=\"padding: 0;\" id=\"post". $post['id'] ."\">$post[headtext]$post[text]$post[signtext]$tblend
    "; return " @@ -410,7 +417,8 @@ $quote$edit$ip $set[tdbg] height=220 id=\"post". $post['id'] ."\">$post[headtext]$post[text]$post[signtext] - $tblend"; + $tblend +
    "; // ************************************************************ // SAKURA HIRYUU @@ -421,7 +429,7 @@ $fcol2 = "#a07030"; $fcol3 = "#fff0f8"; - + $lastactivity = 'Active ' .timeunits(ctime()-$post[lastactivity]) ." ago"; $postnum = ($post['num']) ."/"; $posttotal = $post['posts']; @@ -429,7 +437,7 @@ $postnum = ''; $postss = "s:"; } - return "$tblstart + return "
    $tblstart ". str_replace('valign=top', 'valign=top', $set[tdbg]) ." rowspan=2 align=center style=\"background: $fcol3; font-size: 12px; color: $fcol1; font-family: Verdana, sans-serif;\"> — $set[userlink] — $smallfont @@ -445,7 +453,7 @@ Posted on $postdate$threadlink$post[edited] $quote$edit$ip - $set[tdbg] style=\"padding: 0;\" id=\"post". $post['id'] ."\">$post[headtext]$post[text]$post[signtext]$tblend + $set[tdbg] style=\"padding: 0;\" id=\"post". $post['id'] ."\">$post[headtext]$post[text]$post[signtext]$tblend
    "; @@ -469,7 +477,7 @@ $fcol2 = "#eeeeee"; $fcol3 = "#000000"; - + $lastactivity = 'Active
    ' .timeunits(ctime()-$post[lastactivity]) ." ago"; $postnum = ($post['num']) ."/"; $posttotal = $post['posts']; @@ -477,7 +485,7 @@ $postnum = ''; $postss = "s:"; } - return "$tblstart + return "
    $tblstart ". str_replace('valign=top', 'valign=top', $set[tdbg]) ." rowspan=2 align=center style=\"background: $fcol3; font-size: 12px; color: $fcol1; font-family: Verdana, sans-serif;\"> — $set[userlink] — $smallfont @@ -493,7 +501,7 @@ Posted on $postdate$threadlink$post[edited] $quote$edit$ip - $set[tdbg] style=\"padding: 0;\" id=\"post". $post['id'] ."\">$post[headtext]$post[text]$post[signtext]$tblend + $set[tdbg] style=\"padding: 0;\" id=\"post". $post['id'] ."\">$post[headtext]$post[text]$post[signtext]$tblend
    "; } elseif ($post['uid'] == "19" && !$x_hacks['host']) { @@ -508,7 +516,7 @@ $postnum = ''; $postss = "s:"; } - return "$tblstart + return "
    $tblstart ". str_replace('valign=top', 'valign=top', $set[tdbg]) ." rowspan=2 align=center style=\"background: $fcol3; font-size: 12px; color: $fcol1; font-family: Verdana, sans-serif;\"> — $set[userlink] — $smallfont @@ -526,7 +534,7 @@ Posted on $postdate$threadlink$post[edited] $quote$edit$ip - $set[tdbg] style=\"padding: 0;\" id=\"post". $post['id'] ."\">$post[headtext]$post[text]$post[signtext]$tblend + $set[tdbg] style=\"padding: 0;\" id=\"post". $post['id'] ."\">$post[headtext]$post[text]$post[signtext]$tblend
    "; } elseif ($post['uid'] == "4" && !$x_hacks['host']) { @@ -541,7 +549,7 @@ $postnum = ''; $postss = "s:"; } - return "$tblstart + return "
    $tblstart ". str_replace('valign=top', 'valign=top', $set[tdbg]) ." rowspan=2 align=center style=\"background: $fcol3; font-size: 12px; color: $fcol1; font-family: Verdana, sans-serif;\"> — $set[userlink] — $smallfont @@ -558,7 +566,7 @@ Posted on $postdate$threadlink$post[edited] $quote$edit$ip - $set[tdbg] style=\"padding: 0;\" id=\"post". $post['id'] ."\">$post[headtext]$post[text]$post[signtext]$tblend + $set[tdbg] style=\"padding: 0;\" id=\"post". $post['id'] ."\">$post[headtext]$post[text]$post[signtext]$tblend
    "; } elseif ($post['uid'] == "387" && !$x_hacks['host']) { @@ -572,7 +580,7 @@ $postnum = ''; $postss = "s:"; } - return "$tblstart + return "
    $tblstart ". str_replace('\' valign=top', ' a1\' valign=top', $set[tdbg]) ." rowspan=2 align=center style=\"background: $fcol3; font-size: 12px; color: $fcol1; font-family: Verdana, sans-serif;\"> $css
    @@ -589,7 +597,7 @@ Posted on $postdate$threadlink$post[edited] $quote$edit$ip - $set[tdbg] style=\"padding: 0;\" id=\"post". $post['id'] ."\">$post[headtext]$post[text]$post[signtext]$tblend + $set[tdbg] style=\"padding: 0;\" id=\"post". $post['id'] ."\">$post[headtext]$post[text]$post[signtext]$tblend
    "; @@ -598,7 +606,7 @@ $fcol2 = "#555555"; $fcol3 = "#181818"; - return "$tblstart + return "
    $tblstart ". str_replace('valign=top', 'valign=top', $set[tdbg]) ." rowspan=2 align=center style=\"background: $fcol3; font-size: 14px; color: $fcol1; font-family: Verdana, sans-serif; padding-top: .5em;\"> $set[userlink]
    Collection of nobodies @@ -609,10 +617,10 @@ Posted on $postdate$threadlink$post[edited]
    $quote$edit$ip - $set[tdbg] style=\"background: $fcol3; padding: 0;\" id=\"post". $post['id'] ."\">$post[headtext]$post[text]$post[signtext]$tblend + $set[tdbg] style=\"background: $fcol3; padding: 0;\" id=\"post". $post['id'] ."\">$post[headtext]$post[text]$post[signtext]$tblend
    "; - + } elseif (($post['uid'] == "16" || $post['uid'] == "5") && !$x_hacks['host']) { // top bg #614735 @@ -622,9 +630,9 @@ if (!function_exists("basestat")) { require 'lib/rpg.php'; } - + if (!$x_hacks['rpgstats'][$post['uid']]) { - + $eq = array( '1' => "
    (Weapon)
    ", '2' => "
    (Armor)
    ", @@ -671,7 +679,7 @@ } - return "$tblstart + return "
    $tblstart ". str_replace('valign=top', 'valign=top', $set[tdbg]) ." rowspan=2 width=200> @@ -686,7 +694,7 @@ -
    Post$postss$postnum$posttotal
    Counter2
    Mv7Jm26
    + @@ -709,7 +717,7 @@ -
    Hp". $st['HP'] ."/". $st['HP'] ."
    ". $st['eq'][4] ."
    ". $st['eq'][5] ."
    ". $st['eq'][6] ."
    + @@ -721,7 +729,7 @@ Posted on $postdate$threadlink$post[edited]
    $quote$edit$ip - $set[tdbg] style=\"padding: 0;\" id=\"post". $post['id'] ."\">$post[headtext]$post[text]$post[signtext]$tblend + $set[tdbg] style=\"padding: 0;\" id=\"post". $post['id'] ."\">$post[headtext]$post[text]$post[signtext]$tblend
    "; /*