public static function import_card($id, $seq) { //return 'CARD: '.$id; HCImport::load_stack(); HCImport::index_blocks(); HCImport::decode_stak(); HCImport::decode_font_table(); HCImport::decode_style_table(); $old_card = HCImport::decode_card(intval($id)); $new_file = new Stack(HCImport::stack_temp()); $new_card = array(); $new_card['card_id'] = intval($id); $new_card['card_name'] = $old_card['name']; $new_card['card_cant_delete'] = $old_card['cant_delete']; $new_card['card_dont_search'] = $old_card['dont_search']; $new_card['card_script'] = array('content' => $old_card['script'], 'selection' => 0); $new_card['card_has_art'] = false; $new_card['card_bkgnd_id'] = $old_card['bkgnd_id']; $new_card['card_seq'] = intval($seq) * 10; $new_parts = array(); $part_index = array(); $n = 1; foreach ($old_card['parts'] as $part) { $new_part = HCImport::convert_part($part); $part_index[$part['pid']] = count($new_parts); $new_parts[] = $new_part; $n++; } $datas = array(); foreach ($old_card['content'] as $fdata) { $pid = $fdata['part_id']; $is_bkgnd = true; if ($pid > 32765) { $pid = 65536 - $pid; $is_bkgnd = false; //print 'ID: '.$pid.' (card)<br>'; } if (isset($part_index[$pid]) && !$is_bkgnd) { $idx = $part_index[$pid]; $new_parts[$idx][-99] = nl2br($fdata['text'], false); //print 'IDX: '.$idx.' = '.$fdata['text'].'<br>'; } else { $datas[] = array($fdata['part_id'], nl2br($fdata['text'], false)); } } $new_card['card_object_data'] = json_encode($new_parts); $new_card['data'] = json_encode($datas); $new_card['content'] = ''; $new_file->stack_inject_card($new_card); return $old_card; }