Options saved.

'; } $checked = ''; if($ping == 1) $checked = 'checked="checked"'; echo '

URIs to Ping

The following services will automatically be pinged/notified when you publish posts. Not when you edit previously published posts, as WordPress does by default.

NB: this list is synchronized with the original update services list.

Separate multiple service URIs with line breaks:

Ping log

These are the lastest actions performed by the plugin.

'.SUP_get_last_log_entries(20).'

'; } # telling WordPress to ping if the post is new, but not if it's just been edited function SUP_ping_if_new($id) { global $wpdb, $post_title; if(get_option('SUP_ping') == 1 and get_option('ping_sites') != "") { # fetches data directly from database; the function "get_post" is cached, # and using it here will get the post as is was before the last save $row = mysql_fetch_array(mysql_query( "SELECT post_date,post_modified FROM $wpdb->posts WHERE id=$id")); # if time when created equals time when modified it is a new post, # otherwise the author has edited/modified it if($row["post_date"] == $row["post_modified"]) { if($post_title) SUP_log("Pinging services (new post: “".$post_title."”) ..."); else SUP_log("Pinging services (new post) ..."); SUP_ping_services(); # Try commenting the line above, and uncommenting this line below # if pinging seems to be out of order. Please notify the author if it helps! # generic_ping(); } else { if($post_title) SUP_log("NOT pinging services (“".$post_title."” was edited)"); else SUP_log("NOT pinging services (a post was edited)"); } } else SUP_log("NOT pinging services (disabled by administrator)"); } # More or less a copy of WP's "generic_ping" from functions.php, # but uses another function to send the actual XML-RPC messages. function SUP_ping_services() { $services = get_settings('ping_sites'); $services = preg_replace("|(\s)+|", '$1', $services); // Kill dupe lines $services = trim($services); if ( '' != $services ) { $services = explode("\n", $services); foreach ($services as $service) SUP_send_xmlrpc($service); } } # A slightly modified version of the WordPress built-in ping functionality ("weblog_ping" in functions.php). # This one uses correct extendedPing format (WP does not), and logs response from service. function SUP_send_xmlrpc($server = '', $path = '') { global $wp_version; include_once (ABSPATH . WPINC . '/class-IXR.php'); // using a timeout of 3 seconds should be enough to cover slow servers $client = new IXR_Client($server, ((!strlen(trim($path)) || ('/' == $path)) ? false : $path)); $client->timeout = 3; $client->useragent .= ' -- WordPress/'.$wp_version; // when set to true, this outputs debug messages by itself $client->debug = false; $home = trailingslashit( get_option('home') ); # the extendedPing format should be "blog name", "blog url", "check url" (whatever that is), and "feed url", # but it would seem as if the standard has been mixed up. it's therefore best to repeat the feed url. if($client->query('weblogUpdates.extendedPing', get_settings('blogname'), $home, get_bloginfo('rss2_url'), get_bloginfo('rss2_url'))) { SUP_log("- ".$server." was successfully pinged (extended format)"); } else { # pinging was unsuccessful, trying regular ping format if($client->query('weblogUpdates.ping', get_settings('blogname'), $home)) { SUP_log("- ".$server." was successfully pinged"); } else { SUP_log("- ".$server." could not be pinged. Error message: “".$client->error->message."”"); } } } $post_title = ""; # Receives the title of the post from a filter below function SUP_post_title($title) { global $post_title; $post_title = $title; return $title; } # ----- # Log stuff $logfile = ABSPATH."wp-content/smart-update-pinger.log"; # for debugging function SUP_log($line) { global $logfile; $fh = @fopen($logfile, "a"); @fwrite($fh, strftime("%D %T")."\t$line\n"); @fclose($fh); } function SUP_get_last_log_entries($num) { global $logfile; $lines = @file($logfile); if($lines === false) return "Error reading log file (".$logfile."). This could mean that the wp-content directory is write-protected and no log data can be saved, that you have manually removed the log file, or that you have recently upgraded the plugin."; else { $lines = array_slice($lines, count($lines) - $num); $msg = ""; foreach($lines as $line) $msg .= trim($line)."
"; return $msg; } } # ----- # adds a filter to receive the title of the post before publishing add_filter("title_save_pre", "SUP_post_title"); # adds some hooks # shows the options in the administration panel add_action("admin_menu", "SUP_add_options_page"); # calls SUP_ping whenever a post is published add_action("publish_post", "SUP_ping_if_new"); # calls SUP_ping_draft when changing the status from private/draft to published # add_action("private_to_published', 'SUP_ping_draft'); # removes the "WordPress official" pinging hook remove_action("publish_post", "generic_ping"); # activates pinging if setting doesn't exist in database yet # (before the user has changed the settings the first time) if(get_option("SUP_ping") === false) { update_option("SUP_ping", 1); } ?> Creative Uses Of 3D Text — Anarchyjim
anarchyjim

When we first start selling 3D Invigorator there were some questions about when you would ever need such a tool. But for designers it can give you some really interesting options without going into a 3D program. GoMediaZine, an online magazine for designers, recently had a tutorial on some very cool typographic effects. In the tutorial they use Cinema 4D, an excellent 3D program. However, they could have used 3D Invigorator.

Let’s talk about how. Here’s the original image for Gomediazine.com:

original image from gomediazine.com

Here’s some 3D text I whipped up in 3D Invigorator in about 15 minutes:

3D Invigorator version

This isn’t a perfect recreation. I didn’t spend that much time on it. And, of course, if you want the explosion and lightning, you’ll need to go through the gomediazine.com tutorial as they teach you how to do that. I’m just here for the 3D text. I wanted to show some of the possibilities of 3D Invig and on a basic level how I created it.

In the 3D Invigorator tutorial sections, the basic video tutorials go over how to move and rotate text and lights, so I recommend checking those out. They’ll tell you everything you need to know about positioning the text as I have here.

The debris around the text is a little trickier. 3D Invigorator doesn’t really have a great way of generating random polygons for this purpose. So… enter Adobe Illustrator.

I used Illustrator to create some debris. Just by going in and scribbling with the wacom pen and creating some squares and triangles. Here are a couple debris files:

debris1debris2

Since 3D Invigorator can accept Illustrator Files (you need to save them as Illustrator CS files though!), I just imported these, rotated and scaled them a bit and instant debris! Obviously with a little more effort you can create just as much debris as the original had.

So that’s a quick way of adding random elements to the text you create in 3D Invigorator. There’s no limit to the number of objects that can be added to an Invigorator scene. So feel free to whip up all sorts of cool shapes in Illustrator to accentuate your text.

HOT TIP: You can save your scenes! Go to File>Save Scene… If you’ve created a really big setup and spent a lot of time working on it, make sure you save it. If Photoshop crashes or the power goes out you’ll (as usual) lose everything if it’s not saved.

—————————-
Jim Tierney
www.digitalanarchy.com
Digital Anarchy
Revolutionary Tools for Photo & Video
—————————-

Related posts:

  • Party on @ Adobe Creative CS4 launch Yesterday I went with Jim Tierney, our company president, to the Adobe CS4 Launch event. It was at Adobe’s headquarters in San Francisco, which is...
  • Invigorate yourself. The 3D Invigorator is our newest Adobe Photoshop plugin for creating 3D logos and other fun 3D graphics. We’ve recently posted some great video tutorials...
Share and Enjoy:
  • Digg
  • Technorati
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • StumbleUpon
  • Slashdot
  • Reddit
  • MySpace
  • Print
  • email

{ 0 comments… add one now }

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Previous post:

Next post: