本文整理汇总了PHP中Contact::setFirstname方法的典型用法代码示例。如果您正苦于以下问题:PHP Contact::setFirstname方法的具体用法?PHP Contact::setFirstname怎么用?PHP Contact::setFirstname使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Contact
的用法示例。
在下文中一共展示了Contact::setFirstname方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: __construct
public function __construct($arrayAccounts)
{
// browse through list
$collection = array();
if ($arrayAccounts) {
foreach ($arrayAccounts as $arrayAccount) {
if (empty($arrayAccount['name_value_list']['account_name'])) {
$arrayAccount['name_value_list']['account_name'] = "";
}
$contact = new Contact();
$contact->setId($arrayAccount['name_value_list']['id']);
$contact->setGroup($arrayAccount['name_value_list']['account_name']);
$contact->setFirstname(htmlspecialchars_decode($arrayAccount['name_value_list']['first_name'], ENT_QUOTES));
$contact->setLastname($arrayAccount['name_value_list']['last_name']);
$contact->setWorkPhone($arrayAccount['name_value_list']['phone_work']);
$contact->setWorkMobile($arrayAccount['name_value_list']['phone_mobile']);
$contact->sethomePhone('');
$contact->sethomeMobile('');
$collection[$contact->getId()] = $contact;
}
// Sort accounts by name
usort($collection, function ($a, $b) {
return strcmp($a->getFirstname(), $b->getFirstname());
});
}
// build ArrayObject using collection
return parent::__construct($collection);
}
示例2: copy
/**
*
* @param MailingList $source
* @param Campaign $campaign
* @param string $name
* @return MailingList|null
*/
public function copy(MailingList $source, Campaign $campaign = null, $name = null)
{
$con = $this->getConnection();
$con->beginTransaction();
try {
$target = new MailingList();
$target->setStatus(MailingListTable::STATUS_DRAFT);
if ($name) {
$target->setName($name);
} else {
$target->setName($source->getName() . ' copy ' . gmdate('Y-M-d H:i'));
}
if ($campaign) {
$target->setCampaign($campaign);
}
$target->save();
$meta_ids = array();
$choice_ids = array();
foreach ($source->getMailingListMeta() as $meta_source) {
/* @var $meta_source MailingListMeta */
$meta = new MailingListMeta();
$meta->setMailingList($target);
$meta->setKind($meta_source->getKind());
$meta->setName($meta_source->getName());
$meta->setSubst($meta_source->getSubst());
$meta->save();
$meta_ids[$meta_source->getId()] = $meta->getId();
foreach ($meta_source->getMailingListMetaChoice() as $choice_source) {
/* @var $choice_source MailingListMetaChoice */
$choice = new MailingListMetaChoice();
$choice->setMailingListMeta($meta);
$choice->setChoice($choice_source->getChoice());
$choice->save();
$choice_ids[$choice_source->getId()] = $choice->getId();
}
}
foreach ($source->getContact() as $contact_source) {
/* @var $contact_source Contact */
$contact = new Contact();
$contact->setMailingList($target);
$contact->setStatus($contact_source->getStatus());
$contact->setEmail($contact_source->getEmail());
$contact->setGender($contact_source->getGender());
$contact->setFirstname($contact_source->getFirstname());
$contact->setLastname($contact_source->getLastname());
$contact->setCountry($contact_source->getCountry());
$contact->save();
foreach ($contact_source->getContactMeta() as $contact_meta_source) {
/* @var $contact_meta_source ContactMeta */
$contact_meta = new ContactMeta();
$contact_meta->setContact($contact);
$contact_meta->setValue($contact_meta_source->getValue());
$contact_meta->setMailingListMetaId($meta_ids[$contact_meta_source->getMailingListMetaId()]);
if ($contact_meta_source->getMailingListMetaChoiceId()) {
$contact_meta->setMailingListMetaChoiceId($choice_ids[$contact_meta_source->getMailingListMetaChoiceId()]);
}
$contact_meta->save();
}
}
$con->commit();
return $target;
} catch (Exception $e) {
$con->rollback();
}
return null;
}
示例3: die
/**
* Finish the installation - create owner company and administrator
*
* @param void
* @return null
*/
function complete_installation()
{
if (Contacts::getOwnerCompany() instanceof Contact) {
die('Owner company already exists');
// Somebody is trying to access this method even if the user already exists
}
// if
$form_data = array_var($_POST, 'form');
tpl_assign('form_data', $form_data);
if (array_var($form_data, 'submited') == 'submited') {
try {
$admin_password = trim(array_var($form_data, 'admin_password'));
$admin_password_a = trim(array_var($form_data, 'admin_password_a'));
if (trim($admin_password) == '') {
throw new Error(lang('password value required'));
}
// if
if ($admin_password != $admin_password_a) {
throw new Error(lang('passwords dont match'));
}
// if
DB::beginWork();
Contacts::delete();
// clear users table
// Create a company
$company = new Contact();
$company->setFirstName(array_var($form_data, 'company_name'));
$company->setObjectName();
$company->setIsCompany(true);
$company->save();
// Init default colors
set_config_option('brand_colors_head_back', "424242");
set_config_option('brand_colors_tabs_back', "e7e7e7");
set_config_option('brand_colors_head_font', "FFFFFF");
set_config_option('brand_colors_tabs_font', "333333");
// Create the administrator user
$administrator = new Contact();
$pergroup = PermissionGroups::findOne(array('conditions' => "`name`='Super Administrator'"));
$administrator->setUserType($pergroup->getId());
$administrator->setCompanyId($company->getId());
$administrator->setUsername(array_var($form_data, 'admin_username'));
$administrator->setPassword($admin_password);
$administrator->setFirstname(array_var($form_data, 'admin_username'));
$administrator->setObjectName();
$administrator->save();
$user_password = new ContactPassword();
$user_password->setContactId($administrator->getId());
$user_password->password_temp = $admin_password;
$user_password->setPasswordDate(DateTimeValueLib::now());
$user_password->setPassword(cp_encrypt($admin_password, $user_password->getPasswordDate()->getTimestamp()));
$user_password->save();
//Add email after save because is needed.
$administrator->addEmail(array_var($form_data, 'admin_email'), 'personal', true);
//permissions
$permission_group = new PermissionGroup();
$permission_group->setName('Account Owner');
$permission_group->setContactId($administrator->getId());
$permission_group->setIsContext(false);
$permission_group->setType("permission_groups");
$permission_group->save();
$administrator->setPermissionGroupId($permission_group->getId());
$administrator->save();
$company->setCreatedById($administrator->getId());
$company->setUpdatedById($administrator->getId());
$company->save();
$contact_pg = new ContactPermissionGroup();
$contact_pg->setContactId($administrator->getId());
$contact_pg->setPermissionGroupId($permission_group->getId());
$contact_pg->save();
// tab panel permissions
$panels = TabPanels::getEnabled();
foreach ($panels as $panel) {
$tpp = new TabPanelPermission();
$tpp->setPermissionGroupId($administrator->getPermissionGroupId());
$tpp->setTabPanelId($panel->getId());
$tpp->save();
}
// dimension permissions
$dimensions = Dimensions::findAll();
foreach ($dimensions as $dimension) {
if ($dimension->getDefinesPermissions()) {
$cdp = ContactDimensionPermissions::findOne(array("conditions" => "`permission_group_id` = " . $administrator->getPermissionGroupId() . " AND `dimension_id` = " . $dimension->getId()));
if (!$cdp instanceof ContactDimensionPermission) {
$cdp = new ContactDimensionPermission();
$cdp->setPermissionGroupId($administrator->getPermissionGroupId());
$cdp->setContactDimensionId($dimension->getId());
}
$cdp->setPermissionType('allow all');
$cdp->save();
// contact member permisssion entries
$members = $dimension->getAllMembers();
foreach ($members as $member) {
$ots = DimensionObjectTypeContents::getContentObjectTypeIds($dimension->getId(), $member->getObjectTypeId());
$ots[] = $member->getObjectId();
//.........这里部分代码省略.........
示例4: create_user
function create_user($user_data, $permissionsString) {
// try to find contact by some properties
$contact_id = array_var($user_data, "contact_id") ;
$contact = Contacts::instance()->findById($contact_id) ;
if (!is_valid_email(array_var($user_data, 'email'))) {
throw new Exception(lang("email value is required"));
}
if (!$contact instanceof Contact) {
// Create a new user
$contact = new Contact();
$contact->setUsername(array_var($user_data, 'username'));
$contact->setDisplayName(array_var($user_data, 'display_name'));
$contact->setCompanyId(array_var($user_data, 'company_id'));
$contact->setUserType(array_var($user_data, 'type'));
$contact->setTimezone(array_var($user_data, 'timezone'));
$contact->setFirstname($contact->getObjectName() != "" ? $contact->getObjectName() : $contact->getUsername());
$contact->setObjectName();
} else {
// Create user from contact
$contact->setUserType(array_var($user_data, 'type'));
if (array_var($user_data, 'company_id')) {
$contact->setCompanyId(array_var($user_data, 'company_id'));
}
$contact->setUsername(array_var($user_data, 'username'));
$contact->setTimezone(array_var($user_data, 'timezone'));
}
$contact->save();
if (is_valid_email(array_var($user_data, 'email'))) {
$contact->addEmail(array_var($user_data, 'email'), 'personal', true);
}
//permissions
$permission_group = new PermissionGroup();
$permission_group->setName('User '.$contact->getId().' Personal');
$permission_group->setContactId($contact->getId());
$permission_group->setIsContext(false);
$permission_group->setType("permission_groups");
$permission_group->save();
$contact->setPermissionGroupId($permission_group->getId());
$contact_pg = new ContactPermissionGroup();
$contact_pg->setContactId($contact->getId());
$contact_pg->setPermissionGroupId($permission_group->getId());
$contact_pg->save();
if ( can_manage_security(logged_user()) ) {
$sp = new SystemPermission();
$rol_permissions=SystemPermissions::getRolePermissions(array_var($user_data, 'type'));
foreach($rol_permissions as $pr){
$sp->setPermission($pr);
}
$sp->setPermissionGroupId($permission_group->getId());
$sp->setCanManageSecurity(array_var($user_data, 'can_manage_security'));
$sp->setCanManageConfiguration(array_var($user_data, 'can_manage_configuration'));
$sp->setCanManageTemplates(array_var($user_data, 'can_manage_templates'));
$sp->setCanManageTime(array_var($user_data, 'can_manage_time'));
$sp->setCanAddMailAccounts(array_var($user_data, 'can_add_mail_accounts'));
$sp->setCanManageDimensions(array_var($user_data, 'can_manage_dimensions'));
$sp->setCanManageDimensionMembers(array_var($user_data, 'can_manage_dimension_members'));
$sp->setCanManageTasks(array_var($user_data, 'can_manage_tasks'));
$sp->setCanTasksAssignee(array_var($user_data, 'can_task_assignee'));
$sp->setCanManageBilling(array_var($user_data, 'can_manage_billing'));
$sp->setCanViewBilling(array_var($user_data, 'can_view_billing'));
Hook::fire('add_user_permissions', $sp, $other_permissions);
if (!is_null($other_permissions) && is_array($other_permissions)) {
foreach ($other_permissions as $k => $v) {
$sp->setColumnValue($k, array_var($user_data, $k));
}
}
$sp->save();
if ($contact->isAdminGroup()) {
// allow all un all dimensions if new user is admin
$dimensions = Dimensions::findAll();
$permissions = array();
foreach ($dimensions as $dimension) {
if ($dimension->getDefinesPermissions()) {
$cdp = ContactDimensionPermissions::findOne(array("conditions" => "`permission_group_id` = ".$contact->getPermissionGroupId()." AND `dimension_id` = ".$dimension->getId()));
if (!$cdp instanceof ContactDimensionPermission) {
$cdp = new ContactDimensionPermission();
$cdp->setPermissionGroupId($contact->getPermissionGroupId());
$cdp->setContactDimensionId($dimension->getId());
}
$cdp->setPermissionType('allow all');
$cdp->save();
// contact member permisssion entries
$members = $dimension->getAllMembers();
foreach ($members as $member) {
$ots = DimensionObjectTypeContents::getContentObjectTypeIds($dimension->getId(), $member->getObjectTypeId());
$ots[]=$member->getObjectId();
foreach ($ots as $ot) {
//.........这里部分代码省略.........
示例5: trim
/**
* Finish the installation - create owner company and administrator
*
* @param void
* @return null
*/
function complete_installation() {
if(Contacts::getOwnerCompany() instanceof Contact) {
die('Owner company already exists'); // Somebody is trying to access this method even if the user already exists
} // if
$form_data = array_var($_POST, 'form');
tpl_assign('form_data', $form_data);
if(array_var($form_data, 'submited') == 'submited') {
try {
$admin_password = trim(array_var($form_data, 'admin_password'));
$admin_password_a = trim(array_var($form_data, 'admin_password_a'));
if(trim($admin_password) == '') {
throw new Error(lang('password value required'));
} // if
if($admin_password <> $admin_password_a) {
throw new Error(lang('passwords dont match'));
} // if
DB::beginWork();
Contacts::delete(); // clear users table
// Create a company
$company = new Contact();
$company->setFirstName(array_var($form_data, 'company_name'));
$company->setObjectName();
$company->setIsCompany(true);
$company->save();
// Init default colors
set_config_option('brand_colors_head_back', "000000");
set_config_option('brand_colors_tabs_back', "14780e");
set_config_option('brand_colors_head_font', "ffffff");
set_config_option('brand_colors_tabs_font', "ffffff");
// Create the administrator user
$administrator = new Contact();
$pergroup = PermissionGroups::findOne(array('conditions'=>"`name`='Super Administrator'"));
$administrator->setUserType($pergroup->getId());
$administrator->setCompanyId($company->getId());
$administrator->setUsername(array_var($form_data, 'admin_username'));
$administrator->setPassword($admin_password);
$administrator->setFirstname(array_var($form_data, 'admin_username'));
$administrator->setObjectName();
$administrator->save();
$user_password = new ContactPassword();
$user_password->setContactId($administrator->getId());
$user_password->password_temp = $admin_password;
$user_password->setPasswordDate(DateTimeValueLib::now());
$user_password->setPassword(cp_encrypt($admin_password, $user_password->getPasswordDate()->getTimestamp()));
$user_password->save();
//Add email after save because is needed.
$administrator->addEmail(array_var($form_data, 'admin_email'), 'personal', true);
//permissions
$permission_group = new PermissionGroup();
$permission_group->setName('Account Owner');
$permission_group->setContactId($administrator->getId());
$permission_group->setIsContext(false);
$permission_group->setType("permission_groups");
$permission_group->save();
$administrator->setPermissionGroupId($permission_group->getId());
$administrator->save();
$company->setCreatedById($administrator->getId());
$company->setUpdatedById($administrator->getId());
$company->save();
$contact_pg = new ContactPermissionGroup();
$contact_pg->setContactId($administrator->getId());
$contact_pg->setPermissionGroupId($permission_group->getId());
$contact_pg->save();
// tab panel permissions
$panels = TabPanels::getEnabled();
foreach ($panels as $panel) {
$tpp = new TabPanelPermission();
$tpp->setPermissionGroupId($administrator->getPermissionGroupId());
$tpp->setTabPanelId($panel->getId());
$tpp->save();
}
// dimension permissions
$dimensions = Dimensions::findAll();
foreach ($dimensions as $dimension) {
//.........这里部分代码省略.........
示例6: create_user
function create_user($user_data, $permissionsString)
{
$user = new User();
$user->setUsername(array_var($user_data, 'username'));
$user->setDisplayName(array_var($user_data, 'display_name'));
$user->setEmail(array_var($user_data, 'email'));
$user->setCompanyId(array_var($user_data, 'company_id'));
$user->setType(array_var($user_data, 'type'));
$user->setTimezone(array_var($user_data, 'timezone'));
if (!logged_user() instanceof User || can_manage_security(logged_user())) {
$user->setCanEditCompanyData(array_var($user_data, 'can_edit_company_data'));
$user->setCanManageSecurity(array_var($user_data, 'can_manage_security'));
$user->setCanManageWorkspaces(array_var($user_data, 'can_manage_workspaces'));
$user->setCanManageConfiguration(array_var($user_data, 'can_manage_configuration'));
$user->setCanManageContacts(array_var($user_data, 'can_manage_contacts'));
$user->setCanManageTemplates(array_var($user_data, 'can_manage_templates'));
$user->setCanManageReports(array_var($user_data, 'can_manage_reports'));
$user->setCanManageTime(array_var($user_data, 'can_manage_time'));
$user->setCanAddMailAccounts(array_var($user_data, 'can_add_mail_accounts'));
$other_permissions = array();
Hook::fire('add_user_permissions', $user, $other_permissions);
foreach ($other_permissions as $k => $v) {
$user->setColumnValue($k, array_var($user_data, $k));
}
}
if (array_var($user_data, 'password_generator', 'random') == 'random') {
// Generate random password
$password = UserPasswords::generateRandomPassword();
} else {
// Validate input
$password = array_var($user_data, 'password');
if (trim($password) == '') {
throw new Error(lang('password value required'));
}
// if
if ($password != array_var($user_data, 'password_a')) {
throw new Error(lang('passwords dont match'));
}
// if
}
// if
$user->setPassword($password);
$user->save();
$user_password = new UserPassword();
$user_password->setUserId($user->getId());
$user_password->setPasswordDate(DateTimeValueLib::now());
$user_password->setPassword(cp_encrypt($password, $user_password->getPasswordDate()->getTimestamp()));
$user_password->password_temp = $password;
$user_password->save();
if (array_var($user_data, 'autodetect_time_zone', 1) == 1) {
set_user_config_option('autodetect_time_zone', 1, $user->getId());
}
if ($user->getType() == 'admin') {
if ($user->getCompanyId() != owner_company()->getId() || logged_user() instanceof User && !can_manage_security(logged_user())) {
// external users can't be admins or logged user has no rights to create admins => set as Normal
$user->setType('normal');
} else {
$user->setAsAdministrator(true);
}
}
/* create contact for this user*/
if (array_var($user_data, 'create_contact', 1)) {
// if contact with same email exists take it, else create new
$contact = Contacts::getByEmail($user->getEmail(), true);
if (!$contact instanceof Contact) {
$contact = new Contact();
$contact->setEmail($user->getEmail());
} else {
if ($contact->isTrashed()) {
$contact->untrash();
}
}
$contact->setFirstname($user->getDisplayName());
$contact->setUserId($user->getId());
$contact->setTimezone($user->getTimezone());
$contact->setCompanyId($user->getCompanyId());
$contact->save();
} else {
$contact_id = array_var($user_data, 'contact_id');
$contact = Contacts::findById($contact_id);
if ($contact instanceof Contact) {
// user created from a contact
$contact->setUserId($user->getId());
$contact->save();
} else {
// if contact with same email exists use it as user's contact, without changing it
$contact = Contacts::getByEmail($user->getEmail(), true);
if ($contact instanceof Contact) {
$contact->setUserId($user->getId());
if ($contact->isTrashed()) {
$contact->untrash();
}
$contact->save();
}
}
}
$contact = $user->getContact();
if ($contact instanceof Contact) {
// update contact data with data entered for this user
$contact->setCompanyId($user->getCompanyId());
//.........这里部分代码省略.........
示例7: create_user
function create_user($user_data, $permissionsString, $rp_permissions_data = array(), $save_permissions = true)
{
// try to find contact by some properties
$contact_id = array_var($user_data, "contact_id");
$contact = Contacts::instance()->findById($contact_id);
if (!is_valid_email(array_var($user_data, 'email'))) {
throw new Exception(lang("email value is required"));
}
if (!$contact instanceof Contact) {
// Create a new user
$contact = new Contact();
$contact->setUsername(array_var($user_data, 'username'));
$contact->setDisplayName(array_var($user_data, 'display_name'));
$contact->setCompanyId(array_var($user_data, 'company_id'));
$contact->setUserType(array_var($user_data, 'type'));
$contact->setTimezone(array_var($user_data, 'timezone'));
$contact->setFirstname($contact->getObjectName() != "" ? $contact->getObjectName() : $contact->getUsername());
$contact->setObjectName();
$user_from_contact = false;
} else {
// Create user from contact
$contact->setUserType(array_var($user_data, 'type'));
if (array_var($user_data, 'company_id')) {
$contact->setCompanyId(array_var($user_data, 'company_id'));
}
$contact->setUsername(array_var($user_data, 'username'));
$contact->setTimezone(array_var($user_data, 'timezone'));
$user_from_contact = true;
}
$contact->save();
if (is_valid_email(array_var($user_data, 'email'))) {
$user = Contacts::getByEmail(array_var($user_data, 'email'));
if (!$user) {
$contact->addEmail(array_var($user_data, 'email'), 'personal', true);
}
}
//permissions
$additional_name = "";
$tmp_pg = PermissionGroups::findOne(array('conditions' => "`name`='User " . $contact->getId() . " Personal'"));
if ($tmp_pg instanceof PermissionGroup) {
$additional_name = "_" . gen_id();
}
$permission_group = new PermissionGroup();
$permission_group->setName('User ' . $contact->getId() . $additional_name . ' Personal');
$permission_group->setContactId($contact->getId());
$permission_group->setIsContext(false);
$permission_group->setType("permission_groups");
$permission_group->save();
$contact->setPermissionGroupId($permission_group->getId());
$null = null;
Hook::fire('on_create_user_perm_group', $permission_group, $null);
$contact_pg = new ContactPermissionGroup();
$contact_pg->setContactId($contact->getId());
$contact_pg->setPermissionGroupId($permission_group->getId());
$contact_pg->save();
if (can_manage_security(logged_user())) {
$sp = new SystemPermission();
if (!$user_from_contact) {
$rol_permissions = SystemPermissions::getRolePermissions(array_var($user_data, 'type'));
if (is_array($rol_permissions)) {
foreach ($rol_permissions as $pr) {
$sp->setPermission($pr);
}
}
}
$sp->setPermissionGroupId($permission_group->getId());
if (isset($user_data['can_manage_security'])) {
$sp->setCanManageSecurity(array_var($user_data, 'can_manage_security'));
}
if (isset($user_data['can_manage_configuration'])) {
$sp->setCanManageConfiguration(array_var($user_data, 'can_manage_configuration'));
}
if (isset($user_data['can_manage_templates'])) {
$sp->setCanManageTemplates(array_var($user_data, 'can_manage_templates'));
}
if (isset($user_data['can_manage_time'])) {
$sp->setCanManageTime(array_var($user_data, 'can_manage_time'));
}
if (isset($user_data['can_add_mail_accounts'])) {
$sp->setCanAddMailAccounts(array_var($user_data, 'can_add_mail_accounts'));
}
if (isset($user_data['can_manage_dimensions'])) {
$sp->setCanManageDimensions(array_var($user_data, 'can_manage_dimensions'));
}
if (isset($user_data['can_manage_dimension_members'])) {
$sp->setCanManageDimensionMembers(array_var($user_data, 'can_manage_dimension_members'));
}
if (isset($user_data['can_manage_tasks'])) {
$sp->setCanManageTasks(array_var($user_data, 'can_manage_tasks'));
}
if (isset($user_data['can_task_assignee'])) {
$sp->setCanTasksAssignee(array_var($user_data, 'can_task_assignee'));
}
if (isset($user_data['can_manage_billing'])) {
$sp->setCanManageBilling(array_var($user_data, 'can_manage_billing'));
}
if (isset($user_data['can_view_billing'])) {
$sp->setCanViewBilling(array_var($user_data, 'can_view_billing'));
}
if (isset($user_data['can_see_assigned_to_other_tasks'])) {
//.........这里部分代码省略.........
示例8: array
/**
* Create a contact with the data of a user
*
*/
function create_contact_from_user()
{
ajx_current("empty");
$user = Users::findById(get_id());
if (!$user instanceof User) {
flash_error(lang('user dnx'));
return;
}
// if
if (!logged_user()->canSeeUser($user)) {
flash_error(lang('no access permissions'));
return;
}
// if
if ($user->getContact()) {
if ($contact->isTrashed()) {
try {
DB::beginWork();
$contact->untrash();
DB::commit();
$this->redirectTo('contact', 'card', array('id' => $contact->getId()));
} catch (Exception $e) {
DB::rollback();
flash_error(lang('error add contact from user') . " " . $e->getMessage());
}
} else {
flash_error(lang('user has contact'));
return;
}
}
try {
DB::beginWork();
$contact = new Contact();
$contact->setFirstname($user->getDisplayName());
$contact->setUserId($user->getId());
$contact->setEmail($user->getEmail());
$contact->setTimezone($user->getTimezone());
$contact->setCompanyId($user->getCompanyId());
$contact->save();
DB::commit();
$this->redirectTo('contact', 'card', array('id' => $contact->getId()));
} catch (Exception $exx) {
DB::rollback();
flash_error(lang('error add contact from user') . " " . $exx->getMessage());
}
}
示例9: executeIndex
public function executeIndex(sfWebRequest $request)
{
$petiion_id = $request->getParameter('petition_id');
$contact_id = $request->getParameter('contact_id');
$this->show_thankyou = false;
if ($contact_id) {
$petition_contact = PetitionContactTable::getInstance()->findOneByPetitionIdAndContactId($petiion_id, $contact_id);
if (!$petition_contact) {
return $this->notFound();
}
if ($petition_contact->getSecret() != $request->getParameter('secret')) {
return $this->notFound();
}
$contact = $petition_contact->getContact();
$petition = $petition_contact->getPetition();
/* @var $petition Petition */
} else {
$petition = PetitionTable::getInstance()->find($petiion_id);
if (!$petition) {
return $this->notFound();
}
$contact = new Contact();
$contact->setFirstname('John');
$contact->setLastname('Doe');
$contact->setGender(Contact::GENDER_MALE);
$petition_contact = new PetitionContact();
$petition_contact->setPetition($petition);
$petition_contact->setContact($contact);
$this->show_thankyou = true;
}
$languages = LanguageTable::getInstance()->queryByActivePetitionTexts($petition)->execute();
$this->languages = $languages;
$language_ids = array();
foreach ($languages as $language) {
$language_ids[] = $language->getId();
}
$contact_lang = $contact->getLanguageId() ?: 'en';
if (!in_array($contact_lang, $language_ids)) {
$contact_lang = in_array('en', $language_ids) ? 'en' : reset($language_ids);
}
$lang = $request->getGetParameter('lang');
if ($lang && in_array($lang, $language_ids)) {
$contact_lang = $lang;
}
$contact->setLanguageId($contact_lang);
$petition_text = $contact->getPetitionTextForPetition($petition);
$this->getUser()->setCulture($contact_lang);
if (!$petition_text) {
return $this->notFound();
}
/* @var $petition_text PetitionText */
$i18n = $this->getContext()->getI18N();
$i18n->setCulture($petition_text->getLanguageId());
$salutation = $contact->generateSalutation($i18n);
$this->salutation = $salutation;
$this->petition_text = $petition_text;
$this->petition = $petition;
$this->petition_contact = $petition_contact;
$this->ask_password = false;
$this->wrong_password = false;
$this->session = null;
$this->password_no_match = false;
$this->password_too_short = false;
if ($petition_contact->getPassword()) {
$session = $request->getPostParameter('session');
if ($session && is_string($session) && $session == crypt($petition_contact->getPassword(), $session)) {
$this->session = $session;
} else {
if ($request->isMethod('post')) {
$password = trim($request->getPostParameter('password'));
if ($password) {
if ($petition_contact->checkPassword($password)) {
$this->session = crypt($petition_contact->getPassword(), '$6$' . PetitionContactTable::salt());
} else {
$this->wrong_password = true;
$this->ask_password = true;
return;
}
} else {
$this->ask_password = true;
return;
}
} else {
$this->ask_password = true;
return;
}
}
}
$pledge_table = PledgeTable::getInstance();
$pledge_items = $petition->getPledgeItems();
$pledges = array();
foreach ($pledge_items as $pledge_item) {
/* @var $pledge_item PledgeItem */
if ($pledge_item->getStatus() == PledgeItemTable::STATUS_ACTIVE) {
$pledge = $pledge_table->findOneByPledgeItemAndContact($pledge_item, $contact);
if (!$pledge) {
$pledge = new Pledge();
$pledge->setPledgeItem($pledge_item);
$pledge->setContact($contact);
if (!$contact->isNew()) {
//.........这里部分代码省略.........