本文整理汇总了PHP中Stack::stack_inject_card方法的典型用法代码示例。如果您正苦于以下问题:PHP Stack::stack_inject_card方法的具体用法?PHP Stack::stack_inject_card怎么用?PHP Stack::stack_inject_card使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Stack
的用法示例。
在下文中一共展示了Stack::stack_inject_card方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: import_card
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;
}