Skip to content

@zachinglis /gist:29c5c5970d1f3313abd1 secret
Created

Embed URL

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
i?php
require_once('chorus/Utils.php');
require_once('chorus/Kestrel.php');
require_once('chorus/DataService.php');
require_once('chorus/Shard.php');
Database::set_defaults(array(
'user' => 'tumblr3',
'password' => 'm3MpH1C0Koh39AQD83TFhsBPlOM1Rx9eW55Z8YWStbgTmcgQWJvFt4',
'database' => 'tumblr3',
// 'write_lock_tables' => '*',
'extended_log' => (idate('G') == 17 && intval(idate('i')) == 56 && trim(`hostname`) == 'web10.tumblr.com')
));
if (__FILE__ == '/var/www/apps/tumblr/config/config.php' || __FILE__ == '/data/tumblr/config/config.php') {
define('ENVIRONMENT', 'production');
if (! defined('DEFAULT_DATABASE')) define('DEFAULT_DATABASE', 'primary');
define('S3_BUCKET', 'data.tumblr.com');
define('ENABLE_PANTHER', true);
define('ENABLE_MEDIA_CDN', true);
define('ASSETS_URL', (ENABLE_MEDIA_CDN && ! (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']) ? 'http://assets.tumblr.com' : ''));
define('MEMCACHE_HOST', '10.252.0.68');
define('MEMCACHE_VERSION_HOST', '10.252.0.67');
define('VALIDATION_FAILURE_LOG', BASE_PATH . '/validate.log');
define('REDIRECT_403_LOG', BASE_PATH . '/403.log');
define(
'GOOGLE_API_KEY',
(isset($_SERVER['HTTP_HOST']) && $_SERVER['HTTP_HOST'] == 'www.tumblr-beta.com')
? 'ABQIAAAAJlAd0HJn-kbPSqUsrS6CyhTpoeXstiwCMpsI5pU3slU-WDRPJxQts41ksQogKsyRsq_7Er6g4bSs0g'
: 'ABQIAAAAJlAd0HJn-kbPSqUsrS6CyhTRJXjjauvD2gSXXVziOjeBJgmKOBTPW-8l5i5Pbk9Bvb1VCh4uVklE2g'
);
Database::add('primary', array('host' => '192.168.200.142'));
Database::add('db-tumblelogs', array('host' => '192.168.200.103'));
//Database::add('db1', array('host' => '192.168.200.113' /* db-notifs */));
//Database::add('db1', array('host' => '192.168.201.58' /* db-notifs mmm writer */));
Database::add('db1', array('host' => '192.168.201.56' /* db-notifs01 */));
Database::add('db2', array('host' => '192.168.200.35'));
Database::add('db3', array('host' => '192.168.201.71'));
Database::add('db4', array('host' => '192.168.200.37'));
Database::add('db-index-dashboard', array('host' => '192.168.200.115' /* slave-notes05 */));
Database::add('tumblr_feeds', array('host' => '192.168.200.100', 'database' => 'tumblr_feeds'));
Database::add('stats_heap', array('host' => '192.168.200.100'));
Database::add('tumblelogs-index', array('host' => '192.168.200.118'));
Database::add('db-likes', array('host' => '192.168.200.236'));
Database::add('db-tags', array('host' => '10.42.0.134'));
//Database::add('db-users', array('host' => '192.168.200.117'));
Database::add('db-users', array('host' => '192.168.200.137'));
Database::add('db-notes', array('host' => '192.168.200.116'));
Database::add('db-logs', array('host' => '192.168.200.81'));
Database::add('db-themebackups', array('host' => '192.168.200.115'));
Database::add('db-globaltags', array('host' => '192.168.200.83'));
Database::add('db-primary01', array('host' => '192.168.200.22'));
Database::add('db-primary02', array('host' => '10.42.0.253')); //dbm-blogsB100.d2
//Database::add('db-primary03', array('host' => '192.168.200.190'));
Database::add('db-primary03', array('host' => '10.42.1.1')); //dbm-blogsC100.d2
// Database::add('db-primary04', array('host' => '192.168.200.101'));
Database::add('db-primary04', array('host' => '10.42.0.245'));
Database::add('db-primary05', array('host' => '192.168.201.51')); // shard 05 mmm writer vip
//Database::add('dbm-blogsF', array('host' => '10.42.0.180')); //dbm-blogsF100.d2
Database::add('dbm-blogsF', array('host' => '10.42.0.172')); //dbm-blogsF101.d2
Database::add('dbm-unpublishedpostsref', array('host' => '10.252.0.138'));
Database::add('dbs-unpublishedpostsref', array(
'host' => array(
'10.252.0.138', // db-tags.tumblr.com (master)
),
));
Database::add('dbm-legacy-nonpost', array('host' => '10.252.0.142'));
Database::add('dbs-legacy-nonpost', array(
'host' => array(
'10.42.0.144', // legacy-slave1.d2.tumblr.com
'10.42.0.146', // legacy-slave2.d2.tumblr.com
),
));
Database::add('slave-globaltags', array(
'host' => array(
'192.168.200.83' // master
),
'inherit' => 'db-globaltags',
'failover' => 'db-globaltags'
));
Database::add('slave-users', array(
'host' => array(
'192.168.200.137', // db-users (MASTER)
//'192.168.200.117', // slave-users01 (THIS WAS MASTER, ISSUES)
'192.168.200.158', // slave-users02 (SLAVE)
'192.168.200.159', // slave-users03 (backups)
//'192.168.201.72', // slave-users04 (slave?)
),
'inherit' => 'db-users',
'failover' => 'db-users'
));
Database::add('slave-likes', array(
'host' => array(
'192.168.200.236', // db-likes01.tumblr.com (master)
'192.168.200.102', // slave-likes01.tumblr.com
'192.168.200.102', // (x2)
//'192.168.200.157', // slave-likes02.tumblr.com (backups)
),
'inherit' => 'db-likes',
'failover' => 'db-likes'
));
Database::add('slave', array(
'host' => array(
//'192.168.200.54', // slave11 (slow slave)
'192.168.200.55', // slave12
'192.168.200.56', // slave13
'192.168.200.57', // slave14
'192.168.200.58', // slave15
//'192.168.200.77', // slave16
//'192.168.200.112', // slave17 - spare (backups)
),
'write_lock_tables' => '*',
'failover' => 'primary'
));
Database::add('db-friends', array('host' => '192.168.200.120'));
Database::add('slave-friends', array(
'host' => array(
'192.168.200.121', // slave-friends01
'192.168.200.120', // db-friends (master)
//'10.42.0.136', // dbs-friends100.d2.tumblr.com (backups)
),
'failover' => 'db-friends'
));
Database::add('slave-themebackups', array(
'host' => array(
'10.252.0.115', // db-themebackups.tumblr.com (master)
'10.42.0.217', // dbs-themebackups100.d2.tumblr.com
//'10.42.0.229', // dbs-themebackups101.d2.tumblr.com (backups)
),
'failover' => 'db-themebackups'
));
Database::add('slave-following', array(
'host' => array(
//'192.168.200.54', // slave11 (moved to slow-slave, ugh)
'192.168.200.55', // slave12
'192.168.200.56', // slave13
'192.168.200.57', // slave14
'192.168.200.58', // slave15
//'192.168.200.77', // slave16
//'192.168.200.112', // slave17 - spare (backups)
),
'write_lock_tables' => '*',
'failover' => 'primary'
));
Database::add('slave3', array('inherit' => 'slave', 'host' => '192.168.200.12'));
Database::add('slave-notes', array(
'host' => array(
'192.168.200.23', // slave-notes01
'192.168.200.116', // db-notes (master)
//'192.168.200.82', // slave-notes02
//'192.168.200.116', // slave-notes09 (being used by david, new notes_dev)
//'192.168.200.17', // slave5 - spare (backups)
),
'failover' => 'db-notes'
));
Database::add('slave-db1', array(
'host' => array(
//'192.168.201.59', // db-notifs mmm reader
'192.168.201.57', // db-notifs02
//'192.168.200.34', // slave-notifs01
//'192.168.200.59', // slave-notifs02
),
'failover' => 'db1'
));
Database::add('slave-notifs', array(
'host' => array(
//'192.168.201.59', // db-notifs mmm reader
'192.168.201.57', // db-notifs02
//'192.168.200.34', // slave-notifs01
//'192.168.200.59', // slave-notifs02
),
'failover' => 'db1'
));
Database::add('slave-tumblelogs', array(
'inherit' => 'slave',
'host' => array(
//'192.168.200.78', // slave-tumblelogs01
//'192.168.200.60', // slave-tumblelogs02
//'192.168.200.37', // slave-tumblelogs03 - spare
'192.168.200.39', // slave-tumblelogs04 - ssd
'192.168.200.113', // slave-tumblelogs05 - ssd
//'10.42.0.140', // dbs-tumblelogs100.d2 - ssd
),
'failover' => 'db-tumblelogs'
));
Database::add('slave-tumblelogs-index', array(
'host' => array(
'192.168.200.119', // slave-tumbleindex01
'192.168.200.139', // slave-tumbleindex02
),
'failover' => 'tumblelogs-index'
));
Database::add('slave-tags', array(
'host' => array(
//'192.168.200.164', // slave-tags01.tumblr.com
'10.42.0.182', // dbs-posttags.d2
//'192.168.200.150', // slave-tags.tumblr.com (backups)
),
//'failover' => 'db-tags'
));
Database::add('slave-index-dashboard', array(
'host' => array(
//'192.168.200.115', // slave-notes05.tumblr.com (master)
'192.168.200.160', // slave-postsindex01.tumblr.com
//'192.168.200.161', // spare-ssd01.tumblr.com
),
'failover' => 'db-index-dashboard'
));
Database::add('slave-ref', array(
'inherit' => 'slave',
'host' => array(
//'10.252.0.191', // db-postref
//'192.168.200.79', // slave-ref01
//'192.168.200.80', // slave-ref02
//'192.168.200.81', // slave-ref03
'192.168.200.155', // slave-ref05
'192.168.200.163', // slave-ref06
// '192.168.200.122', // slave-ref07
'192.168.200.123', // slave-ref08
'192.168.200.114', // slave-ref09
'192.168.200.124', // slave-ref10
//'192.168.200.162', // slave-ref11
//'192.168.201.71', // slave-ref12
//'192.168.200.38', // slave10 - notes backups
'10.42.0.138', // dbs-postref100.d2
),
'failover' => 'db3'
));
Database::add('slave-slow', array(
'inherit' => 'slave',
'host' => array(
//'192.168.200.61', // slave19
//'192.168.200.135', // slave20
'192.168.200.189', // slave21
//'192.168.200.54', // slave11
),
'failover' => 'slave'
));
Database::add('slave-search-local', array(
'inherit' => 'slave',
'host' => array(
//'127.0.0.1', // localhost
// slave-slow
//'192.168.200.22', // slave7
//'192.168.200.61', // slave19
'192.168.200.135', // slave20
'192.168.200.189', // slave21
'192.168.200.54', // slave11
//'192.168.200.33', // db1
// slave (main)
//'192.168.200.55', // slave12
//'192.168.200.56', // slave13
//'192.168.200.57', // slave14
//'192.168.200.58', // slave15
)
));
Database::add('slave-primary05', array(
'host' => array(
'192.168.201.52', // slave-primary05
// original - '192.168.201.54', // mmm reader virtual ip associated with db-primary05 (master)
//'192.168.201.55', // mmm reader virutal ip associated with slave-primary05
),
'inherit' => 'db-primary05',
'failover' => 'db-primary05'
));
Kestrel::configure(array(
'192.168.200.147',
'192.168.200.148',
'192.168.200.149',
'192.168.200.187',
'192.168.200.188',
'192.168.200.204',
'192.168.200.205',
'192.168.200.206',
'192.168.200.207',
'192.168.200.208',
));
define('POST_ID_URL', 'http://192.168.200.20:9000/next-id');
define('KESTREL_MASTER', '192.168.200.100'); // app2
define('VARNISH_IP_AL', '10.42.0.102'); // varnish1.d2.tumblr.com
define('VARNISH_IP_MZ', '10.42.0.106'); // varnish2.d2.tumblr.com
define('SKIP_EAGER_CACHE_SET_CHANCE', 0.65);
} else {
define('ENVIRONMENT', 'development');
if (! defined('DEFAULT_DATABASE')) define('DEFAULT_DATABASE', 'primary');
define('S3_BUCKET', 'data.tumblr.com');
define('ASSETS_URL', '');
define('ENABLE_PANTHER', true);
define('ENABLE_MEDIA_CDN', true);
define('VALIDATION_FAILURE_LOG', BASE_PATH . '/validate.log');
define('REDIRECT_403_LOG', BASE_PATH . '/403.log');
define(
'GOOGLE_API_KEY',
'ABQIAAAAJlAd0HJn-kbPSqUsrS6CyhRHynFsxzvvL0_IN23RhygKuIhc7hTTV_TXEiR9100ct2lSZ6t7sb2eHg'
);
define('MEMCACHE_HOST', '127.0.0.1');
define('MEMCACHE_VERSION_HOST', '127.0.0.1');
Database::add('primary', array('host' => '127.0.0.1:3400'));
Database::add('db-tumblelogs', array('host' => '127.0.0.1:3430'));
Database::add('db1', array('host' => '127.0.0.1:3410'));
Database::add('slave-db1', array('host' => '127.0.0.1:3410')); // just db1 for now
Database::add('db2', array('host' => '127.0.0.1:3412'));
Database::add('db3', array('host' => '127.0.0.1:3413'));
Database::add('db4', array('host' => '127.0.0.1:3414'));
Database::add('db-index-dashboard', array('host' => '127.0.0.1:3432' /* slave-notes05 */));
Database::add('slave-index-dashboard', array('host' => '127.0.0.1:3441', 'inherit' => 'db-index-dashboard'));
Database::add('tumblr_feeds', array('host' => '127.0.0.1:3399', 'database' => 'tumblr_feeds'));
Database::add('stats_heap', array('host' => '127.0.0.1:3399'));
Database::add('tumblelogs-index', array('host' => '127.0.0.1:3417'));
Database::add('db-likes', array('host' => '127.0.0.1:3435' /* slave-notes03 */));
Database::add('slave-likes', array('host' => '127.0.0.1:3435', 'inherit' => 'db-likes'));
Database::add('db-tags', array('host' => '127.0.0.1:3437'));
Database::add('slave-tags', array('host' => '127.0.0.1:3440'));
Database::add('db-users', array('host' => '127.0.0.1:3438'));
Database::add('slave-users', array('host' => '127.0.0.1:3439', 'inherit' => 'db-users'));
Database::add('db-notes', array('host' => '127.0.0.1:3450'));
Database::add('db-logs', array('host' => '127.0.0.1:3452'));
Database::add('db-primary01', array('host' => '127.0.0.1:3460'));
Database::add('db-primary02', array('host' => '127.0.0.1:3461'));
Database::add('db-primary03', array('host' => '127.0.0.1:3462'));
Database::add('db-primary04', array('host' => '127.0.0.1:3463'));
Database::add('slave', array(
'host' => array(
'127.0.0.1:3401', // slave12
),
'write_lock_tables' => '*',
'failover' => 'primary'
));
Database::add('db-friends', array('host' => '127.0.0.1:3433'));
Database::add('slave-friends', array(
'host' => array(
'127.0.0.1:3434' /* slave-friends01 */
),
'failover' => 'db-friends'
));
Database::add('slave-following', array('inherit' => 'slave'));
Database::add('slave-notes', array('inherit' => 'db2'));
Database::add('slave-tumblelogs', array('host' => '127.0.0.1:3431' /* slave-tumblelogs01 */));
Database::add('slave-tumblelogs-index', array(
'host' => array(
'127.0.0.1:3418', // slave-tumbleindex01
)
));
Database::add('slave-ref', array(
'inherit' => 'slave',
'host' => array(
'127.0.0.1:3420', // slave10
),
'write_lock_tables' => '*',
'failover' => 'slave'
));
Database::add('slave-slow', array(
'inherit' => 'slave',
'host' => array(
'127.0.0.1:3407', // slave7
),
'failover' => 'slave'
));
Database::add('slave-search-local', array('inherit' => 'slave-slow'));
Database::add('slave-search', array('inherit' => 'slave', 'host' => '127.0.0.1:3411' /* search1 */));
Kestrel::configure(array()); // no servers -- will call run() on all tasks, instead of actually queueing
// define('DEBUG_REDIRECTS', true);
// define('STRICT_DEVELOPMENT_MODE', true);
}
// Shard configuration
ShardManager::add(array(
'db' => 'db-primary01',
'callback' => function($key) { return ($key['tumblelog_id'] < 3000000); },
));
ShardManager::add(array(
'db' => 'db-primary02',
'callback' => function($key) { return ($key['tumblelog_id'] >= 3000000 && $key['tumblelog_id'] < 6000000); },
));
ShardManager::add(array(
'db' => 'db-primary03',
'callback' => function($key) { return ($key['tumblelog_id'] >= 6000000 && $key['tumblelog_id'] < 9000000); },
));
ShardManager::add(array(
'db' => 'db-primary04',
'callback' => function($key) { return ($key['tumblelog_id'] >= 9000000 && $key['tumblelog_id'] < 12695000); },
));
ShardManager::add(array(
'db' => 'db-primary05',
'callback' => function($key) { return ($key['tumblelog_id'] >= 12695000); },
));
// Mirroring
ShardManager::add(array(
'db' => 'dbm-blogsF',
'write_callback' => function($key) { return ($key['tumblelog_id'] >= 5000000 && $key['tumblelog_id'] < 6000000); },
));
define(
'IS_SAFE_DOT_TUMBLR',
isset($_SERVER['HTTP_HOST']) &&
in_array(
$_SERVER['HTTP_HOST'],
array('safe.tumblr.com', 'safe.tumblr', 'safe.tumblr-beta.com')
)
);
define(
'SAFE_DOMAIN',
(isset($_SERVER['HTTP_HOST']) && ends_with($_SERVER['HTTP_HOST'], 'tumblr.com')) ?
'safe.tumblr.com' :
(
(isset($_SERVER['HTTP_HOST']) && ends_with($_SERVER['HTTP_HOST'], 'tumblr-beta.com')) ?
'safe.tumblr-beta.com' :
'safe.tumblr'
)
);
define(
'IS_TUMBLR_DOT_COM',
isset($_SERVER['HTTP_HOST']) && in_array($_SERVER['HTTP_HOST'], array('184.73.227.231', 'www.tumblr.com', 'tumblr.com', 'tumblr', 'www.tumblr-beta.com', 'tumblr-beta.com'))
);
define('LOGIN_SSL_PREFIX',
isset($_SERVER['HTTP_HOST']) && $_SERVER['HTTP_HOST'] == 'tumblr' ?
'http://tumblr' :
(0 || isset($_REQUEST['ssllogin']) ? 'https://www.tumblr.com' : 'http://www.tumblr.com')
);
define('ROUTES_404_CONTROLLER', 'tumblelog');
define('ROUTES_404_ACTION', 'execute_router_404');
define('POSTS_PER_PUBLISHER_PAGE', 10);
define('S3_KEY_ID', '0RYTHV9YYQ4W5Q3HQMG2');
define('S3_SECRET_KEY', '+m8pTe0qHJ69tlLhj3Sx7k0Xd44nebi3JkaKT688');
define('S3_URL', 'http://s3.amazonaws.com/' . S3_BUCKET . '/');
define('S3_ASSETS_BUCKET', '');
define('HEYWATCH_API_USER', 'tumblr');
define('HEYWATCH_API_PASSWORD', '3GI14tn2mYHhyP');
define('HEYWATCH_API_URL', 'https://heywatch.com');
define('HEYWATCH_S3_PICKUP_BUCKET', 'precoded.video.tumblr.com');
define('HEYWATCH_S3_KEY_ID', 'AKIAIIR72ADPMGUFFGGA');
define('HEYWATCH_S3_SECRET_KEY', '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');
define('HEYWATCH_S3_BUCKET', 'video.tumblr.com');
define('AUTHORIZE_ID', '55SS24VbfX');
define('AUTHORIZE_SECRET_KEY', '5W43msChsX8B7B57');
define('MEDIA_HOST', 'media.tumblr.com');
define('SERVER_TIMEZONE', 'US/Eastern');
define('VIMEO_API_KEY', 'f40bbbfaf1194768cb17c4368c8f2e74');
define('VIMEO_API_SECRET', '16b9ec6c0');
define('CLICKATELL_USER', 'davidkarp');
define('CLICKATELL_PASSWORD', 'JLVchl23');
define('CLICKATELL_API_ID', '3096519');
define('P3P_CP', 'ALL ADM DEV PSAi COM OUR OTRo STP IND ONL');
define('PHOTOSET_PHOTO_LIMIT', 10);
define('APP_LOG_DATABASE', 'db1');
define('FACEBOOK_API_KEY', '12b9890602a9c4d25a6233b0bfae6d98');
define('FACEBOOK_SECRET_KEY', '35e59c2d28e668c21ec2d2a9f0e94125');
if (! defined('SEARCH_INDEXING')) define('SEARCH_INDEXING', false);
if (ENVIRONMENT == 'development') {
define('RECAPTCHA_PUBLIC_KEY', '6Ldk0goAAAAAAK9OygnYgrQm1QdORWaSPt2OBqy7');
define('RECAPTCHA_PRIVATE_KEY', '6Ldk0goAAAAAABsd6y9vEjsSQRWKraQMmBKsr2ll');
} else {
define('RECAPTCHA_PUBLIC_KEY', '6Ld0xAoAAAAAAJAlxwY5F687b2n2cgXoBhwy_xtC');
define('RECAPTCHA_PRIVATE_KEY', '6Ld0xAoAAAAAAF5sofH5JYS9u22Bhjx2u9IA85HQ');
}
define('TWITTER_OAUTH_CONSUMER_KEY', 'OaoQcfFKB3I1Ei9JC7Qkg');
define('TWITTER_OAUTH_CONSUMER_SECRET', 'yqeoAV0gH885SPirdW30ZeIKME63lPqi8hq2tYNUIGg');
// Memcache pools
require_once('chorus/Cache.php');
if (ENVIRONMENT == 'development') {
$posts = new FileCache('posts');
$tumblelogs = new FileCache('tumblelogs');
$users = new FileCache('users');
$auto = new FileCache('auto');
$tumblelog_html = new FileCache('tumblelog_html');
$notes = new FileCache('notes');
$following = new FileCache('following');
$pages = new FileCache('pages');
$oauth = new FileCache('oauth');
$performance = new FileCache('performance');
$performance_uncompressed = new FileCache('performance_uncompressed');
$performance_uncompressed->compression = false;
$performance_uncompressed->serialization = false;
$dashboard_post_ids = new FileCache('dashboard_post_ids');
$liked_post_count = new FileCache('liked_post_count');
$twitter_api = new FileCache('twitter_api');
$tag_channel = new FileCache('tag_channel');
$tumblelog_tags = new FileCache('tumblelog_tags');
$notifications = new FileCache('notifications');
$cs_array_schema = new FileCache('cs_array_schema');
$compact_tumblelog = new FileCache('compact_tumblelog');
$local = new FileCache('local');
} else {
// -------- Localhost pool on each webserver, use like APC -----------
$local = new MemcachedCache('local');
$local->addServer('127.0.0.1');
// ----- Main pool: Models, small- to medium-sized, low evictions ----
// cache1, 2, 4, 5, 6, 7, 8, 10
$posts = new MemcachedCache('posts');
$posts->addServer('10.252.0.40'); // cache1
$posts->addServer('10.252.2.64'); // cache2
$posts->addServer('10.252.0.41'); // cache4
$posts->addServer('10.252.0.66'); // cache6
$posts->addServer('10.252.0.68'); // cache8
$posts->addServer('10.252.0.129'); // cache10
$posts->addServer('10.252.0.67'); // cache7
$posts->addServer('10.252.0.65'); // cache5
$posts->addServer('10.42.0.110'); // memcache-objects100.d2
$tumblelogs = new MemcachedCache('tumblelogs');
$tumblelogs->addServer('10.252.0.40'); // cache1
$tumblelogs->addServer('10.252.2.64'); // cache2
$tumblelogs->addServer('10.252.0.41'); // cache4
$tumblelogs->addServer('10.252.0.66'); // cache6
$tumblelogs->addServer('10.252.0.68'); // cache8
$tumblelogs->addServer('10.252.0.129'); // cache10
$tumblelogs->addServer('10.252.0.67'); // cache7
$tumblelogs->addServer('10.252.0.65'); // cache5
$tumblelogs->addServer('10.42.0.110'); // memcache-objects100.d2
$compact_tumblelog = new MemcachedCache('compact_tumblelog');
$compact_tumblelog->addServer('10.252.0.40'); // cache1
$compact_tumblelog->addServer('10.252.2.64'); // cache2
$compact_tumblelog->addServer('10.252.0.41'); // cache4
$compact_tumblelog->addServer('10.252.0.66'); // cache6
$compact_tumblelog->addServer('10.252.0.68'); // cache8
$compact_tumblelog->addServer('10.252.0.129'); // cache10
$compact_tumblelog->addServer('10.252.0.67'); // cache7
$compact_tumblelog->addServer('10.252.0.65'); // cache5
$compact_tumblelog->addServer('10.42.0.110'); // memcache-objects100.d2
$users = new MemcachedCache('users');
$users->addServer('10.252.0.40'); // cache1
$users->addServer('10.252.2.64'); // cache2
$users->addServer('10.252.0.41'); // cache4
$users->addServer('10.252.0.66'); // cache6
$users->addServer('10.252.0.68'); // cache8
$users->addServer('10.252.0.129'); // cache10
$users->addServer('10.252.0.67'); // cache7
$users->addServer('10.252.0.65'); // cache5
$users->addServer('10.42.0.110'); // memcache-objects100.d2
$notifications = new MemcachedCache('notifications');
$notifications->addServer('10.252.0.40'); // cache1
$notifications->addServer('10.252.2.64'); // cache2
$notifications->addServer('10.252.0.41'); // cache4
$notifications->addServer('10.252.0.66'); // cache6
$notifications->addServer('10.252.0.68'); // cache8
$notifications->addServer('10.252.0.129'); // cache10
$notifications->addServer('10.252.0.67'); // cache7
$notifications->addServer('10.252.0.65'); // cache5
$notifications->addServer('10.42.0.110'); // memcache-objects100.d2
$notes = new MemcachedCache('notes');
$notes->addServer('10.252.0.40'); // cache1
$notes->addServer('10.252.2.64'); // cache2
$notes->addServer('10.252.0.41'); // cache4
$notes->addServer('10.252.0.66'); // cache6
$notes->addServer('10.252.0.68'); // cache8
$notes->addServer('10.252.0.129'); // cache10
$notes->addServer('10.252.0.67'); // cache7
$notes->addServer('10.252.0.65'); // cache5
$notes->addServer('10.42.0.110'); // memcache-objects100.d2
$pages = new MemcachedCache('pages');
$pages->addServer('10.252.0.40'); // cache1
$pages->addServer('10.252.2.64'); // cache2
$pages->addServer('10.252.0.41'); // cache4
$pages->addServer('10.252.0.66'); // cache6
$pages->addServer('10.252.0.68'); // cache8
$pages->addServer('10.252.0.129'); // cache10
$pages->addServer('10.252.0.67'); // cache7
$pages->addServer('10.252.0.65'); // cache5
$pages->addServer('10.42.0.110'); // memcache-objects100.d2
$oauth = new MemcachedCache('oauth');
$oauth->addServer('10.252.0.40'); // cache1
$oauth->addServer('10.252.2.64'); // cache2
$oauth->addServer('10.252.0.41'); // cache4
$oauth->addServer('10.252.0.66'); // cache6
$oauth->addServer('10.252.0.68'); // cache8
$oauth->addServer('10.252.0.129'); // cache10
$oauth->addServer('10.252.0.67'); // cache7
$oauth->addServer('10.252.0.65'); // cache5
$oauth->addServer('10.42.0.110'); // memcache-objects100.d2
// this does a LOT of connections
$cs_array_schema = new MemcachedCache('cs_array_schema');
$cs_array_schema->addServer('10.252.0.40'); // cache1
$cs_array_schema->addServer('10.252.2.64'); // cache2
$cs_array_schema->addServer('10.252.0.41'); // cache4
$cs_array_schema->addServer('10.252.0.66'); // cache6
$cs_array_schema->addServer('10.252.0.68'); // cache8
$cs_array_schema->addServer('10.252.0.129'); // cache10
$cs_array_schema->addServer('10.252.0.67'); // cache7
$cs_array_schema->addServer('10.252.0.65'); // cache5
$cs_array_schema->addServer('10.42.0.110'); // memcache-objects100.d2
Cache::set_automatic_params('MemcachedCache', array(
'10.252.0.40', // cache1
'10.252.2.64', // cache2
'10.252.0.41', // cache4
'10.252.0.66', // cache6
'10.252.0.68', // cache8
'10.252.0.129', // cache10
'10.252.0.67', // cache7
'10.252.0.65', // cache5
'10.42.0.110', // memcache-objects100.d2
));
// ------- Performance pools: Small items, almost never evicted ------
// cache13, 14, 12 and cache9, 11
$performance = new MemcachedCache('performance');
$performance->addServer('10.252.0.143'); // cache13
$performance->addServer('10.252.0.144'); // cache14
$performance->addServer('10.252.0.131'); // cache12
$performance_uncompressed = new MemcachedCache('performance_uncompressed', false, false);
$performance_uncompressed->serialization = false;
$performance_uncompressed->addServer('10.252.0.143'); // cache13
$performance_uncompressed->addServer('10.252.0.144'); // cache14
$performance_uncompressed->addServer('10.252.0.131'); // cache12
$dashboard_post_ids = new MemcachedCache('dashboard_post_ids', false, false);
$dashboard_post_ids->serialization = false;
$dashboard_post_ids->addServer('10.252.0.143'); // cache13
$dashboard_post_ids->addServer('10.252.0.144'); // cache14
$dashboard_post_ids->addServer('10.252.0.131'); // cache12
$liked_post_count = new MemcachedCache('liked_post_count', false, false);
$liked_post_count->addServer('10.252.0.143'); // cache13
$liked_post_count->addServer('10.252.0.144'); // cache14
$liked_post_count->addServer('10.252.0.131'); // cache12
$following = new MemcachedCache('following');
$following->addServer('10.252.0.128'); // cache9
$following->addServer('10.252.0.130'); // cache11
// --------------- Large items, frequent eviction ---------------------
// cache3, 5, 7
$auto = new MemcachedCache('auto');
$auto->addServer('10.252.0.42'); // cache3
//$auto->memcached->setOption(Memcached::OPT_BINARY_PROTOCOL, false);
//$auto->addServer('192.168.200.203', 11280); // cache3 via moxi-app4
$twitter_api = new MemcachedCache('twitter_api');
$twitter_api->addServer('10.252.0.42'); // cache3
//$twitter_api->memcached->setOption(Memcached::OPT_BINARY_PROTOCOL, false);
//$twitter_api->addServer('192.168.200.203', 11280); // cache3 via moxi-app4
$tumblelog_html = new MemcachedCache('tumblelog_html');
$tumblelog_html->addServer('10.252.0.42'); // cache3
//$tumblelog_html->memcached->setOption(Memcached::OPT_BINARY_PROTOCOL, false);
//$tumblelog_html->addServer('192.168.200.203', 11280); // cache3 via moxi-app4
$tumblelog_tags = new MemcachedCache('tumblelog_tags');
$tumblelog_tags->addServer('10.252.0.42'); // cache3
//$tumblelog_tags->memcached->setOption(Memcached::OPT_BINARY_PROTOCOL, false);
//$tumblelog_tags->addServer('192.168.200.203', 11280); // cache3 via moxi-app4
$tag_channel = new MemcachedCache('tag_channel');
$tag_channel->addServer('10.252.0.42'); // cache3
//$tag_channel->memcached->setOption(Memcached::OPT_BINARY_PROTOCOL, false);
//$tag_channel->addServer('192.168.200.203', 11280); // cache3 via moxi-app4
}
Cache::add_instance('posts', $posts);
Cache::add_instance('tumblelogs', $tumblelogs);
Cache::add_instance('users', $users);
Cache::add_instance('notes', $notes);
Cache::add_instance('following', $following);
Cache::add_instance('oauth', $oauth);
Cache::add_instance('performance', $performance);
Cache::add_instance('performance_uncompressed', $performance_uncompressed);
Cache::add_instance('pages', $pages);
Cache::add_instance('dashboard_post_ids', $dashboard_post_ids);
Cache::add_instance('liked_post_count', $liked_post_count);
Cache::add_instance('tumblelog_html', $tumblelog_html);
Cache::add_instance('twitter_api', $twitter_api);
Cache::add_instance('tag_channel', $tag_channel);
Cache::add_instance('tumblelog_tags', $tumblelog_tags);
Cache::add_instance('notifications', $notifications);
Cache::add_instance('cs_array_schema', $cs_array_schema);
Cache::add_instance('compact_tumblelog', $compact_tumblelog);
Cache::add_instance('local', $local);
Cache::add_instance('auto', $auto);
$new_post_counts = new MemcachedCache('new_post_counts', false, false);
$new_post_counts->addServer('10.252.0.144'); // cache14
Cache::add_instance('new_post_counts', $new_post_counts);
Cache::set_default('auto');
DataService::add_config('192.168.200.83');
define('USE_POSTS_REF_CACHE', true);
define('UPDATE_POSTS_REF_CACHE', false);
define('USE_LIKES_TABLE', false);
define('WRITE_TO_LIKES_TABLE', true);
define('ENABLE_CHECK_FOR_NEW_POSTS_FREQUENCY', 1);
require_once('lib/GiantOctopus.php');
require_once('lib/TumblrOAuth.php');
<table border="0" cellpadding="0" cellspacing="0" width="750"><tr>
<td style="font:Bold 24px Helvetica; color:#DC6B11;">Fatal Error</td></tr>
<tr><td height="50" style="font:Normal 13px Courier; color:#222;">In
<b>/var/www/apps/tumblr/app/controllers/app.php</b> at line <b>104</b></td></tr><tr><td
bgcolor="#FFFFCC" style="border:solid 3px #FFEA85; font:Normal 16px Helvetica;
padding:6px;"><pre>
Cannot modify header information - headers already sent by (output started at /var/www/apps/tumblr/config/config.php:748)</pre></td></tr><tr><td height="20"><tr><td
bgcolor="#94CE50" style="font:Bold 14px Helvetica; color:#fff; padding:6px;">
Stack Trace</td></tr><tr><td height="4" bgcolor="#AAE06B"></td></tr><tr>
<td bgcolor="#C9F695"><ul style="font:Normal 13px Courier;
list-style-type:square; margin:0px; padding-top:10px;"><li><b>error_handler(2, "Cannot modify header information - headers already sent by (output started at /var/www/apps/tumblr/config/config.php:748)", "/var/www/apps/tumblr/app/controllers/app.php", 104, Array(3))</b><br/><span style="font-size:11px;"></span><br/><br/> </li><li><b>header("P3P: CP="P3P_CP"")</b><br/><span style="font-size:11px;"><div style="margin-bottom: 5px;"><a href="#" style="color: #00f;" onclick="var c = document.getElementById('context1'); if (c.style.display == 'block') c.style.display = 'none'; else c.style.display = 'block'; this.blur(); return false;">app/controllers/app.php:104</a><pre id="context1" style="margin-top: 0px; margin-bottom: 0px; display: none; background-color: #fff; margin-right: 10px; font-size: 11px; line-height: 1.2em; overflow: auto; border: 1px solid #555; padding: 3px;"><span style="color: #aaa;"> 101: </span> }
<span style="color: #aaa;"> 102: </span>
<span style="color: #aaa;"> 103: </span>
<span style="color: #aaa;"> 104: </span><span style="background-color: #ffa; padding-top: 2px; padding-bottom: 1px;"> header(&#039;P3P: CP=&quot;&#039; . P3P_CP . &#039;&quot;&#039;);
</span><span style="color: #aaa;"> 105: </span> $host = substring_before($_SERVER[&#039;HTTP_HOST&#039;], &#039;:&#039;);
<span style="color: #aaa;"> 106: </span>
<span style="color: #aaa;"> 107: </span> // data.tumblr
</pre></div></span><br/><br/> </li><li><b>AppController->__construct()</b><br/><span style="font-size:11px;"><div style="margin-bottom: 5px;"><a href="#" style="color: #00f;" onclick="var c = document.getElementById('context2'); if (c.style.display == 'block') c.style.display = 'none'; else c.style.display = 'block'; this.blur(); return false;">app/controllers/dashboard.php:16</a><pre id="context2" style="margin-top: 0px; margin-bottom: 0px; display: none; background-color: #fff; margin-right: 10px; font-size: 11px; line-height: 1.2em; overflow: auto; border: 1px solid #555; padding: 3px;"><span style="color: #aaa;"> 13: </span>
<span style="color: #aaa;"> 14: </span> public function __construct()
<span style="color: #aaa;"> 15: </span> {
<span style="color: #aaa;"> 16: </span><span style="background-color: #ffa; padding-top: 2px; padding-bottom: 1px;"> parent::__construct();
</span><span style="color: #aaa;"> 17: </span>
<span style="color: #aaa;"> 18: </span> // Disable the Dashboard?
<span style="color: #aaa;"> 19: </span> if (false) {
</pre></div></span><br/><br/> </li><li><b>DashboardController->__construct()</b><br/><span style="font-size:11px;"><div style="margin-bottom: 5px;"><a href="#" style="color: #00f;" onclick="var c = document.getElementById('context3'); if (c.style.display == 'block') c.style.display = 'none'; else c.style.display = 'block'; this.blur(); return false;">chorus/Controller.php:71</a><pre id="context3" style="margin-top: 0px; margin-bottom: 0px; display: none; background-color: #fff; margin-right: 10px; font-size: 11px; line-height: 1.2em; overflow: auto; border: 1px solid #555; padding: 3px;"><span style="color: #aaa;"> 68: </span>
<span style="color: #aaa;"> 69: </span> if ($controller &amp;&amp; class_exists($controller_class_name)) {
<span style="color: #aaa;"> 70: </span> Log::start_timer(&#039;construct&#039;);
<span style="color: #aaa;"> 71: </span><span style="background-color: #ffa; padding-top: 2px; padding-bottom: 1px;"> $controller_obj = new $controller_class_name;
</span><span style="color: #aaa;"> 72: </span> Log::stop_timer(&#039;construct&#039;);
<span style="color: #aaa;"> 73: </span> self::$current_controller = $controller_obj;
<span style="color: #aaa;"> 74: </span>
</pre></div></span><br/><br/> </li><li><b>Controller::execute("dashboard", "index")</b><br/><span style="font-size:11px;"><div style="margin-bottom: 5px;"><a href="#" style="color: #00f;" onclick="var c = document.getElementById('context4'); if (c.style.display == 'block') c.style.display = 'none'; else c.style.display = 'block'; this.blur(); return false;">chorus/Dispatch.php:186</a><pre id="context4" style="margin-top: 0px; margin-bottom: 0px; display: none; background-color: #fff; margin-right: 10px; font-size: 11px; line-height: 1.2em; overflow: auto; border: 1px solid #555; padding: 3px;"><span style="color: #aaa;"> 183: </span>
<span style="color: #aaa;"> 184: </span>/* Controller */
<span style="color: #aaa;"> 185: </span>Log::start_timer(&#039;exec&#039;);
<span style="color: #aaa;"> 186: </span><span style="background-color: #ffa; padding-top: 2px; padding-bottom: 1px;">$out = Controller::execute($_GET[&#039;controller&#039;], $_GET[&#039;action&#039;]);
</span><span style="color: #aaa;"> 187: </span>Log::stop_timer(&#039;exec&#039;);
<span style="color: #aaa;"> 188: </span>Log::start_timer(&#039;shutdown&#039;);
<span style="color: #aaa;"> 189: </span>Log::update_profiling_header();
</pre></div></span><br/><br/> </li><li><b>require_once("/var/www/apps/chorus/Dispatch.php")</b><br/><span style="font-size:11px;"><div style="margin-bottom: 5px;"><a href="#" style="color: #00f;" onclick="var c = document.getElementById('context5'); if (c.style.display == 'block') c.style.display = 'none'; else c.style.display = 'block'; this.blur(); return false;">www/dispatch.php:83</a><pre id="context5" style="margin-top: 0px; margin-bottom: 0px; display: none; background-color: #fff; margin-right: 10px; font-size: 11px; line-height: 1.2em; overflow: auto; border: 1px solid #555; padding: 3px;"><span style="color: #aaa;"> 80: </span>}
<span style="color: #aaa;"> 81: </span>
<span style="color: #aaa;"> 82: </span>require_once(&#039;chorus/Paths.php&#039;);
<span style="color: #aaa;"> 83: </span><span style="background-color: #ffa; padding-top: 2px; padding-bottom: 1px;">require_once(&#039;chorus/Dispatch.php&#039;);
</span></pre></div></span><br/><br/> </li></ul> <style type="text/css">
#chorus_errors {
margin-top: 2em;
background-color: #fff;
color: #000;
padding: 3px;
font-size: 9px;
font-family: 'Lucida Grande', Verdana, Arial, sans-serif;
z-index: 9999;
}
#chorus_errors, #chorus_errors td, #chorus_errors th {
color: #000;
font-size: 9px;
font-family: 'Lucida Grande', Verdana, Arial, sans-serif;
}
#chorus_errors table { border-collapse: collapse; }
#chorus_errors td { border-top: 1px solid #ccc; border-right: 1px solid #ccc;}
#chorus_errors th { border-bottom: 1px solid #fcc; }
#chorus_errors li {
margin-bottom: 4px;
}
.chorus_errors_warning {
color: #fff;
background-color: #c00;
font-weight: bold;
font-size: 12px;
padding: 2px;
}
.chorus_errors_info {
padding: 5px;
}
.chorus_trace { background-color: #eef; }
.chorus_trace_arg_num { color: #c00; }
.chorus_trace_arg_str { color: #0c0; }
.chorus_trace_arg_arr { color: #00c; }
</style>
<script type="text/javascript">
function chorus_errors_dropdown(id)
{
var e = document.getElementById(id);
if (e.style.display == 'block') e.style.display = 'none';
else e.style.display = 'block';
}
</script>
<div id="chorus_errors">
<div id="chorus_inner_errors">
<b>notice (4)</b>
<ol>
<li>
0 ms:
<a href="javascript:chorus_errors_dropdown('chorus_log_1_0')"
>[trace]</a>
<span class="chorus_errors_warning">
config/routes.php:30: Use of undefined constant IS_TUMBLR_DOT_COM - assumed &#039;IS_TUMBLR_DOT_COM&#039; </span>
<div id="chorus_log_1_0" class="chorus_trace" style="display: none;">
<ul>
<li><b>error_handler(8, "Use of undefined constant IS_TUMBLR_DOT_COM - assumed 'IS_TUMBLR_DOT_COM'", "/var/www/apps/tumblr/config/routes.php", 30, Array(25))</b><br/><span style="font-size:11px;"><div style="margin-bottom: 5px;"><a href="#" style="color: #00f;" onclick="var c = document.getElementById('context6'); if (c.style.display == 'block') c.style.display = 'none'; else c.style.display = 'block'; this.blur(); return false;">config/routes.php:30</a><pre id="context6" style="margin-top: 0px; margin-bottom: 0px; display: block; background-color: #fff; margin-right: 10px; font-size: 11px; line-height: 1.2em; overflow: auto; border: 1px solid #555; padding: 3px;"><span style="color: #aaa;"> 27: </span>$_SERVER[&#039;REQUEST_URI&#039;] = $path . ($qs === false ? &#039;&#039; : &#039;?&#039; . $qs);
<span style="color: #aaa;"> 28: </span>
<span style="color: #aaa;"> 29: </span>// Host-specific
<span style="color: #aaa;"> 30: </span><span style="background-color: #faa; padding-top: 2px; padding-bottom: 1px;">if (IS_TUMBLR_DOT_COM) {
</span><span style="color: #aaa;"> 31: </span> // Tumblr domains
<span style="color: #aaa;"> 32: </span> $router-&gt;map(&quot;/crossdomain.xml&quot;, array(&#039;controller&#039; =&gt; &#039;main&#039;, &#039;action&#039; =&gt; &#039;crossdomain_xml&#039;));
<span style="color: #aaa;"> 33: </span> $router-&gt;map(&quot;/search/:q&quot;, array(&#039;controller&#039; =&gt; &#039;main&#039;, &#039;action&#039; =&gt; &#039;radar&#039;));
</pre></div></span><br/><br/> </li><li><b>include("/var/www/apps/tumblr/config/routes.php")</b><br/><span style="font-size:11px;"><div style="margin-bottom: 5px;"><a href="#" style="color: #00f;" onclick="var c = document.getElementById('context7'); if (c.style.display == 'block') c.style.display = 'none'; else c.style.display = 'block'; this.blur(); return false;">chorus/Dispatch.php:178</a><pre id="context7" style="margin-top: 0px; margin-bottom: 0px; display: none; background-color: #fff; margin-right: 10px; font-size: 11px; line-height: 1.2em; overflow: auto; border: 1px solid #555; padding: 3px;"><span style="color: #aaa;"> 175: </span>
<span style="color: #aaa;"> 176: </span>/* Router */
<span style="color: #aaa;"> 177: </span>$router = new Router;
<span style="color: #aaa;"> 178: </span><span style="background-color: #ffa; padding-top: 2px; padding-bottom: 1px;">include(BASE_PATH . &#039;/config/routes.php&#039;);
</span><span style="color: #aaa;"> 179: </span>$vars = array_map(&#039;urldecode&#039;, $router-&gt;parse($_SERVER[&#039;REQUEST_URI&#039;]));
<span style="color: #aaa;"> 180: </span>if (! isset($vars[&#039;action&#039;]) || ! $vars[&#039;action&#039;]) $vars[&#039;action&#039;] = &#039;index&#039;;
<span style="color: #aaa;"> 181: </span>$_GET = array_merge($_GET, $vars);
</pre></div></span><br/><br/> </li><li><b>require_once("/var/www/apps/chorus/Dispatch.php")</b><br/><span style="font-size:11px;"><div style="margin-bottom: 5px;"><a href="#" style="color: #00f;" onclick="var c = document.getElementById('context8'); if (c.style.display == 'block') c.style.display = 'none'; else c.style.display = 'block'; this.blur(); return false;">www/dispatch.php:83</a><pre id="context8" style="margin-top: 0px; margin-bottom: 0px; display: none; background-color: #fff; margin-right: 10px; font-size: 11px; line-height: 1.2em; overflow: auto; border: 1px solid #555; padding: 3px;"><span style="color: #aaa;"> 80: </span>}
<span style="color: #aaa;"> 81: </span>
<span style="color: #aaa;"> 82: </span>require_once(&#039;chorus/Paths.php&#039;);
<span style="color: #aaa;"> 83: </span><span style="background-color: #ffa; padding-top: 2px; padding-bottom: 1px;">require_once(&#039;chorus/Dispatch.php&#039;);
</span></pre></div></span><br/><br/> </li> </ul>
</div>
</li>
<li>
1 ms:
<a href="javascript:chorus_errors_dropdown('chorus_log_1_1')"
>[trace]</a>
<span class="chorus_errors_warning">
config/routes.php:620: Use of undefined constant IS_TUMBLR_DOT_COM - assumed &#039;IS_TUMBLR_DOT_COM&#039; </span>
<div id="chorus_log_1_1" class="chorus_trace" style="display: none;">
<ul>
<li><b>error_handler(8, "Use of undefined constant IS_TUMBLR_DOT_COM - assumed 'IS_TUMBLR_DOT_COM'", "/var/www/apps/tumblr/config/routes.php", 620, Array(25))</b><br/><span style="font-size:11px;"><div style="margin-bottom: 5px;"><a href="#" style="color: #00f;" onclick="var c = document.getElementById('context9'); if (c.style.display == 'block') c.style.display = 'none'; else c.style.display = 'block'; this.blur(); return false;">config/routes.php:620</a><pre id="context9" style="margin-top: 0px; margin-bottom: 0px; display: block; background-color: #fff; margin-right: 10px; font-size: 11px; line-height: 1.2em; overflow: auto; border: 1px solid #555; padding: 3px;"><span style="color: #aaa;"> 617: </span>// $router-&gt;map(&quot;/explore&quot;, array(&#039;controller&#039; =&gt; &#039;main&#039;, &#039;action&#039; =&gt; &#039;explore&#039;));
<span style="color: #aaa;"> 618: </span>// $router-&gt;map(&quot;/radar&quot;, array(&#039;controller&#039; =&gt; &#039;main&#039;, &#039;action&#039; =&gt; &#039;radar&#039;));
<span style="color: #aaa;"> 619: </span>
<span style="color: #aaa;"> 620: </span><span style="background-color: #faa; padding-top: 2px; padding-bottom: 1px;">if (IS_TUMBLR_DOT_COM) {
</span><span style="color: #aaa;"> 621: </span> $router-&gt;map(&quot;/help/query&quot;, array(&#039;controller&#039; =&gt; &#039;main&#039;, &#039;action&#039; =&gt; &#039;log_help_query&#039;));
<span style="color: #aaa;"> 622: </span> $router-&gt;map(&quot;/help/:lang&quot;, array(&#039;controller&#039; =&gt; &#039;main&#039;, &#039;action&#039; =&gt; &#039;doc_page&#039;));
<span style="color: #aaa;"> 623: </span> $router-&gt;map(&quot;/help/edit&quot;, array(&#039;controller&#039; =&gt; &#039;main&#039;, &#039;action&#039; =&gt; &#039;edit_doc_page&#039;, &#039;name&#039; =&gt; &#039;index&#039;));
</pre></div></span><br/><br/> </li><li><b>include("/var/www/apps/tumblr/config/routes.php")</b><br/><span style="font-size:11px;"><div style="margin-bottom: 5px;"><a href="#" style="color: #00f;" onclick="var c = document.getElementById('context10'); if (c.style.display == 'block') c.style.display = 'none'; else c.style.display = 'block'; this.blur(); return false;">chorus/Dispatch.php:178</a><pre id="context10" style="margin-top: 0px; margin-bottom: 0px; display: none; background-color: #fff; margin-right: 10px; font-size: 11px; line-height: 1.2em; overflow: auto; border: 1px solid #555; padding: 3px;"><span style="color: #aaa;"> 175: </span>
<span style="color: #aaa;"> 176: </span>/* Router */
<span style="color: #aaa;"> 177: </span>$router = new Router;
<span style="color: #aaa;"> 178: </span><span style="background-color: #ffa; padding-top: 2px; padding-bottom: 1px;">include(BASE_PATH . &#039;/config/routes.php&#039;);
</span><span style="color: #aaa;"> 179: </span>$vars = array_map(&#039;urldecode&#039;, $router-&gt;parse($_SERVER[&#039;REQUEST_URI&#039;]));
<span style="color: #aaa;"> 180: </span>if (! isset($vars[&#039;action&#039;]) || ! $vars[&#039;action&#039;]) $vars[&#039;action&#039;] = &#039;index&#039;;
<span style="color: #aaa;"> 181: </span>$_GET = array_merge($_GET, $vars);
</pre></div></span><br/><br/> </li><li><b>require_once("/var/www/apps/chorus/Dispatch.php")</b><br/><span style="font-size:11px;"><div style="margin-bottom: 5px;"><a href="#" style="color: #00f;" onclick="var c = document.getElementById('context11'); if (c.style.display == 'block') c.style.display = 'none'; else c.style.display = 'block'; this.blur(); return false;">www/dispatch.php:83</a><pre id="context11" style="margin-top: 0px; margin-bottom: 0px; display: none; background-color: #fff; margin-right: 10px; font-size: 11px; line-height: 1.2em; overflow: auto; border: 1px solid #555; padding: 3px;"><span style="color: #aaa;"> 80: </span>}
<span style="color: #aaa;"> 81: </span>
<span style="color: #aaa;"> 82: </span>require_once(&#039;chorus/Paths.php&#039;);
<span style="color: #aaa;"> 83: </span><span style="background-color: #ffa; padding-top: 2px; padding-bottom: 1px;">require_once(&#039;chorus/Dispatch.php&#039;);
</span></pre></div></span><br/><br/> </li> </ul>
</div>
</li>
<li>
1 ms:
<a href="javascript:chorus_errors_dropdown('chorus_log_1_2')"
>[trace]</a>
<span class="chorus_errors_warning">
config/routes.php:649: Use of undefined constant IS_TUMBLR_DOT_COM - assumed &#039;IS_TUMBLR_DOT_COM&#039; </span>
<div id="chorus_log_1_2" class="chorus_trace" style="display: none;">
<ul>
<li><b>error_handler(8, "Use of undefined constant IS_TUMBLR_DOT_COM - assumed 'IS_TUMBLR_DOT_COM'", "/var/www/apps/tumblr/config/routes.php", 649, Array(25))</b><br/><span style="font-size:11px;"><div style="margin-bottom: 5px;"><a href="#" style="color: #00f;" onclick="var c = document.getElementById('context12'); if (c.style.display == 'block') c.style.display = 'none'; else c.style.display = 'block'; this.blur(); return false;">config/routes.php:649</a><pre id="context12" style="margin-top: 0px; margin-bottom: 0px; display: block; background-color: #fff; margin-right: 10px; font-size: 11px; line-height: 1.2em; overflow: auto; border: 1px solid #555; padding: 3px;"><span style="color: #aaa;"> 646: </span>$router-&gt;map(&quot;/sitemap.xml&quot;, array(&#039;controller&#039; =&gt; &#039;tumblelog&#039;, &#039;action&#039; =&gt; &#039;sitemap_index&#039;));
<span style="color: #aaa;"> 647: </span>$router-&gt;map(&quot;/private/:id/rss/:key&quot;, array(&#039;controller&#039; =&gt; &#039;main&#039;, &#039;action&#039; =&gt; &#039;private_tumblelog_rss&#039;));
<span style="color: #aaa;"> 648: </span>
<span style="color: #aaa;"> 649: </span><span style="background-color: #faa; padding-top: 2px; padding-bottom: 1px;">if (IS_TUMBLR_DOT_COM) {
</span><span style="color: #aaa;"> 650: </span> $router-&gt;map(&quot;/:action/:id&quot;, array(&#039;controller&#039; =&gt; &#039;main&#039;));
<span style="color: #aaa;"> 651: </span> $router-&gt;map(&quot;/:action&quot;, array(&#039;controller&#039; =&gt; &#039;main&#039;));
<span style="color: #aaa;"> 652: </span>} else {
</pre></div></span><br/><br/> </li><li><b>include("/var/www/apps/tumblr/config/routes.php")</b><br/><span style="font-size:11px;"><div style="margin-bottom: 5px;"><a href="#" style="color: #00f;" onclick="var c = document.getElementById('context13'); if (c.style.display == 'block') c.style.display = 'none'; else c.style.display = 'block'; this.blur(); return false;">chorus/Dispatch.php:178</a><pre id="context13" style="margin-top: 0px; margin-bottom: 0px; display: none; background-color: #fff; margin-right: 10px; font-size: 11px; line-height: 1.2em; overflow: auto; border: 1px solid #555; padding: 3px;"><span style="color: #aaa;"> 175: </span>
<span style="color: #aaa;"> 176: </span>/* Router */
<span style="color: #aaa;"> 177: </span>$router = new Router;
<span style="color: #aaa;"> 178: </span><span style="background-color: #ffa; padding-top: 2px; padding-bottom: 1px;">include(BASE_PATH . &#039;/config/routes.php&#039;);
</span><span style="color: #aaa;"> 179: </span>$vars = array_map(&#039;urldecode&#039;, $router-&gt;parse($_SERVER[&#039;REQUEST_URI&#039;]));
<span style="color: #aaa;"> 180: </span>if (! isset($vars[&#039;action&#039;]) || ! $vars[&#039;action&#039;]) $vars[&#039;action&#039;] = &#039;index&#039;;
<span style="color: #aaa;"> 181: </span>$_GET = array_merge($_GET, $vars);
</pre></div></span><br/><br/> </li><li><b>require_once("/var/www/apps/chorus/Dispatch.php")</b><br/><span style="font-size:11px;"><div style="margin-bottom: 5px;"><a href="#" style="color: #00f;" onclick="var c = document.getElementById('context14'); if (c.style.display == 'block') c.style.display = 'none'; else c.style.display = 'block'; this.blur(); return false;">www/dispatch.php:83</a><pre id="context14" style="margin-top: 0px; margin-bottom: 0px; display: none; background-color: #fff; margin-right: 10px; font-size: 11px; line-height: 1.2em; overflow: auto; border: 1px solid #555; padding: 3px;"><span style="color: #aaa;"> 80: </span>}
<span style="color: #aaa;"> 81: </span>
<span style="color: #aaa;"> 82: </span>require_once(&#039;chorus/Paths.php&#039;);
<span style="color: #aaa;"> 83: </span><span style="background-color: #ffa; padding-top: 2px; padding-bottom: 1px;">require_once(&#039;chorus/Dispatch.php&#039;);
</span></pre></div></span><br/><br/> </li> </ul>
</div>
</li>
<li>
15 ms:
<a href="javascript:chorus_errors_dropdown('chorus_log_1_3')"
>[trace]</a>
<span class="chorus_errors_warning">
app/controllers/app.php:104: Use of undefined constant P3P_CP - assumed &#039;P3P_CP&#039; </span>
<div id="chorus_log_1_3" class="chorus_trace" style="display: none;">
<ul>
<li><b>error_handler(8, "Use of undefined constant P3P_CP - assumed 'P3P_CP'", "/var/www/apps/tumblr/app/controllers/app.php", 104, Array(3))</b><br/><span style="font-size:11px;"><div style="margin-bottom: 5px;"><a href="#" style="color: #00f;" onclick="var c = document.getElementById('context15'); if (c.style.display == 'block') c.style.display = 'none'; else c.style.display = 'block'; this.blur(); return false;">app/controllers/app.php:104</a><pre id="context15" style="margin-top: 0px; margin-bottom: 0px; display: block; background-color: #fff; margin-right: 10px; font-size: 11px; line-height: 1.2em; overflow: auto; border: 1px solid #555; padding: 3px;"><span style="color: #aaa;"> 101: </span> }
<span style="color: #aaa;"> 102: </span>
<span style="color: #aaa;"> 103: </span>
<span style="color: #aaa;"> 104: </span><span style="background-color: #faa; padding-top: 2px; padding-bottom: 1px;"> header(&#039;P3P: CP=&quot;&#039; . P3P_CP . &#039;&quot;&#039;);
</span><span style="color: #aaa;"> 105: </span> $host = substring_before($_SERVER[&#039;HTTP_HOST&#039;], &#039;:&#039;);
<span style="color: #aaa;"> 106: </span>
<span style="color: #aaa;"> 107: </span> // data.tumblr
</pre></div></span><br/><br/> </li><li><b>AppController->__construct()</b><br/><span style="font-size:11px;"><div style="margin-bottom: 5px;"><a href="#" style="color: #00f;" onclick="var c = document.getElementById('context16'); if (c.style.display == 'block') c.style.display = 'none'; else c.style.display = 'block'; this.blur(); return false;">app/controllers/dashboard.php:16</a><pre id="context16" style="margin-top: 0px; margin-bottom: 0px; display: none; background-color: #fff; margin-right: 10px; font-size: 11px; line-height: 1.2em; overflow: auto; border: 1px solid #555; padding: 3px;"><span style="color: #aaa;"> 13: </span>
<span style="color: #aaa;"> 14: </span> public function __construct()
<span style="color: #aaa;"> 15: </span> {
<span style="color: #aaa;"> 16: </span><span style="background-color: #ffa; padding-top: 2px; padding-bottom: 1px;"> parent::__construct();
</span><span style="color: #aaa;"> 17: </span>
<span style="color: #aaa;"> 18: </span> // Disable the Dashboard?
<span style="color: #aaa;"> 19: </span> if (false) {
</pre></div></span><br/><br/> </li><li><b>DashboardController->__construct()</b><br/><span style="font-size:11px;"><div style="margin-bottom: 5px;"><a href="#" style="color: #00f;" onclick="var c = document.getElementById('context17'); if (c.style.display == 'block') c.style.display = 'none'; else c.style.display = 'block'; this.blur(); return false;">chorus/Controller.php:71</a><pre id="context17" style="margin-top: 0px; margin-bottom: 0px; display: none; background-color: #fff; margin-right: 10px; font-size: 11px; line-height: 1.2em; overflow: auto; border: 1px solid #555; padding: 3px;"><span style="color: #aaa;"> 68: </span>
<span style="color: #aaa;"> 69: </span> if ($controller &amp;&amp; class_exists($controller_class_name)) {
<span style="color: #aaa;"> 70: </span> Log::start_timer(&#039;construct&#039;);
<span style="color: #aaa;"> 71: </span><span style="background-color: #ffa; padding-top: 2px; padding-bottom: 1px;"> $controller_obj = new $controller_class_name;
</span><span style="color: #aaa;"> 72: </span> Log::stop_timer(&#039;construct&#039;);
<span style="color: #aaa;"> 73: </span> self::$current_controller = $controller_obj;
<span style="color: #aaa;"> 74: </span>
</pre></div></span><br/><br/> </li><li><b>Controller::execute("dashboard", "index")</b><br/><span style="font-size:11px;"><div style="margin-bottom: 5px;"><a href="#" style="color: #00f;" onclick="var c = document.getElementById('context18'); if (c.style.display == 'block') c.style.display = 'none'; else c.style.display = 'block'; this.blur(); return false;">chorus/Dispatch.php:186</a><pre id="context18" style="margin-top: 0px; margin-bottom: 0px; display: none; background-color: #fff; margin-right: 10px; font-size: 11px; line-height: 1.2em; overflow: auto; border: 1px solid #555; padding: 3px;"><span style="color: #aaa;"> 183: </span>
<span style="color: #aaa;"> 184: </span>/* Controller */
<span style="color: #aaa;"> 185: </span>Log::start_timer(&#039;exec&#039;);
<span style="color: #aaa;"> 186: </span><span style="background-color: #ffa; padding-top: 2px; padding-bottom: 1px;">$out = Controller::execute($_GET[&#039;controller&#039;], $_GET[&#039;action&#039;]);
</span><span style="color: #aaa;"> 187: </span>Log::stop_timer(&#039;exec&#039;);
<span style="color: #aaa;"> 188: </span>Log::start_timer(&#039;shutdown&#039;);
<span style="color: #aaa;"> 189: </span>Log::update_profiling_header();
</pre></div></span><br/><br/> </li><li><b>require_once("/var/www/apps/chorus/Dispatch.php")</b><br/><span style="font-size:11px;"><div style="margin-bottom: 5px;"><a href="#" style="color: #00f;" onclick="var c = document.getElementById('context19'); if (c.style.display == 'block') c.style.display = 'none'; else c.style.display = 'block'; this.blur(); return false;">www/dispatch.php:83</a><pre id="context19" style="margin-top: 0px; margin-bottom: 0px; display: none; background-color: #fff; margin-right: 10px; font-size: 11px; line-height: 1.2em; overflow: auto; border: 1px solid #555; padding: 3px;"><span style="color: #aaa;"> 80: </span>}
<span style="color: #aaa;"> 81: </span>
<span style="color: #aaa;"> 82: </span>require_once(&#039;chorus/Paths.php&#039;);
<span style="color: #aaa;"> 83: </span><span style="background-color: #ffa; padding-top: 2px; padding-bottom: 1px;">require_once(&#039;chorus/Dispatch.php&#039;);
</span></pre></div></span><br/><br/> </li> </ul>
</div>
</li>
</ol>
<b>memory (1)</b>
<ol>
<li>
19 ms:
<a href="javascript:chorus_errors_dropdown('chorus_log_2_0')"
>[trace]</a>
<span class="chorus_errors_info">
4.9MB in use, 6.0 MB peak </span>
<div id="chorus_log_2_0" class="chorus_trace" style="display: none;">
<ul>
<li><b>Log::render_html("1", false)</b><br/><span style="font-size:11px;"><div style="margin-bottom: 5px;"><a href="#" style="color: #00f;" onclick="var c = document.getElementById('context20'); if (c.style.display == 'block') c.style.display = 'none'; else c.style.display = 'block'; this.blur(); return false;">chorus/Log.php:434</a><pre id="context20" style="margin-top: 0px; margin-bottom: 0px; display: block; background-color: #fff; margin-right: 10px; font-size: 11px; line-height: 1.2em; overflow: auto; border: 1px solid #555; padding: 3px;"><span style="color: #aaa;"> 431: </span>
<span style="color: #aaa;"> 432: </span> $html .= self::trace_to_html((array) $e-&gt;getTrace()) . &#039;&lt;/ul&gt;&#039;;
<span style="color: #aaa;"> 433: </span>
<span style="color: #aaa;"> 434: </span><span style="background-color: #faa; padding-top: 2px; padding-bottom: 1px;"> $html .= self::render_html(true, false);
</span><span style="color: #aaa;"> 435: </span>
<span style="color: #aaa;"> 436: </span> $html .= &quot;&lt;tr&gt;&lt;td height=\&quot;20\&quot;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td bgcolor=\&quot;#459EE0\&quot;
<span style="color: #aaa;"> 437: </span> style=\&quot;font:Bold 14px Helvetica; color:#fff; padding:6px;\&quot;&gt;Variables&lt;/td&gt;
</pre></div></span><br/><br/> </li><li><b>Log::exception("exception 'OverridableException' with message 'Cannot modify header information - headers already sent by (output started at /var/www/apps/tumblr/config/config.php:748)' in /var/www/apps/tumblr/app/controllers/app.php:104.Stack trace:.#0 [internal function]: error_handler(2, 'Cannot modify h...', '/var/www/apps/t...', 104, Array).#1 /var/www/apps/tumblr/app/controllers/app.php(104): header('P3P: CP="P3P_CP...').#2 /var/www/apps/tumblr/app/controllers/dashboard.php(16): AppController->__construct [... 757 chars]")</b><br/><span style="font-size:11px;"><div style="margin-bottom: 5px;"><a href="#" style="color: #00f;" onclick="var c = document.getElementById('context21'); if (c.style.display == 'block') c.style.display = 'none'; else c.style.display = 'block'; this.blur(); return false;">chorus/Base.php:85</a><pre id="context21" style="margin-top: 0px; margin-bottom: 0px; display: none; background-color: #fff; margin-right: 10px; font-size: 11px; line-height: 1.2em; overflow: auto; border: 1px solid #555; padding: 3px;"><span style="color: #aaa;"> 82: </span>
<span style="color: #aaa;"> 83: </span> error_log(Log::exception_plaintext($e));
<span style="color: #aaa;"> 84: </span>
<span style="color: #aaa;"> 85: </span><span style="background-color: #ffa; padding-top: 2px; padding-bottom: 1px;"> $html = Log::exception($e);
</span><span style="color: #aaa;"> 86: </span> if (ENVIRONMENT === &#039;production&#039;) {
<span style="color: #aaa;"> 87: </span> if ((
<span style="color: #aaa;"> 88: </span> class_exists(&#039;DatabaseTableLockException&#039;) &amp;&amp;
</pre></div></span><br/><br/> </li><li><b>exception_handler("exception 'OverridableException' with message 'Cannot modify header information - headers already sent by (output started at /var/www/apps/tumblr/config/config.php:748)' in /var/www/apps/tumblr/app/controllers/app.php:104.Stack trace:.#0 [internal function]: error_handler(2, 'Cannot modify h...', '/var/www/apps/t...', 104, Array).#1 /var/www/apps/tumblr/app/controllers/app.php(104): header('P3P: CP="P3P_CP...').#2 /var/www/apps/tumblr/app/controllers/dashboard.php(16): AppController->__construct [... 757 chars]")</b><br/><span style="font-size:11px;"></span><br/><br/> </li> </ul>
</div>
</li>
</ol>
<b>Server</b><br />
<ul style="list-style-type:none"><li>174.121.98.136</li></ul>
<br />
<b>Timers</b><br/>
<table border="0">
<tr>
<th>Time</th><th>Execs</th><th>Mem</th><th>Timer</th>
</tr>
<tr>
<td>
27 ms
</td>
<td> </td>
<td> </td>
<td>Total</td>
</tr>
<tr>
<td>13 ms</td>
<td>1</td>
<td>3518 KB</td>
<td>include</td>
</tr>
<tr>
<td>0 ms</td>
<td>0</td>
<td>0 KB</td>
<td>construct</td>
</tr>
<tr>
<td>0 ms</td>
<td>0</td>
<td>0 KB</td>
<td>exec</td>
</tr>
</table>
</div>
</div>
<tr><td height="20"></td></tr><tr><td bgcolor="#459EE0"
style="font:Bold 14px Helvetica; color:#fff; padding:6px;">Variables</td>
</tr><tr><td bgcolor="#A3D8FF"><table border="0" width="750"
cellspacing="4" cellpadding="3" bgcolor="#80C9FF"
style="font:normal 12px Courier; line-height:12px;"><tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$REDIRECT_STATUS</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;">200</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$HTTP_HOST</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;">www.tumblr.com</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$HTTP_USER_AGENT</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;">Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; en-us)<br/>
AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.3<br/>
Safari/533.19.4</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$HTTP_ACCEPT</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;">application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;<br/>
q=0.8,image/png,*/*;q=0.5</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$HTTP_CACHE_CONTROL</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;">max-age=0</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$HTTP_ACCEPT_LANGUAGE</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;">en-us</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$HTTP_ACCEPT_ENCODING</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;">gzip, deflate</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$HTTP_COOKIE</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;">hide_explore_new_badge=1; hide_W69J7IPns=1; pfe=1328807130;<br/>
pfp=LPXs8WYMkslmc37pcYV8dsz7o6y6Kvl28pePw7WE; pfu=17235;<br/>
tmgioct=ouJlgWwmODotoy13YabcwxFl; __utmc=189990958;<br/>
__utma=189990958.1937342936.1300265416.1300527611.1300527629.23;<br/>
logged_in=1;<br/>
__utmz=189990958.1300332119.7.2.utmcsr=assets.tumblr.com|utmccn=(<br/>
referral)|utmcmd=referral|utmcct=/iframe.html;<br/>
__qca=P0-839778801-1294077479234;<br/>
__gads=ID=6d0dcea9d15bcd33:T=1290683969:S=ALNI_MbQtinwDgGoeyf0RPH<br/>
k-K2tjjxcpQ</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$HTTP_X_FORWARDED_FOR</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;">89.167.221.3</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$HTTP_CONNECTION</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;">close</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$PATH</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;">/sbin:/usr/sbin:/bin:/usr/bin</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$SERVER_SIGNATURE</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;"><address>Apache/2.2.3 (CentOS) Server at www.tumblr.com Port<br/>
80</address>
</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$SERVER_SOFTWARE</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;">Apache/2.2.3 (CentOS)</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$SERVER_NAME</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;">www.tumblr.com</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$SERVER_ADDR</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;">174.121.98.136</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$SERVER_PORT</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;">80</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$REMOTE_ADDR</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;">174.121.194.34</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$DOCUMENT_ROOT</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;">/var/www/apps/tumblr/www</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$SERVER_ADMIN</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;">root@localhost</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$SCRIPT_FILENAME</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;">/var/www/apps/tumblr/www/dispatch.php</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$REMOTE_PORT</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;">47209</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$REDIRECT_URL</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;">/dashboard</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$GATEWAY_INTERFACE</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;">CGI/1.1</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$SERVER_PROTOCOL</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;">HTTP/1.1</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$REQUEST_METHOD</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;">GET</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$QUERY_STRING</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;"></div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$REQUEST_URI</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;">/dashboard</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$SCRIPT_NAME</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;">/dispatch.php</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$PHP_SELF</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;">/dispatch.php</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$REQUEST_TIME</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;">1300532502</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$UNFILTERED_REQUEST_URI</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;">/dashboard</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$load_avg</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;">2.03</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$base</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;">/var/www/apps/tumblr</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$tz</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;">America/New_York</div></td></tr>
<tr bgcolor="#A3D8FF"><td valign="top"><div style="
width:240px; word-wrap:break-word;"><b>$router</b></div></td><td width="500" valign="top"><div style="
width:450px; word-wrap:break-word;"><a href="#" onclick="document.getElementById('object_1').style.display='inline'; return false;">Router Object</a><br/><pre id="object_1" style="display:none;">Router Object
(
[routes:Router:private] => Array
(
[0] => Array
(
[0] => /crossdomain.xml
[1] => Array
(
[controller] => main
[action] => crossdomain_xml
)
)
[1] => Array
(
[0] => /search/:q
[1] => Array
(
[controller] => main
[action] => radar
)
)
[2] => Array
(
[0] => /search
[1] => Array
(
[controller] => main
[action] => search
)
)
[3] => Array
(
[0] => /tagged/:tag
[1] => Array
(
[controller] => main
[action] => tag
)
)
[4] => Array
(
[0] => /tagged/:tag/popular
[1] => Array
(
[controller] => main
[action] => tag
[popular] => 1
)
)
[5] => Array
(
[0] => /tagged/:tag/everything
[1] => Array
(
[controller] => main
[action] => tag
[everything] => 1
)
)
[6] => Array
(
[0] => /tagged/pic+pick
[1] => Array
(
[controller] => main
[action] => pic_pick
)
)
[7] => Array
(
[0] => /tagged/:tag/page/:page/:last_id_chain
[1] => Array
(
[controller] => main
[action] => tag
)
)
[8] => Array
(
[0] => /check_for_new_tag_posts/:tag/:quality/:last_post_id
[1] => Array
(
[controller] => main
[action] => check_for_new_tag_posts
)
)
[9] => Array
(
[0] => /bad_token
[1] => Array
(
[controller] => secure
[action] => bad_token
)
)
[10] => Array
(
[0] => /pay
[1] => Array
(
[controller] => secure
[action] => pay
)
)
[11] => Array
(
[0] => /track_tag/:tag
[1] => Array
(
[controller] => dashboard
[action] => track_tag
)
)
[12] => Array
(
[0] => /untrack_tag/:tag
[1] => Array
(
[controller] => dashboard
[action] => untrack_tag
)
)
[13] => Array
(
[0] => /facebook/canvas/:action
[1] => Array
(
[controller] => facebook
)
)
[14] => Array
(
[0] => /facebook/canvas
[1] => Array
(
[controller] => facebook
[action] => setup
)
)
[15] => Array
(
[0] => /follow/:id
[1] => Array
(
[controller] => dashboard
[action] => follow
)
)
[16] => Array
(
[0] => /languages/:language/strings.js
[1] => Array
(
[controller] => main
[action] => js_strings
)
)
[17] => Array
(
[0] => /promote
[1] => Array
(
[controller] => dashboard
[action] => promote_post
)
)
[18] => Array
(
[0] => /unpromote
[1] => Array
(
[controller] => dashboard
[action] => unpromote_post
)
)
[19] => Array
(
[0] => /gnip
[1] => Array
(
[controller] => main
[action] => gnip
)
)
[20] => Array
(
[0] => /gpoyw
[1] => Array
(
[controller] => main
[action] => gpoyw
)
)
[21] => Array
(
[0] => /directory/ban/:tumblelog_id/:directory_id
[1] => Array
(
[controller] => dashboard
[action] => ban_from_directory
)
)
[22] => Array
(
[0] => /directory/add/:tumblelog
[1] => Array
(
[controller] => dashboard
[action] => add_to_directory
)
)
[23] => Array
(
[0] => /directory/add
[1] => Array
(
[controller] => dashboard
[action] => add_to_directory
)
)
[24] => Array
(
[0] => /directory/tags
[1] => Array
(
[controller] => main
[action] => directory_page
[browse_tags] => 1
)
)
[25] => Array
(
[0] => /directory/recommend/stickers
[1] => Array
(
[controller] => dashboard
[action] => add_sticker
)
)
[26] => Array
(
[0] => /directory/recommend/:directory_name/:tumblelog_name
[1] => Array
(
[controller] => dashboard
[action] => recommend
)
)
[27] => Array
(
[0] => /directory/recommend/:directory_name
[1] => Array
(
[controller] => dashboard
[action] => recommend
)
)
[28] => Array
(
[0] => /directory/recommend
[1] => Array
(
[controller] => dashboard
[action] => recommend
)
)
[29] => Array
(
[0] => /directory/feature/confirmation
[1] => Array
(
[controller] => main
[action] => directory_feature_confirmation
)
)
[30] => Array
(
[0] => /directory/feature
[1] => Array
(
[controller] => dashboard
[action] => purchase_directory_feature
)
)
[31] => Array
(
[0] => /directory/get-listed/:directory_name
[1] => Array
(
[controller] => dashboard
[action] => get_listed
)
)
[32] => Array
(
[0] => /directory/get-listed
[1] => Array
(
[controller] => dashboard
[action] => get_listed
)
)
[33] => Array
(
[0] => /directory/:tag/page/:page
[1] => Array
(
[controller] => main
[action] => directory_page
)
)
[34] => Array
(
[0] => /directory/:tag
[1] => Array
(
[controller] => main
[action] => directory_page
)
)
[35] => Array
(
[0] => /directory
[1] => Array
(
[controller] => main
[action] => directory
)
)
[36] => Array
(
[0] => /popular/top
[1] => Array
(
[controller] => dashboard
[action] => popular_top
)
)
[37] => Array
(
[0] => /popular
[1] => Array
(
[controller] => main
[action] => wire
)
)
[38] => Array
(
[0] => /report/copyright-infringement
[1] => Array
(
[controller] => main
[action] => report_copyright_infringement
)
)
[39] => Array
(
[0] => /
[1] => Array
(
[controller] => tumblelog
[action] => index
)
)
[40] => Array
(
[0] => /disable_mobile_interface
[1] => Array
(
[controller] => tumblelog
[action] => disable_mobile_interface
)
)
[41] => Array
(
[0] => /page/:page
[1] => Array
(
[controller] => tumblelog
[action] => index
)
)
[42] => Array
(
[0] => /day/:yyyy/:mm/:dd
[1] => Array
(
[controller] => tumblelog
[action] => index
)
)
[43] => Array
(
[0] => /post/:id/:summary
[1] => Array
(
[controller] => tumblelog
[action] => post
)
)
[44] => Array
(
[0] => /post/:id
[1] => Array
(
[controller] => tumblelog
[action] => post
)
)
[45] => Array
(
[0] => /private/:id/:key
[1] => Array
(
[controller] => tumblelog
[action] => private_post
)
)
[46] => Array
(
[0] => /video/thumbnail/:id
[1] => Array
(
[controller] => tumblelog
[action] => video_thumbnail
)
)
[47] => Array
(
[0] => /js
[1] => Array
(
[controller] => tumblelog
[action] => index
[render_js] => 1
)
)
[48] => Array
(
[0] => /mobile
[1] => Array
(
[controller] => tumblelog
[action] => index
[mobile] => 1
)
)
[49] => Array
(
[0] => /mobile/page/:page
[1] => Array
(
[controller] => tumblelog
[action] => index
[mobile] => 1
)
)
[50] => Array
(
[0] => /mobile/post/:id
[1] => Array
(
[controller] => tumblelog
[action] => post
[mobile] => 1
)
)
[51] => Array
(
[0] => /archive/:year/:month
[1] => Array
(
[controller] => tumblelog
[action] => archive
)
)
[52] => Array
(
[0] => /archive
[1] => Array
(
[controller] => tumblelog
[action] => archive
)
)
[53] => Array
(
[0] => /rss/original
[1] => Array
(
[controller] => tumblelog
[action] => rss
[original_only] => 1
)
)
[54] => Array
(
[0] => /rss
[1] => Array
(
[controller] => tumblelog
[action] => rss
)
)
[55] => Array
(
[0] => /rss/photos
[1] => Array
(
[controller] => tumblelog
[action] => rss
[photos] => 1
)
)
[56] => Array
(
[0] => /rss.xml
[1] => Array
(
[controller] => tumblelog
[action] => rss_redirect
)
)
[57] => Array
(
[0] => /rss/links
[1] => Array
(
[controller] => tumblelog
[action] => rss
[direct_links] => 1
)
)
[58] => Array
(
[0] => /submit_form_js/:key/:time/submit.js
[1] => Array
(
[controller] => main
[action] => submit_form_js
)
)
[59] => Array
(
[0] => /submit_form/:tumblelog_url/success
[1] => Array
(
[controller] => main
[action] => submit_form
[success] => 1
)
)
[60] => Array
(
[0] => /submit_form/:tumblelog_url/:type
[1] => Array
(
[controller] => main
[action] => submit_form
)
)
[61] => Array
(
[0] => /submit_form/:tumblelog_url
[1] => Array
(
[controller] => main
[action] => submit_form
)
)
[62] => Array
(
[0] => /ask_form/:tumblelog_url/success
[1] => Array
(
[controller] => main
[action] => ask_form
[success] => 1
)
)
[63] => Array
(
[0] => /ask_form/:tumblelog_url/:type
[1] => Array
(
[controller] => main
[action] => ask_form
)
)
[64] => Array
(
[0] => /ask_form/:tumblelog_url
[1] => Array
(
[controller] => main
[action] => ask_form
)
)
[65] => Array
(
[0] => /submit/:type
[1] => Array
(
[controller] => tumblelog
[action] => index
[submission_page] => 1
)
)
[66] => Array
(
[0] => /submit
[1] => Array
(
[controller] => tumblelog
[action] => index
[submission_page] => 1
)
)
[67] => Array
(
[0] => /ask
[1] => Array
(
[controller] => tumblelog
[action] => index
[ask_page] => 1
)
)
[68] => Array
(
[0] => /contribute
[1] => Array
(
[controller] => tumblelog
[action] => submit
)
)
[69] => Array
(
[0] => /podcast
[1] => Array
(
[controller] => tumblelog
[action] => podcast
)
)
[70] => Array
(
[0] => /video_podcast
[1] => Array
(
[controller] => tumblelog
[action] => video_podcast
)
)
[71] => Array
(
[0] => /hype_machine_rss
[1] => Array
(
[controller] => tumblelog
[action] => hype_machine_rss
)
)
[72] => Array
(
[0] => /random
[1] => Array
(
[controller] => tumblelog
[action] => random
)
)
[73] => Array
(
[0] => /embed/:type
[1] => Array
(
[controller] => tumblelog
[action] => widget
)
)
[74] => Array
(
[0] => /terms_of_submission
[1] => Array
(
[controller] => tumblelog
[action] => terms_of_submission
)
)
[75] => Array
(
[0] => /theme/submit_feedback
[1] => Array
(
[controller] => dashboard
[action] => submit_theme_feedback
)
)
[76] => Array
(
[0] => /theme/submit_response
[1] => Array
(
[controller] => dashboard
[action] => submit_theme_feedback_response
)
)
[77] => Array
(
[0] => /theme/preview/:theme
[1] => Array
(
[controller] => dashboard
[action] => render_demo_theme
)
)
[78] => Array
(
[0] => /theme/:tumblelog/:theme
[1] => Array
(
[controller] => dashboard
[action] => render_demo_theme
)
)
[79] => Array
(
[0] => /submissions/rss/:key
[1] => Array
(
[controller] => tumblelog
[action] => submissions_rss
)
)
[80] => Array
(
[0] => /answer
[1] => Array
(
[controller] => main
[action] => answer
)
)
[81] => Array
(
[0] => /answer_form/:post_id/:key
[1] => Array
(
[controller] => main
[action] => answer_form
)
)
[82] => Array
(
[0] => /confirm/answer/:id/:confirmation_key
[1] => Array
(
[controller] => main
[action] => confirm_answer
)
)
[83] => Array
(
[0] => /tweets.js
[1] => Array
(
[controller] => tumblelog
[action] => recent_tweets
)
)
[84] => Array
(
[0] => /get_upload_status/:key
[1] => Array
(
[controller] => main
[action] => get_upload_status
)
)
[85] => Array
(
[0] => /login/follow/:follow
[1] => Array
(
[controller] => account
[action] => login
)
)
[86] => Array
(
[0] => /login
[1] => Array
(
[controller] => account
[action] => login
)
)
[87] => Array
(
[0] => /login/error
[1] => Array
(
[controller] => account
[action] => login
[error] => 1
)
)
[88] => Array
(
[0] => /login/basic
[1] => Array
(
[controller] => account
[action] => login
[basic] => 1
)
)
[89] => Array
(
[0] => /login/basic/error
[1] => Array
(
[controller] => account
[action] => login
[basic] => 1
[error] => 1
)
)
[90] => Array
(
[0] => /login/ssl
[1] => Array
(
[controller] => account
[action] => login
[enable_ssl] => 1
)
)
[91] => Array
(
[0] => /logout
[1] => Array
(
[controller] => account
[action] => logout
)
)
[92] => Array
(
[0] => /forgot_password
[1] => Array
(
[controller] => account
[action] => forgot_password
)
)
[93] => Array
(
[0] => /reset_password/:id/:key
[1] => Array
(
[controller] => account
[action] => reset_password
)
)
[94] => Array
(
[0] => /activate
[1] => Array
(
[controller] => account
[action] => activation_required
)
)
[95] => Array
(
[0] => /activate/:id/:key
[1] => Array
(
[controller] => account
[action] => activate
)
)
[96] => Array
(
[0] => /register/follow/:follow
[1] => Array
(
[controller] => account
[action] => register
)
)
[97] => Array
(
[0] => /register/:referer
[1] => Array
(
[controller] => account
[action] => register
)
)
[98] => Array
(
[0] => /register
[1] => Array
(
[controller] => account
[action] => register
)
)
[99] => Array
(
[0] => /register_dev
[1] => Array
(
[controller] => account
[action] => register_dev
)
)
[100] => Array
(
[0] => /suspended
[1] => Array
(
[controller] => account
[action] => suspended
)
)
[101] => Array
(
[0] => /oauth/apps
[1] => Array
(
[controller] => dashboard
[action] => oauth_apps
)
)
[102] => Array
(
[0] => /oauth/edit/:id
[1] => Array
(
[controller] => dashboard
[action] => register_oauth_app
)
)
[103] => Array
(
[0] => /oauth/register
[1] => Array
(
[controller] => dashboard
[action] => register_oauth_app
)
)
[104] => Array
(
[0] => /oauth/revoke
[1] => Array
(
[controller] => dashboard
[action] => revoke_oauth
)
)
[105] => Array
(
[0] => /oauth/access_token
[1] => Array
(
[controller] => api
[action] => oauth_access_token
)
)
[106] => Array
(
[0] => /oauth/request_token
[1] => Array
(
[controller] => api
[action] => oauth_request_token
)
)
[107] => Array
(
[0] => /oauth/authorize
[1] => Array
(
[controller] => api
[action] => oauth_authorize
)
)
[108] => Array
(
[0] => /api/read/json
[1] => Array
(
[controller] => api
[action] => read
[json] => 1
)
)
[109] => Array
(
[0] => /api/read
[1] => Array
(
[controller] => api
[action] => read
)
)
[110] => Array
(
[0] => /api/write
[1] => Array
(
[controller] => api
[action] => write
)
)
[111] => Array
(
[0] => /api/delete
[1] => Array
(
[controller] => api
[action] => write
[delete] => 1
)
)
[112] => Array
(
[0] => /api/authenticate
[1] => Array
(
[controller] => api
[action] => write
[authenticate-action] => 1
)
)
[113] => Array
(
[0] => /api/reblog
[1] => Array
(
[controller] => api
[action] => write
[reblog-action] => 1
)
)
[114] => Array
(
[0] => /api/check_for_new_posts/after/:id
[1] => Array
(
[controller] => dashboard
[action] => api_check_for_new_posts
)
)
[115] => Array
(
[0] => /api/dashboard/json
[1] => Array
(
[controller] => api
[action] => dashboard
[json] => 1
)
)
[116] => Array
(
[0] => /api/dashboard
[1] => Array
(
[controller] => api
[action] => dashboard
)
)
[117] => Array
(
[0] => /api/:action
[1] => Array
(
[controller] => api
)
)
[118] => Array
(
[0] => /post/:id/photoset_xml/:key/:size
[1] => Array
(
[controller] => main
[action] => slideshow_xml
)
)
[119] => Array
(
[0] => /submissions/page/:page
[1] => Array
(
[controller] => dashboard
[action] => submissions
)
)
[120] => Array
(
[0] => /tumblelog/:channel_id/submissions/page/:page
[1] => Array
(
[controller] => dashboard
[action] => submissions
)
)
[121] => Array
(
[0] => /tumblelog/:channel_id/submissions
[1] => Array
(
[controller] => dashboard
[action] => submissions
)
)
[122] => Array
(
[0] => /submissions
[1] => Array
(
[controller] => dashboard
[action] => submissions
)
)
[123] => Array
(
[0] => /tumblelog/:channel_id/order_post_queue
[1] => Array
(
[controller] => dashboard
[action] => order_post_queue
)
)
[124] => Array
(
[0] => /messages/page/:page
[1] => Array
(
[controller] => dashboard
[action] => submissions
)
)
[125] => Array
(
[0] => /tumblelog/:channel_id/messages/page/:page
[1] => Array
(
[controller] => dashboard
[action] => submissions
)
)
[126] => Array
(
[0] => /tumblelog/:channel_id/messages
[1] => Array
(
[controller] => dashboard
[action] => submissions
)
)
[127] => Array
(
[0] => /messages
[1] => Array
(
[controller] => dashboard
[action] => submissions
)
)
[128] => Array
(
[0] => /tumblelog/:channel_id/approve_submission/:id
[1] => Array
(
[controller] => dashboard
[action] => approve_submission
)
)
[129] => Array
(
[0] => /approve_submission/:id
[1] => Array
(
[controller] => dashboard
[action] => approve_submission
)
)
[130] => Array
(
[0] => /tumblelog/:channel_id/deny_submission/:id
[1] => Array
(
[controller] => dashboard
[action] => deny_submission
)
)
[131] => Array
(
[0] => /deny_submission/:id
[1] => Array
(
[controller] => dashboard
[action] => deny_submission
)
)
[132] => Array
(
[0] => /tumblelog/:id/pages/new
[1] => Array
(
[controller] => dashboard
[action] => edit_page
)
)
[133] => Array
(
[0] => /tumblelog/:id/pages/edit
[1] => Array
(
[controller] => dashboard
[action] => edit_page
)
)
[134] => Array
(
[0] => /tumblelog/:id/pages/delete
[1] => Array
(
[controller] => dashboard
[action] => delete_page
)
)
[135] => Array
(
[0] => /new/blog
[1] => Array
(
[controller] => dashboard
[action] => create_tumblelog
)
)
[136] => Array
(
[0] => /create/public/tumblelog
[1] => Array
(
[controller] => dashboard
[action] => create_tumblelog
[public] => 1
)
)
[137] => Array
(
[0] => /create/private/tumblelog
[1] => Array
(
[controller] => dashboard
[action] => create_tumblelog
[public] => 0
)
)
[138] => Array
(
[0] => /new/:type
[1] => Array
(
[controller] => dashboard
[action] => edit_post
)
)
[139] => Array
(
[0] => /edit/:id
[1] => Array
(
[controller] => dashboard
[action] => edit_post
)
)
[140] => Array
(
[0] => /reblog/tweet/:tweet_id/:type
[1] => Array
(
[controller] => dashboard
[action] => edit_post
)
)
[141] => Array
(
[0] => /reblog/tweet/:tweet_id
[1] => Array
(
[controller] => dashboard
[action] => edit_post
)
)
[142] => Array
(
[0] => /reblog/:reblog_post_id/:key/:type
[1] => Array
(
[controller] => dashboard
[action] => edit_post
)
)
[143] => Array
(
[0] => /reblog/:reblog_post_id/:key
[1] => Array
(
[controller] => dashboard
[action] => edit_post
)
)
[144] => Array
(
[0] => /delete
[1] => Array
(
[controller] => dashboard
[action] => delete
)
)
[145] => Array
(
[0] => /delete_vimeo/:id
[1] => Array
(
[controller] => dashboard
[action] => delete_vimeo
)
)
[146] => Array
(
[0] => /save
[1] => Array
(
[controller] => dashboard
[action] => save
)
)
[147] => Array
(
[0] => /lookup_contacts
[1] => Array
(
[controller] => dashboard
[action] => lookup_contacts
)
)
[148] => Array
(
[0] => /finish_welcome_step/:step
[1] => Array
(
[controller] => dashboard
[action] => finish_welcome_step
)
)
[149] => Array
(
[0] => /mentions/:page
[1] => Array
(
[controller] => dashboard
[action] => index
[mentions_page] => 1
)
)
[150] => Array
(
[0] => /mentions
[1] => Array
(
[controller] => dashboard
[action] => index
[mentions_page] => 1
)
)
[151] => Array
(
[0] => /vimeo_token
[1] => Array
(
[controller] => dashboard
[action] => vimeo_token
)
)
[152] => Array
(
[0] => /q+a
[1] => Array
(
[controller] => main
[action] => q_and_a
)
)
[153] => Array
(
[0] => /heywatch/error
[1] => Array
(
[controller] => api
[action] => heywatch_pingback_error
)
)
[154] => Array
(
[0] => /heywatch/encode_ok
[1] => Array
(
[controller] => api
[action] => heywatch_pingback_encode_ok
)
)
[155] => Array
(
[0] => /feeds/:id
[1] => Array
(
[controller] => dashboard
[action] => manage_feeds
)
)
[156] => Array
(
[0] => /feeds
[1] => Array
(
[controller] => dashboard
[action] => manage_feeds
)
)
[157] => Array
(
[0] => /delete_feed/:id
[1] => Array
(
[controller] => dashboard
[action] => delete_feed
)
)
[158] => Array
(
[0] => /delete_feed
[1] => Array
(
[controller] => dashboard
[action] => delete_feed
)
)
[159] => Array
(
[0] => /settings
[1] => Array
(
[controller] => dashboard
[action] => settings
)
)
[160] => Array
(
[0] => /preferences
[1] => Array
(
[controller] => dashboard
[action] => settings
)
)
[161] => Array
(
[0] => /preferences/language
[1] => Array
(
[controller] => dashboard
[action] => set_language_for_user
)
)
[162] => Array
(
[0] => /preferences/phone
[1] => Array
(
[controller] => dashboard
[action] => phone_preferences
)
)
[163] => Array
(
[0] => /preferences/:id
[1] => Array
(
[controller] => dashboard
[action] => settings
)
)
[164] => Array
(
[0] => /goodies
[1] => Array
(
[controller] => dashboard
[action] => goodies
)
)
[165] => Array
(
[0] => /save_phone_preferences
[1] => Array
(
[controller] => dashboard
[action] => save_phone_preferences
)
)
[166] => Array
(
[0] => /account/delete
[1] => Array
(
[controller] => dashboard
[action] => delete_account
)
)
[167] => Array
(
[0] => /likes/page/:page
[1] => Array
(
[controller] => dashboard
[action] => likes
)
)
[168] => Array
(
[0] => /likes
[1] => Array
(
[controller] => dashboard
[action] => likes
)
)
[169] => Array
(
[0] => /coco
[1] => Array
(
[controller] => account
[action] => register
[follow] => teamcoco
[coco_promo] => 1
)
)
[170] => Array
(
[0] => /liked/by/:tumblelog/page/:page
[1] => Array
(
[controller] => dashboard
[action] => likes
)
)
[171] => Array
(
[0] => /liked/by/:tumblelog
[1] => Array
(
[controller] => dashboard
[action] => likes
)
)
[172] => Array
(
[0] => /twitter/deauthorize/:tumblelog
[1] => Array
(
[controller] => account
[action] => twitter_oauth_authorize_callback
[deauthorize] => 1
)
)
[173] => Array
(
[0] => /twitter/deauthorize
[1] => Array
(
[controller] => account
[action] => twitter_oauth_authorize_callback
[deauthorize] => 1
)
)
[174] => Array
(
[0] => /twitter/authorize/:tumblelog
[1] => Array
(
[controller] => account
[action] => twitter_oauth_authorize_callback
)
)
[175] => Array
(
[0] => /twitter/authorize
[1] => Array
(
[controller] => account
[action] => twitter_oauth_authorize_callback
)
)
[176] => Array
(
[0] => /twitter/check/:tumblelog_name
[1] => Array
(
[controller] => dashboard
[action] => check_twitter
)
)
[177] => Array
(
[0] => /twitter/check
[1] => Array
(
[controller] => dashboard
[action] => check_twitter
[check_user] => 1
)
)
[178] => Array
(
[0] => /mega-editor/:channel_id/:year/:month
[1] => Array
(
[controller] => dashboard
[action] => mega_editor
)
)
[179] => Array
(
[0] => /mega-editor/:channel_id
[1] => Array
(
[controller] => dashboard
[action] => mega_editor
)
)
[180] => Array
(
[0] => /mega-editor
[1] => Array
(
[controller] => dashboard
[action] => mega_editor
)
)
[181] => Array
(
[0] => /get_tags_for_posts
[1] => Array
(
[controller] => dashboard
[action] => get_tags_for_posts
)
)
[182] => Array
(
[0] => /add_tags_to_posts
[1] => Array
(
[controller] => dashboard
[action] => add_tags_to_posts
)
)
[183] => Array
(
[0] => /remove_tags_from_posts
[1] => Array
(
[controller] => dashboard
[action] => remove_tags_from_posts
)
)
[184] => Array
(
[0] => /delete_posts
[1] => Array
(
[controller] => dashboard
[action] => delete_posts
)
)
[185] => Array
(
[0] => /ask_publish
[1] => Array
(
[controller] => dashboard
[action] => ask_publish
)
)
[186] => Array
(
[0] => /publish
[1] => Array
(
[controller] => dashboard
[action] => publish
)
)
[187] => Array
(
[0] => /move_to_top
[1] => Array
(
[controller] => dashboard
[action] => move_to_top
)
)
[188] => Array
(
[0] => /drafts
[1] => Array
(
[controller] => dashboard
[action] => drafts
)
)
[189] => Array
(
[0] => /drafts/after/:before_id
[1] => Array
(
[controller] => dashboard
[action] => drafts
)
)
[190] => Array
(
[0] => /drafts
[1] => Array
(
[controller] => dashboard
[action] => drafts
)
)
[191] => Array
(
[0] => /queue
[1] => Array
(
[controller] => dashboard
[action] => post_queue
)
)
[192] => Array
(
[0] => /processing
[1] => Array
(
[controller] => dashboard
[action] => transcoding
)
)
[193] => Array
(
[0] => /tumblelog/:channel_id/queue
[1] => Array
(
[controller] => dashboard
[action] => post_queue
)
)
[194] => Array
(
[0] => /tumblelog/:channel_id/drafts/after/:before_id
[1] => Array
(
[controller] => dashboard
[action] => drafts
)
)
[195] => Array
(
[0] => /tumblelog/:channel_id/drafts
[1] => Array
(
[controller] => dashboard
[action] => drafts
)
)
[196] => Array
(
[0] => /tumblelog/:channel_id/processing
[1] => Array
(
[controller] => dashboard
[action] => transcoding
)
)
[197] => Array
(
[0] => /like/:key
[1] => Array
(
[controller] => dashboard
[action] => like
)
)
[198] => Array
(
[0] => /unlike/:key
[1] => Array
(
[controller] => dashboard
[action] => unlike
)
)
[199] => Array
(
[0] => /explore/wire_posts.json
[1] => Array
(
[controller] => main
[action] => _explore_wire_posts
)
)
[200] => Array
(
[0] => /explore/ph
[1] => Array
(
[controller] => main
[action] => explore_ph
)
)
[201] => Array
(
[0] => /follow
[1] => Array
(
[controller] => dashboard
[action] => follow
)
)
[202] => Array
(
[0] => /unfollow
[1] => Array
(
[controller] => dashboard
[action] => unfollow
)
)
[203] => Array
(
[0] => /dashboard/notes/:id/:hash
[1] => Array
(
[controller] => dashboard
[action] => notes
)
)
[204] => Array
(
[0] => /dashboard/iframe
[1] => Array
(
[controller] => dashboard
[action] => iframe
)
)
[205] => Array
(
[0] => /welcome
[1] => Array
(
[controller] => dashboard
[action] => index
)
)
[206] => Array
(
[0] => /iphone/likes
[1] => Array
(
[controller] => dashboard
[action] => likes
[iphone] => 1
)
)
[207] => Array
(
[0] => /iphone/drafts
[1] => Array
(
[controller] => dashboard
[action] => drafts
[iphone] => 1
)
)
[208] => Array
(
[0] => /iphone/queue
[1] => Array
(
[controller] => dashboard
[action] => post_queue
[iphone] => 1
)
)
[209] => Array
(
[0] => /iphone/search/:tag/:last_id_chain
[1] => Array
(
[controller] => main
[action] => tag
[iphone] => 1
)
)
[210] => Array
(
[0] => /iphone/search/:tag
[1] => Array
(
[controller] => main
[action] => tag
[iphone] => 1
)
)
[211] => Array
(
[0] => /iphone
[1] => Array
(
[controller] => dashboard
[action] => index
[iphone] => 1
)
)
[212] => Array
(
[0] => /iphone/:page
[1] => Array
(
[controller] => dashboard
[action] => index
[iphone] => 1
)
)
[213] => Array
(
[0] => /dashboard/check_for_new_posts/after/:id
[1] => Array
(
[controller] => dashboard
[action] => check_for_new_posts
)
)
[214] => Array
(
[0] => /dashboard/search/:filter_keywords/:page
[1] => Array
(
[controller] => dashboard
[action] => index
)
)
[215] => Array
(
[0] => /dashboard/search/:filter_keywords
[1] => Array
(
[controller] => dashboard
[action] => index
)
)
[216] => Array
(
[0] => /dashboard
[1] => Array
(
[controller] => dashboard
[action] => index
)
)
[217] => Array
(
[0] => /dashboard/:page
[1] => Array
(
[controller] => dashboard
[action] => index
)
)
[218] => Array
(
[0] => /dashboard/:page/:offset
[1] => Array
(
[controller] => dashboard
[action] => index
)
)
[219] => Array
(
[0] => /kirbabble/page/:page
[1] => Array
(
[controller] => main
[action] => channel
[channel] => kirbabble
)
)
[220] => Array
(
[0] => /kirbabble
[1] => Array
(
[controller] => main
[action] => channel
[channel] => kirbabble
)
)
[221] => Array
(
[0] => /collegehumor/page/:page
[1] => Array
(
[controller] => main
[action] => channel
[channel] => collegehumor
)
)
[222] => Array
(
[0] => /collegehumor
[1] => Array
(
[controller] => main
[action] => channel
[channel] => collegehumor
)
)
[223] => Array
(
[0] => /nextnewnetworks/page/:page
[1] => Array
(
[controller] => main
[action] => channel
[channel] => nextnewnetworks
)
)
[224] => Array
(
[0] => /nextnewnetworks
[1] => Array
(
[controller] => main
[action] => channel
[channel] => nextnewnetworks
)
)
[225] => Array
(
[0] => /newsweek/page/:page
[1] => Array
(
[controller] => main
[action] => channel
[channel] => newsweek
)
)
[226] => Array
(
[0] => /newsweek
[1] => Array
(
[controller] => main
[action] => channel
[channel] => newsweek
)
)
[227] => Array
(
[0] => /frederator/page/:page
[1] => Array
(
[controller] => main
[action] => channel
[channel] => frederator
)
)
[228] => Array
(
[0] => /frederator
[1] => Array
(
[controller] => main
[action] => channel
[channel] => frederator
)
)
[229] => Array
(
[0] => /tumblelog/:channel_id/search/:filter_keywords/:page
[1] => Array
(
[controller] => dashboard
[action] => index
)
)
[230] => Array
(
[0] => /tumblelog/:channel_id/search/:filter_keywords
[1] => Array
(
[controller] => dashboard
[action] => index
)
)
[231] => Array
(
[0] => /send_invite
[1] => Array
(
[controller] => dashboard
[action] => send_invite
)
)
[232] => Array
(
[0] => /filter
[1] => Array
(
[controller] => dashboard
[action] => filter
)
)
[233] => Array
(
[0] => /receipt
[1] => Array
(
[controller] => dashboard
[action] => receipt
)
)
[234] => Array
(
[0] => /tumblelog/:channel_id/filter/:filter_keywords/:page
[1] => Array
(
[controller] => dashboard
[action] => index
)
)
[235] => Array
(
[0] => /tumblelog/:channel_id/filter/:filter_keywords
[1] => Array
(
[controller] => dashboard
[action] => index
)
)
[236] => Array
(
[0] => /tumblelog/:channel_id/show/:filter_type/by/:filter_author/filter/:filter_keywords/:page
[1] => Array
(
[controller] => dashboard
[action] => index
)
)
[237] => Array
(
[0] => /tumblelog/:channel_id/show/:filter_type/by/:filter_author/filter/:filter_keywords
[1] => Array
(
[controller] => dashboard
[action] => index
)
)
[238] => Array
(
[0] => /tumblelog/:channel_id/show/:filter_type/filter/:filter_keywords/:page
[1] => Array
(
[controller] => dashboard
[action] => index
)
)
[239] => Array