Squirrelmail - user change password ?

rszkutak

Verified User
Joined
Dec 22, 2003
Messages
173
Location
Scottsdale, AZ & Clam Gulch, AK
Hello,
I am sure this is totally brainless, but unfortunatley i am running a blank here..

I need my users to have the ability to change their password for e-mail on their own, of course without logging into the direct admin CP.

Has anyone figured out how to do a password change of sorts in Squirrelmail ? Or even through some sort of PHP script ?

thanks !

-rob
 
Sure. Searching these forums brings up lots of posts, but you can just look at the sourcecode here
 
Just for those newbies (like me) wanting to know how to do this:

Open up /var/www/html/squirrelmail-1.4.5/src/login.php
(version maybe different for you)

Right down the bottom just before </body> insert:

<center>
<a href = "http://<?=$_SERVER[SERVER_NAME]?>:2222/CMD_CHANGE_EMAIL_PASSWORD">Change Password</a>
</center>


Cheers! :D
 
While that might very well work, that's not how I did it, and I apologize for pointing to the code how it shows in the browser rather than the actual php.

Here's the actual php code I inserted:
Code:
echo "<p align=\"center\"><a href=\"https://" . gethostbyaddr (gethostbyname
($SERVER_NAME)) . ":2222/CMD_CHANGE_EMAIL_PASSWORD\">Change Your Email
Password</a></p>";
I inserted it between this line:
Code:
do_hook('login_bottom');
and this line:
Code:
echo "</body>\n".
Note that I use https rather than http because I access DA through SSL.

Jeff
 
thanks...

i am having a little bit of trouble here with it... it just does not seem to load up properly... here is the text of the file if you all don't mind taking a peek at...

I use nutsmail for the skin, but the client is squirrelmail....


www.bluenetworking.com/webmail


jlasman, I did try what you suggested but it threw errors on my squirrelmail when i put in it... it looks like i am running SQ 1.4.2


thoughts ?

thanks as always everyone !



/*
* $squirrelmail_language is set by a cookie when the user selects
* language and logs out
*/
set_up_language($squirrelmail_language, TRUE, TRUE);

/**
* Find out the base URI to set cookies.
*/
if (!function_exists('sqm_baseuri')){
require_once(SM_PATH . 'functions/display_messages.php');
}
$base_uri = sqm_baseuri();

/*
* In case the last session was not terminated properly, make sure
* we get a new one.
*/

sqsession_destroy();

header('Pragma: no-cache');

do_hook('login_cookie');


/* Output the javascript onload function. */

$header = "<script language=\"JavaScript\" type=\"text/javascript\">\n" .
"<!--\n".
" function squirrelmail_loginpage_onload() {\n".
" document.forms[0].js_autodetect_results.value = '" . SMPREF_JS_ON . "';\n".
" var textElements = 0;\n".
" for (i = 0; i < document.forms[0].elements.length; i++) {\n".
" if (document.forms[0].elements.type == \"text\" || document.forms[0].elements\
.type == \"password\") {\n".
" textElements++;\n".
" if (textElements == " . (isset($loginname) ? 2 : 1) . ") {\n".
" document.forms[0].elements.focus();\n".
" break;\n".
" }\n".
" }\n".
" }\n".
" }\n".
"// -->\n".
"</script>\n";
$custom_css = 'none';
displayHtmlHeader( "$org_name - " . _("Login"), $header, FALSE );

echo '<body text="#000000" bgcolor="#FFFFFF" link="#0000CC" vlink="#0000CC" alink="#0000CC" onload="\
squirrelmail_loginpage_onload();">' .
"\n" . '<form action="redirect.php" method="post">' . "\n";

$username_form_name = 'login_username';
$password_form_name = 'secretkey';
do_hook('login_top');

$loginname_value = (sqGetGlobalVar('loginname', $loginname) ? htmlspecialchars($loginname) : '');

/* If they don't have a logo, don't bother.. */
if (isset($org_logo) && $org_logo) {
/* Display width and height like good little people */
$width_and_height = '';
if (isset($org_logo_width) && is_numeric($org_logo_width) &&
$org_logo_width>0) {
$width_and_height = " width=\"$org_logo_width\"";
}
if (isset($org_logo_height) && is_numeric($org_logo_height) &&
$org_logo_height>0) {
$width_and_height .= " height=\"$org_logo_height\"";
}
}

echo html_tag( 'table',
html_tag( 'tr',
html_tag( 'td',
'<center>'.
( isset($org_logo) && $org_logo
? '<img src="' . $org_logo . '" alt="' .
sprintf(_("%s Logo"), $org_name) .'"' . $width_and_height .
' /><br />' . "\n"
: '' ).
( (isset($hide_sm_attributions) && $hide_sm_attributions) ? '' :
'<small>' . sprintf (_("SquirrelMail version %s"), $version) . '<br />' ."\n".
' ' . _("By the SquirrelMail Development Team") . '<br /></small>' . "\n" ) .
html_tag( 'table',
html_tag( 'tr',
html_tag( 'td',
'<b>' . sprintf (_("%s Login"), $org_name) . "</b>\n",
'center', '#DCDCDC' )
) .
html_tag( 'tr',
html_tag( 'td', "\n" .
html_tag( 'table',
html_tag( 'tr',
html_tag( 'td',
_("Name:") ,
'right', '', 'width="30%"' ) .
html_tag( 'td',
'<input type="text" name="' . $username_form_name .'" value="' .\
$loginname_value .'" />' ,
File Edit Options Buffers Tools PHP C Help
'left', '', 'width="*"' )
) . "\n" .
html_tag( 'tr',
html_tag( 'td',
_("Password:") ,
'right', '', 'width="30%"' ) .
html_tag( 'td',
'<input type="password" name="' . $password_form_name . '" />' .\
"\n" .
'<input type="hidden" name="js_autodetect_results" value="SMPREF\
_JS_OFF" />' . "\n" .
'<input type="hidden" name="just_logged_in" value="1" />' . "\n"\
,
'left', '', 'width="*"' )
) ,
'center', '#ffffff', 'border="0" width="100%"' ) ,
'left', '#FFFFFF' )
) .
html_tag( 'tr',
html_tag( 'td',
'<center><input type="submit" value="' . _("Login") . '" /></center>',
'left' )
),
'', '#ffffff', 'border="0" width="350"' ) . '</center>',
'center' )
) ,
'', '#ffffff', 'border="0" cellspacing="0" cellpadding="0" width="100%"' );
do_hook('login_form');
<center>
<a href = "http://<?=$_SERVER[SERVER_NAME]?>:2222/CMD_CHANGE_EMAIL_PASSWORD">Change Password</a>
</center>

echo '</form>' . "\n";

do_hook('login_bottom');
echo
"</body>\n".
"</html>\n";
<center>
?>
 
I copied the code right out of my system.

Cut and paste.

My guess is that the fancy formatting of the skin is causing something. Or else a completely different file is being called.

:confused:

Jeff
 
Jeff,
Thanks, of all people I belive you that it works... you're pretty good at this stuff, so i trust you !

I know this is probally an odd one, i will look into it, and figure out what the heck is going on with it and of course post the results.!


-rob

p.s any thoughts as to where else to look ?
 
Unfortunately not. I like the skin.

Is it free? Is it easy to install?

Maybe I'll try it and see if my Change Password Stuff still shows up.

Jeff
 
Jeff,
Actually the skin itself is not free, sadly... However you can get the skin as you see it for $29, which is pretty good or for $49 you can get 3 skins..

check out their site...

http://nutsmail.com/


Late last night i did get it working on another server i needed to update, this is actally the newer version of the nutsmail. The nutsmail guys will be updating my server later this week too.

http://www.lzbaz.com/nutsmail/src/login.php

Jeff, if you wish please contact me directly in e-mail ( rob @ nospam @ szkutak.com ) i will add you an account in there so you can browse the nutsmail application itself, it's got a lot of features that are really cool !


-rob


p.s. it was your script that worked out perfectly !! thanks !
 
Ironically both code work propely, however the second code seems to be more robust with more vairables... however both work perfectly !

it is more or less a matter of which approack works best !

-rob
 
Back
Top