function area_static_deal($op, $params = array()) { global $area_static_ifon, $area_static_next, $area_static_step; global $timestamp, $db_htmdir, $area_need_dynamic, $area_refresh_static; $area_data_file = R_P . $db_htmdir . '/area_index.htm'; if ($op == "isNeedDynamic") { $area_need_dynamic = isset($_GET['getdynamic']) && $_GET['getdynamic']; if (!$area_static_ifon) { $area_need_dynamic = true; } return $area_need_dynamic; } elseif ($op == "getStaticContent") { if ($area_need_dynamic) { return; } $area_refresh_static = $timestamp >= $area_static_next || !file_exists($area_data_file); if ($area_refresh_static) { $area_need_dynamic = true; } else { $area_index_content = file_get_contents($area_data_file); if ('' == $area_index_content) { $area_need_dynamic = true; } } return $area_index_content; } elseif ($op == "saveStaticContent") { if ("" == $params['content']) { return; } writeover($area_data_file, $params['content']); updateAreaStaticRefreshTime($timestamp + $area_static_step * 60); } }
if ($area_static['ifon'] && !$area_static['step']) { adminmsg('请填写正确的静态页面刷新时间'); } $update = array('area_static_ifon', 'string', $area_static['ifon'], ''); $db->update("REPLACE INTO pw_hack VALUES (" . pwImplode($update) . ')'); $update = array('area_static_step', 'string', $area_static['step'], ''); $db->update("REPLACE INTO pw_hack VALUES (" . pwImplode($update) . ')'); updatecache_conf('area', true); $fp = opendir(D_P . 'data/tplcache/'); while ($filename = readdir($fp)) { if ($filename == '..' || $filename == '.' || strpos($filename, '.htm') === false) { continue; } if (strpos($filename, 'area_') === 0) { P_unlink(Pcv(D_P . 'data/tplcache/' . $filename)); } } closedir($fp); adminmsg('operate_success'); } elseif ($action == 'dorefresh') { if (!$area_static_ifon) { adminmsg('还没有开启门户首页静态化,无需刷新'); } updateAreaStaticRefreshTime(); adminmsg('operate_success'); } else { $if_on_checked = $area_static_ifon ? "checked" : ""; $if_noton_checked = $area_static_ifon ? "" : "checked"; } include PrintMode('configarea'); exit;
/** pw_cachedata **/ function updateCacheDataPiece($invokepieceid, $fid = 0, $loopid = 0) { $this->deleteCacheData($invokepieceid, $fid, $loopid); updateAreaStaticRefreshTime(); }