Esempio n. 1
0
/**
 * @param object dbHandler reference to db handler
 *
 */
function doImport(&$dbHandler)
{
    $import_msg = array('ok' => array(), 'ko' => array());
    $file_check = array('show_results' => 0, 'status_ok' => 0, 'msg' => '', 'filename' => '', 'import_msg' => $import_msg);
    $key = 'targetFilename';
    $dest = TL_TEMP_PATH . session_id() . "-import_cfields.tmp";
    $source = isset($_FILES[$key]['tmp_name']) ? $_FILES[$key]['tmp_name'] : null;
    if ($source != 'none' && $source != '') {
        $file_check['filename'] = $_FILES[$key]['name'];
        $file_check['status_ok'] = 1;
        if (move_uploaded_file($source, $dest)) {
            $file_check['status_ok'] = !(($xml = @simplexml_load_file($dest)) === FALSE);
        }
        if ($file_check['status_ok']) {
            $file_check['show_results'] = 1;
            $cfield_mgr = new cfield_mgr($dbHandler);
            foreach ($xml as $cf) {
                if (is_null($cfield_mgr->get_by_name($cf->name))) {
                    $cfield_mgr->create((array) $cf);
                    $import_msg['ok'][] = sprintf(lang_get('custom_field_imported'), $cf->name);
                } else {
                    $import_msg['ko'][] = sprintf(lang_get('custom_field_already_exists'), $cf->name);
                }
            }
        } else {
            $file_check['msg'] = lang_get('problems_loading_xml_content');
        }
    } else {
        $file_check = array('show_results' => 0, 'status_ok' => 0, 'msg' => lang_get('please_choose_file_to_import'));
    }
    $file_check['import_msg'] = $import_msg;
    return $file_check;
}