/** * @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; }