public static function creditLog($uids, $operation, $relatedid, $data) { if (!$operation || empty($relatedid) || empty($uids) || empty($data)) { return null; } $log = array("uid" => $uids, "operation" => $operation, "relatedid" => $relatedid, "dateline" => TIMESTAMP); foreach ($data as $k => $v) { $log[$k] = $v; } if (is_array($uids)) { foreach ($uids as $k => $uid) { $log["uid"] = $uid; $log["relatedid"] = is_array($relatedid) ? $relatedid[$k] : $relatedid; CreditLog::model()->add($log); } } else { CreditLog::model()->add($log); } }
protected function getCreditLog() { CacheUtil::load(array("creditrule")); $creditRule = CreditRule::model()->fetchAllSortByPk("rid"); $credits = Ibos::app()->setting->get("setting/extcredits"); $relateRules = CreditRuleLog::model()->fetchAllByAttributes(array("uid" => $this->getUid())); $criteria = array("condition" => "`uid` = :uid", "params" => array(":uid" => $this->getUid()), "order" => "dateline DESC"); $count = CreditLog::model()->count($criteria); $pages = PageUtil::create($count, 20); $criteria["limit"] = 20; $criteria["offset"] = $pages->getOffset(); $creditLog = CreditLog::model()->fetchAll($criteria); return array("creditLog" => $creditLog, "relateRules" => $relateRules, "credits" => $credits, "creditRule" => $creditRule, "pages" => $pages); }