Project

General

Profile

« Previous | Next » 

Revision 2

Added by Manuela over 7 years ago

=== initial commit ===

View differences:

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&auml;hlen',
29
    'DETAILS_SAVED'    => 'allgemeine Einstellungen ge&auml;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'] = '&Ouml;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>&nbsp;Login</h1>
37
&nbsp;<?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>&nbsp;</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>&nbsp;</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
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff