package WebGUI::Operation::Account; #------------------------------------------------------------------- # WebGUI is Copyright 2001-2003 Plain Black LLC. #------------------------------------------------------------------- # Please read the legal notices (docs/legal.txt) and the license # (docs/license.txt) that came with this distribution before using # this software. #------------------------------------------------------------------- # http://www.plainblack.com info@plainblack.com #------------------------------------------------------------------- use Exporter; use strict qw(vars subs); use URI; use WebGUI::DateTime; use WebGUI::ErrorHandler; use WebGUI::HTMLForm; use WebGUI::International; use WebGUI::Macro; use WebGUI::Mail; use WebGUI::MessageLog; use WebGUI::Paginator; use WebGUI::Privilege; use WebGUI::Session; use WebGUI::SQL; use WebGUI::URL; use WebGUI::User; use WebGUI::Utility; use WebGUI::Authentication; our @ISA = qw(Exporter); our @EXPORT = qw(&www_viewMessageLogMessage &www_viewThreadSubscriptions &www_viewMessageLog &www_viewProfile &www_editProfile &www_editProfileSave &www_createAccount &www_deactivateAccount &www_deactivateAccountConfirm &www_displayAccount &www_displayLogin &www_login &www_logout &www_recoverPassword &www_recoverPasswordFinish &www_createAccountSave &www_updateAccount); #------------------------------------------------------------------- sub _accountOptions { my ($output); $output = '
'; $output .= '
'; } else { $output = WebGUI::Privilege::adminOnly(); } return $output; } #------------------------------------------------------------------- sub www_deactivateAccountConfirm { my ($u); if ($session{user}{userId} < 26) { return WebGUI::Privilege::vitalComponent(); } elsif ($session{setting}{selfDeactivation}) { $u = WebGUI::User->new($session{user}{userId}); $u->status("Selfdestructed"); WebGUI::Session::end($session{var}{sessionId}); WebGUI::Session::start(1); } return www_displayLogin(); } #------------------------------------------------------------------- sub www_displayAccount { my ($output, %hash, @array, $f); if ($session{user}{userId} != 1) { $output = ''; WebGUI::Session::refreshUserInfo($u->userId); } else { $output = $error; } $output .= www_displayAccount(); } else { $output .= www_displayLogin(); } return $output; } #------------------------------------------------------------------- sub www_viewMessageLog { my (%status, @data, $output, $sth, @row, $i, $p); if (WebGUI::Privilege::isInGroup(2,$session{user}{userId})) { %status = (notice=>WebGUI::International::get(551),pending=>WebGUI::International::get(552),completed=>WebGUI::International::get(350)); $output = '
| '.WebGUI::International::get(351).' | '.WebGUI::International::get(553).' | '.WebGUI::International::get(352).' |
| '.WebGUI::International::get(353).' |
'; if ($data{url} ne "" && $data{status} eq 'pending') { $output .= ''.WebGUI::International::get(554).' · '; } $output .= ''.WebGUI::International::get(354).'
'; $output .= _accountOptions(); } else { $output = WebGUI::Privilege::insufficient(); } return $output; } #------------------------------------------------------------------- sub www_viewProfile { my ($a, %data, $category, $label, $value, $previousCategory, $output, $u, %gender); %gender = ('neuter'=>WebGUI::International::get(403),'male'=>WebGUI::International::get(339),'female'=>WebGUI::International::get(340)); $u = WebGUI::User->new($session{form}{uid}); my $header = '
| '.$category.' | |
| '.$label.' | '.$value.' |