function arr_mnownav(&$tag) { global $mcatalogs, $uclasses, $_midarr; $rets = array(); if (!empty($_midarr['mcaid']) && ($item = @$mcatalogs[$_midarr['mcaid']])) { foreach (array(0, 1) as $k) { $item['indexurl' . ($k ? $k : '')] = mcn_url($item['mcaid'], 0, $k); } $item['sn_row'] = $i = empty($i) ? 1 : $i + 1; $rets[] = $item; } if (!empty($_midarr['ucid']) && ($item = @$uclasses[$_midarr['ucid']])) { foreach (array(0, 1) as $k) { $item['indexurl' . ($k ? $k : '')] = mcn_url($item['mcaid'], 0, $k); } $item['sn_row'] = $i = empty($i) ? 1 : $i + 1; $rets[] = $item; } unset($item); return $rets; }
function deal_incell() { global $cotypes, $sid, $orelays, $acatalogs, $m_thumb; if (in_array($this->tclass, array('archives', 'alarchives', 'relates', 'searchs'))) { arc_parse($this->item, $this->temparr['m_thumbid']); } elseif (in_array($this->tclass, array('marchives', 'masearchs'))) { marc_parse($this->item, $this->temparr['m_thumbid']); } elseif ($this->tclass == 'catalogs') { //这是一个特例(含节点),在标识中会加入新元素,需要先处理midarr, //读取继承参数 parse_str(cnstr($this->temparr), $midarr); if (isset($midarr['caid']) && @$this->tag['cainherit'] != 'active') { unset($midarr['caid']); } foreach ($cotypes as $k => $v) { if (isset($midarr['ccid' . $k]) && @$this->tag['coinherit' . $k] != 'active') { unset($midarr['ccid' . $k]); } } $listby = $this->tag['listby'] == 'ca' ? 0 : intval(str_replace('co', '', $this->tag['listby'])); if (!$listby) { //先处理非列表项目,因为列表项id要放在最后 foreach ($cotypes as $k => $v) { //读取手动指定的参数 if ($v['sortable'] && !empty($this->tag['coinherit' . $k]) && is_numeric($this->tag['coinherit' . $k])) { $midarr['ccid' . $k] = $this->tag['coinherit' . $k]; } } unset($midarr['caid']); $midarr['caid'] = $this->item['caid']; } else { $coid = $listby; if (!empty($this->tag['cainherit']) && is_numeric($this->tag['cainherit'])) { $midarr['caid'] = $this->tag['cainherit']; } foreach ($cotypes as $k => $v) { $k != $coid && $v['sortable'] && !empty($this->tag['coinherit' . $k]) && is_numeric($this->tag['coinherit' . $k]) && ($midarr['ccid' . $k] = $this->tag['coinherit' . $k]); } unset($midarr['ccid' . $coid]); $midarr['ccid' . $coid] = $this->item['ccid']; } if (!empty($this->tag['urlmode']) && !empty($midarr[$this->tag['urlmode']])) { $midarr = array_merge(array($this->tag['urlmode'] => $midarr[$this->tag['urlmode']]), $midarr); } $nsid = empty($this->tag['nsid']) ? 0 : intval($this->tag['nsid']); if (!$nsid) { $nsid = isset($temparr['nsid']) ? $temparr['nsid'] : $sid; //当前子站需要分析是否有传下来的id,否则认为是全局id } elseif ($nsid == -1) { $nsid = 0; } elseif ($nsid == -2) { $nsid = $sid; } $cnstr = cnstr($midarr); $this->item = cn_parsearr($cnstr, $nsid, $listby, $this->temparr['m_thumbid']); $cnode = cnodearr($cnstr, $this->item['sid']); re_cnode($this->item, $cnstr, $cnode); unset($cnode, $midarr); } elseif ($this->tclass == 'farchives') { $m_thumb->config[$this->temparr['m_thumbid']] = array('id' => $this->item['aid'], 'mode' => 'fa', 'smode' => $this->item['chid']); } elseif ($this->tclass == 'commus') { $m_thumb->config[$this->temparr['m_thumbid']] = array('id' => $this->item['cid'], 'mode' => 'cu', 'smode' => @$this->tag['cuid']); } elseif ($this->tclass == 'mcommus') { $m_thumb->config[$this->temparr['m_thumbid']] = array('id' => $this->item['cid'], 'mode' => 'mcu', 'smode' => @$this->tag['cuid']); } elseif ($this->tclass == 'mcatalogs') { if ($this->tag['listby'] == 'ca') { $this->item['indexurl'] = mcn_url($this->item['mcaid']); $this->item['listurl'] = mcn_url($this->item['mcaid'], 0, 1); } elseif ($this->tag['listby'] == 'uc') { $this->item['indexurl'] = mcn_url($this->item['mcaid'], $this->item['ucid']); $this->item['listurl'] = mcn_url($this->item['mcaid'], $this->item['ucid'], 1); } } elseif ($this->tclass == 'images') { if ($this->tmode == 'p') { $m_thumb->config[$this->temparr['m_thumbid']] = $m_thumb->config['main']; } if (@$this->tag['thumb'] && @$this->tag['maxwidth'] && @$this->tag['maxheight'] && islocal($this->item['url'], 1)) { //生成缩略图或启用缩略图 $true_local = islocal($this->item['url'], 2); if ($true_local && is_file(local_atm($this->item['url']) . 's/' . $this->tag['maxwidth'] . '_' . $this->tag['maxheight'] . '.jpg') || !$true_local && in_str($this->tag['maxwidth'] . '_' . $this->tag['maxheight'], @$this->item['thumbs'])) { //已生成缩略图 $this->item['url_s'] = $this->item['url'] . 's/' . $this->tag['maxwidth'] . '_' . $this->tag['maxheight'] . '.jpg'; } else { $this->item['url_s'] = @$m_thumb->thumb($this->item['url'], $this->temparr['m_thumbid'], $this->tag['tname'], $this->item['fid'], @$this->tag['maxwidth'], @$this->tag['maxheight']); } } else { $this->item['url_s'] = $this->item['url']; } if ($this->item['url_s'] != $this->item['url']) { //真正启用了缩略图,直接使用设定的宽高 $this->item['width'] = @$this->tag['maxwidth']; $this->item['height'] = @$this->tag['maxheight']; } else { //使用原图来重计宽高 $wh = imagewh($this->item['url'], @$this->item['width'], @$this->item['height'], @$this->tag['maxwidth'], @$this->tag['maxheight']); $this->item['width'] = $wh['width']; $this->item['height'] = $wh['height']; } } elseif ($this->tclass == 'members') { global $grouptypes; foreach ($grouptypes as $k => $v) { $this->item['grouptype' . $k . 'name'] = ''; if (!empty($this->item['grouptype' . $k])) { $usergroups = read_cache('usergroups', $k); $this->item['grouptype' . $k . 'name'] = $usergroups[$this->item['grouptype' . $k]]['cname']; } } $m_thumb->config = array('id' => $this->item['mid'], 'mode' => 'm', 'smode' => $this->item['mchid']); unset($usergroups, $v); } //从上级标识接受参数作为当前原始标识 if (!empty($this->tag['rrelays'])) { $midarr = array(); $relays = relays2arr($this->tag['rrelays']); foreach ($relays as $k => $v) { if (isset($this->temparr[$v])) { $midarr[$k] = $this->temparr[$v]; } } $this->item += $midarr; unset($midarr); } $this->item += $this->temparr; //从当前原始标识向下级标识传送参数 $this->midarr = $this->temparr; $relays = $orelays; !empty($this->tag['relays']) && ($relays = relays2arr($this->tag['relays']) + $relays); foreach ($relays as $k => $v) { if (isset($this->item[$v])) { $this->midarr[$k] = $this->item[$v]; } } unset($relays); }