26 (edited by dextra 2015-03-07 10:49:03)

Re: Blog Pagination (Next/Previous) for Morfy CMS

@tovic

1) Tags Page
2) Page Views Counter
3) Next/Previous Navigation

I installed but spend error

( ! ) Parse error: syntax error, unexpected ''tags_config'' (T_CONSTANT_ENCAPSED_STRING), expecting ')' in C:\wamp\www\demo\config.php on line 22
Call Stack
#    Time    Memory    Function    Location
1    0.0010    250960    {main}( )    ..\index.php:0
2    0.0040    403608    Morfy->run( )    ..\index.php:47
3    0.0040    403648    Morfy->loadConfig( )    ..\Morfy.php:138

config.php

<?php
    return array(
        'site_url' => 'http://localhost/demo',
        'site_charset' => 'UTF-8',
        'site_timezone' => 'Kwajalein',
        'site_theme' => 'default',
        'site_title' => 'demo',
        'site_description' => 'demo',
        'site_keywords' => 'demo',
        'email' => 'demo@gmail.com',
        'plugins' => array(
            'markdown',
            'sitemap',
            'pageview',
            'tags',
            'nextprev'
        ),
        'pageview_config' => array(
            // Change to `false` if you want to remove the leading zero in counter
            'leading_zero' => '000000'
        )
        'tags_config' => array( // <= Configuration
            'param' => 'tagged', // <= Page parameter name in URL for the tags filter
            'param_page' => 'page', // <= Page parameter name in URL for the page filter
            'limit' => 5, // <= Number of posts to display per page request
            'separator' => ', ', // <= Separator for each tag link
            'classes' => array( // <= List of item's HTML classes
                'page_item' => 'page',
                'nav' => 'pager',
                'nav_prev' => 'previous',
                'nav_next' => 'next',
                'nav_disabled' => 'disabled',
                'tag' => 'tag',
                'current' => 'current'
            ),
            'labels' => array( // <= List of item's readable text or labels
                'page_header' => '<div class="alert alert-info"><p>Showing posts tagged in <strong>{tag}</strong>.</p></div>',
                'nav_prev' => '&larr; Previous',
                'nav_next' => 'Next &rarr;',
                'not_found' => '<div class="alert alert-danger"><p>No more posts found tagged in <strong>{tag}</strong>.</p></div>'
            )
        )
        'nextprev_config' => array( // <= Configuration
            'param' => 'page', // <= Page parameter name in URL
            'limit' => 5, // <= Number of posts to display per page request
            'classes' => array( // <= List of item's HTML classes
                'page_item' => 'page',
                'nav' => 'pager',
                'nav_prev' => 'previous',
                'nav_next' => 'next',
                'nav_disabled' => 'disabled'
            ),
            'labels' => array( // <= List of item's readable text or labels
                'nav_prev' => '&larr; Previous',
                'nav_next' => 'Next &rarr;',
                'not_found' => '<div class="alert alert-danger"><p>Not found.</p></div>'
            )
        )
    );
          

tempate news.html

<?php include 'header.html' ?>
<?php include 'navbar.html' ?>
    <?php Morfy::factory()->runAction('theme_content_before'); ?>
    <div class="container">
        <div class="row">
            <div class="col-md-12">
            <?php
                        // Configuration data
                        $config = Morfy::$config['nextprev_config'];
                        // Get current URI segments
                        $path = Morfy::factory()->getUriSegments();
                        $path = implode('/', $path);
                        // Number of posts to display per page request
                        $per_page = isset($config['limit']) ? $config['limit'] : 5;
                        // Get all posts
                        $all_posts = Morfy::factory()->getPages(CONTENT_PATH . '/' . $path . '/', 'date', 'DESC', array('404', 'index'));
                        // Calculate total pages
                        $total_pages = ceil(count($all_posts) / $per_page);
                        // Get current page offset
                        $current_page = isset($_GET[$config['param']]) ? $_GET[$config['param']] : 1;
                        // Split all posts into chunks
                        $posts = is_array($all_posts) ? array_chunk($all_posts, $per_page) : array();
                        $tag_filter = Morfy::$config['tags_config']['param'];
                        if(isset($tag_filter) && isset($_GET[$tag_filter])) { // Tags page
                            Morfy::factory()->runAction('tags');
                        } else { // Normal posts loop
                            Morfy::factory()->runAction('index_nextprev');
                        }
                        // Posts loop
                        if(isset($posts[$current_page - 1]) && ! empty($posts[$current_page - 1])) {
                            foreach($posts[$current_page - 1] as $post) {
                                // use default image if not write Thumbnail 
                                $thumbnail =  ($post['thumbnail']) ? $post['thumbnail'] : $config['Site_url'].'public/images/default.jpg';
                                
                                echo '<div class="tumb-grid"><img src="'.$thumbnail.'" alt="'.$post['title'].'" data-holder-rendered="true" style="height: 200px; width: 100%; display: block;"><h3><a href="'.$config['site_url'].'/blog/'.$post['slug'].'">'.$post['title'].'</a></h3>
                                </div>';
                            }
                        } else {
                            echo '<div class="' . $config['classes']['page_item'] . '">' . $config['labels']['not_found'] . '</div>';
                        }
                        
            ?>
            </div>
        </div>
        <div class="row">
            <div class="col-md-12">
                <?php
                // Build the pagination
                        $html  = '<ul class="' . $config['classes']['nav'] . '">';
                        $html .= $current_page > 1 ? '<li class="' . $config['classes']['nav_prev'] . '"><a href="?' . $config['param'] . '=' . ($current_page - 1) . '">' . $config['labels']['nav_prev'] . '</a></li>' : '<li class="' . $config['classes']['nav_prev'] . ' ' . $config['classes']['nav_disabled'] . '"><span>' . $config['labels']['nav_prev'] . '</span></li>';
                        $html .= $current_page < $total_pages ? ' <li class="' . $config['classes']['nav_next'] . '"><a href="?' . $config['param'] . '=' . ($current_page + 1) . '">' . $config['labels']['nav_next'] . '</a></li>' : ' <li class="' . $config['classes']['nav_next'] . ' ' . $config['classes']['nav_disabled'] . '"><span>' . $config['labels']['nav_next'] . '</span></li>';
                        $html .= '</ul>';
                        echo $html;
                ?>
            </div>
        </div>
    </div>
    <?php Morfy::factory()->runAction('theme_content_after'); ?>
<?php include 'footer.html' ?>

news_post.html

<?php include 'header.html' ?>
<?php include 'navbar.html' ?>
<div class="container">
    <?php Morfy::factory()->runAction('theme_content_before'); ?>
    <h3><?php echo $page['title']; ?></h3>
    <?php $thumbnail =  ($page['thumbnail']) ? $page['thumbnail'] : $config['Site_url'].'public/images/default.jpg'; ?>
    <div class="tumb">
        <img src="<?php echo $thumbnail;?>" alt="<?php echo $page['title'];?>">
    </div>
    <p>Posted on <?php echo $page['date']; ?></p>
    <div><?php echo $page['content']; ?></div>  
    <span class="page-views">
        <strong class="page-views-label">Total Page Views:</strong> 
        <span class="page-views-counter">
            <?php Morfy::factory()->runAction('pageview'); ?>
        </span>
    </span>
    <div class="post-tags">
        <?php Morfy::factory()->runAction('tags_links'); ?>
    </div>
    <?php Morfy::factory()->runAction('item_nextprev'); ?>
    <?php Morfy::factory()->runAction('theme_content_after'); ?>
    <hr>
</div>
<?php include 'footer.html' ?>

I did not touch any file!
and I get this error sad

27 (edited by tovic 2015-03-10 04:39:32)

Re: Blog Pagination (Next/Previous) for Morfy CMS

Missing comma here:


'pageview_config' => array(
    // Change to `false` if you want to remove the leading zero in counter
    'leading_zero' => '000000'
) ← // here!
'tags_config'
XSS Testing <script>alert('HIYAA!!!');</script>