mirror of
https://github.com/reddit-archive/reddit.git
synced 2026-04-05 03:00:15 -04:00
* Make the new targeted self-serve promotion the default
* add TheOatmeal's comic to our source. (http://www.theoatmeal.com)
* add targetting
* add rerunning or suplementing existing campaigns
* move all sponsored link listings to be precomputed
* deputy moderation
* /about/trials and /about/modqueue
* Have trials train the spam filter
* Allow admins to see all trials, site-wide, at /r/all/about/trials
* Allow trials to be ended while votes are still coming in when the jury opinion is near-unanimous
* offload scraping to embed.ly
* Use boto for s3cp instead of forking curl
Additions:
* migrated all graphs to use Flot
* Implement per-user suspiciousness quota and print over-quota trace
* Keep track of how many questionable links a user has outstanding at any given time
* add links to the FAQ and walkthru
* add a differnt thumbnail for self posts (thanks to licensplate)
* Add some visual tracking for comments trees
* Relabel: ban / unban => remove / approve
* Use big remove / approve buttons when the listing relates to moderation,
or when the item has reports or is on trial
* Merge unban, ignore, and a new approve this non-banned link into one
* Be a little smarter about the way we allow caching of subreddit stylesheets
* make cassandra's cache chain cache negative results (and yes that commit message is bigger than the patch)
* add All, friends, random, and mod to topbar
* add a local render precache (optional)
* better noimage.png from paradox460
* Add a 'legacy' mode to CMemcache that will allow us to use it as a drop-in replacement for testing purposes. Modifies python-memcached to use the same 'crc' hashing algorithm that pylibmc does, and removes a feature in python-memcached that we aren't using. Contributed by Joe Terranova <joeterranova@gmail.com>
* Everyone sees cake
* Added g.system_user
Bugfixes:
* improve validation of media embed, and remove a todo from link.py by putting all of the child div stuff in pages
* Feed/JSON updates
* Add selftext to RSS feeds
* Add subreddit names to Comments in JSON
* add is_self param to indicate self posts
* Don't shade the background of child comments of spam
* shorted the cache lifetime for AllSR to 1 min
* Tell everyone that we actually own the trademarks we claim to own (footer update)
* You no longer get an orange alien when one of your reddits sends an automated message to a user
75 lines
2.7 KiB
HTML
75 lines
2.7 KiB
HTML
## The contents of this file are subject to the Common Public Attribution
|
|
## License Version 1.0. (the "License"); you may not use this file except in
|
|
## compliance with the License. You may obtain a copy of the License at
|
|
## http://code.reddit.com/LICENSE. The License is based on the Mozilla Public
|
|
## License Version 1.1, but Sections 14 and 15 have been added to cover use of
|
|
## software over a computer network and provide for limited attribution for the
|
|
## Original Developer. In addition, Exhibit A has been modified to be consistent
|
|
## with Exhibit B.
|
|
##
|
|
## Software distributed under the License is distributed on an "AS IS" basis,
|
|
## WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
|
|
## the specific language governing rights and limitations under the License.
|
|
##
|
|
## The Original Code is Reddit.
|
|
##
|
|
## The Original Developer is the Initial Developer. The Initial Developer of
|
|
## the Original Code is CondeNet, Inc.
|
|
##
|
|
## All portions of the code written by CondeNet are Copyright (c) 2006-2010
|
|
## CondeNet, Inc. All Rights Reserved.
|
|
################################################################################
|
|
<%!
|
|
from random import random
|
|
import simplejson
|
|
%>
|
|
|
|
|
|
<%
|
|
_id = str(random()).split('.')[-1]
|
|
%>
|
|
<div class="traffic-graph">
|
|
<div class="title" style="width:${thing.width}px;">${thing.title}</div>
|
|
<div id="placeholder-${_id}"
|
|
style="width:${thing.width}px;height:${thing.height}px">
|
|
</div>
|
|
</div>
|
|
|
|
<script id="source" language="javascript" type="text/javascript">
|
|
$(function () {
|
|
if($.browser.msie) {
|
|
var i = new Image();
|
|
i.src = "${unsafe(thing.gc)}";
|
|
$("#placeholder-${_id}").parent().html($(i));
|
|
} else {
|
|
$.plot($("#placeholder-${_id}"), [
|
|
%for i, s in enumerate(thing.data):
|
|
<%
|
|
color = thing.colors[i] if i < len(thing.colors) else thing.colors[-1]
|
|
%>
|
|
{
|
|
data: ${simplejson.dumps(s)},
|
|
color: "#${color}",
|
|
lines: { show: true, fill: ${"true" if len(thing.data) == 1 else "false"} }
|
|
}${',' if i != len(thing.data)-1 else ''}
|
|
%endfor
|
|
],
|
|
{
|
|
xaxis: { mode: "time"},
|
|
yaxis: {min: 0,
|
|
tickFormatter: function(val, axis) {
|
|
if (val >= 2000000) {
|
|
return (val / 1000000).toFixed(axis.tickDecimals) + "M";
|
|
} else if (val >= 2000) {
|
|
return (val / 1000).toFixed(axis.tickDecimals) + "k";
|
|
} else if (val < 10) {
|
|
return val.toFixed(2);
|
|
}
|
|
return val.toFixed(axis.tickDecimals);
|
|
}
|
|
},
|
|
selection: { mode: "x" }
|
|
});
|
|
}});
|
|
</script>
|