Recent Topics

Visiglyph "fatal error..."

Started by on May 22, 2008 – Contents updated: May 22, 2008

May 22, 2008 17:32    

I hate when I get a "fatal error", the term is too tragic for something that usually has a solution... but, someone using a friend's blog (http://www.literanova.net) is trying to make a comment and is getting this error:

Code

Fatal error: Call to a member function get() on a non-object in /.../.../.../.../plugins/visiglyph_plugin/_visiglyph.plugin.php on line 105

I read the line and is something about a "Nickname" but that's about as I understood.
What do you think is happening and what does the person need to do. This is the first time that happens and is never happened to me.

May 23, 2008 17:55

Is the person making the comment a logged in person? Also what version of visiglyphs are they using? I've got 2.0.1 which, near as I can tell, is the latest version. It does not have anything on line 105 so I suspect they have an older version?

May 23, 2008 18:19

No, he is not logged in but the version is not the newest so I will change it and see what happens.
I will tell you the results.

Thanks EdB.

May 23, 2008 18:36

I've asked the person with the problem to leave a comment, I'll have to wait until he does. I left a comment and it worked fine.
The only issue is that all past comments lost its images.

Maybe it was the way I upgraded.
I uninstalled the plugin from the BackOffice, Deleted the plugin from the Plugins Folder, uploaded the new version and installed the plugin in the BO again.

May 23, 2008 18:47

Yup you might have wiped out all the prior visiglyphs. Each image is stored in a folder in the plugin's folder, so like plugins/visiglyph_plugin/visiglyphs/ is the path to the images. Without a backup of what was in that path there is no way to restore them.

Once upon a time the path was to media/something/visiglyphs/ or maybe rsc/img/visiglyphs/ which was in a way better because upgrading the plugin didn't cause them to go away. Problem was ... I forget what. But something made me think "aw crap now I have to change the path and because I'm me I have to update my entire database to not point to the old path and then move all my visiglyphs to the new path.

Would have been safer to just upload the new version over the old one. :(

Hey maybe you have access to this person's database? If so you can search for '%plugin/visiglyphs%' and get an idea of how many comments and images are involved, then maybe simply remove them from the comments so that the blog doesn't show broken images? OR change the database to use a generic visiglyph for anything that is missing?

May 23, 2008 19:12

If so you can search for '%plugin/visiglyphs%' and get an idea of how many comments and images are involved, then maybe simply remove them from the comments so that the blog doesn't show broken images?

You mean I can "Empty" the table %plugin/visiglyphs% with PHPMyAdmin? That would reset everything?

About my upgrading "Gaffe", I was kind of aware I was doing it wrong but I kept on, so it was my fault. Maybe you should add a "Just for Dummies" alert in the Readme so that my fellow Dummies don't do the same as I did :oops:

May 24, 2008 03:32

EdB, I really don't know how to solve the mess I provoked erasing the former visiglyphs data. Now I get empty spaces in Firefox and Missing Images marks in IE and Opera.
I looked into the Database but couldn't solve anything.
I'm really sorry but I have to ask you what would be the easiest approach to get rid of the missing images.
You mentioned changing the database to use a generic visiglyph for anything that is missing, how can I do that?
Although I'd rather have the plugin act as if it was installed today for the first time, so that past comments don't show anything, no images or missing images.

May 24, 2008 19:13

Step one: do not EMPTY a table. Let me repeat that for clarity: do not EMPTY a table!!! Did I say empty it? NO NO NO!!!

So the visiglyph plugin always has and always will permanently alter a submitted comment. The image tag is written before the comment is inserted into the database, so there is no (easy) way to make things be like visiglyphs was never installed.

Some things to try: Find an image you like that happens to be 72 by 72 pixels and save it in your visiglyph_plugin/visiglyphs folder. Now look at a comment that has a missing visiglyph. Right-click the image and select 'properties'. See the horribly long name? Using basic mouse stuff, copy and paste the 72x72 image you selected, then rename the copy as that horribly long name and upload it to your server. Repeat until all missing images have been 'fixed'. This has the advantage of 'fixing' all comments by one person at the same time because they should have had the same visiglyph.

EASIER than that, assuming you have the skillz with phpmyadmin, is to alter the database to either delete the image tag or to have it point to the 72x72 image you found that happens to be okay to you. But it sounds like you're not comfortable in there, and it is really not an easy procedure, so I won't worry about that one too much.

Here's another option: again save a happy little 72x72 image in your visiglyph_plugin/visiglyphs folder and upload it as, for example, missing_visiglyph.png assuming it is a png image. Now one by one edit comments that have a missing visiglyph and make it point to the file you just uploaded. Alternatively, simply edit the comments and remove the image tag. Oh for this one I think you have to disable visiglyphs while you edit because all of a sudden visiglyphs happen from the back office. This will be the longest and most painful process, but it is also the least likely to fail.

Personally I went with the second method. Took me quite a few hours of working through a backup of the comments table and the list of visiglyphs I had in a couple of different backup folders, but I managed to fix all but 3 images. In this case I would recommend the first method because it isn't very hard and you can focus on 'frequent commenters' first.

May 24, 2008 22:53

Step One: Clearly Understood; Never ever Empty a table. 8|

I think I used the most boring and most unwise of all methods: I checked all comments that had the visiglyph code and empty image and deleted the code. :yawn:

So now its like if I had just installed the plugin.
But its true, I'm not comfortable with PHPMyAdmin, and I don't like the idea of one image for all that were lost.

In the Readme you specify that the plugin should be configured with email OR IP.
Some "people" like to leave several messages with different names and emails, so I like the IP option to make it evident that the comments are from the same "person". Can I use both options, email and IP at the same time?

May 25, 2008 00:13

Yes you can. I don't know why I said "this or that" when I can't think of any reason why it would have to be one or the other. In truth, you can use any combination of email, name, and/or IP address. Technically you could even use NONE of them but then everyone would have the same visiglyph and that would be silly.

Okay so yeah no matter what you pick it can be different next time. IPs change, and people sometimes type their name with or without capital letters, and sometimes people use different email addresses.

Hey glad you got it sorted out. For sure that was the most reliable and easiest method to implement, though time consuming depending on how many comments needed editing.

Oh and for the record "EMPTY" will delete all records from a database table. So had you emptied the evo_comments table you would have, effectively, deleted all the comments and trackbacks in one mighty swoop. DROP is even worse: it will delete everything INCLUDING the actual table 8|


Form is loading...

Secure CMS – This forum is powered by b2evolution CMS, a complete engine for your website.