one(array('key' => $key)); if (!$info) { $insert['key'] = $key; $insert['name'] = $name; $insert['num'] = $total; $insert['col'] = $col; $insert['func'] = $func; $info['id'] = Dever::db('push/info')->insert($insert); $info['num'] = $insert['num']; } $data = array(); if ($info) { if (!$info['num']) { $info['num'] = 20; } if ($limit > 0) { $info['num'] = $limit; } $where = array(); $where['info_id'] = $info['id']; if ($page) { $where['page'] = array($info['num'], 'list'); $data = Dever::db('push/data')->getAllPage($where); } else { $where['limit'] = '0,' . $info['num']; $data = Dever::db('push/data')->getAll($where); } if ($data) { foreach ($data as $k => $v) { $data[$k] = $this->getOne($v, 2, $cdate); } } } return $data; } public function getOne($info, $state = 2, $cdate = 'Y-m-d H:i') { $data = is_array($info) ? $info : Dever::db('push/data')->one($info); $source = array(); $info = array(); $col = array(); if ($data['type'] > 0) { $func = Dever::db('push/func')->one($data['type']); if ($func) { if ($func['type'] == 1) { $method = $func['api']; $col = Dever::array_decode($func['col']); $source = Dever::load($method, $data['type_id']); } else { $data['type_id'] = $func['api']; } } } if ($state == 1) { $result = array(); } else { $result = $data; unset($result['data']); $result['cdate_string'] = date($cdate, $result['cdate']); } $text = $data['data']; $text = Dever::array_decode($text); foreach ($text as $k => $v) { foreach ($v as $k1 => $v1) { if (strstr($k1, 'col_')) { $id = str_replace('col_', '', $k1); $col_info = Dever::db('push/col')->one($id); if (!$v1 && $source && $col) { foreach ($col as $k2 => $v2) { if ($v2['col_id'] == $id && isset($source[$v2['name']]) && $source[$v2['name']]) { $v1 = $source[$v2['name']]; } } } if ($state == 1) { if (strstr($v1, 'jpg') || strstr($v1, 'png') || strstr($v1, 'gif')) { $v1 = ''; } if (!isset($result[$k])) { $result[$k] = array(); } $result[$k][$col_info['name']] = $v1; } else { $result[$col_info['ename']] = $v1; } } } } return $result; } }