本文整理汇总了PHP中SJB_UserManager::saveUser方法的典型用法代码示例。如果您正苦于以下问题:PHP SJB_UserManager::saveUser方法的具体用法?PHP SJB_UserManager::saveUser怎么用?PHP SJB_UserManager::saveUser使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SJB_UserManager
的用法示例。
在下文中一共展示了SJB_UserManager::saveUser方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: execute
public function execute()
{
$user_info = SJB_UserManager::getCurrentUserInfo();
$field_id = isset($_REQUEST['field_id']) ? $_REQUEST['field_id'] : null;
if (is_null($field_id)) {
$errors['PARAMETERS_MISSED'] = 1;
} elseif (!isset($user_info[$field_id])) {
$errors['WRONG_PARAMETERS_SPECIFIED'] = 1;
} else {
$uploaded_file_id = $user_info[$field_id];
SJB_UploadFileManager::deleteUploadedFileByID($uploaded_file_id);
$user_info[$field_id] = "";
$user_info['email'] = array('original' => $user_info['email']);
$user = new SJB_User($user_info, $user_info['user_group_sid']);
$user->deleteProperty("active");
$user->deleteProperty('password');
$user->setSID(SJB_UserManager::getCurrentUserSID());
SJB_UserManager::saveUser($user);
}
$template_processor = SJB_System::getTemplateProcessor();
$template_processor->assign("errors", isset($errors) ? $errors : null);
$template_processor->display("delete_uploaded_file.tpl");
}
示例2: execute
public function execute()
{
$tp = SJB_System::getTemplateProcessor();
$errors = array();
$template = 'sub_accounts.tpl';
$currentUserInfo = SJB_UserManager::getCurrentUserInfo();
$listSubusers = false;
if (!empty($currentUserInfo['subuser']) && SJB_Request::getVar('action_name') != 'edit' && SJB_Request::getVar('user_id', 0) != $currentUserInfo['subuser']['sid']) {
$errors['ACCESS_DENIED'] = 'ACCESS_DENIED';
}
switch (SJB_Request::getVar('action_name')) {
case 'new':
$form_submitted = SJB_Request::getMethod() === SJB_Request::METHOD_POST;
$user_group_sid = $currentUserInfo['user_group_sid'];
$user_group_info = SJB_UserGroupManager::getUserGroupInfoBySID($user_group_sid);
$_REQUEST['user_group_id'] = $user_group_info['id'];
$user = SJB_ObjectMother::createUser($_REQUEST, $user_group_sid);
$props = $user->getProperties();
$allowedProperties = array('username', 'email', 'password');
foreach ($props as $prop) {
if (!in_array($prop->getID(), $allowedProperties)) {
$user->deleteProperty($prop->getID());
}
}
$registration_form = SJB_ObjectMother::createForm($user);
$registration_form->registerTags($tp);
if (SJB_UserGroupManager::isUserEmailAsUsernameInUserGroup($user_group_sid) && $form_submitted) {
$email = $user->getPropertyValue('email');
if (is_array($email)) {
$email = $email['original'];
}
$user->setPropertyValue('username', $email);
}
$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'));
}
//.........这里部分代码省略.........
示例3: execute
public function execute()
{
$tp = SJB_System::getTemplateProcessor();
$tp->assign('terms_of_use_check', SJB_System::getSettingByName('terms_of_use_check'));
$user_group_id = SJB_Request::getVar('user_group_id', null);
$form_submitted = isset($_REQUEST['action']) && $_REQUEST['action'] == 'register';
if (!is_null($user_group_id)) {
$user_group_sid = SJB_UserGroupManager::getUserGroupSIDByID($user_group_id);
/**
* check if registration is allowed for this UserGroup
*/
if (!SJB_SocialPlugin::ifRegistrationIsAllowedByUserGroupSID($user_group_sid)) {
return null;
}
$user_group_info = SJB_UserGroupManager::getUserGroupInfoBySID($user_group_sid);
$user = SJB_ObjectMother::createUser($_REQUEST, $user_group_sid);
$user->deleteProperty('active');
$user->deleteProperty('featured');
$errors = array();
// social plugin
if ($form_submitted) {
SJB_Event::dispatch('SocialPlugin_AddListingFieldsIntoRegistration', $user, true);
SJB_Event::dispatch('MakeRegistrationFieldsNotRequired_SocialPlugin', $user, true);
} else {
SJB_Event::dispatch('PrepareRegistrationFields_SocialPlugin', $user, true);
SJB_Event::dispatch('SocialPlugin_AddListingFieldsIntoRegistration', $user, true);
SJB_Event::dispatch('FillRegistrationData_Plugin', $user, true);
}
$registration_form = SJB_ObjectMother::createForm($user);
$registration_form->registerTags($tp);
if ($form_submitted && $registration_form->isDataValid($errors)) {
SJB_Event::dispatch('FillRegistrationData_Plugin', $user, true);
SJB_Event::dispatch('AddReferencePluginDetails', $user, true);
$user->deleteProperty('captcha');
$user->deleteProperty('active');
$user->deleteProperty('featured');
SJB_UserManager::saveUser($user);
SJB_Statistics::addStatistics('addUser', $user->getUserGroupSID(), $user->getSID(), false, 0, 0, false, 0, SJB_SocialPlugin::getNetwork());
SJB_Statistics::addStatistics('addUser' . SJB_SocialPlugin::getNetwork(), $user->getUserGroupSID(), $user->getSID(), false, 0, 0, false, 0, SJB_SocialPlugin::getNetwork());
// subscribe user on default product
$defaultProduct = SJB_UserGroupManager::getDefaultProduct($user_group_sid);
$availableProductIDs = SJB_ProductsManager::getProductsIDsByUserGroupSID($user_group_sid);
if ($defaultProduct && in_array($defaultProduct, $availableProductIDs)) {
$contract = new SJB_Contract(array('product_sid' => $defaultProduct));
$contract->setUserSID($user->getSID());
$contract->saveInDB();
}
SJB_SocialPlugin::sendUserSocialRegistrationLetter($user);
// notify administrator
SJB_AdminNotifications::sendAdminUserRegistrationLetter($user);
// Activation
$isSendActivationEmail = SJB_UserGroupManager::isSendActivationEmail($user_group_sid);
$isApproveByAdmin = SJB_UserGroupManager::isApproveByAdmin($user_group_sid);
if ($isApproveByAdmin) {
SJB_UserManager::setApprovalStatusByUserName($user->getUserName(), 'Pending');
}
if ($isSendActivationEmail) {
$isSent = SJB_Notifications::sendUserActivationLetter($user->getSID());
if ($isSent) {
$tp->display('../users/registration_confirm.tpl');
} else {
$tp->display('../users/registration_failed_to_send_activation_email.tpl');
}
} else {
if (!$isSendActivationEmail && $isApproveByAdmin) {
SJB_UserManager::setApprovalStatusByUserName($user->getUserName(), 'Pending');
$tp->display('../users/registration_pending.tpl');
} else {
SJB_UserManager::activateUserByUserName($user->getUserName());
$errors = array();
SJB_Authorization::login($user->getUserName(), $user->getPropertyValue('password'), false, $errors, false);
// save access token, profile info for synchronization
SJB_SocialPlugin::postRegistration();
$tp->assign('socialNetwork', SJB_SocialPlugin::getNetwork());
$pageId = !empty($user_group_info['after_registration_redirect_to']) ? $user_group_info['after_registration_redirect_to'] : '';
$redirectUrl = SJB_UserGroupManager::getRedirectUrlByPageID($pageId);
SJB_HelperFunctions::redirect($redirectUrl);
}
}
} else {
// social plugin
SJB_Event::dispatch('PrepareRegistrationFields_SocialPlugin', $user, true);
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);
$registration_form_template = '../users/registration_form.tpl';
if (isset($_REQUEST['reg_form_template'])) {
$registration_form_template = $_REQUEST['reg_form_template'];
} elseif (!empty($user_group_info['reg_form_template'])) {
$registration_form_template = $user_group_info['reg_form_template'];
}
$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);
//.........这里部分代码省略.........
示例4: updateSubscribeOnceUsersProperties
function updateSubscribeOnceUsersProperties($productSID, $userSID)
{
$unserialized_extra_info = SJB_ProductsManager::getProductInfoBySID($productSID);
$user = SJB_UserManager::getObjectBySID($userSID);
$already_subscribed = $user->getTrialProductSIDByUserSID();
if ($unserialized_extra_info['trial'] == 1) {
if (!in_array($productSID, $already_subscribed)) {
$already_subscribed[] = $productSID;
$value = $productSID;
if (count($already_subscribed) > 1) {
$value = implode(',', $already_subscribed);
}
$user->addProperty(array('id' => 'trial', 'type' => 'string', 'value' => $value, 'is_system' => true));
$user->deleteProperty('password');
SJB_UserManager::saveUser($user);
return true;
}
} else {
if (in_array($productSID, $already_subscribed)) {
$value = array_search($productSID, $already_subscribed);
unset($already_subscribed[$value]);
if (count($already_subscribed) > 1) {
$value = implode(',', $already_subscribed);
} else {
$value = array_pop($already_subscribed);
}
$user->addProperty(array('id' => 'trial', 'type' => 'string', 'value' => $value, 'is_system' => true));
$user->deleteProperty('password');
SJB_UserManager::saveUser($user);
}
}
return false;
}
示例5: createUser
public function createUser()
{
$user_group_id = SJB_Request::getVar('user_group_id');
if (!is_null($user_group_id)) {
$user_group_sid = SJB_UserGroupManager::getUserGroupSIDByID($user_group_id);
$user = SJB_ObjectMother::createUser($_REQUEST, $user_group_sid);
$user->deleteProperty('active');
$user->deleteProperty('featured');
$this->fillRegistrationDataWithUser($user);
self::addReferenceDetails($user);
$user->deleteProperty('captcha');
SJB_UserManager::saveUser($user);
// subscribe user on default product
$defaultProduct = SJB_UserGroupManager::getDefaultProduct($user_group_sid);
$available_products_ids = SJB_ProductsManager::getProductsByUserGroupSID($user_group_sid, $user->getSID());
if ($defaultProduct && in_array($defaultProduct, $available_products_ids)) {
$contract = new SJB_Contract(array('product_sid' => $defaultProduct));
$contract->setUserSID($user->getSID());
$contract->saveInDB();
}
$this->sendUserSocialRegistrationLetter($user);
// notifying administrator
SJB_AdminNotifications::sendAdminUserRegistrationLetter($user);
SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . '/my-account/');
}
}
示例6: execute
public function execute()
{
$tp = SJB_System::getTemplateProcessor();
$user_info = SJB_Authorization::getCurrentUserInfo();
if (!empty($user_info['subuser'])) {
SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . '/sub-accounts/edit/?user_id=' . $user_info['subuser']['sid']);
}
if (!empty($user_info)) {
$user_info = array_merge($user_info, $_REQUEST);
$username = $user_info['username'];
$user_group_info = SJB_UserGroupManager::getUserGroupInfoBySID($user_info['user_group_sid']);
$delete_profile = SJB_Request::getVar('command', '', 'post') == 'unregister-user';
$errors = array();
if ($delete_profile && SJB_Acl::getInstance()->isAllowed('delete_user_profile')) {
try {
$user = SJB_UserManager::getObjectBySID($user_info['sid']);
SJB_UserManager::deleteUserById($user_info['sid']);
SJB_AdminNotifications::sendAdminDeletingUserProfile($user, SJB_Request::getVar('reason', '', 'post'));
SJB_Authorization::logout();
$user_info = array();
SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . '/edit-profile/?profile_deleted=true');
} catch (Exception $e) {
$errors[] = $e->getMessage();
}
}
$user = new SJB_User($user_info, $user_info['user_group_sid']);
$user->setSID($user_info['sid']);
$user->deleteProperty("active");
$user->deleteProperty("featured");
$user->makePropertyNotRequired("password");
$user->getProperty('email')->type->disableEmailConfirmation();
$edit_profile_form = new SJB_Form($user);
$edit_profile_form->registerTags($tp);
$edit_profile_form->makeDisabled("username");
$form_submitted = SJB_Request::getVar('action', false) == 'save_info';
if ($form_submitted && $edit_profile_form->isDataValid($errors)) {
$password_value = $user->getPropertyValue('password');
if (empty($password_value['original'])) {
$user->deleteProperty('password');
}
SJB_UserManager::saveUser($user);
SJB_Authorization::updateCurrentUserSession();
// >>> SJB-1197
// needs to check session for ajax-uploaded files, and set it to user profile
$tmpUploadsStorage = SJB_Session::getValue('tmp_uploads_storage');
$formToken = SJB_Request::getVar('form_token');
if (!empty($formToken)) {
$tmpUploadedFields = SJB_Array::getPath($tmpUploadsStorage, $formToken);
if (!is_null($tmpUploadsStorage) && is_array($tmpUploadedFields)) {
// prepare user profile fields array
$userProfileFieldsInfo = SJB_UserProfileFieldManager::getAllFieldsInfo();
$userProfileFields = array();
foreach ($userProfileFieldsInfo as $field) {
$userProfileFields[$field['id']] = $field;
}
// look for temporary values
foreach ($tmpUploadedFields as $fieldId => $fieldInfo) {
// check field ID for valid ID in user profile fields
if (!array_key_exists($fieldId, $userProfileFields) || empty($fieldInfo)) {
continue;
}
$fieldType = $userProfileFields[$fieldId]['type'];
$profilePropertyId = $fieldId . '_' . $user->getSID();
switch (strtolower($fieldType)) {
case 'video':
case 'file':
// change temporary file ID
SJB_DB::query("UPDATE `uploaded_files` SET `id` = ?s WHERE `id` = ?s", $profilePropertyId, $fieldInfo['file_id']);
// set value of user property to new uploaded file
$user->setPropertyValue($fieldId, $profilePropertyId);
break;
case 'logo':
// change temporary file ID and thumb ID
SJB_DB::query("UPDATE `uploaded_files` SET `id` = ?s WHERE `id` = ?s", $profilePropertyId, $fieldInfo['file_id']);
SJB_DB::query("UPDATE `uploaded_files` SET `id` = ?s WHERE `id` = ?s", $profilePropertyId . '_thumb', $fieldInfo['file_id'] . '_thumb');
// set value of user property to new uploaded file
$user->setPropertyValue($fieldId, $profilePropertyId);
break;
default:
break;
}
$tmpUploadsStorage = SJB_Array::unsetValueByPath($tmpUploadsStorage, "{$formToken}/{$fieldId}");
}
// and save user with new fields data
SJB_UserManager::saveUser($user);
SJB_Authorization::updateCurrentUserSession();
// clean temporary storage
$tmpUploadsStorage = SJB_Array::unsetValueByPath($tmpUploadsStorage, "{$formToken}");
// CLEAR TEMPORARY SESSION STORAGE
SJB_Session::setValue('tmp_uploads_storage', $tmpUploadsStorage);
}
}
// <<< SJB-1197
$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)));
//.........这里部分代码省略.........
示例7: execute
public function execute()
{
$tp = SJB_System::getTemplateProcessor();
$errors = array();
$registration_form_template = 'registration_form.tpl';
if (SJB_Authorization::isUserLoggedIn()) {
$tp->display('already_logged_in.tpl');
return;
}
$tp->assign('terms_of_use_check', SJB_System::getSettingByName('terms_of_use_check'));
$user_group_id = SJB_Request::getVar('user_group_id', null);
if (!is_null($user_group_id)) {
$user_group_sid = SJB_UserGroupManager::getUserGroupSIDByID($user_group_id);
if (empty($user_group_sid)) {
$errors['NO_SUCH_USER_GROUP_IN_THE_SYSTEM'] = 1;
}
}
$this->setSessionValueForRedirectAfterRegister();
if (!is_null($user_group_id) && empty($errors)) {
$user_group_info = SJB_UserGroupManager::getUserGroupInfoBySID($user_group_sid);
$user = SJB_ObjectMother::createUser($_REQUEST, $user_group_sid);
if (SJB_Request::isAjax() || 'true' == SJB_Request::getVar('isajaxrequest')) {
$field = SJB_Request::getVar('type');
if ('email' == $field) {
$user->getProperty($field)->type->disableEmailConfirmation();
}
echo $user->getProperty($field)->isValid();
exit;
}
$user->deleteProperty('active');
$user->deleteProperty('featured');
$form_submitted = SJB_Request::getVar('action', false) == 'register';
if (class_exists('MobilePlugin') && MobilePlugin::isMobileThemeOn()) {
$user->prepareRegistrationFields();
}
$registration_form = SJB_ObjectMother::createForm($user);
$registration_form->registerTags($tp);
if (SJB_UserGroupManager::isUserEmailAsUsernameInUserGroup($user_group_sid) && $form_submitted) {
$email = $user->getPropertyValue('email');
if (is_array($email)) {
$email = $email['original'];
}
$user->setPropertyValue('username', $email);
}
if ($form_submitted && $registration_form->isDataValid($errors)) {
$user->deleteProperty('captcha');
$defaultProduct = SJB_UserGroupManager::getDefaultProduct($user_group_sid);
SJB_UserManager::saveUser($user);
SJB_Statistics::addStatistics('addUser', $user->getUserGroupSID(), $user->getSID());
$availableProductIDs = SJB_ProductsManager::getProductsIDsByUserGroupSID($user_group_sid);
if ($defaultProduct && in_array($defaultProduct, $availableProductIDs)) {
$contract = new SJB_Contract(array('product_sid' => $defaultProduct));
$contract->setUserSID($user->getSID());
$contract->saveInDB();
}
// >>> SJB-1197
// needs to check session for ajax-uploaded files, and set it to user profile
$formToken = SJB_Request::getVar('form_token');
$tmpUploadsStorage = SJB_Session::getValue('tmp_uploads_storage');
if (!empty($formToken)) {
$tmpUploadedFields = SJB_Array::getPath($tmpUploadsStorage, $formToken);
if (!is_null($tmpUploadsStorage) && is_array($tmpUploadedFields)) {
// prepare user profile fields array
$userProfileFieldsInfo = SJB_UserProfileFieldManager::getAllFieldsInfo();
$userProfileFields = array();
foreach ($userProfileFieldsInfo as $field) {
$userProfileFields[$field['id']] = $field;
}
// look for temporary values
foreach ($tmpUploadedFields as $fieldId => $fieldInfo) {
// check field ID for valid ID in user profile fields
if (!array_key_exists($fieldId, $userProfileFields) || empty($fieldInfo)) {
continue;
}
$fieldType = $userProfileFields[$fieldId]['type'];
$profilePropertyId = $fieldId . '_' . $user->getSID();
switch (strtolower($fieldType)) {
case 'video':
case 'file':
// change temporary file ID
SJB_DB::query("UPDATE `uploaded_files` SET `id` = ?s WHERE `id` = ?s", $profilePropertyId, $fieldInfo['file_id']);
// set value of user property to new uploaded file
$user->setPropertyValue($fieldId, $profilePropertyId);
break;
case 'logo':
// change temporary file ID and thumb ID
SJB_DB::query("UPDATE `uploaded_files` SET `id` = ?s WHERE `id` = ?s", $profilePropertyId, $fieldInfo['file_id']);
SJB_DB::query("UPDATE `uploaded_files` SET `id` = ?s WHERE `id` = ?s", $profilePropertyId . '_thumb', $fieldInfo['file_id'] . '_thumb');
// set value of user property to new uploaded file
$user->setPropertyValue($fieldId, $profilePropertyId);
break;
default:
break;
}
$tmpUploadsStorage = SJB_Array::unsetValueByPath($tmpUploadsStorage, "{$formToken}/{$fieldId}");
}
// save user with new values
SJB_UserManager::saveUser($user);
// clean temporary storage
$tmpUploadsStorage = SJB_Array::unsetValueByPath($tmpUploadsStorage, "{$formToken}");
//.........这里部分代码省略.........
示例8: execute
//.........这里部分代码省略.........
foreach ($imported_data as $key => $importedColumn) {
if ($key == 1) {
$imported_user_processor = new SJB_ImportedUserProcessor($importedColumn, $user);
continue;
}
if (!$importedColumn) {
continue;
}
$userInfo = $imported_user_processor->getData($importedColumn);
$extUserID = isset($userInfo['extUserID']) ? $userInfo['extUserID'] : '';
$user = $this->CreateUser(array(), $user_group_id);
$user->addExtUserIDProperty();
$doc = new DOMDocument();
foreach ($user->getProperties() as $property) {
if ($property->id == 'active') {
$property->type->property_info['value'] = $property->value;
} elseif ($property->getType() == 'location') {
$locationFields = array($property->id . '.Country', $property->id . '.State', $property->id . '.City', $property->id . '.ZipCode', $property->id . '.Address');
$locationFieldAdded = array();
foreach ($locationFields as $locationField) {
if (array_key_exists($locationField, $userInfo)) {
switch ($locationField) {
case $property->id . '.Country':
$value = SJB_CountriesManager::getCountrySIDByCountryName($userInfo[$locationField]);
if (!$value) {
$value = SJB_CountriesManager::getCountrySIDByCountryCode($userInfo[$locationField]);
}
break;
case $property->id . '.State':
$value = SJB_StatesManager::getStateSIDByStateName($userInfo[$locationField]);
if (!$value) {
$value = SJB_StatesManager::getStateSIDByStateCode($userInfo[$locationField]);
}
break;
default:
$value = $userInfo[$locationField];
break;
}
unset($userInfo[$locationField]);
$userInfo[$property->id][str_replace($property->id . '.', '', $locationField)] = $value;
$locationFieldAdded[] = str_replace($property->id . '.', '', $locationField);
}
}
if ($property->id == 'Location') {
$locationFields = array('Country', 'State', 'City', 'ZipCode', 'Address');
foreach ($locationFields as $locationField) {
if (array_key_exists($locationField, $userInfo) && !in_array($locationField, $locationFieldAdded) && !$user->getProperty($locationField)) {
switch ($locationField) {
case 'Country':
$value = SJB_CountriesManager::getCountrySIDByCountryName($userInfo[$locationField]);
if (!$value) {
$value = SJB_CountriesManager::getCountrySIDByCountryCode($userInfo[$locationField]);
}
break;
case 'State':
$value = SJB_StatesManager::getStateSIDByStateName($userInfo[$locationField]);
if (!$value) {
$value = SJB_StatesManager::getStateSIDByStateCode($userInfo[$locationField]);
}
break;
default:
$value = $userInfo[$locationField];
break;
}
$userInfo[$property->id][$locationField] = $value;
unset($userInfo[$locationField]);
}
}
}
}
}
$user = $this->CreateUser($userInfo, $user_group_id);
$user->addExtUserIDProperty($extUserID);
$username = SJB_Array::get($userInfo, 'username');
if (empty($username)) {
$errors[] = 'Empty username is not allowed, record ignored.';
} elseif (!is_null(SJB_UserManager::getUserSIDbyUsername($username))) {
$errors[] = '\'' . $userInfo['username'] . '\' - this user name already exists, record ignored.';
} else {
$originalMd5Password = $user->getPropertyValue('password');
SJB_UserManager::saveUser($user);
$this->extraProperties($user, $userInfo, $usersID);
if (!empty($originalMd5Password)) {
SJB_UserManager::saveUserPassword($user->getSID(), $originalMd5Password);
}
$isApproveByAdmin = SJB_UserGroupManager::isApproveByAdmin($user_group_sid);
if ($isApproveByAdmin) {
SJB_UserManager::setApprovalStatusByUserName($user->getUserName(), 'Pending');
}
$count++;
}
}
if ($import_file_url) {
SJB_Filesystem::delete(SJB_System::getSystemSettings("IMPORT_FILES_DIRECTORY"));
}
$template_processor->assign('imported_users_count', $count);
$template_processor->assign('errors', $errors);
$template_processor->display('import_users_result.tpl');
}
}
示例9: execute
public function execute()
{
$tp = SJB_System::getTemplateProcessor();
$parent_name = null;
$user_sid = SJB_Request::getVar('user_sid', false);
if (!is_null($user_sid)) {
$user_info = SJB_UserManager::getUserInfoBySID($user_sid);
$user_info = array_merge($user_info, $_REQUEST);
$form_submitted = SJB_Request::getVar('action_name');
$user = new SJB_User($user_info, $user_info['user_group_sid']);
if (!empty($user_info['parent_sid'])) {
$props = $user->getProperties();
$allowedProperties = array('username', 'email', 'password');
foreach ($props as $prop) {
if (!in_array($prop->getID(), $allowedProperties)) {
$user->deleteProperty($prop->getID());
}
}
$parent_name = SJB_UserManager::getUserNameByUserSID($user_info['parent_sid']);
}
$user->setSID($user_info['sid']);
$user->getProperty('email')->type->disableEmailConfirmation();
$user->deleteProperty("active");
$user->makePropertyNotRequired("password");
if (SJB_UserGroupManager::isUserEmailAsUsernameInUserGroup($user_info['user_group_sid'])) {
if ($form_submitted) {
$email = $user->getPropertyValue('email');
if (is_array($email)) {
$email = $email['original'];
}
$user->setPropertyValue('username', $email);
}
}
$user->addExtUserIDProperty($user_info['extUserID']);
$edit_user_form = new SJB_Form($user);
$errors = array();
if ($form_submitted && $edit_user_form->isDataValid($errors)) {
$password_value = $user->getPropertyValue('password');
$properties = null;
if (empty($password_value['original'])) {
$properties = $user->getProperties();
$user->deleteProperty('password');
}
SJB_UserManager::saveUser($user);
// >>> SJB-1197
// needs to check session for ajax-uploaded files, and set it to user profile
$tmpUploadsStorage = SJB_Session::getValue('tmp_uploads_storage');
$formToken = SJB_Request::getVar('form_token');
if (!empty($formToken)) {
$tmpUploadedFields = SJB_Array::getPath($tmpUploadsStorage, $formToken);
if (!is_null($tmpUploadsStorage) && is_array($tmpUploadedFields)) {
// prepare user profile fields array
$userProfileFieldsInfo = SJB_UserProfileFieldManager::getAllFieldsInfo();
$userProfileFields = array();
foreach ($userProfileFieldsInfo as $field) {
$userProfileFields[$field['id']] = $field;
}
// look for temporary values
foreach ($tmpUploadedFields as $fieldId => $fieldInfo) {
// check field ID for valid ID in user profile fields
if (!array_key_exists($fieldId, $userProfileFields) || empty($fieldInfo)) {
continue;
}
$fieldType = $userProfileFields[$fieldId]['type'];
$profilePropertyId = $fieldId . '_' . $user->getSID();
switch (strtolower($fieldType)) {
case 'video':
case 'file':
// change temporary file ID
SJB_DB::query("UPDATE `uploaded_files` SET `id` = ?s WHERE `id` = ?s", $profilePropertyId, $fieldInfo['file_id']);
// set value of user property to new uploaded file
$user->setPropertyValue($fieldId, $profilePropertyId);
break;
case 'logo':
// change temporary file ID and thumb ID
SJB_DB::query("UPDATE `uploaded_files` SET `id` = ?s WHERE `id` = ?s", $profilePropertyId, $fieldInfo['file_id']);
SJB_DB::query("UPDATE `uploaded_files` SET `id` = ?s WHERE `id` = ?s", $profilePropertyId . '_thumb', $fieldInfo['file_id'] . '_thumb');
// set value of user property to new uploaded file
$user->setPropertyValue($fieldId, $profilePropertyId);
break;
default:
break;
}
$tmpUploadsStorage = SJB_Array::unsetValueByPath($tmpUploadsStorage, "{$formToken}/{$fieldId}");
}
// and save user with new fields data
SJB_UserManager::saveUser($user);
SJB_Authorization::updateCurrentUserSession();
// clean temporary storage
$tmpUploadsStorage = SJB_Array::unsetValueByPath($tmpUploadsStorage, "{$formToken}");
// CLEAR TEMPORARY SESSION STORAGE
SJB_Session::setValue('tmp_uploads_storage', $tmpUploadsStorage);
}
}
// <<< SJB-1197
if (SJB_Request::isAjax()) {
echo "<p class=\"green\">User Saved</p>";
exit;
}
if ($form_submitted == 'save_info') {
//.........这里部分代码省略.........
示例10: execute
public function execute()
{
$tp = SJB_System::getTemplateProcessor();
$extUserID = SJB_Request::getVar('extUserID', null);
$passedParametersViaUri = SJB_UrlParamProvider::getParams();
$userGroupID = $passedParametersViaUri ? array_shift($passedParametersViaUri) : false;
if (!$userGroupID) {
$userGroupsInfo = SJB_UserGroupManager::getAllUserGroupsInfo();
$tp->assign('user_groups_info', $userGroupsInfo);
$tp->display('add_user_choose_user_group.tpl');
} else {
$userGroupSID = SJB_UserGroupManager::getUserGroupSIDByID($userGroupID);
$userGroupInfo = SJB_UserGroupManager::getUserGroupInfoBySID($userGroupSID);
$user = SJB_ObjectMother::createUser($_REQUEST, $userGroupSID);
$user->deleteProperty('active');
$user->addExtUserIDProperty($extUserID);
$registration_form = SJB_ObjectMother::createForm($user);
$registration_form->registerTags($tp);
$form_submitted = SJB_Request::getVar('action', '') == 'add';
$errors = array();
if (SJB_UserGroupManager::isUserEmailAsUsernameInUserGroup($userGroupSID) && $form_submitted) {
$email = $user->getPropertyValue('email');
if (is_array($email)) {
$email = $email['original'];
}
$user->setPropertyValue('username', $email);
}
if ($form_submitted && $registration_form->isDataValid($errors)) {
SJB_UserManager::saveUser($user);
// >>> SJB-1197
// needs to check session for ajax-uploaded files, and set it to user profile
$tmpUploadsStorage = SJB_Session::getValue('tmp_uploads_storage');
$formToken = SJB_Request::getVar('form_token');
if (!empty($formToken)) {
$tmpUploadedFields = SJB_Array::getPath($tmpUploadsStorage, $formToken);
if (!is_null($tmpUploadsStorage) && is_array($tmpUploadedFields)) {
// prepare user profile fields array
$userProfileFieldsInfo = SJB_UserProfileFieldManager::getAllFieldsInfo();
$userProfileFields = array();
foreach ($userProfileFieldsInfo as $field) {
$userProfileFields[$field['id']] = $field;
}
// look for temporary values
foreach ($tmpUploadedFields as $fieldId => $fieldInfo) {
// check field ID for valid ID in user profile fields
if (!array_key_exists($fieldId, $userProfileFields) || empty($fieldInfo)) {
continue;
}
$fieldType = $userProfileFields[$fieldId]['type'];
$profilePropertyId = $fieldId . '_' . $user->getSID();
switch (strtolower($fieldType)) {
case 'video':
case 'file':
// change temporary file ID
SJB_DB::query("UPDATE `uploaded_files` SET `id` = ?s WHERE `id` = ?s", $profilePropertyId, $fieldInfo['file_id']);
// set value of user property to new uploaded file
$user->setPropertyValue($fieldId, $profilePropertyId);
break;
case 'logo':
// change temporary file ID and thumb ID
SJB_DB::query("UPDATE `uploaded_files` SET `id` = ?s WHERE `id` = ?s", $profilePropertyId, $fieldInfo['file_id']);
SJB_DB::query("UPDATE `uploaded_files` SET `id` = ?s WHERE `id` = ?s", $profilePropertyId . '_thumb', $fieldInfo['file_id'] . '_thumb');
// set value of user property to new uploaded file
$user->setPropertyValue($fieldId, $profilePropertyId);
break;
default:
break;
}
$tmpUploadsStorage = SJB_Array::unsetValueByPath($tmpUploadsStorage, "{$formToken}/{$fieldId}");
}
// and save user with new fields data
SJB_UserManager::saveUser($user);
// clean temporary storage
$tmpUploadsStorage = SJB_Array::unsetValueByPath($tmpUploadsStorage, "{$formToken}");
// CLEAR TEMPORARY SESSION STORAGE
SJB_Session::setValue('tmp_uploads_storage', $tmpUploadsStorage);
}
}
// <<< SJB-1197
SJB_UserManager::activateUserByUserName($user->getUserName());
$defaultProduct = SJB_UserGroupManager::getDefaultProduct($userGroupSID);
$availableProductIDs = SJB_ProductsManager::getProductsIDsByUserGroupSID($userGroupSID);
if ($defaultProduct && in_array($defaultProduct, $availableProductIDs)) {
$contract = new SJB_Contract(array('product_sid' => $defaultProduct));
$contract->setUserSID($user->getSID());
$contract->saveInDB();
}
SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . "/manage-users/" . mb_strtolower($userGroupInfo['id'], 'utf8'));
} else {
if (SJB_UserGroupManager::isUserEmailAsUsernameInUserGroup($userGroupSID)) {
$user->deleteProperty('username');
}
$registration_form = SJB_ObjectMother::createForm($user);
$registration_form->registerTags($tp);
$tp->assign("errors", $errors);
$tp->assign("user_group", $userGroupInfo);
$tp->assign('userTree', true);
$tp->assign("form_fields", $registration_form->getFormFieldsInfo());
$tp->assign("uploadMaxFilesize", SJB_UploadFileManager::getIniUploadMaxFilesize());
$tp->display("add_user.tpl");
//.........这里部分代码省略.........