function update($data, $filter) { $c = parent::update($data, $filter); if ($filter['role_id']) { $role_id = array(); foreach ($this->getList('role_id', $filter) as $r) { $role_id[] = $r['role_id']; } } else { $role_id = $filter['role_id']; } if (count($role_id) == 1) { $rows = $this->db->select('select action_id from sdb_lnk_acts where role_id in (' . implode(',', $role_id) . ')'); $in_db = array(); foreach ($rows as $r) { $in_db[] = $r['action_id']; } $data['actions'] = $data['actions'] ? $data['actions'] : array(); $to_add = array_diff($data['actions'], $in_db); $to_del = array_diff($in_db, $data['actions']); if (count($to_add) > 0) { $sql = 'INSERT INTO `sdb_lnk_acts` (`role_id`,`action_id`) VALUES '; foreach ($to_add as $action_id) { $actions[] = "({$role_id[0]},{$action_id})"; } $sql .= implode($actions, ',') . ';'; $a = $this->db->exec($sql); } if (count($to_del) > 0) { $this->db->exec('delete from sdb_lnk_acts where action_id in (' . implode(',', $to_del) . ') and role_id=' . intval($role_id[0])); } } else { } return $c; }
function update($data, $filter, &$message) { if (!$this->findError($data, $message)) { return false; } parent::update($data, $filter); return true; }
function update($data, $filter) { if ($data['prt_tmpl_title']) { if (has_unsafeword($data['prt_tmpl_title'])) { trigger_error('无法保存,标题含有非法字符', E_USER_ERROR); return false; } if (!$filter['prt_tmpl_id']) { trigger_error('无法保存,模板名称不能重复', E_USER_ERROR); return false; } $sql = 'select prt_tmpl_id from sdb_print_tmpl where prt_tmpl_id!=' . intval($filter['prt_tmpl_id']) . ' and prt_tmpl_title="' . $this->db->quote($data['prt_tmpl_title']) . '"'; if ($r = $this->db->selectrow($sql)) { trigger_error('无法保存,存在同名模板', E_USER_ERROR); return false; } } return parent::update($data, $filter); }
public function update($data, $filter) { if (parent::update($data, $filter) == true) { $agids = $this->db->select("SELECT goods_id FROM sdb_goods WHERE " . $this->_filter($filter)); $gids = array(); foreach ($agids as $id) { $gids[] = $id['goods_id']; } $this->syncProNameByGoodsId($gids); return true; } else { return false; } }
function update($data, $filter) { $oPointHistory =& $this->system->loadModel('trading/pointHistory'); $oMemberPoint =& $this->system->loadModel('trading/memberPoint'); foreach ($data as $k => $v) { if (substr($k, 0, 6) == 'attr__') { foreach ($this->getList("member_id", $filter) as $key => $value) { $mem['value'] = $v; $mem['attr_id'] = substr($k, 6, strlen($k)); $mem['member_id'] = $value['member_id']; $this->updateMemAttr($mem['member_id'], $mem['attr_id'], $mem); } unset($data[$k]); } if ($k == "point") { if ($v < 0) { $vPoint = 0; } else { $vPoint = $v; } foreach ($this->getList("member_id", $filter) as $key => $value) { $mem['member_id'] = $value['member_id']; $nPoint = $oMemberPoint->getMemberPoint($mem['member_id']); $nPoint = $vPoint - $nPoint; $aPointHistory = array('member_id' => $mem['member_id'], 'point' => $nPoint, 'reason' => 'operator_adjust', 'related_id' => $this->system->op_id); $oPointHistory->addHistory($aPointHistory); } } } $result = parent::update($data, $filter, $this); /*$rows = $this->getList('*',$filter,0,20); //todo: if (isset($data['advance'])) $action[]='changeadvance'; if (isset($data['point'])) $action[]='changepoint'; if (isset($data['level'])) $action[]='changelevel'; if ($rows){ $account = $this->system->loadModel('member/account'); foreach ($rows as $key => $val){ if ($action){ foreach($action as $act){ $account->fireEvent($act,$val,$val['member_id']); } } } }*/ return $result; }