/** * 更新我的脚印 * * @param int $spaceUid * @param int $visitUid */ public function signToVisitor($spaceUid, $visitUid) { if ($spaceUid < 1 || $visitUid < 1) { return false; } if ($spaceUid == $visitUid) { return false; } $time = Pw::getTime(); $space = $this->_getSpaceDs()->getSpace($visitUid); $tovisitors = unserialize($space['tovisitors']); $tovisitors = is_array($tovisitors) ? $tovisitors : array(); if (array_key_exists($spaceUid, $tovisitors)) { $keys = array_keys($tovisitors); if (array_shift($keys) == $spaceUid) { return false; } //如果是第一个不需要更新 unset($tovisitors[$spaceUid]); } $tovisitors = array($spaceUid => $time) + $tovisitors; if (count($tovisitors) > 20) { $tovisitors = array_slice($tovisitors, 0, 20, true); } Wekit::load('space.dm.PwSpaceDm'); $dm = new PwSpaceDm($visitUid); $dm->setTovisitors($tovisitors); return $this->_getSpaceDs()->updateInfo($dm); }