'field'=>'username',
'label'=>'lang:user_username',
'rules'=>'trim|callback__required_by_register|min_length[5]|max_length[32]'
- . '|strtolower|xss_clean|callback__valid_username'
+ . '|strtolower|xss_clean|callback__is_username_unique|callback__valid_username'
),
array(
'field'=>'password',
if (! $b_validation)
{
// Edit account data if logged in, otherwise register.
- if ($user_id = $this->session->userdata('user_id'))
+ $user_id = $this->session->userdata('user_id');
+ if ($user_id)
{
$userdata = $this->users_model->get_userdata(intval($user_id));
+ if (substr($userdata['username'], 0, 8) == 'autogen_')
+ $userdata['autogen_username'] = //'xxx';
+ substr($userdata['username'], 8);
$selected_menu = 'account';
}
else
else
{
$user_id = $this->input->post('user-id');
+ if ($this->input->post('username'))
+ $data['username'] = $this->input->post('username');
$data['email'] = $this->input->post('email');
$data['first_name'] = $this->input->post('first-name');
$data['last_name'] = $this->input->post('last-name');
$this->session->set_userdata($key, $val);
}
+ public function _is_username_unique($username)
+ {
+ if ($this->users_model->get_userdata($username))
+ return FALSE;
+
+ return TRUE;
+ }
+
public function _valid_username($username)
{
return (preg_match('/^[a-z0-9\._]+$/', $username) === 1);
include('system/language/english/form_validation_lang.php');
// Login / Register/ Account / Profile
+$lang['_is_username_unique'] = 'Username already exists. Please choose another one.';
$lang['_valid_username'] = 'You must enter a valid username with letters, numbers, . (dots) or _ (underscores).';
$lang['_valid_username_or_email'] = "You must enter an e-mail address or a valid username.";
$lang['_do_login'] = 'Wrong %s, or wrong %s.';
{
$data['username'] = $data['first_name'] . '_'
. $data['last_name'];
- $data['username'] = substr($data['username'], 0, 32);
}
else
$data['username'] = $this->gen_username();
}
+ $data['username'] = substr($data['username'], 0, 24);
if ($this->get_userdata($data['username']))
{
$chars = 'abcdefghijklmnopqrstuvwxyz0123456789';
$data['username'] .= $chars[ mt_rand(0, $len_chars - 1) ];
} while($this->get_userdata($data['username']));
}
+ $data['username'] = 'autogen_' . $data['username'];
// Country
$country = $ax_resp->get('http://axschema.org/contact/country');
<fieldset>
<legend><?php echo $this->lang->line('user_legend_login_openid') ?></legend>
+ <!--<p></p>-->
+ <p>
+ <a class="login-openid" data-op="google" href="#">Google</a>
+ <a class="login-openid" data-op="yahoo" href="#">Yahoo!</a>
+ <a class="login-openid" data-op="myopenid" href="#">myOpenID</a>
+ </p>
+
<table class="form">
<tr>
<th><?php echo $this->lang->line('user_openid'). ': ' ?></th>
</tr>
</table>
</fieldset>
-</form>
\ No newline at end of file
+</form>
+
+<script type="text/javascript">
+ $(function() {
+ $('.login-openid')
+ .click(function() {
+ var openId;
+
+ console.log($(this).data('op'));
+
+ switch ($(this).data('op'))
+ {
+ case 'google':
+ openId = 'https://www.google.com/accounts/o8/id';
+ break;
+ case 'yahoo':
+ openId = 'https://me.yahoo.com/';
+ break;
+ case 'myopenid':
+ openId = 'https://myopenid.com/';
+ break;
+ }
+
+ $.post('<?php echo site_url('user/login') ?>',
+ {'openid': openId},
+ function(text) {
+ document.open();
+ document.write(text);
+ document.close();
+ });
+ })
+ .button();
+
+ });
+</script>
\ No newline at end of file
<tr><td></td><td> </td></tr>
<tr>
- <?php if (! $userdata): ?>
+ <?php if (! $userdata || ! empty($userdata['autogen_username'])): ?>
<th><?php echo $this->lang->line('user_username'). ' <span class="required">*</span> : ' ?></th>
<td>
+ <?php if (empty($userdata['autogen_username'])): ?>
<input type="text" name="username" size="16" value="<?php echo _set_value($userdata, 'username') ?>" />
+ <?php else: ?>
+ <input type="text" name="username" size="16" value="<?php echo $userdata['autogen_username'] ?>" />
+ <?php endif ?>
</td>
<?php else: ?>
<th><?php echo $this->lang->line('user_username'). ' : ' ?></th>
<td>
<em><?php echo $userdata['username'] ?></em>
- </td>`
+ </td>
<?php endif ?>
</tr>
<tr><td></td><td><?php echo form_error('username') ?></td></tr>