¿ÀŸ·Î ÀÎÇØ ÷ºÎ ÆÄÀÏÀÌ Á¦´ë·Î Ãâ·ÂµÇÁö ¾Ê´Â ¹®Á¦¸¦ ÇØ°áÇß½À´Ï´Ù. ±âÁ¸ º¯È¯±â·Î ¹®Á¦ ¾ø´Â ºÐµéÀº »ç¿ëÇÏÁö ¾ÊÀ¸¼Åµµ µÇ³ª, ¾Æ¸¶ ´ëºÎºÐÀÇ ºÐµéÀÌ ¹®Á¦°¡ ÀÖÀ» °Ì´Ï´Ù. -_-; 2005³â 04¿ù 30ÀÏ (1.1) [+] ¿ÜºÎ DB Áö¿ø. => ÅÂÅÍÅøÁîÀÇ DB°¡ ºí·Î±×¹Ò DB¿Í °°Àº ¼­¹ö°¡ ¾Æ´Ñ °æ¿ì °¨¾È. 1.0 ¿¡¼­ ¹®Á¦ ¾øÀÌ »ç¿ëÇÏ´ø À̵éÀº ³»·Á¹ÞÀ» ÇÊ¿ä ¾øÀ½. 2005³â 04¿ù 27ÀÏ (1.0) [+] Á¤½Ä ¹èÆ÷ */ function converter_tattertools_info () { $init = array( "converter_code" => "tattertools", "converter_title" => "ÅÂÅÍÅøÁî º¯È¯±â", "auther_name" => "Hannal", "auther_url" => "http://www.hannal.net", "version" => "1.2 (2005043002)", ); return $init; } function converter_tattertools_fields() { $fields = array( "converter_prefix" => "ÅÂÅÍÅøÁîDB Å×À̺í Prefix", "converter_install_path" => "ÅÂÅÍÅøÁî ¼³Ä¡°æ·Î (¿¹ : ../../tt)", "tt_db_host" => "ÅÂÅÍÅøÁî DB À§Ä¡ (¿¹ : 111.111.112.155)
(ºí·Î±×¹Ò°ú °°Àº DatabaseÀÏ °æ¿ì °ø¹é)", "tt_db_name" => "ÅÂÅÍÅøÁî DB À̸§ (¿¹ : HannalDB)
(ºí·Î±×¹Ò°ú °°Àº DatabaseÀÏ °æ¿ì °ø¹é)", "tt_db_user" => "ÅÂÅÍÅøÁî DB ÀÌ¿ëÀÚ À̸§ (¿¹ : Hannal)
(ºí·Î±×¹Ò°ú °°Àº DatabaseÀÏ °æ¿ì °ø¹é)", "tt_db_password" => "ÅÂÅÍÅøÁî DB ÀÌ¿ëÀÚ ¾ÏÈ£
(ºí·Î±×¹Ò°ú °°Àº DatabaseÀÏ °æ¿ì °ø¹é)", ); return $fields; } // ÆÄÀϸí ã±â function find_file_in_array(&$cval, &$file_info) { $tc = count($file_info); for ( $i=0; $i<$tc; $i++ ) { if ( $file_info[$i]['attachname'] == $cval ) return $i; } return FALSE; } // ÷ºÎ ÆÄÀÏ À̵¿ function move_attach_file($no, $Apath, $Bpath, &$tfc, &$ttdb) { global $blog_config; $file_info = array(); $array_name = 0; $result = $ttdb->getAll('select * from t3_'.$_REQUEST['converter_prefix'].'_files where pno='.$no); foreach($result as $vv) { if ( copy("{$_REQUEST['converter_install_path']}/attach/$Apath$Bpath{$vv['attachname']}", "{$_REQUEST['converter_install_path']}/attach/$Apath$Bpath{$vv['filename']}") ) { $file_info[$array_name] = converter_save_file($blog_config["blog_id"], "{$_REQUEST['converter_install_path']}/attach/$Apath$Bpath{$vv['filename']}"); $file_info[$array_name]['attachname'] = $vv['attachname']; $file_info[$array_name]['imagesize']['width'] = $vv['width']; $file_info[$array_name]['imagesize']['height'] = $vv['height']; $file_info[$array_name]['filesize'] = $vv['filesize']; $tfc++; $array_name++; unlink("{$_REQUEST['converter_install_path']}/attach/$Apath$Bpath{$vv['filename']}"); } } return $file_info; } function converter_tattertools_convert () { global $db, $blog_config, $config_ini; $tfc = 0; $category = array(); if ( (!isset($_REQUEST['tt_db_host']) || empty($_REQUEST['tt_db_host'])) || (!isset($_REQUEST['tt_db_name']) || empty($_REQUEST['tt_db_name'])) || (!isset($_REQUEST['tt_db_user']) || empty($_REQUEST['tt_db_user'])) || (!isset($_REQUEST['tt_db_password']) || empty($_REQUEST['tt_db_password'])) ) { if (!isset($db)) $ttdb = connectDB($config_ini["Database"]); else $ttdb =& $db; } else { $ttdb_config['server'] =& $_REQUEST['tt_db_host']; $ttdb_config['database'] =& $_REQUEST['tt_db_name']; $ttdb_config['user'] =& $_REQUEST['tt_db_user']; $ttdb_config['password'] =& $_REQUEST['tt_db_password']; $ttdb = connectDB($ttdb_config); } //---------- // Ä«Å×°í¸® ÀúÀå $result_ct1 = $ttdb->getAll('select * from t3_'.$_REQUEST['converter_prefix'].'_ct1 order by sortno asc'); $result_ct2 = $ttdb->getAll('select * from t3_'.$_REQUEST['converter_prefix'].'_ct2 order by sortno asc'); foreach ( $result_ct1 as $ct1 ) { $no = $ct1['no']; $category_id = converter_create_category($blog_config["blog_id"], $ct1['label'], 0); $category[$no]['title'] = $ct1['label']; $category[$no]['bm_id'] = $category_id; } foreach ( $result_ct2 as $ct2 ) { $no = $ct2['no']; $pno = $ct2['pno']; $category_id = converter_create_category($blog_config["blog_id"], $ct2['label'], $category[$pno]['bm_id']); $category[$pno][$no]['title'] = $ct2['label']; $category[$pno][$no]['bm_id'] = $category_id; } unset($result_ct1, $result_ct2); // ±Û ÀúÀå $result = $ttdb->getAll('select * from t3_'.$_REQUEST['converter_prefix'].' order by regdate desc'); foreach($result as $contents) { $file_info = move_attach_file($contents['no'], $contents['image_file_path1'], $contents['image_file_path2'], $tfc, $ttdb); $contents['body'] = set_moreless(nl2brc(autolink(set_body(attach_image($contents['body'], $file_info, $ttdb), $contents['is_sync']))), $contents['no']); if ( $contents['category2'] > 1 ) $ct_id = $category[$contents['category1']][$contents['category2']]['bm_id']; else $ct_id = $category[$contents['category1']]['bm_id']; // Æ÷½ºÆ® ÀúÀå $article_id = converter_save_article(array( "blog_id" => $blog_config["blog_id"], "category_id" => $ct_id, "account_id" => ACCOUNT_ID, "subject" => addslashes($contents['title']), "contents" => addslashes($contents['body']), "is_html" => 1, "write_timestamp" => $contents['regdate'], "modify_timestamp" => $contents['regdate'], "auto_image" => 0, "remote_addr" => $_SERVER["REMOTE_ADDR"], "is_publish" => $contents['is_public'], "use_comment" => 1, "use_trackback" => 1, "xml_publish" => 1 )); // ´ñ±Û ÀúÀå $result = $ttdb->getAll('select * from t3_'.$_REQUEST['converter_prefix'].'_reply where pno='.$contents['no'].' order by regdate asc'); foreach ( $result as $cmt ) { $comment_data = array( "article_id" => $article_id, "account_id" => '', "name" => addslashes($cmt['name']), "password" => $cmt['password'], "email" => '', "homepage" => addslashes($cmt['homepage']), "comment" => addslashes($cmt['body']), "write_timestamp" => $cmt['regdate'], "remote_addr" => $cmt['ip'], ); converter_save_comment($comment_data); } // ¿«ÀÎ±Û ÀúÀå $result = $ttdb->getAll('select * from t3_'.$_REQUEST['converter_prefix'].'_trackback where pno='.$contents['no'].' order by regdate asc'); foreach ( $result as $tb ) { $trackback_data = array( "article_id" => $article_id, "title" => addslashes($tb['title']), "url" => addslashes($tb['url']), "excerpt" => addslashes($tb['body']), "blog_name" => addslashes($tb['site']), "write_timestamp" => $tb['regdate'], "remote_addr" => $tb['ip'], ); converter_save_trackback($trackback_data); } } echo "°Ô½Ã¹°, ´ñ±Û, ¿«ÀαÛ, °¥·¡ ¸ðµÎ º¯È¯ÇÏ¿´½À´Ï´Ù.
"; } /* ¾Æ·¡´Â ÅÂÅÍÅøÁîÀÇ ÇÔ¼ö¸¦ °¡Á®¿Í ¼öÁ¤ÇÑ °Í */ function br2null($str) { return str_replace('
', '', $str); } function set_moreless($str, $pno){ unset($n1, $n2, $cval); while ($n1 = strpos($str, "[CODE]")) { $n2 = strpos($str, "[/CODE]"); if (!$n2 || $n1 > $n2) break; $cval = substr($str, $n1+6, $n2-$n1-6); ob_start(); highlight_string(br2null($cval)); $ret = ob_get_contents(); ob_end_clean(); $str = substr($str, 0, $n1)."
".$ret."
".substr($str, $n2+7); } $count = 0; unset($n1, $n2, $cval); while ($n1 = strpos($str, "[#M_")) { $n2 = strpos($str, "_M#]"); if (!$n2 || $n1 > $n2) break; $cval = substr($str, $n1+4, $n2-$n1-4); $more = substr($cval, 0, strpos($cval,"|")); $cval = substr($cval, strpos($cval,"|")+1); $less = substr($cval, 0, strpos($cval,"|")); $cval = substr($cval, strpos($cval,"|")+1); $count++; $more_id = "div".$pno.$count."a"; $less_id = "div".$pno.$count."b"; $str = substr($str, 0, $n1)."
$more
$less$cval
".substr($str, $n2+4); } $str = str_replace(" ", "  ", $str); $str = str_replace("\t", "    ", $str); return $str; } function set_body($str) { return str_replace(""","\"", str_replace("'","'",$str)); } function get_timestamp2() { list($usec) = explode(" ",microtime()); return date("ymdHis",time()).substr($usec,2, 6); } function autolink($str) { $pattern = "/([^\/\"\'\=\>])(mms|http|HTTP|ftp|FTP|telnet|TELNET)\:\/\/(.[^ \r\n\<\"\'\)]+)/"; $str = preg_replace($pattern, "\\1\\2://\\3", $str); return $str; } function nl2brc($str) { unset($n1, $n2, $cval); $hset = array(); while ($n1 = strpos($str, "[HTML]")) { $n2 = strpos($str, "[/HTML]"); if (!$n2 || $n1 > $n2) break; $stamp = get_timestamp2(); $cval = substr($str, $n1+6, $n2-$n1-6); $str = str_replace("[HTML]".$cval."[/HTML]", $stamp, $str); array_push($hset, array("word"=>$cval, "stamp"=>$stamp)); } $str = nl2br($str); foreach ($hset as $k => $key) $str = str_replace($key[stamp], $key[word], $str); return $str; } function set_icon_extension($filename) { $ext = strtolower(substr($filename, strrpos($filename, ".")+1)); if ($ext == "arj" || $ext == "dll" || $ext == "doc" || $ext == "exe" || $ext == "gz" || $ext == "htm" || $ext == "html"|| $ext == "hwp" || $ext == "lzh" || $ext == "mov" || $ext == "pdf" || $ext == "ppt" || $ext == "tar" || $ext == "ttf" || $ext == "txt" || $ext == "xls" || $ext == "z" || $ext == "zip") return $ext; else return false; } function set_file($type, $file_info) { global $blog_config; switch($type) { case "1": return "\"\""; break; case "2": return ""; break; case "3": return ""; break; case "4": return ""; break; case "0": $icon = set_icon_extension($file_info['file_name_real']); if (!$icon) $icon = "unknown"; return "
\"\"{$file_info['file_name_real']} ({$file_info['filesize']})
"; break; } } function attach_image(&$body, &$file_info, &$ttdb) { $body = " ".$body; $body = str_replace("[##_ATTACH_PATH_##]", URL_ROOT, $body); while ($n1 = strpos($body, "[##_")) { $n2 = strpos($body, "_##]"); if (!$n2 || $n1 > $n2) break; unset($prefix, $buf, $postfix); $cval = explode("|",substr($body, $n1+4, $n2-$n1-4)); switch (count($cval)) { case "4" : $arrnum = find_file_in_array($cval[1], $file_info); $type = analyze_file($file_info[$arrnum]['filename_saved']); if ($cval[0] == "1L") $prefix = "
"; else if ($cval[0] == "1C") { $prefix = "
"; $postfix = ""; } else if ($cval[0] == "1R") $prefix = "
"; $buf = $prefix."
".set_file($type, $file_info[$arrnum])."
$cval[3]
".$postfix; break; case "7" : $arrnum = find_file_in_array($cval[1], $file_info); $arrnum2 = find_file_in_array($cval[4], $file_info); $type1 = analyze_file($file_info[$arrnum]['filename_saved']); $type2 = analyze_file($file_info[$arrnum2]['filename_saved']); $buf = "
".set_file($type1, $file_info[$arrnum])."
$cval[3]
".set_file($type2, $file_info[$arrnum2])."
$cval[6]
"; break; case "10" : $arrnum = find_file_in_array($cval[1], $file_info); $arrnum2 = find_file_in_array($cval[4], $file_info); $arrnum3 = find_file_in_array($cval[7], $file_info); $type1 = analyze_file($file_info[$arrnum]['filename_saved']); $type2 = analyze_file($file_info[$arrnum2]['filename_saved']); $type3 = analyze_file($file_info[$arrnum3]['filename_saved']); $buf = "
".set_file($type1, $file_info[$arrnum])."
$cval[3]
".set_file($typ2, $file_info[$arrnum2])."
$cval[6]
".set_file($type3, $file_info[$arrnum3])."
$cval[9]
"; break; } $body = substr($body, 0, $n1)."$buf".substr($body, $n2+4); } return $body; } function analyze_file($obj) { $ext = strtolower(substr($obj, strrpos($obj, ".")+1)); if ($ext == "bmp" || $ext == "jpg"|| $ext == "gif" || $ext == "png") return 1; else if ($ext == "swf") return 2; else if ($ext == "wmv" || $ext == "avi"|| $ext == "asf" || $ext == "mpg" || $ext == "mpeg") return 3; else if ($ext == "wma" || $ext == "mp3"|| $ext == "mp2" || $ext == "mid" || $ext == "midi" || $ext == "wav") return 4; else return 0; } ?>