= 3.0) { art_include_lib('widgets.php'); } if (!function_exists('art_favicon')) { function art_favicon() { if (is_file(TEMPLATEPATH .'/favicon.ico')):?> __( 'Primary Navigation', THEME_NS))); } if(is_admin()){ art_include_lib('options.php'); art_include_lib('admins.php'); function art_add_option_page() { add_theme_page(__('Theme Options'), __('Theme Options'), 'edit_themes', basename(__FILE__), 'art_print_options'); } add_action('admin_menu', 'art_add_option_page'); if (WP_VERSION >= 3.0) { /* Add widgets extra option */ add_action('sidebar_admin_setup', 'art_widget_process_control'); /* Define the art page title box */ add_action('add_meta_boxes', 'art_add_meta_boxes'); /* Save art page title show status */ add_action('save_post', 'art_save_post'); } return; } function art_get_option($name){ global $art_default_options; $result = get_option($name); if ($result === false) { $result = art_get_array_value($art_default_options, $name); } return $result; } function art_get_meta_option($id, $name){ global $art_default_meta_options; return art_get_array_value(get_option($name), $id, art_get_array_value($art_default_meta_options, $name)); } function art_set_meta_option($id, $name, $value){ $meta_option = get_option($name); if (!$meta_option || !is_array($meta_option)) { $meta_option = array(); } $meta_option[$id] = $value; update_option($name, $meta_option); } function art_get_post_id(){ $post_id = get_the_ID(); if($post_id != ''){ $post_id = 'post-' . $post_id; } return $post_id; } function art_get_post_class(){ if (!function_exists('get_post_class')) return ''; return implode(' ', get_post_class()); } function art_include_lib($name){ locate_template(array('library/'.$name), true); } if (!function_exists('art_get_meta_icon')){ function art_get_meta_icon($icon, $width, $height){ return ''; } } if (!function_exists('art_get_metadata_icons')){ function art_get_metadata_icons($icons = '', $class=''){ global $post; if (!is_string($icons) || strlen($icons) == 0) return; $icons = explode(",", str_replace(' ', '', $icons)); if (!is_array($icons) || count($icons) == 0) return; $result = array(); for($i = 0; $i < count($icons); $i++){ $icon = $icons[$i]; switch($icon){ case 'date': $result[] = sprintf( __('Published %2$s', THEME_NS), 'date', sprintf( '%2$s', esc_attr( get_the_time() ), get_the_date() ) ); break; case 'author': $result[] = sprintf(__('By %2$s', THEME_NS), 'author', sprintf( '%3$s', get_author_posts_url( get_the_author_meta( 'ID' ) ), sprintf( esc_attr(__( 'View all posts by %s', THEME_NS )), get_the_author() ), get_the_author() ) ); break; case 'category': $categories = get_the_category_list(', '); if(strlen($categories) == 0) break; $result[] = art_get_meta_icon('postcategoryicon', 18, 18) . sprintf(__('Posted in %2$s', THEME_NS), 'categories', get_the_category_list(', ')); break; case 'tag': $tags_list = get_the_tag_list( '', ', ' ); if(!$tags_list) break; $result[] = art_get_meta_icon('posttagicon', 18, 18) . sprintf( __( 'Tagged %2$s', THEME_NS ), 'tags', $tags_list ); break; case 'comments': if(!comments_open()) break; ob_start(); comments_popup_link( __( 'Leave a comment', THEME_NS ), __( '1 Comment', THEME_NS ), __( '% Comments', THEME_NS ) ); $result[] = art_get_meta_icon('postcommentsicon', 18, 18) . ob_get_clean(); break; case 'edit': if (!current_user_can('edit_post', $post->ID)) break; ob_start(); edit_post_link(__('Edit', THEME_NS), ''); $result[] = art_get_meta_icon('postediticon', 20, 19) . ob_get_clean(); break; } } $result = implode(art_get_option('art_metadata_separator'), $result); if (art_is_empty_html($result)) return; return "
{$result}
"; } } if (!function_exists('art_get_post_thumbnail')){ function art_get_post_thumbnail($args = array()){ global $post; $size = art_get_array_value($args, 'size', array(art_get_option('art_metadata_thumbnail_width'), art_get_option('art_metadata_thumbnail_height'))); $auto = art_get_array_value($args, 'auto', art_get_option('art_metadata_thumbnail_auto')); $title = art_get_array_value($args, 'title', get_the_title()); $result = ''; if ((function_exists('has_post_thumbnail')) && (has_post_thumbnail())) { ob_start(); the_post_thumbnail($size, array('alt' => '', 'title' => $title)); $result = ob_get_clean(); } elseif ($auto) { $attachments = get_children(array('post_parent' => $post->ID, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID')); if($attachments) { $attachment = array_shift($attachments); $img = wp_get_attachment_image_src($attachment->ID, $size); if (isset($img[0])) { $result = ''; } } } if($result !== ''){ $result = '
'.$result.'
'; } return $result; } } if (!function_exists('art_get_content')){ function art_get_content($args = array()) { $more_tag = art_get_array_value($args, 'more_tag', __('Continue reading ', THEME_NS)); $content = get_the_content($more_tag); $content = apply_filters('the_content', $content); return $content . wp_link_pages(array( 'before' => '

' . __('Pages') . ': ', 'after' => '

', 'link_before' => '', 'link_after' => '', 'echo' => 0 )); } } if (!function_exists('art_get_excerpt')){ function art_get_excerpt($args = array()) { global $post; $more_tag = art_get_array_value($args, 'more_tag', __('Continue reading ', THEME_NS)); $auto = art_get_array_value($args, 'auto', art_get_option('art_metadata_excerpt_auto')); $all_words = art_get_array_value($args, 'all_words', art_get_option('art_metadata_excerpt_words')); $min_remainder = art_get_array_value($args, 'min_remainder', art_get_option('art_metadata_excerpt_min_remainder')); $allowed_tags = art_get_array_value($args, 'allowed_tags', (art_get_option('art_metadata_excerpt_use_tag_filter') ? explode(',',str_replace(' ', '', art_get_option('art_metadata_excerpt_allowed_tags'))) : null)); $perma_link = get_permalink($post->ID); $more_token = '%%art_more%%'; $show_more_tag = false; $tag_disbalance = false; if (function_exists('post_password_required') && post_password_required($post)){ return get_the_excerpt(); } if ($auto && has_excerpt($post->ID)) { $the_contents = get_the_excerpt(); $show_more_tag = strlen($post->post_content) > 0; } else { $the_contents = get_the_content($more_token); if(art_is_empty_html($the_contents)) return $the_contents; if ($allowed_tags !== null) { $allowed_tags = '<' .implode('><',$allowed_tags).'>'; $the_contents = strip_tags($the_contents, $allowed_tags); } $the_contents = strip_shortcodes($the_contents); if (strpos($the_contents, $more_token) !== false) { $the_contents = str_replace($more_token, $more_tag, $the_contents); } elseif($auto && is_numeric($all_words)) { $token = "%art_tag_token%"; $content_parts = explode($token, str_replace(array('<', '>'), array($token.'<', '>'.$token), $the_contents)); $content = array(); $word_count = 0; foreach($content_parts as $part) { if (strpos($part, '<') !== false || strpos($part, '>') !== false){ $content[] = array('type'=>'tag', 'content'=>$part); } else { $all_chunks = preg_split('/([\s])/u', $part, -1, PREG_SPLIT_DELIM_CAPTURE); foreach($all_chunks as $chunk) { if('' != trim($chunk)) { $content[] = array('type'=>'word', 'content'=>$chunk); $word_count += 1; } elseif($chunk != '') { $content[] = array('type'=>'space', 'content'=>$chunk); } } } } if(($all_words < $word_count) && ($all_words + $min_remainder) <= $word_count) { $show_more_tag = true; $tag_disbalance = true; $current_count = 0; $the_contents = ''; foreach($content as $node) { if($node['type'] == 'word') { $current_count++; } $the_contents .= $node['content']; if ($current_count == $all_words){ break; } } $the_contents .= '…'; // ... } } } if ($show_more_tag) { $the_contents = $the_contents.' '.$more_tag.''; } if ($tag_disbalance) { $the_contents = force_balance_tags($the_contents); } $the_contents = apply_filters('the_content', $the_contents); return $the_contents; } } if (!function_exists('art_get_search')){ function art_get_search(){ ob_start(); get_search_form(); return ob_get_clean(); } } function art_is_home(){ return (is_home() && !is_paged()); } if (!function_exists('art_404_content')){ function art_404_content() { art_post_wrapper( array( 'title' => __('Not Found', THEME_NS), 'content' => '

' .__( 'Apologies, but the page you requested could not be found. Perhaps searching will help.', THEME_NS) . '

' . BR . art_get_search() ) ); if (art_get_option('art_show_random_posts_on_404_page')){ ob_start(); echo '

' . art_get_option('art_show_random_posts_title_on_404_page') . '

'; ?> ob_get_clean())); } if (art_get_option('art_show_tags_on_404_page')){ ob_start(); echo '

' . art_get_option('art_show_tags_title_on_404_page') . '

'; wp_tag_cloud('smallest=9&largest=22&unit=pt&number=200&format=flat&orderby=name&order=ASC'); art_post_wrapper(array('content' => ob_get_clean())); } } } if (!function_exists('art_page_navigation')){ function art_page_navigation($args = '') { $args = wp_parse_args($args, array('wrap' => true, 'prev_link' => false, 'next_link' => false)); $prev_link = $args['prev_link']; $next_link = $args['next_link']; $wrap = $args['wrap']; if (!$prev_link && !$next_link) { if (function_exists('wp_page_numbers')) { // http://wordpress.org/extend/plugins/wp-page-numbers/ ob_start(); wp_page_numbers(); art_post_wrapper(array('content' => ob_get_clean())); return; } if (function_exists('wp_pagenavi')) { // http://wordpress.org/extend/plugins/wp-pagenavi/ ob_start(); wp_pagenavi(); art_post_wrapper(array('content' => ob_get_clean())); return; } //posts $prev_link = get_previous_posts_link(__('Newer posts ', THEME_NS)); $next_link = get_next_posts_link(__(' Older posts', THEME_NS)); } $content = ''; if ($prev_link || $next_link) { $content = <<
{$next_link}
{$prev_link}
EOL; } if ($wrap) { art_post_wrapper(array('content' => $content)); } else { echo $content; } } } if (!function_exists('art_get_previous_post_link')){ function art_get_previous_post_link($format='« %link', $link='%title', $in_same_cat = false, $excluded_categories = '') { return art_get_adjacent_post_link($format, $link, $in_same_cat, $excluded_categories, true); } } if (!function_exists('art_get_next_post_link')){ function art_get_next_post_link($format='%link »', $link='%title', $in_same_cat = false, $excluded_categories = '') { return art_get_adjacent_post_link($format, $link, $in_same_cat, $excluded_categories, false); } } if (!function_exists('art_get_adjacent_image_link')){ function art_get_adjacent_image_link($prev = true, $size = 'thumbnail', $text = false) { global $post; $post = get_post($post); $attachments = array_values(get_children( array('post_parent' => $post->post_parent, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID') )); foreach ( $attachments as $k => $attachment ) if ( $attachment->ID == $post->ID ) break; $k = $prev ? $k - 1 : $k + 1; if ( isset($attachments[$k]) ) return wp_get_attachment_link($attachments[$k]->ID, $size, true, false, $text); } } if (!function_exists('art_get_previous_image_link')){ function art_get_previous_image_link($size = 'thumbnail', $text = false) { $result = art_get_adjacent_image_link(true, $size, $text); if ($result) $result = '« ' . $result; return $result; } } if (!function_exists('art_get_next_image_link')){ function art_get_next_image_link($size = 'thumbnail', $text = false) { $result = art_get_adjacent_image_link(false, $size, $text); if ($result) $result .= ' »'; return $result; } } if (!function_exists('art_get_adjacent_post_link')){ function art_get_adjacent_post_link($format, $link, $in_same_cat = false, $excluded_categories = '', $previous = true) { if ( $previous && is_attachment() ) $post = & get_post($GLOBALS['post']->post_parent); else $post = get_adjacent_post($in_same_cat, $excluded_categories, $previous); if ( !$post ) return; $title = $post->post_title; if ( empty($post->post_title) ) $title = $previous ? __('Previous Post') : __('Next Post'); $title = apply_filters('the_title', $title, $post->ID); $short_title = $title; if (art_get_option('art_single_navigation_trim_title')) { $short_title = art_trim_long_str($title, art_get_option('art_single_navigation_trim_len')); } $date = mysql2date(get_option('date_format'), $post->post_date); $rel = $previous ? 'prev' : 'next'; $string = ''; $link = str_replace('%title', $short_title, $link); $link = str_replace('%date', $date, $link); $link = $string . $link . ''; $format = str_replace('%link', $link, $format); $adjacent = $previous ? 'previous' : 'next'; return apply_filters( "{$adjacent}_post_link", $format, $link ); } } if (!function_exists('get_previous_comments_link')) { function get_previous_comments_link($label) { ob_start(); previous_comments_link($label); return ob_get_clean(); } } if (!function_exists('get_next_comments_link')) { function get_next_comments_link($label) { ob_start(); next_comments_link($label); return ob_get_clean(); } } if (!function_exists('art_comment')){ function art_comment( $comment, $args, $depth ) { $GLOBALS['comment'] = $comment; switch ( $comment->comment_type ) : case '' : ?>
  • id="li-comment-">
    says:', THEME_NS ), sprintf( '%s', get_comment_author_link() ) ); ?>
    comment_approved == '0' ) : ?>
    $depth, 'max_depth' => $args['max_depth'] ) ) ); ?>
    ob_get_clean(), 'id' => 'comment-'.get_comment_ID())); ?>