LiveJournal Crossposter
This is the home page for my first plugin.
Note: Please leave all bug reports and feature requests on the Google Code project homepage. I will no longer accept either if submitted by e-mail or through comments here. Any bugs or requests posted here will be deleted.
The LiveJournal Crossposter (LJXP for short) automatically copies new posts to a specified LiveJournal (or DeadJournal or any other LJ-based hosts). Editing and deleting crossposted entries causes the same changes to be made on the LiveJournal.
I created this because I couldn’t figure out how Live+Press was supposed to work, and I wanted something simpler anyway.
To install, copy the file lj_crosspost.php into the wp-content/plugins/ folder. Then, go to Plugins in the WordPress administrative interface and activate the LiveJournal Crossposter. Activating the plugin creates a page under Options entitled “LiveJournal.” Fill out this page and submit. That’s it! There is no more configuration, and the plugin does not depend on any external libraries that are not included with WordPress.
The current stable version of LJXP will always be located at http://ebroder.net/plugins/download/ljxp.
In addition, the latest version of the source code can be viewed at http://ebroder.net/plugins/source/ljxp/. Note that when I say latest, I mean absolute latest. The code is copied straight out of the file I develop on. As such, there may be times when it is incomplete or completely broken. Do not use the contents of this file in production situations.
If you have problems with that link such as parsing errors or having the text of the plugin output at the top of every page, try using http://ebroder.net/plugins/source/ljxp/text, which is the plain text version without the source highlighting.
I keep a mailing list of people who have asked me to notify them of new releases of LJXP. Until WordPress has a automatic plugin mechanism of its own, I would encourage all users of LJXP to sign up for this list. To subscribe to the list, send an e-mail to ljxp-notify-subscribe@ebroder.net with the word “subscribe” in the subject.
Note: LJXP is designed to work with version 2.0 or greater of WordPress. Run LJXP on any older version of WP at your own risk (but it won’t work - I promise).
LJXP is currently at version 2.0.
For information about previous versions and current development, visit the Google Code project homepage.
The source code for all versions is well documented. I tried to leave hints regarding issues that are unclear in the plugin documentation at Codex.
I will accept requests for additional features, although the plugin currently accomplishes all I would like it to. I will also accept patches to accomplish any requested additional features. If you are requesting a feature, understand that my ability to code is limited by the fact that I am a student.
All versions of LJXP are released under the MIT or X11 License.
Requested Features
- Support for crossposting to multiple LJ-based sites
- Crossposting summary instead of the whole post








May 29th, 2006 at 6:21 pm
Thanks for great plugin!
May 30th, 2006 at 8:31 am
Hi..
The error I get is Something went wrong - -32300 : transport error - could not open socket: 0
I really am not sure why?>.. do you have any suggestions?? Thank you so much for your time!
June 6th, 2006 at 10:31 am
aJ: Thanks for the suggestion. Didn’t work, but thanks none the less
Still getting that awesome transport error.
June 9th, 2006 at 6:39 am
Is there anyway to put the header of your script as a footer? Where it says “originally posted at etc etc” is there a way to put it at the bottom of a post to act like a “comment” bar instead of a header if that makes sense?
June 10th, 2006 at 8:55 am
I just spent an hour trying to get LivePress to work for my wedding site. Then I come here, DL your one php page, and presto! Everything worked. THANK YOU!
June 12th, 2006 at 3:46 pm
Hey Evan, first off, thank you for the plugin, unfortunately I’m one of the many that have the infamous error:
Something went wrong - -32300 : transport error - HTTP status code was not 200
I had installed your plugin first out of the box since I had an established LJ for years and it’s worked intermittently, I’ve tried different ways of publishing (from draft, publish then draft then publish, etc…) without consistent results. I’d be happy to mail you my particulars to help solve this one.
June 22nd, 2006 at 4:36 am
Hi Evan,
I’m trying to get your plugin to work but everytime I try to post (or cross post using the option page), I get this error: “Something went wrong - -32300 : transport error - could not open socket: 110 Connection timed out”. AFAIK my host does allow out-going connections. The only thing is that it has a proxy and I can’t see any settings for proxy in class-IXR.php or lj_crosspost.php.
I did originally try Live+Press but that didn’t work. Your plugin is much neater and easier to use. Now if I could only get it to work…
Thanks
Mark
June 22nd, 2006 at 7:55 am
Hi Evan again,
I solved the problems. It had nothing to do with your plugin. My host uses a proxy and class-IXR.php does not support proxies so I had to “hack” the file to get it to use it. I have all the details on this entry on my webpage.
Thanks again for your excellent plugin.
June 24th, 2006 at 3:40 am
Great plugin ^^ I like the options for customizing how this works, so far. Upon installation + editing the options for the first time, though, I kept getting errors for the “Update Options and Crosspost All Wordpress Entries” action using Wordpress 2.0.2.
June 24th, 2006 at 3:49 am
(sorry about the double post ^^”)
P.S. Error message is
Something went wrong - Client : Application failed during request deserialization: not well-formed (invalid token) at line 13, column 67, byte 1651 at /usr/lib/perl5/XML/Parser.pm line 187
June 30th, 2006 at 2:21 am
Hi,
I am not sure if you aware of this or not so I thought it best to leave a message.
I have just checked Wordpress 2.1 alpha out of subversion and one of the files this plugin depends on is gone. (wp-includes/template-functions-links.php) I’m not too hot on PHP so I can’t tell what it has been replaced with myself.
p.s. Thanks for a great plugin.
June 30th, 2006 at 11:16 am
Chris - thanks for the heads up. I’ll be sure to look into that.
For anyone who’s getting a -32300 transport error, it is my belief that the problem is with our hosts, not my code. It would appear that your webhost is set to not allow socket connections. This is a problem that I don’t know how to work around, so I’m afraid I may just not be able to support you.
July 1st, 2006 at 5:12 pm
Hello,
Currently using the L+P 1.99 hack, and would like to move to something more polished, like your plugin, but I need support for different users posting to different LJ’s. My wife and I share a WP blog, but have separate LJ’s. Does your plugin support that?
July 1st, 2006 at 9:03 pm
No. And it’s far too complex for me to be interested in implementation.
July 7th, 2006 at 9:10 am
Is there anyway to set this so that posts do not crosspost by default but rather as an option?
All my rss feeds from my cron job are posting to LJ.
Thanks!
July 8th, 2006 at 12:53 pm
Evan,
Having the same problems as some of the others.
Something went wrong - -32300 : transport error - HTTP status code was not 200
Could you publish the debugging info on the site, or email me some debugging so i can attempt to fix this error.
Thanks
July 11th, 2006 at 12:49 am
When I tried the “Update and Crosspost all WordPress entries” (having imported them from an old DeadJournal) I got an error saying I needed to turn the backdate option on. When I edited the plugin to read
“opt_backdated” => true);
instead of
“opt_backdated” => !($post_id = $recent_id));
[I also tried “opt_backdated” => ($post_id != $recent_id)); but it didn’t help either]
the error went away. I edited it back after the two synched, and I haven’t had the problem with new entries.
Thought you should know.
July 11th, 2006 at 9:10 am
LJXP assumes that you are using your LJ only to crosspost entries from WordPress. It always follows the rule that the most recent post is not backdated, but all others are.
LJ, however, requires any post that’s not the most recent one (on LJ, not on WP) to be backdated. My guess is that you had a post just on LJ that was more recent than your latest post on WP.
July 12th, 2006 at 12:45 pm
Hallo! Like several others, I switched to your plugin from Unteins’ plugin, and I am very impressed. I have made some mods of my own, including the crosspost of summary mode that’s listed in your future features, though it’s ugly code. My version also crossposts my current music and mood, but this feature is connected to a couple personal plugins of my own and probably isn’t at all worthy of being released to anyone else. (I feel silly praising you and then telling you I changed it, but the truth is that I could never have done what I did without your excellent work to start with. Let me know if you actually care to see the changes.)
I was also amused to see that you are a fellow nashvillian, enjoying the strange wonderful summer weather — it’s bloody hot out there, ain’t it?
July 14th, 2006 at 1:59 am
Hi Evan,
I’m just wondering if you’ve any code that would allow you to provide a link the lj entry for a specific post? What I mean is, I’d like to have a link, on any article on my Wordpress blog that has been crossposted, to the appropiate LJ post (”this post has also been posted on LJ here”). I know you can write a database query and use the meta key ljID but just wondering if you’ve done it already?
Thanks
Mark
July 14th, 2006 at 8:31 am
No. The code that’s actually used in LJ’s URLs is, as far as I can tell, completely unrelated to the ID that it feeds back over the API. No idea how you’d generate that.
July 14th, 2006 at 2:21 pm
It turns out relativily simple but it does require modifying the script. Where you add the id as a meta key to the post, there is also a URL parameter. I modified it so that it would store the URL as a meta key.
I changed:
if('LJ.XMLRPC.postevent' == $method) {
$response = $client->getResponse();
// Store it to the metadata
add_post_meta($post_id, 'ljID', $response[itemid]);
}
to
if('LJ.XMLRPC.postevent' == $method) {
$response = $client->getResponse();
// Store it to the metadata
add_post_meta($post_id, 'ljID', $response[itemid]);
add_post_meta($post_id, 'ljURL', $response[url]);
}
However this’ll only work for new posts. I had to do add some temp code and crosspost everything again before it added the ljURL to all the entries.
if('LJ.XMLRPC.postevent' == $method) {
$response = $client->getResponse();
// Store it to the metadata
add_post_meta($post_id, 'ljID', $response[itemid]);
add_post_meta($post_id, 'ljURL', $response[url]);
}
// remove once you do mass crosspost
$response = $client->getResponse();
add_post_meta($post_id, 'ljURL', $response[url]);
July 15th, 2006 at 5:18 pm
Hey, just wanted to say thanks for this great plugin. It’s stunningly easy to use! Especially compared to LivePress which I could never get to work properly. With your plugin it worked on the first try and was installed in seconds. THANKS!!
July 16th, 2006 at 3:22 pm
Well, I sooorta spoke too soon–the plugin still works fine, but I did notice one thing I don’t care for. I will often type up blog entries in advance and then post date them so they’ll pop up on my site throughout the coming week. When I recently posted something that shouldn’t show up until tomorrow morning, I checked my LJ and it was already there. I’m sure this makes your plugin WAY more complicated, but it would be great if you could update it so the LJ entry would post when the Word Press entry does.
July 16th, 2006 at 4:02 pm
ThePete - see http://ebroder.net/livejournal-crossposter/discussion-archive-3/#comment-330
Since the problem will resolve itself with Wordpress 2.1 (which should be released soon), I don’t want to take the time to solve it. Sorry.
July 17th, 2006 at 8:54 am
I am curious to know if there is a way to turn off the “Originally published at…” message on the LJ posts, or if that’s potentially coming in a future release? I would love to have completely transparent crossposting to my lj, without links to the same thing in another location. Currently, I’m logging into my LJ immediately after I post, just to edit out those lines. Since I’m having to do that - it would be just as easy to manually crosspost.
Thanks for this plugin, though. It works beautifully.
July 17th, 2006 at 8:48 pm
is there a means of turning off the header entirely, or do I have to modify the source to get rid of all that stuff?
July 17th, 2006 at 9:24 pm
Just a note, strings used as array keys need to be quoted (
$args['security']) unless they’re interpolated into double-quoted strings ("$args[security]").The plugin frequently uses the
$args[security]form, which only works because of PHP’s default behaviour for undefined constants. Each use triggers an E_NOTICE level error. WordPress disables E_NOTICE reporting in wp-settings.php, but it’s a good idea to turn it back on when developing.July 17th, 2006 at 11:55 pm
You’re quite right. I honestly don’t know why I wrote it this way…although given that I think version 1 was written sometime after 2 AM in the morning…
Anyway, all of those will be fixed in the next version which will be released…soon.
I just need to throw together something to deal with everyone’s header/footer prepending/postpending/etc issues.
July 24th, 2006 at 8:08 pm
Nice plug in Ill have to see how I can implement it with my existing blogs. Thanks
July 25th, 2006 at 10:51 am
Hey Panya — Would you mind sharing the code that you changed to get the summaries posted over?
What I really want is to just post a link to my WP blog, but I figure the summary is the next best thing
Thanks!
July 26th, 2006 at 6:27 am
Any idea if you will create a cross-posting script for vox? It’s made by the same people who create/control LJ (Six-Apart).
The LJXP is an awesome plugin!
July 26th, 2006 at 6:58 am
Being made by the same people does not equal being the same. I can’t find any documentation on any sort of API for Vox. Also, I don’t use it, so the chances of writing a plugin at this point are pretty much non-existant.
July 26th, 2006 at 7:55 am
Evan, which bit of code outputs the text of the entry? I’m trying to get the summary thing to work. Would you point me in the right direction? Thanks!
July 26th, 2006 at 2:50 pm
It all happens in lines 532-557. That’s where you want to look.
July 27th, 2006 at 7:44 am
Hey Evan,
Just an update to let you and all the Error 32300 people know I’ve found a work around that works nearly every time. Since I’m not sure on the mechanics of why it works I’ll just explain what I’ve been doing. As you can see here it works. http://uberbastard.livejournal.com/
When I finish my entry I press “Save and Continue Editing”, then under “Post Status” on the sidebar I press the radial for “Published” (it’s on “draft” typically) and then go back to my entry and press “Save”.
Again, it doesn’t work every time but if you press back on your browser and do it all again, it seems to eventually give in.
Hope this helps!!! Thanks again!!!
July 27th, 2006 at 1:59 pm
hi! i tested your plugin for a bit, and i really love it! i do have some problems though:
1. when i delete the crossposted entry manually in lj and then edit or delete the actual entry in my wp blog, i get an error in wp, whether i choose “crosspost” or “do not crosspost”. the only way to make the error go away is to deactivate the plugin.
2. how do i set “do not crosspost” as a default option?
hope you can help. thanks a lot!
July 28th, 2006 at 10:02 am
For the first problem, LJXP assumes that you are not using your LJ at all; that you’re only using it to crosspost from WP and you’re making no alterations directly. If I can’t make that assumption, the code size doubles. To fix the problem you’ve got right now, go to an entry that you’ve deleted on LJ, scroll down to Custom Fields on the edit page, and delete the ljID field. Then set it to Do Not Crosspost in the sidebar, and you should be set.
And I can’t figure out any easy way to default to not crossposting; it looks like it would require a rather substantial code overhaul.
July 28th, 2006 at 7:43 pm
Hello.
Using this on the 2.1 WP version produces the following error immediately after the plugin is activated:
“”
Fatal error: Cannot redeclare the_permalink() (previously declared in wp-includes/link-template.php:5) in wp-includes/template-functions-links.php on line 4
“”
which results in none of the admin pages working, as all of them show the above error as the only output.
Any ideas? Thanks.
July 28th, 2006 at 8:29 pm
Comment out line 35 - put two slashes (/) at the beginning of the line.
Let me know if you find any other errors—I have made no attempt to test LJXP with WP 2.1 yet.
August 15th, 2006 at 8:57 pm
Awesome project, thank you!
A suggested change/feature:
I changed line 625 in the souce to reflect a specific friends group for the crossposting, and for my needs this was sufficient. However, might I suggest a textbox and one-line explanation so the user can set their own “usemask” for something other than just friends.
Again, I’m quite excited to see this plugin as it will make my new site more maintainable…
August 17th, 2006 at 8:40 pm
I had the same -32300 transport error and for me it seems to be a DNS error. My super easy solution is to use the ip address instead of the domain name for the server. That is, instead of “www.livejournal.com” I am using “204.9.177.18″ and it works. So far and for me anyways, hopefully you guys will have the same result.
This is the page that tipped me off: groups.google.com
August 24th, 2006 at 12:59 am
Thanks for the email Evan, unfortunately, the DNS wasn’t the issue.
I’m still saving my entry as DRAFT, then pushing the Published radial and pressing SAVE again to post. Don’t ask me how but it’s been working.
August 24th, 2006 at 3:50 am
I get this error, what should i do to fix it?
Something went wrong - 302 : Client error: Can’t edit post from requested journal
August 24th, 2006 at 8:57 pm
hi evan! i would love to try out LJXP, however, i have problem decompressing the file! After Safari has finished the download, I got a message saying decompression failed. Would you mind sending me a copy of LJXP?
thanks for your help!
August 26th, 2006 at 3:01 pm
Evan,
Awesome job. This solves one of my biggest issues with maintaining two blogs. Now what would really rock is if multiple users in WP could cross-post to their respective LJs.
Not sure the best way to do that with in the WP options database.
August 28th, 2006 at 1:50 am
WP 2.0.4, txt version of your plugin:
Something went wrong - Client : Application failed during request deserialization: not well-formed (invalid token) at line 11, column 52, byte 665 at /usr/lib/perl5/XML/Parser.pm line 187
What should I do? Looks like I filled everithing rigth, but something still going wrong
August 30th, 2006 at 1:12 pm
This worked quickly, easily and beautifully. I absolutely love the plug-in. Thank you so much.
August 30th, 2006 at 2:51 pm
First, this plugin is really cool - I’ve seen it working for a couple of Other People who’re on my reading list.
I’m getting the “-32300 : transport error - HTTP status code was not 200″ error as well, unfortunately Chris’ work around doesn’t work for me. However, I managed to coax your code into telling me where it died - (!$client->query($method, $args)) died line 645.
Further, deponent sayeth not. My debugging skill scratched its head and took a nap at this point.
One “interesting” tidbit is that when, from the LJXP options, I clicked “update options and crosspost all WP entries” it *did* manage to xpost 2 wordpress posts. I had 6 at the time.
Any hints?
September 2nd, 2006 at 9:18 pm
is there any easy way to move the “originally posted at…” bit to the bottom of the post instead of the top? i’m not to good with php and just looking at the code made me dizzy. can i just cut and paste or something like that?
September 6th, 2006 at 3:40 am
Thanks for the plug in. Is there a way that I could turn off backdating without downgrading to 1.1 or to have it not look at entries being posted in the future when deciding to backdate as I have posts that are set to be published automatically in the future and so any posts I want to post now get backdated. Thanks
September 8th, 2006 at 1:21 pm
Hi and thanks for this cool plugin. There’s one feature I’d like, and I’ve tried to hack the code but had no success. That’s setting some categories/tags “friends only” automatically.
Can anyone suggest how I can tell it “If the tags contain [word], [word2] etc then set friends only”? Should be quite simple, I just can’t get it to work (and almost managed to break Wordpress in the process).
September 9th, 2006 at 4:32 pm
hello!
I have a problem posting in my WB blog:
After i clicking PUBLISH, appears such error:
Something went wrong - Client : Application failed during request deserialization: not well-formed (invalid token) at line 11, column 396, byte 1007 at /usr/lib/perl5/XML/Parser.pm line 187
What i do wrong? help me please
Thank you
September 9th, 2006 at 5:18 pm
Vlad - http://ebroder.net/livejournal-crossposter/i18n/#ru_RU
There is a lot of documentation on this website, everyone. Please be sure you have read all of it before asking me for help—I just don’t have the time to answer every question multiple times.
September 10th, 2006 at 4:57 am
yeah, thank you.
i solved my problem different way.
the error was accuring because of my blog’s encoding. It was Win-1251.
I changed it to UTF-8 and everything works perfect now.
Thank you.
September 26th, 2006 at 1:57 am
Evan, which bit of code checks to see if the post status is publish before crossposting? I’m trying to get it so that if a post is marked private, it will post as friends-only on lj (so that it plays nicely with fortes’ postlevels plugin). Can you point me in the right direction? Thanks.
September 26th, 2006 at 9:01 am
Will - the problem is that I’m using the publish_post hook which is only called when a post is actually being published.
September 27th, 2006 at 10:37 am
Evan -
I wanted to drop you a quick note, and say thanks for the incredible plugin. It worked perfectly the first time I tried to use it, and has been working great for a week now.
Thanks,
James
October 8th, 2006 at 10:19 pm
Hey Evan….
I know you probably dont have time to help everyone, but I would be beyond greatful and would even be willing to donate some cash if you might be able to help me with my problem… I recently had a friend create a custom site for me and he integrated wordpress into that layout, so its really nothing more than a theme. But I think there might be some other hard coded stuff going on … anyways, here is the error I’m getting….
Something went wrong - 200 : Client error: Missing required argument(s)
When I type in my username and password and such, that is what I get, so i dont even have a chance to try and have it cross post. Do you have any idea what this might be?
Thanks in advance, and please feel free to ask me anything, i’d even give you full access to the code(obviously i’d donate a decent amount)…
Thanks again.
Josh
October 19th, 2006 at 3:43 am
Any luck with handling the LJ tags, such as lj user and lj comm?
Great work, impressive.
October 21st, 2006 at 9:09 pm
Dude I have been wanting this for years. THANK YOU!
November 1st, 2006 at 12:54 pm
great plugin!
November 8th, 2006 at 5:18 am
Odd, I’ve installed it and activated but get no options page and hence can’t actually use the plugin.
Am I missing something obvious?
November 8th, 2006 at 6:00 am
Sorry, scratch that, it was me being thick. Was looking for the options link on the plugins page, not on the options page.
Doh!
November 11th, 2006 at 3:18 am
When I post a private post on my site, it doesn’t crosspost to LJ. I tries crossposting for private entries but they simply do not appear on LJ. And when I edit my current posts to private, they get deleted from LJ.
Is it me or is this a bug? *scratches head*
November 11th, 2006 at 7:00 am
This is not a bug. Private entries aren’t crossposted, and I would think this, as a rule, should be expected behavior. They’re private.
Also, because they’re private, they don’t activate the same internal mechanisms as published posts, so LJXP doesn’t detect them at all.
November 12th, 2006 at 11:08 am
I *love* this plugin! But it seems to clash with the vox crossposter. I’m getting this error now: Warning: strtotime() [function.strtotime]: Called with an empty time parameter. in /home/thiswoma/public_html/wp-includes/template-functions-links.php on line 53
Something went wrong - 101 : Invalid password
I had to disable the LJ crossposter to make it work and I’m missing it! Any thoughts?
November 12th, 2006 at 9:45 pm
Hi… I just installed your plugin and it works perfectly. It’s certainly a snap to use.
I do, however, have one teensy request. I am using a plugin called Ultimate Tag Warrior, which enables actual tags to be assigned each post, rather than using categories as tags.
How would I modify the coding so that the tags and not the categories are pulled from each post and then posted to LJ? The default tables that Ultimate Tag Warrior are wp_post2tag and wp_tag.
Thanks in advance for any input you can provide.
November 13th, 2006 at 8:40 am
dawn -
That’s a strange problem. I’ve never run into anyone using the Vox Crossposter before, but it doesn’t look like it should interfere with my plugin. I would make sure you’re running a clean installation of WP (and that you’ve entered your password correctly in LJXP’s options).
Jenn -
I’m not personally interested in adding support for UTW, but someone else sent me some code to do that in February. I don’t know if it will work or not, and I can’t and won’t support it at all, but I’m e-mailing it to the address you entered.
November 14th, 2006 at 11:26 am
hi there! thank you for creating such a great plugin! now my question is this: why won’t the posts show up on my friends’ friends page?
November 19th, 2006 at 2:47 am
Hello,
Is there a way I could completely get rid of the box header thing at the top of every crosspost?
Thanks!
November 24th, 2006 at 4:33 am
The box header is something I’d like to move as well.
I was thinking instead of a box header, maybe a trailing taglinge at the end of the post.
Any chance there’s a simple solution for this?
November 28th, 2006 at 1:18 pm
Great plug. Hope to see to see one that can post to both LiveJournal AND Vox (both from SixApart).
November 29th, 2006 at 9:34 am
Hi Evan,
I’m experienceing the same problem - and this time I deactivated the plugin, reactivated it and entered my password and it, too came back with the mysterious “Something went wrong - -32300 : transport error - HTTP status code was not 200″ message.
Is there any way to deal with this?
Thanks!
December 5th, 2006 at 5:36 am
Something went wrong - Client : Application failed during request deserialization: not well-formed (invalid token) at line 12, column 807, byte 2022 at /usr/lib/perl5/XML/Parser.pm line 187
this is what had happened after I input all the necessary actions and click on the save options and crosspost…
December 6th, 2006 at 7:13 am
to add on… I have asked my host in its forum (http://acespace.co.uk/smf/index.php?topic=3424.0), on this problem. I was hoping it was the host error and have it quickly resolved. However, as what the admin posted, it seemed to be a DoS prevention of LJ. Is there a workaround for it?
December 11th, 2006 at 5:40 pm
Dear Evan,
I completely understand you are tired of this.
But now I’ve got this message:
Something went wrong - -32300 : transport error - HTTP status code was not 200 -
right in the admin panel, in the Livejournal tab after I was trying to save the options.
And, of course, it doesn’t work with LJ. I tried it on 2 different hostings.
I can suggest you: if there’s no solution for people with 32300 error - just post it in the plugin post. As soon as you find the solution - just change it, People have to read through all the comments to find out there’s no solution yet.
And, thanks a lot for such a great job.
December 12th, 2006 at 12:05 pm
Worked perfectly right away. Thanks for this great plugin!
December 13th, 2006 at 8:11 am
Thanks for this plugin
December 16th, 2006 at 10:18 pm
Awesome plugin! Thanks!
January 7th, 2007 at 1:03 am
Hiya.
Love your plugin, but I seem to have broken it.
Im attempting to change the username/pwd of my LJ account (I renamed my account there. Long story.) but I keep getting the 101 wrong password error. I’ve tried deactivating, reinstalling, reactivating, deactivating ALL of my plugins and retyping the pwd multiple times while doing the Secret Illuminati Password Recalling Dance, only to end up looking at the same error.
Running on WP v2.0.5 with WPG2 installed
Any help on how to fix it? Im no codemonkey, but I can follow instructions *hopeful look*.
January 17th, 2007 at 1:56 pm
Hello! I once used your excellent plugin on a previous version of Wordpress, and it worked perfectly.
However, I’ve had to move it slightly (same host!) and now find that re-installing the plugin doesn’t seem to work. I can FTP it up, but when I go to the Options -> LiveJournal section, the config screen loads but then it is all replaced with a “Something went wrong - 200 : Client error: Missing required argument(s)” error. I’m running Wordpress 2.0.6 if that’s any help.
Please help me
January 18th, 2007 at 2:45 pm
This plugin is going to need an upgrade for WP 2.1 - just so you know.
January 22nd, 2007 at 1:53 pm
According to some limited tests I think the change over to Wordpress 2.1 is going to be simple for this plugin.
It all comes down to line 35
require_once(ABSPATH . ‘/wp-includes/template-functions-links.php’);
just had to become…
require_once(ABSPATH . ‘/wp-includes/functions.php’);
It’s worked on my test install of Wordpress 2.1-rc1
January 22nd, 2007 at 1:56 pm
I just noticed…. it crossposted pages as well as posts though.
January 22nd, 2007 at 7:56 pm
Will you be adding support for the new version of wordpress?
I’m getting the following error:
Fatal error: Cannot redeclare the_permalink() (previously declared in /home/abstrakone.com/wp-includes/link-template.php:5) in /home/abstrakone.com/wp-includes/template-functions-links.php on line 4
Any ideas?
January 22nd, 2007 at 8:25 pm
I love this plugin, and I use it on all the sites that I run. However, it doesn’t seem to be compatible with WP 2.1
January 22nd, 2007 at 10:43 pm
I will do my best to have a new WP2.1 compatible version out within a few weeks, but I have some other stuff I need to deal with before I can put time into the update.
January 23rd, 2007 at 5:40 pm
Thanks, Evan! There’s no rush, so take your time
January 24th, 2007 at 8:33 am
To make a WP2.1 compatible version, take the latest plugin, and do the following edits on lj_crosspost.php:
1 - Comment out line 35:
// require_once(ABSPATH . ‘/wp-includes/template-functions-links.php’);
This file is no longer part of wordpress, and it looks like whatever functions are defined there get included elsewhere. Once I commented that out, the plugin works.
2 - For extra bonus points, replace every instance of die(…) with wp_die(…) - I saw this in wp-comments-post.php. This doesn’t do anything too useful, but it replaces the plain text fatal errors with official-looking, styled HTML fatal error messages, with wordpress logo and everything.
Done.
Excellent plugin, BTW - of course I discover it a week after hacking Live+Press to work with WP2.0, but I’m switching anyway.
January 24th, 2007 at 11:58 am
Thanks a lot for the plug-in.
Though must warn you, the russian version that someone else translated gives really weird errors, thank god i was able to find your page with the original. Work fine.
Cheers =)
January 24th, 2007 at 4:30 pm
I’ve used this plug-in for about six months now and have loved it.
A hearty “thank you” to Dotan Dimet for figuring out a patch to keep it working with WP 2.1
January 25th, 2007 at 12:32 am
LJXP does not support WP2.1. Anything you can do to fix it would be very appreciated!
Thank you.
January 25th, 2007 at 12:40 am
Oooh, dotan dimet is a hero … thanks Mary Robinette Kowal for the suggestion to actually read a comment.
January 25th, 2007 at 4:04 pm
Evan, and Dotan Dimet:
The reason the plugin breaks in WP 2, Dotan pinpointed — but his fix isn’t really a fix. The function that is called from template-functions-links.php is the_permalink(), which the plugin needs in order to generate the link-back in the header posted to LJ. That function is now defined in the file link-template.php. I haven’t tried it yet, but I would assume that replacing template-functions-links.php with link-template.php would make the plugin completely compatible, depending on what other functions are called in the plugin.
January 25th, 2007 at 5:52 pm
It’s only a minor “fix.” Now, all the pages as well as posts are cross posted.
January 25th, 2007 at 7:40 pm
Panya - you are correct, I was referencing the_permalink(), but if you remove the include, it seems that the function is being included already. Correct me if I’m wrong (or if the file is being included because of another plugin I’m using), but the permalinks (which are used in the crosspost header) seem to still be fine.
Corinne - I’ll look into this. It should be another one line fix.
January 25th, 2007 at 8:03 pm
I already figured it out.
January 25th, 2007 at 8:04 pm
… I should probably say that you replace each instance of post_status=’publish’ with post_status=’post’
January 26th, 2007 at 1:19 pm
Not quite. You want to replace it with post_status=’publish’ AND post_type=’post’
January 26th, 2007 at 11:06 pm
Yea, I didn’t notice. That was a mistype.
January 27th, 2007 at 1:42 pm
Thank you for the plugin! I did what Dotan Dimet, Panya and Corinne suggested, though didn’t test if it works yet. Hope it does
January 27th, 2007 at 6:08 pm
Well, I had used this plugin a long time ago, and I have since updated WorPress and reinstalled your awesome plugin, but for some weird reason, it will not let me change from my old livejournal name to my new one (Every time I save the options, I get an error about my livejournal being deleted - I deleted the old one, but the new one exists).
What should I do to get that working?
January 27th, 2007 at 11:20 pm
rhondalicious -
Try running the following SQL query in phpMyAdmin or something like that (altering table names as necessary):
DELETE FROM wordpress_postmeta WHERE meta_key = "ljID";January 30th, 2007 at 3:45 pm
Aha! Thanks muchly ^_^ Now we just need to see if it works (I’ve got WP 2.0.5, will I need to do that above fix? Or is that only 2.1?)
January 30th, 2007 at 3:58 pm
Woo hoo, it works great, thanks for the nice plugin and the help
January 30th, 2007 at 6:01 pm
Hi…I’ve been using your crossposter to great effect lately, but it broke on Wordpress 2.1
It may just be how I upgraded, maybe I cleared something i needed to keep…I can’t be sure, but I get errors now when I try and activate it.
Warning: main(/homepages/18/d192601130/htdocs/wordpress//wp-includes/template-functions-links.php) [function.main]: failed to open stream: No such file or directory in /homepages/18/d192601130/htdocs/wordpress/wp-content/plugins/lj_crosspost.php on line 36
Fatal error: main() [function.require]: Failed opening required ‘/homepages/18/d192601130/htdocs/wordpress//wp-includes/template-functions-links.php’ (include_path=’.:/usr/local/lib/php’) in /homepages/18/d192601130/htdocs/wordpress/wp-content/plugins/lj_crosspost.php on line 36
Not sure what do with it now.
February 1st, 2007 at 2:27 am
I am running 2.1 and installed the plug-in with the php file edits Dotan Dimet, Panya and Corinne suggested.. but when I try to cross-post to LJ, I get the error “Something went wrong - -32300 : transport error - HTTP status code was not 200″
Ack! What did I do wrong?
February 1st, 2007 at 11:16 pm
Hi Evan,
first, thanks for the great plugin, I used it sometime ago it outputs full entries of my WP posts. I know you’re working on adding output of summary.
My question is, how to crosspost post title and the “Originally published at www.blogurl.com” only. I mean just like a notification something.
Also I’m greenhand in code and ask if possible you could add that option to admin control.
February 2nd, 2007 at 10:45 am
Melissa, I had the same problem. But I had taken source from http://ebroder.net/plugins/source/ljxp/text, and it works perfectly with no errors. You may want to try it, too. There are also new options available in that latest code snapshot.
February 3rd, 2007 at 11:33 am
I have been experimenting with WordPress for the past few days and have recently come across your plugin. I am also receiving the “Something went wrong - -32300 : transport error - HTTP status code was not 200″ error. However, the output also includes a more detailed error from PHP:
Warning: Cannot modify header information - headers already sent by (output started at /srv/www/blog/wp-admin/admin-header.php:16) in /srv/www/blog/wp-includes/functions.php on line 1219
I figured this may help debugging efforts. When 1.6 comes out, I’ll take a look at the plugin again, as I am interested in using a WP 2.1 compliant version.
- Zak Jensen
February 4th, 2007 at 9:32 pm
I’ve been using this plugin for awhile now, and upgraded to the latest version after installing WP 2.1.
Well, ljxp activated, and I set the options, but now whenever I try and make a post, the visual/WYSIWYG editor has disappeared.
I disable the ljxp plugin, and it re-appears.
has anyone else seen this ?
-chris
February 5th, 2007 at 1:37 pm
I am thankful that the crossposter exists, it is very, very helpful (thank you), but time and time again I keep getting that damn, dreaded 32300 error.
I’d say it happens about 4/5ths of the time. Which means that, oddly enough, eventually it works (if I keep hitting save entry).
I’ve updated my copy every time there’s a new release, and I just updated to 2.0 but it still does it.
It may very well have something to do with crappy hosting (as I have very crappy cheap-o hosting indeed). But I would LOVE it and you, forever if this error could eventually be hunted down and brutally remedied.
February 5th, 2007 at 7:53 pm
I’ve used this for a while (it rocks, thanks), and with 2.1 and the listed edits I ran into a problem that caused me to deactivate it temporarily - deleting a post causes it to choke, even if I specifically choose to not crosspost that post. It blows up with an error about not being able to edit that item in the listed journal, and it doesn’t delete the post in the WP installation either.
February 6th, 2007 at 4:51 pm
“Warning: main(/homepages/18/d192601130/htdocs/wordpress//wp-includes/template-functions-links.php) [function.main]: failed to open stream: No such file or directory in /homepages/18/d192601130/htdocs/wordpress/wp-content/plugins/lj_crosspost.php on line 36
Fatal error: main() [function.require]: Failed opening required ‘/homepages/18/d192601130/htdocs/wordpress//wp-includes/template-functions-links.php’ (include_path=’.:/usr/local/lib/php’) in /homepages/18/d192601130/htdocs/wordpress/wp-content/plugins/lj_crosspost.php on line 36
Not sure what do with it now.”
i’m having this exact same problem!
February 8th, 2007 at 9:21 am
You’re not using the latest version.
February 8th, 2007 at 10:46 am
Great plugin! Thank you very much.
February 9th, 2007 at 10:23 pm
I finally got the crossposter to work — but now it’s crossposting repeatedly every time I get a comment to my original post. I can’t find anything in the options and haven’t found anything on your web site that addresses this issue. I love this plugin but it’s giving me fits right now. What am I doing wrong?
February 9th, 2007 at 10:33 pm
Now that I think about it, I’m not sure what’s causing it to spam my livejournal. But my last post has been crossposted four times so far.
When I first tried to crosspost, I’d left the LJ privacy setting to private. Post #1. I corrected the privacy setting to public. Post #2. Since then, I haven’t edited the post any other times, but I have two comments to my post and it’s been crossposted two more times.
February 13th, 2007 at 7:32 am
Hi Evan,
I’m reinstalling your LJXP plugin, in order to use it with WP2.1, and I get the following error when updating the options and crossposting all posts from WP to LJ:
Something went wrong - Client : Application failed during request deserialization: not well-formed (invalid token) at line 12, column 9, byte 1232 at /usr/lib/perl5/XML/Parser.pm
line 187
Any help will be appreciated.
BTW, this is a great plugin.
February 14th, 2007 at 2:28 pm
Thanks for the plugin! On my blog I post a lot of youtube videos (using viper’s video quick tags). it seems like when posting a video using these tags or the youtube embed code, it gets stripped out when crossposting to my livejournal.
any ideas?
February 15th, 2007 at 7:53 am
I’ve been using LJXP for a while now and it’s been great. But…
I’m running a sort of new install of WP2.1 and threw LXP 2.0 on it and when I try to update the options for the first time, I get a “Something went wrong - 200 : Client error: Missing required argument(s)” in response.
Huh?
I played with as many settings as I could and Dreamhost can be crappy and weird sometimes, but I dunno what’s going on here.
February 15th, 2007 at 9:02 am
CharlesV -
I could be wrong, but I believe that LJ strips out certain tags just in general. This is a security feature for them, and it usually involves stripping out script or embed tags.
This is just a guess though. Try directly posting a video to LJ and see if that works.
February 15th, 2007 at 11:30 am
It looks like this actually has more to do with wordpress stripping out object/embed tags, and that getting lost on its way to livejournal (thus the need for stuff like viper’s plugins I guess). Lame, but I’d rather drive people over to my WP blog anyways. Thanks for the help.
February 18th, 2007 at 3:40 pm
I think I found a bug in the plugin. None of my posts were showing up on my Friends’ Pages, and I did a little digging and found that it was because all my entries were automatically marked as Date Out Of Order. I had to change this:
$args[’props’] = array(”opt_nocomments” => !$comments,
“opt_preformatted” => true,
“opt_backdated” => !($post_id == $recent_id));
to this:
$args[’props’] = array(”opt_nocomments” => false,
“opt_preformatted” => true,
“opt_backdated” => false);
Basically, I just manually set the variables. I first only manually set the opt_backdated variable, but after that a post I made was automatically marked as private. So, I had to manually change the opt_nocomments field as well.
I know this isn’t the best way to solve the problem, but it works for me since I won’t use the plugin to import any posts except new ones, and I always allow comments at both WordPress and LiveJournal. But, you might want to double-check that code and see what could be causing the problem. Besides that bug, the plugin works great. Thanks for making it!
February 19th, 2007 at 9:04 pm
Hiya: I’m not a coding-oriented person, so please excuse me if I’ve missed something obvious. I uploaded the lj plugin to the correct folder, then activated the plugin, but there is still no “livejournal” page that appears under the options window. Thanks for your help
February 20th, 2007 at 9:56 am
Samuel -
The point of that logic was that if you try to create or edit a post that’s older than the most recent post, and you don’t backdate it, you get an error. But if you’re having problems, could you file a bug report on the Google Code site?
Juhuacha…I’ve never heard of the LJ tab not coming up. I’m honestly not sure where to start looking on that one…
February 20th, 2007 at 12:03 pm
Hey, nice one. But maybe the script could extraxt the “embed” things by itself, and put something like “[Read the post, to see {Plugintype} application]”?
Take care!
February 20th, 2007 at 12:24 pm
btw - i hate this - “Something went wrong - 208 : Client error: Invalid text encoding: The text entered is not a valid UTF-8 stream”. What could be the problem?
February 20th, 2007 at 4:41 pm
“The point of that logic was that if you try to create or edit a post that’s older than the most recent post, and you don’t backdate it, you get an error. But if you’re having problems, could you file a bug report on the Google Code site?”
Right, right. I think my problem was, even when posting a brand new (non-backdated) post would go through without an error message, but would be marked as Date Out Of Order. I will file a bug report!
February 20th, 2007 at 5:12 pm
SkaKri -
It think your problem might be caused by your category names. As a quick test, could you take the accent marks out of your category names and see if that works?
If that’s the case, you might want to check out some of the guidelines on using LJXP with a Russian blog. If not, then I don’t know how much more help I can offer—I’ve never been any good with internationalization.
February 20th, 2007 at 5:55 pm
Nice, thanks, i just removed tag showing option. Thanks and take care! ;D
February 21st, 2007 at 10:57 am
plugin is very usefull, thanks
but there is one problem: posts crossposted by plugin don’t shows in ‘frieds’ tab of LJ users, because of checked options “Date Out of Order” in LJ post.
what to do?
February 21st, 2007 at 4:47 pm
solncasvet -
This is a problem that was recently brought to my attention. I’m trying to track it down and fix it.
February 23rd, 2007 at 1:42 pm
Terrific plugin, but am having trouble with it since I renamed my LJ account. I’d get an invalid password error when trying to enter the new account name in the Crossposter options. So I uninstalled the plugin and tried to enter the info from scratch, with the same results. Perhaps I haven’t undertaken all the steps to uninstall. Is something cached somewhere? Here are the errors I get:
Warning: Cannot modify header information - headers already sent by (output started at …admin-header.php:16)
in …functions.php on line 1219
Something went wrong - 101 : Invalid password
February 28th, 2007 at 12:50 am
Good day! It’s really cool plugin, thank you. Unfortunately it doesn’t word on one of my blogs — http://www.clientservice.ru/ (newly installed WordPress 2.1.1). I get an error:
Warning: Cannot modify header information - headers already sent by (output started at /home/hosting/clientserviceru/www/wp-admin/admin-header.php:16) in /home/hosting/clientserviceru/www/wp-includes/functions.php on line 1219
Something went wrong - -32300 : transport error - could not open socket: 0 Unknown error: 0
February 28th, 2007 at 12:59 am
PS I get this error message when I click “Update Options and crosspost All Wordpress entries”. If I click “Update Options” it’s ok, but then every time I write a new message, I get
Warning: Cannot modify header information - headers already sent by (output started at /home/hosting/clientserviceru/www/wp-content/plugins/lj_crosspost.php:926) in /home/hosting/clientserviceru/www/wp-includes/functions.php on line 1219
Something went wrong - -32300 : transport error - could not open socket: 0 Unknown error: 0
On the same hosting account I have a Wordpress 2.0.4 blog and it works nicely with LJXP 1.5
February 28th, 2007 at 7:09 am
Sounds like it’s probably a limitation of your hosting service.
February 28th, 2007 at 2:24 pm
Well… but as I’ve already talked I have another blog (WP 2.0.4 + LJXP 1.5) on the same account and it works perfectly
March 1st, 2007 at 6:37 am
Thanks for plugin! It’s really useful.
March 2nd, 2007 at 11:08 pm
Hi Evan, I have my website at www.ainsleehooper.com and now a LJ at http://ainsaree.livejournal.com. The plugin worked perfectly for me but for some reason now it gives me the following error
Warning: Cannot modify header information - headers already sent by (output started at /var/vhosts/www.ainsleehooper.com/wordpress/wp-admin/admin-header.php:16) in /var/vhosts/www.ainsleehooper.com/wordpress/wp-includes/functions.php on line 1219
Something went wrong - 302 : Client error: Can’t edit post from requested journal
I went to my LJ today and noticed that my posts from wordpress today haven’t gone across to LJ so I thought i’d run the plugin again and got that error. I haven’t changed anything and even attempted to upload a newly downloaded version of the plugin to make sure it was the updated one. Any suggestions? Thanks, Ainslee
March 3rd, 2007 at 12:37 am
What exactly did you change? WP version? LJXP version? Try going into PhpMyAdmin and running “DELETE FROM wp_postmeta WHERE meta_key=’ljID’”
That may result in duplicate posts, but it might also fix things.
March 3rd, 2007 at 2:43 am
Getting error:
Fatal error: Call to undefined function: wp_die() in /home/tampasc/public_html/macarthur/wp-content/plugins/lj_crosspost.php on line 723
No clue. I have toggled other plugins off. It still dies. It works just ducky on my other blog (2.0.4) but this one (2.1) does not work. HELP!
March 3rd, 2007 at 4:22 am
OK, strike that last post…
It works. I was NOT running 2.1, I was running 2.0.3. I upgraded my blog to 2.0.9 and it works. EXCEPT I cannot copy a community, it says cannot backdate posts to a non-personal journal. Error 152. Any clues?
March 3rd, 2007 at 7:39 am
I was using this on my old website Yunie.com until that died recently and it was working great but I’m using a different version of wp now at 2.1.2 I was wondering if it still works. SOme websites said it doesn’t and offered a fix which I did but I’ve noticed it doesn’t detect edits but just posts the post as a new post
March 7th, 2007 at 2:35 pm
fyi, I just installed the latest version of wp and this plugin and it works fine
March 9th, 2007 at 11:12 am
Hi there. Please add [post_id] into custom footer’s substitution list.
I’m using LJ-comments plugin (http://a-bishop.spb.ru/wordpress/) and I’d like to use custom footer and don’t hack your code.
Regards, Aelxander.
March 9th, 2007 at 11:30 am
And one more bugreport:
” symbol in custon footer field makes troubles. Looks like you escape it when reading from user, but don’t unescape when write it back for editing.
March 12th, 2007 at 9:23 pm
question is their a way to hack this or modify it to let my private posts cross post as well
March 16th, 2007 at 2:13 pm
Hi!
Im having the same error as Ainslee. I get this:
Warning: Cannot modify header information - headers already sent by (output started at /home/infektia/public_html/blog/wp-admin/admin-header.php:16) in /home/infektia/public_html/blog/wp-includes/functions.php on line 1219Im running on WP 2.1.2. And it worked fine until I decided to update the plugin…
March 30th, 2007 at 1:37 am
Very nice! Thanks for the great work!
April 4th, 2007 at 7:05 pm
I get the same error as Ainslee and Malin, but ONLY when I try and publish to a community. I suspect it’s because I don’t have the right rites, but… I couldn’t even add in my community! I had to tweak the code to hardcode it in, and even so, I can’t delete posts.
What permissions do I need in a community to be able to post and delete?
April 15th, 2007 at 2:53 am
Hello! I have WordPress 2.1.3.
When I’m trying to delete my own post I’m getting the error message
“Something went wrong - 302 : Client error: Can’t edit post from requested journal”
I’ve tried to delete the post by log in as Administrator but I steel getting the same message.
I’ve asked about it on a WordPress website and they told me this error I’m getting because I’m using LiveJournal Crossposter.
They were right. I’ve deactivated the Pluging and I can delete the posts now.
Can you fix it?
April 15th, 2007 at 3:24 am
Hello, Evan!
At first I wanted to Thank you for your great plugin. It works very good.
And I have one more question. Is it possible to crosspost not only one but to two different journals? I mean, just theoretically if I have the journals on LiveJornal.com and also on Greatestjournal.com
Ehat do you think?
April 21st, 2007 at 2:00 pm
Just wanted to say THANK YOU to Samuel (post on February 18th, 2007 at 3:40 pm) whose info solved my Friends’ List posting problems.
Great plug-in — thanks!
April 22nd, 2007 at 9:38 pm
Find a glitch in Samuel’s fix.
instead of changing all of this:
$args[’props’] = array(”opt_nocomments” => !$comments,
“opt_preformatted” => true,
“opt_backdated” => !($post_id == $recent_id));
to this:
$args[’props’] = array(”opt_nocomments” => false,
“opt_preformatted” => true,
“opt_backdated” => false);
April 22nd, 2007 at 9:39 pm
Oops — chopped me off, there.
“opt_backdated” => false);
April 22nd, 2007 at 9:39 pm
SHITE!
“opt_backdated” => false); ++++ JUST CHANGE THIS LINE
If you change the first line, too, the setting to force commenters to go to Wordpress to comment gets turned off.
April 25th, 2007 at 7:28 am
I am having a problem with the plugin after six months of using it just fine. It happened when I upgraded to 2.0 of the plugin. It just takes me to a blank page when I hit “post” on Wordpress, and it posts on the site, and on Xanga using the Xanga crossposter- but not on LJ.
Does anyone have an older version of this plugin?
1.6, preferrably?
I’d post this on the Google Project page but it’s a little confusing.
Is anyone having this same problem?
May 5th, 2007 at 4:13 pm
GREAT plugin. Thanks for the work put into it.
May 26th, 2007 at 7:42 am
Evan your plugin is absolutely fantastic.
Not only does it work, it works beautifully.
I hope as a user of your scripting, I can provide feedback for its use later if your continuing to tweak the project to better perfection.
(Although honestly, I don’t think the setup and use could have been anymore flawless)
Your public script is muchly appreciated friend.
~William