function addPermission($permissionCfg) { // verify obligatory fields if (!$permissionCfg->name) { throw new Exception('Permission name must be set'); } if ((is_null($permissionCfg->partnerId) || $permissionCfg->partnerId === '') && (is_null($permissionCfg->partnerPackages) || $permissionCfg->partnerPackages === '')) { throw new Exception('Permission partner id or partner package must be set'); } if (isset($permissionCfg->partnerId) && $permissionCfg->partnerId != '') { $partnerIds = explode(",", $permissionCfg->partnerId); foreach ($partnerIds as $partnerId) { addPermissionToPartner($permissionCfg, $partnerId); } } if (isset($permissionCfg->partnerPackages) && $permissionCfg->partnerPackages != '') { $countLimitEachLoop = 100; $offset = $countLimitEachLoop; $c = new Criteria(); $c->add(PartnerPeer::ID, 0, Criteria::GREATER_THAN); $c->add(PartnerPeer::PARTNER_PACKAGE, explode(',', $permissionCfg->partnerPackages), Criteria::IN); $c->setLimit($countLimitEachLoop); $partners = PartnerPeer::doSelect($c); while (count($partners)) { foreach ($partners as $partner) { addPermissionToPartner($permissionCfg, $partner->getId()); } $c->setOffset($offset); PartnerPeer::clearInstancePool(); $partners = PartnerPeer::doSelect($c); $offset += $countLimitEachLoop; sleep(1); } } }
public function myBatchPartnerUsage() { self::initDb(); $partners_exists = true; $start_pos = 0; $bulk_size = 500; while ($partners_exists) { $c = new Criteria(); // get only free partners $c->addAnd(PartnerPeer::PARTNER_PACKAGE, 1); $c->addAnd(PartnerPeer::MONITOR_USAGE, 1); $c->setOffset($start_pos); $c->setLimit($bulk_size); $partners = PartnerPeer::doSelect($c); if (!$partners) { TRACE("No more partners. offset: {$start_pos} , limit: {$bulk_size} ."); $partners_exists = false; } else { TRACE("Looping " . ($start_pos + $bulk_size - 1) . " partners, offset: {$start_pos} ."); foreach ($partners as $partner) { myPartnerUtils::doPartnerUsage($partner, true); } } unset($partners); $start_pos += $bulk_size; } }
public function myBatchPartnerUsage($partnerId = null) { self::initDb(); $partners_exists = true; $start_pos = 0; $bulk_size = 500; while ($partners_exists) { $c = new Criteria(); if (!is_null($partnerId)) { $c->addAnd(PartnerPeer::ID, $partnerId); } $c->addAnd(PartnerPeer::PARTNER_PACKAGE, 1); // get only free partners $c->addAnd(PartnerPeer::MONITOR_USAGE, 1); $c->addAnd(PartnerPeer::STATUS, Partner::PARTNER_STATUS_DELETED, CRITERIA::NOT_EQUAL); $c->setOffset($start_pos); $c->setLimit($bulk_size); $partners = PartnerPeer::doSelect($c); if (!$partners) { KalturaLog::debug("No more partners. offset: {$start_pos} , limit: {$bulk_size} ."); $partners_exists = false; } else { KalturaLog::debug("Looping " . ($start_pos + $bulk_size - 1) . " partners, offset: {$start_pos} ."); foreach ($partners as $partner) { myPartnerUtils::doPartnerUsage($partner, true); } } unset($partners); PartnerPeer::clearInstancePool(); $start_pos += $bulk_size; } }
public static function partnerOptions($current_value) { $options[-1] = "All"; $c = new Criteria(); $partners = PartnerPeer::doSelect($c); foreach ($partners as $partner) { $options[$partner->getId()] = $partner->getPartnerName(); } return dashboardUtils::options($current_value, $options); }
public function execute() { $this->forceSystemAuthentication(); $hint = $this->getP("hint"); $search_partnerName = $this->getP("p_partnerName", true); $search_description = $this->getP("p_description", true); $search_url1 = $this->getP("p_url1", true); $search_adminName = $this->getP("p_adminName", true); $search_adminEmail = $this->getP("p_adminEmail", true); $limit = $this->getP("limit", 300); $offset = $this->getP("offset", 0); $text_to_search = "%{$hint}%"; $c = new Criteria(); $crit = $c->getNewCriterion(PartnerPeer::PARTNER_NAME, $text_to_search, Criteria::LIKE); if ($search_description) { $crit->addOr($c->getNewCriterion(PartnerPeer::DESCRIPTION, $text_to_search, Criteria::LIKE)); } if ($search_url1) { $crit->addOr($c->getNewCriterion(PartnerPeer::URL1, $text_to_search, Criteria::LIKE)); } if ($search_adminName) { $crit->addOr($c->getNewCriterion(PartnerPeer::ADMIN_NAME, $text_to_search, Criteria::LIKE)); } if ($search_adminEmail) { $crit->addOr($c->getNewCriterion(PartnerPeer::ADMIN_EMAIL, $text_to_search, Criteria::LIKE)); } $c->addAnd($crit); // $this->count = PartnerPeer::doCount( $c ); $c->setLimit($limit); if ($offset > 0) { $c->setOffset($offset); } if ($hint) { $this->partner_list = PartnerPeer::doSelect($c); } else { $this->partner_list = array(); } /* $arr = array(); foreach ( $this->partner_list as $partner ) { $p = array ( "id" => $partner->getId() , "partnerName" => $partner->getPartnerName() , "description" => $partner->getDescription() , "url1" => $partner->getUrl1() , "adminName" => $partner->getAdminName() , "adminEmail" => $partner->getAdminEmail() , ); $arr[] = $p; } */ $this->hint = $hint; // return $this->renderText(json_encode ( $arr ) ); }
function getPartners($lastPartner, $partnerLimitEachLoop) { PartnerPeer::clearInstancePool(); $c = new Criteria(); $c->add(PartnerPeer::ID, $lastPartner, Criteria::GREATER_THAN); $c->addAscendingOrderByColumn(PartnerPeer::ID); $c->setLimit($partnerLimitEachLoop); PartnerPeer::setUseCriteriaFilter(false); $partners = PartnerPeer::doSelect($c); PartnerPeer::setUseCriteriaFilter(true); return $partners; }
public function execute() { $email = @$_GET['email']; $screenName = @$_GET['screen_name']; $partner_id = $this->getP('partner_id', null); if ($partner_id === null) { header("Location: /index.php/kmc/varlogin"); die; } sfView::SUCCESS; $this->me = PartnerPeer::retrieveByPK($this->getP('partner_id', null)); if (!$this->me || $this->me->getPartnerGroupType() != PartnerGroupType::VAR_GROUP) { die('You are not an wuthorized VAR. If you are a VAR, Please contact us at support@kaltura.com'); } $ks = kSessionUtils::crackKs($this->getP('ks')); $user = $ks->user; $res = kSessionUtils::validateKSession2(kSessionUtils::REQUIED_TICKET_ADMIN, $partner_id, $user, $this->getP('ks'), $ks); if ($res != ks::OK) { header("Location: /index.php/kmc/varlogin"); die; } $c = new Criteria(); $c->addAnd(PartnerPeer::PARTNER_PARENT_ID, $this->me->getId()); // add extra filtering if required //$c->addAnd(PartnerPeer::STATUS, 1); $partners = PartnerPeer::doSelect($c); $this->partners = array(); $partner_id_param_name = 'pid'; $subpid_param_name = 'subpid'; if ($this->me->getKmcVersion() == 1) { $partner_id_param_name = 'partner_id'; $subpid_param_name = 'subp_id'; } $kmc2Query = '?' . $partner_id_param_name . '=' . $this->me->getId() . '&' . $subpid_param_name . '=' . $this->me->getId() * 100 . '&ks=' . $_GET['ks'] . '&email=' . $email . '&screen_name=' . $screenName; $this->varKmcUrl = 'http://' . kConf::get('www_host') . '/index.php/kmc/kmc' . $this->me->getKmcVersion() . $kmc2Query; foreach ($partners as $partner) { $ks = null; kSessionUtils::createKSessionNoValidations($partner->getId(), $partner->getAdminUserId(), $ks, 30 * 86400, 2, "", "*"); $adminUser_email = $partner->getAdminEmail(); $partner_id_param_name = 'pid'; $subpid_param_name = 'subpid'; if ($partner->getKmcVersion() == 1) { $partner_id_param_name = 'partner_id'; $subpid_param_name = 'subp_id'; } $kmc2Query = '?' . $partner_id_param_name . '=' . $partner->getId() . '&' . $subpid_param_name . '=' . $partner->getId() * 100 . '&ks=' . $ks . '&email=' . $adminUser_email . '&screen_name=varAdmin'; //$kmcLink = url_for('index.php/kmc/kmc2'.$kmc2Query); // $kmcLink = 'http://'.kConf::get('www_host').'/index.php/kmc/kmc'.$partner->getKmcVersion().$kmc2Query; $kmcLink = 'http://' . kConf::get('www_host') . "/index.php/kmc/extlogin?ks={$ks}&partner_id=" . $partner->getId(); $this->partners[$partner->getId()] = array('name' => $partner->getPartnerName(), 'kmcLink' => $kmcLink); } }
private function getPartnersArray($partnerIds) { $allowed = array(); $c = new Criteria(); $c->addAnd(PartnerPeer::ID, $partnerIds, Criteria::IN); $c->addAnd(PartnerPeer::STATUS, Partner::PARTNER_STATUS_ACTIVE, Criteria::EQUAL); PartnerPeer::setUseCriteriaFilter(false); $partners = PartnerPeer::doSelect($c); PartnerPeer::setUseCriteriaFilter(true); foreach ($partners as $partner) { if (!in_array($partner->getId(), array(PartnerPeer::GLOBAL_PARTNER, Partner::ADMIN_CONSOLE_PARTNER_ID, Partner::BATCH_PARTNER_ID))) { $allowed[] = array('id' => $partner->getId(), 'name' => $partner->getName()); } } return $allowed; }
public function execute() { $this->forceSystemAuthentication(); $start = microtime(true); $limit = 7; // new partners $c = new Criteria(); $this->partner_count = PartnerPeer::doCount($c); // count before setting the limit $c->setLimit($limit); $c->addDescendingOrderByColumn(PartnerPeer::CREATED_AT); $newest_partners = PartnerPeer::doSelect($c); // $new_partners_ids = self::getIds( $new_partners ); // fetch stats for these partners // TODO - if new - what statistics could it have ?? // fdb::populateObjects( $newest_partners , new PartnerStatsPeer() , "id" , "partnerStats" , false ,"partnerId"); $exclude = $this->getP("exclude"); if ($exclude) { self::addToExceludeList($exclude); } $exclude_list = self::getExceludeList(); // most viewed $c = new Criteria(); $c->add(PartnerStatsPeer::PARTNER_ID, $exclude_list, Criteria::NOT_IN); $c->setLimit($limit); $c->addDescendingOrderByColumn(PartnerStatsPeer::VIEWS); $stats_most_views = PartnerStatsPeer::doSelect($c); $most_views = self::getPartnerListFromStats($stats_most_views); // most entries $c = new Criteria(); $c->add(PartnerStatsPeer::PARTNER_ID, $exclude_list, Criteria::NOT_IN); $c->setLimit($limit); $c->addDescendingOrderByColumn(PartnerStatsPeer::ENTRIES); $stats_most_entries = PartnerStatsPeer::doSelect($c); $most_entries = self::getPartnerListFromStats($stats_most_entries); $end = microtime(true); $this->newest_partners = $newest_partners; $this->most_views = $most_views; $this->most_entries = $most_entries; $this->bench = $end - $start; }
public function doMonthlyAggregation($date) { // set the dates $dateParts = explode('-', $date); $currentDate = $dateParts; $currentDate[2] = $currentDate[2] - 3; if ($currentDate[2] <= 0) { $currentDate[1] = $currentDate[1] - 1; if ($currentDate[1] == 0) { $currentDate[1] = 12; $currentDate[0] = $currentDate[0] - 1; } // if $currentDate[2] before reduction = 3, $currentDate[2] after reduction = 0 // if $currentDate[2] = 0 and last_day_for_month return 30, $currentDate[2] = 30 // if $currentDate[2] before reduction = 2, $currentDate[2] after reduction = -1 // if $currentDate[2] = -1 and last_day_for_month return 30, $currentDate[2] = 30 + (-1) = 29 $currentDate[2] = $this->last_day_for_month($currentDate) + $currentDate[2]; } if ($currentDate[1] < 10 && strlen($currentDate[1]) == 1) { $currentDate[1] = '0' . $currentDate[1]; } if ($currentDate[2] < 10 && strlen($currentDate[2]) == 1) { $currentDate[2] = '0' . $currentDate[2]; } $firstOfMonth = $currentDate[0] . '-' . $currentDate[1] . '-01'; $currentDate = implode('-', $currentDate); KalturaLog::debug("calculating monthly agg. for date {$currentDate}"); // set start points $partners_exists = true; $start_pos = 0; $bulk_size = 500; // loop partners while ($partners_exists) { // pull bulk of partners $c = new Criteria(); $c->addAnd(PartnerPeer::CREATED_AT, $currentDate, Criteria::LESS_EQUAL); $c->setOffset($start_pos); $c->setLimit($bulk_size); $partners = PartnerPeer::doSelect($c); if (!$partners) { KalturaLog::debug("No more partners. offset: {$start_pos} , limit: {$bulk_size} ."); // set flag to exit while loop $partners_exists = false; } else { KalturaLog::debug("Looping " . ($start_pos + $bulk_size - 1) . " partners, offset: {$start_pos} ."); // loop bulk of partners foreach ($partners as $partner) { /* if ($partner->getId() != 593 && $partner->getId() != 395 && $partner->getId() != 387 ) continue; KalturaLog::debug("testing... not skiping partner ".$partner->getId()); */ // get row from partner_activity where date is 1st of current month and type is 6 $partnerActivityCriteria = new Criteria(); $partnerActivityCriteria->addAnd(PartnerActivityPeer::ACTIVITY_DATE, $firstOfMonth); $partnerActivityCriteria->addAnd(PartnerActivityPeer::ACTIVITY, PartnerActivity::PARTNER_ACTIVITY_MONTHLY_AGGREGATION); $partnerActivityCriteria->addAnd(PartnerActivityPeer::PARTNER_ID, $partner->getId()); $activityTotal = PartnerActivityPeer::doSelect($partnerActivityCriteria); if (count($activityTotal) > 1) { KalturaLog::debug("loaded more than one monthly aggregation row for partner. something went wrong. partner " . $partner->getID()); } elseif (count($activityTotal) == 0 || !$activityTotal) { // no rows for this month, either today is 1st of month or new partner. adding row for partner $partnerActivity = new PartnerActivity(); $partnerActivity->setActivity(PartnerActivity::PARTNER_ACTIVITY_MONTHLY_AGGREGATION); $partnerActivity->setPartnerId($partner->getId()); $partnerActivity->setActivityDate($firstOfMonth); $storageTotal = $this->getStorageAggregationFor($partner->getId(), $currentDate); $storageAddition = $storageTotal / date('t', strtotime($currentDate)); $partnerActivity->setAmount1($storageAddition); $partnerActivity->setAmount2($this->getTrafficFor($partner->getId(), $currentDate)); $total_amount = $partnerActivity->getAmount1() * 1024 + $partnerActivity->getAmount2(); $partnerActivity->setAmount($total_amount); $partnerActivity->save(); } else { $currentStorage = $activityTotal[0]->getAmount1(); $storageTotal = $this->getStorageAggregationFor($partner->getId(), $currentDate); $storageAddition = $storageTotal / date('t', strtotime($currentDate)); $activityTotal[0]->setAmount1($currentStorage + $storageAddition); $currentTraffic = $activityTotal[0]->getAmount2(); $trafficAddition = $this->getTrafficFor($partner->getId(), $currentDate); $activityTotal[0]->setAmount2($currentTraffic + $trafficAddition); // storage is saved in MB, traffic is saved in KB, normalizing storage for correct sum result $total_amount = $activityTotal[0]->getAmount1() * 1024 + $activityTotal[0]->getAmount2(); $activityTotal[0]->setAmount($total_amount); $activityTotal[0]->save(); } unset($partnerActivityCriteria); unset($activityTotal); } } unset($partners); $start_pos += $bulk_size; } }
/** * List partners by filter with paging support * Current implementation will only list the sub partners of the partner initiating the api call (using the current KS). * This action is only partially implemented to support listing sub partners of a VAR partner. * @action list * @param KalturaPartnerFilter $filter * @param KalturaFilterPager $pager * @return KalturaPartnerListResponse */ public function listAction(KalturaPartnerFilter $filter = null, KalturaFilterPager $pager = null) { if (is_null($filter)) { $filter = new KalturaPartnerFilter(); } if (is_null($pager)) { $pager = new KalturaFilterPager(); } $partnerFilter = new partnerFilter(); $filter->toObject($partnerFilter); $c = PartnerPeer::getDefaultCriteria(); $partnerFilter->attachToCriteria($c); $response = new KalturaPartnerListResponse(); $response->totalCount = PartnerPeer::doCount($c); $pager->attachToCriteria($c); $dbPartners = PartnerPeer::doSelect($c); $partnersArray = KalturaPartnerArray::fromPartnerArray($dbPartners); $response->objects = $partnersArray; return $response; }
echo "Usage:\n"; echo "\tphp " . __FILE__ . " {conversion profile type - media (1) or live (2)} {comma seperated asset params ids (no spaces)}\n"; exit(-1); } $additioalFlavorParamsObjects = array(); foreach ($additioalFlavorParamsItems as $additioalFlavorParamsItem) { /* @var $additioalFlavorParamsItem liveParams */ $additioalFlavorParamsObjects[$additioalFlavorParamsItem->getId()] = $additioalFlavorParamsItem; } $partnerCriteria = new Criteria(); $partnerCriterion = $partnerCriteria->getNewCriterion(PartnerPeer::PARTNER_PARENT_ID, 0); $partnerCriterion->addOr($partnerCriteria->getNewCriterion(PartnerPeer::PARTNER_PARENT_ID, null, Criteria::ISNULL)); $partnerCriteria->add($partnerCriterion); $partnerCriteria->add(PartnerPeer::PARTNER_GROUP_TYPE, PartnerGroupType::TEMPLATE); $partnerCriteria->add(PartnerPeer::STATUS, Partner::PARTNER_STATUS_ACTIVE); $partners = PartnerPeer::doSelect($partnerCriteria); foreach ($partners as $partner) { /* @var $partner Partner */ $profileCriteria = new Criteria(); $profileCriteria->add(conversionProfile2Peer::PARTNER_ID, $partner->getId()); $profileCriteria->add(conversionProfile2Peer::TYPE, $conversionProfileType); $profileCriteria->add(conversionProfile2Peer::STATUS, ConversionProfileStatus::DELETED, Criteria::NOT_EQUAL); $profiles = conversionProfile2Peer::doSelect($profileCriteria); foreach ($profiles as $profile) { /* @var $profile conversionProfile2 */ $flavorParamsConversionProfileIds = flavorParamsConversionProfilePeer::getFlavorIdsByProfileId($profile->getId()); foreach ($additioalFlavorParamsObjects as $additioalFlavorParamsId => $additioalFlavorParamsObject) { if (in_array($additioalFlavorParamsId, $flavorParamsConversionProfileIds)) { continue; } $flavorParamsConversionProfile = new flavorParamsConversionProfile();
public static function partnerOptions($current_value) { $options[-1] = "All"; $c = new Criteria(); $partners = PartnerPeer::doSelect($c); foreach ($partners as $partner) { $options[$partner->getId()] = $partner->getPartnerName(); } return dashboardUtils::options($current_value, $options); //array (-1 => "All" , 0 => "Kaltura" , 100 => "FB" , 5 => "MS Bands" , 10 => "BuddyLube|Mudvayne") ); }
$criteria->setLimit(min($page, $limit)); } else { $criteria->setLimit($page); } $partners = PartnerPeer::doSelect($criteria); $migrated = 0; while (count($partners) && (!$limit || $migrated < $limit)) { KalturaLog::info("Migrating [" . count($partners) . "] partners."); $migrated += count($partners); foreach ($partners as $partner) { /* @var $partner Partner */ $permission = PermissionPeer::getByNameAndPartner($permissionName, array($partner->getId(), 0)); if (!$permission) { $permission = new Permission(); $permission->setType(PermissionType::SPECIAL_FEATURE); $permission->setPartnerId($partner->getId()); } $permission->setStatus(PermissionStatus::ACTIVE); KalturaStatement::setDryRun($dryRun); $permission->save(); KalturaStatement::setDryRun(false); $startUpdatedAt = $partner->getUpdatedAt(null); $startPartnerId = $partner->getId(); KalturaLog::info("Migrated partner [" . $partner->getId() . "] with updated at [{$startUpdatedAt}: " . $partner->getUpdatedAt() . "]."); } kMemoryManager::clearMemory(); $nextCriteria = clone $criteria; $nextCriteria->add(PartnerPeer::ID, $startPartnerId, Criteria::GREATER_THAN); $partners = PartnerPeer::doSelect($nextCriteria); } KalturaLog::info("Done");
/** * Retrieve multiple objects by pkey. * * @param array $pks List of primary keys * @param PropelPDO $con the connection to use * @throws PropelException Any exceptions caught during processing will be * rethrown wrapped into a PropelException. */ public static function retrieveByPKs($pks, PropelPDO $con = null) { $objs = null; if (empty($pks)) { $objs = array(); } else { $criteria = new Criteria(PartnerPeer::DATABASE_NAME); $criteria->add(PartnerPeer::ID, $pks, Criteria::IN); $objs = PartnerPeer::doSelect($criteria, $con); } return $objs; }
/** * Return all partners with $file set as their SERVICE_CONFIG_ID * @param string $file file name * @return array of Partner objects */ function getPartners($file) { $file = substr($file, 3); PartnerPeer::clearInstancePool(); $c = new Criteria(); $c->addAnd(PartnerPeer::SERVICE_CONFIG_ID, $file, Criteria::EQUAL); $partners = PartnerPeer::doSelect($c); return $partners; }
public function execute() { ini_set("memory_limit", "64M"); $this->forceSystemAuthentication(); myDbHelper::$use_alternative_con = null; $partner_id = $this->getP("partner_id"); $search_text = $this->getP("search_text"); $command = $this->getP("command"); if ($command == "removeCache") { PartnerPeer::resetPartnerInCache($partner_id); return $this->renderText("Removed partner [{$partner_id}] from cache"); } elseif ($command == "save") { $partner = new Partner(); $pw = objectWrapperBase::getWrapperClass($partner, 0); $extra_fields = array("partnerName", "description", "adminName", "adminEmail", "useDefaultKshow", "conversionString", "flvConversionString", "allowQuickEdit", "shouldForceUniqueKshow", "returnDuplicateKshow", "notificationsConfig", "notify", "allowMultiNotification", "appearInSearch", "mergeEntryLists", "allowLks", "allowAnonymousRanking", "isFirstLogin", "matchIp", "host", "cdnHost", "rtmpUrl", "defThumbOffset", "defThumbDensity", "landingPage", "userLandingPage", "status", "serviceConfigId", "moderateContent", "currentConversionProfileType", "monitorUsage", "templatePartnerId", "addEntryMaxFiles", "defaultConversionProfileId", "partnerGroupType", "partnerParentId", "enableAnalyticsTab", "liveStreamEnabled", "storageServePriority", "storageDeleteFromKaltura", "enableSilverLight", "partnerSpecificServices", "partnerSpecificServices", "enable508Players", "enableVast", "appStudioExampleEntry", "appStudioExamplePlayList0", "appStudioExamplePlayList1", "delivryBlockCountries", "deliveryRestrictions", "maxLoginAttempts", "loginBlockPeriod", "numPrevPassToKeep", "passReplaceFreq"); $allowed_params = array_merge($pw->getUpdateableFields(), $extra_fields); $fields_modified = baseObjectUtils::fillObjectFromMap($_REQUEST, $partner, "partner_", $allowed_params, BasePeer::TYPE_PHPNAME, true); if (!isset($_REQUEST['partner_partnerParentId']) || $_REQUEST['partner_partnerParentId'] == '') { $partner->setPartnerParentId(null); } $partner_from_db = PartnerPeer::retrieveByPK($partner_id); if ($partner_from_db) { baseObjectUtils::fillObjectFromObject($allowed_params, $partner, $partner_from_db, baseObjectUtils::CLONE_POLICY_PREFER_NEW, null, BasePeer::TYPE_PHPNAME, true); } if (class_exists('MetadataPlugin')) { $partner_from_db->setPluginEnabled(MetadataPlugin::PLUGIN_NAME, $_REQUEST['partner_enableMetadata']); } if (class_exists('AuditPlugin')) { $partner_from_db->setPluginEnabled(AuditPlugin::PLUGIN_NAME, $_REQUEST['partner_enableAuditTrail']); } if (class_exists('AnnotationPlugin')) { $partner_from_db->setPluginEnabled(AnnotationPlugin::PLUGIN_NAME, $_REQUEST['partner_enableAnnotation']); } if (class_exists('VirusScanPlugin')) { $partner_from_db->setPluginEnabled(VirusScanPlugin::PLUGIN_NAME, $_REQUEST['partner_enableVirusScan']); } if ($partner_from_db->getServiceConfigId() == "") { $partner_from_db->setServiceConfigId(null); } if ($partner_from_db->getPartnerParentId() == -1000) { $partner_from_db->setPartnerParentId(null); } $partner_from_db->save(); // PartnerPeer::resetPartnerInCache ( $partner_id); } $c = new Criteria(); if (true) { $c->add(PartnerPeer::ID, $partner_id); } if ($search_text) { $crit = $c->getNewCriterion(PartnerPeer::PARTNER_NAME, "%{$search_text}%", Criteria::LIKE); $crit->addOr($c->getNewCriterion(PartnerPeer::DESCRIPTION, "%{$search_text}%", Criteria::LIKE)); $c->addAnd($crit); } $c->setLimit(1); //$this->partner = PartnerPeer::retrieveByPK( $partner_id ); $this->partner_list = PartnerPeer::doSelect($c); if (count($this->partner_list) == 1) { $this->partner = $this->partner_list[0]; } else { $this->partner = null; } $this->partner_id = $partner_id; $this->search_text = $search_text; }
/** * Function which calulates partner usage of a group of a VAR's sub-publishers * * @action getPartnerUsage * @param KalturaPartnerFilter $partnerFilter * @param KalturaReportInputFilter $usageFilter * @param KalturaFilterPager $pager * @return KalturaPartnerUsageListResponse * @throws KalturaVarConsoleErrors::MAX_SUB_PUBLISHERS_EXCEEDED */ public function getPartnerUsageAction(KalturaPartnerFilter $partnerFilter = null, KalturaReportInputFilter $usageFilter = null, KalturaFilterPager $pager = null) { if (is_null($partnerFilter)) { $partnerFilter = new KalturaPartnerFilter(); } if (is_null($usageFilter)) { $usageFilter = new KalturaReportInputFilter(); $usageFilter->fromDate = time() - 60 * 60 * 24 * 30; // last 30 days $usageFilter->toDate = time(); } else { //The first time the filter is sent, it it sent with 0 as fromDate if (!$usageFilter->fromDate) { $usageFilter->fromDate = time() - 60 * 60 * 24 * 30; } if (!$usageFilter->interval) { $usageFilter->interval = KalturaReportInterval::MONTHS; } } if (is_null($pager)) { $pager = new KalturaFilterPager(); } //Create a propel filter for the partner $partnerFilterDb = new partnerFilter(); $partnerFilter->toObject($partnerFilterDb); //add filter to criteria $c = PartnerPeer::getDefaultCriteria(); $partnerFilterDb->attachToCriteria($c); $partnersCount = PartnerPeer::doCount($c); if ($partnersCount > self::MAX_SUB_PUBLISHERS) { throw new KalturaAPIException(KalturaVarConsoleErrors::MAX_SUB_PUBLISHERS_EXCEEDED); } $partners = PartnerPeer::doSelect($c); $partnerIds = array(); foreach ($partners as &$partner) { $partnerIds[] = $partner->getId(); } // add pager to criteria $pager->attachToCriteria($c); $c->addAscendingOrderByColumn(PartnerPeer::ID); // select partners $items = array(); $inputFilter = new reportsInputFilter(); $inputFilter->from_date = $usageFilter->fromDate; $inputFilter->to_date = $usageFilter->toDate; $inputFilter->from_day = date("Ymd", $usageFilter->fromDate); $inputFilter->to_day = date("Ymd", $usageFilter->toDate); $inputFilter->timeZoneOffset = $usageFilter->timeZoneOffset; $inputFilter->interval = $usageFilter->interval; if (!count($partnerIds)) { $total = new KalturaVarPartnerUsageTotalItem(); // no partners fit the filter - don't fetch data $totalCount = 0; // the items are set to an empty KalturaSystemPartnerUsageArray } else { $totalCount = 0; $orderBy = ($inputFilter->interval == reportInterval::MONTHS ? "+month_id" : "+date_id") . ",+partner_id"; list($reportHeader, $reportData, $totalCount) = myReportsMgr::getTable(null, myReportsMgr::REPORT_TYPE_VAR_USAGE, $inputFilter, $pager->pageSize, $pager->pageIndex, $orderBy, implode(",", $partnerIds)); foreach ($reportData as $line) { $item = new KalturaVarPartnerUsageItem(); $item->fromString($reportHeader, $line); if ($item) { $items[] = $item; } } list($reportHeader, $reportData) = myReportsMgr::getTotal(null, myReportsMgr::REPORT_TYPE_PARTNER_USAGE, $inputFilter, implode(",", $partnerIds)); $total = new KalturaVarPartnerUsageTotalItem(); $total->fromString($reportHeader, $reportData); list($peakStoragereportHeader, $peakStoragereportData) = myReportsMgr::getTotal(null, myReportsMgr::REPORT_TYPE_PEAK_STORAGE, $inputFilter, implode(",", $partnerIds)); if ($peakStoragereportData[0]) { $total->peakStorage = ceil(@$peakStoragereportData[0]); } } $response = new KalturaPartnerUsageListResponse(); //Sort according to dateId and partnerId uasort($items, array($this, 'sortByDate')); $response->total = $total; $response->totalCount = $totalCount; $response->objects = $items; return $response; }
public function execute() { die; ini_set("memory_limit", "128M"); ini_set("max_execution_time", "240"); $this->forceSystemAuthentication(); $start = microtime(true); $file_path = dirname(__FILE__) . "/../data/viewPartnersData.txt"; $partner_groups = new partnerGroups($file_path); $this->partner_group_list = $partner_groups->partner_group_list; $group_rest = new partnerGroup(); $group_rest->setName("_rest"); $this->partner_group_list[] = $group_rest; $partner_filter = $this->getP("partner_filter"); $filter_type = $this->getP("filter_type", "project"); //"wiki_wordpress" ); // default a relatively short list $this->type = $this->getP("type"); $gloabl_dual = false; //true; if ($this->type == 2) { $gloabl_dual = false; } $this->from_date = $this->getP("from_date"); $this->to_date = $this->getP("to_date"); $this->days = $this->getP("days"); $page = $this->getP("page", 1); if ($page < 1) { $page = 1; } $this->page = $page; $this->partners_between = $this->getP("partners_between"); if ($this->partners_between == "false") { $this->partners_between = false; } // increment the to_date in one 1 (to be inclusive) /* if ( $this->to_date ) { $timeStamp = strtotime( $this->to_date ); $timeStamp += 24 * 60 * 60 ; // add one day $this->to_date = date("Y-m-d", $timeStamp); } */ if ($this->days) { $timeStamp = strtotime($this->to_date); $timeStamp -= 24 * 60 * 60 * $this->days; // (- $this->days days) $this->from_date = date("Y-m-d", $timeStamp); } $this->new_first = $this->getP("new_first", null); if ($this->new_first == "false") { $this->new_first = false; } // don't display these partners // $exclude_list = self::getIdList ( "exclude" ); $this->partners_stat = array(); $c = new Criteria(); $c->setLimit(self::MAX_PAGE_SIZE); $c->setOffset(($page - 1) * self::MAX_PAGE_SIZE); if ($this->new_first) { $c->addDescendingOrderByColumn(PartnerPeer::ID); } else { $c->addAscendingOrderByColumn(PartnerPeer::ID); } // $c->addAnd ( PartnerPeer::ID , $exclude_list , Criteria::NOT_IN ); if ($this->to_date) { $c->addAnd(PartnerPeer::CREATED_AT, $this->to_date, Criteria::LESS_EQUAL); } if ($this->partners_between) { $c->addAnd(PartnerPeer::CREATED_AT, $this->from_date, Criteria::GREATER_EQUAL); } // TODO - change rule mechanism to be more flixible $this->createCriteriaByGroup($partner_groups, $c, $filter_type, $partner_filter); $partners = PartnerPeer::doSelect($c); $ids = self::getIds($partners); $updated_at = null; if ($ids && count($ids) >= 1) { $statsPool = self::getPartnersStats($ids, $this->from_date, $this->to_date); // fdb::populateObjects( $partners , new PartnerStatsPeer() , "id" , "partnerStats" , false ,"partnerId"); foreach ($partners as $partner) { $partner_id = $partner->getId(); $this->addStat($partner_id, "name", $partner_id == $partner->getPartnerName() ? $partner->getAdminName() : $partner->getpartnerName()); $this->addStat($partner_id, "email", $partner->getAdminEmail()); $this->addStat($partner_id, "description", $partner->getDescription()); $this->addStat($partner_id, "url1", $partner->getUrl1()); $this->addStat($partner_id, "created", substr($partner->getCreatedAt(), 0, 10)); $this->addStat($partner_id, "categories", $partner->getContentCategories()); $stats = @$statsPool[$partner_id]; if ($stats) { $this->addExtraStats($partner_id, $stats); } } } $this->dual = $gloabl_dual; $this->partner_filter = $partner_filter; $this->filter_type = $filter_type; $this->updated_at = $updated_at; $end = microtime(true); $this->bench = $end - $start; }
/** * @action list * @param KalturaPartnerFilter $filter * @param KalturaFilterPager $pager * @return KalturaPartnerListResponse */ public function listAction(KalturaPartnerFilter $filter = null, KalturaFilterPager $pager = null) { if (is_null($filter)) { $filter = new KalturaPartnerFilter(); } if (is_null($pager)) { $pager = new KalturaFilterPager(); } $partnerFilter = new partnerFilter(); $filter->toObject($partnerFilter); $partnerFilter->set('_gt_id', 0); $c = new Criteria(); $partnerFilter->attachToCriteria($c); $totalCount = PartnerPeer::doCount($c); $pager->attachToCriteria($c); $list = PartnerPeer::doSelect($c); $newList = KalturaPartnerArray::fromPartnerArray($list); $response = new KalturaPartnerListResponse(); $response->totalCount = $totalCount; $response->objects = $newList; return $response; }
public static function getPartnersArray(array $partnerIds, Criteria $c = null) { $ret = array(); if (!$c) { $c = new Criteria(); } $c->addAnd(PartnerPeer::ID, $partnerIds, Criteria::IN); $c->addAnd(PartnerPeer::STATUS, Partner::PARTNER_STATUS_ACTIVE, Criteria::EQUAL); PartnerPeer::setUseCriteriaFilter(false); $partners = PartnerPeer::doSelect($c); PartnerPeer::setUseCriteriaFilter(true); foreach ($partners as $partner) { if (!in_array($partner->getId(), array(PartnerPeer::GLOBAL_PARTNER, Partner::ADMIN_CONSOLE_PARTNER_ID, Partner::BATCH_PARTNER_ID))) { $ret[] = $partner; } } return $ret; }
$c = new Criteria(); $c->addAscendingOrderByColumn(PartnerPeer::ID); $c->addAnd(PartnerPeer::ID, 99, Criteria::GREATER_EQUAL); $c->setLimit($countLimitEachLoop); $partners = PartnerPeer::doSelect($c, $con); while (count($partners)) { foreach ($partners as $partner) { /* @var $partner Partner */ foreach ($permissionNames as $permissionName) { KalturaLog::debug("Set permission [{$permissionName}] for partner id [" . $partner->getId() . "]"); $dbPermission = PermissionPeer::getByNameAndPartner($permissionName, $partner->getId()); if (!$dbPermission) { $dbPermission = new Permission(); $dbPermission->setType(PermissionType::PLUGIN); $dbPermission->setPartnerId($partner->getId()); $dbPermission->setName($permissionName); } $dbPermission->setStatus(PermissionStatus::ACTIVE); $dbPermission->save(); } } kMemoryManager::clearMemory(); $c = new Criteria(); $c->addAscendingOrderByColumn(PartnerPeer::ID); $c->addAnd(PartnerPeer::ID, 99, Criteria::GREATER_EQUAL); $c->setLimit($countLimitEachLoop); $c->setOffset($offset); $partners = PartnerPeer::doSelect($c, $con); $offset += $countLimitEachLoop; } KalturaLog::debug("Done");
/** * Gets an array of Partner objects which contain a foreign key that references this object. * * If this collection has already been initialized with an identical Criteria, it returns the collection. * Otherwise if this kuser has previously been saved, it will retrieve * related Partners from storage. If this kuser is new, it will return * an empty collection or the current collection, the criteria is ignored on a new object. * * @param PropelPDO $con * @param Criteria $criteria * @return array Partner[] * @throws PropelException */ public function getPartners($criteria = null, PropelPDO $con = null) { if ($criteria === null) { $criteria = new Criteria(kuserPeer::DATABASE_NAME); } elseif ($criteria instanceof Criteria) { $criteria = clone $criteria; } if ($this->collPartners === null) { if ($this->isNew()) { $this->collPartners = array(); } else { $criteria->add(PartnerPeer::ANONYMOUS_KUSER_ID, $this->id); PartnerPeer::addSelectColumns($criteria); $this->collPartners = PartnerPeer::doSelect($criteria, $con); } } else { // criteria has no effect for a new object if (!$this->isNew()) { // the following code is to determine if a new query is // called for. If the criteria is the same as the last // one, just return the collection. $criteria->add(PartnerPeer::ANONYMOUS_KUSER_ID, $this->id); PartnerPeer::addSelectColumns($criteria); if (!isset($this->lastPartnerCriteria) || !$this->lastPartnerCriteria->equals($criteria)) { $this->collPartners = PartnerPeer::doSelect($criteria, $con); } } } $this->lastPartnerCriteria = $criteria; return $this->collPartners; }
function getLoginPartners() { PartnerPeer::clearInstancePool(); $c = new Criteria(); $c1 = $c->getNewCriterion(PartnerPeer::SERVICE_CONFIG_ID, 'services-paramount-mobile.ct'); $c2 = $c->getNewCriterion(PartnerPeer::SERVICE_CONFIG_ID, 'services-disney-mediabowl.ct'); $c1->addOr($c2); $c->add($c1); PartnerPeer::setUseCriteriaFilter(false); $partners = PartnerPeer::doSelect($c); PartnerPeer::setUseCriteriaFilter(true); $ids = array(); foreach ($partners as $par) { $ids[] = $par->getId(); } return $ids; }