[533] | 1 | <?php
|
---|
| 2 | // Block Version: 1.0
|
---|
| 3 | function blog_list_block($options)
|
---|
| 4 | {
|
---|
| 5 | $mydirname = empty( $options[0] ) ? 'xpress' : $options[0] ;
|
---|
| 6 | $this_template = empty( $options[1] ) ? 'db:'.$mydirname.'_block_category.html' : trim( $options[1] );
|
---|
| 7 | $orderby = empty( $options[2] ) ? 'name' : $options[2] ;
|
---|
| 8 | $order = empty( $options[3] ) ? 'ASC' : $options[3] ;
|
---|
| 9 |
|
---|
[536] | 10 | if (xpress_is_multiblog() && function_exists('get_blog_list')){
|
---|
| 11 | $blogs = get_blog_list(0,'all');
|
---|
| 12 | $data = array();
|
---|
| 13 | foreach ($blogs AS $blog) {
|
---|
| 14 | $url = get_blog_option($blog['blog_id'],'siteurl');
|
---|
| 15 | $blog_name = get_blog_option( $blog['blog_id'], 'blogname' );
|
---|
| 16 | $blog_link = "<a href=\" $url \"> $blog_name </a>";
|
---|
| 17 | $blog_id = $blog['blog_id'];
|
---|
| 18 | $post_count = $blog['postcount'];
|
---|
| 19 | $last_post_date = '';
|
---|
| 20 | $last_post_time = '';
|
---|
| 21 | $last_post_date_time = '';
|
---|
| 22 |
|
---|
| 23 | $row_data = array(
|
---|
| 24 | 'blog_id' => $blog_id ,
|
---|
| 25 | 'blog_name' => $blog_link ,
|
---|
| 26 | 'last_post_date' => $last_post_date ,
|
---|
| 27 | 'last_post_time' => $last_post_time ,
|
---|
| 28 | 'post_date_time' => $last_post_date_time ,
|
---|
| 29 | 'last_post_date_time' => $post_modified_date ,
|
---|
| 30 | 'post_count' => $post_count
|
---|
| 31 | );
|
---|
| 32 | $data[] = $row_data;
|
---|
[533] | 33 | }
|
---|
[536] | 34 | if (strcmp($order,'ASC') == 0){
|
---|
| 35 | switch($orderby){
|
---|
| 36 | case 'count':
|
---|
| 37 | usort($data, "r_post_count_cmp");
|
---|
| 38 | break;
|
---|
| 39 | case 'ID' :
|
---|
| 40 | usort($data, "r_blog_id_cmp");
|
---|
| 41 | break;
|
---|
| 42 | default :
|
---|
| 43 | usort($data, "r_blog_name_cmp");
|
---|
| 44 | }
|
---|
| 45 | } else {
|
---|
| 46 | switch($orderby){
|
---|
| 47 | case 'count':
|
---|
| 48 | usort($data, "post_count_cmp");
|
---|
| 49 | break;
|
---|
| 50 | case 'ID' :
|
---|
| 51 | usort($data, "blog_id_cmp");
|
---|
| 52 | break;
|
---|
| 53 | default :
|
---|
| 54 | usort($data, "blog_name_cmp");
|
---|
| 55 | }
|
---|
| 56 | }
|
---|
| 57 |
|
---|
| 58 | $block = array();
|
---|
| 59 | $item_no = 0;
|
---|
| 60 | foreach ($data AS $row) {
|
---|
| 61 | $block['contents']['item'.$item_no] = $row;
|
---|
| 62 | $item_no++;
|
---|
| 63 | }// end of foreach
|
---|
| 64 | $block['data_count'] = $item_no; //xml unserialise error
|
---|
[533] | 65 | } else {
|
---|
[536] | 66 | $block['err_message'] = __('This blog is not set to the multi blog.', 'xpress');
|
---|
[533] | 67 | }
|
---|
| 68 | return $block ;
|
---|
| 69 | }
|
---|
| 70 | function blog_name_cmp($a, $b)
|
---|
| 71 | {
|
---|
| 72 | return - strcasecmp($a["blog_name"], $b["blog_name"]);
|
---|
| 73 | }
|
---|
| 74 | function blog_id_cmp($a, $b)
|
---|
| 75 | {
|
---|
| 76 | return $b["blog_id"] - $a["blog_id"];
|
---|
| 77 | }
|
---|
| 78 | function post_count_cmp($a, $b)
|
---|
| 79 | {
|
---|
| 80 | return $b["post_count"] - $a["post_count"];
|
---|
| 81 | }
|
---|
| 82 |
|
---|
| 83 | function r_blog_name_cmp($a, $b)
|
---|
| 84 | {
|
---|
| 85 | return strcasecmp($a["blog_name"], $b["blog_name"]);
|
---|
| 86 | }
|
---|
| 87 | function r_blog_id_cmp($a, $b)
|
---|
| 88 | {
|
---|
| 89 | return $a["blog_id"] - $b["blog_id"];
|
---|
| 90 | }
|
---|
| 91 | function r_post_count_cmp($a, $b)
|
---|
| 92 | {
|
---|
| 93 | return $a["post_count"] - $b["post_count"];
|
---|
| 94 | }
|
---|
| 95 |
|
---|
| 96 | ?> |
---|