コード例 #1
0
 public function actionCreate_user()
 {
     $user = Users::model()->findByPk(Yii::app()->user->id);
     $new_user = new Users();
     $password = substr(preg_replace('/[oO0Il1]/i', '', md5(rand() . rand() . rand() . time())), 0, 8);
     $new_user->attributes = $_POST['Users'];
     $new_user->company_id = $user->company_id;
     $new_user->password = md5($password);
     $new_user->status = 'none';
     $new_user->reg_date = new CDbExpression('NOW()');
     if ($_POST['Users']['role'] == 'director') {
         $new_user->parent_id = $user->id;
     } elseif ($_POST['Users']['role'] == 'manager') {
         $new_user->parent_id = $_POST['Users']['parent_id'];
     }
     if (isset($_POST['ajax']) && $_POST['ajax'] == 'create-user') {
         echo CActiveForm::validate($new_user);
         Yii::app()->end();
     }
     if ($new_user->validate() && $new_user->save()) {
         $role = new UsersRoles();
         $role->user_id = $new_user->id;
         $role->itemname = $_POST['Users']['role'];
         $role->save();
         $activated = new Activations();
         $activated->setAttributes(array('type' => 'manager_registration', 'add_data' => '', 'user_id' => $new_user->id, 'key' => substr(preg_replace('/[oO0Il1]/i', '', md5(rand() . rand() . rand() . time())), 0, 24), 'date' => new CDbExpression('NOW()')));
         if ($activated->save()) {
             $link = 'http://' . $_SERVER['HTTP_HOST'] . '/page/activation/key/' . $activated->key;
             $email = Yii::app()->email;
             $email->ClearAllRecipients();
             $email->AddAddress($new_user->email);
             $email->Subject = 'Подтверждение регистрации';
             $email->Body = '
             Приветствуем, ' . $new_user->first_name . '!
             На сайте inclient.ru для вас была зарегистрирована учетная запись.
             Пожалуйста, подтвердите регистрацию учетной записи перейдя по ' . CHtml::link('ссылке', $link) . '
             После подтверждения аккаунта вам придет письмо с паролем.
             Если в течении 1 дня Вы не подтвердите регистрацию, то Ваш аккаунт будет удален.
             <br/>
             С уважением, Администрация INCLIENT.RU<br/>
             <br/>
             Если у вас возникнут вопросы напишите в поддержку <br/>
             support@inclient.ru
             ';
             $email->send();
             $this->redirect(array('user_info'));
         }
     }
 }
コード例 #2
0
ファイル: Roles.php プロジェクト: emildev35/processmaker
 function assignUserToRole($aData)
 {
     /*find the system uid for this role */
     require_once 'classes/model/Users.php';
     $c = new Criteria();
     $c->add(RolesPeer::ROL_UID, $aData['ROL_UID']);
     $result = RolesPeer::doSelectRS($c);
     $result->setFetchmode(ResultSet::FETCHMODE_ASSOC);
     $result->next();
     $row = $result->getRow();
     $sSystemId = $row['ROL_SYSTEM'];
     //updating the role into users table
     $oCriteria1 = new Criteria('workflow');
     $oCriteria1->add(UsersPeer::USR_UID, $aData['USR_UID'], Criteria::EQUAL);
     $oCriteria2 = new Criteria('workflow');
     $oCriteria2->add(UsersPeer::USR_ROLE, $row['ROL_CODE']);
     BasePeer::doUpdate($oCriteria1, $oCriteria2, Propel::getConnection('workflow'));
     //delete roles for the same System
     $c = new Criteria();
     $c->addSelectColumn(UsersRolesPeer::USR_UID);
     $c->addSelectColumn(RolesPeer::ROL_UID);
     $c->addSelectColumn(RolesPeer::ROL_CODE);
     $c->addSelectColumn(RolesPeer::ROL_SYSTEM);
     $c->add(UsersRolesPeer::USR_UID, $aData['USR_UID']);
     $c->add(RolesPeer::ROL_SYSTEM, $sSystemId);
     $c->addJoin(RolesPeer::ROL_UID, UsersRolesPeer::ROL_UID);
     $result = RolesPeer::doSelectRS($c);
     $result->setFetchmode(ResultSet::FETCHMODE_ASSOC);
     $result->next();
     while ($row = $result->getRow()) {
         $crit = new Criteria();
         $crit->add(UsersRolesPeer::USR_UID, $row['USR_UID']);
         $crit->add(UsersRolesPeer::ROL_UID, $row['ROL_UID']);
         UsersRolesPeer::doDelete($crit);
         $result->next();
     }
     //save the unique role for this system
     $oUsersRoles = new UsersRoles();
     $oUsersRoles->setUsrUid($aData['USR_UID']);
     $oUsersRoles->setRolUid($aData['ROL_UID']);
     $oUsersRoles->save();
     $rol = $this->load($aData['ROL_UID']);
     $oUsersRbac = new RbacUsers();
     $user = $oUsersRbac->load($aData['USR_UID']);
     G::auditLog("AssignUserToRole", "Assign user " . $user['USR_USERNAME'] . " (" . $aData['USR_UID'] . ") to Role " . $rol['ROL_NAME'] . " (" . $aData['ROL_UID'] . ") ");
 }
コード例 #3
0
ファイル: UsersRoles.php プロジェクト: emildev35/processmaker
 function create($sUserUID = '', $sRolUID = '')
 {
     $oRole = new UsersRoles();
     $oRole->setUsrUid($sUserUID);
     $oRole->setRolUid($sRolUID);
     $oRole->save();
 }