Example #1
0
 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]));
 }
Example #2
0
 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);
 }
Example #3
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');
 }
Example #4
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');
 }
Example #5
0
<?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();