/** * Function creates new partner, saves all the required data to it, and copies objects & filesyncs of template content to its ID. * @param string $partner_name * @param string $contact * @param string $email * @param CommercialUseType $ID_is_for * @param string $SDK_terms_agreement * @param string $description * @param string $website_url * @param string $password * @param Partner $partner * @param int $templatePartnerId * @return Partner */ private function createNewPartner($partner_name, $contact, $email, $ID_is_for, $SDK_terms_agreement, $description, $website_url, $password = null, $newPartner = null, $templatePartnerId = null) { $secret = md5($this->str_makerand(5, 10, true, false, true)); $admin_secret = md5($this->str_makerand(5, 10, true, false, true)); if (!$newPartner) { $newPartner = new Partner(); } if ($partner_name) { $newPartner->setPartnerName($partner_name); } $newPartner->setAdminSecret($admin_secret); $newPartner->setSecret($secret); $newPartner->setAdminName($contact); $newPartner->setAdminEmail($email); $newPartner->setUrl1($website_url); if ($ID_is_for === "commercial_use" || $ID_is_for === CommercialUseType::COMMERCIAL_USE) { $newPartner->setCommercialUse(true); } else { //($ID_is_for == "non-commercial_use") || $ID_is_for === CommercialUseType::NON_COMMERCIAL_USE) $newPartner->setCommercialUse(false); } $newPartner->setDescription($description); $newPartner->setKsMaxExpiryInSeconds(86400); $newPartner->setModerateContent(false); $newPartner->setNotify(false); $newPartner->setAppearInSearch(mySearchUtils::DISPLAY_IN_SEARCH_PARTNER_ONLY); $newPartner->setIsFirstLogin(true); /* fix drupal5 module partner type */ //var_dump($description); if ($this->partnerParentId) { // this is a child partner of some VAR/partner GROUP $newPartner->setPartnerParentId($this->partnerParentId); $newPartner->setMonitorUsage(PartnerFreeTrialType::NO_LIMIT); $parentPartner = PartnerPeer::retrieveByPK($this->partnerParentId); $newPartner->setPartnerPackage($parentPartner->getPartnerPackage()); } if (substr_count($description, 'Drupal module|')) { $newPartner->setType(102); } $newPartner->save(); // if name was left empty - which should not happen - use id as name if (!$partner_name) { $partner_name = $newPartner->getId(); } $newPartner->setPartnerName($partner_name); $newPartner->setPrefix($newPartner->getId()); $newPartner->setPartnerAlias(md5($newPartner->getId() . 'kaltura partner')); // set default conversion profile for trial accounts if ($newPartner->getType() == Partner::PARTNER_TYPE_KMC) { $newPartner->setDefConversionProfileType(ConversionProfile::DEFAULT_TRIAL_COVERSION_PROFILE_TYPE); } $newPartner->save(); // remove the default criteria from all peers and recreate it with the right partner id myPartnerUtils::resetAllFilters(); myPartnerUtils::applyPartnerFilters($newPartner->getId(), true); $partner_id = $newPartner->getId(); widget::createDefaultWidgetForPartner($partner_id, $this->createNewSubPartner($newPartner)); $fromPartner = PartnerPeer::retrieveByPK($templatePartnerId ? $templatePartnerId : kConf::get("template_partner_id")); if (!$fromPartner) { KalturaLog::log("Template content partner was not found!"); } else { $newPartner->setI18nTemplatePartnerId($templatePartnerId); myPartnerUtils::copyTemplateContent($fromPartner, $newPartner, true); } if ($newPartner->getType() == Partner::PARTNER_TYPE_WORDPRESS) { kPermissionManager::setPs2Permission($newPartner); } $newPartner->setKmcVersion(kConf::get('new_partner_kmc_version')); $newPartner->save(); return $newPartner; }
private function createNewPartner($parnter_name, $contact, $email, $ID_is_for, $SDK_terms_agreement, $description, $website_url, $password = null, $partner = null) { $secret = md5($this->str_makerand(5, 10, true, false, true)); $admin_secret = md5($this->str_makerand(5, 10, true, false, true)); $newPartner = new Partner(); if ($parnter_name) { $newPartner->setPartnerName($parnter_name); } $newPartner->setAdminSecret($admin_secret); $newPartner->setSecret($secret); $newPartner->setAdminName($contact); $newPartner->setAdminEmail($email); $newPartner->setUrl1($website_url); if ($ID_is_for === "commercial_use" || $ID_is_for === CommercialUseType::COMMERCIAL_USE) { $newPartner->setCommercialUse(true); } else { //($ID_is_for == "non-commercial_use") || $ID_is_for === CommercialUseType::NON_COMMERCIAL_USE) $newPartner->setCommercialUse(false); } $newPartner->setDescription($description); $newPartner->setKsMaxExpiryInSeconds(86400); $newPartner->setModerateContent(false); $newPartner->setNotify(false); $newPartner->setAppearInSearch(mySearchUtils::DISPLAY_IN_SEARCH_KALTURA_NETWORK); $newPartner->setIsFirstLogin(true); /* fix drupal5 module partner type */ //var_dump($description); if ($this->partnerParentId) { // this is a child partner of some VAR/partner GROUP $newPartner->setPartnerParentId($this->partnerParentId); $newPartner->setMonitorUsage(0); } if (substr_count($description, 'Drupal module|')) { $newPartner->setType(102); if ($partner) { $partner->setType(102); } } if ($partner) { if ($partner->getType()) { $newPartner->setType($partner->getType()); } if ($partner->getContentCategories()) { $newPartner->setContentCategories($partner->getContentCategories()); } if ($partner->getPhone()) { $newPartner->setPhone($partner->getPhone()); } if ($partner->getDescribeYourself()) { $newPartner->setDescribeYourself($partner->getDescribeYourself()); } if ($partner->getAdultContent()) { $newPartner->setAdultContent($partner->getAdultContent()); } if ($partner->getDefConversionProfileType()) { $newPartner->setDefConversionProfileType($partner->getDefConversionProfileType()); } // new fields of registration form if ($partner->getFirstName()) { $newPartner->setFirstName($partner->getFirstName()); } if ($partner->getLastName()) { $newPartner->setLastName($partner->getLastName()); } if ($partner->getCountry()) { $newPartner->setCountry($partner->getCountry()); } if ($partner->getState()) { $newPartner->setState($partner->getState()); } if ($partner->getAdditionalParams() && is_array($partner->getAdditionalParams()) && count($partner->getAdditionalParams())) { $newPartner->setAdditionalParams($partner->getAdditionalParams()); } } $newPartner->save(); // if name was left empty - which should not happen - use id as name if (!$parnter_name) { $parnter_name = $newPartner->getId(); } $newPartner->setPartnerName($parnter_name); $newPartner->setPrefix($newPartner->getId()); $newPartner->setPartnerAlias(md5($newPartner->getId() . 'kaltura partner')); // set default conversion profile for trial accounts if ($newPartner->getType() == Partner::PARTNER_TYPE_KMC) { $newPartner->setDefConversionProfileType(ConversionProfile::DEFAULT_TRIAL_COVERSION_PROFILE_TYPE); } $newPartner->save(); $partner_id = $newPartner->getId(); widget::createDefaultWidgetForPartner($partner_id, $this->createNewSubPartner($newPartner)); $fromPartner = PartnerPeer::retrieveByPK(kConf::get("template_partner_id")); if (!$fromPartner) { KalturaLog::log("Template content partner was not found!"); } else { myPartnerUtils::copyTemplateContent($fromPartner, $newPartner, true); } $newPartner->setKmcVersion(kConf::get('new_partner_kmc_version')); $newPartner->save(); return $newPartner; }
} $key = ""; for ($i = 0; $i < $length; $i++) { $key .= $charset[mt_rand(0, strlen($charset) - 1)]; } return md5($key); } $partner = new Partner(); $partner->setId(-3); $partner->setPartnerName('Hosted Pages'); $partner->setPartnerAlias('Hosted Pages'); $partner->setDescription('Build-in partner - used for hosted pages'); $partner->setSecret(generateSecret()); $partner->setAdminSecret(generateSecret()); $partner->setMaxNumberOfHitsPerDay(-1); $partner->setAppearInSearch(mySearchUtils::DISPLAY_IN_SEARCH_NONE); $partner->setInvalidLoginCount(0); $partner->setKsMaxExpiryInSeconds(86400); $partner->setCreateUserOnDemand(false); $partner->setCommercialUse(false); $partner->setModerateContent(false); $partner->setNotify(false); $partner->setIsFirstLogin(true); $partner->setAdminLoginUsersQuota(0); $partner->setStatus(Partner::PARTNER_STATUS_ACTIVE); $partner->setType(PartnerGroupType::PUBLISHER); $criteria = $partner->buildCriteria(); $criteria->setDbName(PartnerPeer::DATABASE_NAME); $con = Propel::getConnection(PartnerPeer::DATABASE_NAME, Propel::CONNECTION_WRITE); $id = BasePeer::doInsert($criteria, $con); echo "Created partner [{$id}]\n";