Exemplo n.º 1
0
function imp_station_exec($Frm, $Err)
{
    if (!$Err) {
        $file = $Frm->GetValue(0);
        if (!strpos($file["type"], "ms-excel")) {
            $Frm->_gui->informer->ERR("Неправильный тип файла");
            page_reloadSubSec();
        } else {
            $trancate = "";
            if ($Frm->GetValue(1)) {
                db::truncate(TABLE_SUBWAY_STATIONS);
                $trancate = "Таблица очищена. ";
            }
            include_once "ext/Excel/reader.php";
            $data = new Spreadsheet_Excel_Reader($file["tmp_name"]);
            if ($data->sheets[0]['numCols'] != 1) {
                $Frm->_gui->informer->ERR("В таблице должна быть 1 колонка (" . $data->sheets[0]['numCols'] . ")");
                page_reloadSubSec();
                return;
            }
            $names = array();
            $addcnt = 0;
            for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
                $name = $data->sheets[0]['cells'][$i][1];
                if (!isset($names[$name])) {
                    SubwayStation::create(array('name' => $name));
                    $names[$name] = true;
                    $addcnt++;
                }
            }
            $Frm->_gui->informer->OK($trancate . "Добавлено " . $addcnt . " строк");
            page_reloadSubSec();
        }
    }
}