serviceUrl = KalturaHelpers::getServerUrl();
return $config;
}
public static function getServerUrl()
{
$url = KalturaHelpers::getOption('server_url');
// remove the last slash from the url
if (substr($url, strlen($url) - 1, 1) == '/')
$url = substr($url, 0, strlen($url) - 1);
return $url;
}
public static function getCdnUrl()
{
$url = KalturaHelpers::getOption('cdn_url');
// remove the last slash from the url
if (substr($url, strlen($url) - 1, 1) == '/')
$url = substr($url, 0, strlen($url) - 1);
return $url;
}
public static function getLoggedUserId()
{
global $user_ID, $user_login;
if (!$user_ID && !$user_login)
return KalturaHelpers::getOption('anonymous_user_id');
elseif (get_option('kaltura_user_identifier', 'user_login') == 'user_id')
return $user_ID;
else
return $user_login;
}
public static function getPluginUrl()
{
return self::pluginUrl('');
}
public static function getPluginVersion()
{
$pluginFileData = file_get_contents(KALTURA_PLUGIN_FILE);
if (preg_match("|Version:(.*)|i", $pluginFileData, $version))
$version = trim($version[1]);
else
$version = '';
return $version;
}
public static function generateTabUrl($params)
{
$query = $_SERVER["REQUEST_URI"];
foreach ($_GET as $k => $v)
$query = add_query_arg($k, false, $query);
$query = add_query_arg($params, $query);
return $query;
}
public static function getRequestUrl()
{
return $_SERVER["REQUEST_URI"];
}
public static function getRequestPostParam($param, $default = null)
{
return isset($_POST[$param]) ? $_POST[$param] : $default;
}
public static function getRequestParam($param, $default = null)
{
return isset($_GET[$param]) ? $_GET[$param] : $default;
}
public static function protectView($view)
{
if (!isset($view->allowViewRendering) || $view->allowViewRendering !== true)
wp_die('Access denied');
}
public static function getContributionWizardFlashVars($ks, $entryId = null)
{
$flashVars = array();
$flashVars["userId"] = KalturaHelpers::getLoggedUserId();
$flashVars["sessionId"] = $ks;
$flashVars["partnerId"] = KalturaHelpers::getOption("kaltura_partner_id");
$flashVars["subPartnerId"] = KalturaHelpers::getOption("kaltura_partner_id") * 100;
$flashVars["afterAddentry"] = "onContributionWizardAfterAddEntry";
$flashVars["close"] = "onContributionWizardClose";
$flashVars["termsOfUse"] = "http://corp.kaltura.com/static/tandc";
return $flashVars;
}
public static function getKalturaPlayerFlashVars($uiConfId = null, $ks = null, $entryId = null)
{
$flashVars = array();
$flashVars["partnerId"] = KalturaHelpers::getOption("kaltura_partner_id");
$flashVars["subpId"] = KalturaHelpers::getOption("kaltura_partner_id") * 100;
$flashVars["uid"] = KalturaHelpers::getLoggedUserId();
if ($ks)
$flashVars["ks"] = $ks;
if ($uiConfId)
$flashVars["uiConfId"] = $ks;
if ($entryId)
$flashVars["entryId"] = $entryId;
return $flashVars;
}
public static function flashVarsToString($flashVars = array())
{
$flashVarsStr = "";
foreach ($flashVars as $key => $value)
{
$flashVarsStr .= ($key . "=" . $value . "&");
}
return substr($flashVarsStr, 0, strlen($flashVarsStr) - 1);
}
public static function getSwfUrlForWidget($widgetId = null, $uiConfId = null)
{
if (!$widgetId)
$widgetId = "_" . KalturaHelpers::getOption("kaltura_partner_id");
$url = KalturaHelpers::getServerUrl() . "/index.php/kwidget/wid/" . $widgetId;
if ($uiConfId)
$url .= ("/ui_conf_id/" . $uiConfId);
return $url;
}
public static function enqueueHtml5Lib($uiConfId)
{
$html5LibUrl = ''.
self::getServerUrl().
'/p/'.KalturaHelpers::getOption("kaltura_partner_id").
'/sp/'.KalturaHelpers::getOption("kaltura_partner_id").'00'.
'/embedIframeJs'.
'/uiconf_id/'.$uiConfId.
'/partner_id/'.KalturaHelpers::getOption("kaltura_partner_id");
wp_register_script('kaltura-html5lib-'.$uiConfId, $html5LibUrl);
wp_enqueue_script('kaltura-html5lib-'.$uiConfId);
}
public static function getContributionWizardUrl($uiConfId)
{
return KalturaHelpers::getServerUrl() . "/kcw/ui_conf_id/" . $uiConfId;
}
public static function anonymousCommentsAllowed()
{
return KalturaHelpers::getOption("kaltura_allow_anonymous_comments", true) == true ? true : false;
}
public static function videoCommentsEnabled()
{
return KalturaHelpers::getOption("kaltura_enable_video_comments", true) == true ? true : false;
}
public static function getThumbnailUrl($widgetId = null, $entryId = null, $width = 240, $height = 180, $version = 100000)
{
$config = KalturaHelpers::getKalturaConfiguration();
$url = KalturaHelpers::getCdnUrl();
$url .= "/p/" . KalturaHelpers::getOption("kaltura_partner_id");
$url .= "/sp/" . KalturaHelpers::getOption("kaltura_partner_id") * 100;
$url .= "/thumbnail";
if ($widgetId)
$url .= "/widget_id/" . $widgetId;
if ($entryId)
$url .= "/entry_id/" . $entryId;
$url .= "/width/" . $width;
$url .= "/height/" . $height;
$url .= "/type/2";
$url .= "/bgcolor/000000";
if ($version !== null)
$url .= "/version/" . $version;
return $url;
}
public static function getCommentPlaceholderThumbnailUrl($widgetId = null, $entryId = null, $width = 240, $height = 180, $version = 100000)
{
$url = KalturaHelpers::getThumbnailUrl($widgetId, $entryId, $width, $height, $version);
$url .= "/crop_provider/wordpress_comment_placeholder";
return $url;
}
public static function compareWPVersion($compareVersion, $operator)
{
global $wp_version;
return version_compare($wp_version, $compareVersion, $operator);
}
public static function compareKalturaVersion($compareVersion, $operator)
{
$kversion = self::getPluginVersion();
return version_compare($kversion, $compareVersion, $operator);
}
public static function addWPVersionJS()
{
global $wp_version;
echo("\n");
}
public static function calculatePlayerHeight($uiConfId, $width, $playerRatio = '4:3')
{
$kmodel = KalturaModel::getInstance();
$player = $kmodel->getPlayerUiConf($uiConfId);
$spacer = $player->height - ($player->width / 4) * 3; // assume the width and height saved in kaltura is 4/3
if ($playerRatio == '16:9')
$height = ($width / 16) * 9 + $spacer;
else
$height = ($width / 4) * 3 + $spacer;
return (int)$height;
}
public static function runKalturaShortcode($content, $callback)
{
global $shortcode_tags;
// we will backup the shortcode array, and run only our shortcode
$shortcode_tags_backup = $shortcode_tags;
add_shortcode('kaltura-widget', $callback);
$content = do_shortcode($content);
// now we can restore the original shortcode list
$shortcode_tags = $shortcode_tags_backup;
}
public static function dieWithConnectionErrorMsg($errorDesc = '')
{
echo '
Your connection has failed to reach the Kaltura servers. Please check if your web host blocks outgoing connections and then retry. (' . $errorDesc . ')
';
die();
}
public static function getCloseLinkForModals()
{
return '' . __('Close') . '';
}
/**
* sometimes wordpress thinks our url is a permalink and sets 404 header, calling this function will force back to 200
*/
public static function force200Header()
{
status_header(200);
}
public static function getOption($name, $default = null)
{
$value = get_option($name, $default);
if (!is_null($value))
return $value;
$value = get_site_option($name, $default);
if (!is_null($value))
return $value;
if (is_null(self::$_settings))
self::$_settings = parse_ini_file(dirname(__FILE__).'/../settings.ini');
$settings = self::$_settings;
if (isset($settings[$name]))
return $settings[$name];
else
return $default;
}
public static function pluginUrl($uri = '')
{
// In addition to providing the produced url, also provide the $uri
return apply_filters('all_in_one_video_pack_plugin_url', plugins_url($uri, KALTURA_PLUGIN_FILE), $uri);
}
public static function jsUrl($uri = '')
{
$version = self::getPluginVersion();
return self::pluginUrl($uri.'?kversion='.$version);
}
public static function cssUrl($uri = '')
{
$version = self::getPluginVersion();
return self::pluginUrl($uri.'?kversion='.$version);
}
public static function getEmbedOptions($params)
{
// make sure that all keys exists in the array so we won't need to check with isset() for every array access
$arrayKeys = array('size', 'width', 'height', 'uiconfid', 'align', 'wid', 'entryid', 'style');
foreach($arrayKeys as $key)
{
if (!isset($params[$key]))
$params[$key] = null;
}
if ($params['size'] == 'comments') // comments player
{
$type = KalturaHelpers::getOption('kaltura_comments_player_type');
$params['uiconfid'] = $type;
$params['width'] = 250;
$params['height'] = 244;
}
else
{
// backward compatibility
switch($params['size'])
{
case 'large':
$params['width'] = 410;
$params['height'] = 364;
break;
case 'small':
$params['width'] = 250;
$params['height'] = 244;
break;
}
// if width is missing set some default
if (!$params['width'])
$params['width'] = 400;
// if height is missing, recalculate it
if (!$params['height'])
{
$params['height'] = KalturaHelpers::calculatePlayerHeight($params['uiconfid'], $params['width']);
}
}
// align
switch ($params['align'])
{
case 'r':
case 'right':
$align = 'right';
break;
case 'm':
case 'center':
$align = 'center';
break;
case 'l':
case 'left':
$align = 'left';
break;
default:
$align = '';
}
if ($_SERVER['SERVER_PORT'] == 443)
$protocol = 'https://';
else
$protocol = 'http://';
$flashVarsStr = '';
return array(
'flashVars' => $flashVarsStr,
'height' => $params['height'],
'width' => $params['width'],
'align' => $align,
'style' => $params['style'],
'wid' => $params['wid'],
'entryId' => $params['entryid'],
'uiconfid'=> $params['uiconfid'],
);
}
public static function getCountries()
{
return array(
'AF' => 'Afghanistan (افغانستان)',
'AX' => 'Aland Islands',
'AL' => 'Albania (Shqipëria)',
'DZ' => 'Algeria (الجزائر)',
'AS' => 'American Samoa',
'AD' => 'Andorra',
'AO' => 'Angola',
'AI' => 'Anguilla',
'AQ' => 'Antarctica',
'AG' => 'Antigua and Barbuda',
'AR' => 'Argentina',
'AM' => 'Armenia (Հայաստան)',
'AW' => 'Aruba',
'AU' => 'Australia',
'AT' => 'Austria (Österreich)',
'AZ' => 'Azerbaijan (Azərbaycan)',
'BS' => 'Bahamas',
'BH' => 'Bahrain (البحرين)',
'BD' => 'Bangladesh (বাংলাদেশ)',
'BB' => 'Barbados',
'BY' => 'Belarus (Белару́сь)',
'BE' => 'Belgium (België)',
'BZ' => 'Belize',
'BJ' => 'Benin (Bénin)',
'BM' => 'Bermuda',
'BT' => 'Bhutan (འབྲུག་ཡུལ)',
'BO' => 'Bolivia',
'BA' => 'Bosnia and Herzegovina (Bosna i Hercegovina)',
'BW' => 'Botswana',
'BV' => 'Bouvet Island',
'BR' => 'Brazil (Brasil)',
'IO' => 'British Indian Ocean Territory',
'BN' => 'Brunei (Brunei Darussalam)',
'BG' => 'Bulgaria (България)',
'BF' => 'Burkina Faso',
'BI' => 'Burundi (Uburundi)',
'KH' => 'Cambodia (Kampuchea)',
'CM' => 'Cameroon (Cameroun)',
'CA' => 'Canada',
'CV' => 'Cape Verde (Cabo Verde)',
'KY' => 'Cayman Islands',
'CF' => 'Central African Republic (République Centrafricaine)',
'TD' => 'Chad (Tchad)',
'CL' => 'Chile',
'CN' => 'China (中国)',
'CX' => 'Christmas Island',
'CC' => 'Cocos Islands',
'CO' => 'Colombia',
'KM' => 'Comoros (Comores)',
'CG' => 'Congo',
'CD' => 'Congo, Democratic Republic of the',
'CK' => 'Cook Islands',
'CR' => 'Costa Rica',
'CI' => 'Côte d'Ivoire',
'HR' => 'Croatia (Hrvatska)',
'CU' => 'Cuba',
'CY' => 'Cyprus (Κυπρος)',
'CZ' => 'Czech Republic (Česko)',
'DK' => 'Denmark (Danmark)',
'DJ' => 'Djibouti',
'DM' => 'Dominica',
'DO' => 'Dominican Republic',
'EC' => 'Ecuador',
'EG' => 'Egypt (مصر)',
'SV' => 'El Salvador',
'GQ' => 'Equatorial Guinea (Guinea Ecuatorial)',
'ER' => 'Eritrea (Ertra)',
'EE' => 'Estonia (Eesti)',
'ET' => 'Ethiopia (Ityop'iya)',
'FK' => 'Falkland Islands',
'FO' => 'Faroe Islands',
'FJ' => 'Fiji',
'FI' => 'Finland (Suomi)',
'FR' => 'France',
'GF' => 'French Guiana',
'PF' => 'French Polynesia',
'TF' => 'French Southern Territories',
'GA' => 'Gabon',
'GM' => 'Gambia',
'GE' => 'Georgia (საქართველო)',
'DE' => 'Germany (Deutschland)',
'GH' => 'Ghana',
'GI' => 'Gibraltar',
'GR' => 'Greece (Ελλάς)',
'GL' => 'Greenland',
'GD' => 'Grenada',
'GP' => 'Guadeloupe',
'GU' => 'Guam',
'GT' => 'Guatemala',
'GG' => 'Guernsey',
'GN' => 'Guinea (Guinée)',
'GW' => 'Guinea-Bissau (Guiné-Bissau)',
'GY' => 'Guyana',
'HT' => 'Haiti (Haïti)',
'HM' => 'Heard Island and McDonald Islands',
'HN' => 'Honduras',
'HK' => 'Hong Kong',
'HU' => 'Hungary (Magyarország)',
'IS' => 'Iceland (Ísland)',
'IN' => 'India',
'ID' => 'Indonesia',
'IR' => 'Iran (ایران)',
'IQ' => 'Iraq (العراق)',
'IE' => 'Ireland',
'IM' => 'Isle of Man',
'IL' => 'Israel (ישראל)',
'IT' => 'Italy (Italia)',
'JM' => 'Jamaica',
'JP' => 'Japan (日本)',
'JE' => 'Jersey',
'JO' => 'Jordan (الاردن)',
'KZ' => 'Kazakhstan (Қазақстан)',
'KE' => 'Kenya',
'KI' => 'Kiribati',
'KW' => 'Kuwait (الكويت)',
'KG' => 'Kyrgyzstan (Кыргызстан)',
'LA' => 'Laos (ນລາວ)',
'LV' => 'Latvia (Latvija)',
'LB' => 'Lebanon (لبنان)',
'LS' => 'Lesotho',
'LR' => 'Liberia',
'LY' => 'Libya (ليبيا)',
'LI' => 'Liechtenstein',
'LT' => 'Lithuania (Lietuva)',
'LU' => 'Luxembourg (Lëtzebuerg)',
'MO' => 'Macao',
'MK' => 'Macedonia (Македонија)',
'MG' => 'Madagascar (Madagasikara)',
'MW' => 'Malawi',
'MY' => 'Malaysia',
'MV' => 'Maldives',
'ML' => 'Mali',
'MT' => 'Malta',
'MH' => 'Marshall Islands',
'MQ' => 'Martinique',
'MR' => 'Mauritania (موريتانيا)',
'MU' => 'Mauritius',
'YT' => 'Mayotte',
'MX' => 'Mexico (México)',
'FM' => 'Micronesia',
'MD' => 'Moldova',
'MC' => 'Monaco',
'MN' => 'Mongolia (Монгол Улс)',
'ME' => 'Montenegro (Црна Гора)',
'MS' => 'Montserrat',
'MA' => 'Morocco (المغرب)',
'MZ' => 'Mozambique (Moçambique)',
'MM' => 'Myanmar (Burma)',
'NA' => 'Namibia',
'NR' => 'Nauru (Naoero)',
'NP' => 'Nepal (नेपाल)',
'NL' => 'Netherlands (Nederland)',
'AN' => 'Netherlands Antilles',
'NC' => 'New Caledonia',
'NZ' => 'New Zealand',
'NI' => 'Nicaragua',
'NE' => 'Niger',
'NG' => 'Nigeria',
'NU' => 'Niue',
'NF' => 'Norfolk Island',
'MP' => 'Northern Mariana Islands',
'KP' => 'North Korea (조선)',
'NO' => 'Norway (Norge)',
'OM' => 'Oman (عمان)',
'PK' => 'Pakistan (پاکستان)',
'PW' => 'Palau (Belau)',
'PS' => 'Palestinian Territories',
'PA' => 'Panama (Panamá)',
'PG' => 'Papua New Guinea',
'PY' => 'Paraguay',
'PE' => 'Peru (Perú)',
'PH' => 'Philippines (Pilipinas)',
'PN' => 'Pitcairn',
'PL' => 'Poland (Polska)',
'PT' => 'Portugal',
'PR' => 'Puerto Rico',
'QA' => 'Qatar (قطر)',
'RE' => 'Reunion',
'RO' => 'Romania (România)',
'RU' => 'Russia (Россия)',
'RW' => 'Rwanda',
'SH' => 'Saint Helena',
'KN' => 'Saint Kitts and Nevis',
'LC' => 'Saint Lucia',
'PM' => 'Saint Pierre and Miquelon',
'VC' => 'Saint Vincent and the Grenadines',
'WS' => 'Samoa',
'SM' => 'San Marino',
'ST' => 'São Tomé and Príncipe',
'SA' => 'Saudi Arabia (المملكة العربية السعودية)',
'SN' => 'Senegal (Sénégal)',
'RS' => 'Serbia (Србија)',
'CS' => 'Serbia and Montenegro (Србија и Црна Гора)',
'SC' => 'Seychelles',
'SL' => 'Sierra Leone',
'SG' => 'Singapore (Singapura)',
'SK' => 'Slovakia (Slovensko)',
'SI' => 'Slovenia (Slovenija)',
'SB' => 'Solomon Islands',
'SO' => 'Somalia (Soomaaliya)',
'ZA' => 'South Africa',
'GS' => 'South Georgia and the South Sandwich Islands',
'KR' => 'South Korea (한국)',
'ES' => 'Spain (España)',
'LK' => 'Sri Lanka',
'SD' => 'Sudan (السودان)',
'SR' => 'Suriname',
'SJ' => 'Svalbard and Jan Mayen',
'SZ' => 'Swaziland',
'SE' => 'Sweden (Sverige)',
'CH' => 'Switzerland (Schweiz)',
'SY' => 'Syria (سوريا)',
'TW' => 'Taiwan (台灣)',
'TJ' => 'Tajikistan (Тоҷикистон)',
'TZ' => 'Tanzania',
'TH' => 'Thailand (ราชอาณาจักรไทย)',
'TL' => 'Timor-Leste',
'TG' => 'Togo',
'TK' => 'Tokelau',
'TO' => 'Tonga',
'TT' => 'Trinidad and Tobago',
'TN' => 'Tunisia (تونس)',
'TR' => 'Turkey (Türkiye)',
'TM' => 'Turkmenistan (Türkmenistan)',
'TC' => 'Turks and Caicos Islands',
'TV' => 'Tuvalu',
'UG' => 'Uganda',
'UA' => 'Ukraine (Україна)',
'AE' => 'United Arab Emirates (الإمارات العربيّة المتّحدة)',
'GB' => 'United Kingdom',
'US' => 'United States',
'UM' => 'United States minor outlying islands',
'UY' => 'Uruguay',
'UZ' => 'Uzbekistan (O'zbekiston)',
'VU' => 'Vanuatu',
'VA' => 'Vatican City (Città del Vaticano)',
'VE' => 'Venezuela',
'VN' => 'Vietnam (Việt Nam)',
'VG' => 'Virgin Islands, British',
'VI' => 'Virgin Islands, U.S.',
'WF' => 'Wallis and Futuna',
'EH' => 'Western Sahara (الصحراء الغربية)',
'YE' => 'Yemen (اليمن)',
'ZM' => 'Zambia',
'ZW' => 'Zimbabwe'
);
}
public static function getStates()
{
return array(
'AK' => 'AK',
'AL' => 'AL',
'AR' => 'AR',
'AZ' => 'AZ',
'CA' => 'CA',
'CO' => 'CO',
'CT' => 'CT',
'DE' => 'DE',
'FL' => 'FL',
'GA' => 'GA',
'HI' => 'HI',
'IA' => 'IA',
'ID' => 'ID',
'IL' => 'IL',
'IN' => 'IN',
'KS' => 'KS',
'KY' => 'KY',
'LA' => 'LA',
'MA' => 'MA',
'MD' => 'MD',
'ME' => 'ME',
'MI' => 'MI',
'MN' => 'MN',
'MO' => 'MO',
'MS' => 'MS',
'MT' => 'MT',
'NC' => 'NC',
'ND' => 'ND',
'NE' => 'NE',
'NH' => 'NH',
'NJ' => 'NJ',
'NM' => 'NM',
'NV' => 'NV',
'NY' => 'NY',
'OH' => 'OH',
'OK' => 'OK',
'OR' => 'OR',
'PA' => 'PA',
'RI' => 'RI',
'SC' => 'SC',
'SD' => 'SD',
'TN' => 'TN',
'TX' => 'TX',
'UT' => 'UT',
'VA' => 'VA',
'VT' => 'VT',
'WA' => 'WA',
'WI' => 'WI',
'WV' => 'WV',
'WY' => 'WY',
);
}
}