diff -r fb7cd02b9848 -r 561aa6d282f6 web/wp-content/plugins/wptouch/themes/default/functions.php
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/web/wp-content/plugins/wptouch/themes/default/functions.php Mon Feb 01 09:51:57 2010 +0000
@@ -0,0 +1,192 @@
+ 8, 'largest' => 22, 'unit' => 'pt', 'number' => 45,
+// 'format' => 'flat', 'orderby' => 'name', 'order' => 'ASC',
+// 'exclude' => '', 'include' => ''
+// );
+// $args = wp_parse_args( $args, $defaults );
+//
+// $tags = get_tags( array_merge($args, array('orderby' => 'count', 'order' => 'DESC')) ); // Always query top tags
+//
+// if ( empty($tags) )
+// return;
+//
+// $return = core_header_tag_cloud( $tags, $args ); // Here's where those top tags get sorted according to $args
+// if ( is_wp_error( $return ) )
+// return false;
+// else
+// echo apply_filters( 'dropdown_tag_cloud', $return, $args );
+// }
+//
+// function core_header_tag_cloud( $tags, $args = '' ) {
+// global $wp_rewrite;
+// $defaults = array(
+// 'smallest' => 8, 'largest' => 22, 'unit' => 'pt', 'number' => 45,
+// 'format' => 'flat', 'orderby' => 'name', 'order' => 'ASC'
+// );
+// $args = wp_parse_args( $args, $defaults );
+// extract($args);
+//
+// if ( !$tags )
+// return;
+// $counts = $tag_links = array();
+// foreach ( (array) $tags as $tag ) {
+// $counts[$tag->name] = $tag->count;
+// $tag_links[$tag->name] = get_tag_link( $tag->term_id );
+// if ( is_wp_error( $tag_links[$tag->name] ) )
+// return $tag_links[$tag->name];
+// $tag_ids[$tag->name] = $tag->term_id;
+// }
+//
+// $min_count = min($counts);
+// $spread = max($counts) - $min_count;
+// if ( $spread <= 0 )
+// $spread = 1;
+// $font_spread = $largest - $smallest;
+// if ( $font_spread <= 0 )
+// $font_spread = 1;
+// $font_step = $font_spread / $spread;
+//
+// // SQL cannot save you; this is a second (potentially different) sort on a subset of data.
+// if ( 'name' == $orderby )
+// uksort($counts, 'strnatcasecmp');
+// else
+// asort($counts);
+//
+// if ( 'DESC' == $order )
+// $counts = array_reverse( $counts, true );
+//
+// $a = array();
+//
+// $rel = ( is_object($wp_rewrite) && $wp_rewrite->using_permalinks() ) ? ' rel="tag"' : '';
+//
+// foreach ( $counts as $tag => $count ) {
+// $tag_id = $tag_ids[$tag];
+// $tag_link = clean_url($tag_links[$tag]);
+// $tag = str_replace(' ', ' ', wp_specialchars( $tag ));
+// $a[] = "\t";
+// }
+//
+// switch ( $format ) :
+// case 'array' :
+// $return =& $a;
+// break;
+// case 'list' :
+// $return = "
\n\t- ";
+// $return .= join("
\n\t- ", $a);
+// $return .= "
\n
\n";
+// break;
+// default :
+// $return = join("\n", $a);
+// break;
+// endswitch;
+//
+// return apply_filters( 'core_header_tag_cloud', $return, $tags, $args );
+// }
+
+//---------------- Custom Exclude Cats Function ----------------//
+function exclude_category($query) {
+ $cats = wptouch_excluded_cats();
+ $icats = explode( ",", $cats );
+ $new_cats = array();
+ foreach( $icats as $icat ) {
+ $new_cats[] = "-" . $icat;
+}
+ $cats = implode( ",", $new_cats );
+
+ if ( $query->is_home ) {
+ $query->set('cat', $cats);
+ }
+return $query;
+}
+
+add_filter('pre_get_posts', 'exclude_category');
+
+
+//---------------- Custom Excerpts Function ----------------//
+function wptouch_trim_excerpt($text) {
+ $raw_excerpt = $text;
+ if ( '' == $text ) {
+ $text = get_the_content('');
+ $text = strip_shortcodes( $text );
+ $text = apply_filters('the_content', $text);
+ $text = str_replace(']]>', ']]>', $text);
+ $text = strip_tags($text);
+ $excerpt_length = apply_filters('excerpt_length', 30);
+ $words = explode(' ', $text, $excerpt_length + 1);
+ if (count($words) > $excerpt_length) {
+ array_pop($words);
+ array_push($words, '...');
+ $text = implode(' ', $words);
+ $text = force_balance_tags( $text );
+ }
+ }
+ return apply_filters('wptouch_trim_excerpt', $text, $raw_excerpt);
+}
+
+
+//---------------- Custom Time Since Function ----------------//
+
+function time_since($older_date, $newer_date = false)
+ {
+ // array of time period chunks
+ $chunks = array(
+// array(60 * 60 * 24 * 365 , 'yr'),
+ array(60 * 60 * 24 * 30 , 'mo'),
+ array(60 * 60 * 24 * 7, 'wk'),
+ array(60 * 60 * 24 , 'day'),
+ array(60 * 60 , 'hr'),
+ array(60 , 'min'),
+ );
+
+ // $newer_date will equal false if we want to know the time elapsed between a date and the current time
+ // $newer_date will have a value if we want to work out time elapsed between two known dates
+ $newer_date = ($newer_date == false) ? (time()+(60*60*get_settings("gmt_offset"))) : $newer_date;
+
+ // difference in seconds
+ $since = $newer_date - $older_date;
+
+ // we only want to output two chunks of time here, eg:
+ // x years, xx months
+ // x days, xx hours
+ // so there's only two bits of calculation below:
+
+ // step one: the first chunk
+ for ($i = 0, $j = count($chunks); $i < $j; $i++)
+ {
+ $seconds = $chunks[$i][0];
+ $name = $chunks[$i][1];
+
+ // finding the biggest chunk (if the chunk fits, break)
+ if (($count = floor($since / $seconds)) != 0)
+ {
+ break;
+ }
+ }
+
+ // set output var
+ $output = ($count == 1) ? '1 '.$name : "$count {$name}s";
+
+ // step two: the second chunk
+ if ($i + 1 < $j)
+ {
+ $seconds2 = $chunks[$i + 1][0];
+ $name2 = $chunks[$i + 1][1];
+
+ if (($count2 = floor(($since - ($seconds * $count)) / $seconds2)) != 0)
+ {
+ // add to output var
+ $output .= ($count2 == 1) ? ', 1 '.$name2 : ", $count2 {$name2}s";
+ }
+ }
+
+ return $output;
+ }
+
+remove_filter('get_the_excerpt', 'wp_trim_excerpt');
+add_filter('get_the_excerpt', 'wptouch_trim_excerpt');
+?>
\ No newline at end of file