Еще один конвертор UTM4 >> abills

Ответить
core
Сообщения: 32
Зарегистрирован: Пт июн 29, 2007 9:14 am

Еще один конвертор UTM4 >> abills

Сообщение core »

Надо было перенести около тысячи юзеров из УТМ 4 в Абиллс, модуля карт не покупал, поэтому написал свой конвертор.

Конвертор на PHP. код возможно и не очень красивый но у меня сработал нормально :)

основные моменты:

т.к. в утм весь адрес вместе с телефонами в одном поле, поэтому я решил заносить его в поле Комментарии.

IP переносится в поле CID

для меня важен МАК адрес, в абиллсе для этого поля нет совсем, поэтому мак заношу в поле Выдано, т.к. оно мне не нужно

идентификаторы тарифов в абиллсе и утм должны совпадать

Единственное о чем поздно вспомнил это тарифный план на следующий период :( конвертор это не учитывает, но в принципе не смертельно

Код: Выделить всё

#ini_set("error_reporting", E_ERROR ^ E_WARNING);

@ $db1 = @mysql_pconnect ("localhost", "login", "password");
@ $db2 = @mysql_pconnect ("localhost", "login", "password");

$utm_db="UTM";
$abills_db="abills";

#NAS dlya novyh pol'zovateley
$nas=1;
#secret key iz configa abills
$secret=test12345678901234567890;

#Vybiraem dannye iz db UTM table users
    $sql1 = "select login, password, full_name, ip, bill, credit, reg_date, ab_pstart, ab_pend, tariff, tariff_next, actual_address, mac  from  users1";
    $query = mysql_db_query($utm_db, $sql1, $db1);

#Nachinaem dobavlyat' ih v bazu abills
    while ($user_list = mysql_fetch_array($query)) {
    mysql_error();

#Dlya nachala nujno konvertirovat' daty iz unix foramta
    $reg_date = date ("Y-m-d", $user_list[reg_date]);
    $ab_pstart = date ("Y-m-d", $user_list[ab_pstart]);
    $ab_pend = date ("Y-m-d", $user_list[ab_pend]);

#chby ne zaputat'sya pomenyaem peremennye ^)
    $login = $user_list[login];
    $credit = $user_list[credit];
    $password = $user_list[password];
    $bill = $user_list[bill];
    $full_name = $user_list[full_name];
    $address = $user_list[actual_address];
    $mac = $user_list[mac];
    $ip = trim($user_list[ip]);
    $tariff = $user_list[tariff];

#Dobavlyaem polzovatelya
    $sql2 = "insert into users (id, activate, credit, registration, password) VALUES ('$login', '$ab_pstart', '$credit', '$reg_date', ENCODE('$password', '$secret'))";
    mysql_db_query($abills_db, $sql2, $db2);

#Srazu smotrim UID dobavlennogo pol'zovatelya, on nam nujen dal'she
    $sql3 = "select uid from users where id='$login'";
    $uid_sql = mysql_db_query ($abills_db, $sql3, $db2);
    $uid = mysql_result ($uid_sql, 0);

#Sozdaem denejniy schet pol'zovatelya
    $sql4 = "insert into bills (deposit, uid, registration) values ('$bill', '$uid', '$reg_date')";
    mysql_db_query($abills_db, $sql4, $db2);

#Privyazivaem schet k useru
    $sql5 = "select id from bills where uid='$uid'";
    $bill_id_sql = mysql_db_query ($abills_db, $sql5, $db2);
    $bill_id = mysql_result ($bill_id_sql, 0);
    $sql6 = "update users set bill_id='$bill_id' where uid='$uid'";
    mysql_db_query($abills_db, $sql6, $db2);

#Registriruem usera na NAS
    $sql7 = "insert into users_nas (uid, nas_id) values ('$uid', '$nas')";
    mysql_db_query($abills_db, $sql7, $db2);

#Zanosim personal information. Adress u nas budet v kommentariyah. MAC v pole o vydache pasporta
    $sql8 = "insert into users_pi (uid, fio, comments, pasport_grant) values ('$uid', '$full_name', '$address', '$mac')";
    mysql_db_query($abills_db, $sql8, $db2);

#Dobavlyaem service DialUp\VPN

    $sql9 = "insert into dv_main (uid, tp_id, logins, registration, cid, password) values ('$uid', '$tariff', 1, '$reg_date', '$ip', ENCODE('$password', '$secret'))";
    mysql_db_query($abills_db, $sql9, $db2);

echo "Added ".$login."\n";

    };

mysql_close();

?>
Сохраняем все как convert.php
и запускаем php convert.php

Ответить