Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var mysql = require('mysql2');
- var fs = require('fs');
- var errors=[];
- var List=[];
- var INSERT=[];
- // create the connection to database
- const connection = mysql.createConnection({
- host: '127.0.0.1',
- user: 'oc_admin',
- database: 'cloudDB',
- password: 'XXX'
- });
- function query(list,i,cb) {
- if (!list[i]) return cb();
- connection.query(
- 'SELECT * FROM `oc_ldap_user_mapping` where directory_uuid="'+list[i]+'"',
- function(err, results, fields) {
- if (results.length==0) {
- errors.push(list[i]);
- query(list,i+1,cb);
- return;
- };
- List.push(results);
- query(list,i+1,cb);
- }
- );
- };
- function check(list,i,cb) {
- if (!list[i]) return cb();
- var cn=list[i][0].ldap_dn;
- var name=list[i][0].owncloud_name;
- var nomprenom=(cn.split('cn=')[1].split(',')[0].split('\\28')[0]);
- nomprenom=nomprenom.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});
- var mail=(cn.split('cn=')[1].split(',')[0].split('\\28')[1].split('\\29')[0]);
- connection.query(
- 'SELECT * FROM `oc_users` where uid="'+mail+'" or uid="'+name+'"',
- function(err, results, fields) {
- if (results.length==0) {
- // Cet utilisateur n'a pas été crée dans la base
- INSERT.push("INSERT INTO oc_users (uid,displayname,password) VALUES ('"+mail+"','"+nomprenom+"','-1')");
- INSERT.push("UPDATE oc_ldap_user_mapping SET owncloud_name='"+mail+"' WHERE ldap_dn='"+cn+"'");
- };
- check(list,i+1,cb);
- }
- );
- };
- function do_insert(insert,i,cb) {
- if (!insert[i]) return cb();
- connection.query(insert[i],function(err, results, fields) {
- console.log('err: '+err );
- console.log('response: '+results);
- do_insert(insert,i+1,cb);
- });
- };
- fs.readdir('/data/',function(e,r) {
- var files=[];
- for (var i=0;i<r.length;i++) {
- if ((r[i].indexOf('.ocdata')==-1) && (r[i].indexOf('.htaccess')==-1) && (r[i].indexOf('owncloud.log')==-1) && (r[i].indexOf('owncloud')==-1)) files.push(r[i]);
- };
- query(files,0,function() {
- check(List,0,function() {
- do_insert(INSERT,0,function() {
- console.log('ok');
- });
- });
- });
- });
Add Comment
Please, Sign In to add comment