本文整理汇总了PHP中SJB_UserManager::getSubusers方法的典型用法代码示例。如果您正苦于以下问题:PHP SJB_UserManager::getSubusers方法的具体用法?PHP SJB_UserManager::getSubusers怎么用?PHP SJB_UserManager::getSubusers使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SJB_UserManager
的用法示例。
在下文中一共展示了SJB_UserManager::getSubusers方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: execute
//.........这里部分代码省略.........
}
$registration_form = SJB_ObjectMother::createForm($user);
if ($form_submitted && $registration_form->isDataValid($errors)) {
$user->addParentProperty($currentUserInfo['sid']);
$subuserPermissions = array('subuser_add_listings' => array('title' => 'Add new listings', 'value' => 'deny'), 'subuser_manage_listings' => array('title' => 'Manage listings and applications of other sub users', 'value' => 'deny'), 'subuser_manage_subscription' => array('title' => 'View and update subscription', 'value' => 'deny'), 'subuser_use_screening_questionnaires' => array('title' => 'Manage Questionnaries', 'value' => 'deny'));
SJB_UserManager::saveUser($user);
SJB_Statistics::addStatistics('addSubAccount', $user->getUserGroupSID(), $user->getSID());
SJB_Acl::clearPermissions('user', $user->getSID());
foreach ($subuserPermissions as $permissionID => $permission) {
$allowDeny = SJB_Request::getVar($permissionID, 'deny');
$subuserPermissions[$permissionID]['value'] = $allowDeny;
SJB_Acl::allow($permissionID, 'user', $user->getSID(), $allowDeny);
}
SJB_UserManager::activateUserByUserName($user->getUserName());
SJB_Notifications::sendSubuserRegistrationLetter($user, SJB_Request::get(), $subuserPermissions);
$tp->assign('isSubuserRegistered', true);
$listSubusers = true;
} else {
if (SJB_UserGroupManager::isUserEmailAsUsernameInUserGroup($user_group_sid)) {
$user->deleteProperty("username");
}
$registration_form = SJB_ObjectMother::createForm($user);
if ($form_submitted) {
$registration_form->isDataValid($errors);
}
$registration_form->registerTags($tp);
$form_fields = $registration_form->getFormFieldsInfo();
$user_group_info = SJB_UserGroupManager::getUserGroupInfoBySID($user_group_sid);
$tp->assign("user_group_info", $user_group_info);
$tp->assign("errors", $errors);
$tp->assign("form_fields", $form_fields);
$metaDataProvider = SJB_ObjectMother::getMetaDataProvider();
$tp->assign("METADATA", array("form_fields" => $metaDataProvider->getFormFieldsMetadata($form_fields)));
$tp->display('subuser_registration_form.tpl');
}
break;
case 'edit':
$userInfo = SJB_UserManager::getUserInfoBySID(SJB_Request::getVar('user_id', 0));
if (!empty($userInfo) && $userInfo['parent_sid'] === $currentUserInfo['sid']) {
$userInfo = array_merge($userInfo, $_REQUEST);
$user_group_info = SJB_UserGroupManager::getUserGroupInfoBySID($currentUserInfo['user_group_sid']);
$user = new SJB_User($userInfo, $userInfo['user_group_sid']);
$user->setSID($userInfo['sid']);
$user->addParentProperty($currentUserInfo['sid']);
$props = $user->getProperties();
$allowedProperties = array('username', 'email', 'password');
foreach ($props as $prop) {
if (!in_array($prop->getID(), $allowedProperties)) {
$user->deleteProperty($prop->getID());
}
}
$user->makePropertyNotRequired("password");
$edit_profile_form = SJB_ObjectMother::createForm($user);
$edit_profile_form->registerTags($tp);
$edit_profile_form->makeDisabled("username");
$form_submitted = SJB_Request::getMethod() == SJB_Request::METHOD_POST;
if (empty($errors) && $form_submitted && $edit_profile_form->isDataValid($errors)) {
$password_value = $user->getPropertyValue('password');
if (empty($password_value['original'])) {
$user->deleteProperty('password');
}
$currentUser = SJB_UserManager::getCurrentUser();
if (!$currentUser->isSubuser()) {
$subuserPermissions = array('subuser_add_listings', 'subuser_manage_listings', 'subuser_manage_subscription', 'subuser_use_screening_questionnaires');
SJB_Acl::clearPermissions('user', $user->getSID());
foreach ($subuserPermissions as $permission) {
SJB_Acl::allow($permission, 'user', $user->getSID(), SJB_Request::getVar($permission, 'deny'));
}
}
SJB_UserManager::saveUser($user);
$tp->assign("form_is_submitted", true);
} else {
$tp->assign("errors", $errors);
}
$form_fields = $edit_profile_form->getFormFieldsInfo();
$metaDataProvider = SJB_ObjectMother::getMetaDataProvider();
$tp->assign("METADATA", array("form_fields" => $metaDataProvider->getFormFieldsMetadata($form_fields)));
$tp->assign("form_fields", $form_fields);
$tp->assign('user_info', $userInfo);
$tp->display('edit_subuser_profile.tpl');
}
break;
case 'delete':
$users = SJB_Request::getVar('user_id', array());
foreach ($users as $user) {
SJB_UserManager::deleteUserById($user);
}
$listSubusers = true;
break;
default:
$listSubusers = true;
break;
}
if ($listSubusers) {
$tp->assign('errors', $errors);
$tp->assign('subusers', SJB_UserManager::getSubusers($currentUserInfo['sid']));
$tp->assign('isEmailAsUsername', SJB_UserGroupManager::isUserEmailAsUsernameInUserGroup($currentUserInfo['user_group_sid']));
$tp->display($template);
}
}
示例2: execute
//.........这里部分代码省略.........
$aliases->addAlias($listingTypeIdAliasInfo);
$foundListingsSIDs = $searcher->getObjectsSIDsByCriteria($criteria, $aliases, $sortingFields, $innerJoin);
$searchFormBuilder = new SJB_SearchFormBuilder($listing);
$searchFormBuilder->registerTags($tp);
$searchFormBuilder->setCriteria($criteria);
// получим информацию о имеющихся листингах
$listingsInfo = array();
$currentUserInfo = SJB_UserManager::getCurrentUserInfo();
$contractInfo['extra_info']['listing_amount'] = 0;
if ($acl->isAllowed('post_' . $this->listingTypeID)) {
$permissionParam = $acl->getPermissionParams('post_' . $this->listingTypeID);
if (empty($permissionParam)) {
$contractInfo['extra_info']['listing_amount'] = 'unlimited';
} else {
$contractInfo['extra_info']['listing_amount'] = $permissionParam;
}
}
$currentUser = SJB_UserManager::getCurrentUser();
$contractsSIDs = $currentUser->getContractID();
$listingsInfo['listingsNum'] = SJB_ContractManager::getListingsNumberByContractSIDsListingType($contractsSIDs, $this->listingTypeID);
$listingsInfo['listingsMax'] = $contractInfo['extra_info']['listing_amount'];
if ($listingsInfo['listingsMax'] === 'unlimited') {
$listingsInfo['listingsLeft'] = 'unlimited';
} else {
$listingsInfo['listingsLeft'] = $listingsInfo['listingsMax'] - $listingsInfo['listingsNum'];
$listingsInfo['listingsLeft'] = $listingsInfo['listingsLeft'] < 0 ? 0 : $listingsInfo['listingsLeft'];
}
$tp->assign('listingTypeID', $this->listingTypeID);
$tp->assign('listingTypeName', SJB_ListingTypeManager::getListingTypeNameBySID($this->listingTypeSID));
$tp->assign('listingsInfo', $listingsInfo);
$tp->display('my_listings_form.tpl');
$page = SJB_Request::getVar('page', 1);
$listingsPerPage = $criteriaSaver->getListingsPerPage();
//save 'listings per page' in the session
if (empty($listingsPerPage)) {
$listingsPerPage = 10;
}
$listingsPerPage = SJB_Request::getVar('listings_per_page', $listingsPerPage);
$criteriaSaver->setSessionForListingsPerPage($listingsPerPage);
$criteriaSaver->setSessionForCurrentPage($page);
$criteriaSaver->setSessionForCriteria($_REQUEST);
$criteriaSaver->setSessionForOrderInfo($orderInfo);
$criteriaSaver->setSessionForObjectSIDs($foundListingsSIDs);
// get Applications
$appsGroups = SJB_Applications::getAppGroupsByEmployer($currentUserInfo['sid']);
$apps = array();
foreach ($appsGroups as $group) {
$apps[$group['listing_id']] = $group['count'];
}
$searchCriteriaStructure = $criteriaSaver->createTemplateStructureForCriteria();
$listingSearchStructure = $criteriaSaver->createTemplateStructureForSearch();
/**************** P A G I N G *****************/
if ($listingSearchStructure['current_page'] > $listingSearchStructure['pages_number']) {
$listingSearchStructure['current_page'] = $listingSearchStructure['pages_number'];
}
if ($listingSearchStructure['current_page'] < 1) {
$listingSearchStructure['current_page'] = 1;
}
$sortedFoundListingsSIDsByPages = array_chunk($foundListingsSIDs, $listingSearchStructure['listings_per_page'], true);
/************* S T R U C T U R E **************/
$listingsStructure = array();
$listingStructureMetaData = array();
if (isset($sortedFoundListingsSIDsByPages[$listingSearchStructure['current_page'] - 1])) {
foreach ($sortedFoundListingsSIDsByPages[$listingSearchStructure['current_page'] - 1] as $sid) {
$listing = SJB_ListingManager::getObjectBySID($sid);
$listing->addPicturesProperty();
$listingStructure = SJB_ListingManager::createTemplateStructureForListing($listing);
$listingsStructure[$listing->getID()] = $listingStructure;
if (isset($listingStructure['METADATA'])) {
$listingStructureMetaData = array_merge($listingStructureMetaData, $listingStructure['METADATA']);
}
}
}
/*************** D I S P L A Y ****************/
$metaDataProvider = SJB_ObjectMother::getMetaDataProvider();
$metadata = array();
$metadata['listing'] = $metaDataProvider->getMetaData($listingStructureMetaData);
$waitApprove = SJB_ListingTypeManager::getWaitApproveSettingByListingType($this->listingTypeSID);
$tp->assign('show_rates', SJB_Settings::getSettingByName('show_rates'));
$tp->assign('show_comments', SJB_Settings::getSettingByName('show_comments'));
$tp->assign('METADATA', $metadata);
$tp->assign('sorting_field', $listingSearchStructure['sorting_field']);
$tp->assign('sorting_order', $listingSearchStructure['sorting_order']);
$tp->assign('property', $this->getSortableProperties());
$tp->assign('listing_search', $listingSearchStructure);
$tp->assign('search_criteria', $searchCriteriaStructure);
$tp->assign('listings', $listingsStructure);
$tp->assign('waitApprove', $waitApprove);
$tp->assign('apps', $apps);
$hasSubusersWithListings = false;
$subusers = SJB_UserManager::getSubusers($currentUserInfo['sid']);
foreach ($subusers as $subuser) {
if ($acl->isAllowed('subuser_add_listings', $subuser['sid']) || $acl->isAllowed('subuser_manage_listings', $subuser['sid'])) {
$hasSubusersWithListings = true;
break;
}
}
$tp->assign('hasSubusersWithListings', $hasSubusersWithListings);
$tp->display('my_listings.tpl');
}