105 lines
3.7 KiB
PHP
Executable File
105 lines
3.7 KiB
PHP
Executable File
#!/usr/bin/php
|
|
|
|
<?php
|
|
|
|
require("session_init.php");
|
|
require("config.inc.php");
|
|
require("log.php");
|
|
require("db.class.php");
|
|
|
|
function esp( $s )
|
|
{
|
|
$s = " $s ";
|
|
return $s;
|
|
}
|
|
|
|
function concat ($a, $b)
|
|
{
|
|
if ( !empty($a) && !empty($b) )
|
|
{
|
|
$r = $a . " " . $b;
|
|
}else
|
|
{
|
|
$r = $a . $b;
|
|
}
|
|
return $r;
|
|
}
|
|
|
|
$flag = 0;
|
|
$data = array("displayname"=>array("value"=>"","scope"=>"contacts","verified"=>"0"),"address"=>array("value"=>"[adresse]","scope"=>"private","verified"=>"0"),"website"=>array("value"=>"","scope"=>"private","verified"=>"0"),"email"=>array("value"=>"","scope"=>"contacts","verified"=>"1"),"avatar"=>array("scope"=>"contacts","verified"=>"0"),"phone"=>array("value"=>"","scope"=>"private","verified"=>"0"),"twitter"=>array("value"=>"","scope"=>"private","verified"=>"0"));
|
|
|
|
$doldb = new db("dolibarr");
|
|
$ncdb = new db("nextcloud");
|
|
|
|
$doldb->query("SELECT login, firstname, lastname, pass_crypted, fk_adherent_type, address, email, phone_perso, phone_mobile, zip, town FROM llx_adherent");
|
|
//print_r ($ncdb);
|
|
while ($user = $doldb->result->fetch_assoc())
|
|
{
|
|
$flag+=1;
|
|
$ncdb->query("SELECT uid FROM oc_accounts WHERE uid='" . $user["login"] . "'");
|
|
echo "login:" . ($user["login"]) . EOL;
|
|
if ( $ncdb->result->num_rows != 0 )
|
|
{
|
|
$ncuser = $ncdb->result->fetch_assoc();
|
|
echo "uid:" . $ncuser["uid"] . "existe" . EOL;
|
|
}else
|
|
{
|
|
//echo $user["login"] . " n'existe pas";
|
|
if ( empty($user["phone_mobile"]) )
|
|
{
|
|
$data["phone"]["value"] = $user["phone_perso"];
|
|
}else
|
|
{
|
|
$data["phone"]["value"] = $user["phone_mobile"];
|
|
}
|
|
|
|
$data["displayname"]["value"] = concat($user["firstname"], $user["lastname"]);
|
|
$address = concat($user['address'], $user["zip"]);
|
|
$data["address"]["value"] = concat ($address, $user["town"]);
|
|
$data["email"]["value"] = $user["email"];
|
|
$account_data = json_encode($data);
|
|
|
|
$oc_account_query = "INSERT INTO oc_accounts (uid, data) VALUES ('" . $user["login"] . "','" . $account_data ."')";
|
|
$oc_users_query = "INSERT INTO oc_users (uid, displayname, password, uid_lower) VALUES ('" . $user["login"] . "','" . $user["firstname"] . ' ' . $user["lastname"] . "','1|" . $user["pass_crypted"] . "','" . strtolower($user["login"]) . "')";
|
|
|
|
if ($user["fk_adherent_type"] == 2)
|
|
{
|
|
$gid="membres";
|
|
}else if ($user["fk_adherent_type"] == 3)
|
|
{
|
|
$gid="contributeurs";
|
|
}
|
|
|
|
$oc_group_user_query = "INSERT INTO oc_group_user(uid, gid) VALUES ('" . $user["login"] . "','" . $gid . "')";
|
|
|
|
$oc_preferences_query_quota = "INSERT INTO oc_preferences(userid, appid, configkey, configvalue) VALUES ('" . $user["login"] . "', 'files', 'quota', '10 GB')";
|
|
$oc_preferences_query_email = "INSERT INTO oc_preferences(userid, appid, configkey, configvalue) VALUES ('" . $user["login"] . "', 'settings', 'email', '" . $user["email"] . "')";
|
|
echo $account_data . EOL . $oc_account_query . EOL . $oc_users_query .EOL . $oc_group_user_query . EOL . $oc_preferences_query_quota . EOL . $oc_preferences_query_email . EOL;
|
|
|
|
if (!$ncdb->query($oc_account_query))
|
|
{
|
|
echo "Echec lors de la requete : (" . $ncdb->connect->errno . ") " . $ncdb->connect->error;
|
|
}
|
|
if (!$ncdb->query($oc_users_query))
|
|
{
|
|
echo "Echec lors de la requete : (" . $ncdb->connect->errno . ") " . $ncdb->connect->error;
|
|
}
|
|
if (!$ncdb->query($oc_group_user_query))
|
|
{
|
|
echo "Echec lors de la requete : (" . $ncdb->connect->errno . ") " . $ncdb->connect->error;
|
|
}
|
|
if (!$ncdb->query($oc_preferences_query_quota))
|
|
{
|
|
echo "Echec lors de la requete : (" . $ncdb->connect->errno . ") " . $ncdb->connect->error;
|
|
}
|
|
if (!$ncdb->query($oc_preferences_query_email))
|
|
{
|
|
echo "Echec lors de la requete : (" . $ncdb->connect->errno . ") " . $ncdb->connect->error;
|
|
}
|
|
}
|
|
//$ncdb->result->close();
|
|
if ($flag > 8) exit;
|
|
}
|
|
//$doldb->result->close();
|
|
?>
|