1 garry Dec 04, 2005 18:37
3 garry Dec 05, 2005 19:21
1. debug_die( "Requested Blog does not exist!" )
File: /var/www/vhosts/antifan.de/httpdocs/evocore/_dataobjectcache.class.php:290
2. blogcache->get_by_id( "2" )
File: /var/www/vhosts/antifan.de/httpdocs/evocore/_filemanager.class.php:726
3. filemanager->getrootlist()
File: /var/www/vhosts/antifan.de/httpdocs/evocore/_filemanager.class.php:220
4. filemanager->filemanager( Object(user), "files.php", NULL, "/", NULL, NULL, NULL, NULL, NULL )
File: /var/www/vhosts/antifan.de/httpdocs/admin/files.php:192
This irritates me:
dataobjects:
* Loading User(4) into cache
* dataobjectcache - Loading Group(ALL) into cache
* Loading Blog(criterion: browse) into cache
* Loading Blog(1,2,3,4) into cache
* Loading Blog(2) into cache
* Could not get DataObject by ID. Query: SELECT * FROM T_blogs WHERE blog_ID = 2
There is no blog #2 ... I don't know where it gets this ID from ...
4 blueyed Dec 05, 2005 19:51
It seems that either your evo_coll_user_perms or evo_coll_group_perms table got messed up, because it looks like that there are permissions for a non-existing blog (#2) defined.
Have you manually deleted this blog (ID 2) from evo_blogs?
François: should BlogCache::load_user_blogs make sure that the blogs exist (by joining T_blogs)?
5 garry Dec 05, 2005 20:05
No, no manual delete from any of the tables ...
Looks like I got it fixed: When deleting blogs 2-4 from the default distribution using the admin interface, the entries in the table evo_bloggroups were not removed by b2e ... after deleting the leftover entries, the filemanager is now working ...
6 edb Dec 05, 2005 23:19
I wonder if this is related to a trivial little detail: b2evo ships with/installs a sample post that is in two cats in two blogs but does not have the cross-blog option enabled.
7 blueyed Dec 06, 2005 00:07
Garry, you've discovered a bug here. Thank you. I've fixed it in CVS for the next release.
EdB, I think the cross blog option is disabled by default, because it increases the probability to screw things up and could also confuse the user. It's not related to this bug.
8 Dec 06, 2005 05:56
Anytime ... :) Glad to be able to help out ...
9 jdumetz Dec 08, 2005 00:17
I have the same symptoms as Gary. I suppressed the three example blogs and now file manager doesn t work, and additionaly the edition doesn t work if I don t select a blog (admin/b2browse.php?blog=0).
10 jdumetz Dec 08, 2005 00:47
:D using the same procedure (deleting manualy the appropriate references in the table evo_bloggroups) what is also strange is that by default when a blog is created no group is alowed to change it.
11 fplanque Dec 08, 2005 17:33
Guess, that's why we called it an "alpha" release :>
blueyed wrote:
François: should BlogCache::load_user_blogs make sure that the blogs exist (by joining T_blogs)?
No, this should never happen. We just need to make sure we delete the group perms before actually deleting a blog.
12 darkdan Jan 27, 2006 19:22
Hi Gang,
I found this article as of a search. I'm experiencing this same problem.
Can someone explain to me how I can see exactly which items need to be manually deleted from the evo_bloggroups table? I'm looking at this right now and I'm afraid to make a deletion without a little more help.
Thanks!
Dan
13 jdumetz Jan 27, 2006 22:33
> DarkDan
I dont remeber wich one it was, but anyway it depends on what you deleted before in the admin interface of B2Evolution and that is still in the table and should not be, there was quite a lot for me. Try to note the references of users and goup users that ar stil valid and delete others.
Joseph
14 blueyed Jan 29, 2006 11:39
The query to execute is this:
DELETE evo_bloggroups
FROM `evo_bloggroups` LEFT JOIN evo_blogs ON blog_ID = bloggroup_blog_ID
WHERE blog_ID IS NULL
which deletes all blog-groups-permissions for non-existing blogs.
15 krfinucane Mar 21, 2006 16:21
blueyed wrote:
The query to execute is this:
DELETE evo_bloggroups FROM `evo_bloggroups` LEFT JOIN evo_blogs ON blog_ID = bloggroup_blog_ID WHERE blog_ID IS NULL
which deletes all blog-groups-permissions for non-existing blogs.
I apologize - I'm not as experienced with MySQL and such. Where do I use this code at exactly? If it makes any difference I have phpMyAdmin as part of my hosting package.
Thanks,
Kyle
16 blueyed Mar 21, 2006 16:36
Yes, go to phpMyAdmin, choose the SQL tab (after browsing to your database, if necessary) and paste the above code. Then click Go/Execute.
17 howardk Mar 29, 2006 08:16
"Garry" wrote:
1. debug_die( "Requested Blog does not exist!" )
Have the same problem have run debug AS SUGGESTED and got the followingRequested Blog does not exist!
Backtrace:1. debug_die( "Requested Blog does not exist!" )
File: /var/www/html/blog/evocore/_dataobjectcache.class.php:290
2. blogcache->get_by_id( "6" )
File: /var/www/html/blog/evocore/_filemanager.class.php:726
3. filemanager->getrootlist()
File: /var/www/html/blog/evocore/_filemanager.class.php:220
4. filemanager->filemanager( Object(user), "files.php", NULL, "/", NULL, NULL, NULL, NULL, NULL )
File: /var/www/html/blog/admin/files.php:192Ignored last: 1
Debug messages
dataobjects:* Loading User(1) into cache
* dataobjectcache - Loading Group(ALL) into cache
* Loading Blog(criterion: browse) into cache
* Loading Blog(4,1,2,3,2,3,6,4,8,5,1,7) into cache
* Loading Blog(6) into cache
* Could not get DataObject by ID. Query: SELECT * FROM T_blogs WHERE blog_ID = 6The problem is in my list of bloG I have one through to four then a gap then before eight and nine - BLOGS 5, 6, 7 ARE MISSING FROM MY LIST
Blog Full Name Blog URL Static File Locale Copy Del
1 Properties Blog All Bahrain Bird Report index.php/ all.html [Gen!] English (UK)
2 Properties Observations (Default) Report a sighting a_stub.php a.html [Gen!] English (UK) Copy Del
3 Properties ID Problems with ID b_stub.php b.html [Gen!] English (UK) Copy Del
4 Properties Links Links index.php/ links.html [Gen!] English (UK) Copy Del
8 Properties Projects Projects c_stub.php home [Gen!] English (UK) Copy Del
9 Properties Home Home Page all_stub.php English (UK) Copy Del
18 blueyed Mar 29, 2006 23:25
Yes, known prob. Actually the solution is right in this thread..
19 howardk Mar 30, 2006 01:46
I RECIEVED THE FOLLOWING FROM TOPANGA
If blog are missing, that means you have once created new blogs, then deleted them, then recreate new blogs. This is something I noticed as well.
Once you do that, you will have errors (blog does not exist)
Restart with a new database, just rename blogs, do not delete any, just create new once, and you will have no problems.
It's a 'known' bug
Thanks Topanga
am now REINSTALLING my database and starting over
Howard
20 bennybobw Apr 02, 2006 10:29
I'm having this problem, but I'm receiving an error when I try to run the fix code in myPHPAdmin. Does anyone know what is wrong? Is there something else I need to add to the code to make it work? I don't know anything about MySQL.
#1064 - You have an error in your SQL syntax near 'evo_bloggroups'
FROM 'evo_bloggroups' LEFT JOIN evo_blogs ON blog_ID = bloggroup' at line 1
Note that this problem is happening when the backend tries to access blog 0 (when I click on browse or write without selecting the blog first), which no longer exists or (for some reason) when it tries to access files.php
Thanks for your help.
21 blueyed Apr 02, 2006 17:23
bennybobw, please post the whole SQL you're trying to execute - I want to be sure it's same I've posted.
Also, which MySQL version are you using? (you can see this on the "homepage" of your phpmyadmin installation)
22 bennybobw Apr 02, 2006 21:35
blueyed,
I'm using mySQL 3.23.58, phpMyAdmin 2.6.0-pl3, and the Phoenix release of b2evolution.
I'm posting this code in the MySQL query window in myPHPAdmin:
DELETE evo_bloggroups
FROM `evo_bloggroups` LEFT JOIN evo_blogs ON blog_ID = bloggroup_blog_ID
WHERE blog_ID IS NULL
And I get this error:
MySQL said: Documentation
#1064 - You have an error in your SQL syntax near 'evo_bloggroups
FROM `evo_bloggroups` LEFT JOIN evo_blogs ON blog_ID = bloggroup' at line 1
I thought maybe the problem was the funky quotes around evo_bloggroups so, I changed them to straight quotes, same error:
DELETE evo_bloggroups
FROM 'evo_bloggroups' LEFT JOIN evo_blogs ON blog_ID = bloggroup_blog_ID
WHERE blog_ID IS NULL
And:
SQL-query:
DELETE evo_bloggroups FROM 'evo_bloggroups' LEFT JOIN evo_blogs ON blog_ID = bloggroup_blog_ID WHERE blog_ID IS NULLMySQL said: Documentation
#1064 - You have an error in your SQL syntax near 'evo_bloggroups FROM 'evo_bloggroups' LEFT JOIN evo_blogs ON blog_ID = bloggroup_' at line 1
Then I thought maybe the problem was line breaks or something, so I tried inserting line breaks at the end of each of the three lines \. No luck. Then I tried putting everything on one line, and that didn't work either.
Like I said, I'm absolutely new to MySQL, so it could be just user error. Hopefully that gives you enough detail to see what the problem might be. Thanks a lot for your help.
bennybobw
23 blueyed Apr 02, 2006 23:04
Ok, it appears that multiple-table deletes are only supported since MySQL 4.0.
So, to fix your problem, you'll have to see which blog_IDs are used/present in the evo_blogs table: each row has an ID, in the column blog_ID.
Then, you'll have to delete every row, which has an ID in the bloggroup_blog_ID column that is not present in evo_blogs.
The following two queries can help:
Get all used blog_IDs:
SELECT blog_ID FROM evo_blogs;
Delete all group permissions for blogs with IDs other than X, Y or Z (replace with your blog IDs, from the first query)
DELETE FROM evo_bloggroups WHERE bloggroup_blog_ID NOT IN ( X, Y, Z )
24 radix Apr 04, 2006 02:44
jdumetz wrote:
:D using the same procedure (deleting manualy the appropriate references in the table evo_bloggroups) what is also strange is that by default when a blog is created no group is alowed to change it.
I had the same problem, and did exactly the same thing. It worked for me.
If anyone needs more info on how to do this, here's a series of screenshots from phpmyadmin, explaining how to do it.
[url=http://www.konyk.org/trash/fix/]link[/url]
25 bennybobw Apr 04, 2006 20:07
Thanks blueyed. That worked perfectly.
-bennybobw
26 howardk May 07, 2006 11:25
when i ran the code below I got the following message
Database hawar-islands_com_-_db - Table evo_blogs running on localhost
Error
SQL-query :
DELETE evo_bloggroups FROM `evo_bloggroups` LEFT JOIN evo_blogs ON blog_ID = bloggroup_blog_ID WHERE blog_ID IS NULL
MySQL said:
#1064 - You have an error in your SQL syntax near 'evo_bloggroups FROM `evo_bloggroups` LEFT JOIN evo_blogs ON blog_ID = bloggro' at line 1
-------------------------------------------------------------
"krfinucane" wrote:
blueyed wrote:
The query to execute is this:
DELETE evo_bloggroups FROM `evo_bloggroups` LEFT JOIN evo_blogs ON blog_ID = bloggroup_blog_ID WHERE blog_ID IS NULL
which deletes all blog-groups-permissions for non-existing blogs.
27 yabba May 07, 2006 12:04
bennybobw wrote:
MySQL said: Documentation
#1064 - You have an error in your SQL syntax near 'evo_bloggroups
FROM `evo_bloggroups` LEFT JOIN evo_blogs ON blog_ID = bloggroup' at line 1
howardk wrote:
MySQL said:
#1064 - You have an error in your SQL syntax near 'evo_bloggroups FROM `evo_bloggroups` LEFT JOIN evo_blogs ON blog_ID = bloggro' at line 1
blueyed wrote:
Ok, it appears that multiple-table deletes are only supported since MySQL 4.0.
So, to fix your problem, you'll have to see which blog_IDs are used/present in the evo_blogs table: each row has an ID, in the column blog_ID.
Then, you'll have to delete every row, which has an ID in the bloggroup_blog_ID column that is not present in evo_blogs.
The following two queries can help:
Get all used blog_IDs:
SELECT blog_ID FROM evo_blogs;
Delete all group permissions for blogs with IDs other than X, Y or Z (replace with your blog IDs, from the first query)
DELETE FROM evo_bloggroups WHERE bloggroup_blog_ID NOT IN ( X, Y, Z )
;)
¥
28 howardk May 07, 2006 13:55
Found the error - following your instructions and corrected the problem many thanks - I had deleted a blog recntly submitted that had undesirable pictures on it - I have a bird site - all feathered - the pictures would make your dog blush.
--------------
So, to fix your problem, you'll have to see which blog_IDs are used/present in the evo_blogs table: each row has an ID, in the column blog_ID.
Then, you'll have to delete every row, which has an ID in the bloggroup_blog_ID column that is not present in evo_blogs.
B)
Could you please try setting $debug = 1 in /conf/_advanced.php?
This should hopefully echo a backtrace in case of this error.
btw: blog=0 shouldn't be a problem when going to "Write", this just means to autodetect the first blog you have permissions on.