Since I posted the last message I decided it was too annoying to use the Login Message...so I changed the alert code to a redirect.
In \modules\mod_login.php
Around line 148, Original Code:
Code: Select all
// JS Popup message
if ( $message ) {
?>
<script language="javascript" type="text/javascript">
<!--//
alert( "<?php echo addslashes( _LOGIN_SUCCESS ); ?>" );
//-->
</script>
<?php
}
Replace entire section, New Code:
Code: Select all
// JS Popup message
if ( $message ) {
?>
<script language="javascript" type="text/javascript">
<!--//
window.location="<?php echo $return; ?>";
//-->
</script>
<?php
}
I believe that this could be added to the mod_login.php configuration panel to add a radio button to enable this instead of having to change your login message code, so as to leave that feature functional. Well I felt a little ambitious so I decided to just see if you could add the feature, and well you can. Imagine that
(The Joomla developers really did a good job at making this software adaptable). Please ignore the above workaround if you are going to follow the directions below.
This has been tested only for Joomla 1.0.12. Please make backups before attempting this.
List of files changed (with location):
- index.php
- modules\mod_login.php
- modules\mod_login.xml
Step 1. Open index.php.
On or around line 142, Original Code:
Code: Select all
// frontend login & logout controls
$return = strval( mosGetParam( $_REQUEST, 'return', NULL ) );
$message = intval( mosGetParam( $_POST, 'message', 0 ) );
if ($option == 'login') {
$mainframe->login();
// JS Popup message
if ( $message ) {
?>
<script language="javascript" type="text/javascript">
<!--//
alert( "<?php echo addslashes( _LOGIN_SUCCESS ); ?>" );
//-->
</script>
<?php
}
Replace entire section, New Code:
Code: Select all
// frontend login & logout controls
$return = strval( mosGetParam( $_REQUEST, 'return', NULL ) );
$message = intval( mosGetParam( $_POST, 'message', 0 ) );
//START ADDED FOR REDIRECT
$iis = intval( mosGetParam( $_POST, 'iis', 0 ) );
//END ADDED FOR REDIRECT
if ($option == 'login') {
$mainframe->login();
//START ADDED FOR REDIRECT
if ( $iis ) {
?>
<script language="javascript" type="text/javascript">
<!--//
window.location="<?php echo $return; ?>";
//-->
</script>
<?php
}
//END ADDED FOR REDIRECT
// JS Popup message
if ( $message ) {
?>
<script language="javascript" type="text/javascript">
<!--//
alert( "<?php echo addslashes( _LOGIN_SUCCESS ); ?>" );
//-->
</script>
<?php
}
Step 2. Open modules\mod_login.php
On or around line 129, Original Code:
Code: Select all
<input type="hidden" name="option" value="login" />
<input type="hidden" name="op2" value="login" />
<input type="hidden" name="lang" value="<?php echo $mosConfig_lang; ?>" />
<input type="hidden" name="return" value="<?php echo sefRelToAbs( $login ); ?>" />
<input type="hidden" name="message" value="<?php echo $message_login; ?>" />
<input type="hidden" name="force_session" value="1" />
<input type="hidden" name="<?php echo $validate; ?>" value="1" />
</form>
Replace entire section, New Code:
Code: Select all
<input type="hidden" name="option" value="login" />
<input type="hidden" name="op2" value="login" />
<input type="hidden" name="lang" value="<?php echo $mosConfig_lang; ?>" />
<input type="hidden" name="return" value="<?php echo sefRelToAbs( $login ); ?>" />
<input type="hidden" name="message" value="<?php echo $message_login; ?>" />
<!-- START ADDED FOR REDIRECT -->
<input type="hidden" name="iis" value="<?php echo $iis_redirect; ?>" />
<!-- END ADDED FOR REDIRECT -->
<input type="hidden" name="force_session" value="1" />
<input type="hidden" name="<?php echo $validate; ?>" value="1" />
</form>
On or around line 32, Original Code:
Code: Select all
$registration_enabled = $mainframe->getCfg( 'allowUserRegistration' );
$message_login = $params->def( 'login_message', 0 );
$message_logout = $params->def( 'logout_message', 0 );
$login = $params->def( 'login', $return );
$logout = $params->def( 'logout', $return );
$name = $params->def( 'name', 1 );
$greeting = $params->def( 'greeting', 1 );
$pretext = $params->get( 'pretext' );
$posttext = $params->get( 'posttext' );
Replace entire section, New Code:
Code: Select all
$registration_enabled = $mainframe->getCfg( 'allowUserRegistration' );
$message_login = $params->def( 'login_message', 0 );
$message_logout = $params->def( 'logout_message', 0 );
//START ADDED FOR REDIRECT
$iis_redirect = $params->def( 'login_redirect', 0 );
//END ADDED FOR REDIRECT
$login = $params->def( 'login', $return );
$logout = $params->def( 'logout', $return );
$name = $params->def( 'name', 1 );
$greeting = $params->def( 'greeting', 1 );
$pretext = $params->get( 'pretext' );
$posttext = $params->get( 'posttext' );
Step 3. Open modules\mod_login.xml
On or around line 25, Original Code:
Code: Select all
<param name="logout_message" type="radio" default="0" label="Logout Message" description="Show/Hide the javascript Pop-up indicating Logout Success">
<option value="0">Hide</option>
<option value="1">Show</option>
</param>
<param name="greeting" type="radio" default="1" label="Greeting" description="Show/Hide the simple greeting text">
<option value="0">No</option>
<option value="1">Yes</option>
</param>
Replace entire section, New code:
Code: Select all
<param name="login_redirect" type="radio" default="0" label="IIS Redirect" description="Enables first attempt login for IIS hosted Joomla installations">
<option value="0">Disable</option>
<option value="1">Enable</option>
</param>
<param name="greeting" type="radio" default="1" label="Greeting" description="Show/Hide the simple greeting text">
<option value="0">No</option>
<option value="1">Yes</option>
</param>
Test it and let me know what you think. I changed the com_login files as well, I am not sure if it matters at all really since the mod_login files are the ones that my site calls for and uses. I guess I wanted to be safer than sorry. Below are those changes just in case you wanted those too.
List of files changed (with location):
- components\com_login\login.php
- components\com_login\login.html.php
Step 1. Open components\com_login\login.php
On or around line 33, Original Code:
Code: Select all
$params->def( 'page_title', 1 );
$params->def( 'header_login', $menu->name );
$params->def( 'header_logout', $menu->name );
$params->def( 'pageclass_sfx', '' );
$params->def( 'back_button', $mainframe->getCfg( 'back_button' ) );
$params->def( 'login', $mosConfig_live_site );
$params->def( 'logout', $mosConfig_live_site );
$params->def( 'login_message', 0 );
$params->def( 'logout_message', 0 );
$params->def( 'description_login', 1 );
$params->def( 'description_logout', 1 );
$params->def( 'description_login_text', _LOGIN_DESCRIPTION );
$params->def( 'description_logout_text', _LOGOUT_DESCRIPTION );
$params->def( 'image_login', 'key.jpg' );
$params->def( 'image_logout', 'key.jpg' );
$params->def( 'image_login_align', 'right' );
$params->def( 'image_logout_align', 'right' );
$params->def( 'registration', $mainframe->getCfg( 'allowUserRegistration' ) );
Replace entire section, New Code:
Code: Select all
$params->def( 'page_title', 1 );
$params->def( 'header_login', $menu->name );
$params->def( 'header_logout', $menu->name );
$params->def( 'pageclass_sfx', '' );
$params->def( 'back_button', $mainframe->getCfg( 'back_button' ) );
$params->def( 'login', $mosConfig_live_site );
$params->def( 'logout', $mosConfig_live_site );
$params->def( 'login_message', 0 );
$params->def( 'logout_message', 0 );
//START ADDED FOR REDIRECT
$params->def( 'login_redirect', 0 );
//END ADDED FOR REDIRECT
$params->def( 'description_login', 1 );
$params->def( 'description_logout', 1 );
$params->def( 'description_login_text', _LOGIN_DESCRIPTION );
$params->def( 'description_logout_text', _LOGOUT_DESCRIPTION );
$params->def( 'image_login', 'key.jpg' );
$params->def( 'image_logout', 'key.jpg' );
$params->def( 'image_login_align', 'right' );
$params->def( 'image_logout_align', 'right' );
$params->def( 'registration', $mainframe->getCfg( 'allowUserRegistration' ) );
Step 2. Open components\com_login\login.html.php
On or around line 125, Original Code:
Code: Select all
<input type="hidden" name="op2" value="login" />
<input type="hidden" name="return" value="<?php echo sefRelToAbs( $return ); ?>" />
<input type="hidden" name="lang" value="<?php echo $mosConfig_lang; ?>" />
<input type="hidden" name="message" value="<?php echo $params->get( 'login_message' ); ?>" />
<input type="hidden" name="<?php echo $validate; ?>" value="1" />
</form>
Replace entire section, New Code:
Code: Select all
<input type="hidden" name="op2" value="login" />
<input type="hidden" name="return" value="<?php echo sefRelToAbs( $return ); ?>" />
<input type="hidden" name="lang" value="<?php echo $mosConfig_lang; ?>" />
<input type="hidden" name="message" value="<?php echo $params->get( 'login_message' ); ?>" />
<!-- START ADDED FOR REDIRECT -->
<input type="hidden" name="iis" value="<?php echo $params->get( 'login_redirect' ); ?>" />
<!-- END ADDED FOR REDIRECT -->
<input type="hidden" name="<?php echo $validate; ?>" value="1" />
</form>
GOOD LUCK!