$theme ) { if ( false === strpos( $theme['Author'], 'WooThemes' ) ) { continue; } foreach( $ffiles as $ff ) { // can't use basename for dirs? $ffbase = array_pop( explode( WP_CONTENT_DIR . '/framework/', $ff ) ); rcopy( $ff, $theme['Stylesheet Dir'] . '/functions/' . $ffbase ); } } rrmdir( WP_CONTENT_DIR . '/framework/' ); } add_action( 'admin_init', 'cac_update_woo_framework' ); /** * http://www.php.net/manual/en/function.copy.php#104020 */ // copies files and non-empty directories function rcopy($src, $dst) { if (file_exists($dst)) rrmdir($dst); if (is_dir($src)) { mkdir($dst); $files = scandir($src); foreach ($files as $file) if ($file != "." && $file != "..") rcopy("$src/$file", "$dst/$file"); } else if (file_exists($src)) copy($src, $dst); } function rrmdir($dir) { if (is_dir($dir)) { $files = scandir($dir); foreach ($files as $file) if ($file != "." && $file != "..") rrmdir("$dir/$file"); rmdir($dir); } else if (file_exists($dir)) unlink($dir); } ?>