当前位置: 首页>>代码示例>>PHP>>正文


PHP Notifier::updatedUserAccount方法代码示例

本文整理汇总了PHP中Notifier::updatedUserAccount方法的典型用法代码示例。如果您正苦于以下问题:PHP Notifier::updatedUserAccount方法的具体用法?PHP Notifier::updatedUserAccount怎么用?PHP Notifier::updatedUserAccount使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Notifier的用法示例。


在下文中一共展示了Notifier::updatedUserAccount方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: edit_user_account

 /**
  * Edit the contact's user account
  * 
  * @access public
  * @param void
  * @return null
  */
 function edit_user_account()
 {
     $this->setTemplate('add_user_to_contact');
     $contact = Contacts::findById(get_id());
     if (!$contact instanceof Contact) {
         flash_error(lang('contact dnx'));
         $this->redirectTo('dashboard', 'contacts');
     }
     // if
     if (!$contact->canEditUserAccount(logged_user())) {
         flash_error(lang('no access permissions'));
         $this->redirectTo('dashboard', 'contacts');
     }
     // if
     if (!$contact->hasUserAccount()) {
         flash_error(lang('user dnx'));
         $this->redirectToUrl($contact->getCompany()->getViewUrl());
     }
     $user = $contact->getUserAccount();
     $company = $contact->getCompany();
     $user_data = array_var($_POST, 'user');
     if (!is_array($user_data)) {
         $user_data = array('username' => $user->getUsername(), 'email' => $user->getEmail(), 'timezone' => $user->getTimezone(), 'locale' => $user->getLocale(), 'is_admin' => $user->isAdministrator(), 'auto_assign' => $user->getAutoAssign(), 'use_LDAP' => $user->getUseLDAP(), 'can_manage_projects' => $user->canManageProjects() ? '1' : '0');
         // array
     }
     // if
     tpl_assign('contact', $contact);
     tpl_assign('user', $user);
     tpl_assign('company', $company);
     tpl_assign('user_data', $user_data);
     if (is_array(array_var($_POST, 'user'))) {
         $user->setFromAttributes($user_data);
         try {
             $password = '';
             // Generate random password
             if (array_var($user_data, 'password_generator') == 'random') {
                 $password = substr(sha1(uniqid(rand(), true)), rand(0, 25), 13);
                 $user->setPassword($password);
                 // Validate user input
             } else {
                 if (array_var($user_data, 'password_generator') == 'specify') {
                     $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
                     $user->setPassword($password);
                 }
             }
             // if
             $granted = 0;
             if (logged_user()->isAdministrator()) {
                 $user->setIsAdmin(array_var($user_data, 'is_admin'));
                 $user->setAutoAssign(array_var($user_data, 'auto_assign'));
                 $granted = trim(array_var($user_data, 'can_manage_projects')) == '1' ? 1 : 0;
             } else {
                 $user->setIsAdmin(0);
                 $user->setAutoAssign(0);
             }
             DB::beginWork();
             $user->save();
             $user->setPermission(PermissionManager::CAN_MANAGE_PROJECTS, $granted);
             ApplicationLogs::createLog($user, null, ApplicationLogs::ACTION_EDIT);
             DB::commit();
             // Send notification...
             try {
                 if (array_var($user_data, 'send_email_notification')) {
                     Notifier::updatedUserAccount($user, $password);
                 }
                 // if
             } catch (Exception $e) {
             }
             // try
             flash_success(lang('success edit user', $user->getDisplayName()));
             $this->redirectToUrl($company->getViewUrl());
             // Translate to profile page
         } catch (Exception $e) {
             DB::rollback();
             tpl_assign('error', $e);
         }
         // try
     }
     // if
 }
开发者ID:federosky,项目名称:ProjectPier-Core,代码行数:95,代码来源:ContactsController.class.php


注:本文中的Notifier::updatedUserAccount方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。