getData($data); } elseif (!$data) { $page = Dever::db('ad/page')->one(array('key' => $key)); if ($page) { $info = Dever::db('ad/info')->getAll(array('page_id' => $page['id'])); if ($info) { foreach ($info as $k => $v) { $info[$k]['data'] = Dever::db('ad/data')->getAll(array('info_id' => $v['id'])); } Dever::cache($cache, $info); return $this->getData($info); } } } return false; } private function getData($data) { if ($data) { $time = time(); foreach ($data as $k => $v) { foreach ($v['data'] as $k1 => $v1) { if ($v1['type'] == 2 && ($time < $v1['sdate'] || $time > $v1['edate'])) { unset($data[$k]['data'][$k1]); } } } } return $data; } }