Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Try Vanilla Forums Cloud product

Ready to contribute?

Amazing! Sign our contributors' agreement and then join us on GitHub.

Update for critical security issue in PHPMailer included in release Vanilla 2.3.1
Vanilla 1 is no longer supported or maintained. If you need a copy, you can get it here.


This discussion is related to the BlogThis addon.


  • Yes, I'm aware of this issue. I just use [ img ] tags. Did inline images with the "Blog" extension?
  • I haven't tried it with the regular Blog extension, only with your BlogThis. It's not a deal breaker, but it would be nice if it worked the same in blog as in discussions. Any idea where to begin? Or do you not intend to address the issue. No sweat either way, but I'd like to see if it's possible... if not, OK.
    Oh, and I checked out your bike handling skills... you are very accomplished at trialsin. The Vanilla forum I'm working on is a bicycle mechanics Q&A we are using to draw more traffic to our wordpress site for a bike shop. It'll be used as a customer resource and as a repository for our own use and for teaching the young apprentices.
  • The issue pansik's having is caused by line 80:

    if (!AppendToConfigurationFile($Configuration['APPLICATION_PATH'].'conf/database.php', "\$DatabaseColumns['Comment']['BlogThis'] = 'BlogThis';"))

    Your "structure" string (as it's called in other extensions) MUST include a newline at the end:

    "\$DatabaseColumns['Comment']['BlogThis'] = 'BlogThis'; "


    if (!AppendToConfigurationFile($Configuration['APPLICATION_PATH'].'conf/database.php', "\$DatabaseColumns['Comment']['BlogThis'] = 'BlogThis'; "))

    If you don't include that empty newline, it messes up the AppendToConfigurationFile() function in the future.
  • pansik.

    You probably need to manually fix your "conf/database.php" file. Cut out all those extra lines and make it look this:

    //Comment Table Structure $DatabaseColumn['Comment']['BlogThis'] = 'BlogThis'; // Any other lines that might be there // Any other lines that might be there // Any other lines that might be there ?>
  • Hi timfire, thanks for finding that bug.

    My motivations for the project are somewhat selfish - if it's a feature that I need, I code it. If it's not, it gets stuck on my to do list, which is huge. lol. I've updated the code and I'm uploading the bug-fixed version now.

    PlayGod, I just setup a test bed to see if I can get attachments working - but I think it's a no go. It's more a case of the Attachment plugin needing to be modified to support BlogThis. I tried to see if there was a quick fix, but I can't see one. It stores attachments on a per discussion basis - which BlogThis doesn't conform to, as it's a collection of posts from multiple Discussions. I'm afraid, linking the images yourself are the only options for the moment.
  • Uploaded version 1.07 of BlogThis.
  • Hey Spode,

    Thanks a lot for making this extension; I'm definitely going to donate as soon as I can get it to work!

    I'm having a problem though:

    Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. in /home/.tiff/manusevil/ on line 82

    Admittedly, this is not a fresh Vanilla install as I'm just trying to improve an existing forum. For whatever reason, this works on my local installation, but when I take it online I get this error message (and for some reason it makes my tabs disappear and mucks with every other element of the design).

    Also, I'm using the extension with the "Vanbook" theme, I don't know if that causes the problem. Again, it works on my local install perfectly so I doubt it.

    Anyways, if its not possible to do this to an existing Vanilla install, how can I do a fresh install without losing all my data (posts/settings/whatnot)?

  • Hi Manusevil,

    [quote]$result = $Context->ErrorManager->AddError(&$Context,'','','An error occurred trying to modify database.php, make sure this file is writable by your web server.','',1);[/quote]

    I think if you just remove the ampersand from "&$Context", that should fix that error. I don't think it needs to pass the reference to work.
  • Hah! It was that simple, thanks a ton!

    Have you ever run into problems using this with the "sitemaps" extension?

    Now I get an "Undefined Variable" error pointing to this line of code
    if ($Context->SelfUrl == 'extension.php' && $PostBackAction == 'sitemap.xml') { $Sitemaps = $Context->ObjectFactory->NewContextObject($Context, "Sitemaps"); $Sitemaps->Render(); }

    I figure it has something to do with sitemaps not expecting the blog page to be there, but I'm programming illiterate (CS270 in college a year ago maybe) and don't really know how to fix it. I figure others might run into these problems, thought I'd ask.

    Where do I donate? :) Paypal?

    self-edit: Proving my computer illiteracy is one thing; exhibiting poor forum etiquette is another. This was answered on the first page of the discussion. Re-syncing works if you get this error!
  • What the hell happened?

    I tried this thing, it threw up error messages all over the damn place after I enabled it, and now Whispers for some unknown reason are bringing back database error messages in the autocomplete dropdown when anyone tries to type in a username in the field.
  • Well, without being told what those errors are, it's a little tricky to solve :)

    If it threw up errors when you enabled it, chances are, your database.conf file wasn't writable.
  • Yeah, sorry, I had a few beers in me when I posted that, grumpily.

    $DatabaseColumns['Comment']['BlogThis'] = 'BlogThis';
    $DatabaseColumns['Comment']['BlogThis'] = 'BlogThis';
    $DatabaseColumns['Comment']['BlogThis'] = 'BlogThis';
    $DatabaseColumns['Comment']['BlogThis'] = 'BlogThis';

    with the fourth one followed by > and the first name that matches

    is what appears when the autocomplete tries to work its magic in the Whisper your comments to (optional) field.

    The error messages I didn't note -- there were four in what looked like a javascript alert, and an error line at the top of each page as well. I disabled and deleted the extension after that.
  • Looks like the login page and preview pages are also having problems:
    $DatabaseColumns['Comment']['BlogThis'] = 'BlogThis'; $DatabaseColumns['Comment']['BlogThis'] = 'BlogThis'; $DatabaseColumns['Comment']['BlogThis'] = 'BlogThis'; $DatabaseColumns['Comment']['BlogThis'] = 'BlogThis';

    also appear there.
  • OK, I edited the conf/database.php, which had those rogue lines in it for some reason. All better, I think.
  • That bug should have been fixed in the latest release (writing the database.conf file wrong). So it could be you were using the old version?
  • Forgive me, for I am new. Where do I put RewriteRule ^$ /extension.php?PostBackAction=Blog , to make the blog the first page?

    Also, where do I put the other RewriteRule code for friendly URLs? Might be good to specify in the documentation, for those of us who are new to this stuff.

    Extension's working great though, thanks.
  • in the .htaccess file in your vanilla root folder

    if you don't have one, then try this one by Dinoboff in Search engine friendly URL's breaks Extension manager # 10
  • I Don't think that this has been covered, so forgive me if it has ;)
    Video embedding does not seem to work on the BlogThis 'Blog Tab' Page.
    Video's do embed in the original post, and can be viewed in the original post, but if that post is 'BlogThis'd, just the URLs show on the 'BlogThis' page.
    Do you think that this is something that is easily fixed?
  • miquel:

    I have one in the vanilla conf folder, is that what you mean? Maybe someone can walk me through this, with specific instructions. I think I am missing some steps, and the last time I altered something without knowing what I was doing I locked myself completely out of some key files and had to re-install.

    Should it go in that existing .htaccess file in the conf folder? Should it be a new one in the root folder? If so, can I just include the lines indicated by the extension author, or do I need to copy all that other code you refer to in the link? I don't know much about vanilla other than my fresh install and a couple of extensions. I think it would be good to make it clear in the documentation for this extension, exactly where this code should go.

  • yes, you are right with the documentation issue.

    do you have friendly url's enabled? then you have a .htaccess file in your vanilla folder, don't you?
    if you don't have it, just copy the one i linked before and add those lines you mentioned to a new file and save it as .htaccess in your vanilla folder
    if you have it, it's adviseable to back it up first ;)

    i think the one in conf folder prevents users see its contents from outside the server

    enough? i hope so ;)
  • I think I am just missing something, still. Tried that and got a 500 internal server error. Deleted the file and all was well again.

    Error logs said this, but I don't think it's related:

    PHP Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in

    blahblahvanillapath/extensions/BlogThis/default.php on line 82
  • maybe you don't have mod-rewrite enabled on the server so it doesn't know what to do with the .htaccess?

    if you don't know just check some easy steps in, e.g. here
  • OK, tracking down the missing pieces. I am sorry if I "sound" cranky, I'm not, just trying to outline the steps for myself and anyone else looking at this, scratching their heads.

    The problem: The posting for this extension refers to the ability to create Friendly URLs and use the BlogThis blog as the front page. A few lines of code are provided, which will apparently accomplish this task. No instructions are included as to where to put this code.

    Steps Required in order to enable these functions:

    1) Install Friendly URLs. Friendly URLs is a vanilla extension. However, BEFORE you install friendly URLS you must have
    1-a) mod_rewrite, which is an Apache extension outside of Vanilla. Edited to add: Thank you to Miquel, with whom I cross posted, for this link with simple steps to locating mod_rewrite, if it is installed on your server.
    2) Once you have mod_rewrite and install Friendly URLs, you also may need to overwrite the original .htaccess file with something Dibinoff posted in this thread. I am not certain why, or if so why the extension hasn't been updated with the correct .htaccess file. There are some special properties inherent to this type of file which mean it may not be visible under certain circumstances, (don't understand that either) so use your server utilities to look at it, rather than anything running on your own hard drive.
    3) When you have mod_rewrite, and Friendly URLs with the correct .htaccess file, then add the lines of code to the file, indicated by the extension author.

    I don't know whether or not I have mod_rewrite, and I'm not going to mess with that right now. Sounds like it could open a huge can of server worms. *edited to add: ok, I guess i can figure that out now, thanks for the link, Miquel.

    So, I do not want friendly URLs right now (I mean, I do, but I'm not going to get them.) I would, however, like to have the option of having the blog from BlogThis as my front page. How would I go about doing just that?

    I do not currently have a .htaccess file in my Vanilla root folder. Since my editor doesn't even acknowledge that as a file type, I have to create it as a text file then save it as .htaccess. Because of this, I'm not even sure what encoding to use? Assuming I do need a .htaccess file to do this, what should be in it, where does it go, and what encoding do I use? Should I just give up on this idea for now?

    Sorry about all the questions, but I am self-taught and new to most of this.
  • some answers:

    - .htaccess is hidden by default in most OSes, as its name begins with a dot, in different OSes it can be made visible by differen means (e.g. Ctrl+H in Linux or just ls -l in the shell, a bit more tricky in Mac OS, ...)

    - the encoding for .htaccess can be utf8, so you just cover your shoulders (i don't know if it's a real expression in english, sorry :P) in regular editors, maybe you have to save it as ".htaccess" (with the quotes)

    - if your .htaccess file messes something up in the server, then just reload the previous version / delete it (depending on the case) and the bad effect will be gone.

    - you can try the DefaultPage extension in order to get the blog to the front page, it's (usually) less tricky than playing with mod_rewrite + .htaccess

    - the content of Dinoboff's .htaccess are a set of useful rules to turn most of the functionalities of a regular Vanilla forum with friendly urls

    - if you have time to test, don't give up. you'll learn more from errors than not trying... ;)
  • DefaultPage will do the trick - that's what I was using before. Mod_rewrite is usually turned on as standard in apache. However, mod_rewrite will also do the job here.

    I didn't give instructions for friendly URLs, because that should be documented in the friendly URLs extension - I'm just supplying the extra code required by the .htaccess file.

    RabbitAbout - I'm not sure there is a lot I can do for you. There is the same issue with images, an when looking at images, it would involve re-writing the image extension. Images are associated per discussion, not per post. And BlogThis is pulling in multiple posts from multiple discussions.
  • I have a feature request.

    For Search Engine Optimization and To avoid Google thinking there is duplicate content, I was thinking that the blog could have only snippets of the discussion/comment (say the first 100 words) with a a link: Read More about {insert post Title}.

    What do you think?
  • thanks for the explanation, Spode. Great Extension BTW.
  • Sstawarz - not a bad idea. It could be optional, obviously.

    I'll see if I can find some time for this soon. I'm working on another one of my sites right now, but when I'm happy with that, I'll turn my attention to this.
  • Can you please define all strings with $Context->SetDefinition()? That would make it easyer to translate. For exmaple: by elm on 07.14.08 in test or "Click to see examples" in the settings dialog.
  • Version number changed from 1.07 to 1.08.
Sign In or Register to comment.