Example #1
0
 public function providerTestMigration()
 {
     $kusers = kuserPeer::doSelect(new Criteria());
     // select all
     $ids = array();
     foreach ($kusers as $user) {
         $ids[] = array($user->getId());
     }
     return $ids;
 }
function getAdminUsers($lastUser, $userLimitEachLoop)
{
    kuserPeer::clearInstancePool();
    UserRolePeer::clearInstancePool();
    $c = new Criteria();
    $c->addAnd(kuserPeer::ID, $lastUser, Criteria::GREATER_THAN);
    $c->addAnd(kuserPeer::IS_ADMIN, true, Criteria::EQUAL);
    $c->addAscendingOrderByColumn(kuserPeer::ID);
    $c->setLimit($userLimitEachLoop);
    kuserPeer::setUseCriteriaFilter(false);
    $users = kuserPeer::doSelect($c);
    kuserPeer::setUseCriteriaFilter(true);
    return $users;
}
 private function nextUser()
 {
     $this->adminKuser = adminKuserPeer::retrieveByPK($this->curId);
     $this->assertNotNull($this->adminKuser, 'Admin kuser not found with id [' . $this->curId . ']');
     $cLoginData = new Criteria();
     $cLoginData->addAnd(UserLoginDataPeer::LOGIN_EMAIL, $this->adminKuser->getEmail());
     $loginDatas = UserLoginDataPeer::doSelect($cLoginData);
     $this->assertEquals(1, count($loginDatas), 'Number of login datas found for id [' . $this->curId . ']');
     $this->loginData = $loginDatas[0];
     $cKuser = new Criteria();
     $cKuser->addAnd(kuserPeer::LOGIN_DATA_ID, $this->loginData->getId());
     $cKuser->addAnd(kuserPeer::PARTNER_ID, $this->adminKuser->getPartnerId());
     $kusers = kuserPeer::doSelect($cKuser);
     $this->assertEquals(1, count($kusers), 'Number of kusers found for id [' . $this->curId . ']');
     $this->kuser = $kusers[0];
     return true;
 }
 /**
  * Cleans up the environment after running a test.
  */
 protected function tearDown()
 {
     $this->ks = null;
     parent::tearDown();
     foreach ($this->createdUserIds as $userId) {
         // delete all kusers created during the tests
         $c = new Criteria();
         $c->addAnd(kuserPeer::PUSER_ID, $userId, Criteria::EQUAL);
         $kusers = kuserPeer::doSelect($c);
         foreach ($kusers as $kuser) {
             @$kuser->delete();
         }
         // delete all kuser pusers created during the tests
         $c = new Criteria();
         $c->addAnd(PuserKuserPeer::PUSER_ID, $userId, Criteria::EQUAL);
         $puserKusers = PuserKuserPeer::doSelect($c);
         foreach ($puserKusers as $puserKuser) {
             @$puserKuser->delete();
         }
     }
 }
 public function executeImpl($partner_id, $subp_id, $puser_id, $partner_prefix, $puser_kuser)
 {
     // the relevant puser_kuser is the one from the user_id NOT the uid (which is the logged in user investigationg
     //$target_puser_kuser = PuserKuserPeer::retrieveByPartnerAndUid($partner_id , null , $user_id , true );
     $page = $this->getP("page");
     $page_size = $this->getP("page_size");
     $detailed = $this->getP("detailed", false);
     $c = new Criteria();
     $c->addAnd(kuserPeer::PARTNER_ID, $partner_id, Criteria::EQUAL);
     $c->setLimit($page_size);
     $c->setOffset(($page - 1) * $page_size);
     $users = kuserPeer::doSelect($c);
     $extra_fields = array();
     if ($detailed) {
         $extra_fields = array("country", "state", "city", "zip", "urlList", "networkHighschool", "networkCollege", "views", "fans", "entries", "producedKshows");
     }
     $level = objectWrapperBase::DETAIL_LEVEL_REGULAR;
     $this->addMsg("count", count($users));
     $this->addMsg("page", $page);
     $this->addMsg("pageSize", $page_size);
     $this->addMsg("users", objectWrapperBase::getWrapperClass($users, $level, objectWrapperBase::DETAIL_VELOCITY_DEFAULT, 0, $extra_fields));
 }
 public function getListResponse(KalturaFilterPager $pager, KalturaDetachedResponseProfile $responseProfile = null)
 {
     $this->validateUserIdOrGroupIdFiltered();
     if ($this->groupIdEqual) {
         $partnerId = kCurrentContext::getCurrentPartnerId();
         $c = new Criteria();
         $c->add(kuserPeer::PARTNER_ID, $partnerId);
         $c->add(kuserPeer::PUSER_ID, $this->groupIdEqual);
         $c->add(kuserPeer::TYPE, KuserType::GROUP);
         if (kCurrentContext::$ks_partner_id == Partner::BATCH_PARTNER_ID) {
             //batch should be able to get categoryUser of deleted users.
             kuserPeer::setUseCriteriaFilter(false);
         }
         // in case of more than one deleted kusers - get the last one
         $c->addDescendingOrderByColumn(kuserPeer::UPDATED_AT);
         $kuser = kuserPeer::doSelectOne($c);
         kuserPeer::setUseCriteriaFilter(true);
         if (!$kuser) {
             $response = new KalturaGroupUserListResponse();
             $response->objects = new KalturaGroupUserArray();
             $response->totalCount = 0;
             return $response;
         }
         $this->groupIdEqual = $kuser->getId();
     }
     if ($this->userIdEqual) {
         $partnerId = kCurrentContext::getCurrentPartnerId();
         $c = new Criteria();
         $c->add(kuserPeer::PARTNER_ID, $partnerId);
         $c->add(kuserPeer::PUSER_ID, $this->userIdEqual);
         $c->add(kuserPeer::TYPE, KuserType::USER);
         $kuser = kuserPeer::doSelectOne($c);
         if (!$kuser) {
             $response = new KalturaGroupUserListResponse();
             $response->objects = new KalturaGroupUserArray();
             $response->totalCount = 0;
             return $response;
         }
         $this->userIdEqual = $kuser->getId();
     }
     if ($this->userIdIn) {
         $usersIds = explode(',', $this->userIdIn);
         $partnerId = kCurrentContext::getCurrentPartnerId();
         $c = new Criteria();
         $c->add(kuserPeer::PARTNER_ID, $partnerId, Criteria::EQUAL);
         $c->add(kuserPeer::PUSER_ID, $usersIds, Criteria::IN);
         $c->add(kuserPeer::TYPE, KuserType::USER);
         $kusers = kuserPeer::doSelect($c);
         if (!$kusers) {
             $response = new KalturaGroupUserListResponse();
             $response->objects = new KalturaGroupUserArray();
             $response->totalCount = 0;
             return $response;
         }
         $usersIds = array();
         foreach ($kusers as $kuser) {
             /* @var $kuser kuser */
             $usersIds[] = $kuser->getId();
         }
         $this->userIdIn = implode(',', $usersIds);
     }
     if ($this->groupIdIn) {
         $groupIdIn = explode(',', $this->groupIdIn);
         $partnerId = kCurrentContext::getCurrentPartnerId();
         $c = new Criteria();
         $c->add(kuserPeer::PARTNER_ID, $partnerId, Criteria::EQUAL);
         $c->add(kuserPeer::PUSER_ID, $groupIdIn, Criteria::IN);
         $c->add(kuserPeer::TYPE, KuserType::GROUP);
         $kusers = kuserPeer::doSelect($c);
         if (!$kusers) {
             $response = new KalturaGroupUserListResponse();
             $response->objects = new KalturaGroupUserArray();
             $response->totalCount = 0;
             return $response;
         }
         $groupIdIn = array();
         foreach ($kusers as $kuser) {
             /* @var $kuser kuser */
             $groupIdIn[] = $kuser->getId();
         }
         $this->groupIdIn = implode(',', $groupIdIn);
     }
     $kuserKgroupFilter = $this->toObject();
     $c = KalturaCriteria::create(KuserKgroupPeer::OM_CLASS);
     $kuserKgroupFilter->attachToCriteria($c);
     $pager->attachToCriteria($c);
     $c->applyFilters();
     $list = KuserKgroupPeer::doSelect($c);
     $newList = KalturaGroupUserArray::fromDbArray($list, $responseProfile);
     $response = new KalturaGroupUserListResponse();
     $response->objects = $newList;
     $resultCount = count($newList);
     if ($resultCount && $resultCount < $pager->pageSize) {
         $totalCount = ($pager->pageIndex - 1) * $pager->pageSize + $resultCount;
     } else {
         KalturaFilterPager::detachFromCriteria($c);
         $totalCount = KuserKgroupPeer::doCount($c);
     }
     $response->totalCount = $totalCount;
     return $response;
 }
Example #7
0
 public static function sendNewUserMailToAdmins(kuser $user)
 {
     $partnerId = $user->getPartnerId();
     $creatorUserName = '******';
     if (!is_null(kCurrentContext::$ks_uid)) {
         $creatorUser = kuserPeer::getKuserByPartnerAndUid($partnerId, kCurrentContext::$ks_uid);
         if ($creatorUser) {
             $creatorUserName = $creatorUser->getFullName();
         }
     }
     $publisherName = PartnerPeer::retrieveByPK($partnerId)->getName();
     $loginEmail = $user->getEmail();
     $roleName = $user->getUserRoleNames();
     $puserId = $user->getPuserId();
     $bodyParams = null;
     $mailType = self::KALTURA_NEW_USER_EMAIL_TO_ADMINS;
     //If the new user partner is -2 (admin console) then it is a admin console user
     if ($partnerId == Partner::ADMIN_CONSOLE_PARTNER_ID) {
         $mailType = self::KALTURA_NEW_USER_ADMIN_CONSOLE_EMAIL_TO_ADMINS;
     }
     // get all partner administrators
     $c = new Criteria();
     $c->addAnd(kuserPeer::IS_ADMIN, true, Criteria::EQUAL);
     $c->addAnd(kuserPeer::PARTNER_ID, $partnerId, Criteria::EQUAL);
     $adminKusers = kuserPeer::doSelect($c);
     foreach ($adminKusers as $admin) {
         // don't send mail to the created user
         if ($admin->getId() == $user->getId()) {
             continue;
         }
         // send email to all administrators with user management permissions
         if ($admin->hasPermissionOr(array(PermissionName::ADMIN_USER_ADD, PermissionName::ADMIN_USER_UPDATE, PermissionName::ADMIN_USER_DELETE))) {
             $adminName = $admin->getFullName();
             if (!$adminName) {
                 $adminName = $admin->getPuserId();
             }
             $unsubscribeLink .= $admin->getEmail();
             $bodyParams = null;
             if ($partnerId == Partner::ADMIN_CONSOLE_PARTNER_ID) {
                 $bodyParams = array($adminName, $creatorUserName, $loginEmail, $roleName);
             } else {
                 $bodyParams = array($adminName, $creatorUserName, $publisherName, $loginEmail, $publisherName, $roleName, $publisherName, $partnerId);
             }
             // add mail job
             kJobsManager::addMailJob(null, 0, $partnerId, $mailType, kMailJobData::MAIL_PRIORITY_NORMAL, kConf::get("partner_registration_confirmation_email"), kConf::get("partner_registration_confirmation_name"), $admin->getEmail(), $bodyParams);
         }
     }
 }
 public function execute()
 {
     $this->forceSystemAuthentication();
     $source_kshow_id = $this->getP("source_kshow_id");
     $target_kshow_id = $this->getP("target_kshow_id");
     $kuser_names = $this->getP("kuser_names");
     $reset = $this->getP("reset");
     if ($reset) {
         $source_kshow_id = null;
         $target_kshow_id = null;
         $kuser_names = null;
     }
     $mode = 0;
     // view
     if ($source_kshow_id && $target_kshow_id && $kuser_names) {
         $mode = 1;
         // review
         $list_of_kuser_names = explode(",", $kuser_names);
         foreach ($list_of_kuser_names as &$name) {
             $name = trim($name);
         }
         $source_kshow = kshowPeer::retrieveByPK($source_kshow_id);
         $target_kshow = kshowPeer::retrieveByPK($target_kshow_id);
         $target_partner_id = $target_kshow->getPartnerId();
         $target_subp_id = $target_kshow->getSubpId();
         $c = new Criteria();
         // select only the kusers of the correct partner_id
         $c->add(kuserPeer::SCREEN_NAME, $list_of_kuser_names, Criteria::IN);
         $c->setLimit(10);
         //$c->add ( kuserPeer::PARTNER_ID , $target_partner_id );
         $list_of_kusers = kuserPeer::doSelect($c);
         $producer = kuserPeer::retrieveByPK($target_kshow->getProducerId());
         $list_of_kusers[] = $producer;
         $c->add(kuserPeer::PARTNER_ID, $target_partner_id);
         $list_of_valid_kusers = kuserPeer::doSelect($c);
         $list_of_valid_kusers[] = $producer;
         $c = new Criteria();
         $c->add(entryPeer::KSHOW_ID, $source_kshow_id);
         $c->add(entryPeer::TYPE, entryType::MEDIA_CLIP);
         $c->add(entryPeer::STATUS, entryStatus::READY);
         $entries = entryPeer::doSelectJoinAll($c);
         $entry_kusers = array();
         // assign each entry to a kuser
         foreach ($entries as $entry) {
             $place_in_array = count($entry_kusers) % count($list_of_valid_kusers);
             $kuser = $list_of_valid_kusers[$place_in_array];
             $entry_kusers[$entry->getId()] = $kuser->getId();
         }
         $clone = $this->getP("clone");
         if ($clone == 'true') {
             $mode = 2;
             // clone
             $entry_id_map = array();
             // will be used to map the source->target entries
             $entry_cache = array();
             // will be used to cache all relevat entries
             $new_entry_list = array();
             $failed_entry_list = array();
             foreach ($entries as $entry) {
                 try {
                     $kuser_id = $entry_kusers[$entry->getId()];
                     $override_fields = $entry->copy();
                     $override_fields->setPartnerId($target_kshow->getPartnerId());
                     $override_fields->setSubpId($target_kshow->getSubpId());
                     $override_fields->setKuserId($kuser_id);
                     $override_fields->setCreatorKuserId($kuser_id);
                     $new_entry = myEntryUtils::deepClone($entry, $target_kshow_id, $override_fields, false);
                     $new_entry_list[] = $new_entry;
                     // will help fix the metadata entries
                     $entry_id_map[$entry->getId()] = $new_entry->getId();
                     $entry_cache[$entry->getId()] = $entry;
                     $entry_cache[$new_entry->getId()] = $new_entry;
                 } catch (Exception $ex) {
                     $failed_entry_list[] = $entry;
                 }
                 //					echo "entry [{$entry->getId()}] copied<br>"; flush();
             }
             // now clone the show_entry
             $new_show_entry = $target_kshow->getShowEntry();
             myEntryUtils::deepCloneShowEntry($source_kshow->getShowEntry(), $new_show_entry, $entry_id_map, $entry_cache);
             $new_entry_list[] = $new_show_entry;
             $entries = $new_entry_list;
             $entry_kusers = null;
         }
         //			echo "ended!<bR>";			flush();
     }
     $this->source_kshow_id = @$source_kshow_id;
     $this->target_kshow_id = @$target_kshow_id;
     $this->partner_id = @$target_partner_id;
     $this->source_kshow = @$source_kshow;
     $this->target_kshow = @$target_kshow;
     $this->kuser_names = @$kuser_names;
     $this->list_of_kusers = @$list_of_kusers;
     $this->entries = @$entries;
     $this->mode = $mode;
     $this->entry_kusers = @$entry_kusers;
     //		echo "going to template!<bR>";		flush();
 }
 /**
  * Gives a system applicative snapsot
  */
 public function execute()
 {
     myDbHelper::$use_alternative_con = myDbHelper::DB_HELPER_CONN_PROPEL3;
     $this->forceSystemAuthentication();
     $partner_id = $this->getRequestParameter('partner_id', -1);
     if ($partner_id >= 0) {
         myPartnerUtils::applyPartnerFilters($partner_id);
     }
     $this->partner_id = $partner_id;
     $limit = $this->getRequestParameter('limit', '30');
     if ($limit > 300) {
         $limit = 300;
     }
     $bands_only = $this->getRequestParameter("bands", false) != null;
     $modified_only = $this->getRequestParameter("modified", false) != null;
     $this->bands_only = $bands_only;
     $this->modified_only = $modified_only;
     $this->kshows_with_new_entries = $modified_only ? dashboardUtils::getUpdatedKshows() : null;
     $yesterday = mktime(0, 0, 0, date("m"), date("d") - 1, date("Y"));
     $lastweek = mktime(0, 0, 0, date("m"), date("d") - 7, date("Y"));
     $query_esterday = date('Y-m-d', $yesterday);
     $query_lastweek = date('Y-m-d', $lastweek);
     $modified_band_ids = $modified_only ? array_keys($this->kshows_with_new_entries) : null;
     if ($modified_only) {
         // TODO - this chunk was copied from the code bellow with minor changes - generalize !
         $c = new Criteria();
         // 			$c->add ( kshowPeer::ID , $modified_band_ids , Criteria::IN ); // search only the given IDs
         $this->bandsOnly($bands_only, $modified_band_ids, $c, kshowPeer::PARTNER_ID);
         $this->kshow_count = kshowPeer::doCount($c);
         $criterion = $c->getNewCriterion(kshowPeer::CREATED_AT, $query_esterday, Criteria::GREATER_EQUAL);
         $c->add($criterion);
         $this->kshow_count1 = kshowPeer::doCount($c);
         $criterion = $c->getNewCriterion(kshowPeer::CREATED_AT, $query_lastweek, Criteria::GREATER_EQUAL);
         $c->add($criterion);
         $this->kshow_count7 = kshowPeer::doCount($c);
         $c->setLimit($limit);
         //$c->hints = array(kshowPeer::TABLE_NAME => "created_at_index");
         $c->addDescendingOrderByColumn(kshowPeer::CREATED_AT);
         $c->remove(kshowPeer::CREATED_AT);
         $c->addJoin(kshowPeer::PRODUCER_ID, kuserPeer::ID, Criteria::LEFT_JOIN);
         $this->kshows = kshowPeer::doSelectJoinkuser($c);
         $this->bands_only = $bands_only;
         $this->entry_count = 0;
         $this->entry_count1 = 0;
         $this->entry_count7 = 0;
         $this->entries = array();
         $this->kuser_count = 0;
         $this->kuser_count1 = 0;
         $this->kuser_count7 = 0;
         $this->kusers = array();
         dashboardUtils::updateKshowsRoughcutCount($this->kshows);
         return sfView::SUCCESS;
     }
     $c = new Criteria();
     $this->bandsOnly($bands_only, $modified_band_ids, $c, kshowPeer::PARTNER_ID);
     $this->kshow_count = kshowPeer::doCount($c);
     $d = new Criteria();
     $this->bandsOnly($bands_only, $modified_band_ids, $d, kshowPeer::PARTNER_ID);
     $criterion = $c->getNewCriterion(kshowPeer::CREATED_AT, $query_esterday, Criteria::GREATER_EQUAL);
     $d->add($criterion);
     $this->kshow_count1 = kshowPeer::doCount($d);
     $e = new Criteria();
     $this->bandsOnly($bands_only, $modified_band_ids, $e, kshowPeer::PARTNER_ID);
     $criterion = $c->getNewCriterion(kshowPeer::CREATED_AT, $query_lastweek, Criteria::GREATER_EQUAL);
     $e->add($criterion);
     $this->kshow_count7 = kshowPeer::doCount($e);
     //$this->kshow_count = kshowPeer::doCount( $c );
     $c->setLimit($limit);
     //$c->hints = array(kshowPeer::TABLE_NAME => "created_at_index");
     $c->addDescendingOrderByColumn(kshowPeer::CREATED_AT);
     $c->addJoin(kshowPeer::PRODUCER_ID, kuserPeer::ID, Criteria::LEFT_JOIN);
     $this->kshows = kshowPeer::doSelectJoinkuser($c);
     $c = new Criteria();
     $this->bandsOnly($bands_only, $modified_band_ids, $c, entryPeer::PARTNER_ID);
     $this->entry_count = entryPeer::doCount($c);
     $d = new Criteria();
     $this->bandsOnly($bands_only, $modified_band_ids, $d, entryPeer::PARTNER_ID);
     $criterion = $c->getNewCriterion(entryPeer::CREATED_AT, $query_esterday, Criteria::GREATER_EQUAL);
     $d->add($criterion);
     $this->entry_count1 = entryPeer::doCount($d);
     $e = new Criteria();
     $this->bandsOnly($bands_only, $modified_band_ids, $e, entryPeer::PARTNER_ID);
     $criterion = $c->getNewCriterion(entryPeer::CREATED_AT, $query_lastweek, Criteria::GREATER_EQUAL);
     $e->add($criterion);
     $this->entry_count7 = entryPeer::doCount($e);
     $c->setLimit($limit);
     //$c->hints = array(entryPeer::TABLE_NAME => "created_at_index");
     $c->addDescendingOrderByColumn(entryPeer::CREATED_AT);
     $c->add(entryPeer::TYPE, entryType::MEDIA_CLIP);
     // we don't want entries that
     //		$c->addJoin(entryPeer::KUSER_ID, kuserPeer::ID, Criteria::INNER_JOIN);
     //	    $c->addJoin(entryPeer::KSHOW_ID, kshowPeer::ID, Criteria::INNER_JOIN);
     $this->entries = entryPeer::doSelectJoinAll($c);
     $c = new Criteria();
     $this->bandsOnly($bands_only, $modified_band_ids, $c, kuserPeer::PARTNER_ID);
     $d = new Criteria();
     $this->bandsOnly($bands_only, $modified_band_ids, $d, kuserPeer::PARTNER_ID);
     $criterion = $c->getNewCriterion(kuserPeer::CREATED_AT, $query_esterday, Criteria::GREATER_EQUAL);
     $d->add($criterion);
     $this->kuser_count1 = kuserPeer::doCount($d);
     $e = new Criteria();
     $this->bandsOnly($bands_only, $modified_band_ids, $e, kuserPeer::PARTNER_ID);
     $criterion = $c->getNewCriterion(kuserPeer::CREATED_AT, $query_lastweek, Criteria::GREATER_EQUAL);
     $e->add($criterion);
     $this->kuser_count7 = kuserPeer::doCount($e);
     $this->kuser_count = kuserPeer::doCount($c);
     $c->setLimit($limit);
     $c->addDescendingOrderByColumn(kuserPeer::CREATED_AT);
     $this->kusers = kuserPeer::doSelect($c);
     dashboardUtils::updateKusersRoughcutCount($this->kusers);
     dashboardUtils::updateKshowsRoughcutCount($this->kshows);
     return sfView::SUCCESS;
 }
Example #10
0
}
if ($argc > 3 && is_numeric($argv[3])) {
    $c->add(kuserPeer::ID, $argv[3], Criteria::GREATER_EQUAL);
}
if ($argc > 4) {
    kuserPeer::setUseCriteriaFilter((bool) $argv[4]);
}
$c->addAscendingOrderByColumn(kuserPeer::UPDATED_AT);
$c->addAscendingOrderByColumn(kuserPeer::ID);
$c->setLimit(10000);
$con = myDbHelper::getConnection(myDbHelper::DB_HELPER_CONN_PROPEL2);
//$sphinxCon = DbManager::getSphinxConnection();
$entries = kuserPeer::doSelect($c, $con);
$sphinx = new kSphinxSearchManager();
while (count($entries)) {
    foreach ($entries as $entry) {
        /* @var $entry kuser */
        KalturaLog::log('kuser id ' . $entry->getId() . ' updated at ' . $entry->getUpdatedAt(null));
        try {
            $ret = $sphinx->saveToSphinx($entry, true);
        } catch (Exception $e) {
            KalturaLog::err($e->getMessage());
            exit - 1;
        }
    }
    $c->setOffset($c->getOffset() + count($entries));
    kMemoryManager::clearMemory();
    $entries = kuserPeer::doSelect($c, $con);
}
KalturaLog::log('Done. Cureent time: ' . time());
exit(0);
Example #11
0
 private static function findFirstValidKuser($loginDataId, $notPartnerId = null)
 {
     $c = new Criteria();
     $c->addAnd(kuserPeer::LOGIN_DATA_ID, $loginDataId);
     $c->addAnd(kuserPeer::STATUS, KuserStatus::ACTIVE, Criteria::EQUAL);
     if ($notPartnerId) {
         $c->addAnd(kuserPeer::PARTNER_ID, $notPartnerId, Criteria::NOT_EQUAL);
     }
     $c->addAscendingOrderByColumn(kuserPeer::PARTNER_ID);
     $kusers = kuserPeer::doSelect($c);
     foreach ($kusers as $kuser) {
         if ($kuser->getStatus() != KuserStatus::ACTIVE) {
             continue;
         }
         $partner = PartnerPeer::retrieveByPK($kuser->getPartnerId());
         if (!$partner || $partner->getStatus() != Partner::PARTNER_STATUS_ACTIVE) {
             continue;
         }
         return $kuser;
     }
     return null;
 }
 /**
  * Lists user objects that are associated with an account.
  * Blocked users are listed unless you use a filter to exclude them.
  * Deleted users are not listed unless you use a filter to include them.
  * 
  * @action list
  * @param KalturaUserFilter $filter A filter used to exclude specific types of users
  * @param KalturaFilterPager $pager A limit for the number of records to display on a page
  * @return KalturaUserListResponse The list of user objects
  */
 public function listAction(KalturaUserFilter $filter = null, KalturaFilterPager $pager = null)
 {
     if (!$filter) {
         $filter = new KalturaUserFilter();
     }
     if (!$pager) {
         $pager = new KalturaFilterPager();
     }
     $userFilter = new kuserFilter();
     $filter->toObject($userFilter);
     $c = KalturaCriteria::create(kuserPeer::OM_CLASS);
     $userFilter->attachToCriteria($c);
     if (!is_null($filter->roleIdEqual)) {
         $roleCriteria = new Criteria();
         $roleCriteria->add(KuserToUserRolePeer::USER_ROLE_ID, $filter->roleIdEqual);
         $roleCriteria->addSelectColumn(KuserToUserRolePeer::KUSER_ID);
         $rs = KuserToUserRolePeer::doSelectStmt($roleCriteria);
         $kuserIds = $rs->fetchAll(PDO::FETCH_COLUMN);
         $c->add(kuserPeer::ID, $kuserIds, KalturaCriteria::IN);
     }
     $c->addAnd(kuserPeer::PUSER_ID, NULL, KalturaCriteria::ISNOTNULL);
     $pager->attachToCriteria($c);
     $list = kuserPeer::doSelect($c);
     $totalCount = $c->getRecordsCount();
     $newList = KalturaUserArray::fromUserArray($list);
     $response = new KalturaUserListResponse();
     $response->objects = $newList;
     $response->totalCount = $totalCount;
     return $response;
 }
 public function getListResponse(KalturaFilterPager $pager, KalturaDetachedResponseProfile $responseProfile = null)
 {
     if ($this->userIdIn) {
         $usersIds = explode(',', $this->userIdIn);
         $partnerId = kCurrentContext::$partner_id ? kCurrentContext::$partner_id : kCurrentContext::$ks_partner_id;
         $c = new Criteria();
         $c->add(kuserPeer::PARTNER_ID, $partnerId, Criteria::EQUAL);
         $c->add(kuserPeer::PUSER_ID, $usersIds, Criteria::IN);
         $kusers = kuserPeer::doSelect($c);
         $usersIds = array();
         foreach ($kusers as $kuser) {
             /* @var $kuser kuser */
             $usersIds[] = $kuser->getId();
         }
         $this->userIdIn = implode(',', $usersIds);
     }
     if ($this->relatedGroupsByUserId) {
         $partnerId = kCurrentContext::$partner_id ? kCurrentContext::$partner_id : kCurrentContext::$ks_partner_id;
         $userIds = array();
         $c = new Criteria();
         $c->add(kuserPeer::PARTNER_ID, $partnerId);
         $c->add(kuserPeer::PUSER_ID, $this->relatedGroupsByUserId);
         $c->add(kuserPeer::TYPE, KuserType::USER);
         $kuser = kuserPeer::doSelectOne($c);
         if (!$kuser) {
             $response = new KalturaCategoryUserListResponse();
             $response->objects = new KalturaCategoryUserArray();
             $response->totalCount = 0;
             return $response;
         }
         $kgroupIds = KuserKgroupPeer::retrieveKgroupIdsByKuserId($kuser->getId());
         if (!is_null($kgroupIds) && is_array($kgroupIds)) {
             $userIds = $kgroupIds;
         }
         $userIds[] = $kuser->getId();
         // if userIdIn is also set in the filter need to intersect the two arrays.
         if (isset($this->userIdIn)) {
             $curUserIds = explode(',', $this->userIdIn);
             $userIds = array_intersect($curUserIds, $userIds);
         }
         $this->userIdIn = implode(',', $userIds);
     }
     if ($this->userIdEqual) {
         $partnerId = kCurrentContext::$partner_id ? kCurrentContext::$partner_id : kCurrentContext::$ks_partner_id;
         $c = new Criteria();
         $c->add(kuserPeer::PARTNER_ID, $partnerId);
         $c->add(kuserPeer::PUSER_ID, $this->userIdEqual);
         if (kCurrentContext::$ks_partner_id == Partner::BATCH_PARTNER_ID) {
             //batch should be able to get categoryUser of deleted users.
             kuserPeer::setUseCriteriaFilter(false);
         }
         // in case of more than one deleted kusers - get the last one
         $c->addDescendingOrderByColumn(kuserPeer::UPDATED_AT);
         $kuser = kuserPeer::doSelectOne($c);
         kuserPeer::setUseCriteriaFilter(true);
         if (!$kuser) {
             KalturaLog::debug('User not found');
             $response = new KalturaCategoryUserListResponse();
             $response->objects = new KalturaCategoryUserArray();
             $response->totalCount = 0;
             return $response;
         }
         $this->userIdEqual = $kuser->getId();
     }
     $categories = array();
     if ($this->categoryIdEqual) {
         $categories[] = categoryPeer::retrieveByPK($this->categoryIdEqual);
     } elseif ($this->categoryIdIn) {
         $categories = categoryPeer::retrieveByPKs(explode(',', $this->categoryIdIn));
     }
     $categoriesInheritanceRoot = array();
     foreach ($categories as $category) {
         /* @var $category category */
         if (is_null($category)) {
             continue;
         }
         if ($category->getInheritanceType() == InheritanceType::INHERIT) {
             if ($this->categoryDirectMembers && kCurrentContext::$master_partner_id == Partner::BATCH_PARTNER_ID) {
                 $categoriesInheritanceRoot[$category->getId()] = $category->getId();
             } else {
                 //if category inheris members - change filter to -> inherited from parent id = category->getIheritedParent
                 $categoriesInheritanceRoot[$category->getInheritedParentId()] = $category->getInheritedParentId();
             }
         } else {
             $categoriesInheritanceRoot[$category->getId()] = $category->getId();
         }
     }
     $this->categoryDirectMembers = null;
     $this->categoryIdEqual = null;
     $this->categoryIdIn = implode(',', $categoriesInheritanceRoot);
     //if filter had categories that doesn't exists or not entitled - should return 0 objects.
     if (count($categories) && !count($categoriesInheritanceRoot)) {
         $response = new KalturaCategoryUserListResponse();
         $response->totalCount = 0;
         return $response;
     }
     $categoryKuserFilter = $this->toObject();
     $c = KalturaCriteria::create(categoryKuserPeer::OM_CLASS);
     $categoryKuserFilter->attachToCriteria($c);
     $pager->attachToCriteria($c);
     $c->applyFilters();
     $list = categoryKuserPeer::doSelect($c);
     $totalCount = $c->getRecordsCount();
     $newList = KalturaCategoryUserArray::fromDbArray($list, $responseProfile);
     $response = new KalturaCategoryUserListResponse();
     $response->objects = $newList;
     $response->totalCount = $totalCount;
     return $response;
 }
 /**
  * Supports backward compatibility
  * returns all kusers of the puser
  */
 protected function getLoggedInUserIds()
 {
     $ret = array($this->getLoggedInPuserId());
     $c = new Criteria();
     $c->add(kuserPeer::PUSER_ID, $this->uid);
     $kusers = kuserPeer::doSelect($c);
     foreach ($kusers as $kuser) {
         $ret[] = $kuser->getId();
     }
     return $ret;
 }
Example #15
0
 /**
  * List users (When not set in the filter, blocked and deleted users will be returned too)
  * 
  * @action list
  * @param KalturaUserFilter $filter
  * @param KalturaFilterPager $pager
  * @return KalturaUserListResponse
  */
 public function listAction(KalturaUserFilter $filter = null, KalturaFilterPager $pager = null)
 {
     if (!$filter) {
         $filter = new KalturaUserFilter();
     }
     if (!$pager) {
         $pager = new KalturaFilterPager();
     }
     $userFilter = new kuserFilter();
     $filter->toObject($userFilter);
     $c = new Criteria();
     $c->addAnd(kuserPeer::PUSER_ID, NULL, Criteria::ISNOTNULL);
     $userFilter->attachToCriteria($c);
     $totalCount = kuserPeer::doCount($c);
     $pager->attachToCriteria($c);
     $list = kuserPeer::doSelect($c);
     $newList = KalturaUserArray::fromUserArray($list);
     $response = new KalturaUserListResponse();
     $response->objects = $newList;
     $response->totalCount = $totalCount;
     return $response;
 }
     KalturaLog::alert($msg);
     echo $msg . PHP_EOL;
     continue;
 }
 if ($kuser->getPartnerId() != $partnerId) {
     $msg = 'ERROR - Partner IDs are not the same for puserKuser [' . $lastPuserKuser . '] with partnerId [' . $partnerId . '] and kuser [' . $kuser->getId() . '] with partnerId [' . $kuser->getPartnerId() . ']';
     KalturaLog::alert($msg);
     echo $msg . PHP_EOL;
     continue;
 }
 if (is_null($kuser->getPuserId()) || strcmp($kuser->getPuserId(), '') === 0) {
     if (!is_null($puserId) && strcmp($puserId, '') !== 0) {
         $c = new Criteria();
         $c->addAnd(kuserPeer::PUSER_ID, $puserId, Criteria::EQUAL);
         $c->addAnd(kuserPeer::PARTNER_ID, $partnerId, Criteria::EQUAL);
         $otherKusers = kuserPeer::doSelect($c);
         if (count($otherKusers) > 0) {
             $msg = 'ERROR - Partner [' . $partnerId . '] already has a different kuser with puserId [' . $puserId . '] but puserKuser [' . $lastPuserKuser . '] is pointing to kuser [' . $kuserId . ']';
             KalturaLog::alert($msg);
             echo $msg . PHP_EOL;
             continue;
         } else {
             $kuser->setPuserId($puserId);
         }
     } else {
         $msg = 'ERROR - No puserId is set for puserKuser [' . $lastPuserKuser . '] or kuser [' . $kuserId . '] of partner id [' . $partnerId . ']';
         KalturaLog::alert($msg);
         echo $msg . PHP_EOL;
         continue;
     }
 } else {
 /**
  * 
  * Gets all the pusers from the kuser table
  * @param int $lastKuserId - the last puser id 
  * @param int $limit - the limit for the query
  */
 private function getAllPusersInKuser($lastKuserId, $limit)
 {
     $pusers = array();
     kuserPeer::clearInstancePool();
     $c = new Criteria();
     $c->add(kuserPeer::ID, $lastKuserId, Criteria::GREATER_THAN);
     // if case we have several entries in the same date (and we stop in the middle)
     $c->addAnd(kuserPeer::ID, null, Criteria::NOT_EQUAL);
     $c->addAnd(kuserPeer::ID, "", Criteria::NOT_EQUAL);
     if ($this->partnerId) {
         $c->addAnd(kuserPeer::PARTNER_ID, $this->partnerId, Criteria::EQUAL);
     }
     $c->addAnd(kuserPeer::PARTNER_ID, $this->ignorePartners, Criteria::NOT_IN);
     $c->addAscendingOrderByColumn(kuserPeer::ID);
     $c->setLimit($limit);
     kuserPeer::setUseCriteriaFilter(false);
     $kusers = kuserPeer::doSelect($c);
     kuserPeer::setUseCriteriaFilter(true);
     foreach ($kusers as $kuser) {
         //		$this->printToLog("Found puser with id [{$kuser->getPuserId()}], partner [{$kuser->getPartnerId()}] on Kuser [{$kuser->getId()}]");
         $pusers[] = new puserDetails($kuser->getPuserId(), $kuser->getPartnerId());
         file_put_contents($this->lastKuserFile, $kuser->getId());
     }
     return $pusers;
 }
Example #18
0
 public function getListResponse(KalturaFilterPager $pager, KalturaDetachedResponseProfile $responseProfile = null)
 {
     $userFilter = $this->toObject();
     $c = KalturaCriteria::create(kuserPeer::OM_CLASS);
     $userFilter->attachToCriteria($c);
     if (!is_null($this->roleIdEqual)) {
         $roleCriteria = new Criteria();
         $roleCriteria->add(KuserToUserRolePeer::USER_ROLE_ID, $this->roleIdEqual);
         $roleCriteria->addSelectColumn(KuserToUserRolePeer::KUSER_ID);
         $rs = KuserToUserRolePeer::doSelectStmt($roleCriteria);
         $kuserIds = $rs->fetchAll(PDO::FETCH_COLUMN);
         $c->add(kuserPeer::ID, $kuserIds, KalturaCriteria::IN);
     }
     if (is_null($this->typeEqual) && is_null($this->typeIn)) {
         $c->add(kuserPeer::TYPE, KuserType::USER, KalturaCriteria::EQUAL);
     }
     $c->addAnd(kuserPeer::PUSER_ID, NULL, KalturaCriteria::ISNOTNULL);
     $pager->attachToCriteria($c);
     $list = kuserPeer::doSelect($c);
     $totalCount = $c->getRecordsCount();
     $newList = KalturaUserArray::fromDbArray($list, $responseProfile);
     $response = new KalturaUserListResponse();
     $response->objects = $newList;
     $response->totalCount = $totalCount;
     return $response;
 }
        $newRole->save();
        if ($key === 'admin') {
            $partner = PartnerPeer::retrieveByPk(-2);
            $partner->setAdminSessionRoleId($newRole->getId());
            $partner->save();
        }
    }
}
//------------------------------------------------------
// get users
$c = new Criteria();
$c->addAscendingOrderByColumn(kuserPeer::ID);
$c->addAnd(kuserPeer::PARTNER_ID, ADMIN_CONSOLE_PARTNER_ID, Criteria::EQUAL);
kuserPeer::clearInstancePool();
kuserPeer::setUseCriteriaFilter(false);
$users = kuserPeer::doSelect($c);
kuserPeer::setUseCriteriaFilter(true);
// set relevant role to each user
foreach ($users as $user) {
    KalturaLog::log('Current user id [' . $user->getId() . ']');
    $partnerData = $user->getPartnerData();
    if ($partnerData) {
        $partnerData = unserialize($partnerData);
        $oldRole = $partnerData->role;
    } else {
        $oldRole = 'guest';
    }
    $newRole = getNewRole($oldRole, $userRoles);
    if (!$newRole) {
        KalturaLog::alert('ERROR - Critical error occured - skipping kuser id [' . $user->getId() . '] email [' . $user->getEmail() . ']!');
        continue;
 /**
  * List all categories
  * 
  * @action list
  * @param KalturaCategoryUserFilter $filter
  * @param KalturaFilterPager $pager
  * @return KalturaCategoryUserListResponse
  * @throws KalturaErrors::MUST_FILTER_USERS_OR_CATEGORY
  */
 function listAction(KalturaCategoryUserFilter $filter = null, KalturaFilterPager $pager = null)
 {
     if (!($filter->categoryIdEqual || $filter->categoryIdIn || $filter->userIdIn || $filter->userIdEqual)) {
         throw new KalturaAPIException(KalturaErrors::MUST_FILTER_USERS_OR_CATEGORY);
     }
     if (!$filter) {
         $filter = new KalturaCategoryUserFilter();
     }
     if (!$pager) {
         $pager = new kalturaFilterPager();
     }
     if ($filter->userIdIn) {
         $usersIds = explode(',', $filter->userIdIn);
         $partnerId = kCurrentContext::$partner_id ? kCurrentContext::$partner_id : kCurrentContext::$ks_partner_id;
         $c = new Criteria();
         $c->add(kuserPeer::PARTNER_ID, $partnerId, Criteria::EQUAL);
         $c->add(kuserPeer::PUSER_ID, $usersIds, Criteria::IN);
         $kusers = kuserPeer::doSelect($c);
         $usersIds = array();
         foreach ($kusers as $kuser) {
             $usersIds[] = $kuser->getId();
         }
         $filter->userIdIn = implode(',', $usersIds);
     }
     if ($filter->userIdEqual) {
         $partnerId = kCurrentContext::$partner_id ? kCurrentContext::$partner_id : kCurrentContext::$ks_partner_id;
         $c = new Criteria();
         $c->add(kuserPeer::PARTNER_ID, $partnerId);
         $c->add(kuserPeer::PUSER_ID, $filter->userIdEqual);
         $c->add(kuserPeer::STATUS, KuserStatus::ACTIVE);
         kuserPeer::setUseCriteriaFilter(false);
         $kuser = kuserPeer::doSelectOne($c);
         kuserPeer::setUseCriteriaFilter(true);
         //batch should be abke to get categoryUser of deleted users.
         if (!$kuser || $kuser->getStatus() != KuserStatus::ACTIVE && kCurrentContext::$ks_partner_id != Partner::BATCH_PARTNER_ID) {
             KalturaLog::debug('User not found');
             $response = new KalturaCategoryUserListResponse();
             $response->objects = new KalturaCategoryUserArray();
             $response->totalCount = 0;
             return $response;
         }
         $filter->userIdEqual = $kuser->getId();
     }
     $categories = array();
     if ($filter->categoryIdEqual) {
         $categories[] = categoryPeer::retrieveByPK($filter->categoryIdEqual);
     } elseif ($filter->categoryIdIn) {
         $categories = categoryPeer::retrieveByPKs(explode(',', $filter->categoryIdIn));
     }
     $categoriesInheritanceRoot = array();
     foreach ($categories as $category) {
         if (is_null($category)) {
             continue;
         }
         if ($category->getInheritanceType() == InheritanceType::INHERIT) {
             if ($filter->categoryDirectMembers && kCurrentContext::$master_partner_id == Partner::BATCH_PARTNER_ID) {
                 $categoriesInheritanceRoot[$category->getId()] = $category->getId();
             } else {
                 //if category inheris members - change filter to -> inherited from parent id = category->getIheritedParent
                 $categoriesInheritanceRoot[$category->getInheritedParentId()] = $category->getInheritedParentId();
             }
         } else {
             $categoriesInheritanceRoot[$category->getId()] = $category->getId();
         }
     }
     $filter->categoryDirectMembers = null;
     $filter->categoryIdEqual = null;
     $filter->categoryIdIn = implode(',', $categoriesInheritanceRoot);
     //if filter had categories that doesn't exists or not entitled - should return 0 objects.
     if (count($categories) && !count($categoriesInheritanceRoot)) {
         $response = new KalturaCategoryUserListResponse();
         $response->totalCount = 0;
         return $response;
     }
     $categoryKuserFilter = new categoryKuserFilter();
     $filter->toObject($categoryKuserFilter);
     $c = KalturaCriteria::create(categoryKuserPeer::OM_CLASS);
     $categoryKuserFilter->attachToCriteria($c);
     $c->applyFilters();
     $totalCount = categoryKuserPeer::doCount($c);
     $pager->attachToCriteria($c);
     $list = categoryKuserPeer::doSelect($c);
     $newList = KalturaCategoryUserArray::fromDbArray($list);
     $response = new KalturaCategoryUserListResponse();
     $response->objects = $newList;
     $response->totalCount = $totalCount;
     return $response;
 }
Example #21
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(kuserPeer::DATABASE_NAME);
         $criteria->add(kuserPeer::ID, $pks, Criteria::IN);
         $objs = kuserPeer::doSelect($criteria, $con);
     }
     return $objs;
 }