* @param string $folder Full path to folder * @param int $levels (optional) Levels of folders to follow, Default: 100 (PHP Loop limit). * @return bool|array False on failure, Else array of files */ function list_files( $folder = '', $levels = 100 ) { if ( empty($folder) ) return false; if ( ! $levels ) return false; $files = array(); if ( $dir = @opendir( $folder ) ) { while (($file = readdir( $dir ) ) !== false ) { if ( in_array($file, array('.', '..') ) ) continue; if ( is_dir( $folder . '/' . $file ) ) { $files2 = list_files( $folder . '/' . $file, $levels - 1); if ( $files2 ) $files = array_merge($files, $files2 ); else $files[] = $folder . '/' . $file . '/'; } else { $files[] = $folder . '/' . $file; } } } @closedir( $dir ); return $files; } /** * Returns a filename of a Temporary unique file. * Please note that the calling function must unlink() this itself. * * The filename is based off the passed parameter or defaults to the current unix timestamp, * while the directory can either be passed as well, or by leaving it blank, default to a writable temporary directory. * * @since 2.6.0 * * @param string $filename (optional) Filename to base the Unique file off * @param string $dir (optional) Directory to store the file in * @return string a writable filename */ function wp_tempnam($filename = '', $dir = '') { if ( empty($dir) ) $dir = get_temp_dir(); $filename = basename($filename); if ( empty($filename) ) $filename = time(); $filename = preg_replace('|\..*$|', '.tmp', $filename); $filename = $dir . wp_unique_filename($dir, $filename); touch($filename); return $filename; } /** * Make sure that the file that was requested to edit, is allowed to be edited * * Function will die if if you are not allowed to edit the file * * @since 1.5.0 * * @uses wp_die * @uses validate_file * @param string $file file the users is attempting to edit * @param array $allowed_files Array of allowed files to edit, $file must match an entry exactly * @return null */ function validate_file_to_edit( $file, $allowed_files = '' ) { $code = validate_file( $file, $allowed_files ); if (!$code ) return $file; switch ( $code ) { case 1 : wp_die( __('Sorry, can’t edit files with “..” in the name. If you are trying to edit a file in your WordPress home directory, you can just type the name of the file in.' )); //case 2 : // wp_die( __('Sorry, can’t call files with their real path.' )); case 3 : wp_die( __('Sorry, that file cannot be edited.' )); } } /** * Handle PHP uploads in WordPress, sanitizing file names, checking extensions for mime type, * and moving the file to the appropriate directory within the uploads directory. * * @since 2.0 * * @uses wp_handle_upload_error * @uses apply_filters * @uses is_multisite * @uses wp_check_filetype_and_ext * @uses current_user_can * @uses wp_upload_dir * @uses wp_unique_filename * @uses delete_transient * @param array $file Reference to a single element of $_FILES. Call the function once for each uploaded file. * @param array $overrides Optional. An associative array of names=>values to override default variables with extract( $overrides, EXTR_OVERWRITE ). * @return array On success, returns an associative array of file attributes. On failure, returns $overrides['upload_error_handler'](&$file, $message ) or array( 'error'=>$message ). */ function wp_handle_upload( &$file, $overrides = false, $time = null ) { // The default error handler. if ( ! function_exists( 'wp_handle_upload_error' ) ) { function wp_handle_upload_error( &$file, $message ) { return array( 'error'=>$message ); } } $file = apply_filters( 'wp_handle_upload_prefilter', $file ); // You may define your own function and pass the name in $overrides['upload_error_handler'] $upload_error_handler = 'wp_handle_upload_error'; // You may have had one or more 'wp_handle_upload_prefilter' functions error out the file. Handle that gracefully. if ( isset( $file['error'] ) && ted">Posted by Joel Heffner at December 28, 2004 11:19 AM
Just tried the link but it didn't take me to either BLM or TP. Just pulls up a list of searches (I'm not a member).
Posted by Jeff Levy at December 28, 2004 4:21 PM
Thanks Cathy
Posted by Sean at December 28, 2004 4:36 PM
Tom, congratulations. I had some thoughts and sent them through to Julie Ann. I have more, you tell me when to turn off the spiket.
Posted by Wendy at December 28, 2004 6:01 PM
The link to AOL has been fixed. It now leads you another link to the correct coach area. However, non-members won't get everything and Mac users who are members can't get the videos.
Joel
Posted by Joel Heffner at December 29, 2004 12:54 PM
HELP! I have a screen name with AOL, but not a member. How do I become a member without downloading AOL? I'm sure my 5 year old nephew can fiqure it out - but I can't.
Posted by John C at December 29, 2004 3:54 PM
Not even your nephew can help you out. AOL uses its own software. You need it to get into their system.
Joel
Posted by Joel Heffner at December 29, 2004 8:49 PM
Enough problems, let's get on with the show.
The videos of Tom's coaching are fabulous and right on for jumpstarting your leap into the new Y2K5 year. Regardless of software incompatabilities, my hat is off to aol for featuring such top notch spots with cutting edge gurus who are real experts and not "life coaches" (argh, barf, etc...). Tom's videos cut to the chase and can get anyone off the couch. If your software or computer is a mismatch, get thee to a friend's digs who can access these quick and easy fixes. Then go and REALLY Do It! to turn your life around.
Looking and Leaping Forward...
Posted by Dr. Pam Brill at December 30, 2004 1:39 AM
Seconding Pam's thoughts above, the cool thing about these videos is that it brings alive--in Technicolor--stuff Tom has written about and blogged on. Tom speaks how he writes and vice versa. That said, even if you have software difficulties with regard to the videos, clicking on and activating the Brand Planner offer simply has to compel a person to take action (at least figure out a way to check that part out, people)...
Posted by Lee H. Igel at December 30, 2004 10:06 AM
Look here this is not a mismatch of computers or soft, its a mismatch of creative strategy, ups ups ...but their Tom videos.
Tom thoughts are like spilling water over a table its gets to all hidden places even where you cant see, and we all agree that water is wet as well as web is interactivity, so why use such a big heavy and uncreative vehicule.
This must be a end of year virus attack.
Lets stream to promote.
Posted by steve at December 30, 2004 3:59 PM
Before blogging became all the rage, Tom was posting book reviews and Observations (essentially early blog posts) to this site. You can find the archives below.
What we're talking about
on the front page.