/** * Search and include and returns (as string) the used language */ private static function GetLanguage() { if (!empty(self::$Language)) { return self::$Language; } /* Find out, wich language should used */ if (isset($_SESSION['UserID'])) { self::$Language = SBB::SQL()->GetObject()->Select('users', 'Language', 'ID="' . Session::Read('UserID') . '"', NULL, 1)->Language; } else { if (isset($_COOKIE['SBB_Lang'])) { self::$Language = $_COOKIE['SBB_Lang']; } } if (empty(self::$Language)) { self::$Language = SBB::SQL()->GetObject()->Select('language', 'Shortcut', 'DefaultLanguage=1', NULL, 1)->Shortcut; } /* Include the Languagefiles */ if (!empty(self::$Language)) { $Dir = DIR_LANGUAGE . self::$Language . '/'; if (is_dir($Dir)) { foreach (scandir($Dir) as $File) { if (is_file($Dir . $File) && strpos($Dir . $File, '.php') !== false) { require_once $Dir . $File; } } } else { return false; } } return empty(self::$Language) ? false : self::$Language; }
public static function Check(array $Post) { $SQL = SBB::SQL(); if (!preg_match('/^[a-zA-Z0-9_\\-\\s]{4,32}$/', $Post['Username'])) { self::$Error[] = Language::Get('com.sbb.register.invalid_username'); } if ($Post['Password'] != $Post['PasswordRepeat']) { self::$Error[] = Language::Get('com.sbb.register.incorrect_password'); } if ($Post['Email'] != $Post['EmailRepeat']) { self::$Error[] = Language::Get('com.sbb.register.incorrect_email'); } if (!preg_match('/^[a-z0-9\\-_]+\\@[a-z0-9\\-]+\\.[a-z]{2,3}$/', $Post['Email'])) { self::$Error[] = Language::Get('com.sbb.register.invalid_email'); } $SQL->Select('users', 'UserName', 'Username = \'' . mysql_real_escape_string($Post['Username']) . '\''); if ($SQL->NumRows() == 1) { self::$Error[] = Language::Get('com.sbb.register.username_exist'); } $SQL->Select('users', 'Email', 'Email = \'' . mysql_real_escape_string($Post['Email']) . '\''); if ($SQL->NumRows() == 1) { self::$Error[] = Language::Get('com.sbb.register.email_exist'); } if (count(self::$Error) != 0) { return false; } return true; }
public static function CreateVariables() { $Objects = SBB::SQL()->GetObjects()->Select('config', 'ConfigVariable, ConfigValue', 'Type = \'VAR\''); $Variables = array(); if (isset($Objects)) { foreach ($Objects as $Variable) { $Variables[$Variable->ConfigVariable] = $Variable->ConfigValue; } } return $Variables; }
public static function Check(array $Post) { $SQL = SBB::SQL(); $SQL->Select('users', 'Salt, Password', 'Username = \'' . mysql_real_escape_string($Post['Username']) . '\'', '', 1); $Row = $SQL->FetchObject(); if ($SQL->NumRows() == 1) { if (User::EncryptPassword($Post['Password'], $Row->Salt) != $Row->Password) { self::$Error[] = Language::Get('com.sbb.login.wrong_password'); } else { return true; } } else { self::$Error[] = Language::Get('com.sbb.login.notexist_username'); } return false; }
public function __construct() { $this->Infos['Title'] = Language::Get('com.sbb.page.user'); if (isset($_GET['userID'])) { $UserInfos = array(); SBB::SQL()->Select('users', '*', 'ID = \'' . $_GET['userID'] . '\'', 1); $Row = SBB::SQL()->FetchArray(); $UserInfos[] = $Row; $Avatar = new Avatar($Row['Email'], 100); SBB::Template()->Assign(array('Page' => 'userPage', 'UserInfos' => $UserInfos, 'Avatar' => $Avatar)); } else { $Users = array(); SBB::SQL()->Select('users', '*'); while ($Row = SBB::SQL()->FetchObject) { $Users[] = $Row; } SBB::Template()->Assign(array('Page' => 'userList', 'Users' => $Users)); } }
public static function Render() { $Active = SBB::Page()->GetInfo('Menu'); if (isset(self::$ReservedLinks['menu.' . strtolower($Active)])) { $Active = 'menu.' . strtolower($Active); } $MenuList = array(); $Entries = SBB::SQL()->GetObjects()->Select('menu', '*', NULL, 'Position'); foreach ($Entries as $Row) { if (isset(self::$ReservedLinks[$Row->Target])) { $MenuList[] = array('Link' => self::$ReservedLinks[$Row->Target], 'Name' => Language::Get($Row->MenuName), 'Active' => $Active == $Row->Target ? true : false); } else { $Target = str_replace('?page=', '', $Row - Target); $Target = strpos($Target, '&') !== false ? strstr($Target, '&', true) : $Target; $MenuList[] = array('Link' => $Row->Target, 'Name' => Language::Get($Row->MenuName), 'Active' => $Active == $Target ? true : false); } } SBB::Template()->Assign(array('Menu' => $MenuList)); }
public function __construct() { $this->Infos['Title'] = Language::Get('com.sbb.page.login'); // If logged in, redirect to start page if (isset($_COOKIE['sbb_Token']) || session::Read('UserID')) { header("Location: index.php"); } $Message = ''; if (isset($_POST['Login'])) { if (Login::Check($_POST)) { SBB::SQL()->Select('users', 'ID', 'Username = \'' . mysql_real_escape_string($_POST['Username']) . '\'', '', 1); $UserID = SBB::SQL()->FetchObject()->ID; User::Login($UserID, $_POST['StayLoggedIn']); $Message = Language::Get('com.sbb.login.success'); header('Location: index.php'); } else { $Message = '<b>' . Language::Get('com.sbb.error') . ':</b><ul><li>' . implode('</li><li>', Login::GetError()) . '</li></ul>'; } } SBB::Template()->Assign(array('Page' => 'Login', 'Message' => $Message)); }
public static function Logout() { SBB::SQL()->Delete('session', 'Token = \'' . $_COOKIE['sbb_Token'] . '\''); SBB::SQL()->Delete('session', 'Token = \'' . Session::Read('Token') . '\''); Session::Remove('UserID'); Session::Remove('Token'); setcookie('sbb_Token', '', time() - 60 * 60 * 24 * 365); }