محتویات function
<?php
$artThemeSettings = array(
'menu.showSubmenus' => false,
'menu.homeCaption' => "خانه",
'menu.showHome' => true,
'menu.topItemBegin' => "<span class=\"l\"></span><span class=\"r\"></span><span class=\"t\">",
'menu.topItemEnd' => "</span>"
);
load_theme_textdomain('kubrick');
$themename = "izidreams";
$shortname = "artisteer";
$default_footer_content = "<a href='#'>Contact Us</a> | <a href='#'>Terms of Use</a> | <a href='#'>Trademarks</a> | <a href='#'>Privacy Statement</a>Copyright © 2009 ".get_bloginfo('name').". All Rights Reserved.";
$options = array (
array( "name" => "HTML",
"desc" => sprintf(__('<strong>XHTML:</strong> You can use these tags: <code>%s</code>', 'kubrick'), 'a, abbr, acronym, em, b, i, strike, strong, span'),
"id" => "art_footer_content",
"std" => $default_footer_content,
"type" => "textarea")
);
function art_update_option($key, $value){
update_option($key, (get_magic_quotes_gpc()) ? stripslashes($value) : $value);
}
function art_add_admin() {
global $themename, $shortname, $options;
if ( $_GET['page'] == basename(__FILE__) ) {
if ('save' == $_REQUEST['action'] ) {
foreach ($options as $value) {
if($value['type'] != 'multicheck'){
art_update_option( $value['id'], $_REQUEST[ $value['id'] ] );
}else{
foreach($value['options'] as $mc_key => $mc_value){
$up_opt = $value['id'].'_'.$mc_key;
art_update_option($up_opt, $_REQUEST[$up_opt] );
}
}
}
foreach ($options as $value) {
if($value['type'] != 'multicheck'){
if( isset( $_REQUEST[ $value['id'] ] ) ) { art_update_option( $value['id'], $_REQUEST[ $value['id'] ] ); } else { delete_option( $value['id'] ); }
}else{
foreach($value['options'] as $mc_key => $mc_value){
$up_opt = $value['id'].'_'.$mc_key;
if( isset( $_REQUEST[ $up_opt ] ) ) { art_update_option( $up_opt, $_REQUEST[ $up_opt ] ); } else { delete_option( $up_opt ); }
}
}
}
header("Location: themes.php?page=functions.php&saved=true");
die;
}
}
add_theme_page("Footer", "Footer", 'edit_themes', basename(__FILE__), 'art_admin');
}
function art_admin() {
global $themename, $shortname, $options;
if ( $_REQUEST['saved'] ) echo '<div id="message" class="updated fade"><p><strong>'.$themename.' settings saved.</strong></p></div>';
?>
<div class="wrap">
<h2>Footer</h2>
<form method="post">
<table class="optiontable" style="width:100%;">
<?php foreach ($options as $value) {
switch ( $value['type'] ) {
case 'text':
option_wrapper_header($value);
?>
<input style="width:100%;" name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>" type="<?php echo $value['type']; ?>" value="<?php if ( get_settings( $value['id'] ) != "") { echo get_settings( $value['id'] ); } else { echo $value['std']; } ?>" />
<?php
option_wrapper_footer($value);
break;
case 'select':
option_wrapper_header($value);
?>
<select style="width:70%;" name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>">
<?php foreach ($value['options'] as $option) { ?>
<option<?php if ( get_settings( $value['id'] ) == $option) { echo ' selected="selected"'; } elseif ($option == $value['std']) { echo ' selected="selected"'; } ?>><?php echo $option; ?></option>
<?php } ?>
</select>
<?php
option_wrapper_footer($value);
break;
case 'textarea':
$ta_options = $value['options'];
option_wrapper_header($value);
?>
<textarea name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>" style="width:100%;height:100px;"><?php
if( get_settings($value['id']) !== false) {
echo get_settings($value['id']);
}else{
echo $value['std'];
}?></textarea>
<?php
option_wrapper_footer($value);
break;
case "radio":
option_wrapper_header($value);
foreach ($value['options'] as $key=>$option) {
$radio_setting = get_settings($value['id']);
if($radio_setting != ''){
if ($key == get_settings($value['id']) ) {
$checked = "checked=\"checked\"";
} else {
$checked = "";
}
}else{
if($key == $value['std']){
$checked = "checked=\"checked\"";
}else{
$checked = "";
}
}?>
<input type="radio" name="<?php echo $value['id']; ?>" value="<?php echo $key; ?>" <?php echo $checked; ?> /><?php echo $option; ?>
<?php
}
option_wrapper_footer($value);
break;
case "checkbox":
option_wrapper_header($value);
if(get_settings($value['id'])){
$checked = "checked=\"checked\"";
}else{
$checked = "";
}
?>
<input type="checkbox" name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>" value="true" <?php echo $checked; ?> />
<?php
option_wrapper_footer($value);
break;
case "multicheck":
option_wrapper_header($value);
foreach ($value['options'] as $key=>$option) {
$pn_key = $value['id'] . '_' . $key;
$checkbox_setting = get_settings($pn_key);
if($checkbox_setting != ''){
if (get_settings($pn_key) ) {
$checked = "checked=\"checked\"";
} else {
$checked = "";
}
}else{
if($key == $value['std']){
$checked = "checked=\"checked\"";
}else{
$checked = "";
}
}?>
<input type="checkbox" name="<?php echo $pn_key; ?>" id="<?php echo $pn_key; ?>" value="true" <?php echo $checked; ?> /><label for="<?php echo $pn_key; ?>"><?php echo $option; ?></label>
<?php
}
option_wrapper_footer($value);
break;
case "heading":
?>
<tr valign="top">
<td colspan="2" style="text-align: center;"><h3><?php echo $value['name']; ?></h3></td>
</tr>
<?php
break;
default:
break;
}
}
?>
</table>
<p class="submit">
<input name="save" type="submit" value="Save changes" />
<input type="hidden" name="action" value="save" />
</p>
</form>
</div>
<?php
}
function option_wrapper_header($values){
?>
<tr valign="top">
<th scope="row" style="width:1%;white-space: nowrap;"><?php echo $values['name']; ?>:</th>
<td>
<?php
}
function option_wrapper_footer($values){
?>
</td>
</tr>
<tr valign="top">
<td> </td><td><small><?php echo $values['desc']; ?></small></td>
</tr>
<?php
}
add_action('admin_menu', 'art_add_admin');
if (!function_exists('get_search_form')) {
function get_search_form()
{
include (TEMPLATEPATH . "/searchform.php");
}
}
if (!function_exists('get_previous_posts_link')) {
function get_previous_posts_link($label)
{
ob_start();
previous_posts_link($label);
return ob_get_clean();
}
}
if (!function_exists('get_next_posts_link')) {
function get_next_posts_link($label)
{
ob_start();
next_posts_link($label);
return ob_get_clean();
}
}
if (!function_exists('get_previous_post_link')) {
function get_previous_post_link($label)
{
ob_start();
previous_post_link($label);
return ob_get_clean();
}
}
if (!function_exists('get_next_post_link')) {
function get_next_post_link($label)
{
ob_start();
next_post_link($label);
return ob_get_clean();
}
}
function art_comment($comment, $args, $depth)
{
$GLOBALS['comment'] = $comment; ?>
<li <?php comment_class(); ?> id="li-comment-<?php comment_ID() ?>">
<div id="comment-<?php comment_ID(); ?>">
<div class="art-Post">
<div class="art-Post-tl"></div>
<div class="art-Post-tr"></div>
<div class="art-Post-bl"></div>
<div class="art-Post-br"></div>
<div class="art-Post-tc"></div>
<div class="art-Post-bc"></div>
<div class="art-Post-cl"></div>
<div class="art-Post-cr"></div>
<div class="art-Post-cc"></div>
<div class="art-Post-body">
<div class="art-Post-inner art-article">
<div class="art-PostContent">
<div class="comment-author vcard">
<?php echo get_avatar($comment,$size='48',$default='<path_to_url>' ); ?>
<cite class="fn"><?php comment_author_link(); ?>:
</div>
<?php if ($comment->comment_approved == '0') : ?>
<em><?php _e('Your comment is awaiting moderation.') ?></em>
<?php endif; ?>
<div class="comment-meta commentmetadata"><a>comment_ID ) ) ?>"><?php printf(__('%1$s at %2$s'), get_comment_date(), get_comment_time()) ?></a><?php edit_comment_link('('.__('Edit', 'kubrick').')',' ','') ?></div>
<?php comment_text() ?>
<div class="reply">
<?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
</div>
</div>
<div class="cleared"></div>
</div>
<div class="cleared"></div>
</div>
</div>
</div>
<?php
}
if (function_exists('register_sidebars')) {
register_sidebars(2, array(
'before_widget' => '<div id="%1$s" class="widget %2$s">'.'<!--- BEGIN Widget --->',
'before_title' => '<!--- BEGIN WidgetTitle --->',
'after_title' => '<!--- END WidgetTitle --->',
'after_widget' => '<!--- END Widget --->'.'</div>'
));
}
function art_normalize_widget_style_tokens($content) {
$bw = '<!--- BEGIN Widget --->';
$bwt = '<!--- BEGIN WidgetTitle --->';
$ewt = '<!--- END WidgetTitle --->';
$bwc = '<!--- BEGIN WidgetContent --->';
$ewc = '<!--- END WidgetContent --->';
$ew = '<!--- END Widget --->';
$result = '';
$startBlock = 0;
$endBlock = 0;
while (true) {
$startBlock = strpos($content, $bw, $endBlock);
if (false === $startBlock) {
$result .= substr($content, $endBlock);
break;
}
$result .= substr($content, $endBlock, $startBlock - $endBlock);
$endBlock = strpos($content, $ew, $startBlock);
if (false === $endBlock) {
$result .= substr($content, $endBlock);
break;
}
$endBlock += strlen($ew);
$widgetContent = substr($content, $startBlock, $endBlock - $startBlock);
$beginTitlePos = strpos($widgetContent, $bwt);
$endTitlePos = strpos($widgetContent, $ewt);
if ((false == $beginTitlePos) xor (false == $endTitlePos)) {
$widgetContent = str_replace($bwt, '', $widgetContent);
$widgetContent = str_replace($ewt, '', $widgetContent);
} else {
$beginTitleText = $beginTitlePos + strlen($bwt);
$titleContent = substr($widgetContent, $beginTitleText, $endTitlePos - $beginTitleText);
if (' ' == $titleContent) {
$widgetContent = substr($widgetContent, 0, $beginTitlePos)
. substr($widgetContent, $endTitlePos + strlen($ewt));
}
}
if (false === strpos($widgetContent, $bwt)) {
$widgetContent = str_replace($bw, $bw . $bwc, $widgetContent);
} else {
$widgetContent = str_replace($ewt, $ewt . $bwc, $widgetContent);
}
$result .= str_replace($ew, $ewc . $ew, $widgetContent);
}
return $result;
}
function art_sidebar($index = 1)
{
if (!function_exists('dynamic_sidebar')) return false;
ob_start();
$success = dynamic_sidebar($index);
$content = ob_get_clean();
if (!$success) return false;
$content = art_normalize_widget_style_tokens($content);
$replaces = array(
'<!--- BEGIN Widget --->' => "<div class=\"art-Block\">\r\n <div class=\"art-Block-tl\"></div>\r\n <div class=\"art-Block-tr\"></div>\r\n <div class=\"art-Block-bl\"></div>\r\n <div class=\"art-Block-br\"></div>\r\n <div class=\"art-Block-tc\"></div>\r\n <div class=\"art-Block-bc\"></div>\r\n <div class=\"art-Block-cl\"></div>\r\n <div class=\"art-Block-cr\"></div>\r\n <div class=\"art-Block-cc\"></div>\r\n <div class=\"art-Block-body\">\r\n",
'<!--- BEGIN WidgetTitle --->' => "<div class=\"art-BlockHeader\">\r\n <div class=\"l\"></div>\r\n <div class=\"r\"></div>\r\n <div class=\"art-header-tag-icon\">\r\n <div class=\"t\">",
'<!--- END WidgetTitle --->' => "</div>\r\n </div>\r\n</div>",
'<!--- BEGIN WidgetContent --->' => "<div class=\"art-BlockContent\">\r\n <div class=\"art-BlockContent-body\">\r\n",
'<!--- END WidgetContent --->' => "\r\n <div class=\"cleared\"></div>\r\n </div>\r\n</div>\r\n",
'<!--- END Widget --->' => "\r\n <div class=\"cleared\"></div>\r\n </div>\r\n</div>\r\n"
);
$bwt = '<!--- BEGIN WidgetTitle --->';
$ewt = '<!--- END WidgetTitle --->';
if ('' == $replaces[$bwt] && '' == $replaces[$ewt]) {
$startTitle = 0;
$endTitle = 0;
$result = '';
while (true) {
$startTitle = strpos($content, $bwt, $endTitle);
if (false == $startTitle) {
$result .= substr($content, $endTitle);
break;
}
$result .= substr($content, $endTitle, $startTitle - $endTitle);
$endTitle = strpos($content, $ewt, $startTitle);
if (false == $endTitle) {
$result .= substr($content, $startTitle);
break;
}
$endTitle += strlen($ewt);
}
$content = $result;
}
$content = str_replace(array_keys($replaces), array_values($replaces), $content);
echo $content;
return true;
}
function art_activeID($pages){
$result = null;
foreach ($pages as $index => $page){
if (is_page($page->ID)) {
$result = $page;
break;
}
}
while($result && $result->post_parent) {
foreach ($pages as $parent){
if ($parent->ID == $result->post_parent) {
$result = $parent;
breack;
}
}
}
return ($result ? $result->ID : null);
}
function art_blogID($pages){
$result = null;
if(!'page' == get_option('show_on_front')) return $result;
$blogID = get_option('page_for_posts');
if (!$blogID) return $result;
foreach ($pages as $index => $page){
if ($page->ID == $blogID) {
$result = $page;
break;
}
}
while($result && $result->post_parent) {
foreach ($pages as $parent){
if ($parent->ID == $result->post_parent) {
$result = $parent;
breack;
}
}
}
return ($result ? $result->ID : null);
}
function art_process_front(&$pages){
if ('page' != get_option('show_on_front')) return;
$frontID = get_option('page_on_front');
if (!$frontID) return;
foreach ($pages as $index => $page)
if($page->ID == $frontID) {
unset($pages[$index]);
$page->post_parent = '0';
$page->menu_order = '0';
array_unshift($pages, $page);
break;
}
}
function art_topIDs($pages){
$result = array();
foreach ($pages as $index => $page)
if (!$page->post_parent) $result[]=$page->ID;
return $result;
}
function art_remove_subitems(&$pages){
foreach ($pages as $index => $page)
if ($page->post_parent) unset($pages[$index]);
}
function art_header_page_list_filter($pages)
{
global $artThemeSettings;
art_process_front($pages);
$artThemeSettings['menu.topItemIDs'] = art_topIDs($pages);
$artThemeSettings['menu.activeID'] = art_activeID($pages);
$artThemeSettings['menu.blogID'] = art_blogID($pages);
if (!$artThemeSettings['menu.showSubmenus']) art_remove_subitems($pages);
return $pages;
}
function art_list_pages_filter($output)
{
global $artThemeSettings;
$pref ='page-item-';
if($artThemeSettings['menu.topItemIDs'])
foreach($artThemeSettings['menu.topItemIDs'] as $id){
$output = preg_replace('~<li class="([^"]*)\b(' . $pref . $id . ')\b([^"]*)"><a>]+)>([^<]*)</a>~',
'<li class="$1$2$3"><a>' . $artThemeSettings['menu.topItemBegin']
. '$5' . $artThemeSettings['menu.topItemEnd'] . '</a>', $output, 1);
}
$frontID = null;
$blogID = null;
if('page' == get_option('show_on_front')) {
$frontID = get_option('page_on_front');
$blogID = $artThemeSettings['menu.blogID'];
}
if ($frontID)
$output = preg_replace('~<li class="([^"]*)\b(' . $pref . $frontID . ')\b([^"]*)"><a href="([^"]*)" ~',
'<li class="$1$2$3"><a href="'. get_option('home') .'" ', $output, 1);
if ((is_home() && $blogID) || $artThemeSettings['menu.activeID'])
$output = preg_replace('~<li class="([^"]*)\b(' . $pref . (is_home() ? $blogID : $artThemeSettings['menu.activeID']) . ')\b([^"]*)"><a ~',
'<li class="$1$2$3"><a class="active" ', $output, 1);
return $output;
}
function art_menu_items()
{
global $artThemeSettings;
if (true === $artThemeSettings['menu.showHome'] && 'page' != get_option('show_on_front'))
echo '
<li><a' . (is_home() ? ' class="active"' : '') . ' href="' . get_option('home') . '">'.$artThemeSettings['menu.topItemBegin']
. $artThemeSettings['menu.homeCaption'] . $artThemeSettings['menu.topItemEnd'] . '</li>
';
add_action('get_pages', 'art_header_page_list_filter');
add_action('wp_list_pages', 'art_list_pages_filter');
wp_list_pages('title_li=');
remove_action('wp_list_pages', 'art_list_pages_filter');
remove_action('get_pages', 'art_header_page_list_filter');
}
add_filter('comments_template', 'legacy_comments');
function legacy_comments($file) {
if(!function_exists('wp_list_comments')) : // WP 2.7-only check
$file = TEMPLATEPATH.'/legacy.comments.php';
endif;
return $file;
}
محتویاتheader
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<title><?php if (is_home () ) { bloginfo('name'); } elseif ( is_category() ) { single_cat_title(); echo ' - ' ; bloginfo('name'); }
elseif (is_single() ) { single_post_title(); }
elseif (is_page() ) { bloginfo('name'); echo ': '; single_post_title(); }
else { wp_title('',true); } ?></title>
<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/script.js"></script>
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />
<!--[if IE 6]><link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/style.ie6.css" type="text/css" media="screen" /><![endif]-->
<!--[if IE 7]><link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/style.ie7.css" type="text/css" media="screen" /><![endif]-->
<link rel="alternate" type="application/rss+xml" title="<?php printf(__('%s RSS Feed', 'kubrick'), get_bloginfo('name')); ?>" href="<?php bloginfo('rss2_url'); ?>" />
<link rel="alternate" type="application/atom+xml" title="<?php printf(__('%s Atom Feed', 'kubrick'), get_bloginfo('name')); ?>" href="<?php bloginfo('atom_url'); ?>" />
<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />
<?php wp_head(); ?>
</head>
<body>
<div id="art-page-background-gradient"></div>
<div id="art-main">
<div class="art-Sheet">
<div class="art-Sheet-tl"></div>
<div class="art-Sheet-tr"></div>
<div class="art-Sheet-bl"></div>
<div class="art-Sheet-br"></div>
<div class="art-Sheet-tc"></div>
<div class="art-Sheet-bc"></div>
<div class="art-Sheet-cl"></div>
<div class="art-Sheet-cr"></div>
<div class="art-Sheet-cc"></div>
<div class="art-Sheet-body">
<div class="art-Header">
<div class="art-Header-png"></div>
<div class="art-Header-jpeg"></div>
<div class="art-Logo">
<h1 id="name-text" class="art-Logo-name">
<a>/"><?php bloginfo('name'); ?></a></h1>
<div id="slogan-text" class="art-Logo-text">
<?php bloginfo('description'); ?></div>
</div>
</div>
<div class="art-nav">
<div class="l"></div>
<div class="r"></div>
<ul class="art-menu">
<?php art_menu_items(); ?>
</div>