GetSimple Support Forum

Full Version: GS Blog v1.4
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
@tf2 - It seems that the version of the plugin in extend is not the most recent. You can download v1.4.2 from the GitHub repository: https://github.com/mikehenken/getsimple-blog
(2012-11-30, 02:24:07)influxweb Wrote: [ -> ]@tf2 - It seems that the version of the plugin in extend is not the most recent. You can download v1.4.2 from the GitHub repository: https://github.com/mikehenken/getsimple-blog

Thanks! Much appreciated.
A decent category system will be great:
- Multi-language (right now non-English category name is turning into ###### )
- category slug
- 3 level or more would turn it to a much more wider solution (Article / catalog / whatever) .
- category thumb field.
- category description field.
- Sortable of course
The option to choose more then one category for a post ( like the wordpress categories ) will be ideal ...

When started using it (v1.4.2), Suddenly it gave me a blank screen, in debug it had issues with user-management declared twice.
After commenting out inc/common.php
- check_user_permission()
- check_user_permissions()
Site+admin came back, but then had issues with lang (turned back into english) ...... well - seems like issues with users-lang-permittions

Turning off the plugin got all back to normal.
Then that would be a multi user bug not a blog bug.
(2012-12-02, 03:28:46)shawn_a Wrote: [ -> ]Then that would be a multi user bug not a blog bug.

Nop - GSblog try to interact with the Multi-User to pass permitions management ... when I eliminate it - all come back to normal.

but most important - it's effecting other plugins - turning them to the default language (English) ... again - all weirdness gone when it's turned off.
that is weird, i guess i missed the release that updated it to work with multi.
(2012-12-02, 10:18:29)shawn_a Wrote: [ -> ]that is weird, i guess i missed the release that updated it to work with multi.

see a few posts above:
" You can download v1.4.2 from the GitHub repository: https://github.com/mikehenken/getsimple-blog "

But, my biggest issue is not the "multi-user" thing which is very easy to comment out for now ...
The real issue is "why the plugin is dealing with the multi-lang definitions of other plugins (just some of them) ".
I don't have any clue to begin with.
Hello

I have newest version 1.4.2 and blog not working. My .htaccess is correct, rest of as should be. Any idea? Known problems - I have only links with redirection to my blog main page.
Thanks

blog location: http://denarek.com/blog/
@Dude
Do you have canonical redirects enabled? (in gsconfig)
@Carlos yeah, was enabled Tongue Fixed!

Thanks Big Grin

blog headers <h1,2,3 etc structure

Hi again. I see here bad headers structure (maybe I'm wrong).

Simple CMS page main header is H1, then blog main header is H3. Should be H2 imho.

Code:
<h3 class="blog_post_title"><a href="http://somelink" class="blog_post_link">some link</a></h3>

Not big deal, but would be nice to have H1->2->3 etc

Thanks
Another problem, here is no Title and description for blog entries. And this is big problem for SEO and overall usability. If you will post blog entry on fb for example, you will see only main blog title and description.
The problem with the language being reset to Eng is from the file blog.php

first function don't actually function as it should:
Code:
# add in this plugin's language file
if(file_exists(BLOGSETTINGS))
{
    $settings_lang = getXML(BLOGSETTINGS);
    $LANG = $settings_lang->lang;
}
else
{
    $LANG = "en_US";
}

I had to set it manually to fix the issue of half the site being reset ... to Eng.
So it's officially a bug :-)
(2012-12-10, 08:52:24)Tzvook Wrote: [ -> ]The problem with the language being reset to Eng is from the file blog.php

first function don't actually function as it should:
Code:
# add in this plugin's language file
if(file_exists(BLOGSETTINGS))
{
    $settings_lang = getXML(BLOGSETTINGS);
    $LANG = $settings_lang->lang;
}
else
{
    $LANG = "en_US";
}

I had to set it manually to fix the issue of half the site being reset ... to Eng.
So it's officially a bug :-)

Thank's but - what fixing it? And where to put it? In plugins/blog/language/my_MY.php file?
@ plugins/blog.php
top of the file

Code:
# add in this plugin's language file
if(file_exists(BLOGSETTINGS))
{
    $settings_lang = getXML(BLOGSETTINGS);
    $LANG = $settings_lang->lang;
}
else
{
    $LANG = "en_US";
}

Turned into hard coded lang vars ( I use Hebrew )

Code:
# add in this plugin's language file
if(file_exists(BLOGSETTINGS))
{
    $settings_lang = getXML(BLOGSETTINGS);
    $LANG = "he_IL";
}
else
{
    $LANG = "he_IL";
}

TMP solution of-course , till mikeh will add it to the official source ... but now my blog function at last.
But - again - it's really promising, but lake on decent "category system" as I mentioned above, hope we'll see it evolved , not frozen as is now ....
Hello,

thanks for this module.
I am new to GetSimple CMS and to this Module and I really like the idea of a DB Free, XML based CMS.

Regards the Module I can't find the way to display the contents of CutomFields.
And, in case of WYSWIWYG Type Custom Fields, they neither show the Editor nor save the data.
Am I missing something?

Kind regards,
Serenado
Hello,

I still would like to know how to use CUSTOM FIELDS and why the WYSIWYG_Custom doesn't save.
(I am using the newest RC of getSimple CMS, BTW.)

Meanwhile I managed to apply a simple Template Engine for the Template Stuff of the Blog.
The Template File looks like this:

Code:
{if condition="isset($post.id)"} <!-- SINGLE BLOG POST -->    
    {if condition="$config.postadtop == 'Y'"}
        <div class="blog_all_posts_ad">
            {$config.addata}
        </div>
    {/if}
    {if condition="$config.disquscount == 'Y'"}
        <a href="{$post.url}/#disqus_thread" data-disqus-identifier="{$post.id}" style="float:right"></a>
    {/if}    

    <div class="blog_post_container">
        <h3 class="blog_post_title">
            <a href="{$post.url}" class="blog_post_link">
                {$post.title}
            </a>
        </h3>
        {if condition="$config.displaydate == 'Y'"}
            <p class="blog_post_date">{$post.date}</p>
        {/if}    
            <p class="blog_post_content">                
    
    {if condition="$post.thumb_src"}
    <img src="{$post.thumb_src}" alt="{$post.title}" style="width: 200px;height: auto; "/>
    {/if}{$post.content}

    {if condition="$config.displayreadmore == 'Y'"}{$config.readmore}{/if}
    </div>

    {if condition="!empty($tags)"}
        <p class="blog_tags"><b>{$i18n.TAGS} :</b>
        {loop="tags"}
            <a href="{$tag_url}{$value}">{$value}</a>
        {/loop}
        </p>
    {/if}

    <p class="blog_go_back"><a href="javascript:history.back()">&lt;&lt; {$i18n.GO_BACK}</a></p>

    {if condition="$config.addthis == 'Y'"}
        {function="addThisTool()"}
    {/if}
    {if condition="$config.sharethis == 'Y'"}
        {function="shareThisTool()"}
    {/if}
    {if condition="$config.comments == 'Y'"}
        {function="disqusTool()"}
    {/if}
    {if condition="$config.postadbottom == 'Y'"}
        <div class="blog_all_posts_ad">
            {$config.addata}
        </div>
    {/if}
{else} <!-- BLOG POSTS LOOP -->
    <div class="blog_post_container">
        <h3 class="blog_post_title">
            <a href="{$post.url}" class="blog_post_link">
                {$post.title}
            </a>
        </h3>
        {if condition="$config.displaydate == 'Y'"}
            <p class="blog_post_date">{$post.date}</p>
        {/if}    
            <p class="blog_post_content">                
    
    {if condition="$post.thumb_src"}
    <img src="{$post.thumb_src}" alt="{$post.title}" style="width: 200px;height: auto; "/>
    {/if}{$post.content}
    
    {if condition="$config.displayreadmore == 'Y'"}
        <a href="{$post.url}">
        {if condition="$config.readmore != ''"}
        {$config.readmore}
        {else}
        {$i18n.READ_FULL_ARTICLE}
        {/if}
        &raquo;</a>
    {/if}
    </div>
    {if condition="!empty($tags)"}
        <p class="blog_tags"><b>{$i18n.TAGS} :</b>
        {loop="tags"}
            <a href="{$tag_url}{$value}">{$value}</a>
        {/loop}
        </p>
    {/if}
{/if}

I couldn't find any suggested Template Engine, so I used the one I think is ballanced in usability and weight (this one is a one file Template Engine with only 35kB of Code). It's distributed under the GNU LGPL.

Is there any interest in a separation of code/template?

If yes I can upload files with Patch instructions.

Kind regards,
Serenado

P.S. Thanks again for this nice CMS and Blog-Plugin.
Version 1.5 Added To Extend
  • Fixed lang issue
  • Fixed excerpt issue where excerpts were not being created correctly for posts with large amounts of html
  • Added "Display post excerpt in meta description" option on settings page
  • Fixed permissions issues
  • Categories can now have languages other than english
blog/READ_MORE_LINK_TEXT in sidebar does not work, transliteration no links
Code:
ааааааааааааа
<p>
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec this is code venenatis augue. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenae
ыыыыыыыыыыы
<p>
    <img alt="" src="/data/uploads/1.jpg" style="width: 100px; height: 100px;" />Lorem ipsum dolor sit amet, consecte
Покупаем стильную одежду недорого
<p>
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec this is code venenatis augue. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenae
rss looks
and the link for some reason is in the title and in the full post
Good plugin but my site broke when I was working on .htdocs. I am not familiar with that.
And "read more"(excerpt) link didn't work. I don't know why.
I would like you to make this plugin better!

http://denarek.com/blog/

I had the same issue. The link "więcej"(this means "read more") links the blog top page.

I have to do something.............
Congratulations! Your RSS feeds validate against the incredibly picky feed validator (with a few warnings): http://feedvalidator.org/check.cgi?url=h...%2Frss.rss

Any idea how I get rid of that title warning if I am not using categories? Could you insert site_name if there is no category?

Below, I am pasting a function that I wrote for a different CMS that seemed to pass with no warnings in all cases. Maybe it could help you refine your feed?

Code:
    public function rssFeed() {
        header("Content-Type: application/rss+xml; charset=ISO-8859-1");
        $system = $this->getSystemSettings();
        $rssfeed = '<?xml version="1.0" encoding="ISO-8859-1"?>';
        $rssfeed .= '<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">';
        $rssfeed .= '<channel>';
        $rssfeed .= '<atom:link href="http://'.$system['url'].'/feed/" rel="self" type="application/rss+xml" />';
        $rssfeed .= '<title>'.$system['title'].'</title>';
        $rssfeed .= '<link>http://'.$system['url'].'</link>';
        $rssfeed .= '<description>'.$system['description'].'</description>';
        $rssfeed .= '<language>'.$system['language'].'</language>';
        $rssfeed .= '<copyright>Copyright (C) '.date("Y", time()).' '.$system['url'].'</copyright>';

        //40 items seems to be the limit that some Feed Readers will accept
        $query = "SELECT title, body, log_time FROM entries ORDER BY log_time DESC LIMIT 20";
        $result = sqlite_query($query) or die ("Could not execute query");

        while($row = sqlite_fetch_array($result)) {
            $title = $this->cleanString($row['title']);
            $body = $this->cleanString($row['body']);

            $rssfeed .= '<item>';
            $rssfeed .= '<title>' . $title . '</title>';
            $rssfeed .= '<link>http://'.$system['url'].'/#!' . $row['log_time'] . '</link>';
            $rssfeed .= '<description>' . $body . '</description>';
            $rssfeed .= '<guid>http://'.$system['url'].'/#!' . $row['log_time'] . '</guid>';
            $rssfeed .= '<pubDate>' . date("D, d M Y H:i:s O", $row['log_time']) . '</pubDate>';
            $rssfeed .= '</item>';
        }

        $rssfeed .= '</channel>';
        $rssfeed .= '</rss>';

        echo $rssfeed;
    }

I also have a more customized podcast feed generator that passed with zero warnings (much harder to achieve. Hope it is helpful:

Code:
    public function podcastFeed($feedName) {
        $query_string="SELECT * FROM podcasts WHERE tag='".$feedName."' limit 1";
        if (!$result_string = sqlite_query($query_string)) {
            // Display error since this is the only one that can be seen live
            trigger_error("Cannot complete your search request (".sqlite_error_string().") Query=".$query_string);
        }else{
            while ($feed = sqlite_fetch_all($result_string)) {
                $system = $this->getSystemSettings();
                $url = $system['url'];
                $query_string="SELECT log_time FROM entries, podcasts WHERE podcasts.tag='".$feedName."' AND entries.podcast_id=podcasts.id ORDER BY entries.id DESC LIMIT 1";
                if (!$result_string = sqlite_query($query_string)) {
                    // Display error since this is the only one that can be seen live
                    trigger_error("Cannot complete your search request (".sqlite_error_string().") Query=".$query_string);
                }else{
                    while ($row = sqlite_fetch_all($result_string)) {
                        $pubDate = $row['log_time'];
                    }
                }
                header("Content-Type: application/rss+xml; charset=UTF-8");
    
                $podcastfeed = '<?xml version="1.0" encoding="UTF-8"?>';
    
                $podcastfeed .= '<rss version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:atom="http://www.w3.org/2005/Atom">';
                $podcastfeed .= '<channel>';
                $podcastfeed .= '<atom:link href="http://'.$system['url'].'/feed/podcast.php?name='.$feedName.'" rel="self" type="application/rss+xml" />';
//                 $podcastfeed .= '<atom:link href="http://www.stevenjaycohen.com/feed/podcast.php?name='.$feedName.'" rel="self" type="application/rss+xml" />';
    
                $podcastfeed .= '<title>'.$feed['title'].'</title>';
                $podcastfeed .= '<description>'.$feed['description'].'</description>';
                $podcastfeed .= '<link>http://'.$system['url'].'</link>';
    
                $podcastfeed .= '<language>'.$system['language'].'</language>';
                $podcastfeed .= '<copyright>Copyright (C) '.date("Y", time()).' '.$system['url'].'</copyright>';
                $podcastfeed .= '<lastBuildDate>'.date("D, d M Y H:i:s O", time()).'</lastBuildDate>';
                $podcastfeed .= '<pubDate>'.date("D, d M Y H:i:s", $pubDate).' GMT</pubDate>';
                $podcastfeed .= '<docs>http://'.$system['url'].'/feed/podcast/?name='.$feedName.'</docs>';
                $podcastfeed .= '<webMaster>'.$system['email'].' ('.$system['owner'].')</webMaster>';
    
                $podcastfeed .= '<itunes:author>'.$system['owner'].'</itunes:author>';
                $podcastfeed .= '<itunes:subtitle>'.$feed['itunes_subtitle'].'</itunes:subtitle>';
                $podcastfeed .= '<itunes:summary>'.$feed['itunes_summary'].'</itunes:summary>';
    
                $podcastfeed .= '<itunes:owner>';
                $podcastfeed .= '<itunes:name>'.$system['owner'].'</itunes:name>';
                $podcastfeed .= '<itunes:email>'.$system['email'].'</itunes:email>';
                $podcastfeed .= '</itunes:owner>';
    
                $podcastfeed .= '<itunes:explicit>'.$feed['itunes_explicit'].'</itunes:explicit>';
                $podcastfeed .= '<itunes:image href="http://'.$system['url']."/".$feed['itunes_image'].'"/>';
                $podcastfeed .= '<itunes:category text="'.$feed['itunes_category_1'].'">';
                $podcastfeed .= '<itunes:category text="'.$feed['itunes_category_2'].'"/>';
                $podcastfeed .= '</itunes:category>';
                $podcastfeed .= '<itunes:new-feed-url>http://'.$system['url'].'/feed/podcast.php?name=drwho</itunes:new-feed-url>';
    
                //40 items seems to be the limit that some Feed Readers will accept
                $query = "SELECT entries.title, body, log_time, podcast_file, podcast_length, itunes_duration FROM entries, podcasts WHERE podcasts.tag='".$feedName."' AND podcast_id=podcasts.id ORDER BY log_time DESC";
                $result = sqlite_query($query) or die ("Could not execute query");
    
                while($row = sqlite_fetch_array($result)) {
                    $title = $this->cleanString($row['title']);
                    $body = $this->cleanString($row['body']);
                    $subtitle = $body;
                    if (strlen($body)>255){
                        $subtitle = substr($body, 0, 250)."...";
                    }else{
                        $subtitle = $body;
                    }
    
                    $podcastfeed .= '<item>';
                    $podcastfeed .= '<title>' . $title . '</title>';
                    $podcastfeed .= '<link>http://'.$system['url'].'/#!' . $row['log_time'] . '</link>';
                    $podcastfeed .= '<guid>http://'.$system['url'].'/' . $row['podcast_file'] . '</guid>';
                    $podcastfeed .= '<description>' . $body . '</description>';
                    $podcastfeed .= '<enclosure url="http://'.$system['url'].'/'.$row['podcast_file'].'" length="'.$row['podcast_length'].'" type="audio/mpeg"/>';
                    $podcastfeed .= '<category>Podcasts</category>';
                    $podcastfeed .= '<pubDate>' . date("D, d M Y H:i:s O", $row['log_time']) . ' </pubDate>';
                    $podcastfeed .= '<itunes:author>'.$system['owner'].'</itunes:author>';
                    $podcastfeed .= '<itunes:explicit>'.$feed['itunes_explicit'].'</itunes:explicit>';
                    $podcastfeed .= '<itunes:subtitle>'.$subtitle.'</itunes:subtitle>';
                    $podcastfeed .= '<itunes:summary>'.$body.'</itunes:summary>';
                    $podcastfeed .= '<itunes:duration>'.$row['itunes_duration'].'</itunes:duration>';
                    $podcastfeed .= '<itunes:keywords>'.$feed['itunes_keywords'].'</itunes:keywords>';
                    $podcastfeed .= '</item>';
                }
                $podcastfeed .= '</channel>';
    
                $podcastfeed .= '</rss>';
    
                echo $podcastfeed;
            }
        }
    }

Any thoughts about a tag or category list or cloud for the sidebar?

I did a tag list manually at sjc.sdf.org.

I think the ideal time to generate the list would be during entry creation. Scan through the entries and collect the tags, write it to a file at that time.

If you tried to generate the tag list at rendering time, it would probably slow the loading of the page.

What do you think?
I am somewhat better plugin seems now everything is working well, I had to remove the link from the title, because it remained in the full post
http://without-db.ru/0/gs-blog-en.zip
changes in the language files please make yourself, I made only in Russian
is it possible to come up with some function for the tag cloud?
Hello, Oleg06 This is Kazu.
http://denarek.com/blog/ As you see the site(it's not mine though), GS1.5(also 1.4?) can use tag
clouds. Probably the author decorate tags with css.

I would like you to add function to the plugin above you told us.
The function I want you to add is to open the full article when you click the blog title or thumbnail(both).

You can see the help on blog setting page(red character sentence)

Last but not least, "read more" function has been fixed. Thanks a lot!!!!

I might misunderstand tag cloud you meant to say.

The help says the below

Get URL To Blog Areas: <?php $Blog->get_blog_url('post'); ?>
ex (get url of post): <?php echo $Blog->get_blog_url('post').$post->slug; ?>
Available Areas

post
tag
page
archive
category

I can fix readmore thumbnail, and title click-open function.

"frontEndFunctions.php" in blog>inc folder.

PHP Code:
        <div class="blog_post_content">
                <?
php
                
if(!isset($_GET['post']) && $blogSettings["postthumbnail"] == 'Y' && !empty($post->thumbnail)) 
                { 
                    echo 
'<p><a href="'.$url.'" class="read_more_link"><img src="'.$SITEURL.'data/uploads/'.$post->thumbnail.'" style="" class="blog_post_thumbnail" /></a>';
                }
                if(
$excerpt == false || $excerpt == true && $blogSettings["postformat"] == "Y")
                {
                    echo 
html_entity_decode($post->content);
                }
                else
                {
                    if(
$excerpt == true && $blogSettings["postformat"] == "N")
                    {
                        if(
$blogSettings["excerptlength"] == '')
                        {
                            
$excerpt_length 250;
                        }
                        else
                        {
                            
$excerpt_length $blogSettings["excerptlength"];
                        }
                        echo 
$Blog->create_excerpt(html_entity_decode($post->content), 0$excerpt_length);
                        {
                        echo 
'...<a href="'.$url.'" class="read_more_link">'.$blogSettings['readmore'].'</a></p>';
                        }
                    }
                }
                    
                
?>
            </div> 
at your site are tags of one post, and I'd like to be in the sidebar tag all posts
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21