Página 1 de 1

Ultimas entradas de blog en la barra lateral de mitch

Publicado: 08 Ene 2010, 16:30
por ANONIMO2
Buenas,

Tengo un sistema de blogs con el User Blog Mod, pero los blogs pasan desapercibidos porque no son visibles en la página indice. He pensado que podría poner un bloque con las últimas entradas publicadas en la barra lateral de mitch. El propio mod usa un bloque con esa función en una barra lateral en la página de los blogs, pero desconozco donde se encuentra el código del bloque y como usarlo en la barra lateral de mitch.

URL: protegenos.com
Versión phpBB: phpBB3 (3.0.6)
MODs Instalados: Prune Log, UMIL, User Blog Mod, mChat, Static Pages
Plantilla(s) usada(s): prosilver
Servidor: Linux hosting casero
Actualización desde otra versión: 3.0.5

Re: Ultimas entradas de blog en la barra lateral de mitch

Publicado: 08 Ene 2010, 16:55
por ANONIMO2
He visto que existe el fichero /blog/includes/functions en donde hay el siguiente código sobre la barra lateral que antes mencioné:

Código: Seleccionar todo

/**
* Generates the left side menu
*
* @param int $user_id If we are building it for a certain user, send the uid here
*/
function generate_menu($user_id = false)
{
        global $auth, $config, $db, $template, $blog_data, $user, $phpbb_root_path, $phpEx;

        $extra = $user_menu_extra = '';
        $stats = ($user_id) ? array() : array(
                $user->lang['TOTAL_NUMBER_OF_BLOGS'] => $config['num_blogs'],
                $user->lang['TOTAL_NUMBER_OF_REPLIES'] => $config['num_blog_replies'],
        );

        $links = array();
        if (!$user_id)
        {
                if ($auth->acl_get('u_blogpost'))
                {
                        $links[] = array(
                                'URL'           => blog_url($user->data['user_id']),
                                'NAME'          => $user->lang['MY_BLOG'],
                                'IMG'           => 'icon_mini_profile.gif',
                                'CLASS'         => 'icon-ucp',
                                'auth'          => ($auth->acl_get('u_blogpost')) ? true : false,
                        );

                        if ($user->data['is_registered'])
                        {
                                $links[] = array(
                                        'URL'           =>append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=blog'),
                                        'NAME'          => $user->lang['BLOG_CONTROL_PANEL'],
                                        'IMG'           => 'icon_mini_register.gif',
                                        'CLASS'         => 'icon-register',
                                );
                        }
                }

                if (sizeof($links))
                {
                        $links[] = array('URL' => 'spacer', 'NAME' => 'spacer');
                }

                $links[] = array(
                        'URL'           => blog_url(false, false, false, array('mode' => 'recent_blogs')),
                        'NAME'          => $user->lang['RECENT_BLOGS'],
                        'IMG'           => 'icon_mini_groups.gif',
                        'CLASS'         => 'icon-bump',
                );
                $links[] = array(
                        'URL'           => blog_url(false, false, false, array('mode' => 'random_blogs')),
                        'NAME'          => $user->lang['RANDOM_BLOGS'],
                        'IMG'           => 'icon_mini_message.gif',
                        'CLASS'         => 'icon-bookmark',
                );
                $links[] = array(
                        'URL'           => blog_url(false, false, false, array('mode' => 'popular_blogs')),
                        'NAME'          => $user->lang['POPULAR_BLOGS'],
                        'IMG'           => 'icon_mini_members.gif',
                        'CLASS'         => 'icon-members',
                );
        }

        $temp = compact('user_id', 'user_menu_extra', 'extra', 'stats', 'links');
        blog_plugins::plugin_do_ref('function_generate_menu', $temp);
        extract($temp);

        if ($user_id)
        {
                $userdata = $blog_data->handle_user_data($user_id);
                $template->assign_vars($userdata);

                foreach ($userdata['custom_fields'] as $fields)
                {
                        $template->assign_block_vars('custom_fields', $fields);
                }

                $template->assign_vars(array(
                        'S_USER_BLOG_MENU'      => true,
                        'USER_MENU_EXTRA'       => $user_menu_extra,
                ));
        }
        else
        {

                $template->assign_vars(array(
                        'S_MAIN_BLOG_MENU'              => true,
                        'MENU_EXTRA'                    => $extra,
                ));
        }

        if (sizeof($links))
        {
                $template->assign_vars(array('S_BLOG_LINKS' => true));

                foreach ($links as $data)
                {
                        if (!isset($data['auth']) || $data['auth'])
                        {
                                $template->assign_block_vars('left_blog_links', $data);
                        }
                }
        }

        if (sizeof($stats))
        {
                $template->assign_vars(array('S_BLOG_STATS' => true));

                foreach ($stats as $name => $value)
                {
                        $template->assign_block_vars('stats', array(
                                'NAME'          => $name,
                                'VALUE'         => $value,
                        ));
                }
        }

        if ($config['user_blog_search'] && !$user->data['is_bot'])
        {
                $template->assign_vars(array(
                        'S_DISPLAY_BLOG_SEARCH' => true,
                        'U_BLOG_SEARCH'                 => blog_url(false, false, false, array('page' => 'search')),
                ));
        }
}

A destacar el recent_blogs, que como no se de PHP no se si es una llamada a una función o que hace :S

Re: Ultimas entradas de blog en la barra lateral de mitch

Publicado: 08 Ene 2010, 17:29
por ANONIMO2
Creo que he encontrado donde se genera la salida del bloque:

Código: Seleccionar todo

        // This is the default page
        default :
                // Get the random blog(s) and the recent blogs
                $random_blog_ids = $blog_data->get_blog_data('random', 0, array('limit' => 1, 'category_id' => $category_id));
                $recent_blog_ids = $blog_data->get_blog_data('recent', 0, array('limit' => $limit, 'category_id' => $category_id));
                $recent_reply_ids = $blog_data->get_reply_data('recent', 0, array('limit' => $limit, 'category_id' => $category_id));

                $blog_data->get_user_data(false, true);
                update_edit_delete();

                // Output the random blog(s)
                if ($random_blog_ids !== false)
                {
                        $template->assign_vars(array(
                                'S_RANDOM_BLOG'         => true,
                        ));

                        // I've decided to use a foreach to display the random blogs so it is easier to change the limit if the board owner would like...
                        foreach ($random_blog_ids as $id)
                        {
                                $template->assign_block_vars('random', array_merge($blog_data->handle_user_data(blog_data::$blog[$id]['user_id']), $blog_data->handle_blog_data($id, $config['user_blog_user_text_limit'])));
                        }
                }

                // Output the recent blogs
                $template->assign_block_vars('column', array(
                        'SECTION_WIDTH'         => '50',
                        'U_FEED'                        => ($config['user_blog_enable_feeds']) ? blog_url(false, false, false, array('mode' => 'recent_blogs', 'feed' => 'explain')) : '',
                        'U_VIEW'                        => blog_url(false, false, false, array('mode' => 'recent_blogs')),
                        'TITLE'                         => $user->lang['RECENT_BLOGS'],
                        'L_NO_MSG'                      => $user->lang['NO_BLOGS'],
                ));
                if ($recent_blog_ids !== false)
                {
                        foreach ($recent_blog_ids as $id)
                        {
                                $template->assign_block_vars('column.row', array_merge($blog_data->handle_user_data(blog_data::$blog[$id]['user_id']), $blog_data->handle_blog_data($id, $config['user_blog_text_limit'])));
                        }
                }
                // Output the recent comments
                $template->assign_block_vars('column', array(
                        'SECTION_WIDTH'         => '50',
                        'U_FEED'                        => ($config['user_blog_enable_feeds']) ? blog_url(false, false, false, array('mode' => 'recent_comments', 'feed' => 'explain')) : '',
                        'U_VIEW'                        => blog_url(false, false, false, array('mode' => 'recent_comments')),
                        'TITLE'                         => $user->lang['RECENT_COMMENTS'],
                        'L_NO_MSG'                      => $user->lang['NO_REPLIES'],
                ));
                if ($recent_reply_ids !== false)
                {
                        foreach ($recent_reply_ids as $id)
                        {
                                $template->assign_block_vars('column.row', array_merge($blog_data->handle_user_data(blog_data::$reply[$id]['user_id']), $blog_data->handle_reply_data($id, $config['user_blog_text_limit'])));
                        }
                }


                $template->set_filenames(array(
                        'body'          => 'blog/view_blog_main.html',
                ));
}

blog_plugins::plugin_do('view_main_end');

?>
Se programar, pero desconozco PHP, no se interpretarlo, me pierdo por completo...