- Posts: 38
Feature Requests
Please do NOT use this section of the forum to request help if Joomdle does not work for you in some particular way. Your post will be deleted.
Please do NOT use this section of the forum to request help if Joomdle does not work for you in some particular way. Your post will be deleted.
[Closed] Login Modules
- red
- Topic Author
- Offline
- Junior Member
-
Less
More
16 years 4 weeks ago - 12 years 11 months ago #1
by red
[Closed] Login Modules was created by red
On my site ive created a nifty setup but it requires some hacking...
Ive put the login module in the header of both sites. so now you can login from everywhere.
This is a brute force hack. but it can be refined and perhaps added to joomdle.
joomla login module: you need to change "moodle" to your moodle directory. just use find/replace.
/templates/<YOUR THEME>/html/mod_login/default.php
hack in moodle to make it possible to see pix by username and not just id:
/moodle/user/pix.php
and, on the moodle side you can see what i did here:
joomdle.com/index.php?option=com_kunena&...id=14&id=981&lang=en
Ive put the login module in the header of both sites. so now you can login from everywhere.
This is a brute force hack. but it can be refined and perhaps added to joomdle.
joomla login module: you need to change "moodle" to your moodle directory. just use find/replace.
/templates/<YOUR THEME>/html/mod_login/default.php
Code:
<?php // no direct access
defined('_JEXEC') or die('Restricted access'); ?>
<?php if($type == 'logout') : ?>
<table border="0" cellpadding="5px" class="profileblock">
<tr>
<td align="right" valign="middle">
<?PHP
echo '<ul>';
echo '<li><a href="'.$CFG->wwwroot.'moodle/my">My page</a></li>';
echo '<li><a href="'.$CFG->wwwroot.'moodle/user/view.php">Profile</a></li>';
?><li><form action="index.php" method="post" name="login" id="form-login">
<input type="submit" name="Submit" class="button" value="<?php echo JText::_( 'BUTTON_LOGOUT'); ?>" />
<input type="hidden" name="option" value="com_user" />
<input type="hidden" name="task" value="logout" />
<input type="hidden" name="return" value="<?php echo $return; ?>" />
</form></li></ul>
</td>
<td rowspan="2" align="center" valign="middle">
<?PHP
echo '<a href="'.$CFG->wwwroot.'/user/view.php?id='.$user->get('username').'"><img src="'.$CFG->wwwroot.'moodle/user/pix.php?file=/'.$user->get('username').'/f1.jpg" width="60px" height="60px" title="'.$user->get('name').'" alt="'.$user->get('name').'" /><br>'.$user->get('name').'</a>';
//$user->get('name')
?>
</td>
</tr>
</table>
<?php else : ?>
<?php if(JPluginHelper::isEnabled('authentication', 'openid')) : ?>
<?php JHTML::_('script', 'openid.js'); ?>
<?php endif; ?>
<form action="<?php echo JRoute::_( 'index.php', true, $params->get('usesecure')); ?>" method="post" name="form-login" id="form-login" >
<ul>
<li><input id="modlogin_username" type="text" name="username" value="<?php echo JText::_('USERNAME'); ?>" onblur="if(this.value=='') this.value='<?php echo JText::_('USERNAME');?>'" onfocus="if(this.value=='<?php echo JText::_('USERNAME'); ?>') this.value='';" class="inputbox" alt="username" size="15" /> <li>
<li><input id="modlogin_passwd" type="password" name="passwd" value="<?php echo JText::_('PASSWORD'); ?>" onblur="if(this.value=='') this.value='<?php echo JText::_('PASSWORD'); ?>'" onfocus="if(this.value=='<?php echo JText::_('PASSWORD'); ?>') this.value='';" class="inputbox" size="15" alt="password" /> <li>
</ul><ul>
<?php if(JPluginHelper::isEnabled('system', 'remember')) : ?>
<li> <input id="modlogin_remember" type="checkbox" name="remember" class="inputbox" value="yes" alt="Remember Me" />
<label for="modlogin_remember"><?php echo JText::_('Remember me') ?></label> </li>
<?php endif; ?>
<li><input type="submit" name="Submit" class="button" value="<?php echo JText::_('LOGIN') ?>" /> </li>
</ul><br>
<ul>
<?php
$usersConfig = &JComponentHelper::getParams( 'com_users' );
if ($usersConfig->get('allowUserRegistration')) : ?>
<li><a href="<?php echo JRoute::_( 'index.php?option=com_user&task=register' ); ?>">
<?php echo JText::_('REGISTER'); ?></a> •</li>
<?php endif; ?>
<li><a href="<?php echo JRoute::_( 'index.php?option=com_user&view=reset' ); ?>">
<?php echo JText::_('FORGOT_YOUR_PASSWORD'); ?></a> </li>
<?php /*
<li><a href="<?php echo JRoute::_( 'index.php?option=com_user&view=remind' ); ?>">
<?php echo JText::_('FORGOT_YOUR_USERNAME'); ?></a>
*/?>
</ul>
<?php echo $params->get('posttext'); ?>
<input type="hidden" name="option" value="com_user" />
<input type="hidden" name="task" value="login" />
<input type="hidden" name="return" value="<?php echo $return; ?>" />
<?php echo JHTML::_( 'form.token' ); ?>
</form>
<?php endif; ?>
hack in moodle to make it possible to see pix by username and not just id:
/moodle/user/pix.php
Code:
<?PHP // $Id: pix.php,v 1.16.4.3 2008/11/01 22:28:54 skodak Exp $
// This function fetches user pictures from the data directory
// Syntax: pix.php/userid/f1.jpg or pix.php/userid/f2.jpg
// OR: ?file=userid/f1.jpg or ?file=userid/f2.jpg
require_once('../config.php');
require_once($CFG->libdir.'/filelib.php');
if (!empty($CFG->forcelogin) and !isloggedin()) {
// protect images if login required and not logged in;
// do not use require_login() because it is expensive and not suitable here anyway
redirect($CFG->pixpath.'/u/f1.png');
}
// disable moodle specific debug messages
disable_debugging();
$relativepath = get_file_argument('pix.php');
$args = explode('/', trim($relativepath, '/'));
if (count($args) == 2) {
$userid = (integer)$args[0];
// do not serve images of deleted users
if ($user = get_record('user', 'id', $userid, 'deleted', 0, 'picture', 1)) {
$image = $args[1];
$pathname = make_user_directory($userid, true) . "/$image";
if (file_exists($pathname) and !is_dir($pathname)) {
send_file($pathname, $image);
}
} else if ($user = get_record('user', 'username', $args[0], 'deleted', 0, 'picture', 1)) {
$image = $args[1];
$pathname = make_user_directory($user->id, true) . "/$image";
if (file_exists($pathname) and !is_dir($pathname)) {
send_file($pathname, $image);
}
}
}
// picture was deleted - use default instead
redirect($CFG->pixpath.'/u/f1.png');
?>
and, on the moodle side you can see what i did here:
joomdle.com/index.php?option=com_kunena&...id=14&id=981&lang=en
Last edit: 12 years 11 months ago by Antonio Durán.
The topic has been locked.
- Chris
-
- Offline
- Moderator
-
16 years 4 weeks ago #2
by Chris
Replied by Chris on topic Re: Login Modules
thanks very much for your effort and sharing with the community ...
The topic has been locked.