/** * * Populate the uiconf from the config * @param Zend_Config_Ini $widget * @param string $baseSwfUrl * @param string $swfName * @param int $objType * @param bool $disableUrlHashing */ public static function populateUiconfFromConfig($widget, $baseSwfUrl, $swfName, $objType, $disableUrlHashing) { $uiconf = new uiConf(); if ($widget->conf_file) { $confFileContents = uiConfDeployment::readConfFileFromPath($widget->conf_file); if (!$confFileContents) { KalturaLog::debug("Unable to read xml file from: {$widget->conf_file}"); } if ($disableUrlHashing) { $confFileContents = str_replace('<Plugin id="kalturaMix"', '<Plugin id="kalturaMix" disableUrlHashing="true" ', $confFileContents); } $uiconf->setConfFile($confFileContents); } if ($widget->config) { $uiconf->setConfig(@$widget->config); } else { if ($widget->config_file) { $configFileContents = uiConfDeployment::readConfFileFromPath($widget->config_file); if (!$configFileContents) { KalturaLog::debug("Unable to read json file from: {$widget->config_file}"); } $uiconf->setConfig($configFileContents); } } if ($uiconf->getConfFile() === FALSE && $uiconf->getConfig() === FALSE) { return FALSE; // conf file or config is a must, features is not. } if (isset($widget->features)) { $uiconf->setConfFileFeatures(uiConfDeployment::readConfFileFromPath($widget->features)); } if ($uiconf->getConfFileFeatures() === FALSE) { KalturaLog::debug("missing features conf file for uiconf {$widget->name}"); // conf file is a must, features is not. } //Set values to the ui conf $uiconf->setPartnerId(uiConfDeployment::$partnerId); $uiconf->setSubpId(uiConfDeployment::$subPartnerId); $uiconf->setCreationMode(uiConfDeployment::$creationMode); $uiconf->setUseCdn(uiConfDeployment::$useCdn); $uiconf->setObjType($objType); $uiconf->setName($widget->name); $uiconf->setSwfUrl($baseSwfUrl . $widget->version . '/' . $swfName); if ($widget->html5_version) { $uiconf->setHtml5Url("/html5/html5lib/" . $widget->html5_version . "/mwEmbedLoader.php"); } $uiconf->setTags(uiConfDeployment::$defaultTags . ', ' . uiConfDeployment::$baseTag . '_' . $widget->usage); $uiconf->setWidth(@$widget->width); $uiconf->setHeight(@$widget->height); $uiconf->setConfVars(@$widget->conf_vars); $uiconf->setDisplayInSearch(mySearchUtils::DISPLAY_IN_SEARCH_KALTURA_NETWORK); return $uiconf; }
public function execute() { $this->forceSystemAuthentication(); myDbHelper::$use_alternative_con = null; //myDbHelper::DB_HELPER_CONN_PROPEL2 $this->saved = false; $uiConfId = $this->getRequestParameter("id"); if ($uiConfId) { $uiConf = uiConfPeer::retrieveByPK($uiConfId); } else { $uiConf = new uiConf(); } if ($this->getRequest()->getMethodName() == "POST") { $uiConf->setPartnerId($this->getRequestParameter("partnerId")); $uiConf->setSubpId($uiConf->getPartnerId() * 100); $uiConf->setObjType($this->getRequestParameter("type")); $uiConf->setName($this->getRequestParameter("name")); $uiConf->setWidth($this->getRequestParameter("width")); $uiConf->setHeight($this->getRequestParameter("height")); $uiConf->setCreationMode($this->getRequestParameter("creationMode")); $uiConf->setSwfUrl($this->getRequestParameter("swfUrl")); $uiConf->setConfVars($this->getRequestParameter("confVars")); $useCdn = $this->getRequestParameter("useCdn"); $uiConf->setUseCdn($useCdn === "1" ? true : false); $uiConf->setDisplayInSearch($this->getRequestParameter("displayInSearch")); $uiConf->setConfVars($this->getRequestParameter("confVars")); $uiConf->setTags($this->getRequestParameter("tags")); /* files: */ if ($uiConf->getCreationMode() != uiConf::UI_CONF_CREATION_MODE_MANUAL) { $confFile = $this->getRequestParameter("uiconf_confFile"); $confFileFeatures = $this->getRequestParameter("uiconf_confFileFeatures"); if ($uiConf->getConfFile() != $confFile || $uiConf->getConfFileFeatures() != $confFileFeatures) { $uiConf->setConfFile($confFile); $uiConf->setConfFileFeatures($confFileFeatures); } } $uiConf->save(); $this->saved = true; } // so script won't die when uiconf is missing if (!$uiConf) { $uiConf = new uiConf(); } $partner = PartnerPeer::retrieveByPK($uiConf->getPartnerId()); $types = $uiConf->getUiConfTypeMap(); $c = new Criteria(); $c->add(widgetPeer::UI_CONF_ID, $uiConf->getId()); $c->setLimit(1000); $widgets = widgetPeer::doSelect($c); $widgetsPerPartner = array(); $this->tooMuchWidgets = false; if (count($widgets) == 1000) { $this->tooMuchWidgets = true; } else { if ($widgets) { foreach ($widgets as $widget) { if (!array_key_exists($widget->getPartnerId(), $widgetsPerPartner)) { $widgetsPerPartner[$widget->getPartnerId()] = 0; } $widgetsPerPartner[$widget->getPartnerId()]++; } } } // find the FileSync $fileSyncs = array(); $fileSyncs[] = array("key" => $uiConf->getSyncKey(uiConf::FILE_SYNC_UICONF_SUB_TYPE_DATA)); $fileSyncs[] = array("key" => $uiConf->getSyncKey(uiConf::FILE_SYNC_UICONF_SUB_TYPE_FEATURES)); foreach ($fileSyncs as &$fileSync) { $fileSync["fileSyncs"] = FileSyncPeer::retrieveAllByFileSyncKey($fileSync["key"]); } $this->fileSyncs = $fileSyncs; $this->widgetsPerPartner = $widgetsPerPartner; $this->directoryMap = $uiConf->getDirectoryMap(); $this->swfNames = $uiConf->getSwfNames(); $this->types = $types; $this->uiConf = $uiConf; $this->partner = $partner; }
public static function populateUiconfFromConfig($confConfigObj, $baseSwfUrl, $swfName, $objType, $disableUrlHashing) { global $defaultTags, $baseTag, $confObj, $kcw_for_editors, $kdp_for_studio; $uiconf = new uiConf(); $confFileContents = uiConfDeployment::readConfFileFromPath($confConfigObj->conf_file); if ($disableUrlHashing) { $confFileContents = str_replace('<Plugin id="kalturaMix"', '<Plugin id="kalturaMix" disableUrlHashing="true" ', $confFileContents); } $uiconf->setConfFile($confFileContents); if ($uiconf->getConfFile() === FALSE) { return FALSE; // conf file is a must, features is not. } $replace_tag = ''; if ($objType == uiConf::UI_CONF_TYPE_ADVANCED_EDITOR) { $replace_tag = 'uIConfigId'; } if ($objType == uiConf::UI_CONF_TYPE_EDITOR) { $replace_tag = 'UIConfigId'; } if ($replace_tag) { if (isset($confConfigObj->kcw_identifier) && isset($kcw_for_editors[$confConfigObj->kcw_identifier])) { $pattern = '/<' . $replace_tag . '>(.*)<\\/' . $replace_tag . '>/'; $replacement = "<{$replace_tag}>{$kcw_for_editors[$confConfigObj->kcw_identifier]}</{$replace_tag}>"; $uiconf->setConfFile(preg_replace($pattern, $replacement, $uiconf->getConfFile())); } } if (isset($confConfigObj->usage) && $confConfigObj->usage == 'templates') { foreach ($kdp_for_studio as $identifier => $confId) { $uiconf->setConfFile(str_replace('@@' . $identifier . '@@', $confId, $uiconf->getConfFile())); } } $uiconf->setConfFileFeatures(uiConfDeployment::readConfFileFromPath($confConfigObj->conf_file, true)); if ($uiconf->getConfFileFeatures() === FALSE) { echo "missing features conf file for uiconf {$confConfigObj->name}" . PHP_EOL; } // conf file is a must, features is not. $uiconf->setPartnerId(0); $uiconf->setSubpId(0); $uiconf->setCreationMode(3); $uiconf->setUseCdn(1); $uiconf->setObjType($objType); $uiconf->setName($confConfigObj->name); $uiconf->setSwfUrl($baseSwfUrl . $confConfigObj->version . '/' . $swfName); $uiconf->setTags($defaultTags . ', ' . $baseTag . '_' . $confConfigObj->usage); $uiconf->setWidth(@$confConfigObj->width); $uiconf->setHeight(@$confConfigObj->height); $uiconf->setConfVars(@$confConfigObj->conf_vars); $uiconf->setDisplayInSearch(mySearchUtils::DISPLAY_IN_SEARCH_KALTURA_NETWORK); return $uiconf; }