extractArchive($saveFile,'./'); getLink($g['s'].'/?r='.$r.'&m=admin&module='.$m.'&front=pack','parent.','패키지가 정상적으로 등록되었습니다.',''); } else { $folder = './'; $tmpname = $_FILES['upfile']['tmp_name']; $realname = $_FILES['upfile']['name']; $fileExt = strtolower(getExt($realname)); $extPath = $g['path_tmp'].'app'; $extPath1 = $extPath.'/'; $saveFile = $extPath1.$date['totime'].'.zip'; if (is_uploaded_file($tmpname)) { if (substr($realname,0,11) != 'rb_package_') { getLink('','','킴스큐용 패키지가 아닙니다.',''); } if ($fileExt != 'zip') { getLink('','','패키지는 반드시 zip압축 포맷이어야 합니다.',''); } move_uploaded_file($tmpname,$saveFile); require $g['path_core'].'opensrc/unzip/ArchiveExtractor.class.php'; require $g['path_core'].'function/dir.func.php'; $extractor = new ArchiveExtractor(); $extractor -> extractArchive($saveFile,$extPath1); unlink($saveFile); DirCopy($extPath1,$folder); DirDelete($extPath); mkdir($extPath,0707); @chmod($extPath,0707); } getLink('reload','parent.','패키지가 정상적으로 등록되었습니다.',''); } } if ($act == 'package_cancel') { require $g['path_core'].'function/dir.func.php'; DirDelete('./_package'); getLink('reload','parent.','패키지 적용이 취소되었습니다.',''); } if ($act == 'package_aply') { require $g['path_core'].'function/dir.func.php'; if ($aply_site == '1') { $_site = file('./_package/dump_site.dat'); foreach($_site as $_val) { if (!trim($_val)) continue; $_r = explode("\t",$_val); getDbUpdate($table['s_site'],$_r[0]."='".$_r[1]."'",'uid='.$site); } } if ($aply_menu == '1') { $_MENUS = getDbSelect($table['s_menu'],'site='.$site.' order by gid asc','*'); while($R=db_fetch_array($_MENUS)) { getDbDelete($table['s_menu'],'uid='.$R['uid']); getDbDelete($table['s_seo'],'rel=1 and parent='.$R['uid']); $_xfile = $g['path_page'].'menu/'.sprintf('%05d',$R['uid']); unlink($_xfile.'.php'); unlink($_xfile.'.widget.php'); @unlink($_xfile.'.mobile.php'); @unlink($_xfile.'.css'); @unlink($_xfile.'.js'); @unlink($_xfile.'.header.php'); @unlink($_xfile.'.footer.php'); @unlink($_xfile.'.txt'); @unlink($_xfile.'.cache'); @unlink($_xfile.'.widget.cache'); @unlink($_xfile.'.mobile.cache'); @unlink($g['path_var'].'menu/'.$R['imghead']); @unlink($g['path_var'].'menu/'.$R['imgfoot']); } $_menu = file('./_package/dump_menu.dat'); $_xarr = array(); foreach($_menu as $_val) { if (!trim($_val)) continue; $_r = explode("\t",$_val); getDbInsert($table['s_menu'],'gid,site,isson,parent,depth,id,menutype,mobile,hidden,reject,name,target,redirect,joint,layout,imghead,imgfoot,puthead,putfoot',"'".$_r[1]."','".$site."','".$_r[2]."','0','".$_r[4]."','".$_r[5]."','".$_r[6]."','".$_r[7]."','".$_r[8]."','".$_r[9]."','".$_r[10]."','".$_r[11]."','".$_r[12]."','".$_r[13]."','".$_r[14]."','".$_r[15]."','".$_r[16]."','".$_r[17]."','".$_r[18]."'"); $lastmenu = getDbCnt($table['s_menu'],'max(uid)',''); $_xarr['p'.$_r[0]] = $lastmenu; if($_r[3]) { getDbUpdate($table['s_menu'],'parent='.$_xarr['p'.$_r[3]],'uid='.$lastmenu); } else { getDbUpdate($table['s_menu'],'parent=0','uid='.$lastmenu); } $_xfile1 = './_package/rb/pages/menu/'.sprintf('%05d',$_r[0]); $_xfile2 = './_package/rb/pages/menu/'.sprintf('%05d',$lastmenu); @rename($_xfile1.'.php',$_xfile2.'.php'); @rename($_xfile1.'.widget.php',$_xfile2.'.widget.php'); @rename($_xfile1.'.mobile.php',$_xfile2.'.mobile.php'); @rename($_xfile1.'.css',$_xfile2.'.css'); @rename($_xfile1.'.js',$_xfile2.'.js'); @rename($_xfile1.'.header.php',$_xfile2.'.header.php'); @rename($_xfile1.'.footer.php',$_xfile2.'.footer.php'); } } if ($aply_page == '1') { $_page = file('./_package/dump_page.dat'); foreach($_page as $_val) { if (!trim($_val)) continue; $_r = explode("\t",$_val); $_p = getDbData($table['s_page'],"id='".$_r[3]."'",'uid'); if ($_p['uid']) { getDbUpdate($table['s_page'],"pagetype='".$_r[0]."',ismain='".$_r[1]."',mobile='".$_r[2]."',id='".$_r[3]."',category='".$_r[4]."',name='".$_r[5]."',layout='".$_r[6]."',joint='".$_r[7]."',sosokmenu='".$_r[8]."'",'uid='.$_p['uid']); } else { getDbInsert($table['s_page'],'pagetype,ismain,mobile,id,category,name,layout,joint,sosokmenu',"'".$_r[0]."','".$_r[1]."','".$_r[2]."','".$_r[3]."','".$_r[4]."','".$_r[5]."','".$_r[6]."','".$_r[7]."','".$_r[8]."'"); } } } if ($aply_bbs == '1') { $maxgid = getDbCnt($table['bbslist'],'max(gid)',''); $_bbs = file('./_package/dump_bbs.dat'); foreach($_bbs as $_val) { if (!trim($_val)) continue; $_r = explode("\t",$_val); $_p = getDbData($table['bbslist'],"id='".$_r[0]."'",'uid'); if ($_p['uid']) continue; $maxgid++; getDbInsert($table['bbslist'],'gid,id,name,category,imghead,imgfoot,puthead,putfoot',"'".$maxgid."','".$_r[0]."','".$_r[1]."','".$_r[2]."','".$_r[3]."','".$_r[4]."','".$_r[5]."','".$_r[6]."'"); } } DirCopy('./_package/rb','./'); DirDelete('./_package'); getLink('reload','parent.','패키지가 적용되었습니다.',''); } ?>