public function execute() { header('Access-Control-Allow-Origin:*'); $this->partner_id = $this->getP("partner_id"); $this->ks = $this->getP("ks"); $type = $this->getP("type"); $this->partner = PartnerPeer::retrieveByPK($this->partner_id); if (!$this->partner) { KExternalErrors::dieError(KExternalErrors::PARTNER_NOT_FOUND); } if (!$this->partner->validateApiAccessControl()) { KExternalErrors::dieError(KExternalErrors::SERVICE_ACCESS_CONTROL_RESTRICTED); } $this->templatePartnerId = $this->partner ? $this->partner->getTemplatePartnerId() : 0; $this->isKDP3 = $this->partner->getKmcVersion() != '1' ? true : false; // FIXME: validate the ks! $partnerUiconfs = kmcUtils::getPartnersUiconfs($this->partner_id, $type); $partner_uiconfs_array = array(); foreach ($partnerUiconfs as $uiconf) { $uiconf_array = array(); $uiconf_array["id"] = $uiconf->getId(); $uiconf_array["name"] = $uiconf->getName(); $uiconf_array["width"] = $uiconf->getWidth(); $uiconf_array["height"] = $uiconf->getHeight(); //$uiconf_array["swfUrlVersion"] = $uiconf->getSwfUrlVersion(); $uiconf_array["swf_version"] = "v" . $uiconf->getSwfUrlVersion(); $uiconf_array["html5Url"] = $uiconf->getHtml5Url(); $partner_uiconfs_array[] = $uiconf_array; } // default uiconf array $this->kmc_swf_version = kConf::get('kmc_version'); $kmcGeneralUiConf = array(); $kmcGeneralTemplateUiConf = array(); if (!PermissionPeer::isValidForPartner(PermissionName::FEATURE_HIDE_TEMPLATE_PARTNER_UICONFS, $this->partner->getId())) { $kmcGeneralUiConf = kmcUtils::getAllKMCUiconfs('kmc', $this->kmc_swf_version, $this->templatePartnerId); $kmcGeneralTemplateUiConf = kmcUtils::getAllKMCUiconfs('kmc', $this->kmc_swf_version, $this->templatePartnerId); } if ($type == 'player') { $content_uiconfs_previewembed = kmcUtils::find_confs_by_usage_tag($kmcGeneralTemplateUiConf, "kmc_previewembed", true, $kmcGeneralUiConf); } else { $content_uiconfs_previewembed = kmcUtils::find_confs_by_usage_tag($kmcGeneralTemplateUiConf, "kmc_previewembed_list", true, $kmcGeneralUiConf); } $default_uiconfs_array = array(); foreach ($content_uiconfs_previewembed as $uiconf) { $uiconf_array = array(); $uiconf_array["id"] = $uiconf->getId(); $uiconf_array["name"] = $uiconf->getName(); $uiconf_array["width"] = $uiconf->getWidth(); $uiconf_array["height"] = $uiconf->getHeight(); //$uiconf_array["swfUrlVersion"] = $uiconf->getSwfUrlVersion(); $uiconf_array["swf_version"] = "v" . $uiconf->getSwfUrlVersion(); $uiconf_array["html5Url"] = $uiconf->getHtml5Url(); $default_uiconfs_array[] = $uiconf_array; } $kdp508_uiconfs = array(); if ($type == 'player' && $this->partner->getEnable508Players()) { $kdp508_uiconfs = kmcUtils::getPlayerUiconfsByTag('kdp508'); } // Add HTML5 v2.0.0 Preview Player $v2_preview_players = array(); if ($type == 'player' && PermissionPeer::isValidForPartner(PermissionName::FEATURE_HTML5_V2_PLAYER_PREVIEW, $this->partner_id)) { $v2_preview_players = kmcUtils::getPlayerUiconfsByTag('html5_v2_preview'); } $merged_list = array(); if (count($default_uiconfs_array)) { foreach ($default_uiconfs_array as $uiconf) { $merged_list[] = $uiconf; } } if (count($kdp508_uiconfs)) { foreach ($kdp508_uiconfs as $uiconf) { $merged_list[] = $uiconf; } } if (count($v2_preview_players)) { foreach ($v2_preview_players as $uiconf) { $merged_list[] = $uiconf; } } if (count($partner_uiconfs_array)) { foreach ($partner_uiconfs_array as $uiconf) { $merged_list[] = $uiconf; } } return $this->renderText(json_encode($merged_list)); }
public function execute() { sfView::SUCCESS; /** check parameters and verify user is logged-in **/ $this->partner_id = $this->getP("pid"); $this->subp_id = $this->getP("subpid", (int) $this->partner_id * 100); $this->uid = $this->getP("uid"); $this->ks = $this->getP("kmcks"); if (!$this->ks) { // if kmcks from cookie doesn't exist, try ks from REQUEST $this->ks = $this->getP('ks'); } $this->screen_name = $this->getP("screen_name"); $this->email = $this->getP("email"); /** if no KS found, redirect to login page **/ if (!$this->ks) { $this->redirect("kmc/kmc"); die; } /** END - check parameters and verify user is logged-in **/ /** load partner from DB, and set templatePartnerId **/ $this->partner = $partner = null; $this->templatePartnerId = self::SYSTEM_DEFAULT_PARTNER; if ($this->partner_id !== NULL) { $this->partner = $partner = PartnerPeer::retrieveByPK($this->partner_id); kmcUtils::redirectPartnerToCorrectKmc($partner, $this->ks, $this->uid, $this->screen_name, $this->email, self::CURRENT_KMC_VERSION); $this->templatePartnerId = $this->partner ? $this->partner->getTemplatePartnerId() : self::SYSTEM_DEFAULT_PARTNER; } /** END - load partner from DB, and set templatePartnerId **/ /** set default flags **/ $this->allow_reports = false; $this->payingPartner = 'false'; $this->embed_code = ""; $this->enable_live_streaming = 'false'; $this->kmc_enable_custom_data = 'false'; $this->kdp508_players = array(); $this->first_login = false; $this->enable_vast = 'false'; /** END - set default flags **/ /** set values for template **/ $this->service_url = myPartnerUtils::getHost($this->partner_id); $this->host = str_replace("http://", "", $this->service_url); $this->cdn_url = myPartnerUtils::getCdnHost($this->partner_id); $this->cdn_host = str_replace("http://", "", $this->cdn_url); $this->rtmp_host = myPartnerUtils::getRtmpUrl($this->partner_id); $this->flash_dir = $this->cdn_url . myContentStorage::getFSFlashRootPath(); /** set embed_code value **/ if ($this->partner_id !== null) { $widget = widgetPeer::retrieveByPK("_" . $this->partner_id); if ($widget) { $this->embed_code = $widget->getWidgetHtml("kaltura_player"); $ui_conf = $widget->getuiConf(); } } /** END - set embed_code value **/ /** set payingPartner flag **/ if ($partner && $partner->getPartnerPackage() != PartnerPackages::PARTNER_PACKAGE_FREE) { $this->payingPartner = 'true'; } /** END - set payingPartner flag **/ /** set enable_live_streaming flag **/ if (kConf::get('kmc_content_enable_live_streaming') && $partner) { if ($partner->getLiveStreamEnabled()) { $this->enable_live_streaming = 'true'; } } /** END - set enable_live_streaming flag **/ /** set enable_live_streaming flag **/ if ($partner && $partner->getEnableVast()) { $this->enable_vast = 'true'; } /** END - set enable_live_streaming flag **/ /** set kmc_enable_custom_data flag **/ $defaultPlugins = kConf::get('default_plugins'); if (is_array($defaultPlugins) && in_array('MetadataPlugin', $defaultPlugins) && $partner) { if ($partner->getPluginEnabled(MetadataPlugin::PLUGIN_NAME) && $partner->getKmcVersion() == self::CURRENT_KMC_VERSION) { $this->kmc_enable_custom_data = 'true'; } } /** END - set kmc_enable_custom_data flag **/ /** set allow_reports flag **/ // 2009-08-27 is the date we added ON2 to KMC trial account // TODO - should be depracated if (strtotime($partner->getCreatedAt()) >= strtotime('2009-08-27') || $partner->getEnableAnalyticsTab()) { $this->allow_reports = true; } if ($partner->getEnableAnalyticsTab()) { $this->allow_reports = true; } // if the email is empty - it is an indication that the kaltura super user is logged in if (!$this->email) { $this->allow_reports = true; } /** END - set allow_reports flag **/ /** set first_login and jw_license flags **/ if ($partner) { $this->first_login = $partner->getIsFirstLogin(); if ($this->first_login === true) { $partner->setIsFirstLogin(false); $partner->save(); } $this->jw_license = $partner->getLicensedJWPlayer(); } /** END - set first_login and jw_license flags **/ /** partner-specific: change KDP version for partners working with auto-moderaion **/ // set content kdp version according to partner id $moderated_partners = array(31079, 28575, 32774); $this->content_kdp_version = 'v2.7.0'; if (in_array($this->partner_id, $moderated_partners)) { $this->content_kdp_version = 'v2.1.2.29057'; } /** END - partner-specific: change KDP version for partners working with auto-moderaion **/ /** applications versioning **/ $this->kmc_content_version = kConf::get('kmc_content_version'); $this->kmc_account_version = kConf::get('kmc_account_version'); $this->kmc_appstudio_version = kConf::get('kmc_appstudio_version'); $this->kmc_rna_version = kConf::get('kmc_rna_version'); $this->kmc_dashboard_version = kConf::get('kmc_dashboard_version'); /** END - applications versioning **/ /** uiconf listing work **/ /** fill $this->confs with all uiconf objects for all modules **/ $contentSystemUiConfs = kmcUtils::getAllKMCUiconfs('content', $this->kmc_content_version, self::SYSTEM_DEFAULT_PARTNER); $contentTemplateUiConfs = kmcUtils::getAllKMCUiconfs('content', $this->kmc_content_version, $this->templatePartnerId); //$this->confs = kmcUtils::getAllKMCUiconfs('content', $this->kmc_content_version, $this->templatePartnerId); $appstudioSystemUiConfs = kmcUtils::getAllKMCUiconfs('appstudio', $this->kmc_appstudio_version, self::SYSTEM_DEFAULT_PARTNER); $appstudioTemplateUiConfs = kmcUtils::getAllKMCUiconfs('appstudio', $this->kmc_appstudio_version, $this->templatePartnerId); //$this->confs = array_merge($this->confs, kmcUtils::getAllKMCUiconfs('appstudio', $this->kmc_appstudio_version, $this->templatePartnerId)); $reportsSystemUiConfs = kmcUtils::getAllKMCUiconfs('reports', $this->kmc_rna_version, self::SYSTEM_DEFAULT_PARTNER); $reportsTemplateUiConfs = kmcUtils::getAllKMCUiconfs('reports', $this->kmc_rna_version, $this->templatePartnerId); //$this->confs = array_merge($this->confs, kmcUtils::getAllKMCUiconfs('reports', $this->kmc_rna_version, $this->templatePartnerId)); /** for each module, create separated lists of its uiconf, for each need **/ /** content players: **/ $this->content_uiconfs_previewembed = kmcUtils::find_confs_by_usage_tag($contentTemplateUiConfs, "content_previewembed", true, $contentSystemUiConfs); $this->content_uiconfs_previewembed_list = kmcUtils::find_confs_by_usage_tag($contentTemplateUiConfs, "content_previewembed_list", true, $contentSystemUiConfs); $this->content_uiconfs_moderation = kmcUtils::find_confs_by_usage_tag($contentTemplateUiConfs, "content_moderation", false, $contentSystemUiConfs); $this->content_uiconfs_drilldown = kmcUtils::find_confs_by_usage_tag($contentTemplateUiConfs, "content_drilldown", false, $contentSystemUiConfs); $this->content_uiconfs_flavorpreview = kmcUtils::find_confs_by_usage_tag($contentTemplateUiConfs, "content_flavorpreview", false, $contentSystemUiConfs); $this->content_uiconfs_metadataview = kmcUtils::find_confs_by_usage_tag($contentTemplateUiConfs, "content_metadataview", false, $contentSystemUiConfs); /** content KCW,KSE,KAE **/ $this->content_uiconfs_upload = kmcUtils::find_confs_by_usage_tag($contentTemplateUiConfs, "content_upload", false, $contentSystemUiConfs); $this->simple_editor = kmcUtils::find_confs_by_usage_tag($contentTemplateUiConfs, "content_simpleedit", false, $contentSystemUiConfs); $this->advanced_editor = kmcUtils::find_confs_by_usage_tag($contentTemplateUiConfs, "content_advanceedit", false, $contentSystemUiConfs); /** appStudio templates uiconf **/ $this->appstudio_uiconfs_templates = kmcUtils::find_confs_by_usage_tag($appstudioTemplateUiConfs, "appstudio_templates", false, $appstudioSystemUiConfs); /** reports drill-down player **/ $this->reports_uiconfs_drilldown = kmcUtils::find_confs_by_usage_tag($reportsTemplateUiConfs, "reports_drilldown", false, $reportsSystemUiConfs); /** silverlight uiconfs **/ $this->silverLightPlayerUiConfs = array(); $this->silverLightPlaylistUiConfs = array(); if ($partner->getKmcVersion() == self::CURRENT_KMC_VERSION && $partner->getEnableSilverLight()) { $this->silverLightPlayerUiConfs = kmcUtils::getSilverLightPlayerUiConfs('slp'); $this->silverLightPlaylistUiConfs = kmcUtils::getSilverLightPlayerUiConfs('sll'); } /** jw uiconfs **/ $this->jw_uiconfs_array = kmcUtils::getJWPlayerUIConfs(); $this->jw_uiconf_playlist = kmcUtils::getJWPlaylistUIConfs(); /** 508 uicinfs **/ if ($partner->getKmcVersion() == self::CURRENT_KMC_VERSION && $partner->getEnable508Players()) { $this->kdp508_players = kmcUtils::getKdp508PlayerUiconfs(); } /** partner's preview&embed uiconfs **/ $this->content_pne_partners_player = kmcUtils::getPartnersUiconfs($this->partner_id, 'player'); $this->content_pne_partners_playlist = kmcUtils::getPartnersUiconfs($this->partner_id, 'playlist'); /** appstudio: default entry and playlists **/ $this->appStudioExampleEntry = $partner->getAppStudioExampleEntry(); $appStudioExampleEntry = entryPeer::retrieveByPK($this->appStudioExampleEntry); if (!($appStudioExampleEntry && $appStudioExampleEntry->getDisplayInSearch() == mySearchUtils::DISPLAY_IN_SEARCH_KALTURA_NETWORK && $appStudioExampleEntry->getStatus() == entryStatus::READY && $appStudioExampleEntry->getType() == entryType::MEDIA_CLIP)) { $this->appStudioExampleEntry = "_KMCLOGO1"; } $this->appStudioExamplePlayList0 = $partner->getAppStudioExamplePlayList0(); $appStudioExamplePlayList0 = entryPeer::retrieveByPK($this->appStudioExamplePlayList0); if (!($appStudioExamplePlayList0 && $appStudioExamplePlayList0->getStatus() == entryStatus::READY && $appStudioExamplePlayList0->getType() == entryType::PLAYLIST)) { $this->appStudioExamplePlayList0 = "_KMCSPL1"; } $this->appStudioExamplePlayList1 = $partner->getAppStudioExamplePlayList1(); $appStudioExamplePlayList1 = entryPeer::retrieveByPK($this->appStudioExamplePlayList1); if (!($appStudioExamplePlayList1 && $appStudioExamplePlayList1->getStatus() == entryStatus::READY && $appStudioExamplePlayList1->getType() == entryType::PLAYLIST)) { $this->appStudioExamplePlayList1 = "_KMCSPL2"; } /** END - appstudio: default entry and playlists **/ /** END - uiconf listing work **/ /** get templateXmlUrl for whitelabeled partners **/ $this->appstudio_templatesXmlUrl = $this->getAppStudioTemplatePath(); }
public function execute() { $this->partner_id = $this->getP("partner_id"); $this->ks = $this->getP("ks"); $type = $this->getP("type"); $this->partner = PartnerPeer::retrieveByPK($this->partner_id); if (!$this->partner) { die; } $this->templatePartnerId = $this->partner ? $this->partner->getTemplatePartnerId() : 0; $this->isKDP3 = $this->partner->getKmcVersion() != '1' ? true : false; // FIXME: validate the ks! $partnerUiconfs = kmcUtils::getPartnersUiconfs($this->partner_id, $type); $partner_uiconfs_array = array(); foreach ($partnerUiconfs as $uiconf) { $uiconf_array = array(); $uiconf_array["id"] = $uiconf->getId(); $uiconf_array["name"] = $uiconf->getName(); $uiconf_array["width"] = $uiconf->getWidth(); $uiconf_array["height"] = $uiconf->getHeight(); $uiconf_array["swfUrlVersion"] = $uiconf->getSwfUrlVersion(); $uiconf_array["swf_version"] = "v" . $uiconf->getSwfUrlVersion(); $partner_uiconfs_array[] = $uiconf_array; } // default uiconf array $this->kmc_content_version = kConf::get('kmc_content_version'); $contentTemplateConfs = kmcUtils::getAllKMCUiconfs('content', $this->kmc_content_version, $this->templatePartnerId); $contentSystemConfs = kmcUtils::getAllKMCUiconfs('content', $this->kmc_content_version, 0); if ($type == 'player') { $silverLightTag = 'slp'; $content_uiconfs_previewembed = kmcUtils::find_confs_by_usage_tag($contentTemplateConfs, "content_previewembed", true, $contentSystemConfs); } else { $silverLightTag = 'sll'; $content_uiconfs_previewembed = kmcUtils::find_confs_by_usage_tag($contentTemplateConfs, "content_previewembed_list", true, $contentSystemConfs); } foreach ($content_uiconfs_previewembed as $uiconf) { $uiconf_array = array(); $uiconf_array["id"] = $uiconf->getId(); $uiconf_array["name"] = $uiconf->getName(); $uiconf_array["width"] = $uiconf->getWidth(); $uiconf_array["height"] = $uiconf->getHeight(); $uiconf_array["swfUrlVersion"] = $uiconf->getSwfUrlVersion(); $uiconf_array["swf_version"] = "v" . $uiconf->getSwfUrlVersion(); $default_uiconfs_array[] = $uiconf_array; } $silverlight_uiconfs = array(); if ($this->partner->getEnableSilverLight()) { $silverlight_uiconfs = kmcUtils::getSilverLightPlayerUiConfs($silverLightTag); } $kdp508_uiconfs = array(); if ($type == 'player' && $this->partner->getEnable508Players()) { $kdp508_uiconfs = kmcUtils::getKdp508PlayerUiconfs(); } $jw_confs = $type == 'player' ? kmcUtils::getJWPlayerUIConfs() : kmcUtils::getJWPlaylistUIConfs(); $merged_list = array(); if (count($default_uiconfs_array)) { foreach ($default_uiconfs_array as $uiconf) { $merged_list[] = $uiconf; } } if (count($kdp508_uiconfs)) { foreach ($kdp508_uiconfs as $uiconf) { $merged_list[] = $uiconf; } } if (count($silverlight_uiconfs)) { foreach ($silverlight_uiconfs as $uiconf) { $merged_list[] = $uiconf; } } if (count($partner_uiconfs_array)) { foreach ($partner_uiconfs_array as $uiconf) { $merged_list[] = $uiconf; } } if (count($jw_confs)) { foreach ($jw_confs as $uiconf) { $merged_list[] = $uiconf; } } return $this->renderText(json_encode($merged_list)); }