diff --git a/inside/migration/inside_functions.php b/inside/migration/inside_functions.php index d84f67c..bc5683a 100644 --- a/inside/migration/inside_functions.php +++ b/inside/migration/inside_functions.php @@ -17,13 +17,12 @@ function update_user($username, $password) { $uid = getCurrentUser(); /* Update the current user's username and password */ - $sql = sprintf("UPDATE din_user SET user='%s', password=PASSWORD('%s') WHERE id=%s LIMIT 1", + $sql = sprintf("UPDATE din_user SET username='%s', password=PASSWORD('%s') WHERE id=%s LIMIT 1", mysql_real_escape_string($username), mysql_real_escape_string($password), $uid); - //$result = $conn->query($sql); - return true; - //return ! DB :: isError($result) and $ldap_updated; + $result = $conn->query($sql); + return ! DB :: isError($result); } function user_exists($username) { $conn = db_connect(); @@ -76,8 +75,12 @@ function find_groups() { if(DB :: isError($result)) { return false; } + $arr = array(); + foreach($result as $column => $group) { + $arr[] = $group['posix_group']; + } - return $result; + return $arr; } function enc_password($password, $key) { $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB); diff --git a/inside/migration/js/byebye_inside.js b/inside/migration/js/byebye_inside.js index e4c61f7..1e37295 100644 --- a/inside/migration/js/byebye_inside.js +++ b/inside/migration/js/byebye_inside.js @@ -3,9 +3,9 @@ function init_validation() { rules: { username: { required: true, - rangelength: [3, 15], + rangelength: [3, 12], lettersonly: true, - remote: "./migration/user_exists.php", + remote: "./migration/username_available.php", }, password: { required: true, @@ -17,6 +17,11 @@ function init_validation() { equalTo: "#id_password", }, }, + messages: { + username: { + remote: 'Username is taken.', + } + }, submitHandler: function(form) { var form_username = $("#id_username").val(); var form_password = $("#id_password").val(); @@ -46,7 +51,7 @@ function init_validation() { /* Output the errors (will never happend). */ var output = '
'; for(var error in result.errors) { - output += '

'+ error +': ' + result.errors[error][0] + '

'; + output += '

'+ error +': ' + result.errors[error] + '

'; } output += '
'; $("#infomodal").prepend(output); diff --git a/inside/migration/ldap_api_functions.php b/inside/migration/ldap_api_functions.php index cd7e061..8c6b684 100644 --- a/inside/migration/ldap_api_functions.php +++ b/inside/migration/ldap_api_functions.php @@ -39,4 +39,10 @@ function ldap_add_user($username, $firstname, $lastname, $email, $password, $gro $result = var_export(file_get_contents("http://brukerinfo.neuf.no/addNewUser.php?" . implode("&", $arr)), true); return $result; } +function _log($str) { + $time = date("[Y-m-d H:i:s.u]"); + file_put_contents("migration.log", $time . + $str . "\n", FILE_APPEND); +} + ?> diff --git a/inside/migration/migration.log b/inside/migration/migration.log new file mode 100644 index 0000000..7c605c1 --- /dev/null +++ b/inside/migration/migration.log @@ -0,0 +1,20 @@ +[2011-08-11 18:11:21.000000]'Added cn=olivaqtest,ou=Groups,dc=neuf,dc=no +Added uid=olivaqtest,ou=People,dc=neuf,dc=no +Created home directory +Added cn=olivaqtest,ou=auto.home,ou=Automount,dc=neuf,dc=no +Created users kerberos credentials +Could not add olivaqtest to cn=Array,ou=Groups,dc=neuf,dc=no +Could not add olivaqtest to cn=Array,ou=Groups,dc=neuf,dc=no +' +[2011-08-11 18:37:45.000000]UPDATE din_user SET user='olivaqtesting', password=PASSWORD('hemmelig') WHERE id=1 LIMIT 1 +[2011-08-11 18:38:23.000000]UPDATE din_user SET user='olivaqtesting', password=PASSWORD('hemmelig') WHERE id=1 LIMIT 1 +[2011-08-11 18:38:23.000000][db_error: message="DB Error: no such field" code=-19 mode=return level=notice prefix="" info="UPDATE din_user SET user='olivaqtesting', password=PASSWORD('hemmelig') WHERE id=1 LIMIT 1 [nativecode=1054 ** Unknown column 'user' in 'field list']"] +[2011-08-11 18:39:48.000000]UPDATE din_user SET username='olivaqtesting', password=PASSWORD('hemmelig') WHERE id=1 LIMIT 1 +[2011-08-11 18:47:48.000000]'Added cn=olivaqtestin,ou=Groups,dc=neuf,dc=no +Added uid=olivaqtestin,ou=People,dc=neuf,dc=no +Created home directory +Added cn=olivaqtestin,ou=auto.home,ou=Automount,dc=neuf,dc=no +Created users kerberos credentials +Added olivaqtestin to cn=dns-alle,ou=Groups,dc=neuf,dc=no +Added olivaqtestin to cn=dns-administrator,ou=Groups,dc=neuf,dc=no +' diff --git a/inside/migration/submit_user.php b/inside/migration/submit_user.php index ce30bc6..24d9d26 100644 --- a/inside/migration/submit_user.php +++ b/inside/migration/submit_user.php @@ -9,14 +9,14 @@ if( !( isset($_POST['username']) || isset($_POST['password']) || isset($_POST['p /* Server side field validation */ $errors = Array(); /* Validate username */ -if( strlen($_POST['username']) < 3 && strlen($_POST['username']) > 15 ) { - $result['errors']['username'][] = "Please enter a value between 3 and 15 characters long."; +if( strlen($_POST['username']) < 3 && strlen($_POST['username']) > 12 ) { + $result['errors']['username'][] = "Please enter a username between 3 and 12 characters long."; } if( !preg_match("/[a-z]/", $_POST['username']) ) { $result['errors']['username'][] = "Please enter only lowercase letters (english alphabet)."; } -if( file_get_contents("./user_exists.php") == "false" ) { - $result['errors']['username'][] = "Username is taken."; +if( file_get_contents("./username_available.php") == "false" ) { + $result['errors']['username'][] = "Username taken."; } /* Validate password */ if( strlen($_POST['password']) < 8 ) { @@ -38,11 +38,11 @@ if ( !isset($result) ) { /* migrated? */ $migrated = ldap_add_user($_POST['username'], $user->firstname, $user->lastname, $user->email, $_POST['password'], $groups); /* Note: Assume success every time, but log result of migrated anyway. */ - /* TODO nikolark log $migrated. */ + _log($migrated); set_migrated(); - echo json_encode( Array('result' => 'success', 'groups' => $groups); + echo json_encode( Array('result' => 'success', 'groups' => $groups) ); } else { - echo json_encode( Array('result' => 'error', 'errors' => Array('database' => 'User not update.')) ); + echo json_encode( Array('result' => 'error', 'errors' => Array('database' => 'User not migrated.')) ); } } else { diff --git a/inside/migration/user_exists.php b/inside/migration/user_exists.php deleted file mode 100644 index aac7ff6..0000000 --- a/inside/migration/user_exists.php +++ /dev/null @@ -1,10 +0,0 @@ - diff --git a/inside/migration/username_available.php b/inside/migration/username_available.php new file mode 100644 index 0000000..d906581 --- /dev/null +++ b/inside/migration/username_available.php @@ -0,0 +1,17 @@ +