";
$sInterface = '';
$sInsertJSHead = '';
$sAutoVPIP = '';
$sEnableThickBox = '';
$sShowCodeGen = '';
$sBracketedCode = '';
$table_name = TBL_VIDEOFORMATS;
$byUpdatingTables = false;
// Check if Media Entry tables needs to be created
if(strcasecmp($GLOBALS['wpdb']->get_var("SHOW TABLES LIKE '$table_name'"), $table_name) != 0)
{
_vPIP_DBCreateTables();
$byUpdatingTables = true;
}
else if(get_option("vpip_db_version") != "1.21") // Update to 1.21
{
_vPIP_DBUpdateTo(get_option("vpip_db_version"), "1.21");
$byUpdatingTables = true;
}
//If vPIP fields have not yet been initialized, do it
if (get_option("vPIP_Init") === false) {
$sInterface = 'vPIPMediaEntry';
$sInsertJSHead = 'on';
$sAutoVPIP = 'on';
$sEnableThickBox = 'on';
$sShowCodeGen = 'on';
$vPIPLocation = get_settings("siteurl") . "/wp-content/plugins/vPIP";
$sBracketedCode = 'off';
update_option('vPIP_Interface', $sInterface);
update_option('vPIP_InsertJSHead', $sInsertJSHead);
update_option('vPIP_AutoVPIP', $sAutoVPIP);
update_option('vPIP_EnableThickBox', $sEnableThickBox);
update_option('vPIP_ShowCodeGen', $sShowCodeGen);
update_option('vPIP_Location', $vPIPLocation);
update_option('vPIP_BracketedCode', $sBracketedCode);
update_option('vPIP_Init', 'true');
echo "
\n";
}
// If updating to submitted form
else if ($_POST['vPIPOptions_Displayed']) {
//*** Update Settings ***
//$aVideoWidth and $aVideoHeight will hold arrays of the video format
// widths and heights
$aUpdate = array();
$aMediaNames = _vPIP_GetTableCol(TBL_VIDEOFORMATS, "mediaName");
foreach($aMediaNames as $aMediaName)
{
$mediaName_underscored = strtr($aMediaName->mediaName, " ", "_");
$sVideoWidthName = "vPIP_" . $mediaName_underscored . "_width";
$sVideoHeightName = "vPIP_" . $mediaName_underscored . "_height";
if ($_POST["vPIP_isDefault"] == $mediaName_underscored)
$iVideo_isDefault = "1";
else
$iVideo_isDefault = "0";
$iVideo_displayOrder = $_POST["vPIP_" . $mediaName_underscored . "_displayOrder"];
if (isset($_POST["vPIP_" . $mediaName_underscored . "_isActive"]) )
$iVideo_isActive = "1";
else
$iVideo_isActive = "0";
if (isset($_POST["vPIP_" . $mediaName_underscored . "_isActive"]) )
$iVideo_isActive = "1";
else
$iVideo_isActive = "0";
if (isset($_POST["vPIP_" . $mediaName_underscored . "_isVisible"]) )
$iVideo_isVisible = "1";
else
$iVideo_isVisible = "0";
// where clause set clause
$aUpdate["mediaName = '" . $aMediaName->mediaName . "'"] = "width = " .
$_POST[$sVideoWidthName] . ", height = " .
$_POST[$sVideoHeightName] . ", isDefault = " .
$iVideo_isDefault . ", displayOrder = " .
$iVideo_displayOrder . ", isActive = " .
$iVideo_isActive . ", isVisible = " .
$iVideo_isVisible;
}
_vPIP_UpdateTable(TBL_VIDEOFORMATS, $aUpdate);
// *** Update Flash External Player settings ***
$aUpdate = array();
if (isset($_POST["vPIP_useExtFlashPlayer"]))
$useExtFlashPlayer = 1;
else
$useExtFlashPlayer = 0;
if (isset($_POST["vPIP_offerEmbedCode"]))
$offerEmbedCode = 1;
else
$offerEmbedCode = 0;
$FLVPlayerURL = $_POST["vPIP_FLVPlayerURL"];
$FLVParam = $_POST["vPIP_FLVParam"];
$FLVParamLoc = $_POST["vPIP__FLVParamLoc"];
$FLVFlashVar = $_POST["vPIP_FLVFlashVar"];
$FLVFlashVar = $_POST["vPIP_FLVFlashVar"];
$embedCodeBtnTitle = $_POST["vPIP_EmbedBtnTitle"];
if (isset($_POST["vPIP_embedCodeStyled"]))
$embedCodeStyled = 1;
else
$embedCodeStyled = 0;
$aUpdate[""] = "useExtFlashPlayer = " . $useExtFlashPlayer .
", extFlashPlayer = '" . $FLVPlayerURL .
"', movieParam = '" . $FLVParam .
"', movieParamLoc = '" . $FLVParamLoc .
"', extFlashPlayerFlashVars = '" . $FLVFlashVar . "'" .
", offerEmbedCode = " . $offerEmbedCode .
", embedCodeBtnTitle = '" . $embedCodeBtnTitle .
"', embedCodeStyled = " . $embedCodeStyled;
_vPIP_UpdateTable(TBL_MEDIADEFAULT, $aUpdate);
echo "
\n";
//*** Get settings ***
if( $_POST['vPIP_Interface']) {
$sInterface = 'vPIPMediaEntry';
}
else {
$sInterface = 'vpip';
}
if (update_option('vPIP_Interface', $sInterface))
echo "
vPIP interface updated.
\n";
if( $_POST['vPIP_InsertJSHead']) {
$sInsertJSHead = 'on';
}
else {
$sInsertJSHead = 'off';
}
if (update_option('vPIP_InsertJSHead', $sInsertJSHead))
echo "
Inserting vPIP links into HTML head area updated.
\n";
if ($_POST['vPIP_AutoVPIP']) {
$sAutoVPIP = 'on';
}
else {
$sAutoVPIP = 'off';
}
if (update_option('vPIP_AutoVPIP', $sAutoVPIP))
echo "
Automatically make movie links work with vPIP updated.
\n";
if ($_POST['vPIP_EnableThickBox']) {
$sEnableThickBox = 'on';
}
else {
$sEnableThickBox = 'off';
}
if (update_option('vPIP_EnableThickBox', $sEnableThickBox))
echo "
Enable ThickBox option updated.
\n";
if ($_POST['vPIP_ShowCodeGen']) {
$sShowCodeGen = 'on';
}
else {
$sShowCodeGen = 'off';
}
if (update_option('vPIP_ShowCodeGen', $sShowCodeGen))
echo "
Show vPIP Code Generator option updated.
\n";
if ($_POST['vPIP_Location']) {
$vPIPLocation = $_POST['vPIP_Location'];
}
if ($_POST['vPIP_BracketedCode']) {
$sBracketedCode = 'on';
}
else {
$sBracketedCode = 'off';
}
if (update_option('vPIP_BracketedCode', $sBracketedCode))
echo "
Generating vPIP bracketed code updated.
\n";
if (update_option('vPIP_Location', $vPIPLocation))
echo "
vPIP Plugin location updated.
\n";
echo "
\n";
}
// Page display (before submit), get db values
else {
$sInterface = get_option("vPIP_Interface");
if ($sInterface === false)
$sInterface = 'vPIPMediaEntry';
$sInsertJSHead = get_option("vPIP_InsertJSHead");
if ($sInsertJSHead === false)
$sInsertJSHead = 'on';
$sAutoVPIP = get_option("vPIP_AutoVPIP");
if ($sAutoVPIP == null) {
$sAutoVPIP = "on";
update_option('vPIP_AutoVPIP', $sAutoVPIP);
}
$sEnableThickBox = get_option("vPIP_EnableThickBox");
if ($sEnableThickBox == null) {
$sEnableThickBox = "on";
update_option('vPIP_EnableThickBox', $sEnableThickBox);
}
$sShowCodeGen = get_option("vPIP_ShowCodeGen");
if ($sShowCodeGen == null) {
$sShowCodeGen = "on";
update_option('vPIP_ShowCodeGen', $sShowCodeGen);
}
$sBracketedCode = get_option("vPIP_BracketedCode");
$vPIPLocation = get_option("vPIP_Location");
if (strlen($vPIPLocation) == 0) {
$vPIPLocation = get_settings("siteurl") . "/wp-content/plugins/vPIP";
update_option('vPIP_Location', $vPIPLocation);
}
}
echo "
";
}
function _vPIP_AddOptionsPage() {
if (function_exists('add_options_page')) {
add_options_page('vPIP Options', 'vPIP Config', 8, basename(__FILE__), '_vPIP_Options_Page');
}
}
// A C T I O N S ////////////////////////////////////////////////////////////////////////////////////////////////////////////
function add_vpip_js() {
global $vPIPLocation;
if (get_option("vPIP_InsertJSHead") === false || get_option("vPIP_InsertJSHead") == 'on')
{
echo " \n";
if ((get_option("vPIP_EnableThickBox") === false) || get_option("vPIP_EnableThickBox") == 'on')
{
echo "
\n";
}
if ((get_option("vPIP_AutoVPIP") === false) || get_option("vPIP_AutoVPIP") == 'on')
{
echo "\n";
}
}
}
/* For writing vPIP code either through the Media Entry interface or vPIP Code
* Generator.
*/
function _vPIP_Write()
{
if (get_option("vPIP_ShowCodeGen") === false || get_option("vPIP_ShowCodeGen") == 'on') {
global $vPIPLocation;
$sInterface = get_option("vPIP_Interface");
if ($sInterface === false || $sInterface == 'vPIPMediaEntry' || $sInterface == 'vlogsplosion')
{
//If VideoFormats table doesn't exist, assume Media Entry tables not
// yet created, and create.
$table_name = TBL_VIDEOFORMATS;
//Check if table already exists
$byUpdatingTables = false;
if(strcasecmp($GLOBALS['wpdb']->get_var("SHOW TABLES LIKE '$table_name'"), $table_name) != 0)
{
_vPIP_DBCreateTables();
$byUpdatingTables = true;
}
else if(get_option("vpip_db_version") != "1.21") // Update to 1.21
{
_vPIP_DBUpdateTo(get_option("vpip_db_version"), "1.21");
$byUpdatingTables = true;
}
if (!$byUpdatingTables)
{
//echo "
\n";
$aVideoFormats = _vPIP_GetTableRows(TBL_VIDEOFORMATS, NULL, "displayOrder");
if ($GLOBALS['post']->ID)
{
$oValues = _vPIP_GetVideoFormat(-1, $GLOBALS['post']->ID);
}
else
$oValues = NULL;
echo "
vPIP tables updated, please refresh page...
's are added to each single post page that specify the poster image and
// the thumbnail image URLs. This is useful for when other software wants to link to us (in an automated way).
function _vPIP__single_post_links()
{
//
// Only do this on a single post page.
//
if ( ! is_single() ) {
return;
}
//
// Make sure the "Video API" is available to us.
//
global $post;
if ( !isset($post) || FALSE === $post || !is_object($post) ) {
return;
}
if ( !isset($post->video) || FALSE === $post->video || !is_object($post->video) ) {
return;
}
//
// Check to see if we have a "poster" or a "thumbnail"
//
$has_poster = ( isset($post->video->poster->href) && FALSE !== $post->video->poster->href && is_string($post->video->poster->href) );
$has_thumbnail = ( isset($post->video->thumbnail->href) && FALSE !== $post->video->thumbnail->href && is_string($post->video->thumbnail->href) );
//
// Render and output.
//
if ($has_poster) {
echo "
video->poster->href) . "\" />
";
}
if ($has_thumbnail) {
echo "
video->thumbnail->href) . "\" />
";
}
}
//-------------------------------------------------------------------------------------------------------------------------//
if (function_exists('add_action'))
{
add_action('wp_head', 'add_vpip_js');
add_action('admin_menu', '_vPIP_AddOptionsPage');
add_action("simple_edit_form","_vPIP_Write");
add_action("edit_form_advanced","_vPIP_Write");
add_action("edit_page_form","_vPIP_Write");
//add_action("publish_post","_vPIP_Publish");
add_action("edit_post","_vPIP_Post");
//add_action("save_post","_vPIP_Post");
add_action("delete_post","_vPIP_PostDelete");
add_action('activate_vPIP/vPIP.php', '_vPIP_CreateTables');
add_action('wp_head', '_vPIP__single_post_links');
}
if (function_exists('add_filter'))
{
add_filter('the_content', '_vPIP_Content_Process');
add_filter('the_posts', '_vPIP__the_posts');
}
function _vPIP_DBCreateTables()
{
//Table: MediaDefault
// ------------
// Contains the global default for vPIP Media Entry data.
// Available in Options menu
$table_name = TBL_MEDIADEFAULT;
$byNewTable = false;
$byUpdateTable = false;
//Check if table already exists
if(strcasecmp($GLOBALS['wpdb']->get_var("SHOW TABLES LIKE '$table_name'"), $table_name) != 0)
{
$byNewTable = true;
}
// mediaName = Flash/QuickTime/WindowsMedia
// mediaCall =
";
}
if ($vPIPMediaEntryData->isVisible != 1)
$aFormats[0] = "";
}
if ($vPIPMediaEntryData->isActive == 1)
{
// Insert class="vpip-vs-mediatitle"
$iPos = strpos($mediaCall, ">");
$mediaCall = substr($mediaCall, 0, $iPos) . " class=\"vpip-vs-mediatitle\" " . substr($mediaCall, $iPos);
if ($vPIPMediaEntryData->isVisible == 1)
{
$aFormats[$vPIPMediaEntryData->displayOrder] = $mediaCall . $oFormat->mediaName . "";
}
else {
$aFormats[$vPIPMediaEntryData->displayOrder] = "";
}
if ($iHighestOrder < $vPIPMediaEntryData->displayOrder)
$iHighestOrder = $vPIPMediaEntryData->displayOrder;
}
}
else if ($vPIPMediaEntryData->offerEmbedCode == 1 && $nFlashID > -1 &&
$vPIPMediaEntryData->videoFormats_ID == $nFlashID)
{
//Embed Code data
$offerEmbedCode = $vPIPMediaEntryData->offerEmbedCode;
$embedCodeBtnTitle = $vPIPMediaEntryData->embedCodeBtnTitle;
$embedCodeDefault = $vPIPMediaEntryData->embedCodeDefault;
$embedCodeInThickBox = $vPIPMediaEntryData->embedCodeInThickBox;
$embedCodeThickBoxTitle = $vPIPMediaEntryData->embedCodeThickBoxTitle;
}
}
} // foreach($avPIPMediaEntryData as $vPIPMediaEntryData)
//If img tag not set yet, do it
if ($iPos = strpos($aFormats[0], "~image~"))
{
if (strlen($sImage) > 0)
$aFormats[0] = substr($aFormats[0], 0, $iPos-1) . $sImage . substr($aFormats[0], $iPos+7);
else
$aFormats[0] = "";
}
}
$hvlogStyle = "";
$formatsULStyle = "";
$formatLIStyle = "";
$formatsSep = "";
//FIXME: $embedCodeStyled needs to be renamed and to refer to styling the entire Media Entry area:
if ($embedCodeStyled)
{
$hvlogStyle = "style=\"text-align: center\"";
$formatsULStyle = "style=\"display: inline; margin: 0; padding: 0;\"";
$formatLIStyle = "style=\"display: inline; background: none; margin: 0; padding: 0;\"";
$formatsSep = " | ";
}
$sReturn = "