public static function addFriend($id_from, $id_to) { $mail = new Mail(); $user_name_sender = Users::find('id', $id_from); if (!$user_name_sender) { return; } $user_name_sender = $user_name_sender->nickname; $user = Users::find('id', $id_to); if (!$user) { return; } $from = Config::getField('MAIL_FROM'); $from = [$from['mail'] => $from['name']]; $to = explode('@', $user->mail); $to = [$user->mail => $to[0]]; $mail->send($from, $to, 'TITLE', Translate::getMails(null, 'account/friend_add', 'Demande reçu', ['user_name_sender' => $user_name_sender])); }
public function render($page, $title = null) { $this->set('scripts', $this->scriptsJS); $lang = []; foreach (Translate::getAllLangs() as $k => $v) { $lang[] = ['short' => $k, 'long' => $v, 'desc' => Translate::get('lang.' . $v)]; } $go = isset($_GET['url']) ? $_GET['url'] : ''; $select = 'lang.' . Translate::get('lang'); $this->set('MAIN_visited_url', "/{$go}"); $this->set('MAIN_languages', $lang); $this->set('MAIN_select_languages', Translate::get($select)); $this->set('MAIN_members', Session::get('member')); if ($title) { $this->set('title', Translate::get($title)); } $blade = new BladeInstance(__DIR__ . '/../../public/views', __DIR__ . '/../../cache/views'); echo $blade->render($page, $this->vars); }
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'); }
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'); }
<?php header('Content-Type: text/html; charset=utf-8'); require __DIR__ . '/vendor/autoload.php'; use EasyHQ\Config; use EasyHQ\Translate; use EasyHQ\Router\Router; Config::setup(); /* Define language */ $language = 'fr_FR'; if (!isset($_GET['lang'])) { if (isset($_COOKIE['language'])) { if (Translate::checkLang($_COOKIE['language'])) { $language = $_COOKIE['language']; } } } else { $language = Translate::getLang($_GET['lang']); setcookie('language', $language, time() + 7 * 24 * 3600, '/', null, false, true); $go = isset($_GET['url']) ? $_GET['url'] : ''; header("location: /{$go}"); } Translate::setup($language); Router::init();