本文整理汇总了PHP中ca_users::setPreference方法的典型用法代码示例。如果您正苦于以下问题:PHP ca_users::setPreference方法的具体用法?PHP ca_users::setPreference怎么用?PHP ca_users::setPreference使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ca_users
的用法示例。
在下文中一共展示了ca_users::setPreference方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: Save
/**
*
*/
public function Save()
{
// Field to user profile preference mapping
$va_mapping = array('billing_organization' => 'user_profile_organization', 'billing_address1' => 'user_profile_address1', 'billing_address2' => 'user_profile_address2', 'billing_city' => 'user_profile_city', 'billing_zone' => 'user_profile_state', 'billing_postal_code' => 'user_profile_postalcode', 'billing_country' => 'user_profile_country', 'billing_phone' => 'user_profile_phone', 'billing_fax' => 'user_profile_fax', 'shipping_organization' => 'user_profile_organization', 'shipping_address1' => 'user_profile_address1', 'shipping_address2' => 'user_profile_address2', 'shipping_city' => 'user_profile_city', 'shipping_zone' => 'user_profile_state', 'shipping_postal_code' => 'user_profile_postalcode', 'shipping_country' => 'user_profile_country', 'shipping_phone' => 'user_profile_phone', 'shipping_fax' => 'user_profile_fax');
$va_errors = array();
$va_fields = $this->opt_order->getFormFields();
foreach ($va_fields as $vs_f => $va_field_info) {
switch ($vs_f) {
case 'transaction_id':
// noop
break;
case 'order_type':
// noop
break;
default:
if (isset($_REQUEST[$vs_f])) {
if (!$this->opt_order->set($vs_f, $this->request->getParameter($vs_f, pString))) {
$va_errors[$vs_f] = $this->opt_order->errors();
}
}
break;
}
}
// Set additional fees for order
$va_fees = $this->opo_client_services_config->getAssoc('additional_loan_fees');
if (is_array($va_fees)) {
if (!is_array($va_fee_values = $this->opt_order->get('additional_fees'))) {
$va_fee_values = array();
}
foreach ($va_fees as $vs_code => $va_info) {
$va_fee_values[$vs_code] = (double) $this->request->getParameter("additional_fee_{$vs_code}", pString);
}
$this->opt_order->set('additional_fees', $va_fee_values);
}
$this->opt_order->setMode(ACCESS_WRITE);
if ($this->opt_order->getPrimaryKey()) {
$this->opt_order->set('order_type', 'L');
// L=loan
$this->opt_order->update();
$vn_transaction_id = $this->opt_order->get('transaction_id');
} else {
// Set transaction
if (!($vn_transaction_id = $this->request->getParameter('transaction_id', pInteger))) {
if ($vn_user_id = $this->request->getParameter('transaction_user_id', pInteger)) {
// try to create transaction
$t_trans = new ca_commerce_transactions();
$t_trans->setMode(ACCESS_WRITE);
$t_trans->set('user_id', $vn_user_id);
$t_trans->set('short_description', "Created on " . date("c"));
$t_trans->set('set_id', null);
$t_trans->insert();
if ($t_trans->numErrors()) {
$this->notification->addNotification(_t('Errors occurred when creating commerce transaction: %1', join('; ', $t_trans->getErrors())), __NOTIFICATION_TYPE_ERROR__);
} else {
$vn_transaction_id = $t_trans->getPrimaryKey();
}
}
}
$this->opt_order->set('transaction_id', $vn_transaction_id);
$this->opt_order->set('order_type', 'L');
// L=loan
$this->opt_order->insert();
$this->request->setParameter('order_id', $this->opt_order->getPrimaryKey());
}
// set user profile if not already set
$t_trans = new ca_commerce_transactions($vn_transaction_id);
$t_user = new ca_users($t_trans->get('user_id'));
$t_user->setMode(ACCESS_WRITE);
foreach ($va_mapping as $vs_field => $vs_pref) {
if (!strlen($t_user->getPreference($vs_pref))) {
$t_user->setPreference($vs_pref, $this->opt_order->get($vs_field));
}
}
$t_user->update();
if (!$this->opt_order->numErrors()) {
$this->notification->addNotification(_t('Saved changes'), __NOTIFICATION_TYPE_INFO__);
} else {
$va_errors['general'] = $this->opt_order->errors();
$this->notification->addNotification(_t('Errors occurred: %1', join('; ', $this->opt_order->getErrors())), __NOTIFICATION_TYPE_ERROR__);
}
$this->view->setVar('errors', $va_errors);
}
示例2: register
//.........这里部分代码省略.........
break;
# -------------
# -------------
case "active":
if ($this->request->config->get('dont_approve_logins_on_registration')) {
$t_user->set("active", 0);
} else {
$t_user->set("active", 1);
}
break;
# -------------
# -------------
case "userclass":
$t_user->set("userclass", 1);
// 1=public-only
break;
# -------------
# -------------
default:
if (!$va_errors[$vs_f]) {
$t_user->set($vs_f, $_REQUEST[$vs_f]);
# set field values
if ($t_user->numErrors() > 0) {
$va_errors[$vs_f] = join("; ", $t_user->getErrors());
}
}
break;
# -------------
}
}
// Save user profile responses
if (is_array($va_profile_prefs) && sizeof($va_profile_prefs)) {
foreach ($va_profile_prefs as $vs_pref) {
$t_user->setPreference($vs_pref, $this->request->getParameter('pref_' . $vs_pref, pString));
}
}
if (sizeof($va_errors) == 0) {
# --- there are no errors so make new user record
$t_user->setMode(ACCESS_WRITE);
if ($vb_user_exists_but_is_deleted) {
$t_user->update();
} else {
$t_user->insert();
}
$pn_user_id = $t_user->get("user_id");
if ($t_user->numErrors()) {
$va_errors["register"] = join("; ", $t_user->getErrors());
} else {
# --- add default roles
if (($va_default_roles = $this->request->config->getList('registration_default_roles')) && sizeof($va_default_roles)) {
$t_user->addRoles($va_default_roles);
}
# --- user is joining a user group from a supplied link
if ($this->request->session->getVar("join_user_group_id")) {
if (!$t_user->inGroup($this->request->session->getVar("join_user_group_id"))) {
$t_user->addToGroups($this->request->session->getVar("join_user_group_id"));
$this->request->session->setVar("join_user_group_id", "");
$vs_group_message = _t(" You were added to the group");
} else {
$this->request->session->setVar("join_user_group_id", "");
$vs_group_message = _t(" You are already a member of the group");
}
}
# --- send email confirmation
$o_view = new View($this->request, array($this->request->getViewsDirectoryPath()));
# -- generate email subject line from template
示例3: Save
//.........这里部分代码省略.........
// try to create transaction
$t_trans = new ca_commerce_transactions();
$t_trans->setMode(ACCESS_WRITE);
$t_trans->set('user_id', $vn_user_id);
$t_trans->set('short_description', "Created on " . date("c"));
$t_trans->set('set_id', null);
$t_trans->insert();
if ($t_trans->numErrors()) {
$this->notification->addNotification(_t('Errors occurred when creating commerce transaction: %1', join('; ', $t_trans->getErrors())), __NOTIFICATION_TYPE_ERROR__);
} else {
$vn_transaction_id = $t_trans->getPrimaryKey();
}
} else {
$this->notification->addNotification(_t('You must specify a client'), __NOTIFICATION_TYPE_ERROR__);
$va_errors['general'][] = new Error(1100, _t('You must specify a client'), 'CheckOutController->Save()', false, false, false);
}
}
$this->opt_order->set('transaction_id', $vn_transaction_id);
if ($vn_transaction_id) {
$this->opt_order->set('order_type', 'L');
// L = loan (as opposed to 'O' for sales orders)
$this->opt_order->set('order_status', 'OPEN');
$this->opt_order->insert();
$this->request->setParameter('order_id', $x = $this->opt_order->getPrimaryKey());
}
}
if ($vn_transaction_id) {
// set user profile if not already set
$t_trans = new ca_commerce_transactions($vn_transaction_id);
$t_user = new ca_users($t_trans->get('user_id'));
$t_user->setMode(ACCESS_WRITE);
foreach ($va_mapping as $vs_field => $vs_pref) {
if (!strlen($t_user->getPreference($vs_pref))) {
$t_user->setPreference($vs_pref, $this->opt_order->get($vs_field));
}
}
$t_user->update();
$va_additional_fee_codes = $this->opo_client_services_config->getAssoc('additional_loan_fees');
// Look for newly added items
$vn_items_added = 0;
$vn_item_errors = 0;
$vs_errors = '';
foreach ($_REQUEST as $vs_k => $vs_v) {
if (preg_match("!^item_list_idnew_([\\d]+)\$!", $vs_k, $va_matches)) {
if ($vn_object_id = (int) $vs_v) {
// add item to order
$va_values = array();
foreach ($_REQUEST as $vs_f => $vs_value) {
if (preg_match("!^item_list_([A-Za-z0-9_]+)_new_" . $va_matches[1] . "\$!", $vs_f, $va_matches2)) {
$va_values[$va_matches2[1]] = $vs_value;
}
}
// Set additional fees
//
$va_fee_values = array();
foreach ($va_additional_fee_codes as $vs_code => $va_info) {
$va_fee_values[$vs_code] = $_REQUEST['additional_order_item_fee_' . $vs_code . '_new_' . $va_matches[1]];
}
$t_item = $this->opt_order->addItem($vn_object_id, $va_values, array('additional_fees' => $va_fee_values));
if ($t_item && $t_item->getPrimaryKey()) {
$vn_items_added++;
} else {
if ($this->opt_order->numErrors()) {
$t_object = new ca_objects($vn_object_id);
$this->notification->addNotification(_t('Could not check-out item <em>%1</em> (%2) due to errors: %3', $t_object->get('ca_objects.preferred_labels.name'), $t_object->get('idno'), join("; ", $this->opt_order->getErrors())), __NOTIFICATION_TYPE_ERROR__);
$vn_item_errors++;
示例4: Db
<?php
require '../../../setup.php';
require_once __CA_LIB_DIR__ . "/core/Db.php";
require_once __CA_MODELS_DIR__ . "/ca_users.php";
$o_db = new Db();
$q_users = $o_db->query("select user_id from ca_users");
$t_user = new ca_users();
while ($q_users->nextRow()) {
$t_user->load($q_users->get("user_id"));
$t_user->setMode(ACCESS_WRITE);
$t_user->setPreference("user_profile_field_of_research", $t_user->getVar("field_of_research"));
$t_user->update();
}
示例5: register
//.........这里部分代码省略.........
if ($t_user->numErrors() > 0) {
$va_errors[$vs_f] = join("; ", $t_user->getErrors());
}
}
break;
# -------------
# -------------
case "active":
$t_user->set("active", 1);
break;
# -------------
# -------------
case "userclass":
$t_user->set("userclass", 1);
// 1=public-only
break;
# -------------
# -------------
default:
if (!$va_errors[$vs_f]) {
$t_user->set($vs_f, $_REQUEST[$vs_f]);
# set field values
if ($t_user->numErrors() > 0) {
$va_errors[$vs_f] = join("; ", $t_user->getErrors());
}
}
break;
# -------------
}
}
// Save user profile responses
if (is_array($va_profile_prefs) && sizeof($va_profile_prefs)) {
foreach ($va_profile_prefs as $vs_pref) {
$t_user->setPreference($vs_pref, $this->request->getParameter('pref_' . $vs_pref, pString));
}
}
if (sizeof($va_errors) == 0) {
# --- there are no errors so make new user record
$t_user->setMode(ACCESS_WRITE);
if ($vb_user_exists_but_is_deleted) {
$t_user->update();
} else {
$t_user->insert();
}
$pn_user_id = $t_user->get("user_id");
if ($t_user->numErrors()) {
$va_errors["register"] = join("; ", $t_user->getErrors());
} else {
# --- add default roles
if (($va_default_roles = $this->request->config->getList('registration_default_roles')) && sizeof($va_default_roles)) {
$t_user->addRoles($va_default_roles);
}
# --- send email confirmation
# -- generate email subject line from template
ob_start();
require $this->request->getViewsDirectoryPath() . "/mailTemplates/reg_conf_subject.tpl";
$vs_subject_line = ob_get_contents();
ob_end_clean();
# -- generate mail text from template - get both the text and the html versions
ob_start();
require $this->request->getViewsDirectoryPath() . "/mailTemplates/reg_conf.tpl";
$vs_mail_message_text = ob_get_contents();
ob_end_clean();
ob_start();
require $this->request->getViewsDirectoryPath() . "/mailTemplates/reg_conf_html.tpl";
$vs_mail_message_html = ob_get_contents();