getNew($where); if ($type == 11) { $data = explode(',', $data); if (!$cover) { $cover = $data[0]; $cover = Dever::load('upload/view')->get($cover, 't', 1); $cover = Dever::load('upload/view')->get($cover, 'c', 1); } } # 1章最多15篇 $max = 15; $result = array(); //唯美 第1章(时光)12季(主章节),1季12章(子章节),1章15篇(内容) if ($info) { if ($info['reorder'] >= $max) { $max = 12; $result['reorder'] = $info['reorder'] = 1; $page = Dever::db('collection/page')->find($info['page_id']); if ($page) { if ($page['reorder'] >= $max) { # 超出子章节最大值,创建新的主章节 $result['page_id'] = $this->createPage($info_id, $source_id, $page['times_id_parent'], $page['times_id'], $result['page_reorder'], $page['page_id'], $desc, $cover); } else { # 直接创建子章节 $result['page_reorder'] = $page['reorder'] + 1; $result['page_id'] = $this->createPage($info_id, $source_id, $page['times_id_parent'], $page['times_id'], $result['page_reorder'], $page['page_id'], $desc, $cover); } } $result['content_id'] = $this->createContent($info_id, $source_id, $result['page_id'], $type, $result['reorder'], $cover); } else { $result['reorder'] = $info['reorder'] + 1; $result['page_id'] = $info['page_id']; $result['content_id'] = $this->createContent($info_id, $source_id, $result['page_id'], $type, $result['reorder'], $cover); } } else { $times_id_parent = $this->createTimes($info_id, $source_id, 1, $name); if ($times_id_parent) { $times_id = $this->createTimes($info_id, $source_id, 1, '', $year, $times_id_parent); if ($times_id) { $parent_page_id = $this->createPage($info_id, $source_id, $times_id_parent, $times_id, 1, -1); if ($parent_page_id) { $page_id = $this->createPage($info_id, $source_id, $times_id_parent, $times_id, 1, $parent_page_id, $desc, $cover); if ($page_id) { $content_id = $this->createContent($info_id, $source_id, $page_id, $type, 1, $cover); } } } } } if ($content_id) { if ($type == 11) { $this->createPic($info_id, $content_id, $data); } } return $result; } # 生成时光 public function createTimes($info_id, $source_id, $reorder, $name, $year = '', $parent = -1) { $table = 'collection/times'; $where['info_id'] = $info_id; $where['source_id'] = $source_id; $where['times_id'] = $parent; if ($name) { $where['name'] = $name; } else { $where['name'] = '第' . $reorder . '卷'; } $param = array(); if ($year) { $param['year'] = $year; } $param['reorder'] = $reorder; return Dever::upinto($table, $where, $param); } # 生成章节 public function createPage($info_id, $source_id, $times_id_parent, $times_id, $reorder = 1, $parent_page_id = -1, $desc = '', $pic = '') { $table = 'collection/page'; $where['info_id'] = $info_id; $where['source_id'] = $source_id; $where['page_id'] = $parent_page_id; if ($parent_page_id > 0) { $where['name'] = '第' . $reorder . '章'; } else { $where['name'] = '第' . $reorder . '季'; } $where['times_id_parent'] = $times_id_parent; $where['times_id'] = $times_id; $param = array(); $param['reorder'] = $reorder; if ($desc) { $param['desc'] = $desc; } if ($pic) { $param['pic'] = $pic; } $id = Dever::upinto($table, $where, $param); return $id; } # 生成内容 public function createContent($info_id, $source_id, $page_id, $type, $reorder, $pic) { $table = 'collection/content'; $where['info_id'] = $info_id; $where['source_id'] = $source_id; $where['name'] = '第' . $reorder . '篇'; $where['page_id'] = $page_id; $where['type'] = $type; $param = array(); if ($pic) { $param['pic'] = $pic; } $param['reorder'] = $reorder; return Dever::upinto($table, $where, $param); } }