getone("`num`='$num'", '`name`,`value`,`id`,`optdt`'); if ($rs) { if ($lx == 0) $val = $rs['value']; if ($lx == 1) $val = $rs['name']; if ($lx == 2) $val = $rs['id']; if ($lx == 3) $val = $rs['optdt']; } if (isempt($val)) $val = $dev; return $val; } public function getpids($num) { if (!is_numeric($num)) { $id = (int)$this->getmou('id', "`num`='$num'"); if ($id == 0) $id = -829; } else { $id = $num; } return $id; } public function getdata($num, $whe = '') { $pid = $this->getpids($num); return $this->getall("`pid`='$pid' and `valid`=1 $whe order by `sort`,`id`", '`id`,`name`,`value`,`num`,`receid`,`recename`,`pid`'); } public function getmnum($num) { return $this->getdata($num); } public $getselectdatad; public function getselectdata($num, $tbo = false) { $this->getselectdatad = array(); $this->getselectdatas($num, 0, $tbo); return $this->getselectdatad; } public function getselectdatas($num, $lev = 0, $tbo = false) { $pid = $this->getpids($num); $fied = ''; if ($tbo) $fied = ',(select count(1) from `[Q]option` where `pid`=a.`id` and `valid`=1)as stotal'; $arr = $this->db->getall("select a.`id`,a.`name`,a.`num`,a.`value`" . $fied . " from `[Q]option` a where a.`pid`='$pid' and a.`valid`=1 order by a.`sort`,a.id"); foreach ($arr as $k => $rs) { $rs['nameo'] = $rs['name']; $strs = ''; for ($i = 0; $i < $lev; $i++) $strs .= '    '; if ($lev > 0) $rs['name'] = '' . $strs . '├' . $rs['name'] . ''; $rs['padding'] = $lev * 24; $this->getselectdatad[] = $rs; if ($tbo && $rs['stotal'] > 0) $this->getselectdatas($rs['id'], $lev + 1, $tbo); } } public function setval($num, $val = '', $name = null, $isub = true) { $numa = explode('@', $num); $num = $numa[0]; $where = "`num`='$num'"; $id = (int)$this->getmou('id', $where); if ($id == 0) $where = ''; $arr = array('num' => $num, 'value' => $val, 'optid' => $this->adminid, 'comid' => m('admin')->getcompanyid(), 'optdt' => $this->rock->now); if (isset($numa[1])) $arr['pid'] = $numa[1]; if ($name != null) $arr['name'] = $name; if ($id == 0 || $isub) $this->record($arr, $where); if ($id == 0) $id = $this->db->insert_id(); return $id; } public function gettreedata($pid) { $rows = $this->getfoldrowsss($pid); return $rows; } public function getfoldrowsss($pid) { $rows = $this->db->getall("select `id`,`pid`,`name`,`optdt`,`sort`,`receid`,`recename` from [Q]option where `pid`='$pid' and `valid`=1 order by `sort`,`id`"); foreach ($rows as $k => $rs) { $rows[$k]['expanded'] = true; $rows[$k]['children'] = $this->getfoldrowsss($rs['id']); } return $rows; } public function getnumtoid($num, $name = '', $isub = true) { $idd = $this->setval($num, '', $name, $isub); return $idd; } public function getpidarr($pid, $lx = 0) { $rows = $this->getall("`pid`='$pid'"); $barr = array(); foreach ($rows as $k => $rs) { $barr[$rs['num']] = $rs['value']; } return $barr; } public function getalldownid($id) { $str = $id; $rows = $this->getall('`pid`=' . $id . ' and `valid`=1', '`id`'); foreach ($rows as $k => $rs) { $str1 = $this->getalldownid($rs['id']); $str .= ',' . $str1 . ''; } return $str; } public function getreceiddownall($uid, $optid = 0, $type = 0) { $rstr = m('admin')->getjoinstr('`receid`', $uid, 1, 1); $whe = ''; if ($optid > 0) $whe = ' and `optid`=' . $optid . ''; $rows = $this->getall('`valid`=1 and `type`=' . $type . ' and (' . $rstr . ') ' . $whe . '', '`id`'); $strs = ''; foreach ($rows as $k => $rs) { $str1 = $this->getalldownid($rs['id']); $strs .= ',' . $str1 . ''; } if ($strs != '') $strs = substr($strs, 1); return $strs; } public function gettypeid($djnum, $s) { if (isset($this->getypsarr[$s])) return $this->getypsarr[$s]; $sid = 0; $s = str_replace(',', '/', $s); $djid = $this->getval($djnum, '0', 2); if (isempt($djid)) { $djid = $this->insert(array('name' => '分类', 'num' => $djnum, 'pid' => 0, 'valid' => 1)); } $dsja = $djid; $sarr = explode('/', $s); foreach ($sarr as $safs) { $pid = $djid; $djid = (int)$this->getmou('id', "`pid`='$pid' and `name`='$safs'"); if ($djid == 0) { $djid = $this->insert(array('name' => $safs, 'pid' => $pid, 'valid' => 1,)); } } if ($djid != $dsja) $sid = $djid; $this->getypsarr[$s] = $sid; return $sid; } public function delpid($pid) { $this->delete("`pid` in($pid)"); } public function getcnumdata($num) { if (ISMORECOM && $cnum = m('admin')->getcompanynum()) $num .= '_' . $cnum . ''; $rows = $this->getselectdata($num, true); $arr = array(); foreach ($rows as $k => $rs) { $arr[] = array('value' => $rs['id'], 'name' => $rs['name'], 'padding' => $rs['padding'],); } return $arr; } public function addoption($name, $num, $pid = 0, $down = array(), $arr = array()) { $id = (int)$this->getmou('id', "`num`='$num'"); if (!$id) $id = 0; if ($id > 0) return $id; if (!is_numeric($pid)) $pid = (int)$this->getmou('id', "`num`='$pid'"); if ($pid == 0) $pid = 1; $uarr = array('num' => $num, 'pid' => $pid, 'name' => $name,); foreach ($arr as $k => $v) $uarr[$k] = $v; $id = $this->insert($uarr); if ($down && is_string($down)) { $downa = explode(',', $down); $down = array(); foreach ($downa as $k2) $down[] = array('name' => $k2); } if ($down) foreach ($down as $k => $rs) { $iarr = $rs; $iarr['pid'] = $id; $idown = arrvalue($rs, 'down'); if ($idown) { unset($iarr['down']); $sid = $this->insert($iarr); foreach ($idown as $k1 => $rs1) { $isarr = $rs1; $isarr['pid'] = $sid; $this->insert($isarr); } } else { $this->insert($iarr); } } return $id; } public function authercheck() { $rows = $this->getall('pid=-101', '`num`,`value`'); $authkey = $yuming = $enddt = ''; foreach ($rows as $k1 => $rs1) { if ($rs1['num'] == 'auther_authkey') $authkey = $rs1['value']; if ($rs1['num'] == 'auther_yuming') $yuming = $rs1['value']; if ($rs1['num'] == 'auther_enddt') $enddt = $rs1['value']; } if (isempt($yuming) || isempt($enddt) || isempt($authkey)) return $this->rock->jm->base64decode('57O757uf5pyq562!5o6I5LiN6IO95L2.55So77yM562!5o6I5piv5YWN6LS555qE77yMPGEgaHJlZj0iaHR0cDovL3d3dy5yb2Nrb2EuY29tL3ZpZXdfYXV0aGVyLmh0bWwiPueci!W4ruWKqeiuvue9rjwvYT4:'); if ($this->rock->jm->uncrypt($enddt) < $this->rock->date) return $this->rock->jm->base64decode('57O757uf562!5o6I5bey5Yiw5pyf'); $ym = $this->rock->jm->uncrypt($yuming); $mym = HOST; $ho1 = ',' . $mym . ','; $yma = explode(',', $ym); $bool = false; foreach ($yma as $ym1) { if ($ym1 == $mym) $bool = true; if (substr($ym1, 0, 2) == '*.' && contain($mym, substr($ym1, 1))) $bool = true; } if (substr($mym, 0, 7) == $this->rock->jm->base64decode('MTkyLjE2OA::')) $bool = true; if (!$bool) return str_replace('1', $mym, $this->rock->jm->base64decode('MeWfn!WQjeacquetvuaOiOS4jeiDveS9v!eUqA::')); return array('star' => 'rock', 'authkey' => $authkey, 'yuming' => $ym); } public function strsste() { } }