Exemple #1
0
function load_address_book_from_csv($smarty, $arrLang, $ruta_archivo, $pDB, $pDB_2)
{
    $Messages = "";
    $arrayColumnas = array();
    $pACL = new paloACL($pDB_2);
    $id_user = $pACL->getIdUser($_SESSION["elastix_user"]);
    $result = isValidCSV($arrLang, $ruta_archivo, $arrayColumnas);
    if ($result != 'true') {
        $smarty->assign("mb_title", $arrLang["Error"]);
        $smarty->assign("mb_message", $result);
        return;
    }
    $hArchivo = fopen($ruta_archivo, 'rt');
    $cont = 0;
    $pAdressBook = new paloAdressBook($pDB);
    if ($hArchivo) {
        //Linea 1 header ignorada
        $tupla = fgetcsv($hArchivo, 4096, ",");
        //Desde linea 2 son datos
        while ($tupla = fgetcsv($hArchivo, 4096, ",")) {
            if (is_array($tupla) && count($tupla) >= 3) {
                $data = array();
                $namedb = $tupla[$arrayColumnas[0]];
                $last_namedb = $tupla[$arrayColumnas[1]];
                $telefonodb = $tupla[$arrayColumnas[2]];
                $emaildb = isset($arrayColumnas[3]) ? $tupla[$arrayColumnas[3]] : "";
                $addressdb = isset($arrayColumnas[4]) ? $tupla[$arrayColumnas[4]] : "";
                $companydb = isset($arrayColumnas[5]) ? $tupla[$arrayColumnas[5]] : "";
                $statusdb = "isPrivate";
                $iduserdb = $id_user;
                $data = array($namedb, $last_namedb, $telefonodb, $emaildb, $iduserdb, $addressdb, $companydb, $statusdb);
                //Paso 1: verificar que no exista un usuario con los mismos datos
                $result = $pAdressBook->existContact($namedb, $last_namedb, $telefonodb);
                if (!$result) {
                    $Messages .= "{$arrLang["ERROR"]}:" . $pAdressBook->errMsg . "  <br />";
                } else {
                    if ($result['total'] > 0) {
                        $Messages .= "{$arrLang["ERROR"]}: {$arrLang["Contact Data already exists"]}: {$data['name']} <br />";
                    } else {
                        //Paso 2: creando en la contact data
                        if (!$pAdressBook->addContactCsv($data)) {
                            $Messages .= $arrLang["ERROR"] . $pDB->errMsg . "<br />";
                        }
                        $cont++;
                    }
                }
            }
        }
        $Messages .= $arrLang["Total contacts created"] . ": {$cont}<br />";
        $smarty->assign("mb_message", $Messages);
    }
    unlink($ruta_archivo);
}