Advertisements

make_site_theme_from_default

Definition:
function make_site_theme_from_default($theme_name, $template) {}

Parameters

  • unknown_type $theme_name
  • unknown_type $template

Source code

function make_site_theme_from_default($theme_name, $template) {

	$site_dir = WP_CONTENT_DIR . "/themes/$template";

	$default_dir = WP_CONTENT_DIR . '/themes/' . WP_DEFAULT_THEME;



	// Copy files from the default theme to the site theme.

	//$files = array('index.php', 'comments.php', 'comments-popup.php', 'footer.php', 'header.php', 'sidebar.php', 'style.css');



	$theme_dir = @ opendir($default_dir);

	if ($theme_dir) {

		while(($theme_file = readdir( $theme_dir )) !== false) {

			if (is_dir("$default_dir/$theme_file"))

				continue;

			if (! @copy("$default_dir/$theme_file", "$site_dir/$theme_file"))

				return;

			chmod("$site_dir/$theme_file", 0777);

		}

	}

	@closedir($theme_dir);



	// Rewrite the theme header.

	$stylelines = explode("\n", implode('', file("$site_dir/style.css")));

	if ($stylelines) {

		$f = fopen("$site_dir/style.css", 'w');



		foreach ($stylelines as $line) {

			if (strpos($line, 'Theme Name:') !== false) $line = 'Theme Name: ' . $theme_name;

			elseif (strpos($line, 'Theme URI:') !== false) $line = 'Theme URI: ' . __get_option('url');

			elseif (strpos($line, 'Description:') !== false) $line = 'Description: Your theme.';

			elseif (strpos($line, 'Version:') !== false) $line = 'Version: 1';

			elseif (strpos($line, 'Author:') !== false) $line = 'Author: You';

			fwrite($f, $line . "\n");

		}

		fclose($f);

	}



	// Copy the images.

	umask(0);

	if (! mkdir("$site_dir/images", 0777)) {

		return false;

	}



	$images_dir = @ opendir("$default_dir/images");

	if ($images_dir) {

		while(($image = readdir($images_dir)) !== false) {

			if (is_dir("$default_dir/images/$image"))

				continue;

			if (! @copy("$default_dir/images/$image", "$site_dir/images/$image"))

				return;

			chmod("$site_dir/images/$image", 0777);

		}

	}

	@closedir($images_dir);

}

2315

Advertisements

No comments yet... Be the first to leave a reply!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: