Revision 2
Added by Manuela over 8 years ago
| trunk/DOCU/CHANGELOG | ||
|---|---|---|
| 1 |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|
| 2 |
follow the changelog at http://project.websitebaker.org/ please!! |
|
| 3 |
there you can see anything what's changed and also how exactely it's done |
|
| 4 |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|
| 5 |
|
|
| trunk/DOCU/README.EN | ||
|---|---|---|
| 1 |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|
| 2 |
[1] General Information about version 2.10.x |
|
| 3 |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|
| 4 |
|
|
| 5 |
WB-2.10 is the compatible follow up of all previous WB-2.8.3 releases. |
|
| 6 |
This packet includes all you need to run a website. In addition to the core you get a basic |
|
| 7 |
collection of add-ons. |
|
| 8 |
You also get all needed 3rd party packages like PHPMailer, pclzip, phplib, Twig, JQuery and more. |
|
| 9 |
|
|
| 10 |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|
| 11 |
[2] Requirements |
|
| 12 |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|
| 13 |
|
|
| 14 |
WebsiteBaker is developed in a Linux & Apache environment, therefore we can not give any |
|
| 15 |
guarantee that it will work without any problem in a Windows(r) Environment. |
|
| 16 |
|
|
| 17 |
Operating system: Linux (recommended), Windows (maybe) |
|
| 18 |
Database : MySQL 5.5 / MariaDB 5.5 and up |
|
| 19 |
Webserver : Apache |
|
| 20 |
PHP : 5.6 and up, PHP-7 up (FastCGI, FPM) recommended |
|
| 21 |
!!! PHP running as Apache-Module (mod_php) can produce malfunctions in WebsiteBaker !!! |
|
| 22 |
Diskspace : 25MB and up |
|
| 23 |
|
|
| 24 |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|
| 25 |
[3] Instructions for Installing WebsiteBaker 2.10 |
|
| 26 |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|
| 27 |
|
|
| 28 |
This install pack includes a complete WebsiteBaker version 2.10.0 and can be installed |
|
| 29 |
on all compatible hosts. |
|
| 30 |
|
|
| 31 |
a) Check that your webspace meets the requirements described above! |
|
| 32 |
|
|
| 33 |
b) Make sure that you have a MySQL database available and obtain the access data! |
|
| 34 |
|
|
| 35 |
c) Download the packet to your workstation and unzip all into an empty folder. |
|
| 36 |
|
|
| 37 |
d) Move all to your webspace using ftp and 'overwrite all' setting. |
|
| 38 |
|
|
| 39 |
e) switch the PHP version to 5.6 or 7.x if it's not already done. |
|
| 40 |
|
|
| 41 |
f) now simply call your installation like http://example.com/ and follow the |
|
| 42 |
instructions of the install script. |
|
| 43 |
|
|
| 44 |
|
|
| 45 |
Enjoy your new WebsiteBaker installation! |
|
| 46 |
|
|
| 47 |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|
| 48 |
[4] Upgrade WebsiteBaker from any versions of WB-2.8.3 |
|
| 49 |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|
| 50 |
|
|
| 51 |
This install pack includes a complete WebsiteBaker version 2.10.0 and can be installed |
|
| 52 |
on all previously published WB 2.8.3 versions (with or without Service Pack). Additional |
|
| 53 |
Instructions for upgrading WebsiteBaker versions older than 2.8.3 can be found at [5]. |
|
| 54 |
|
|
| 55 |
a) IMPORTANT:: in any case make a backup of your webspace and the database too !!! |
|
| 56 |
|
|
| 57 |
b) Download the packet to your workstation and unzip all into an empty folder. |
|
| 58 |
|
|
| 59 |
c) Move all to your webspace using ftp and 'overwrite all' setting. |
|
| 60 |
|
|
| 61 |
d) switch the PHP version to 5.6 or 7.x if it's not already done. |
|
| 62 |
|
|
| 63 |
e) now start the upgrade-script.php file and follow possible instructions. |
|
| 64 |
|
|
| 65 |
f) some add-on pakets are not delivered with this version and must be upgraded manually. |
|
| 66 |
Some new versions are available on http://addon.websitebaker.org/ |
|
| 67 |
|
|
| 68 |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|
| 69 |
[5] Upgrade WebsiteBaker from older versions before WB-2.8.3 |
|
| 70 |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|
| 71 |
|
|
| 72 |
Before you upgrade from an older version, first you must upgrade to [WB 2.8.3 from Feb.2012]. |
|
| 73 |
That version is downloadable from either of these links: |
|
| 74 |
http://addon.websitebaker.org/pages/en/browse-add-ons.php?id=0EA85F12 or |
|
| 75 |
http://wiki.websitebaker.org/doku.php/en/downloads#websitebaker_283 |
|
| 76 |
|
|
| 77 |
Instructions for upgrading to WB-2.8.3 can be found in our forum: |
|
| 78 |
english: http://forum.websitebaker.org/index.php/topic,23412 |
|
| 79 |
german: http://forum.websitebaker.org/index.php/topic,23658 |
|
| 80 |
|
|
| 81 |
|
|
| trunk/DOCU/README.NL | ||
|---|---|---|
| 1 |
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|
| 2 |
[1] Algemene informatie over WebsiteBaker versie 2.10.x |
|
| 3 |
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|
| 4 |
|
|
| 5 |
WB-2.10 is de compatibel opvolger van alle voorgaande WB-2.8.3-versies. |
|
| 6 |
Dit pakket bevat alles wat u nodig heeft om een website op te zetten. |
|
| 7 |
Behalve de basis van het CMS bevat dit pakket tevens een collectie add-ons. |
|
| 8 |
Ook de benodigde 'third-party' pakketten als PHPMailer, pclzip, Twig, |
|
| 9 |
JQuery etc. zijn in deze softwarebundel opgenomen. |
|
| 10 |
|
|
| 11 |
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|
| 12 |
[2] Vereisten |
|
| 13 |
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|
| 14 |
|
|
| 15 |
WebsiteBaker is ontwikkeld in een Linux + Apache-omgeving. Er kunnen geen |
|
| 16 |
garanties worden gegeven dat het CMS probleemloos zal werken in een |
|
| 17 |
Windows-omgeving. |
|
| 18 |
|
|
| 19 |
Besturingssysteem: Linux (aanbevolen), Windows (misschien) |
|
| 20 |
Database : mySQL 5.6 en hoger |
|
| 21 |
Webserver : Apache |
|
| 22 |
PHP : 5.6 en hoger, PHP-7 en hoger aanbevolen |
|
| 23 |
Als PHP draait als Apache-module kan dit een verstoorde |
|
| 24 |
werking van WebsiteBaker veroorzaken!! |
|
| 25 |
Schijfruimte : 25MB en hoger |
|
| 26 |
|
|
| 27 |
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|
| 28 |
[3] Instructies voor het installeren van WebsiteBaker 2.10 |
|
| 29 |
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|
| 30 |
|
|
| 31 |
Dit installatiepakket bevat een complete versie van WebsiteBaker 2.10 en |
|
| 32 |
kan worden geïnstalleerd op elke compatible host. |
|
| 33 |
|
|
| 34 |
a) Verzeker u ervan dat uw webruimte voldoet aan de eisen die hierboven |
|
| 35 |
beschreven staan! |
|
| 36 |
|
|
| 37 |
b) Verzeker u ervan dat u een MySQL-database beschikbaar hebt en dat u |
|
| 38 |
beschikt over de databasenaam, servernaam, gebruiker en wachtwoord. |
|
| 39 |
|
|
| 40 |
c) Download het pakket naar uw eigen PC en pak het ZIP-bestand uit in een |
|
| 41 |
nieuwe, lege map. |
|
| 42 |
|
|
| 43 |
d) Kopieer alle bestanden via FTP naar uw webruimte en verzeker u ervan |
|
| 44 |
dat daarbij eventuele bestaande bestanden worden overschreven. |
|
| 45 |
|
|
| 46 |
e) Zet de PHP-versie van uw webhosting naar 5.6 of 7.x (aanbevolen!) als |
|
| 47 |
dat al niet is gedaan. |
|
| 48 |
|
|
| 49 |
f) Ga met een webbrowser naar het domein (bijv. http://www.uwdomein.nl) |
|
| 50 |
en het installatiescript zal automatisch starten. |
|
| 51 |
|
|
| 52 |
|
|
| 53 |
Veel plezier van uw nieuwe WebsiteBaker-installatie! |
|
| 54 |
|
|
| 55 |
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|
| 56 |
[4] WebsiteBaker upgraden vanaf elke versie van WB-2.8.3 |
|
| 57 |
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|
| 58 |
|
|
| 59 |
Dit installatiepakket bevat een complete WebsiteBaker versie 2.10 en kan |
|
| 60 |
worden geïnstalleerd op elke voorgaand uitgebrachte WB 2.8.3-versie (met |
|
| 61 |
of zonder Service Pack). Aanvullende instructies voor het upgraden van |
|
| 62 |
WebsiteBaker-versies ouder dan 2.8.3 kunt u lezen onder [5]. |
|
| 63 |
|
|
| 64 |
a) BELANGRIJK: maak een backup van de bestanden in uw webruimte en de |
|
| 65 |
database! |
|
| 66 |
|
|
| 67 |
b) Download het pakket naar uw eigen PC en pak het ZIP-bestand uit in een |
|
| 68 |
nieuwe, lege map. |
|
| 69 |
|
|
| 70 |
c) Kopieer alle bestanden via FTP naar uw webruimte en verzeker u ervan |
|
| 71 |
dat daarbij eventuele bestaande bestanden worden overschreven. |
|
| 72 |
|
|
| 73 |
d) Zet de PHP-versie van uw webhosting naar 5.6 of 7.x (aanbevolen!) als |
|
| 74 |
dat al niet is gedaan. |
|
| 75 |
|
|
| 76 |
e) Ga met een webbrowser naar http:/www.uwdomein.nl/upgrade-script.php en |
|
| 77 |
volg de instructies. |
|
| 78 |
|
|
| 79 |
f) Sommige aanvullende pakketten worden niet meegeleverd met deze versie |
|
| 80 |
en moeten handmatig worden bijgewerkt. Eventuele nieuwe versies kunt u |
|
| 81 |
vinden op http://addon.websitebaker.org/ |
|
| 82 |
|
|
| 83 |
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|
| 84 |
[5] WebsiteBaker upgraden van oudere versies (voor WB-2.8.3) |
|
| 85 |
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|
| 86 |
|
|
| 87 |
Voordat u vanaf een oudere versie kunt upgraden naar WB-2.1.0, moet u uw |
|
| 88 |
installatie bijwerken naar WB-2.8.3 (van februari 2012). |
|
| 89 |
Deze versie is te downloaden van de volgende links: |
|
| 90 |
http://addon.websitebaker.org/pages/en/browse-add-ons.php?id=0EA85F12 of |
|
| 91 |
http://wiki.websitebaker.org/doku.php/en/downloads#websitebaker_283 |
|
| 92 |
|
|
| 93 |
Instructies voor het upgraden naar WB-2.8.3 kunnen worden gevonden in ons |
|
| 94 |
forum: |
|
| 95 |
Engels: http://forum.websitebaker.org/index.php/topic,23412 |
|
| 96 |
Duits: http://forum.websitebaker.org/index.php/topic,23658 |
|
| 97 |
|
|
| 98 |
|
|
| 99 |
|
|
| trunk/account/details.php | ||
|---|---|---|
| 1 |
<?php |
|
| 2 |
/** |
|
| 3 |
* |
|
| 4 |
* @category frontend |
|
| 5 |
* @package account |
|
| 6 |
* @author WebsiteBaker Project |
|
| 7 |
* @copyright Ryan Djurovich |
|
| 8 |
* @copyright WebsiteBaker Org. e.V. |
|
| 9 |
* @link http://websitebaker.org/ |
|
| 10 |
* @license http://www.gnu.org/licenses/gpl.html |
|
| 11 |
* @platform WebsiteBaker 2.8.3 |
|
| 12 |
* @requirements PHP 5.3.6 and higher |
|
| 13 |
* @version $Id$ |
|
| 14 |
* @filesource $HeadURL$ |
|
| 15 |
* @lastmodified $Date$ |
|
| 16 |
* |
|
| 17 |
*/ |
|
| 18 |
|
|
| 19 |
// Must include code to stop this file being access directly |
|
| 20 |
if(defined('WB_PATH') == false) { die("Cannot access this file directly"); }
|
|
| 21 |
// sanitize entered values |
|
| 22 |
$display_name = strip_tags( $wb->StripCodeFromText($wb->get_post('display_name')));
|
|
| 23 |
$display_name = ( $display_name == '' ? $wb->get_display_name() : $display_name ); |
|
| 24 |
$language = preg_match('/^[a-z]{2}$/si', $wb->get_post('language'))
|
|
| 25 |
? $wb->get_post('language') : 'EN';
|
|
| 26 |
$user_time = true; |
|
| 27 |
// timezone must be between -12 and +13 or -20 as system_default |
|
| 28 |
$timezone = $wb->get_post('timezone');
|
|
| 29 |
$timezone = (is_numeric($timezone) ? $timezone : DEFAULT_TIMEZONE/3600); |
|
| 30 |
$timezone = (($timezone >= -12 && $timezone <= 13) ? $timezone : DEFAULT_TIMEZONE/3600) * 3600; |
|
| 31 |
|
|
| 32 |
/* |
|
| 33 |
$timezone = $wb->get_post('timezone');
|
|
| 34 |
$timezone = is_numeric($wb->get_post('timezone')) ? $wb->get_post('timezone')*3600 : 0;
|
|
| 35 |
$timezone = (is_numeric($timezone) ? $timezone : DEFAULT_TIMEZONE/3600); |
|
| 36 |
$timezone = (($timezone >= -12 && $timezone <= 13) ? $timezone : DEFAULT_TIMEZONE/3600) * 3600; |
|
| 37 |
*/ |
|
| 38 |
$date_format = $wb->get_post('date_format');
|
|
| 39 |
$time_format = $wb->get_post('time_format');
|
|
| 40 |
// check that display_name is unique in whoole system (prevents from User-faking) |
|
| 41 |
$sql = 'SELECT COUNT(*) FROM `'.TABLE_PREFIX.'users` '; |
|
| 42 |
$sql .= 'WHERE `user_id` <> '.(int)$wb->get_user_id().' AND `display_name` LIKE \''.$display_name.'\''; |
|
| 43 |
if ($database->get_one($sql)) {
|
|
| 44 |
$error[] = ( @$oTrans->MESSAGE_USERS_DISPLAYNAME_TAKEN ?:$oTrans->MESSAGE_MEDIA_BLANK_NAME.' ('.$oTrans->TEXT_DISPLAY_NAME.')');
|
|
| 45 |
} else {
|
|
| 46 |
// Update the database |
|
| 47 |
$sql = 'UPDATE `'.TABLE_PREFIX.'users` SET ' |
|
| 48 |
. '`display_name` = \''.$database->escapeString($display_name).'\', ' |
|
| 49 |
. '`language` = \''.$database->escapeString($language).'\', ' |
|
| 50 |
. '`timezone` = \''.$database->escapeString($timezone).'\', ' |
|
| 51 |
. '`date_format` = \''.$database->escapeString($date_format).'\', ' |
|
| 52 |
. '`time_format` = \''.$database->escapeString($time_format).'\' ' |
|
| 53 |
. 'WHERE `user_id` = \''.$wb->get_user_id().'\''; |
|
| 54 |
$database->query($sql); |
|
| 55 |
if($database->is_error()) {
|
|
| 56 |
$error[] = $database->get_error(); |
|
| 57 |
} else {
|
|
| 58 |
$success[] = $oTrans->MOD_PREFERENCE_DETAILS_SAVED; |
|
| 59 |
$_SESSION['DISPLAY_NAME'] = $display_name; |
|
| 60 |
$_SESSION['LANGUAGE'] = $language; |
|
| 61 |
$_SESSION['TIMEZONE'] = $timezone; |
|
| 62 |
// Update date format |
|
| 63 |
if($date_format != '') {
|
|
| 64 |
$_SESSION['DATE_FORMAT'] = $date_format; |
|
| 65 |
if(isset($_SESSION['USE_DEFAULT_DATE_FORMAT'])) { unset($_SESSION['USE_DEFAULT_DATE_FORMAT']); }
|
|
| 66 |
} else {
|
|
| 67 |
$_SESSION['USE_DEFAULT_DATE_FORMAT'] = true; |
|
| 68 |
if(isset($_SESSION['DATE_FORMAT'])) { unset($_SESSION['DATE_FORMAT']); }
|
|
| 69 |
} |
|
| 70 |
|
|
| 71 |
// Update time format |
|
| 72 |
if($time_format != '') {
|
|
| 73 |
$_SESSION['TIME_FORMAT'] = $time_format; |
|
| 74 |
if(isset($_SESSION['USE_DEFAULT_TIME_FORMAT'])) { unset($_SESSION['USE_DEFAULT_TIME_FORMAT']); }
|
|
| 75 |
} else {
|
|
| 76 |
$_SESSION['USE_DEFAULT_TIME_FORMAT'] = true; |
|
| 77 |
if(isset($_SESSION['TIME_FORMAT'])) { unset($_SESSION['TIME_FORMAT']); }
|
|
| 78 |
} |
|
| 79 |
} |
|
| 80 |
} |
|
| 0 | 81 | |
| trunk/account/email.php | ||
|---|---|---|
| 1 |
<?php |
|
| 2 |
/** |
|
| 3 |
* |
|
| 4 |
* @category frontend |
|
| 5 |
* @package account |
|
| 6 |
* @author WebsiteBaker Project |
|
| 7 |
* @copyright 2004-2009, Ryan Djurovich |
|
| 8 |
* @copyright 2009-2011, Website Baker Org. e.V. |
|
| 9 |
* @link http://www.websitebaker2.org/ |
|
| 10 |
* @license http://www.gnu.org/licenses/gpl.html |
|
| 11 |
* @platform WebsiteBaker 2.8.x |
|
| 12 |
* @requirements PHP 5.2.2 and higher |
|
| 13 |
* @version $Id$ |
|
| 14 |
* @filesource $HeadURL$ |
|
| 15 |
* @lastmodified $Date$ |
|
| 16 |
* |
|
| 17 |
*/ |
|
| 18 |
|
|
| 19 |
// Must include code to stop this file being access directly |
|
| 20 |
if(defined('WB_PATH') == false) { die("Cannot access this file directly"); }
|
|
| 21 |
|
|
| 22 |
// Get entered values |
|
| 23 |
$password = $wb->get_post('current_password');
|
|
| 24 |
$email = $wb->get_post('email');
|
|
| 25 |
// validate password |
|
| 26 |
$sql = 'SELECT `user_id` FROM `'.TABLE_PREFIX.'users` ' |
|
| 27 |
. 'WHERE `user_id` = '.$wb->get_user_id().' AND `password` = \''.md5($password).'\''; |
|
| 28 |
$rowset = $database->query($sql); |
|
| 29 |
// Validate values |
|
| 30 |
if($rowset->numRows() == 0) {
|
|
| 31 |
$error[] = $MESSAGE['PREFERENCES_CURRENT_PASSWORD_INCORRECT']; |
|
| 32 |
}else {
|
|
| 33 |
if(!$wb->validate_email($email)) {
|
|
| 34 |
$error[] = $MESSAGE['USERS_INVALID_EMAIL']; |
|
| 35 |
}else {
|
|
| 36 |
$email = $wb->add_slashes($email); |
|
| 37 |
// Update the database |
|
| 38 |
$sql = 'UPDATE `'.TABLE_PREFIX.'users` ' |
|
| 39 |
. 'SET `email` = \''.$database->escapeString($email).'\' ' |
|
| 40 |
. 'WHERE `user_id` = \''.$wb->get_user_id().'\''; |
|
| 41 |
$database->query($sql); |
|
| 42 |
if($database->is_error()) {
|
|
| 43 |
$error[] = $database->get_error(); |
|
| 44 |
} else {
|
|
| 45 |
$success[] = $MESSAGE['PREFERENCES_EMAIL_UPDATED']; |
|
| 46 |
$_SESSION['EMAIL'] = $email; |
|
| 47 |
} |
|
| 48 |
} |
|
| 49 |
} |
|
| 0 | 50 | |
| trunk/account/forgot.php | ||
|---|---|---|
| 1 |
<?php |
|
| 2 |
/** |
|
| 3 |
* |
|
| 4 |
* @category frontend |
|
| 5 |
* @package account |
|
| 6 |
* @author WebsiteBaker Project |
|
| 7 |
* @copyright 2004-2009, Ryan Djurovich |
|
| 8 |
* @copyright 2009-2011, Website Baker Org. e.V. |
|
| 9 |
* @link http://www.websitebaker2.org/ |
|
| 10 |
* @license http://www.gnu.org/licenses/gpl.html |
|
| 11 |
* @platform WebsiteBaker 2.8.x |
|
| 12 |
* @requirements PHP 5.2.2 and higher |
|
| 13 |
* @version $Id$ |
|
| 14 |
* @filesource $HeadURL$ |
|
| 15 |
* @lastmodified $Date$ |
|
| 16 |
* |
|
| 17 |
*/ |
|
| 18 |
|
|
| 19 |
if ( !defined( 'WB_PATH' ) ){ require(dirname(__DIR__).'/config.php'); }
|
|
| 20 |
if ( !class_exists('frontend')) { require(WB_PATH.'/framework/class.frontend.php'); }
|
|
| 21 |
// Create new frontend object |
|
| 22 |
if (!isset($wb) || !($wb instanceof frontend)) { $wb = new frontend(); }
|
|
| 23 |
|
|
| 24 |
$page_id = @$_SESSION['PAGE_ID'] ?: 0; |
|
| 25 |
|
|
| 26 |
// Required page details |
|
| 27 |
// $page_id = 0; |
|
| 28 |
$page_description = ''; |
|
| 29 |
$page_keywords = ''; |
|
| 30 |
define('PAGE_ID', $page_id);
|
|
| 31 |
define('ROOT_PARENT', 0);
|
|
| 32 |
define('PARENT', 0);
|
|
| 33 |
define('LEVEL', 0);
|
|
| 34 |
define('PAGE_TITLE', $MENU['FORGOT']);
|
|
| 35 |
define('MENU_TITLE', $MENU['FORGOT']);
|
|
| 36 |
define('VISIBILITY', 'public');
|
|
| 37 |
|
|
| 38 |
if(!FRONTEND_LOGIN) {
|
|
| 39 |
header('Location: '.WB_URL.'/index.php');
|
|
| 40 |
exit(0); |
|
| 41 |
} |
|
| 42 |
|
|
| 43 |
// Set the page content include file |
|
| 44 |
define('PAGE_CONTENT', WB_PATH.'/account/forgot_form.php');
|
|
| 45 |
|
|
| 46 |
// Set auto authentication to false |
|
| 47 |
$auto_auth = false; |
|
| 48 |
|
|
| 49 |
// Include the index (wrapper) file |
|
| 50 |
require(WB_PATH.'/index.php'); |
|
| 0 | 51 | |
| trunk/account/forgot_form.php | ||
|---|---|---|
| 1 |
<?php |
|
| 2 |
/** |
|
| 3 |
* |
|
| 4 |
* @category frontend |
|
| 5 |
* @package account |
|
| 6 |
* @author WebsiteBaker Project |
|
| 7 |
* @copyright Website Baker Org. e.V. |
|
| 8 |
* @link http://websitebaker.org/ |
|
| 9 |
* @license http://www.gnu.org/licenses/gpl.html |
|
| 10 |
* @platform WebsiteBaker 2.8.3 |
|
| 11 |
* @requirements PHP 5.3.6 and higher |
|
| 12 |
* @version $Id$ |
|
| 13 |
* @filesource $HeadURL$ |
|
| 14 |
* @lastmodified $Date$ |
|
| 15 |
* |
|
| 16 |
*/ |
|
| 17 |
|
|
| 18 |
// Must include code to stop this file being access directly |
|
| 19 |
if(defined('WB_PATH') == false) { die("Cannot access this file directly"); }
|
|
| 20 |
// Check if the user has already submitted the form, otherwise show it |
|
| 21 |
$sCallingScript = WB_URL; |
|
| 22 |
$redirect_url = ((isset($_SESSION['HTTP_REFERER']) && $_SESSION['HTTP_REFERER'] != '') ? $_SESSION['HTTP_REFERER'] : $sCallingScript ); |
|
| 23 |
$redirect_url = ( isset($redirect) && ($redirect!='') ? $redirect : $redirect_url); |
|
| 24 |
$message = $MESSAGE['FORGOT_PASS_NO_DATA']; |
|
| 25 |
$errMsg =''; |
|
| 26 |
if(isset($_POST['email']) && $_POST['email'] != "" ) |
|
| 27 |
{
|
|
| 28 |
$email = strip_tags($_POST['email']); |
|
| 29 |
if($admin->validate_email($email) == false) |
|
| 30 |
{
|
|
| 31 |
$errMsg = $MESSAGE['USERS_INVALID_EMAIL']; |
|
| 32 |
$email = ''; |
|
| 33 |
} else {
|
|
| 34 |
// Check if the email exists in the database |
|
| 35 |
$sql = 'SELECT `user_id`,`username`,`display_name`,`email`,`last_reset`,`password` '. |
|
| 36 |
'FROM `'.TABLE_PREFIX.'users` '. |
|
| 37 |
'WHERE `email`=\''.$database->escapeString($email).'\''; |
|
| 38 |
if(($results = $database->query($sql))) |
|
| 39 |
{
|
|
| 40 |
if(($results_array = $results->fetchRow())) |
|
| 41 |
{ // Get the id, username, email, and last_reset from the above db query
|
|
| 42 |
// Check if the password has been reset in the last 2 hours |
|
| 43 |
if( (time() - (int)$results_array['last_reset']) < (2 * 3600) ) {
|
|
| 44 |
// Tell the user that their password cannot be reset more than once per hour |
|
| 45 |
$errMsg = $MESSAGE['FORGOT_PASS_ALREADY_RESET']; |
|
| 46 |
} else {
|
|
| 47 |
require_once(WB_PATH.'/framework/PasswordHash.php'); |
|
| 48 |
$pwh = new PasswordHash(0, true); |
|
| 49 |
$old_pass = $results_array['password']; |
|
| 50 |
// Generate a random password then update the database with it |
|
| 51 |
$new_pass = $pwh->NewPassword(); |
|
| 52 |
$sql = 'UPDATE `'.TABLE_PREFIX.'users` SET ' |
|
| 53 |
. '`password`=\''.$database->escapeString($pwh->HashPassword($new_pass, true)).'\', ' |
|
| 54 |
. '`last_reset`='.time().' ' |
|
| 55 |
. 'WHERE `user_id`='.(int)$results_array['user_id']; |
|
| 56 |
unset($pwh); // destroy $pwh-Object |
|
| 57 |
if($database->query($sql)) |
|
| 58 |
{ // Setup email to send
|
|
| 59 |
$mail_to = $email; |
|
| 60 |
$mail_subject = $MESSAGE['SIGNUP2_SUBJECT_LOGIN_INFO']; |
|
| 61 |
// Replace placeholders from language variable with values |
|
| 62 |
$search = array('{LOGIN_DISPLAY_NAME}', '{LOGIN_WEBSITE_TITLE}', '{LOGIN_NAME}', '{LOGIN_PASSWORD}');
|
|
| 63 |
$replace = array($results_array['display_name'], WEBSITE_TITLE, $results_array['username'], $new_pass); |
|
| 64 |
$mail_message = str_replace($search, $replace, $MESSAGE['SIGNUP2_BODY_LOGIN_FORGOT']); |
|
| 65 |
// Try sending the email |
|
| 66 |
if($wb->mail(SERVER_EMAIL,$mail_to,$mail_subject,$mail_message)) {
|
|
| 67 |
$message = $MESSAGE['FORGOT_PASS_PASSWORD_RESET']; |
|
| 68 |
$display_form = false; |
|
| 69 |
}else { // snd mail failed, rollback
|
|
| 70 |
$sql = 'UPDATE `'.TABLE_PREFIX.'users` '. |
|
| 71 |
'SET `password`=\''.$database->escapeString($old_pass).'\' '. |
|
| 72 |
'WHERE `user_id`='.(int)$results_array['user_id']; |
|
| 73 |
$database->query($sql); |
|
| 74 |
$errMsg = $MESSAGE['FORGOT_PASS_CANNOT_EMAIL']; |
|
| 75 |
} |
|
| 76 |
}else { // Error updating database
|
|
| 77 |
$errMsg = $MESSAGE['RECORD_MODIFIED_FAILED']; |
|
| 78 |
if(DEBUG) {
|
|
| 79 |
$message .= '<br />'.$database->get_error(); |
|
| 80 |
$message .= '<br />'.$sql; |
|
| 81 |
} |
|
| 82 |
} |
|
| 83 |
} |
|
| 84 |
}else { // no record found - Email doesn't exist, so tell the user
|
|
| 85 |
$errMsg = $MESSAGE['FORGOT_PASS_EMAIL_NOT_FOUND']; |
|
| 86 |
} |
|
| 87 |
} else { // Query failed
|
|
| 88 |
$errMsg = 'SystemError:: Database query failed!'; |
|
| 89 |
if(DEBUG) {
|
|
| 90 |
$errMsg .= '<br />'.$database->get_error(); |
|
| 91 |
$errMsg .= '<br />'.$sql; |
|
| 92 |
} |
|
| 93 |
} |
|
| 94 |
} |
|
| 95 |
} else {
|
|
| 96 |
$email = ''; |
|
| 97 |
} |
|
| 98 |
|
|
| 99 |
if( ($errMsg=='') && ($message != '')) {
|
|
| 100 |
// $message = $MESSAGE['FORGOT_PASS_NO_DATA']; |
|
| 101 |
$message_color = '000000'; |
|
| 102 |
} else {
|
|
| 103 |
$message = $errMsg; |
|
| 104 |
$message_color = 'ff0000'; |
|
| 105 |
} |
|
| 106 |
?> |
|
| 107 |
<div style="margin: 1em auto;"> |
|
| 108 |
<button type="button" value="cancel" onclick="window.location = '<?php echo $redirect_url; ?>';"><?php print $TEXT['CANCEL'] ?></button> |
|
| 109 |
</div> |
|
| 110 |
<h1 style="text-align: center;"><?php echo $MENU['FORGOT']; ?></h1> |
|
| 111 |
<form name="forgot_pass" action="<?php echo WB_URL.'/account/forgot.php'; ?>" method="post" class="account"> |
|
| 112 |
<table > |
|
| 113 |
<tr> |
|
| 114 |
<td height="40" align="center" style="color: #<?php echo $message_color; ?>;" colspan="3"> |
|
| 115 |
<strong><?php echo $message; ?></strong> |
|
| 116 |
</td> |
|
| 117 |
</tr> |
|
| 118 |
<?php if(!isset($display_form) OR $display_form != false) { ?>
|
|
| 119 |
<tr> |
|
| 120 |
<td height="10" colspan="2"></td> |
|
| 121 |
</tr> |
|
| 122 |
<tr> |
|
| 123 |
<td width="165" height="30" align="right"><?php echo $TEXT['EMAIL']; ?>:</td> |
|
| 124 |
<td><input type="text" maxlength="255" name="email" value="<?php echo $email; ?>" style="width: 180px;" /></td> |
|
| 125 |
<td><input type="submit" name="submit" value="<?php echo $TEXT['SEND_DETAILS']; ?>" style="width: 180px; font-size: 10px; color: #003366; border: 1px solid #336699; background-color: #DDDDDD; padding: 3px; text-transform: uppercase;" /></td> |
|
| 126 |
</tr> |
|
| 127 |
<?php } ?> |
|
| 128 |
</table> |
|
| 129 |
</form> |
|
| 0 | 130 | |
| trunk/account/frontend.css | ||
|---|---|---|
| 1 |
/* <![CDATA[ */ |
|
| 2 |
/* |
|
| 3 |
CSS definition for Website Baker module: WB-Preferences |
|
| 4 |
Copyright (C) 2008, Werner von der Decken |
|
| 5 |
Contact me: wkl(at)isteam.de, http://isteam.de |
|
| 6 |
|
|
| 7 |
This CSS file is free software. You can redistribute it and/or modify it |
|
| 8 |
under the terms of the GNU General Public License - version 2 or later, |
|
| 9 |
as published by the Free Software Foundation: http://www.gnu.org/licenses/gpl.html. |
|
| 10 |
|
|
| 11 |
This CSS file is distributed in the hope that it will be useful, |
|
| 12 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
| 13 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
| 14 |
GNU General Public License for more details. |
|
| 15 |
*/ |
|
| 16 |
.mod_preferences_error {
|
|
| 17 |
background-color:#ffb0b0; |
|
| 18 |
padding:5px; |
|
| 19 |
border:dotted 1px #ff0000; |
|
| 20 |
color:#ff0000; |
|
| 21 |
} |
|
| 22 |
.mod_preferences_success {
|
|
| 23 |
background-color:#b0ffb0; |
|
| 24 |
padding:5px; |
|
| 25 |
border:dotted 1px #303030; |
|
| 26 |
color:#303030; |
|
| 27 |
} |
|
| 28 |
table.account tr { line-height: 2.525; }
|
|
| 29 |
|
|
| trunk/account/languages/DE.php | ||
|---|---|---|
| 1 |
<?php |
|
| 2 |
/** |
|
| 3 |
Module developed for the Open Source Content Management System Website Baker (http://websitebaker.org) |
|
| 4 |
Copyright (C) 2008, ISTeam, Werner von der Decken |
|
| 5 |
Contact me: wkl(at)isteam.de, http://isteam.de |
|
| 6 |
|
|
| 7 |
This module is free software. You can redistribute it and/or modify it |
|
| 8 |
under the terms of the GNU General Public License - version 2 or later, |
|
| 9 |
as published by the Free Software Foundation: http://www.gnu.org/licenses/gpl.html. |
|
| 10 |
|
|
| 11 |
This module is distributed in the hope that it will be useful, |
|
| 12 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
| 13 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
| 14 |
GNU General Public License for more details. |
|
| 15 |
|
|
| 16 |
----------------------------------------------------------------------------------------- |
|
| 17 |
DEUTSCHE SPRACHDATEI FUER DAS PREFERENCES MODUL |
|
| 18 |
----------------------------------------------------------------------------------------- |
|
| 19 |
UPDATE HISTORY: |
|
| 20 |
Werner von der Decken; 17.05.2008 |
|
| 21 |
+ erstes release der Deutschen Sprachdatei |
|
| 22 |
----------------------------------------------------------------------------------------- |
|
| 23 |
**/ |
|
| 24 |
|
|
| 25 |
// Array fuer alle sprachabhaengigen Textausgaben im Front- und Backend |
|
| 26 |
// Hinweis: Verwende nachfolgende Namenskonvention f?r die Sprachausgabe des Moduls: $MOD_MODULE_DIRECTORY |
|
| 27 |
$MOD_PREFERENCE = array( |
|
| 28 |
'PLEASE_SELECT' => 'bitte wählen', |
|
| 29 |
'DETAILS_SAVED' => 'allgemeine Einstellungen geändert', |
|
| 30 |
'SAVE_SETTINGS' => 'Einstellungen speichern', |
|
| 31 |
'SAVE_EMAIL' => 'Email speichern', |
|
| 32 |
'SAVE_PASSWORD' => 'Passwort speichern', |
|
| 33 |
); |
|
| 34 |
$MESSAGE['USERS_DISPLAYNAME_TAKEN'] = 'Der angegebene Anzeigename wird bereits verwendet'; |
|
| 35 |
$TEXT['FULL_NAME'] = 'Öffentlich sichtbarer Name'; |
|
| 0 | 36 | |
| trunk/account/languages/EN.php | ||
|---|---|---|
| 1 |
<?php |
|
| 2 |
/** |
|
| 3 |
Module developed for the Open Source Content Management System Website Baker (http://websitebaker.org) |
|
| 4 |
Copyright (C) 2008, ISTeam, Werner von der Decken |
|
| 5 |
Contact me: wkl(at)isteam.de, http://isteam.de |
|
| 6 |
|
|
| 7 |
This module is free software. You can redistribute it and/or modify it |
|
| 8 |
under the terms of the GNU General Public License - version 2 or later, |
|
| 9 |
as published by the Free Software Foundation: http://www.gnu.org/licenses/gpl.html. |
|
| 10 |
|
|
| 11 |
This module is distributed in the hope that it will be useful, |
|
| 12 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
| 13 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
| 14 |
GNU General Public License for more details. |
|
| 15 |
|
|
| 16 |
----------------------------------------------------------------------------------------- |
|
| 17 |
ENGLISH LANGUAGE FILE FOR THE PREFERENCES MODULE |
|
| 18 |
----------------------------------------------------------------------------------------- |
|
| 19 |
UPDATE HISTORY: |
|
| 20 |
Werner von der Decken; 17.05.2008 |
|
| 21 |
+ initial release of the English language file |
|
| 22 |
----------------------------------------------------------------------------------------- |
|
| 23 |
**/ |
|
| 24 |
// array for all language dependen text outputs in the front- and backend |
|
| 25 |
// Note: stick to the naming convention: $MOD_MODULE_DIRECTORY |
|
| 26 |
$MOD_PREFERENCE = array( |
|
| 27 |
'PLEASE_SELECT' => 'please select', |
|
| 28 |
'DETAILS_SAVED' => 'details successfully saved', |
|
| 29 |
'SAVE_SETTINGS' => 'save details', |
|
| 30 |
'SAVE_EMAIL' => 'save email', |
|
| 31 |
'SAVE_PASSWORD' => 'save password', |
|
| 32 |
); |
|
| 33 |
$MESSAGE['USERS_DISPLAYNAME_TAKEN'] = 'The displayname you entered is already taken'; |
|
| 34 |
$TEXT['FULL_NAME'] = 'Publicly visible name'; |
|
| 0 | 35 | |
| trunk/account/login.php | ||
|---|---|---|
| 1 |
<?php |
|
| 2 |
/** |
|
| 3 |
* |
|
| 4 |
* @category frontend |
|
| 5 |
* @package account |
|
| 6 |
* @author WebsiteBaker Project |
|
| 7 |
* @copyright Ryan Djurovich |
|
| 8 |
* @copyright WebsiteBaker Org. e.V. |
|
| 9 |
* @link http://websitebaker.org/ |
|
| 10 |
* @license http://www.gnu.org/licenses/gpl.html |
|
| 11 |
* @platform WebsiteBaker 2.8.3 |
|
| 12 |
* @requirements PHP 5.3.6 and higher |
|
| 13 |
* @version $Id$ |
|
| 14 |
* @filesource $HeadURL$ |
|
| 15 |
* @lastmodified $Date$ |
|
| 16 |
* |
|
| 17 |
*/ |
|
| 18 |
|
|
| 19 |
if ( !defined( 'WB_PATH' ) ){ require(dirname(__DIR__).'/config.php'); }
|
|
| 20 |
if ( !class_exists('frontend')) { require(WB_PATH.'/framework/class.frontend.php'); }
|
|
| 21 |
// Create new frontend object |
|
| 22 |
if (!isset($wb) || !($wb instanceof frontend)) { $wb = new frontend(); }
|
|
| 23 |
|
|
| 24 |
// Make sure the login is enabled |
|
| 25 |
if(!FRONTEND_LOGIN) {
|
|
| 26 |
if(INTRO_PAGE) {
|
|
| 27 |
header('Location: '.WB_URL.'/index.php');
|
|
| 28 |
exit(0); |
|
| 29 |
} else {
|
|
| 30 |
header('Location: '.WB_URL.'/index.php');
|
|
| 31 |
exit(0); |
|
| 32 |
if ( $wb->get_user_id() && $wb->ami_group_member( '1' ) ) {
|
|
| 33 |
} else {
|
|
| 34 |
$wb->print_missing_frontend_login(); |
|
| 35 |
} |
|
| 36 |
exit(0); |
|
| 37 |
} |
|
| 38 |
} |
|
| 39 |
|
|
| 40 |
$page_id = @$_SESSION['PAGE_ID'] ?: 0; |
|
| 41 |
|
|
| 42 |
// Required page details |
|
| 43 |
// $page_id = 0; |
|
| 44 |
$page_description = ''; |
|
| 45 |
$page_keywords = ''; |
|
| 46 |
define('PAGE_ID', $page_id);
|
|
| 47 |
define('ROOT_PARENT', 0);
|
|
| 48 |
define('PARENT', 0);
|
|
| 49 |
define('LEVEL', 0);
|
|
| 50 |
define('PAGE_TITLE', $TEXT['PLEASE_LOGIN']);
|
|
| 51 |
define('MENU_TITLE', $TEXT['PLEASE_LOGIN']);
|
|
| 52 |
define('VISIBILITY', 'public');
|
|
| 53 |
// Set the page content include file |
|
| 54 |
define('PAGE_CONTENT', WB_PATH.'/account/login_form.php');
|
|
| 55 |
|
|
| 56 |
require_once(WB_PATH.'/framework/Login.php'); |
|
| 57 |
require_once(WB_PATH.'/framework/class.frontend.php'); |
|
| 58 |
|
|
| 59 |
// Create new frontend object |
|
| 60 |
//$wb = new frontend(); |
|
| 61 |
|
|
| 62 |
// Create new login app |
|
| 63 |
$requestMethod = '_'.strtoupper($_SERVER['REQUEST_METHOD']); |
|
| 64 |
$redirect = strip_tags(isset(${$requestMethod}['redirect']) ? ${$requestMethod}['redirect'] : '');
|
|
| 65 |
$redirect = ((isset($_SERVER['HTTP_REFERER']) && empty($redirect)) ? $_SERVER['HTTP_REFERER'] : $redirect); |
|
| 66 |
$_SESSION['HTTP_REFERER'] = str_replace(WB_URL,'',$redirect); |
|
| 67 |
|
|
| 68 |
$loginUrl = WB_URL.'/account/login.php'; |
|
| 69 |
$loginUrl .= (!empty($redirect) ? '?redirect=' .$_SESSION['HTTP_REFERER'] : ''); |
|
| 70 |
|
|
| 71 |
$ThemeUrl = WB_URL.$wb->correct_theme_source('warning.html');
|
|
| 72 |
// Setup template object, parse vars to it, then parse it |
|
| 73 |
$ThemePath = realpath(WB_PATH.$wb->correct_theme_source('login.htt'));
|
|
| 74 |
|
|
| 75 |
$thisApp = new Login( |
|
| 76 |
array( |
|
| 77 |
"MAX_ATTEMPS" => "3", |
|
| 78 |
"WARNING_URL" => $ThemeUrl."/warning.html", |
|
| 79 |
"USERNAME_FIELDNAME" => 'username', |
|
| 80 |
"PASSWORD_FIELDNAME" => 'password', |
|
| 81 |
"REMEMBER_ME_OPTION" => SMART_LOGIN, |
|
| 82 |
"MIN_USERNAME_LEN" => "2", |
|
| 83 |
"MIN_PASSWORD_LEN" => "2", |
|
| 84 |
"MAX_USERNAME_LEN" => "30", |
|
| 85 |
"MAX_PASSWORD_LEN" => "30", |
|
| 86 |
"LOGIN_URL" => $loginUrl, |
|
| 87 |
"DEFAULT_URL" => WB_URL."/index.php", |
|
| 88 |
"TEMPLATE_DIR" => $ThemePath, |
|
| 89 |
"TEMPLATE_FILE" => "login.htt", |
|
| 90 |
"FRONTEND" => true, |
|
| 91 |
"FORGOTTEN_DETAILS_APP" => WB_URL."/account/forgot.php", |
|
| 92 |
"USERS_TABLE" => TABLE_PREFIX."users", |
|
| 93 |
"GROUPS_TABLE" => TABLE_PREFIX."groups", |
|
| 94 |
"REDIRECT_URL" => $redirect |
|
| 95 |
) |
|
| 96 |
); |
|
| 97 |
|
|
| 98 |
// Set extra outsider var |
|
| 99 |
$globals[] = 'thisApp'; |
|
| 100 |
|
|
| 101 |
// Include the index (wrapper) file |
|
| 102 |
require(WB_PATH.'/index.php'); |
|
| 0 | 103 | |
| trunk/account/login_form.php | ||
|---|---|---|
| 1 |
<?php |
|
| 2 |
/** |
|
| 3 |
* |
|
| 4 |
* @category frontend |
|
| 5 |
* @package account |
|
| 6 |
* @author WebsiteBaker Project |
|
| 7 |
* @copyright Ryan Djurovich |
|
| 8 |
* @copyright Website Baker Org. e.V. |
|
| 9 |
* @link http://websitebaker.org/ |
|
| 10 |
* @license http://www.gnu.org/licenses/gpl.html |
|
| 11 |
* @platform WebsiteBaker 2.8.3 |
|
| 12 |
* @requirements PHP 5.3.6 and higher |
|
| 13 |
* @version $Id$ |
|
| 14 |
* @filesource $HeadURL$ |
|
| 15 |
* @lastmodified $Date$ |
|
| 16 |
* |
|
| 17 |
*/ |
|
| 18 |
|
|
| 19 |
// Must include code to stop this file being access directly |
|
| 20 |
if(defined('WB_PATH') == false) { die("Cannot access this file directly"); }
|
|
| 21 |
|
|
| 22 |
$username_fieldname = 'username'; |
|
| 23 |
$password_fieldname = 'password'; |
|
| 24 |
if(defined('SMART_LOGIN') && SMART_LOGIN == 'true') {
|
|
| 25 |
$sTmp = '_'.substr(md5(microtime()), -8); |
|
| 26 |
$username_fieldname .= $sTmp; |
|
| 27 |
$password_fieldname .= $sTmp; |
|
| 28 |
} |
|
| 29 |
|
|
| 30 |
$thisApp->redirect_url = (isset($thisApp->redirect_url) && ($thisApp->redirect_url!='') ? $thisApp->redirect_url : $_SESSION['HTTP_REFERER'] ); |
|
| 31 |
|
|
| 32 |
?> |
|
| 33 |
<div style="margin: 1em auto;"> |
|
| 34 |
<button type="button" value="cancel" onclick="javascript: window.location = '<?php print $_SESSION['HTTP_REFERER'] ?>';"><?php print $TEXT['CANCEL'] ?></button> |
|
| 35 |
</div> |
|
| 36 |
<h1> Login</h1> |
|
| 37 |
<?php |
|
| 38 |
|
|
| 39 |
echo $thisApp->getMessage(); |
|
| 40 |
?> |
|
| 41 |
<br /> |
|
| 42 |
<br /> |
|
| 43 |
|
|
| 44 |
<form class="login-box account" action="<?php echo WB_URL.'/account/login.php'; ?>" method="post"> |
|
| 45 |
<input type="hidden" name="username_fieldname" value="<?php echo $username_fieldname; ?>" /> |
|
| 46 |
<input type="hidden" name="password_fieldname" value="<?php echo $password_fieldname; ?>" /> |
|
| 47 |
<input type="hidden" name="redirect" value="<?php echo $thisApp->redirect_url;?>" /> |
|
| 48 |
|
|
| 49 |
<table > |
|
| 50 |
<tr> |
|
| 51 |
<td style="width:100px"><?php echo $TEXT['USERNAME']; ?>:</td> |
|
| 52 |
<td class="value_input"> |
|
| 53 |
<input type="text" name="<?php echo $username_fieldname; ?>" maxlength="30" style="width:220px;"/> |
|
| 54 |
<script type="text/javascript"> |
|
| 55 |
// document.login.<?php echo $username_fieldname; ?>.focus(); |
|
| 56 |
var ref= document.getElementById("<?php echo $username_fieldname; ?>");
|
|
| 57 |
if (ref) ref.focus(); |
|
| 58 |
</script> |
|
| 59 |
</td> |
|
| 60 |
</tr> |
|
| 61 |
<tr> |
|
| 62 |
<td style="width:100px"><?php echo $TEXT['PASSWORD']; ?>:</td> |
|
| 63 |
<td class="value_input"> |
|
| 64 |
<input type="password" name="<?php echo $password_fieldname; ?>" maxlength="30" style="width:220px;"/> |
|
| 65 |
</td> |
|
| 66 |
</tr> |
|
| 67 |
<?php if($username_fieldname != 'username') { ?>
|
|
| 68 |
<tr> |
|
| 69 |
<td> </td> |
|
| 70 |
<td> |
|
| 71 |
<input type="checkbox" name="remember" id="remember" value="true"/> |
|
| 72 |
<label for="remember"><?php echo $TEXT['REMEMBER_ME']; ?></label> |
|
| 73 |
</td> |
|
| 74 |
</tr> |
|
| 75 |
<?php } ?> |
|
| 76 |
<tr> |
|
| 77 |
<td> </td> |
|
| 78 |
<td> |
|
| 79 |
<input type="submit" name="submit" value="<?php echo $TEXT['LOGIN']; ?>" /> |
|
| 80 |
<input type="reset" name="reset" value="<?php echo $TEXT['RESET']; ?>" /> |
|
| 81 |
</td> |
|
| 82 |
</tr> |
|
| 83 |
</table> |
|
| 84 |
|
|
| 85 |
</form> |
|
| 86 |
|
|
| 87 |
<br /> |
|
| 88 |
|
|
| 89 |
<a href="<?php echo WB_URL; ?>/account/forgot.php"><?php echo $TEXT['FORGOTTEN_DETAILS']; ?></a> |
|
| 0 | 90 | |
| trunk/account/logout.php | ||
|---|---|---|
| 1 |
<?php |
|
| 2 |
/** |
|
| 3 |
* |
|
| 4 |
* @category frontend |
|
| 5 |
* @package account |
|
| 6 |
* @author WebsiteBaker Project |
|
| 7 |
* @copyright Ryan Djurovich |
|
| 8 |
* @copyright WebsiteBaker Org. e.V. |
|
| 9 |
* @link http://websitebaker.org/ |
|
| 10 |
* @license http://www.gnu.org/licenses/gpl.html |
|
| 11 |
* @platform WebsiteBaker 2.8.3 |
|
| 12 |
* @requirements PHP 5.3.6 and higher |
|
| 13 |
* @version $Id$ |
|
| 14 |
* @filesource $HeadURL$ |
|
| 15 |
* @lastmodified $Date$ |
|
| 16 |
* |
|
| 17 |
*/ |
|
| 18 |
|
|
| 19 |
if( !defined( 'WB_PATH' ) ){ require(dirname(__DIR__).'/config.php'); }
|
|
| 20 |
|
|
| 21 |
if(isset($_COOKIE['REMEMBER_KEY'])) {
|
|
| 22 |
setcookie('REMEMBER_KEY', '', time()-3600, '/');
|
|
| 23 |
} |
|
| 24 |
$redirect_url = ((isset($_SESSION['HTTP_REFERER']) && $_SESSION['HTTP_REFERER'] != '') ? $_SESSION['HTTP_REFERER'] : WB_URL ); |
|
| 25 |
$redirect_url = ( isset($redirect) && ($redirect!='') ? $redirect : $redirect_url); |
|
| 26 |
$page_id = @$_SESSION['PAGE_ID'] ?: 0; |
|
| 27 |
|
|
| 28 |
$_SESSION['USER_ID'] = null; |
|
| 29 |
$_SESSION['GROUP_ID'] = null; |
|
| 30 |
$_SESSION['GROUPS_ID'] = null; |
|
| 31 |
$_SESSION['USERNAME'] = null; |
|
| 32 |
$_SESSION['PAGE_PERMISSIONS'] = null; |
|
| 33 |
$_SESSION['SYSTEM_PERMISSIONS'] = null; |
|
| 34 |
$_SESSION = array(); |
|
| 35 |
|
|
| 36 |
session_unset(); |
|
| 37 |
unset($_COOKIE[session_name()]); |
|
| 38 |
session_destroy(); |
|
| 39 |
|
|
| 40 |
if( !FRONTEND_LOGIN && INTRO_PAGE) {
|
|
| 41 |
header('Location: '.WB_URL.'/index.php');
|
|
| 42 |
exit; |
|
| 43 |
} else {
|
|
| 44 |
$no_intro = true; |
|
| 45 |
require(WB_PATH.'/index.php'); |
|
| 46 |
} |
|
| 47 |
|
|
| 0 | 48 | |
| trunk/account/password.php | ||
|---|---|---|
| 1 |
<?php |
|
| 2 |
/** |
|
| 3 |
* |
|
| 4 |
* @category frontend |
|
| 5 |
* @package account |
|
| 6 |
* @author WebsiteBaker Project |
|
| 7 |
* @copyright 2009-2012, Website Baker Org. e.V. |
|
| 8 |
* @link http://www.websitebaker2.org/ |
|
| 9 |
* @license http://www.gnu.org/licenses/gpl.html |
|
| 10 |
* @platform WebsiteBaker 2.8.x |
|
| 11 |
* @requirements PHP 5.2.2 and higher |
|
| 12 |
* @version $Id$ |
|
| 13 |
* @filesource $HeadURL$ |
|
| 14 |
* @lastmodified $Date$ |
|
| 15 |
* |
|
| 16 |
*/ |
|
| 17 |
|
|
| 18 |
// Must include code to stop this file being access directly |
|
| 19 |
if(defined('WB_PATH') == false) { die("Cannot access this file directly"); }
|
|
| 20 |
|
|
| 21 |
// Get entered values |
|
| 22 |
$iMinPassLength = 6; |
|
| 23 |
$sCurrentPassword = $wb->get_post('current_password');
|
|
| 24 |
$sCurrentPassword = (is_null($sCurrentPassword) ? '' : $sCurrentPassword); |
|
| 25 |
$sNewPassword = $wb->get_post('new_password');
|
|
| 26 |
$sNewPassword = is_null($sNewPassword) ? '' : $sNewPassword; |
|
| 27 |
$sNewPasswordRetyped = $wb->get_post('new_password2');
|
|
| 28 |
$sNewPasswordRetyped= is_null($sNewPasswordRetyped) ? '' : $sNewPasswordRetyped; |
|
| 29 |
// Check existing password |
|
| 30 |
$sql = 'SELECT `password` '; |
|
| 31 |
$sql .= 'FROM `'.TABLE_PREFIX.'users` '; |
|
| 32 |
$sql .= 'WHERE `user_id` = '.$wb->get_user_id(); |
|
| 33 |
// Validate values |
|
| 34 |
if (md5($sCurrentPassword) != $database->get_one($sql)) {
|
|
| 35 |
$error[] = $MESSAGE['PREFERENCES_CURRENT_PASSWORD_INCORRECT']; |
|
| 36 |
}else {
|
|
| 37 |
if(strlen($sNewPassword) < $iMinPassLength) {
|
|
| 38 |
$error[] = $MESSAGE['USERS_PASSWORD_TOO_SHORT']; |
|
| 39 |
}else {
|
|
| 40 |
if($sNewPassword != $sNewPasswordRetyped) {
|
|
| 41 |
$error[] = $MESSAGE['USERS_PASSWORD_MISMATCH']; |
|
| 42 |
}else {
|
|
| 43 |
$pattern = '/[^'.$wb->password_chars.']/'; |
|
| 44 |
if (preg_match($pattern, $sNewPassword)) {
|
|
| 45 |
$error[] = $MESSAGE['PREFERENCES_INVALID_CHARS']; |
|
| 46 |
}else {
|
|
| 47 |
// generate new password hash |
|
| 48 |
$sPwHashNew = md5($sNewPassword); |
|
| 49 |
// Update the database |
|
| 50 |
$sql = 'UPDATE `'.TABLE_PREFIX.'users` ' |
|
| 51 |
. 'SET `password`=\''.$database->escapeString($sPwHashNew).'\' ' |
|
| 52 |
. 'WHERE `user_id`='.$wb->get_user_id(); |
|
| 53 |
if ($database->query($sql)) {
|
|
| 54 |
$success[] = $MESSAGE['PREFERENCES_PASSWORD_CHANGED']; |
|
| 55 |
}else {
|
|
| 56 |
$error[] = $database->get_error(); |
|
| 57 |
} |
|
| 58 |
} |
|
| 59 |
} |
|
| 60 |
} |
|
| 61 |
} |
|
| 0 | 62 | |
| trunk/account/preferences.php | ||
|---|---|---|
| 1 |
<?php |
|
| 2 |
/** |
|
| 3 |
* |
|
| 4 |
* @category frontend |
|
| 5 |
* @package account |
|
| 6 |
* @author WebsiteBaker Project |
|
| 7 |
* @copyright 2004-2009, Ryan Djurovich |
|
| 8 |
* @copyright 2009-2011, Website Baker Org. e.V. |
|
| 9 |
* @link http://www.websitebaker2.org/ |
|
| 10 |
* @license http://www.gnu.org/licenses/gpl.html |
|
| 11 |
* @platform WebsiteBaker 2.8.x |
|
| 12 |
* @requirements PHP 5.2.2 and higher |
|
| 13 |
* @version $Id$ |
|
| 14 |
* @filesource $HeadURL$ |
|
| 15 |
* @lastmodified $Date$ |
|
| 16 |
* |
|
| 17 |
*/ |
|
| 18 |
|
|
| 19 |
if (!defined( 'WB_PATH')){ require(dirname(__DIR__).'/config.php'); }
|
|
| 20 |
if (!class_exists('frontend')) {require(WB_PATH.'/framework/class.frontend.php');}
|
|
| 21 |
|
|
| 22 |
require_once(WB_PATH.'/framework/functions.php'); |
|
| 23 |
|
|
| 24 |
// Create new frontend object |
|
| 25 |
if (!isset($wb) || !($wb instanceof frontend)) {
|
|
| 26 |
$wb = new frontend(); |
|
| 27 |
} |
|
| 28 |
|
|
| 29 |
if(!FRONTEND_LOGIN) {
|
|
| 30 |
header('Location: '.WB_URL.'/index.php');
|
|
| 31 |
exit(0); |
|
| 32 |
} |
|
| 33 |
|
|
| 34 |
if ($wb->is_authenticated()==false) {
|
|
| 35 |
header('Location: '.WB_URL.'/account/login.php');
|
|
| 36 |
exit(0); |
|
| 37 |
} |
|
| 38 |
$redirect_url = ((isset($_SESSION['HTTP_REFERER']) && $_SESSION['HTTP_REFERER'] != '') ? $_SESSION['HTTP_REFERER'] : WB_URL ); |
|
| 39 |
$redirect_url = ( isset($redirect) && ($redirect!='') ? $redirect : $redirect_url); |
|
| 40 |
$page_id = @$_SESSION['PAGE_ID'] ?: PAGE_ID; |
|
| 41 |
/* |
|
| 42 |
$requestMethod = '_'.strtoupper($_SERVER['REQUEST_METHOD']); |
|
| 43 |
$redirect = strip_tags(isset(${$requestMethod}['redirect']) ? ${$requestMethod}['redirect'] : '');
|
|
| 44 |
$redirect = ((isset($_SERVER['HTTP_REFERER']) && empty($redirect)) ? $_SERVER['HTTP_REFERER'] : $redirect); |
|
| 45 |
$_SESSION['HTTP_REFERER'] = str_replace(WB_URL,'',$redirect); |
|
| 46 |
*/ |
|
| 47 |
|
|
| 48 |
// Required page details |
|
| 49 |
$page_description = ''; |
|
| 50 |
$page_keywords = ''; |
|
| 51 |
define('PAGE_ID', $page_id);
|
|
| 52 |
define('ROOT_PARENT', 0);
|
|
| 53 |
define('PARENT', 0);
|
|
| 54 |
define('LEVEL', 0);
|
|
| 55 |
|
|
| 56 |
define('PAGE_TITLE', $MENU['PREFERENCES']);
|
|
| 57 |
define('MENU_TITLE', $MENU['PREFERENCES']);
|
|
| 58 |
define('MODULE', '');
|
|
| 59 |
define('VISIBILITY', 'public');
|
|
| 60 |
|
|
| 61 |
define('PAGE_CONTENT', WB_PATH.'/account/preferences_form.php');
|
|
| 62 |
// Include the index (wrapper) file |
|
| 63 |
$no_intro = true; |
|
| 64 |
require(WB_PATH.'/index.php'); |
|
| 0 | 65 | |
| trunk/account/preferences_form.php | ||
|---|---|---|
| 1 |
<?php |
|
| 2 |
/** |
|
| 3 |
* |
|
| 4 |
* @category frontend |
|
| 5 |
* @package account |
|
| 6 |
* @author WebsiteBaker Project |
|
| 7 |
* @copyright Ryan Djurovich |
|
| 8 |
* @copyright WebsiteBaker Org. e.V. |
|
| 9 |
* @link http://websitebaker.org/ |
|
| 10 |
* @license http://www.gnu.org/licenses/gpl.html |
|
| 11 |
* @platform WebsiteBaker 2.8.3 |
|
| 12 |
* @requirements PHP 5.3.6 and higher |
|
| 13 |
* @version $Id$ |
|
| 14 |
* @filesource $HeadURL$ |
|
| 15 |
* @lastmodified $Date$ |
|
| 16 |
* |
|
| 17 |
*/ |
|
| 18 |
// prevent this file from being accesses directly |
|
| 19 |
if(defined('WB_PATH') == false) { exit("Cannot access this file directly"); }
|
|
| 20 |
$sCallingScript = WB_URL; |
|
| 21 |
|
|
| 22 |
$redirect_url = (isset($_SESSION['HTTP_REFERER']) && ($_SESSION['HTTP_REFERER'] != '') ? $_SESSION['HTTP_REFERER'] : $sCallingScript ); |
|
| 23 |
$redirect_url = (isset($redirect) && ($redirect!='') ? $redirect : $redirect_url); |
|
| 24 |
/* |
|
| 25 |
print '<pre class="mod-pre rounded">function <span>'.__FUNCTION__.'( '.$page_id.' );</span> filename: <span>'.basename(__FILE__).'</span> line: '.__LINE__.' -> <br />'; |
|
| 26 |
print_r( $redirect_url ); print '</pre>'; flush (); // ob_flush();;sleep(10); die(); |
|
| 27 |
*/ |
|
| 28 |
if($wb->is_authenticated() === false) {
|
|
| 29 |
// User needs to login first |
|
| 30 |
header("Location: ".WB_URL."/account/login.php?redirect=".$wb->link);
|
|
| 31 |
exit(0); |
|
| 32 |
} |
|
| 33 |
// load module default language file (EN) |
|
| 34 |
$sAddonName = basename(__DIR__); |
|
| 35 |
$oTrans = Translate::getInstance(); |
|
| 36 |
$oTrans->enableAddon('account');
|
|
| 37 |
|
|
| 38 |
//require(WB_PATH .'/'.$sAddonName.'/languages/EN.php'); |
|
| 39 |
//if(file_exists(WB_PATH .'/'.$sAddonName.'/languages/'.LANGUAGE .'.php')) {
|
|
| 40 |
// require(WB_PATH .'/'.$sAddonName.'/languages/'.LANGUAGE .'.php'); |
|
| 41 |
//} |
|
| 42 |
require_once(WB_PATH.'/framework/functions-utf8.php'); |
|
| 43 |
/* |
|
| 44 |
echo '<style type="text/css">'; |
|
| 45 |
include(WB_PATH .'/account/frontend.css'); |
|
| 46 |
echo "\n</style>\n"; |
|
| 47 |
*/ |
|
| 48 |
|
|
| 49 |
$user_time = true; |
|
| 50 |
require(ADMIN_PATH.'/interface/timezones.php'); |
|
| 51 |
require(ADMIN_PATH.'/interface/date_formats.php'); |
|
| 52 |
require(ADMIN_PATH.'/interface/time_formats.php'); |
|
| 53 |
$error = array(); |
|
| 54 |
$success = array(); |
|
| 55 |
$template = new Template(WB_PATH .'/account','remove'); |
|
| 56 |
switch($wb->get_post('action')):
|
|
| 57 |
case 'details': |
|
| 58 |
require_once(WB_PATH .'/account/details.php'); |
|
| 59 |
break; |
|
| 60 |
case 'email': |
|
| 61 |
require_once(WB_PATH .'/account/email.php'); |
|
| 62 |
break; |
|
| 63 |
case 'password': |
|
| 64 |
require_once(WB_PATH .'/account/password.php'); |
|
| 65 |
break; |
|
| 66 |
default: |
|
| 67 |
// do nothing |
|
| 68 |
endswitch; // switch |
|
| 69 |
// show template |
|
| 70 |
$template->set_file('page', 'template.htt');
|
|
| 71 |
$template->set_block('page', 'main_block', 'main');
|
|
| 72 |
// get existing values from database |
|
| 73 |
$sql = "SELECT `display_name`,`email` FROM `".TABLE_PREFIX."users` WHERE `user_id` = '".$wb->get_user_id()."'"; |
|
| 74 |
$rowset = $database->query($sql); |
|
| 75 |
if($database->is_error()) { $error[] = $database->get_error(); }
|
|
| 76 |
$row = $rowset->fetchRow(MYSQLI_ASSOC); |
|
| 77 |
// insert values into form |
|
| 78 |
$template->set_var('DISPLAY_NAME', $row['display_name']);
|
|
| 79 |
$template->set_var('EMAIL', $row['email']);
|
|
| 80 |
// read available languages from table addons and assign it to the template |
|
| 81 |
$sql = 'SELECT * FROM `'.TABLE_PREFIX.'addons` '; |
|
| 82 |
$sql .= 'WHERE `type` = \'language\' ORDER BY `directory`'; |
|
| 83 |
if( $res_lang = $database->query($sql) ) {
|
|
| 84 |
$template->set_block('main_block', 'language_list_block', 'language_list');
|
|
| 85 |
$iCurrentLanguage = (@$_SESSION['LANGUAGE'] ? : LANGUAGE); |
|
| 86 |
while( $rec_lang = $res_lang->fetchRow(MYSQLI_ASSOC) ) |
|
| 87 |
{
|
|
| 88 |
$langIcons = (empty($rec_lang['directory'])) ? 'none' : strtolower($rec_lang['directory']); |
|
| 89 |
$template->set_var('CODE', $rec_lang['directory']);
|
|
| 90 |
$template->set_var('NAME', $rec_lang['name']);
|
|
| 91 |
$template->set_var('FLAG', THEME_URL.'/images/flags/'.$langIcons);
|
|
| 92 |
$template->set_var('SELECTED', ($iCurrentLanguage == $rec_lang['directory'] ? ' selected="selected"' : '') );
|
|
| 93 |
$template->parse('language_list', 'language_list_block', true);
|
|
| 94 |
} |
|
| 95 |
} |
|
| 96 |
// Insert default timezone values |
|
| 97 |
$template->set_block('main_block', 'timezone_list_block', 'timezone_list');
|
|
| 98 |
if( isset($_SESSION['TIMEZONE'])) {
|
|
| 99 |
$actual_time = time()+ $_SESSION['TIMEZONE']; |
|
| 100 |
foreach($TIME_FORMATS as $key => &$val) {
|
|
| 101 |
if($key == "system_default") {
|
|
| 102 |
if(isset($oTrans->TEXT_SYSTEM_DEFAULT)) {
|
|
| 103 |
$TIME_FORMATS['system_default'] = gmdate(DEFAULT_TIME_FORMAT, $actual_time).' ('.$oTrans->TEXT_SYSTEM_DEFAULT.')';
|
|
| 104 |
} else {
|
|
| 105 |
$TIME_FORMATS['system_default'] = gmdate(DEFAULT_TIME_FORMAT, $actual_time).' (System Default)'; |
|
| 106 |
} |
|
| 107 |
} else {
|
|
| 108 |
$format = str_replace("|", " ", $key);
|
|
| 109 |
$TIME_FORMATS[ $key ] = gmdate( $format, $actual_time); |
|
| 110 |
} |
|
| 111 |
} |
|
| 112 |
// Keep in mind we've also update the Date! (± one day) |
|
| 113 |
foreach($DATE_FORMATS as $key => &$val) {
|
|
| 114 |
if($key == "system_default") {
|
|
| 115 |
if(isset($oTrans->TEXT_SYSTEM_DEFAULT)) {
|
|
| 116 |
$DATE_FORMATS['system_default'] = gmdate(DEFAULT_DATE_FORMAT, $actual_time).' ('.$oTrans->TEXT_SYSTEM_DEFAULT.')';
|
|
| 117 |
} else {
|
|
| 118 |
$DATE_FORMATS['system_default'] = gmdate(DEFAULT_DATE_FORMAT, $actual_time).' (System Default)'; |
|
| 119 |
} |
|
| 120 |
} else {
|
|
| 121 |
$format = str_replace("|", " ", $key);
|
|
| 122 |
$DATE_FORMATS[ $key ] = gmdate( $format, $actual_time); |
|
| 123 |
} |
|
| 124 |
} |
|
| 125 |
} |
|
| 126 |
|
|
| 127 |
$iActualTimezone = ((DEFAULT_TIMEZONE <> 0) ? DEFAULT_TIMEZONE : 0); |
|
| 128 |
$iActualTimezone = (($iActualTimezone == $wb->get_timezone())? 'system_default':$wb->get_timezone()); |
|
| 129 |
$iCurrentTimeZone = intval(@$_SESSION['TIMEZONE'] ? : $iActualTimezone); |
|
| 130 |
foreach($TIMEZONES AS $hour_offset => $title) {
|
|
| 131 |
$iTmpOffset = (is_numeric($hour_offset)?$hour_offset*3600:$hour_offset); |
|
| 132 |
$template->set_var('VALUE', $hour_offset);
|
|
| 133 |
$template->set_var('NAME', $title);
|
|
| 134 |
$template->set_var('SELECTED', (($iTmpOffset === $iActualTimezone) ? ' selected="selected"' : ''));
|
|
| 135 |
/* |
|
| 136 |
$template->set_var('VALUE', $hour_offset);
|
|
| 137 |
$template->set_var('NAME', $title);
|
|
| 138 |
if($iCurrentTimeZone == $hour_offset*3600) {
|
|
| 139 |
$template->set_var('SELECTED', 'selected="selected"');
|
|
| 140 |
} else {
|
|
| 141 |
$template->set_var('SELECTED', '');
|
|
| 142 |
} |
|
| 143 |
*/ |
|
| 144 |
$template->parse('timezone_list', 'timezone_list_block', true);
|
|
| 145 |
} |
|
| 146 |
// Insert date format list |
|
| 147 |
$template->set_block('main_block', 'date_format_list_block', 'date_format_list');
|
|
| 148 |
$sTempDateFormat = (@$_SESSION['DATE_FORMAT'] ?: DATE_FORMAT); |
|
| 149 |
foreach($DATE_FORMATS AS $format => $title) {
|
|
| 150 |
$format = str_replace('|', ' ', $format); // Add's white-spaces (not able to be stored in array key)
|
|
| 151 |
if($format != 'system_default') {
|
|
| 152 |
$template->set_var('VALUE', $format);
|
|
| 153 |
} else {
|
|
| 154 |
$template->set_var('VALUE', '');
|
|
| 155 |
} |
|
| 156 |
$template->set_var('NAME', $title);
|
|
| 157 |
if($sTempDateFormat == $format AND !isset($_SESSION['USE_DEFAULT_DATE_FORMAT'])) {
|
|
| 158 |
$template->set_var('SELECTED', 'selected="selected"');
|
|
| 159 |
} elseif($format == 'system_default' AND isset($_SESSION['USE_DEFAULT_DATE_FORMAT'])) {
|
|
| 160 |
$template->set_var('SELECTED', 'selected="selected"');
|
|
| 161 |
} else {
|
|
| 162 |
$template->set_var('SELECTED', '');
|
|
| 163 |
} |
|
| 164 |
$template->parse('date_format_list', 'date_format_list_block', true);
|
|
| 165 |
} |
|
| 166 |
// Insert time format list |
|
| 167 |
$template->set_block('main_block', 'time_format_list_block', 'time_format_list');
|
|
| 168 |
$sTimeFormat = (@$_SESSION['TIME_FORMAT'] ? : TIME_FORMAT ); |
|
| 169 |
foreach($TIME_FORMATS AS $format => $title) {
|
|
| 170 |
$format = str_replace('|', ' ', $format); // Add's white-spaces (not able to be stored in array key)
|
|
| 171 |
if($format != 'system_default') {
|
|
| 172 |
$template->set_var('VALUE', $format);
|
|
| 173 |
} else {
|
|
| 174 |
$template->set_var('VALUE', '');
|
|
| 175 |
} |
|
| 176 |
$template->set_var('NAME', $title);
|
|
| 177 |
if($sTimeFormat == $format AND !isset($_SESSION['USE_DEFAULT_TIME_FORMAT'])) {
|
|
| 178 |
$template->set_var('SELECTED', 'selected="selected"');
|
|
| 179 |
} elseif($format == 'system_default' AND isset($_SESSION['USE_DEFAULT_TIME_FORMAT'])) {
|
|
| 180 |
$template->set_var('SELECTED', 'selected="selected"');
|
|
| 181 |
} else {
|
|
| 182 |
$template->set_var('SELECTED', '');
|
|
| 183 |
} |
|
| 184 |
$template->parse('time_format_list', 'time_format_list_block', true);
|
|
| 185 |
} |
|
| 186 |
// insert all translations |
|
| 187 |
$template->set_var($oTrans->getLangArray()); |
|
| 188 |
$template->set_var('HTTP_REFERER', $redirect_url); //$_SESSION['HTTP_REFERER'],
|
|
| 189 |
// Insert language headings |
|
| 190 |
// $template->set_var(array( |
|
| 191 |
// 'HEADING_MY_SETTINGS' => $oTrans->HEADING_MY_SETTINGS, |
|
| 192 |
// 'HEADING_MY_EMAIL' => $oTrans->HEADING_MY_EMAIL, |
|
| 193 |
// 'HEADING_MY_PASSWORD' => $oTrans->HEADING_MY_PASSWORD |
|
| 194 |
// ) |
|
| 195 |
// ); |
|
| 196 |
//// Insert language text and messages |
|
| 197 |
// $template->set_var(array( |
|
| 198 |
// 'TEXT_SAVE' => $oTrans->TEXT_SAVE, |
|
| 199 |
// 'TEXT_RESET' => $oTrans->TEXT_RESET, |
|
| 200 |
// 'TEXT_CANCEL' => $oTrans->TEXT_CANCEL, |
|
| 201 |
// 'TEXT_DISPLAY_NAME' => $oTrans->TEXT_DISPLAY_NAME, |
|
| 202 |
// 'TEXT_EMAIL' => $oTrans->TEXT_EMAIL, |
|
| 203 |
// 'TEXT_LANGUAGE' => $oTrans->TEXT_LANGUAGE, |
|
| 204 |
// 'TEXT_TIMEZONE' => $oTrans->TEXT_TIMEZONE, |
|
| 205 |
// 'TEXT_DATE_FORMAT' => $oTrans->TEXT_DATE_FORMAT, |
|
| 206 |
// 'TEXT_TIME_FORMAT' => $oTrans->TEXT_TIME_FORMAT, |
|
| 207 |
// 'TEXT_CURRENT_PASSWORD' => $oTrans->TEXT_CURRENT_PASSWORD, |
|
| 208 |
// 'TEXT_NEW_PASSWORD' => $oTrans->TEXT_NEW_PASSWORD, |
|
| 209 |
// 'TEXT_RETYPE_NEW_PASSWORD' => $oTrans->TEXT_RETYPE_NEW_PASSWORD |
|
| 210 |
// ) |
|
| 211 |
// ); |
|
| 212 |
//// Insert module releated language text and messages |
|
| 213 |
// $template->set_var(array( |
|
| 214 |
// 'MOD_PREFERENCE_PLEASE_SELECT' => $oTrans->MOD_PREFERENCE_PLEASE_SELECT, |
|
| 215 |
// 'MOD_PREFERENCE_SAVE_SETTINGS' => $oTrans->MOD_PREFERENCE_SAVE_SETTINGS, |
|
| 216 |
// 'MOD_PREFERENCE_SAVE_EMAIL' => $oTrans->MOD_PREFERENCE_SAVE_EMAIL, |
|
| 217 |
// 'MOD_PREFERENCE_SAVE_PASSWORD' => $oTrans->MOD_PREFERENCE_SAVE_PASSWORD, |
|
| 218 |
// ) |
|
| 219 |
// ); |
|
| 220 |
// Insert error and/or success messages |
|
| 221 |
$template->set_block('main_block', 'error_block', 'error_list');
|
|
| 222 |
if(sizeof($error)>0){
|
|
| 223 |
foreach($error AS $value){
|
|
| 224 |
$template->set_var('ERROR_VALUE', $value);
|
|
| 225 |
$template->parse('error_list', 'error_block', true);
|
|
| 226 |
} |
|
| 227 |
} |
|
| 228 |
$template->set_block('main_block', 'success_block', 'success_list');
|
|
| 229 |
if(sizeof($success)!=0){
|
|
| 230 |
foreach($success AS $value){
|
|
| 231 |
$template->set_var('SUCCESS_VALUE', $value);
|
|
| 232 |
$template->parse('success_list', 'success_block', true);
|
|
| 233 |
} |
|
| 234 |
} |
|
| 235 |
// Parse template for preferences form |
|
| 236 |
$template->parse('main', 'main_block', false);
|
|
| 237 |
$template->pparse('output', 'page');
|
|
| 0 | 238 | |
| trunk/account/signup.php | ||
|---|---|---|
| 1 |
<?php |
|
| 2 |
/** |
|
| 3 |
* |
|
| 4 |
* @category frontend |
|
| 5 |
* @package account |
|
| 6 |
* @author WebsiteBaker Project |
|
| 7 |
* @copyright Ryan Djurovich |
|
| 8 |
* @copyright WebsiteBaker Org. e.V. |
|
| 9 |
* @link http://websitebaker.org/ |
|
| 10 |
* @license http://www.gnu.org/licenses/gpl.html |
|
| 11 |
* @platform WebsiteBaker 2.8.3 |
|
| 12 |
* @requirements PHP 5.3.6 and higher |
|
| 13 |
* @version $Id$ |
|
| 14 |
* @filesource $HeadURL$ |
|
| 15 |
* @lastmodified $Date$ |
|
| 16 |
* |
|
| 17 |
*/ |
|
| 18 |
|
|
| 19 |
if ( !defined( 'WB_PATH' ) ){ require(dirname(__DIR__).'/config.php'); }
|
|
| 20 |
|
|
| 21 |
if (!(int)FRONTEND_SIGNUP || (int)($_SESSION['USER_ID'] ?: 0)) {
|
|
| 22 |
if(INTRO_PAGE) {
|
|
| 23 |
$no_intro = true; |
|
| 24 |
} |
|
| 25 |
include dirname(__DIR__).'/index.php'; |
|
| 26 |
} |
|
| 27 |
|
|
| 28 |
if(ENABLED_ASP && isset($_POST['username']) && ( // form faked? Check the honeypot-fields. |
|
| 29 |
(!isset($_POST['submitted_when']) OR !isset($_SESSION['submitted_when'])) OR |
|
| 30 |
($_POST['submitted_when'] != $_SESSION['submitted_when']) OR |
|
| 31 |
(!isset($_POST['email-address']) OR $_POST['email-address']) OR |
|
| 32 |
(!isset($_POST['name']) OR $_POST['name']) OR |
|
| 33 |
(!isset($_POST['full_name']) OR $_POST['full_name']) |
|
| 34 |
)) {
|
|
| 35 |
exit(header("Location: ".WB_URL."/index.php"));
|
|
| 36 |
} |
|
| 37 |
|
|
| 38 |
// Load the language file |
|
| 39 |
if(!file_exists(WB_PATH.'/languages/'.DEFAULT_LANGUAGE.'.php')) {
|
|
| 40 |
exit('Error loading language file '.DEFAULT_LANGUAGE.', please check configuration');
|
|
| 41 |
} else {
|
|
| 42 |
require_once(WB_PATH.'/languages/'.DEFAULT_LANGUAGE.'.php'); |
|
| 43 |
$load_language = false; |
|
| 44 |
} |
|
| 45 |
$_SESSION['display_form'] = true; |
|
| 46 |
|
|
| 47 |
$page_id = (int)($_SESSION['PAGE_ID'] ?: 0); |
|
| 48 |
|
|
| 49 |
// Required page details |
|
| 50 |
// $page_id = 0; |
|
| 51 |
$page_description = ''; |
|
| 52 |
$page_keywords = ''; |
|
| 53 |
define('PAGE_ID', $page_id);
|
|
| 54 |
define('ROOT_PARENT', 0);
|
|
| 55 |
define('PARENT', 0);
|
|
| 56 |
define('LEVEL', 0);
|
|
| 57 |
define('PAGE_TITLE', $TEXT['SIGNUP']);
|
|
| 58 |
define('MENU_TITLE', $TEXT['SIGNUP']);
|
|
| 59 |
define('MODULE', '');
|
|
| 60 |
define('VISIBILITY', 'public');
|
|
| 61 |
|
|
| 62 |
// Set the page content include file |
|
| 63 |
define('PAGE_CONTENT', WB_PATH.'/account/signup_form.php');
|
|
| 64 |
|
|
| 65 |
// Set auto authentication to false |
|
| 66 |
$auto_auth = false; |
|
| 67 |
|
|
| 68 |
// Include the index (wrapper) file |
|
| 69 |
require(WB_PATH.'/index.php'); |
|
| 0 | 70 | |
| trunk/account/signup2.php | ||
|---|---|---|
| 1 |
<?php |
|
| 2 |
/** |
|
| 3 |
* |
|
| 4 |
* @category frontend |
|
| 5 |
* @package account |
|
| 6 |
* @author WebsiteBaker Project |
|
Also available in: Unified diff
=== initial commit ===