Esempio n. 1
0
 public function saveAction()
 {
     if (!$this->isXmlHttpRequest()) {
         throw new \Exception('Неверный тип запроса!');
     }
     $usersModel = new Users();
     $data = $this->request->getPost();
     if (!isset($data['id']) || !isset($data['roles_id']) || !isset($data['user']) || !isset($data['password'])) {
         throw new \Exception('Неверный тип запроса!');
     }
     if ($data['action'] == 'add' && (!isset($data['lastname']) || !isset($data['firstname']) || !isset($data['secondname']) || !isset($data['org_name']))) {
         throw new \Exception('Неверный тип запроса!');
     }
     $data['id'] = (int) $data['id'];
     if (!$data['id'] && $data['action'] != 'add') {
         throw new \Exception('Неверный идентификатор пользователя!');
     }
     $data['roles_id'] = (int) $data['roles_id'];
     if ($data['roles_id'] == 0) {
         throw new \Exception('Не выбраны права пользователя!');
     }
     $data['user'] = trim($data['user']);
     if ($data['user'] == '') {
         throw new \Exception('Не заполнено обязательное поле Email!');
     }
     $data['password'] = trim($data['password']);
     if ($data['password'] == '' && $data['action'] != 'add') {
         unset($data['password']);
     }
     if (isset($data['password']) && mb_strlen($data['password']) < 6) {
         throw new \Exception('Пароль должен быть больше 6 символов!');
     }
     if ($data['action'] == 'add') {
         $data['lastname'] = trim($data['lastname']);
         if ($data['lastname'] == '') {
             throw new \Exception('Не заполнено обязательное поле Фамилия!');
         }
         $data['firstname'] = trim($data['firstname']);
         if ($data['firstname'] == '') {
             throw new \Exception('Не заполнено обязательное поле Имя!');
         }
         $data['secondname'] = trim($data['secondname']);
         if ($data['secondname'] == '') {
             throw new \Exception('Не заполнено обязательное поле Отчество!');
         }
         $data['org_name'] = trim($data['org_name']);
         if ($data['org_name'] == '') {
             throw new \Exception('Не заполнено обязательное поле Организация!');
         }
     }
     unset($data['action']);
     $data['id'] = $usersModel->save($data);
     $usersModel->setWhere(array('id' => $data['id']));
     $uData = $usersModel->select();
     $this->view->data = $uData[0];
     $rolesModel = new Roles();
     $this->view->roles = $rolesModel->select();
 }
 public function getformAction()
 {
     if (!$this->isXmlHttpRequest()) {
         throw new \Exception('Неверный тип запроса!');
     }
     $project = false;
     if (!is_null($this->request->getPost('id'))) {
         $id = (int) $this->request->getPost('id');
         $projectsModel = new Projects();
         $project = $projectsModel->getProjectsDataForEdit($id);
         $usersModel = new Users();
         $usersModel->setWhere('`roles_id` IN(1,2)');
         $this->view->initiators = $usersModel->select();
         $usersModel->setWhere('`roles_id` IN(1,3)');
         $this->view->executors = $usersModel->select();
         $executorsModel = new Executors();
         $this->view->selectedExecutors = $executorsModel->getExecutorsAsArrayByProject($id);
         $statusModel = new Status();
         $this->view->statuses = $statusModel->select();
     }
     $this->view->project = $project;
 }
Esempio n. 3
0
 private function checkUser($id, $name)
 {
     Users::redirectIf(false);
     $users = Users::select()->where('id', $id)->andWhere('nickname', $name)->orWhere('user_key', $name)->get(0, 1);
     if (empty($users)) {
         Router::redirect('error.error404');
     }
     $user = $users[0];
     if (!Users::canUpdate($user)) {
         Router::redirect('home.index');
     }
     return $user;
 }
Esempio n. 4
0
 public function show($id)
 {
     $cacheTag = ['users'];
     $cacheKey = $id;
     $response = Cache::tags($cacheTag)->remember($cacheKey, 60 * 24 * 7, function () use($id) {
         $_model = Users::select(['name', 'lastname', 'email', 'active', 'confirmed', 'avatar', 'created_at', 'updated_at'])->where('company_id', config('global.companies.current.id'))->where('id', $id);
         if ($_model->count() > 0) {
             return $_model->first()->toArray();
         } else {
             return false;
         }
     });
     if (!$response) {
         Cache::tags($cacheTag)->forget($cacheKey);
         return new \Exception("Houve um erro ao localizar registro (id not found)");
     }
     return $response;
 }
Esempio n. 5
0
 public function users()
 {
     $count = Users::select(\DB::raw('count(id) as total'))->where('company_id', config('global.companies.current.id'))->count();
     return $this->jsonResponse(['data' => $count]);
 }
Esempio n. 6
0
 public function resend($id)
 {
     $this->checker('update_full_admin');
     $user = Users::select()->where('id', $id)->get();
     if (empty($user)) {
         Router::redirect('home.index');
     }
     $user = $user[0];
     $user->mail_check = sha1($user->user_key . '-----' . time());
     $user->mail_check_at = BaseModel::now();
     $user->save();
     Users::sendMailCheck($user);
     Router::redirect('admin:user.show');
 }
Esempio n. 7
0
 protected function findUser($email)
 {
     return \App\Models\Users::select('id', 'email', 'active')->whereEmail($email)->first();
 }
Esempio n. 8
0
 private function getForContact($page = 1)
 {
     if (!Session::exists('member')) {
         Router::redirect('home.index');
     }
     $nb = self::NUMBER_ITEM_PER_PAGE;
     $member = Session::get('member');
     $member = $this->checkUser($member['id'], $member['nickname']);
     $search = Helper::post('research');
     $all_contact = UsersBook::select()->where('id_user_from', $member->id)->orWhere('id_user_to', $member->id)->get();
     $list = [$member->id];
     foreach ($all_contact as $contact) {
         if ($contact->id_user_from == $member->id) {
             $list[] = $contact->id_user_to;
         } else {
             $list[] = $contact->id_user_from;
         }
     }
     $users = Users::select()->addFields(['users.id' => 'user_id', 'users.nickname' => 'user_nickname', 'users.mail' => 'user_mail'])->where('users.mail_check', '1')->andWhere('users.id', 'NOT IN', $list)->andGroup([new Condition('WHERE', '', 'users.nickname', 'LIKE', '%' . $search . '%', false), new Condition('WHERE', 'OR', 'users.mail', 'LIKE', '%' . $search . '%', false)])->get(($page - 1) * $nb, $nb);
     $count = Users::select()->addFields(['COUNT(*)' => 'nb_user'])->where('users.mail_check', '1')->andWhere('users.id', 'NOT IN', $list)->andGroup([new Condition('WHERE', '', 'users.nickname', 'LIKE', '%' . $search . '%', false), new Condition('WHERE', 'OR', 'users.mail', 'LIKE', '%' . $search . '%', false)])->get(0, 1);
     $max_page = 0;
     if (!empty($count)) {
         $count = $count[0];
         $max_page = ceil($count->nb_user / $nb);
     }
     if ($max_page == 0) {
         $max_page = 1;
     }
     $this->set('max_page', $max_page);
     $this->set('users', $users);
     $this->set('member', $member);
     $this->render('user/search');
 }
Esempio n. 9
0
 public function verify($key)
 {
     //Users::redirectIf(true);
     $users = Users::select()->where('mail_check', $key)->andWhere('TIMESTAMPDIFF(MINUTE, mail_check_at, NOW())', '<', 30, false)->get();
     if (!empty($users)) {
         $user = $users[0];
         $user->mail_check = '1';
         $user->save();
     }
     $users = Users::select()->where('mail_check', '!=', '1')->andWhere('TIMESTAMPDIFF(MINUTE, mail_check_at, NOW())', '>', 35, false)->get();
     foreach ($users as $user) {
         $user->delete();
     }
     Session::setFlash('success', '', Translate::get('user.success.register_mail'));
     Router::redirect('home.index');
 }
 /**
  * This function loads the 'Events  Progress'  page for Customer
  *
  *
  * @return  progress 'Events Progress' page with Event Tasks/Quote Requests table data
  */
 public function ProgressCustomer()
 {
     $input = Request::all();
     $iName = $input['EventID'];
     $user_id = \Auth::user()->id;
     //$customereventid = Quote_Requests::select('*')->where('id',$iName)->first();
     $memtasks = Event_Tasks::select('*')->where('EventID', $iName)->get();
     $teammem = Users::select('*')->where('role', 'team-member')->get();
     $evedetails = Quote_Requests::select('*')->where('id', $iName)->first();
     $data = array('memtasks' => $memtasks, 'teammem' => $teammem, 'eveID' => $iName, 'evedetails' => $evedetails, 'result' => 'null');
     return view('progress_customer.progress')->with($data);
 }
Esempio n. 11
0
 public function register()
 {
     Users::redirectIf(true);
     $nickname = Helper::post('nickname');
     $password = Helper::post('password');
     $confirm = Helper::post('password_confirm');
     $email = Helper::post('email');
     if (empty($nickname) || empty($password) || empty($confirm) || empty($email)) {
         Session::setFlash('danger', '', Translate::get('error.forms.missing.content'));
         Router::redirect('user.signup');
     }
     $errors = [];
     if (strlen($nickname) < 3 || strlen($nickname) > 40) {
         $errors['username'] = Translate::get('register.error.username');
     }
     if (!preg_match('#[a-zA-Z0-9\\_\\.]+#', $nickname)) {
         $errors['username'] = Translate::get('register.error.username');
     }
     if (strlen($password) < 6) {
         $errors['password'] = Translate::get('register.error.password');
     }
     if ($password != $confirm) {
         $errors['password'] = Translate::get('register.error.password_confirm');
     }
     if (!preg_match('/[a-zA-Z0-9\\_\\-\\.]{3,}@[a-zA-Z0-9\\-]{2,}\\.[a-z]{2,6}/', $email)) {
         $errors['email'] = Translate::get('register.error.email');
     }
     if (!empty($errors)) {
         ob_start();
         Translate::getContent('error_fields', ['errors' => $errors]);
         $content = ob_get_clean();
         Session::setFlash('danger', '', $content);
         Router::redirect('user.signup');
     }
     $users = Users::select()->addFields(['id'])->where('nickname', $nickname)->andWhere('mail', $email)->get(0, 1);
     if (!empty($users)) {
         Session::setFlash('danger', '', Translate::get('user.error.register'));
         Router::redirect('user.signup');
     }
     $random = '';
     while ($random == '') {
         $random = Config::randomString(14);
         if (Users::find('user_key', $random)) {
             $random = '';
         }
     }
     $default_group = Groups::find('g_default', 1);
     $user = Users::create();
     $user->id_group = $default_group->id;
     // TODO: Change for default group
     $user->nickname = $nickname;
     $user->password = password_hash($password, PASSWORD_BCRYPT);
     $user->user_key = $random;
     $user->mail = $email;
     $user->mail_check = sha1($user->user_key);
     $user->mail_check_at = BaseModel::now();
     $user->register_at = BaseModel::now();
     $user->connection_at = '0000-00-00 00:00:00';
     $user->save();
     Users::sendMailCheck($user);
     Session::setFlash('success', '', Translate::get('user.success.register'));
     Router::redirect('home.index');
 }
 public function initialRegistration(Request $request)
 {
     $user = new Users();
     $user->email = $request->input('email');
     $user->user_name = $request->input('username');
     $user->password = $request->input('password');
     $user->first_name = $request->input('first_name');
     $user->last_name = $request->input('last_name');
     $referralId = $request->session()->get('referralId');
     $ecosponsor = $request->cookie('ecosponsor');
     if ($referralId == '') {
         $referralId = $ecosponsor;
     }
     if ($referralId < 1) {
         $refUser = Users::select('id')->where('member', 5)->orderByRaw("RAND()")->first();
         $referralId = $refUser->id;
     }
     $referrer = Users::find($referralId);
     $request->session()->set('referralId', '');
     $user->sponsor_id = $referrer->id;
     $user->second_id = $referrer->sponsor_id;
     $user->third_id = $referrer->second_id;
     $user->fourth_id = $referrer->third_id;
     $user->fifth_id = $referrer->fourth_id;
     $user->member = 1;
     $user->save();
     $user->user_link = md5($user->id);
     $user->save();
     $request->session()->set('user_id', $user->id);
     $request->session()->set('username', $user->first_name . ' ' . $user->last_name);
     return $user;
 }
Esempio n. 13
0
 protected function findUser($username)
 {
     return \App\Models\Users::select('*')->whereEmail($username)->orWhere('username', $username);
 }
Esempio n. 14
0
 public function savestatusAction()
 {
     if (!$this->isXmlHttpRequest()) {
         throw new \Exception('Неверный тип запроса!');
     }
     $data = $this->request->getPost();
     if (!isset($data['id']) || !isset($data['task_status_id'])) {
         throw new \Exception('Неверный тип запроса!');
     }
     $data['id'] = (int) $data['id'];
     $data['task_status_id'] = (int) $data['task_status_id'];
     $tasksModel = new Tasks();
     $tasksModel->save($data);
     $timelineModel = new Timeline();
     $timelineModel->endWork($data['id']);
     $task = $tasksModel->getTasksDataById((int) $data['id']);
     $to = array();
     $usersModel = new Users();
     $usersModel->setWhere(array('id' => 1));
     $result1 = $usersModel->select();
     $to[] = $result1[0]['user'];
     $usersModel->setWhere(array('id' => (int) $task['executors_id']));
     $result2 = $usersModel->select();
     if ($result2 && $result2[0]['user'] != $result1[0]['user']) {
         $to[] = $result2[0]['user'];
     }
     $usersModel->setWhere(array('id' => (int) $task['initiator']));
     $result3 = $usersModel->select();
     $to[] = $result3[0]['user'];
     $subject = 'Изменение статуса задачи';
     $message = 'По задаче "' . $task['name'];
     $message .= '" сменился статус на ' . $task['ts_name'] . "\n";
     $message .= 'По проекту: ' . ($task['p_name'] ? $task['p_name'] : 'Без проекта');
     Mail::instance()->send($to, $subject, $message);
 }
Esempio n. 15
0
 /**
  * @param int $id
  * @return bool
  */
 public function getUserState($id)
 {
     $userState = Users::select("Active")->where("uid", "=", $id)->get()->first();
     if ($userState == null) {
         return false;
     }
     if (!$userState->Active) {
         return false;
     }
     return true;
 }
 /**
  * This function Handles the post event of the Assign Tasks page
  *
  *
  * @return   if successful All Events To Be Assigned page
  */
 public function AssignPOST()
 {
     $input = Request::all();
     //create arrays to store post data
     $iTaskdesc = array();
     $iTeamMem = array();
     $dbData = array();
     //take inputs to variables
     $iName = $input['EventID'];
     //store input data in corresponding arrays
     foreach ($input['desc'] as $x) {
         $iTaskdesc[] = $x;
     }
     foreach ($input['teammember'] as $y) {
         $iTeamMem[] = $y;
     }
     foreach ($input['desc'] as $z => $value) {
         Event_Tasks::insert([['EventID' => $iName, 'MemberID' => $iTeamMem[$z], 'Description' => $iTaskdesc[$z]]]);
     }
     $mem = Event_Tasks::distinct()->select('MemberID')->where('EventID', $iName)->get();
     $evedata = Quote_Requests::select('*')->where('id', $iName)->first();
     //return dd($mem);
     foreach ($mem as $memb) {
         $time = Carbon::now();
         $em = Users::select('*')->where('id', $memb->MemberID)->first();
         $mailData = ['EventID' => $iName, 'MemName' => $em->Name, 'DueDate' => $evedata->EventDate, 'FirstName' => $evedata->FirstName, 'LastName' => $evedata->LastName];
         Mail::send('emails.member-tasks', $mailData, function ($message) use($em) {
             $message->to($em->email, 'Test')->subject('Tasks Assgined for Event');
         });
     }
     /* 
      */
     $team = Users::distinct()->select('*')->where('role', 'team-member')->get();
     $quote = Quote_Requests::select('*')->get();
     return view('assign_task.assign-tasks')->with(array('team' => $team, 'quote' => $quote, 'message' => 'yes'));
 }
Esempio n. 17
0
 public function delete($id, $csrf)
 {
     $this->checker('update_full_admin');
     if (Session::get('csrf') != $csrf) {
         Router::redirect('home.index');
     }
     $group = Groups::select()->where('id', $id)->get();
     if (empty($group)) {
         Router::redirect('home.index');
     }
     $countGroup = Groups::select()->addFields(['COUNT(*)' => 'nb'])->get();
     $countGroup = intval($countGroup[0]->nb);
     if ($countGroup > 1) {
         $group = $group[0];
         $group->delete();
         $firstGroup = Groups::select()->addFields('id')->get(0, 1);
         $firstGroup = $firstGroup[0];
         $users = Users::select()->where('id_group', $id)->get();
         if (!empty($users)) {
             foreach ($users as $user) {
                 $user->id_group = $firstGroup->id;
                 $user->save();
             }
         }
     } else {
         Session::setFlash('danger', '', 'Il ne reste que 1 seul groupe donc on ne peut pas le supprimer');
     }
     Router::redirect('admin:group.show');
 }