I'm responding to "how it could possibly be done" b/c I'll probably end up doing this for our forums (one subforum alone has 986,000+ posts). I too had searched & haven't seen previous discussion on this.
step 1:
add a new field to the forum table, ala
UPDATE forum ADD COLUMN 'exemptfromsearch' tinyint(4) NOT NULL default '0'
step 2:
manually query to toggle the value of forum.exemptfromsearch for select subforums
update forum set exemptfromsearch='1' where forumid=x
step 3:
since the forumid isn't passed to
function indexpost()
function unindexpost()
within ~admin/functions.php
we'll either have to add code which WILL pass forumid as an argument to these functions and eval its value and conditionally abort
-=OR=-
add conditional code within each calling script
editpost.php
newreply.php
postings.php
surrounding each instance of calls to the indexpost and unindexpost functions, so that the indexing won't ALWAYS occur
if ( $threadinfo['forumid']!='0') {
(I suspect the latter approach would be more efficient)
^---- 1, 2 & 3 cover the
functional requirements.
Steps 4, 5, etc. would be a matter of editing
~admin/forum.php to add contols to the AdminCP interface and extend the SQL queries to update
forum.exemptfromsearch along with the other column values.
Quote:
In excluding this as a feature, the attitude of the vBulletin developers seems to be "why/when in-the-world would anyone want to do this?"
-=-
In reaction to this, I would ask
"Why would anyone ever want to set a forum INACTIVE?"
(There's a setting for this)
along with
"Doesn't it make sense that if a forum is set INACTIVE, the admin wouldn't want its posts indexed?"
(and yes, I do understand that reindexing would be necessary after toggling this for one or more subforums.)
|