PDA

View Full Version : Change Title of Podcast


Dan Druff
24 Dec 2012, 22:01
vBulletin has a great built-in podcast system, but it is unfortunately LACKING one very basic feature: You can't name your podcasts!

When vBulletin generates an RSS Feed for iTunes and other podcasting services, it automatically assigns a name to your podcast. That name is always a concatenation of the name of your forums and the individual forum name where they appear. For example, if your forums were called "Baseball Discussion Forums" and the podcast forum was called "Our Podcasts", all of your podcasts would be listed as "Baseball Discussion Forums - Our Podcasts" on iTunes, which is cumbersome-looking and unprofessional. If you wanted the Podcast to simply be called "The National League Report", you couldn't do it.

This modification allows you to name your podcasts whatever you want. It requires one simple database change and two small modifications to source code.

Database Change

1)Locate the podcast database entry.

2) Add a column to the end of the entry called "podcastname" (without the quotes). Make it identical to the "author" entry, in terms of format. This is, make it of type VARCHAR length 255, with latin1_swedish_ci collation.

This database change is mandatory! This modification will crash without it. However, it is backwards compatible with your other podcasts, so the database change itself will not harm anything, even if you back out this modification at some point.



Source Changes

You will be modifying two source files. One is external.php in your main forum directory. One is forum.php in the admincp subdirectory of your forum.

Changes for external.php are as follows:

Locate this block:

if (empty($title))
{ // just show board title
$rsstitle = $vbulletin->options['bbtitle'];
}
else
{ // show board title plus selection
$rsstitle = $vbulletin->options['bbtitle'] . " - $title";
}


Add the following code BEFORE the block:

if ($podcastinfo['podcastname'])
{
$rsstitle = $podcastinfo['podcastname'];
}
else
{


Add the following right AFTER the block:

}



Here are the changes to make for forum.php in the admincp directory:

Locate the following code:

print_podcast_chooser($vbphrase['category'], 'categoryid', $podcast['categoryid']);


Add the following code right AFTER:

print_input_row('Podcast Name' . '<dfn>' . construct_phrase($vbphrase['maximum_chars_x'], 255) . '</dfn>', 'podcastname', $podcast['podcastname']);



Next, locate the following code:

$vbulletin->input->clean_array_gpc('p', array(
'categoryid' => TYPE_UINT,
'explicit' => TYPE_BOOL,
'enabled' => TYPE_BOOL,


Add the following line right AFTER:

'podcastname' => TYPE_STR,



Next, locate the following code:

$db->query_write("
REPLACE INTO " . TABLE_PREFIX . "podcast (forumid, enabled, categoryid, category, author, image, explicit, keywords, owneremail, ownername, subtitle, summary)
VALUES (
$forum[forumid],
" . intval($vbulletin->GPC['enabled']) . ",
" . $vbulletin->GPC['categoryid'] . ",
'" . $db->escape_string(serialize($category)) . "',


REPLACE that code with:

$db->query_write("
REPLACE INTO " . TABLE_PREFIX . "podcast (forumid, enabled, categoryid, category, podcastname, author, image, explicit, keywords, owneremail, ownername, subtitle, summary)
VALUES (
$forum[forumid],
" . intval($vbulletin->GPC['enabled']) . ",
" . $vbulletin->GPC['categoryid'] . ",
'" . $db->escape_string(serialize($category)) . "',
'" . $db->escape_string($vbulletin->GPC['podcastname']) . "',


That's it!

Now you will have a new field to enter your podcast name in the Podcast Settings admin screen. The new field is circled in the attachment below:

https://www.vbulletin.org/forum/external/2012/12/6.png

Make sure you go to your existing podcasts and add a name to them!

o.dinc
25 Dec 2012, 10:14
Good Job , Thanks...

brandondrury
25 Jan 2015, 21:34
Since this requires changes to hard coded files, I'm going to skip the database change and simply enter my Podcast name in external.php. Let's see if it works.

Thanks for the help!

Brandon