Ejemplo n.º 1
0
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);
        }
    }
}
Ejemplo n.º 2
0
 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;
     }
 }
Ejemplo n.º 4
0
 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;
}
Ejemplo n.º 7
0
 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);
     }
 }
Ejemplo n.º 8
0
 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;
 }
Ejemplo n.º 9
0
 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");
Ejemplo n.º 15
0
 /**
  * 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;
 }
Ejemplo n.º 18
0
 /**
  * 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;
 }
Ejemplo n.º 19
0
 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;
 }
Ejemplo n.º 20
0
 /**
  * @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;
 }
Ejemplo n.º 21
0
 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;
 }
Ejemplo n.º 22
0
$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");
Ejemplo n.º 23
0
 /**
  * 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;
 }
Ejemplo n.º 24
0
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;
}