Пример #1
0
 public static function setDefaultCriteriaFilter()
 {
     if (self::$s_criteria_filter == null) {
         self::$s_criteria_filter = new criteriaFilter();
     }
     $c = new myCriteria();
     $c->add(kvotePeer::STATUS, KVoteStatus::REVOKED, Criteria::NOT_EQUAL);
     self::$s_criteria_filter->setFilter($c);
 }
Пример #2
0
 /**
  * Creates default criteria filter
  */
 public static function setDefaultCriteriaFilter()
 {
     if (self::$s_criteria_filter == null) {
         self::$s_criteria_filter = new criteriaFilter();
     }
     $c = new myCriteria();
     $c->addAnd(EntryDistributionPeer::STATUS, EntryDistributionStatus::DELETED, Criteria::NOT_EQUAL);
     self::$s_criteria_filter->setFilter($c);
 }
 public static function setDefaultCriteriaFilter()
 {
     parent::setDefaultCriteriaFilter();
     if (self::$s_criteria_filter == null) {
         self::$s_criteria_filter = new criteriaFilter();
     }
     $c = new myCriteria();
     $c->addAnd(UserRolePeer::STATUS, UserRoleStatus::DELETED, Criteria::NOT_EQUAL);
     self::$s_criteria_filter->setFilter($c);
 }
Пример #4
0
 public static function setDefaultCriteriaFilter()
 {
     parent::setDefaultCriteriaFilter();
     if (self::$s_criteria_filter == null) {
         self::$s_criteria_filter = new criteriaFilter();
     }
     $c = new myCriteria();
     $c->addAnd(self::STATUS, DropFolderFileStatus::PURGED, Criteria::NOT_EQUAL);
     self::$s_criteria_filter->setFilter($c);
 }
 /**
  * Creates default criteria filter
  */
 public static function setDefaultCriteriaFilter()
 {
     if (self::$s_criteria_filter == null) {
         self::$s_criteria_filter = new criteriaFilter();
     }
     $c = new myCriteria();
     $c->addAnd(DistributionProfilePeer::PROVIDER_TYPE, DistributionProviderType::GENERIC);
     $c->addAnd(DistributionProfilePeer::STATUS, DistributionProfileStatus::DELETED, Criteria::NOT_EQUAL);
     self::$s_criteria_filter->setFilter($c);
 }
 public static function addPartnerToCriteria($partnerId, $privatePartnerData = false, $partnerGroup = null, $kalturaNetwork = null)
 {
     self::$filterPartner = $partnerId;
     if (!self::$isDefaultInDefaultCriteria) {
         return parent::addPartnerToCriteria($partnerId, $privatePartnerData, $partnerGroup, $kalturaNetwork);
     }
     $criteriaFilter = self::getCriteriaFilter();
     $criteria = $criteriaFilter->getFilter();
     if (!$privatePartnerData) {
         // the private partner data is not allowed -
         if ($kalturaNetwork) {
             // allow only the kaltura network stuff
             if ($partnerId) {
                 $orderBy = "(" . self::PARTNER_ID . "<>{$partnerId})";
                 // first take the pattner_id and then the rest
                 myCriteria::addComment($criteria, "Only Kaltura Network");
                 $criteria->addAscendingOrderByColumn($orderBy);
                 //, Criteria::CUSTOM );
             }
         } else {
             // no private data and no kaltura_network -
             // add a criteria that will return nothing
             $criteria->addAnd(self::PARTNER_ID, Partner::PARTNER_THAT_DOWS_NOT_EXIST);
         }
     } else {
         // private data is allowed
         if (empty($partnerGroup) && empty($kalturaNetwork)) {
             // the default case
             $criteria->addAnd(self::PARTNER_ID, $partnerId);
         } elseif ($partnerGroup == myPartnerUtils::ALL_PARTNERS_WILD_CHAR) {
             // all is allowed - don't add anything to the criteria
         } else {
             $criterion = null;
             if ($partnerGroup) {
                 // $partnerGroup hold a list of partners separated by ',' or $kalturaNetwork is not empty (should be mySearchUtils::KALTURA_NETWORK = 'kn')
                 $partners = explode(',', trim($partnerGroup));
                 $hasPartnerZero = false;
                 foreach ($partners as $index => &$p) {
                     trim($p);
                     // make sure there are not leading or trailing spaces
                     if ($p == 0) {
                         unset($partners[$index]);
                         $hasPartnerZero = true;
                     }
                 }
                 // add the partner_id to the partner_group
                 $partners[] = strval($partnerId);
                 $criterion = $criteria->getNewCriterion(self::PARTNER_ID, $partners, Criteria::IN);
                 if ($hasPartnerZero) {
                     $query = "(" . self::PARTNER_ID . " = 0 AND " . self::IS_DEFAULT . " = 1)";
                     $criterion->addOr($criteria->getNewCriterion(self::PARTNER_ID, $query, Criteria::CUSTOM));
                 }
             } else {
                 $criterion = $criteria->getNewCriterion(self::PARTNER_ID, $partnerId);
             }
             $criteria->addAnd($criterion);
         }
     }
     $criteriaFilter->enable();
 }
Пример #7
0
 public static function addPartnerToCriteria($partnerId, $privatePartnerData = false, $partnerGroup = null, $kalturaNetwork = null)
 {
     $criteriaFilter = self::getCriteriaFilter();
     $criteria = $criteriaFilter->getFilter();
     if (!$privatePartnerData) {
         // the private partner data is not allowed -
         if ($kalturaNetwork) {
             // allow only the kaltura network stuff
             $criteria->addAnd(self::DISPLAY_IN_SEARCH, mySearchUtils::DISPLAY_IN_SEARCH_KALTURA_NETWORK);
             if ($partnerId) {
                 $orderBy = "(" . self::PARTNER_ID . "<>{$partnerId})";
                 // first take the pattner_id and then the rest
                 myCriteria::addComment($criteria, "Only Kaltura Network");
                 $criteria->addAscendingOrderByColumn($orderBy);
                 //, Criteria::CUSTOM );
             }
         } else {
             // no private data and no kaltura_network -
             // add a criteria that will return nothing
             $criteria->addAnd(self::PARTNER_ID, Partner::PARTNER_THAT_DOWS_NOT_EXIST);
         }
     } else {
         $criterion = null;
         // private data is allowed
         if (!strlen(strval($partnerGroup))) {
             // the default case
             $criterion = $criteria->getNewCriterion(self::PARTNER_ID, $partnerId);
             $criteria->addAnd($criterion);
         } elseif ($partnerGroup == myPartnerUtils::ALL_PARTNERS_WILD_CHAR) {
             // all is allowed - don't add anything to the criteria
         } else {
             // $partnerGroup hold a list of partners separated by ',' or $kalturaNetwork is not empty (should be mySearchUtils::KALTURA_NETWORK = 'kn')
             $partners = explode(',', trim($partnerGroup));
             foreach ($partners as &$p) {
                 trim($p);
             }
             // make sure there are not leading or trailing spaces
             // add the partner_id to the partner_group
             if (!in_array(strval($partnerId), $partners)) {
                 $partners[] = strval($partnerId);
             }
             if (count($partners) == 1 && reset($partners) == $partnerId) {
                 $criterion = $criteria->getNewCriterion(self::PARTNER_ID, $partnerId);
                 $criteria->addAnd($criterion);
             } else {
                 $criterion = $criteria->getNewCriterion(self::PARTNER_ID, $partners, Criteria::IN);
                 if ($kalturaNetwork) {
                     $criterionNetwork = $criteria->getNewCriterion(self::DISPLAY_IN_SEARCH, mySearchUtils::DISPLAY_IN_SEARCH_KALTURA_NETWORK);
                     $criterion->addOr($criterionNetwork);
                 }
                 $criteria->addAnd($criterion);
             }
         }
         if ($criterion && $criterion instanceof KalturaCriterion) {
             $criterion->addTag(KalturaCriterion::TAG_PARTNER_SESSION);
         }
     }
     $criteriaFilter->enable();
 }
Пример #8
0
 public static function retrieveByPartnerAndUid($partner_id, $subp_id, $puser_id, $join_kuser = false)
 {
     $c = new Criteria();
     myCriteria::addComment($c, "PuserKuserPeer::retrieveByPartnerAndUid");
     $c->add(self::PARTNER_ID, $partner_id);
     if ($subp_id) {
         $c->add(self::SUBP_ID, $subp_id);
     }
     $c->add(self::PUSER_ID, $puser_id);
     if ($join_kuser) {
         $puser_kusers = self::doSelectJoinkuser($c);
     } else {
         $puser_kusers = self::doSelect($c);
     }
     if (count($puser_kusers) > 0) {
         $puser_kuser = $puser_kusers[0];
     } else {
         $puser_kuser = null;
     }
     return $puser_kuser;
 }
 /**
  * Will search for a kshow for the specific partner & key.
  * The key can be combined from the kuser_id and the group_id
  * If not found - will create one
  * If both the kuser_id & group_id are null - always create one
  */
 public static function getDefaultKshow($partner_id, $subp_id, $puser_kuser, $group_id = null, $allow_quick_edit = null, $create_anyway = false, $default_name = null)
 {
     $kuser_id = null;
     // make sure puser_kuser object exists so function will not exit with FATAL
     if ($puser_kuser) {
         $kuser_id = $puser_kuser->getKuserId();
     }
     $key = $group_id != null ? $group_id : $kuser_id;
     if (!$create_anyway) {
         $c = new Criteria();
         myCriteria::addComment($c, "myKshowUtils::getDefaultKshow");
         $c->add(kshowPeer::GROUP_ID, $key);
         $kshow = kshowPeer::doSelectOne($c);
         if ($kshow) {
             return $kshow;
         }
         // no kshow - create using the service
         $name = "{$key}'s generated show'";
     } else {
         $name = "a generated show'";
     }
     if ($default_name) {
         $name = $default_name;
     }
     $extra_params = array("kshow_groupId" => $key, "kshow_allowQuickEdit" => $allow_quick_edit);
     // set the groupId with the key so we'll find it next time round
     $kshow = myPartnerServicesClient::createKshow("", $puser_kuser->getPuserId(), $name, $partner_id, $subp_id, $extra_params);
     return $kshow;
 }
 public function executeImpl($partner_id, $subp_id, $puser_id, $partner_prefix, $puser_kuser)
 {
     //		$this->applyPartnerFilterForClass( new ConversionProfilePeer() , $partner_id );
     // TODO -  verify permissions for viewing lists
     $detailed = $this->getP("detailed", false);
     $limit = $this->getP("page_size", 10);
     $page = $this->getP("page", 1);
     //$order_by = int( $this->getP ( "order_by" , -1 ) );
     $offset = ($page - 1) * $limit;
     $partner_current_conversion_profile = myPartnerUtils::getCurrentConversionProfile($partner_id);
     $c = new Criteria();
     // filter
     $filter = new ConversionProfileFilter();
     $fields_set = $filter->fillObjectFromRequest($this->getInputParams(), "filter_", null);
     $filter->set("_order_by", null);
     // ignore the order_by for now
     $filter->attachToCriteria($c);
     // partner_id either the partner or partner_id=0
     $crit = $c->getNewCriterion(ConversionProfilePeer::PARTNER_ID, 0);
     $c->addAnd($crit->addOr($c->getNewCriterion(ConversionProfilePeer::PARTNER_ID, $partner_id)));
     // for now - only enabled profiles
     $c->addAnd(ConversionProfilePeer::ENABLED, 1);
     // make sure the partner's profiles will appear first ordered by id desc - last will come first
     $order_by = "(" . ConversionProfilePeer::PARTNER_ID . "<>{$partner_id})";
     // first take the patner_id and then the rest
     myCriteria::addComment($c, "Only Kaltura Network");
     $c->addAscendingOrderByColumn($order_by);
     //, Criteria::CUSTOM );
     $c->addDescendingOrderByColumn(ConversionProfilePeer::UPDATED_AT);
     //, Criteria::CUSTOM );
     $c->addDescendingOrderByColumn(ConversionProfilePeer::ID);
     //, Criteria::CUSTOM );
     //if ($order_by != -1) kshowPeer::setOrder( $c , $order_by );
     $count = ConversionProfilePeer::doCount($c);
     $offset = ($page - 1) * $limit;
     $c->setLimit($limit);
     if ($offset > 0) {
         $c->setOffset($offset);
     }
     $list = ConversionProfilePeer::doSelect($c);
     if (count($list) > 0) {
         // reorder the list so the first will always be the best default  for the partner
         $partner_list = array($partner_current_conversion_profile);
         // the first is always the partner's default
         //			$this->addDebug( "partner_current_conversion_profile" , objectWrapperBase::getWrapperClass( $partner_current_conversion_profile ) );
         $global_list = array();
         $default_prof = array();
         foreach ($list as $conv_profile) {
             if ($conv_profile->getPartnerId() == ConversionProfile::GLOBAL_PARTNER_PROFILE) {
                 if ($conv_profile->getProfileType() == ConversionProfile::DEFAULT_COVERSION_PROFILE_TYPE) {
                     $default_prof[] = $conv_profile;
                 } else {
                     $global_list[] = $conv_profile;
                 }
             } elseif ($conv_profile->getPartnerId() == $partner_id) {
                 $partner_list[] = $conv_profile;
             }
         }
         //			$level = objectWrapperBase::DETAIL_LEVEL_REGULAR ;
         //			$this->addMsg ( "par-list" , objectWrapperBase::getWrapperClass( $partner_list  , $level ) ) ;
         //			$this->addMsg ( "def-list" , objectWrapperBase::getWrapperClass( $default_prof  , $level ) ) ;
         //			$this->addMsg ( "rest-list" , objectWrapperBase::getWrapperClass( $global_list  , $level ) ) ;
         // this is the correct order - the partners , the default and all the rest of the globals
         $list = array_merge($partner_list, $default_prof, $global_list);
     }
     $level = objectWrapperBase::DETAIL_LEVEL_REGULAR;
     $this->addMsg("count", $count);
     $this->addMsg("page_size", $limit);
     $this->addMsg("page", $page);
     $wrapper = objectWrapperBase::getWrapperClass($list, $level);
     $this->addMsg("conversionProfiles", $wrapper);
 }
Пример #11
0
 public static function addPartnerToCriteria($partnerId, $privatePartnerData = false, $partnerGroup = null, $kalturaNetwork = null)
 {
     $criteriaFilter = self::getCriteriaFilter();
     $criteria = $criteriaFilter->getFilter();
     if (!$privatePartnerData) {
         // the private partner data is not allowed -
         if ($kalturaNetwork) {
             // allow only the kaltura netword stuff
             $criteria->addAnd(self::DISPLAY_IN_SEARCH, mySearchUtils::DISPLAY_IN_SEARCH_KALTURA_NETWORK);
             if ($partnerId) {
                 $orderBy = "(" . self::PARTNER_ID . "<>{$partnerId})";
                 // first take the pattner_id and then the rest
                 myCriteria::addComment($criteria, "Only Kaltura Network");
                 $criteria->addAscendingOrderByColumn($orderBy);
                 //, Criteria::CUSTOM );
             }
         } else {
             // no private data and no kaltura_network -
             // add a criteria that will return nothing
             $criteria->addAnd(self::PARTNER_ID, Partner::PARTNER_THAT_DOWS_NOT_EXIST);
         }
     } else {
         // private data is allowed
         if (empty($partnerGroup) && empty($kalturaNetwork)) {
             // the default case
             $criteria->addAnd(self::PARTNER_ID, $partnerId);
         } elseif ($partnerGroup == myPartnerUtils::ALL_PARTNERS_WILD_CHAR) {
             // all is allowed - don't add anything to the criteria
         } else {
             $criterion = null;
             if ($partnerGroup) {
                 // $partnerGroup hold a list of partners separated by ',' or $kalturaNetwork is not empty (should be mySearchUtils::KALTURA_NETWORK = 'kn')
                 $partners = explode(',', trim($partnerGroup));
                 foreach ($partners as &$p) {
                     trim($p);
                 }
                 // make sure there are not leading or trailing spaces
                 // add the partner_id to the partner_group
                 if (!in_array($partnerId, $partners)) {
                     // NOTE: we need to add the partner as a string since we want all
                     // the PATNER_ID IN () values to be of the same type.
                     // otherwise mysql will fail choosing the right index and will
                     // do a full table scan
                     $partners[] = "" . $partnerId;
                 }
                 $criterion = $criteria->getNewCriterion(self::PARTNER_ID, $partners, Criteria::IN);
             } else {
                 $criterion = $criteria->getNewCriterion(self::PARTNER_ID, $partnerId);
             }
             if ($kalturaNetwork) {
                 $criterionNetwork = $criteria->getNewCriterion(self::DISPLAY_IN_SEARCH, mySearchUtils::DISPLAY_IN_SEARCH_KALTURA_NETWORK);
                 $criterion->addOr($criterionNetwork);
             }
             $criteria->addAnd($criterion);
         }
     }
     $criteriaFilter->enable();
 }
Пример #12
0
 /**
  * Creates default criteria filter
  */
 public static function setDefaultCriteriaFilter()
 {
     if (self::$s_criteria_filter == null) {
         self::$s_criteria_filter = new criteriaFilter();
     }
     $c = new myCriteria();
     // We'd like to retrieve only active delivery profiles, and the ones we consider to remove but haven't removed yet.
     $c->addAnd(DeliveryProfilePeer::STATUS, array(DeliveryStatus::ACTIVE, DeliveryStatus::STAGING_OUT), Criteria::IN);
     self::$s_criteria_filter->setFilter($c);
 }
Пример #13
0
 public static function doCountWithCache(Criteria $criteria, $cache_expiry_in_seconds = 600)
 {
     $cache_key = myCriteria::getCriteriaCacheKey($criteria);
     if (!self::$entry_count_cache) {
         self::$entry_count_cache = new myCache("entry_count_cache", $cache_expiry_in_seconds);
     }
     if ($count_result = self::$entry_count_cache->get($cache_key)) {
         KalturaLog::log(__METHOD__ . ": count from cache [{$count_result}] for cacheKey [{$cache_key}]");
         return $count_result;
     } else {
         KalturaLog::log(__METHOD__ . ": NO count from cache [{$count_result}] for cacheKey [{$cache_key}]");
         $count_result = self::doCount($criteria);
         // if we have a count result worth caching - cache it.
         // one the one hand, for few results, it's nice to display rapid differences, therefore cache only if above the MIN_COUNT_RESULT_TO_CACHE threshold
         // one the other hand - it can be that there are very little few resuls (sometimes 0) and still importatn to cache even more than when many results
         // for now - go for the first version - cache above threshold.
         if ($count_result && $count_result > self::MIN_COUNT_RESULT_TO_CACHE) {
             self::$entry_count_cache->put($cache_key, $count_result);
             KalturaLog::log(__METHOD__ . ": Setting count in cache [{$count_result}] for cacheKey [{$cache_key}]");
         } else {
             KalturaLog::log(__METHOD__ . ": Did NOT Set count in cache [{$count_result}] for cacheKey [{$cache_key}]");
         }
     }
     return $count_result;
 }
Пример #14
0
 public static function deleteEntry(entry $entry)
 {
     $kshow = $entry->getkshow();
     if ($kshow) {
         $v = $kshow->getEntries();
         self::dec($v);
         $kshow->setEntries($v);
         $c = new Criteria();
         myCriteria::addComment($c, __METHOD__);
         $c->add(entryPeer::KSHOW_ID, $entry->getKshowId());
         $c->add(entryPeer::KUSER_ID, $entry->getKuserId());
         $c->setLimit(2);
         $res = entryPeer::doCount($c);
         if ($res == 1) {
             // if $res > 1 -  this kuser contributed more than one entry, deleting this one should still leave him a contributor
             // if $res < 1 -  this kuser never contributed - strange! but no need to dec the contributors
             // kuser did contribute to this kshow - decrement
             $v = $kshow->getContributors();
             self::dec($v);
             $kshow->setContributors($v);
         }
         $kuser = $entry->getkuser();
         if ($kuser) {
             $v = $kuser->getEntries();
             self::dec($v);
             $kuser->setEntries($v);
         }
         self::add($kshow);
         self::add($kuser);
     }
 }