Part of Slepp's ProjectsPastebinTURLImagebinFilebin
Feedback -- English French German Japanese
Create Upload Newest Tools Donate
Sign In | Create Account

Paste Description for STML

Question for the Wordpress peeps...

STML
Friday, January 19th, 2007 at 3:50:12pm UTC 

  1. <?php
  2.  
  3. /* Note: these tags go anywhere in the template */
  4.  
  5. function get_header() {
  6.         if ( file_exists( TEMPLATEPATH . '/header.php') )
  7.                 load_template( TEMPLATEPATH . '/header.php');
  8.         else
  9.                 load_template( ABSPATH . 'wp-content/themes/default/header.php');
  10. }
  11.  
  12.  
  13. function get_footer() {
  14.         if ( file_exists( TEMPLATEPATH . '/footer.php') )
  15.                 load_template( TEMPLATEPATH . '/footer.php');
  16.         else
  17.                 load_template( ABSPATH . 'wp-content/themes/default/footer.php');
  18. }
  19.  
  20.  
  21. function get_sidebar() {
  22.         if ( file_exists( TEMPLATEPATH . '/sidebar.php') )
  23.                 load_template( TEMPLATEPATH . '/sidebar.php');
  24.         else
  25.                 load_template( ABSPATH . 'wp-content/themes/default/sidebar.php');
  26. }
  27.  
  28.  
  29. function wp_loginout() {
  30.         if ( ! is_user_logged_in() )
  31.                 $link = '<a href="' . get_settings('siteurl') . '/wp-login.php">' . __('Login') . '</a>';
  32.         else
  33.                 $link = '<a href="' . get_settings('siteurl') . '/wp-login.php?action=logout">' . __('Logout') . '</a>';
  34.  
  35.         echo apply_filters('loginout', $link);
  36. }
  37.  
  38.  
  39. function wp_register( $before = '<li>', $after = '</li>' ) {
  40.  
  41.         if ( ! is_user_logged_in() ) {
  42.                 if ( get_settings('users_can_register') )
  43.                         $link = $before . '<a href="' . get_settings('siteurl') . '/wp-register.php">' . __('Register') . '</a>' . $after;
  44.                 else
  45.                         $link = '';
  46.         } else {
  47.                 $link = $before . '<a href="' . get_settings('siteurl') . '/wp-admin/">' . __('Site Admin') . '</a>' . $after;
  48.         }
  49.  
  50.         echo apply_filters('register', $link);
  51. }
  52.  
  53.  
  54. function wp_meta() {
  55.         do_action('wp_meta');
  56. }
  57.  
  58.  
  59. function bloginfo($show='') {
  60.         $info = get_bloginfo($show);
  61.         if (!strstr($show, 'url') && //don't filter URLs
  62.                 !strstr($show, 'directory') &&
  63.                 !strstr($show, 'home')) {
  64.                 $info = apply_filters('bloginfo', $info, $show);
  65.                 $info = convert_chars($info);
  66.         } else {
  67.                 $info = apply_filters('bloginfo_url', $info, $show);
  68.         }
  69.  
  70.         echo $info;
  71. }
  72.  
  73.  
  74. function get_bloginfo($show='') {
  75.  
  76.         switch($show) {
  77.                 case 'url' :
  78.                 case 'home' :
  79.                 case 'siteurl' :
  80.                         $output = get_settings('home');
  81.                         break;
  82.                 case 'wpurl' :
  83.                         $output = get_settings('siteurl');
  84.                         break;
  85.                 case 'description':
  86.                         $output = get_settings('blogdescription');
  87.                         break;
  88.                 case 'rdf_url':
  89.                         $output = get_feed_link('rdf');
  90.                         break;
  91.                 case 'rss_url':
  92.                         $output = get_feed_link('rss');
  93.                         break;
  94.                 case 'rss2_url':
  95.                         $output = get_feed_link('rss2');
  96.                         break;
  97.                 case 'atom_url':
  98.                         $output = get_feed_link('atom');
  99.                         break;
  100.                 case 'comments_rss2_url':
  101.                         $output = get_feed_link('comments_rss2');
  102.                         break;
  103.                 case 'pingback_url':
  104.                         $output = get_settings('siteurl') .'/xmlrpc.php';
  105.                         break;
  106.                 case 'stylesheet_url':
  107.                         $output = get_stylesheet_uri();
  108.                         break;
  109.                 case 'stylesheet_directory':
  110.                         $output = get_stylesheet_directory_uri();
  111.                         break;
  112.                 case 'template_directory':
  113.                 case 'template_url':
  114.                         $output = get_template_directory_uri();
  115.                         break;
  116.                 case 'admin_email':
  117.                         $output = get_settings('admin_email');
  118.                         break;
  119.                 case 'charset':
  120.                         $output = get_settings('blog_charset');
  121.                         if ('' == $output) $output = 'UTF-8';
  122.                         break;
  123.                 case 'html_type' :
  124.                         $output = get_option('html_type');
  125.                         break;
  126.                 case 'version':
  127.                         global $wp_version;
  128.                         $output = $wp_version;
  129.                         break;
  130.                 case 'name':
  131.                 default:
  132.                         $output = get_settings('blogname');
  133.                         break;
  134.         }
  135.         return $output;
  136. }
  137.  
  138.  
  139. function wp_title($sep = '&raquo;', $display = true) {
  140.         global $wpdb;
  141.         global $m, $year, $monthnum, $day, $category_name, $month, $posts;
  142.  
  143.         $cat = get_query_var('cat');
  144.         $p = get_query_var('p');
  145.         $name = get_query_var('name');
  146.         $category_name = get_query_var('category_name');
  147.         $author = get_query_var('author');
  148.         $author_name = get_query_var('author_name');
  149.  
  150.         // If there's a category
  151.         if ( !empty($cat) ) {
  152.                         // category exclusion
  153.                         if ( !stristr($cat,'-') )
  154.                                 $title = get_the_category_by_ID($cat);
  155.         }
  156.         if ( !empty($category_name) ) {
  157.                 if ( stristr($category_name,'/') ) {
  158.                                 $category_name = explode('/',$category_name);
  159.                                 if ( $category_name[count($category_name)-1] )
  160.                                         $category_name = $category_name[count($category_name)-1]; // no trailing slash
  161.                                 else
  162.                                         $category_name = $category_name[count($category_name)-2]; // there was a trailling slash
  163.                 }
  164.                 $title = $wpdb->get_var("SELECT cat_name FROM $wpdb->categories WHERE category_nicename = '$category_name'");
  165.         }
  166.  
  167.         // If there's an author
  168.         if ( !empty($author) ) {
  169.                 $title = get_userdata($author);
  170.                 $title = $title->display_name;
  171.         }
  172.         if ( !empty($author_name) ) {
  173.                 // We do a direct query here because we don't cache by nicename.
  174.                 $title = $wpdb->get_var("SELECT display_name FROM $wpdb->users WHERE user_nicename = '$author_name'");
  175.         }
  176.  
  177.         // If there's a month
  178.         if ( !empty($m) ) {
  179.                 $my_year = substr($m, 0, 4);
  180.                 $my_month = $month[substr($m, 4, 2)];
  181.                 $title = "$my_year $sep $my_month";
  182.         }
  183.  
  184.         if ( !empty($year) ) {
  185.                 $title = $year;
  186.                 if ( !empty($monthnum) )
  187.                         $title .= " $sep ".$month[zeroise($monthnum, 2)];
  188.                 if ( !empty($day) )
  189.                         $title .= " $sep ".zeroise($day, 2);
  190.         }
  191.  
  192.         // If there is a post
  193.         if ( is_single() || is_page() ) {
  194.                 $title = strip_tags($posts[0]->post_title);
  195.                 $title = apply_filters('single_post_title', $title);
  196.         }
  197.  
  198.         $prefix = '';
  199.         if ( isset($title) )
  200.                 $prefix = " $sep ";
  201.  
  202.         $title = $prefix . $title;
  203.         $title = apply_filters('wp_title', $title, $sep);
  204.  
  205.         // Send it out
  206.         if ( $display )
  207.                 echo $title;
  208.         else
  209.                 return $title;
  210. }
  211.  
  212.  
  213. function single_post_title($prefix = '', $display = true) {
  214.         global $wpdb;
  215.         $p = get_query_var('p');
  216.         $name = get_query_var('name');
  217.  
  218.         if ( intval($p) || '' != $name ) {
  219.                 if ( !$p )
  220.                         $p = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_name = '$name'");
  221.                 $post = & get_post($p);
  222.                 $title = $post->post_title;
  223.                 $title = apply_filters('single_post_title', $title);
  224.                 if ( $display )
  225.                         echo $prefix.strip_tags($title);
  226.                 else
  227.                         return strip_tags($title);
  228.         }
  229. }
  230.  
  231.  
  232. function single_cat_title($prefix = '', $display = true ) {
  233.         $cat = intval( get_query_var('cat') );
  234.         if ( !empty($cat) && !(strtoupper($cat) == 'ALL') ) {
  235.                 $my_cat_name = get_the_category_by_ID($cat);
  236.                 if ( !empty($my_cat_name) ) {
  237.                         if ( $display )
  238.                                 echo $prefix.strip_tags($my_cat_name);
  239.                         else
  240.                                 return strip_tags($my_cat_name);
  241.                 }
  242.         }
  243. }
  244.  
  245.  
  246. function single_month_title($prefix = '', $display = true ) {
  247.         global $m, $monthnum, $month, $year;
  248.         if ( !empty($monthnum) && !empty($year) ) {
  249.                 $my_year = $year;
  250.                 $my_month = $month[str_pad($monthnum, 2, '0', STR_PAD_LEFT)];
  251.         } elseif ( !empty($m) ) {
  252.                 $my_year = substr($m, 0, 4);
  253.                 $my_month = $month[substr($m, 4, 2)];
  254.         }
  255.  
  256.         if ( !empty($my_month) && $display )
  257.                 echo $prefix . $my_month . $prefix . $my_year;
  258.         else
  259.                 return $monthnum;
  260. }
  261.  
  262.  
  263. /* link navigation hack by Orien http://icecode.com/ */
  264. function get_archives_link($url, $text, $format = 'html', $before = '', $after = '') {
  265.         $text = wptexturize($text);
  266.         $title_text = attribute_escape($text);
  267.  
  268.         if ('link' == $format)
  269.                 return "\t<link rel='archives' title='$title_text' href='$url' />\n";
  270.         elseif ('option' == $format)
  271.                 return "\t<option value='$url'>$before $text $after</option>\n";
  272.         elseif ('html' == $format)
  273.                 return "\t<li>$before<a href='$url' title='$title_text'>$text</a>$after</li>\n";
  274.         else // custom
  275.                 return "\t$before<a href='$url' title='$title_text'>$text</a>$after\n";
  276. }
  277.  
  278.  
  279. function wp_get_archives($args = '') {
  280.         parse_str($args, $r);
  281.  
  282.         if ( !isset($r['type']) )
  283.                 $r['type'] = '';
  284.         if ( !isset($r['limit']) )
  285.                 $r['limit'] = '';
  286.         if ( !isset($r['format']) )
  287.                 $r['format'] = 'html';
  288.         if ( !isset($r['before']) )
  289.                 $r['before'] = '';
  290.         if ( !isset($r['after']) )
  291.                 $r['after'] = '';
  292.         if ( !isset($r['show_post_count']) )
  293.                 $r['show_post_count'] = false;
  294.         if ( !isset($r['mcat']) )
  295.                 $r['mcat'] = false;
  296.  
  297.         get_archives($r['type'], $r['limit'], $r['format'], $r['before'], $r['after'], $r['show_post_count'], $r['mcat']);
  298. }
  299.  
  300.  
  301. function get_archives($type='', $limit='', $format='html', $before = '', $after = '', $mcat = '', $show_post_count = false) {
  302.         global $month, $wpdb;
  303.  
  304.         if ( '' == $type )
  305.                 $type = 'monthly';
  306.  
  307.         if ( '' != $limit ) {
  308.                 $limit = (int) $limit;
  309.                 $limit = ' LIMIT '.$limit;
  310.         }
  311.         // this is what will separate dates on weekly archive links
  312.         $archive_week_separator = '&#8211;';
  313.  
  314.         // over-ride general date format ? 0 = no: use the date format set in Options, 1 = yes: over-ride
  315.         $archive_date_format_over_ride = 0;
  316.  
  317.         // options for daily archive (only if you over-ride the general date format)
  318.         $archive_day_date_format = 'Y/m/d';
  319.  
  320.         // options for weekly archive (only if you over-ride the general date format)
  321.         $archive_week_start_date_format = 'Y/m/d';
  322.         $archive_week_end_date_format   = 'Y/m/d';
  323.  
  324.         if ( !$archive_date_format_over_ride ) {
  325.                 $archive_day_date_format = get_settings('date_format');
  326.                 $archive_week_start_date_format = get_settings('date_format');
  327.                 $archive_week_end_date_format = get_settings('date_format');
  328.         }
  329.  
  330.         $add_hours = intval(get_settings('gmt_offset'));
  331.         $add_minutes = intval(60 * (get_settings('gmt_offset') - $add_hours));
  332.  
  333.         $now = current_time('mysql');
  334.  
  335.         if ( 'monthly' == $type ) {
  336.                 $arcresults = $wpdb->get_results("SELECT DISTINCT YEAR(post_date) AS `year`, MONTH(post_date) AS `month`, count(ID) as posts FROM $wpdb->posts WHERE post_date < '$now' AND post_date != '0000-00-00 00:00:00' AND post_status = 'publish' GROUP BY YEAR(post_date), MONTH(post_date) ORDER BY post_date DESC" . $limit);
  337.                 if ( $arcresults ) {
  338.                         $afterafter = $after;
  339.                         foreach ( $arcresults as $arcresult ) {
  340.                                 $url    = get_month_link($arcresult->year,  $arcresult->month);
  341.                                 if ( $show_post_count ) {
  342.                                         $text = sprintf(__('%1$s %2$d'), $month[zeroise($arcresult->month,2)], $arcresult->year);
  343.                                         $after = '&nbsp;('.$arcresult->posts.')' . $afterafter;
  344.                                 } else {
  345.                                         $text = sprintf(__('%1$s %2$d'), $month[zeroise($arcresult->month,2)], $arcresult->year);
  346.                                 }
  347.                                 echo get_archives_link($url, $text, $format, $before, $after);
  348.                         }
  349.                 }
  350.         } elseif ( 'daily' == $type ) {
  351.                 $arcresults = $wpdb->get_results("SELECT DISTINCT YEAR(post_date) AS `year`, MONTH(post_date) AS `month`, DAYOFMONTH(post_date) AS `dayofmonth` FROM $wpdb->posts WHERE post_date < '$now' AND post_date != '0000-00-00 00:00:00' AND post_status = 'publish' ORDER BY post_date DESC" . $limit);
  352.                 if ( $arcresults ) {
  353.                         foreach ( $arcresults as $arcresult ) {
  354.                                 $url    = get_day_link($arcresult->year, $arcresult->month, $arcresult->dayofmonth);
  355.                                 $date = sprintf('%1$d-%2$02d-%3$02d 00:00:00', $arcresult->year, $arcresult->month, $arcresult->dayofmonth);
  356.                                 $text = mysql2date($archive_day_date_format, $date);
  357.                                 echo get_archives_link($url, $text, $format, $before, $after);
  358.                         }
  359.                 }
  360.         } elseif ( 'weekly' == $type ) {
  361.                 $start_of_week = get_settings('start_of_week');
  362.                 $arcresults = $wpdb->get_results("SELECT DISTINCT WEEK(post_date, $start_of_week) AS `week`, YEAR(post_date) AS yr, DATE_FORMAT(post_date, '%Y-%m-%d') AS yyyymmdd FROM $wpdb->posts WHERE post_date < '$now' AND post_status = 'publish' ORDER BY post_date DESC" . $limit);
  363.                 $arc_w_last = '';
  364.                 if ( $arcresults ) {
  365.                                 foreach ( $arcresults as $arcresult ) {
  366.                                         if ( $arcresult->week != $arc_w_last ) {
  367.                                                 $arc_year = $arcresult->yr;
  368.                                                 $arc_w_last = $arcresult->week;
  369.                                                 $arc_week = get_weekstartend($arcresult->yyyymmdd, get_settings('start_of_week'));
  370.                                                 $arc_week_start = date_i18n($archive_week_start_date_format, $arc_week['start']);
  371.                                                 $arc_week_end = date_i18n($archive_week_end_date_format, $arc_week['end']);
  372.                                                 $url  = sprintf('%1$s/%2$s%3$sm%4$s%5$s%6$sw%7$s%8$d', get_settings('home'), '', '?', '=', $arc_year, '&amp;', '=', $arcresult->week);
  373.                                                 $text = $arc_week_start . $archive_week_separator . $arc_week_end;
  374.                                                 echo get_archives_link($url, $text, $format, $before, $after);
  375.                                         }
  376.                                 }
  377.                 }
  378.         } elseif ( 'postbypost' == $type ) {
  379.                 $arcresults = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_date < '$now' AND post_status = 'publish' ORDER BY post_date DESC" . $limit);
  380.                 if ( $arcresults ) {
  381.                         foreach ( $arcresults as $arcresult ) {
  382.                                 if ( $arcresult->post_date != '0000-00-00 00:00:00' ) {
  383.                                         $url  = get_permalink($arcresult);
  384.                                         $arc_title = $arcresult->post_title;
  385.                                         if ( $arc_title )
  386.                                                 $text = strip_tags($arc_title);
  387.                                         else
  388.                                                 $text = $arcresult->ID;
  389.                                         echo get_archives_link($url, $text, $format, $before, $after);
  390.                                 }
  391.                         }
  392.                 }
  393.         } elseif ( 'catmonthly' == $type ) {
  394.         $arcresults = $wpdb->get_results("SELECT DISTINCT YEAR(post_date) AS year, MONTH(post_date) AS month, count(ID) as posts FROM $wpdb->posts, $wpdb->post2cat WHERE id = post_id AND post_date < '$now' AND category_id = $mcat AND post_date != '0000-00-00 00:00:00' AND post_status = 'publish' GROUP BY YEAR(post_date), MONTH(post_date) ORDER BY post_date DESC" . $limit);
  395.                 if ( $arcresults ) {
  396.                         $afterafter = $after;
  397.                                 foreach ( $arcresults as $arcresult ) {
  398.                                         $url = get_month_link($arcresult->year, $arcresult->month) ."&cat=" .$mcat;
  399.                                         if ( $show_post_count ) {
  400.                                                 $text = sprintf('%s %d', $month[zeroise($arcresult->month,2)], $arcresult->year);
  401.                                                 $after = ' ('.$arcresult->posts.')' . $afterafter;
  402.                                         } else {
  403.                                                 $text = sprintf('%s %d', $month[zeroise($arcresult->month,2)], $arcresult->year);
  404.                                         echo get_archives_link($url, $text, $format, $before, $after);
  405.                                 }
  406.                         }
  407.                 }
  408.  
  409.         }
  410. }
  411.  
  412.  
  413. // Used in get_calendar
  414. function calendar_week_mod($num) {
  415.         $base = 7;
  416.         return ($num - $base*floor($num/$base));
  417. }
  418.  
  419.  
  420. function get_calendar($daylength = 1) {
  421.         global $wpdb, $m, $monthnum, $year, $timedifference, $month, $month_abbrev, $weekday, $weekday_initial, $weekday_abbrev, $posts;
  422.  
  423.         $now = current_time('mysql');
  424.  
  425.         // Quick check. If we have no posts yet published, abort!
  426.         if ( !$posts ) {
  427.                 $gotsome = $wpdb->get_var("SELECT ID from $wpdb->posts WHERE post_status = 'publish' AND post_date < '$now' ORDER BY post_date DESC LIMIT 1");
  428.                 if ( !$gotsome )
  429.                         return;
  430.         }
  431.  
  432.         if ( isset($_GET['w']) )
  433.                 $w = ''.intval($_GET['w']);
  434.  
  435.         // week_begins = 0 stands for Sunday
  436.         $week_begins = intval(get_settings('start_of_week'));
  437.         $add_hours = intval(get_settings('gmt_offset'));
  438.         $add_minutes = intval(60 * (get_settings('gmt_offset') - $add_hours));
  439.  
  440.         // Let's figure out when we are
  441.         if ( !empty($monthnum) && !empty($year) ) {
  442.                 $thismonth = ''.zeroise(intval($monthnum), 2);
  443.                 $thisyear = ''.intval($year);
  444.         } elseif ( !empty($w) ) {
  445.                 // We need to get the month from MySQL
  446.                 $thisyear = ''.intval(substr($m, 0, 4));
  447.                 $d = (($w - 1) * 7) + 6; //it seems MySQL's weeks disagree with PHP's
  448.                 $thismonth = $wpdb->get_var("SELECT DATE_FORMAT((DATE_ADD('${thisyear}0101', INTERVAL $d DAY) ), '%m')");
  449.         } elseif ( !empty($m) ) {
  450.                 $calendar = substr($m, 0, 6);
  451.                 $thisyear = ''.intval(substr($m, 0, 4));
  452.                 if ( strlen($m) < 6 )
  453.                                 $thismonth = '01';
  454.                 else
  455.                                 $thismonth = ''.zeroise(intval(substr($m, 4, 2)), 2);
  456.         } else {
  457.                 $thisyear = gmdate('Y', current_time('timestamp'));
  458.                 $thismonth = gmdate('m', current_time('timestamp'));
  459.         }
  460.  
  461.         $unixmonth = mktime(0, 0 , 0, $thismonth, 1, $thisyear);
  462.  
  463.         // Get the next and previous month and year with at least one post
  464.         $previous = $wpdb->get_row("SELECT DISTINCT MONTH(post_date) AS month, YEAR(post_date) AS year
  465.                 FROM $wpdb->posts
  466.                 WHERE post_date < '$thisyear-$thismonth-01'
  467.                 AND post_status = 'publish'
  468.                         ORDER BY post_date DESC
  469.                         LIMIT 1");
  470.         $next = $wpdb->get_row("SELECT  DISTINCT MONTH(post_date) AS month, YEAR(post_date) AS year
  471.                 FROM $wpdb->posts
  472.                 WHERE post_date >       '$thisyear-$thismonth-01'
  473.                 AND post_date < '$now'
  474.                 AND MONTH( post_date ) != MONTH( '$thisyear-$thismonth-01' )
  475.                 AND post_status = 'publish'
  476.                         ORDER   BY post_date ASC
  477.                         LIMIT 1");
  478.  
  479.         echo '<table id="wp-calendar">
  480.         <caption>' . $month[zeroise($thismonth, 2)] . ' ' . date('Y', $unixmonth) . '</caption>
  481.         <thead>
  482.         <tr>';
  483.  
  484.         $day_abbrev = $weekday_initial;
  485.         if ( $daylength > 1 )
  486.                 $day_abbrev = $weekday_abbrev;
  487.  
  488.         $myweek = array();
  489.  
  490.         for ( $wdcount=0; $wdcount<=6; $wdcount++ ) {
  491.                 $myweek[]=$weekday[($wdcount+$week_begins)%7];
  492.         }
  493.  
  494.         foreach ( $myweek as $wd ) {
  495.                 echo "\n\t\t<th abbr=\"$wd\" scope=\"col\" title=\"$wd\">" . $day_abbrev[$wd] . '</th>';
  496.         }
  497.  
  498.         echo '
  499.         </tr>
  500.         </thead>
  501.  
  502.         <tfoot>
  503.         <tr>';
  504.  
  505.         if ( $previous ) {
  506.                 echo "\n\t\t".'<td abbr="' . $month[zeroise($previous->month, 2)] . '" colspan="3" id="prev"><a href="' .
  507.                 get_month_link($previous->year, $previous->month) . '" title="' . sprintf(__('View posts for %1$s %2$s'), $month[zeroise($previous->month, 2)],
  508.                         date('Y', mktime(0, 0 , 0, $previous->month, 1, $previous->year))) . '">&laquo; ' . $month_abbrev[$month[zeroise($previous->month, 2)]] . '</a></td>';
  509.         } else {
  510.                 echo "\n\t\t".'<td colspan="3" id="prev" class="pad">&nbsp;</td>';
  511.         }
  512.  
  513.         echo "\n\t\t".'<td class="pad">&nbsp;</td>';
  514.  
  515.         if ( $next ) {
  516.                 echo "\n\t\t".'<td abbr="' . $month[zeroise($next->month, 2)] . '" colspan="3" id="next"><a href="' .
  517.                 get_month_link($next->year, $next->month) . '" title="' . sprintf(__('View posts for %1$s %2$s'), $month[zeroise($next->month, 2)],
  518.                         date('Y', mktime(0, 0 , 0, $next->month, 1, $next->year))) . '">' . $month_abbrev[$month[zeroise($next->month, 2)]] . ' &raquo;</a></td>';
  519.         } else {
  520.                 echo "\n\t\t".'<td colspan="3" id="next" class="pad">&nbsp;</td>';
  521.         }
  522.  
  523.         echo '
  524.         </tr>
  525.         </tfoot>
  526.  
  527.         <tbody>
  528.         <tr>';
  529.  
  530.         // Get days with posts
  531.         $dayswithposts = $wpdb->get_results("SELECT DISTINCT DAYOFMONTH(post_date)
  532.                 FROM $wpdb->posts WHERE MONTH(post_date) = '$thismonth'
  533.                 AND YEAR(post_date) = '$thisyear'
  534.                 AND post_status = 'publish'
  535.                 AND post_date < '" . current_time('mysql') . '\'', ARRAY_N);
  536.         if ( $dayswithposts ) {
  537.                 foreach ( $dayswithposts as $daywith ) {
  538.                         $daywithpost[] = $daywith[0];
  539.                 }
  540.         } else {
  541.                 $daywithpost = array();
  542.         }
  543.  
  544.  
  545.  
  546.         if ( strstr($_SERVER['HTTP_USER_AGENT'], 'MSIE') || strstr(strtolower($_SERVER['HTTP_USER_AGENT']), 'camino') || strstr(strtolower($_SERVER['HTTP_USER_AGENT']), 'safari') )
  547.                 $ak_title_separator = "\n";
  548.         else
  549.                 $ak_title_separator = ', ';
  550.  
  551.         $ak_titles_for_day = array();
  552.         $ak_post_titles = $wpdb->get_results("SELECT post_title, DAYOFMONTH(post_date) as dom "
  553.                 ."FROM $wpdb->posts "
  554.                 ."WHERE YEAR(post_date) = '$thisyear' "
  555.                 ."AND MONTH(post_date) = '$thismonth' "
  556.                 ."AND post_date < '".current_time('mysql')."' "
  557.                 ."AND post_status = 'publish'"
  558.         );
  559.         if ( $ak_post_titles ) {
  560.                 foreach ( $ak_post_titles as $ak_post_title ) {
  561.                                 if ( empty($ak_titles_for_day['day_'.$ak_post_title->dom]) )
  562.                                         $ak_titles_for_day['day_'.$ak_post_title->dom] = '';
  563.                                 if ( empty($ak_titles_for_day["$ak_post_title->dom"]) ) // first one
  564.                                         $ak_titles_for_day["$ak_post_title->dom"] = str_replace('"', '&quot;', wptexturize($ak_post_title->post_title));
  565.                                 else
  566.                                         $ak_titles_for_day["$ak_post_title->dom"] .= $ak_title_separator . str_replace('"', '&quot;', wptexturize($ak_post_title->post_title));
  567.                 }
  568.         }
  569.  
  570.  
  571.         // See how much we should pad in the beginning
  572.         $pad = calendar_week_mod(date('w', $unixmonth)-$week_begins);
  573.         if ( 0 != $pad )
  574.                 echo "\n\t\t".'<td colspan="'.$pad.'" class="pad">&nbsp;</td>';
  575.  
  576.         $daysinmonth = intval(date('t', $unixmonth));
  577.         for ( $day = 1; $day <= $daysinmonth; ++$day ) {
  578.                 if ( isset($newrow) && $newrow )
  579.                         echo "\n\t</tr>\n\t<tr>\n\t\t";
  580.                 $newrow = false;
  581.  
  582.                 if ( $day == gmdate('j', (time() + (get_settings('gmt_offset') * 3600))) && $thismonth == gmdate('m', time()+(get_settings('gmt_offset') * 3600)) && $thisyear == gmdate('Y', time()+(get_settings('gmt_offset') * 3600)) )
  583.                         echo '<td id="today">';
  584.                 else
  585.                         echo '<td>';
  586.  
  587.                 if ( in_array($day, $daywithpost) ) // any posts today?
  588.                                 echo '<a href="' . get_day_link($thisyear, $thismonth, $day) . "\" title=\"$ak_titles_for_day[$day]\">$day</a>";
  589.                 else
  590.                         echo $day;
  591.                 echo '</td>';
  592.  
  593.                 if ( 6 == calendar_week_mod(date('w', mktime(0, 0 , 0, $thismonth, $day, $thisyear))-$week_begins) )
  594.                         $newrow = true;
  595.         }
  596.  
  597.         $pad = 7 - calendar_week_mod(date('w', mktime(0, 0 , 0, $thismonth, $day, $thisyear))-$week_begins);
  598.         if ( $pad != 0 && $pad != 7 )
  599.                 echo "\n\t\t".'<td class="pad" colspan="'.$pad.'">&nbsp;</td>';
  600.  
  601.         echo "\n\t</tr>\n\t</tbody>\n\t</table>";
  602. }
  603.  
  604.  
  605. function allowed_tags() {
  606.         global $allowedtags;
  607.         $allowed = '';
  608.         foreach ( $allowedtags as $tag => $attributes ) {
  609.                 $allowed .= '<'.$tag;
  610.                 if ( 0 < count($attributes) ) {
  611.                         foreach ( $attributes as $attribute => $limits ) {
  612.                                 $allowed .= ' '.$attribute.'=""';
  613.                         }
  614.                 }
  615.                 $allowed .= '> ';
  616.         }
  617.         return htmlentities($allowed);
  618. }
  619.  
  620.  
  621. /***** Date/Time tags *****/
  622.  
  623.  
  624. function the_date_xml() {
  625.         global $post;
  626.         echo mysql2date('Y-m-d', $post->post_date);
  627.         //echo ""+$post->post_date;
  628. }
  629.  
  630.  
  631. function the_date($d='', $before='', $after='', $echo = true) {
  632.         global $id, $post, $day, $previousday, $newday;
  633.         $the_date = '';
  634.         if ( $day != $previousday ) {
  635.                 $the_date .= $before;
  636.                 if ( $d=='' )
  637.                         $the_date .= mysql2date(get_settings('date_format'), $post->post_date);
  638.                 else
  639.                         $the_date .= mysql2date($d, $post->post_date);
  640.                 $the_date .= $after;
  641.                 $previousday = $day;
  642.         }
  643.         $the_date = apply_filters('the_date', $the_date, $d, $before, $after);
  644.         if ( $echo )
  645.                 echo $the_date;
  646.         else
  647.                 return $the_date;
  648. }
  649.  
  650.  
  651. function the_time( $d = '' ) {
  652.         echo apply_filters('the_time', get_the_time( $d ), $d);
  653. }
  654.  
  655.  
  656. function get_the_time( $d = '' ) {
  657.         if ( '' == $d )
  658.                 $the_time = get_post_time(get_settings('time_format'));
  659.         else
  660.                 $the_time = get_post_time($d);
  661.         return apply_filters('get_the_time', $the_time, $d);
  662. }
  663.  
  664.  
  665. function get_post_time( $d = 'U', $gmt = false ) { // returns timestamp
  666.         global $post;
  667.         if ( $gmt )
  668.                 $time = $post->post_date_gmt;
  669.         else
  670.                 $time = $post->post_date;
  671.  
  672.         $time = mysql2date($d, $time);
  673.         return apply_filters('get_the_time', $time, $d, $gmt);
  674. }
  675.  
  676.  
  677. function the_modified_time($d = '') {
  678.         echo apply_filters('the_modified_time', get_the_modified_time($d), $d);
  679. }
  680.  
  681.  
  682. function get_the_modified_time($d = '') {
  683.         if ( '' == $d )
  684.                 $the_time = get_post_modified_time(get_settings('time_format'));
  685.         else
  686.                 $the_time = get_post_modified_time($d);
  687.         return apply_filters('get_the_modified_time', $the_time, $d);
  688. }
  689.  
  690.  
  691. function get_post_modified_time( $d = 'U', $gmt = false ) { // returns timestamp
  692.         global $post;
  693.  
  694.         if ( $gmt )
  695.                 $time = $post->post_modified_gmt;
  696.         else
  697.                 $time = $post->post_modified;
  698.         $time = mysql2date($d, $time);
  699.  
  700.         return apply_filters('get_the_modified_time', $time, $d, $gmt);
  701. }
  702.  
  703.  
  704. function the_weekday() {
  705.         global $weekday, $id, $post;
  706.         $the_weekday = $weekday[mysql2date('w', $post->post_date)];
  707.         $the_weekday = apply_filters('the_weekday', $the_weekday);
  708.         echo $the_weekday;
  709. }
  710.  
  711.  
  712. function the_weekday_date($before='',$after='') {
  713.         global $weekday, $id, $post, $day, $previousweekday;
  714.         $the_weekday_date = '';
  715.         if ( $day != $previousweekday ) {
  716.                 $the_weekday_date .= $before;
  717.                 $the_weekday_date .= $weekday[mysql2date('w', $post->post_date)];
  718.                 $the_weekday_date .= $after;
  719.                 $previousweekday = $day;
  720.         }
  721.         $the_weekday_date = apply_filters('the_weekday_date', $the_weekday_date, $before, $after);
  722.         echo $the_weekday_date;
  723. }
  724.  
  725. function rsd_link() {
  726.         echo '<link rel="EditURI" type="application/rsd+xml" title="RSD" href="' . get_bloginfo('wpurl') . "/xmlrpc.php?rsd\" />\n";
  727. }
  728.  
  729. ?>

Update the Post

Either update this post and resubmit it with changes, or make a new post.

You may also comment on this post.

update paste below
details of the post (optional)

Note: Only the paste content is required, though the following information can be useful to others.

Save name / title?

(space separated, optional)



Please note that information posted here will expire by default in one month. If you do not want it to expire, please set the expiry time above. If it is set to expire, web search engines will not be allowed to index it prior to it expiring. Items that are not marked to expire will be indexable by search engines. Be careful with your passwords. All illegal activities will be reported and any information will be handed over to the authorities, so be good.

comments powered by Disqus
worth-right