Search Results for 'code'
-
Search Results
-
Topic: Multisite Error
Hey guys, I just converted my wordpress to multisite and when I’m trying to add a new site I get the following errors:
Warning: array_keys() expects parameter 1 to be array, boolean given in /home/omgl/public_html/wp-content/plugins/bbpress/includes/core/capabilities.php on line 453 Warning: Invalid argument supplied for foreach() in /home/omgl/public_html/wp-content/plugins/bbpress/includes/core/capabilities.php on line 453 Warning: array_keys() expects parameter 1 to be array, boolean given in /home/omgl/public_html/wp-content/plugins/bbpress/includes/core/capabilities.php on line 453 Warning: Invalid argument supplied for foreach() in /home/omgl/public_html/wp-content/plugins/bbpress/includes/core/capabilities.php on line 453 Warning: array_keys() expects parameter 1 to be array, boolean given in /home/omgl/public_html/wp-content/plugins/bbpress/includes/core/capabilities.php on line 453 Warning: Invalid argument supplied for foreach() in /home/omgl/public_html/wp-content/plugins/bbpress/includes/core/capabilities.php on line 453 Warning: array_keys() expects parameter 1 to be array, boolean given in /home/omgl/public_html/wp-content/plugins/bbpress/includes/core/capabilities.php on line 453 Warning: Invalid argument supplied for foreach() in /home/omgl/public_html/wp-content/plugins/bbpress/includes/core/capabilities.php on line 453 Warning: array_keys() expects parameter 1 to be array, boolean given in /home/omgl/public_html/wp-content/plugins/bbpress/includes/core/capabilities.php on line 453 Warning: Invalid argument supplied for foreach() in /home/omgl/public_html/wp-content/plugins/bbpress/includes/core/capabilities.php on line 453 Warning: Cannot modify header information - headers already sent by (output started at /home/omgl/public_html/wp-content/plugins/bbpress/includes/core/capabilities.php:453) in /home/omgl/public_html/wp-includes/pluggable.php on line 876Does anyone have any idea what’s going on? Seems to me like bbPress is the culprit and when I deactivate bbPress I’m able to add a new site, but with bbPress activated I get those errors..
Converting a Snitz access database forum to BBpress
This documents how I transferred from a website using Snitz and an access database to a new site with BBress using Mysql.
This briefing assumes knowledge of
⢠FTP programmes and uploading/downloading files
⢠A way to access your wordpress database eg myphpadmin
⢠A way to see your access databaseIntroduction
BBpress has a conversion tool that lets you import data from several other forum packages. However two things are needed for this to work.
1. The data in a MySQL database format
2. A convertor programme that understands the structure of the source (in this case Snitz) forum.If you already have a MySQL verison of Snitz (Snitz supports Access, MS SQL, and MySQL), then youâll still need to fix the date, and run a specific Snitz converter, but donât need the upload to MySql in step 2.
Plan
The plan therefore is to
1. Fix date format (it is different between the two forums)
2. Convert the data to sql format
3. Run a snitz converter
4. Run repair to fix the linksExecution
I can only describe how I achieved this, I suspect there are lots of ways, but this one worked.
I had an access database on site x with hosting company a, and needed to transfer to a Mysql database on site y with hosting company b (basically I was taking over running someone elseâs website management)
Step 1 fixing the data format
Snitz stores dates in the format yyyymmddhhmmss
BBpress stores dates in the format yyyy-mm-dd hh:mm:ssYou can fix this
⢠before you transfer the data to sql,
⢠after you have transferred it
⢠or during conversion,this will depend on where you knowledge lies. But you will need to fix it. If you donât fix this, all the entries you import will show as posted 2014 years ago (basically year 0)
I converted before transferring to sql, as I an old and used to working with flat files! If you are more capable in sql, you could no doubt write a small programme to change the data format after youâve uploaded to sql, and if more capable in php you could do it within the converter programme (see later)
The Snitz database has two tables with dates in that need changing. These are :
FORUM_TOPICS
FORUM_REPLYThis is how they showed in my Snitz database, but the prefix may be different with yours.
In FORUM_TOPICS you need to change
T_DATE
T_LAST_POSTIn FORUM_REPLY you need to change
T_REPLYI downloaded the access database from the old site to my PC. I then exported the two tables to an excel spreadsheet (in Access go to external data, and look for export to Excel. Youâll need to have created a blank spreadsheet with the name you want to use first) and ran the formula
=CONCATENATE(MID(N2,1,4),"-",MID(N2,5,2),"-",MID(N2,7,2)," â,MID(N2,9,2),":",MID(N2,11,2),":",MID(N2,13,2))Where column N contained the old date.
I then prefixed the original heading with OLD (eg heading T_DATE became OLDT_DATE) and headed the new column with the heading of the old one (eg T_DATE). I did this to a) preserve the original columns just in case, and b) to use for the clean slug in the conversion (see later).
I then deleted the old table in access, and imported the two excel ones back into Access (as before external data, then import).
I then had the same access database, but with the correct date formulas and a couple of extra columns with the old date format in them.
Step 2 â Convert access database to MySql database
The first thing youâll need is a MySql database to upload to.
You can use the one you presumably already have with WordPress/BBpress. However youâll just need to check that none of the names co-incide. Since my Snitz database used capitals (I donât know if they all Snitz databases do), and BBpress uses lower case, I suspect that there is no risk in doing this, but one for you to consider.
I took the safety of creating a fresh blank database (my hosting package allows the creation of databases and manages them through phpMyadmin).
There are numerous programmes on the web that do access to Mysql conversion, but for no particular reason I chose Bullzip http://www.bullzip.com/.However this needs a 32bit ODBC driver to work, so unless you already have Mysql on your local PC, youâll need to download the driver from http://www.mysql.com/downloads/connector/odbc/ – choose the 32 bit one.
Once installed it is a doddle to do the conversion.
Youâll need :
The access database on your pc
The host address of your MySql database
The database name
The username
The password.Run the wizard, and itâll upload in minutes.
Finally if youâre going to do the date conversion discussed in Step 1 at this stage, nowâs the time to do it.
Step 3 â Importing/converting the data
This is easy once youâve got your head around it, but initially it can be very frustrating.
In essence you need to translate what one forum calls something to what the other needs.
For Snitz, I used the following translation
Forum section FORUM_FORUM forum Forum id FORUM_ID _bbp_forum_id Forum parent id CAT_ID _bbp_parent_id Forum title F_SUBJECT post_title Forum Slug (see note 1) FORUM_ID post_name Forum description F_DESCRIPTION post_content Forum Display Order F_ORDER Menu_order Forum Date Update Post_date Topic section FORUM_TOPICS topic Topic id TOPIC_ID _bbp_topic_id Forum id FORUM_ID _bbp_forum_id Topic author T_AUTHOR post_author Topic title T_SUBJECT post_title Topic Slug (see note 1) T_DATE post_name Forum id (if no parent 0) FORUM_ID post_parent Topic date update T_DATE post_date T_DATE post_date_gmt T_LAST_POST_DATE post_modified T_LAST_POST_DATE post_modified_gmt Tags section Ignored Post section FORUM_REPLY reply Post id REPLY_ID _bbp_post_id Forum id FORUM_ID _bbp_forum_id Topic id TOPIC_ID _bbp_topic_id Author ip R_IP _bbp_author_ip Post author R_AUTHOR post_author Topic slug R_DATE post_name Post Content R_MESSAGE post_content Topic id TOPIC_ID post_parent Topic date R_DATE post_date User Section FORUM_MEMBERS user Store old user id MEMBER_ID _bbp_user_id M_NAME user_login M_PASSWORD _bbp_password M_EMAIL user_email M_HOMEPAGE user_url M_AIM aim M_YAHOO yim[NOTE if you copy this and post in a word doc, you should be able to get a nice tabbed table]
Note 1I used OLDR_DATE & OLDT_DATE from the step 1 as my clean slugs. A slug is what BBpress uses for a URL to reference a post. It needs to be clean – ie not have formatting, odd characters like spaces etc. in it. I did debate using the topic ID, but was unsure if this was unique for BBpress â it may well be fine. So I used the references above as I was pretty sure that with our forum being not that busy, that no two people would have posted in the same second. If you choose to use some other field, such as topic ID, youâll need to change the field in the converter document â see below.
This is then used against the example converter that BBpress supplies.
Whilst initially looking daunting, this is fairly easy to change to get it to work.
Step 3.1 Creating a Snitz.php
Firstly go to your site. Using FTP go to web/wp-content/plugins/bbpress/includes/admin/converters and locate example.php. FTP this to your PC and using an editor (notepad ++ is good â download it from http://notepad-plus-plus.org/) you need to change the default âfromsâ to those above
But first save it locally as âsnitz.phpâ, and change the first couple of lines to read
/** * Implementation of snitz converter. */ class snitz extends BBP_Converter_BaseIf you donât do this, the converter wonât recognise it.
Then you need to work through each of the lines of code changing the âdefaultâ source database tables and names to the correct ones.
So looking at you new
snitz.php, youâll see for instance the first conversion is :// Forum id. Stored in postmeta. $this->field_map[] = array( 'from_tablename' => 'forum', 'from_fieldname' => 'forumid', 'to_type' => 'forum', 'to_fieldname' => '_bbp_forum_id'So to get this to work for Snitz you need to change the source table from âforumâ to âFORUM_FORUMâ and the from field needs changing from âforumdâ toâ _bbp_forum_idâ
Making the lines now read :
// Forum id. Stored in postmeta. $this->field_map[] = array( 'from_tablename' => 'FORUM_FORUM', 'from_fieldname' => 'FORUM_ID', 'to_type' => 'forum', 'to_fieldname' => '_bbp_forum_id'Using the translation table above you work through each of the lines, doing the substitution.
I commented out the tags section, as I couldnât see that Snitz had tags. I also commented out the â
Store old user saltâ and âUser password verify classâ sections as passwords wonât come across â see later on this.CRITICALLY I also added the following as the example doesnât had a bit that brings the actual topic content across !
// Topic content. // Note: We join the posts table because topics do not have content. $this->field_map[] = array( 'from_tablename' => 'FORUM_TOPICS', 'from_fieldname' => 'T_MESSAGE', 'join_tablename' => 'thread', 'join_type' => 'INNER', 'join_expression' => 'USING (threadid) WHERE post.parentid = 0', 'to_type' => 'topic', 'to_fieldname' => 'post_content', 'callback_method' => 'callback_html'Once all that is done, save the file locally.
Then using FTP upload it to the same directory that example came from
Viz : web/wp-content/plugins/bbpress/includes/admin/converters
Now youâre ready to run the conversion!Youâll need the following info
Database server (localhost if your using you local Mysql database)
Database name
Database User
Database passwordThen in Dashboard, go to tools>forums>import forums
Select âsnitzâ from the converter list, and fill in the database info from above.
Click to select users, presuming that you want to bring these across.
Then click start, and sit back and watch. If youâve got everything right, youâll see a steady stream of lines such as âconverting topics 1-100â
If Fails :
If it falls over, then youâll need to work out which part of the snitz converter it doesnât like (itâll give you a line number). Usually youâve got punctuations wrong, or called something by a wrong name. Remember snitz (in my case anyway) uses capitals, and bbpress needs lowercase, so ensure thatâs all ok.
If nothing comes through (it usually says âstarting conversion…conversion completeâ), then you have got the connection wrong, as itâs not finding the database and tables.
If Success :
Then youâll need to repair the links (Dashboard>tools>forums>repair forums). Otherwise in my case the forum listings came through, but with no topics listed against them.
Do as the tool suggests â I ran several at the same time, and wrote most of this document whilst waiting !
Finally â users
If you successfully imported your users, theyâll have accounts, but their passwords wonât work â Bbpress canât bring these across.
The easiest way is to tell them to click âlost passwordâ and enter their email address and then they can reset their own.
And thatâs how itâs done !
My site is, http://www.forgreenpeas.com.
And here’s my setup…
Wordpress: 3.5.1
Theme: TwentyTwelve
Buddypress: 1.7
bbPress: 2.2.4I’ve done a clean install of everything. (via FTP)
I’ve created a forum with one topic.
When I go to the forums index page, all I see is…“Index of /forums”
I’ve tried creating a “Forums” page (with the shortcode [bbp-forum-index]), but I always get the same result when I go to that page.
Another thing to note is that the individual forums show up fine, as you can see here…
http://www.forgreenpeas.com/forums/forum/group-forums/
Also, I’ve looked in the database, and was unable to find any tables with the prefix “wp_bb”.
I can’t help but think I’m doing something seriously wrong here.
Any suggestions?
Thanks in advance.
Todd
This is probably a dumb question, and youâll point me to a much easier solution!
Also I am still very new to wordpress, so understand a little of css and phpâs but not tons. Iâll use thing and thingy a lot as well, so as not to embarrass myself with the wrong technical terms.
I am using bbpress 2.2.4 on WordPress 3.5.1 with a twentyten child theme that does a few minor mods.
I am setting up a forum, but donât want users to see the WordPress toolbar, as this is outside the theme.
But I do want users to be able to change their password and details.
I am using the bbpress login widget in the bbpress sidebar, and by clicking the avatar or their username, users can get to a theme friendly profile page that lets them do just this.
However clicking the avatar is not instinctive, and Iâd like (in the absence of a more obvious solution) to add a thingy to the bbpress sidebar that says âamend profile/change passwordâ which when clicked takes you to the same place that clicking the avatar does (or some similar solution)
From searching on the forums, I have found the line within the widget that does this for the avatar (around line 140) which looks like
a href=â” class=âsubmit user-submitâ><?php echo get_avatar( bbp_get_current_user_id(), '40' ); ?
But have no idea how to then use this or other code to achieve the goal.Any good ideas, or is there a very basic solution Iâve missed.
Thanks
Topic: changing the forums list
I would like to change the way the forum page is displayed.
Hi Ari,I don’t wan to change the colors or so I want to change the content.
it was:
Catregory1 topics reply freshness
Forum11(t,r), Forum12(t,r), …Categoty2 topics reply freshness
Forum21(t,r), Forum22(t,r)…I want it to be
Category1
Forum11, Newest Topic / Reply
Forum12, Newest Topic / Reply
.
.
.Category2
Forum21, Newest Topic / Reply
Forum22, Newest Topic / Reply
.
.
.ih hacked the bbp_list_forums to get a linebreak but now I’m stuck
can someone give some help me? Even some codesnippets or a link to documentation would be helpful.Thanks