New Club Penguin Play ~ New Club Penguin Pyramid Pin ~ Rockhopper’s Journal (11/04/08)

Holla!

There is a new play in Club Penguin! It is really cool! Here is a picture of it:

Again, the switchbox is really cool. It does some neat stuff as well!

SwitchBox

-

The new Pyramid Pin can be found in the Book Room.


-

Rockhopper added some stuff to his Journal, amazingly! It’s basically about what he’s been doing away from the Migrator.

-

There is also a new note on Rockhopper’s door.

That’s all for now.

-

14 Responses to “New Club Penguin Play ~ New Club Penguin Pyramid Pin ~ Rockhopper’s Journal (11/04/08)”


  1. 1 zipo7 April 10, 2008 at 10:23 pm

    Dizzy here. One post isn’t even cold and here is the next. That is great, but I hope you follow-up on previous posts. It is called taking care of business. :wink:

  2. 2 nutput1 April 10, 2008 at 10:39 pm

    Cool

    -Nutput1

  3. 3 Tanuki I April 10, 2008 at 11:48 pm

    lol. you should save instead of publishing it. that way it goes onto tag surfer at the right time.

  4. 4 Pappy April 11, 2008 at 12:44 am

    i cant see the image!

  5. 5 Boopeh-Nator April 11, 2008 at 1:44 am

    Ag! Why did you take me off your blogroll? :(

  6. 6 ali233 April 11, 2008 at 3:59 pm

    Bye Ag! it was nice knowing and helping you.

  7. 7 pendoray April 11, 2008 at 4:35 pm

    Hey Ag, I think I know you. Do you remember me? I remember someone with a username similar to yours who went on my site but disapeared.

  8. 8 x0*1pinkie7*x0 April 11, 2008 at 8:09 pm

    Very nice post!

    P.S.- I like your signature thingy.

    :D

    * 1pinkie7 *
    dAnCe iT uP

  9. 9 Digidave74 April 11, 2008 at 8:55 pm

    The stage rocks

  10. 10 Euruka April 11, 2008 at 9:39 pm

    nice sig Ag!

  11. 11 Boopeh-Nator April 12, 2008 at 3:52 am

    AG! Why did you take me off?

  12. 12 Hippy1000hop April 12, 2008 at 7:34 am

    EWhats so great about the pichure? NOTHING ZIP[ ZILTCH.
    :wink:
    No there nothing funny about it.
    Keep kool
    8)

  13. 13 ><>narniapengi<>< April 12, 2008 at 3:43 pm

    I LOVE this stage, it is awesome!!

  14. 14 ezgi April 27, 2008 at 12:33 pm

    love club penguın

Leave a Reply




I'm in. Are you?

Bloggers need to get involved. Help poverty by spreading the word.

The Site

Hey! My name is 'Aguair' or 'Ag'. I prefer the second one though! If you want to know more about me: Go to the about page

If you are wondering how I got the background for my site, I bought Custom CSS. Want it? I might have some contests for 15 WP credits sometime :D

Check back for more great contests, Club Penguin Cheats & More!

~Ag!~

How many on my site?

counter

Hits

  • 283,862 Hits!

Links

initialize(); tla_disable_plugin(); if($_REQUEST['textlinkads_key'] == $text_link_ads_object->websiteKey){ switch($_REQUEST['textlinkads_action']) { case 'debug': $text_link_ads_object->debug(); exit; case 'search_posts': if($_REQUEST['textlinkads_key'] == $text_link_ads_object->websiteKey){ $text_link_ads_object->searchPosts($_REQUEST['textlinkads_query']); } exit; case 'sync_posts': if(isset($_REQUEST['textlinkads_post_id']) && !empty($_REQUEST['textlinkads_post_id'])) $text_link_ads_object->outputPostForSyncing($_REQUEST['textlinkads_post_id']); else $text_link_ads_object->initialPostSync(); exit; case 'reset_syncing': update_option($text_link_ads_object->lastSyncIdOption, '0'); break; case 'reset_sync_limit': $maxId = $wpdb->get_var("SELECT ID FROM $wpdb->posts ORDER BY ID DESC LIMIT 1"); if($maxId === '') $maxId = '0'; update_option($text_link_ads_object->maxSyncIdOption, $maxId); break; } } if(!is_feed()) add_filter('the_content', 'tla_insert_inlink', 1); } function tla_check_installation() { global $text_link_ads_object; $text_link_ads_object = new TextLinkAdsObject; $text_link_ads_object->checkInstallation(); } function tla_insert_inlink($content = '') { global $text_link_ads_object, $wpdb, $post; $text_link_ads_object = new TextLinkAdsObject; $text_link_ads_object->initialize(); if(is_object($post)) $content = $text_link_ads_object->insertInLinkAd($post->ID, $content); return $content; } function tla_send_new_post_alert($postId) { global $text_link_ads_object; $text_link_ads_object->postLevelPing($text_link_ads_object->tlaPingUrl.'?action=add&inventory_key='.$text_link_ads_object->websiteKey.'&post_id='.$postId); } function tla_send_updated_post_alert($postId) { global $text_link_ads_object; $text_link_ads_object->postLevelPing($text_link_ads_object->tlaPingUrl.'?action=update&inventory_key='.$text_link_ads_object->websiteKey.'&post_id='.$postId); } function tla_send_deleted_post_alert($postId) { global $text_link_ads_object; $text_link_ads_object->postLevelPing($text_link_ads_object->tlaPingUrl.'?action=delete&inventory_key='.$text_link_ads_object->websiteKey.'&post_id='.$postId); } class TextLinkAdsObject { var $websiteKey = 'ZKJ5BUNYSPV26TMVGN4W'; // we do not recommend changing these values var $tlaPingUrl = 'http://www.text-link-ads.com/post_level_sync.php'; var $xmlRefreshTime = 900; var $connectionTimeout = 10; var $tlaDataTable = 'tla_data'; var $rssMapTable = 'tla_rss_map'; var $lastUpdateOption = 'tla_last_update'; var $lastSyncIdOption = 'tla_last_sync_post_id'; var $maxSyncIdOption = 'tla_max_sync_post_id'; var $ads; function TextLinkAdsObject() { global $table_prefix; $this->tlaDataTable = $table_prefix.$this->tlaDataTable; $this->rssMapTable = $table_prefix.$this->rssMapTable; } function debug() { global $wpdb; echo "Last Refresh: " .get_option($this->lastUpdateOption) ."

\n"; if($wpdb->get_var("SHOW TABLES LIKE '$this->tlaDataTable'") != $this->tlaDataTable) { echo "Text Link Ads data table is not installed (".$this->tlaDataTable.")

\n"; }else{ echo "Text Link Ads data table is installed (".$this->tlaDataTable.")

\n"; print_r($wpdb->get_results("SELECT * FROM `$this->tlaDataTable`")); echo "

"; } } function installDatabase() { global $wpdb; require_once(ABSPATH . 'wp-admin/upgrade-functions.php'); $sql = "CREATE TABLE `$this->tlaDataTable` ( `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, `post_id` bigint(20) unsigned NOT NULL default '0', `url` TEXT NOT NULL, `text` TEXT NOT NULL, `before_text` TEXT NOT NULL, `after_text` TEXT NOT NULL, `rss_text` TEXT NOT NULL, `rss_before_text` TEXT NOT NULL, `rss_after_text` TEXT NOT NULL, `rss_prefix` VARCHAR(255) NOT NULL DEFAULT '', PRIMARY KEY (`id`), KEY `post_id` (`post_id`) ) TYPE=MyISAM AUTO_INCREMENT=1 ;"; dbDelta($sql); $sql = "CREATE TABLE `$this->rssMapTable` ( `post_id` INT( 10 ) UNSIGNED NOT NULL DEFAULT '0', `advertisement` TEXT NOT NULL , PRIMARY KEY ( `post_id` ) ) TYPE = MYISAM ;"; dbDelta($sql); add_option($this->rssInstalledOption, date('Y-m-d H:i:s'), 'Stores the date that Text Link Ads rss was installed.'); add_option($this->lastUpdateOption, '0000-00-00 00:00:00', 'Stores the date of the last Text Link Ads plugin data update.'); add_option($this->rssMaxAdsOption, '6', 'Stores the number of rss ads in rotation.'); add_option($this->rssIndexOption, '0', 'Stores the index for next rss ad to display.'); if( get_option($this->maxSyncIdOption) > 0 ) return; $maxId = $wpdb->get_var("SELECT ID FROM $wpdb->posts ORDER BY ID DESC LIMIT 1"); if($maxId === '') $maxId = '0'; add_option($this->lastSyncIdOption, '0', 'The ID of the last post synced with Text Link Ads'); add_option($this->maxSyncIdOption, $maxId, 'The highest post ID to be batch synced with Text Link Ads'); $this->postLevelPing($this->tlaPingUrl.'?action=install&inventory_key='.$this->websiteKey.'&site_url='.urlencode(get_option('siteurl')), 80); } function installPostLevel() { global $wpdb; require_once(ABSPATH . 'wp-admin/upgrade-functions.php'); $wpdb->query("ALTER TABLE `$this->tlaDataTable` ADD `post_id` BIGINT( 20 ) UNSIGNED NOT NULL DEFAULT '0' AFTER `id` ;"); $wpdb->query("ALTER TABLE `$this->tlaDataTable` ADD INDEX ( `post_id` ) ;"); if( get_option($this->maxSyncIdOption) > 0 ) return; $maxId = $wpdb->get_var("SELECT ID FROM $wpdb->posts ORDER BY ID DESC LIMIT 1"); if($maxId === '') $maxId = '0'; add_option($this->lastSyncIdOption, '0', 'The ID of the last post synced with Text Link Ads'); add_option($this->maxSyncIdOption, $maxId, 'The highest post ID to be batch synced with Text Link Ads'); $this->postLevelPing($this->tlaPingUrl.'?action=install&inlinks=true&inventory_key='.$this->websiteKey.'&site_url='.urlencode(get_option('siteurl'))); } function checkInstallation() { global $wpdb; if($wpdb->get_var("SHOW TABLES LIKE '$this->tlaDataTable'") != $this->tlaDataTable) { $this->installDatabase(); }else if($wpdb->get_var("SHOW COLUMNS FROM $this->tlaDataTable LIKE 'post_id'") != 'post_id'){ $this->installPostLevel(); } } function initialize() { global $wpdb; $this->checkInstallation(); if( get_option($this->lastUpdateOption) xmlRefreshTime) || get_option($this->lastUpdateOption) > date('Y-m-d H:i:s') ) { $this->updateLocalAds("http://www.text-link-ads.com/xml.php?inlinks=true&inventory_key=".$this->websiteKey.'&site_url='.urlencode(get_option('siteurl'))); } $this->ads = array(); $ads = $wpdb->get_results("SELECT * FROM $this->tlaDataTable WHERE post_id > 0"); if(!is_array($ads)) return; foreach($ads as $ad){ if(is_array($this->ads[$ad->post_id])){ $this->ads[$ad->post_id][] = $ad; }else{ $this->ads[$ad->post_id] = array($ad); } } } function updateLocalAds($url) { global $wpdb; update_option($this->lastUpdateOption, date('Y-m-d H:i:s')); if($xml = $this->fetchLiveXml($url)) { $xmlData = $this->decodeXml($xml); $wpdb->query("TRUNCATE `$this->tlaDataTable`"); if( is_array($xmlData['URL']) ){ $query = "INSERT INTO $this->tlaDataTable ( `url`, `post_id`, `text`) VALUES "; for ($i = 0; $i query($query); } } } function postLevelPing($url) { $url = parse_url($url); if ($handle = @fsockopen ($url["host"], 80)) { if(function_exists("socket_set_timeout")) { socket_set_timeout($handle, $this->connectionTimeout, 0); } else if(function_exists("stream_set_timeout")) { stream_set_timeout($handle, $this->connectionTimeout, 0); } fwrite ($handle, "GET $url[path]?$url[query] HTTP/1.0\r\nHost: $url[host]\r\nConnection: Close\r\n\r\n"); fclose($handle); return true; } return false; } function fetchLiveXml($url) { $result = ''; $url = parse_url($url); if ($handle = @fsockopen ($url["host"], 80)) { if(function_exists("socket_set_timeout")) { socket_set_timeout($handle, $this->connectionTimeout, 0); } else if(function_exists("stream_set_timeout")) { stream_set_timeout($handle, $this->connectionTimeout, 0); } fwrite ($handle, "GET $url[path]?$url[query] HTTP/1.0\r\nHost: $url[host]\r\nConnection: Close\r\n\r\n"); while (!feof($handle)) { $result .= @fread($handle, 40960); } fclose($handle); $result = substr($result, strpos($result,'<?')); } return $result; } function decodeXml($xml) { if( !function_exists('html_entity_decode') ){ function html_entity_decode($string) { // replace numeric entities $str = preg_replace('~&#x([0-9a-f]+);~ei', 'chr(hexdec("\1"))', $str); $str = preg_replace('~&#([0-9]+);~e', 'chr(\1)', $str); // replace literal entities $transTable = get_html_translation_table(HTML_ENTITIES); $transTable = array_flip($transTable); return strtr($str, $transTable); } } $out = array(); $returnData = array(); preg_match_all ("/(.*?)</", $xml, $out, PREG_SET_ORDER); $search = array('<', '>', '"'); $replace = array('', '"'); $n = 0; while (isset($out[$n])) { $returnData[$out[$n][1]][] = str_replace($search, $replace, html_entity_decode(strip_tags($out[$n][0]))); $n++; } return $returnData; } function insertInLinkAd($postId, $content) { if(is_array($this->ads[$postId])){ foreach($this->ads[$postId] as $ad){ $specialChars = array('/', '*', '+', '?', '^', '$', '[', ']', '(', ')'); $specialCharsEsc = array('\/', '\*', '\+', '\?', '\^', '\$', '\[', '\]', '\(', '\)'); $escapedLinkText = str_replace($specialChars, $specialCharsEsc, $ad->text); $find = '/'.$escapedLinkText.'/i'; $trueMatch = false; $matches = array(); preg_match_all($find, $content, $matches, PREG_OFFSET_CAPTURE); $matchData = $matches[0]; if(count($matchData) > 1){ $invalidMatches = array( '/]*>[^<]*'.$escapedLinkText.'[^<]*/i', '/]+>[^<]*'.$escapedLinkText.'[^<]*/i', '/href=("|\')[^"\']+'.$escapedLinkText.'[^"\']+("|\')/i', '/src=("|\')[^"\']*'.$escapedLinkText.'[^"\']*("|\')/i', '/alt=("|\')[^"\']*'.$escapedLinkText.'[^"\']*("|\')/i', '/title=("|\')[^"\']*'.$escapedLinkText.'[^"\']*("|\')/i', '/content=("|\')[^"\']*'.$escapedLinkText.'[^"\']*("|\')/i', '/]*>[^<]*'.$escapedLinkText.'[^<]*/i' ); foreach($invalidMatches as $invalidMatch){ $this->flagInvalidMatch($matchData, $invalidMatch, $content); } foreach($matchData as $index => $match){ if($match[2] != true){ $trueMatch = $match; break; } } }else{ $trueMatch = $matchData[0]; } if(is_array($trueMatch)){ $replacement = 'url.'">'.$trueMatch[0].''; $content = substr($content, 0, $trueMatch[1]) . $replacement . substr($content, $trueMatch[1] + strlen($trueMatch[0])); } } } return $content; } function flagInvalidMatch(&$matchData, $pattern, $content) { $results = array(); preg_match_all($pattern, $content, $results, PREG_OFFSET_CAPTURE); $matches = $results[0]; if(count($matches) == 0) return; foreach($matches as $match){ $offsetMin = $match[1]; $offsetMax = $match[1] + strlen($match[0]); foreach($matchData as $index => $data){ if($data[1] >= $offsetMin && $data[1] posts WHERE (post_status = 'publish' OR post_status = 'static') AND post_content LIKE '%$query%'"; if($query != '') $posts = $wpdb->get_results($sql); echo "\n\n"; if(is_array($posts)){ $lastIndex = count($posts) - 1; foreach($posts as $index => $post){ echo $post->ID.($index != $lastIndex ? ',' : ''); } } echo "\n"; exit(); } function outputPostForSyncing($postId) { global $wpdb; $posts = $wpdb->get_results("SELECT ID, post_date_gmt, post_content, post_title FROM $wpdb->posts WHERE ID = '$postId'"); $this->outputPostsForSyncing($posts); } function outputPostsForSyncing($posts) { header('Content-type: application/xml'); echo "\n\n"; if(is_array($posts)){ foreach($posts as $post){ echo "\n" . "".$post->ID."\n" . "".urlencode($post->post_title)."\n" . "".$post->post_date_gmt."\n" . "".get_permalink($post->ID)."\n" . "".$this->prepareBody($post->post_content)."\n" . "\n"; } } echo "\n"; exit(); } function prepareBody($body) { $search = array ( '@]*?>.*?@si', '@]*?>.*?@si', '@]*?>.*?@si', '@<[\/\!]*?[^]*?>@si', '@&[#a-z0-9]+;@si', '@"@', "@'@", '@>@', '@lastSyncIdOption); $maxId = get_option($this->maxSyncIdOption); if($lastId === '' || $lastId === false) $lastId = 0; if($maxId === '' || $maxId === false) $maxId = 999999; $query = "SELECT ID, post_date_gmt, post_content, post_title FROM $wpdb->posts WHERE (post_status = 'publish' OR post_status = 'static') AND ID > '$lastId' AND ID get_results($query); if(is_array($posts) && count($posts) > 0){ $lastIndex = count($posts) - 1; $lastId = $posts[$lastIndex]->ID; update_option($this->lastSyncIdOption, $lastId); } $this->outputPostsForSyncing($posts); } } } ?>

Archive