checkLogin();
if (!$this->checkItemPermn($login_user['uid'] , $item_id)) {
$this->message(L('no_permissions'));
return;
}
$item = D("Item")->where("item_id = '$item_id' ")->find();
//获取所有父目录id为0的页面
$pages = D("Page")->where("cat_id = '0' and item_id = '$item_id' ")->order(" `s_number` asc ")->select();
//获取所有二级目录
$catalogs = D("Catalog")->where("item_id = '$item_id' and level = 2 ")->order(" `s_number` asc ")->select();
if ($catalogs) {
foreach ($catalogs as $key => &$catalog) {
//该二级目录下的所有子页面
$temp = D("Page")->where("cat_id = '$catalog[cat_id]' ")->order(" `s_number` asc ")->select();
$catalog['pages'] = $temp ? $temp: array();
//该二级目录下的所有子目录
$temp = D("catalog")->where("parent_cat_id = '$catalog[cat_id]' ")->order(" `s_number` asc ")->select();
$catalog['catalogs'] = $temp ? $temp: array();
if($catalog['catalogs']){
//获取所有三级目录的子页面
foreach ($catalog['catalogs'] as $key3 => &$catalog3) {
//该二级目录下的所有子页面
$temp = D("Page")->where("cat_id = '$catalog3[cat_id]' ")->order(" `s_number` asc ")->select();
$catalog3['pages'] = $temp ? $temp: array();
}
}
}
}
$data = '';
$parent = 1;
if ($pages) {
foreach ($pages as $key => $value) {
$data .= "
{$parent}、{$value['page_title']}
";
$data .= '';
$data .= htmlspecialchars_decode($Parsedown->text($value['page_content']));
$data .= '
';
$parent ++;
}
}
//var_export($catalogs);
if ($catalogs) {
foreach ($catalogs as $key => $value) {
$data .= "{$parent}、{$value['cat_name']}
";
$data .= '';
$child = 1 ;
if ($value['pages']) {
foreach ($value['pages'] as $page) {
$data .= "
{$parent}.{$child}、{$page['page_title']}
";
$data .= '
';
$data .= htmlspecialchars_decode($Parsedown->text($page['page_content']));
$data .= '
';
$child ++;
}
}
if ($value['catalogs']) {
$parent2 = 1 ;
foreach ($value['catalogs'] as $key3 => $value3) {
$data .= "
{$parent}.{$parent2}、{$value3['cat_name']}
";
$data .= '
';
$child2 = 1 ;
if ($value3['pages']) {
foreach ($value3['pages'] as $page3) {
$data .= "
{$parent}.{$parent2}.{$child2}、{$page3['page_title']}
";
$data .= '
';
$data .= htmlspecialchars_decode($Parsedown->text($page3['page_content']));
$data .= '
';
$child2 ++;
}
}
$data .= '
';
$parent2 ++;
}
}
$data .= '
';
$parent ++;
}
}
output_word($data,$item['item_name']);
}
//把指定目录导出为word
public function word_cat(){
import("Vendor.Parsedown.Parsedown");
$Parsedown = new \Parsedown();
$item_id = I("item_id/d");
$cat_id = I("cat_id/d");
$login_user = $this->checkLogin();
if (!$this->checkItemPermn($login_user['uid'] , $item_id)) {
$this->message(L('no_permissions'));
return;
}
$item = D("Item")->where("item_id = '$item_id' ")->find();
//获取指定目录。先按照目录是二级目录的逻辑来处理
$catalog = D("Catalog")->where("item_id = '$item_id' and cat_id = '$cat_id' and level =2 ")->order(" `s_number` asc ")->find();
if (!empty($catalog)) {
//该二级目录下的所有子页面
$temp = D("Page")->where("cat_id = '$catalog[cat_id]' ")->order(" `s_number` asc ")->select();
$catalog['pages'] = $temp ? $temp: array();
//该二级目录下的所有子目录
$temp = D("catalog")->where("parent_cat_id = '$catalog[cat_id]' ")->order(" `s_number` asc ")->select();
$catalog['catalogs'] = $temp ? $temp: array();
if($catalog['catalogs']){
//获取所有三级目录的子页面
foreach ($catalog['catalogs'] as $key3 => &$catalog3) {
//该二级目录下的所有子页面
$temp = D("Page")->where("cat_id = '$catalog3[cat_id]' ")->order(" `s_number` asc ")->select();
$catalog3['pages'] = $temp ? $temp: array();
}
}
}else{
//获取指定目录。按照目录是三级目录的逻辑来处理
$catalog = D("Catalog")->where("item_id = '$item_id' and cat_id = '$cat_id' and level =3 ")->order(" `s_number` asc ")->find();
if (!empty($catalog)) {
//该三级目录下的所有子页面
$temp = D("Page")->where("cat_id = '$catalog[cat_id]' ")->order(" `s_number` asc ")->select();
$catalog['pages'] = $temp ? $temp: array();
}
}
$data = '';
$parent = 1;
//var_export($catalog);exit();
$data .= "{$catalog['cat_name']}
";
$data .= '';
$child = 1 ;
if ($catalog['pages']) {
foreach ($catalog['pages'] as $page) {
$data .= "
{$child}、{$page['page_title']}
";
$data .= '
';
$data .= htmlspecialchars_decode($Parsedown->text($page['page_content']));
$data .= '
';
$child ++;
}
}
if ($catalog['catalogs']) {
$parent2 = 1 ;
foreach ($catalog['catalogs'] as $key3 => $value3) {
$data .= "
{$parent2}、{$value3['cat_name']}
";
$data .= '
';
$child2 = 1 ;
if ($value3['pages']) {
foreach ($value3['pages'] as $page3) {
$data .= "
{$parent2}.{$child2}、{$page3['page_title']}
";
$data .= '
';
$data .= htmlspecialchars_decode($Parsedown->text($page3['page_content']));
$data .= '
';
$child2 ++;
}
}
$data .= '
';
$parent2 ++;
}
}
$data .= '
';
output_word($data,$item['item_name']);
}
//把指定页面导出为word
public function word_page(){
import("Vendor.Parsedown.Parsedown");
$Parsedown = new \Parsedown();
$item_id = I("item_id/d");
$page_id = I("page_id/d");
$login_user = $this->checkLogin();
if (!$this->checkItemPermn($login_user['uid'] , $item_id)) {
$this->message(L('no_permissions'));
return;
}
$temp = D("Page")->where("page_id = '$page_id' ")->order(" `s_number` asc ")->find();
$page= $temp ? $temp: array();
$data = htmlspecialchars_decode($Parsedown->text($page['page_content']));
output_word($data,$page['page_title']);
}
}