www.gusucode.com > 08CMS空白站群系统 3.3 繁体 UTF-8 > upload/include/archive.fun.php
<?php !defined('M_COM') && exit('No Permission'); function arc_allow(&$item,$pname){ global $curuser,$catalogs,$cotypes; if(!in_array($pname,array('aread','issue','comment','answer','purchase','download'))) return false; if($curuser->infos['mid'] && $curuser->infos['mid'] == $item['mid']) return true; $pmids = array(); $item['permission'] && ($pmids[] = $item['permission']); (($catalog = read_cache('catalog',$item['caid'],'',$item['sid'])) && $catalog['permission']) && ($pmids[] = $catalog['permission']); foreach($cotypes as $coid => $cotype){ if(!empty($item["cotype$coid"])){ (($coclass = read_cache('coclass',$coid,$item["cotype$coid"])) && $coclass['permission']) && $pmids[] = $coclass['permission']; } } return $curuser->pmbypmids($pname,$pmids); } function calshipingfee($orderfee,$shid,$weight=0){ global $shipings; $shipingfee = 0; if(empty($shipings[$shid])) return $shipingfee; extract($shipings[$shid]); if(!empty($freetop) && $orderfee < $freetop) return $shipingfee; $shipingfee = $basefee; $shipingfee += empty($plus1mode) ? $plus1 : $orderfee * $plus1 / 100; $shipingfee += empty($plus2mode) ? $plus2 : $orderfee * $plus2 / 100; if($base2 && $weight > $base2){ $shipingfee += ceil(($weight - $base2) / $unit2) * $price2; $weight = $base2; } if($base1 && $weight > $base1){ $shipingfee += ceil(($weight - $base1) / $unit1) * $price1; } return intval($shipingfee); } function arc_parse(&$item){//一个文档解析时需要分析的相关内容 global $catalogs,$cotypes,$channels,$altypes,$subsites; $item['arcurl'] = view_arcurl($item); $item['sitename'] = empty($item['sid']) ? lang('msite') : $subsites[$item['sid']]['sitename']; $item['siteurl'] = view_siteurl($item['sid']); $item['catalog'] = $catalogs[$item['caid']]['title']; $item['channel'] = $channels[$item['chid']]['cname']; $item['altype'] = $item['atid'] ? $altypes[$item['atid']]['cname'] : ''; foreach($cotypes as $k => $cotype){ $item['cotype'.$k.'title'] = ''; if($item["cotype$k"]){ $coclasses = read_cache('coclasses',$k); $item['cotype'.$k.'title'] = $coclasses[$item["cotype$k"]]['title']; } } fetch_txt($item); arr_tag2atm($item); } function arc_htmldir(&$item){//只是取得文档在根目录下的路径,aaa/sss/ global $archtmlmode,$cnhtmldir,$subsites; $catalogs = read_cache('catalogs','','',$item['sid']); $topid = cn_topid($item['caid'],$catalogs); $arc_dir = ($item['sid'] ? $subsites[$item['sid']]['dirname'] : $cnhtmldir).'/'.$catalogs[$topid]['dirname'].'/'.date($archtmlmode == 'month' ? 'Ym' : 'Ymd',$item['createdate']).'/'; unset($catalogs); return $arc_dir; } function arc_blank($aid,$arcfile,$force=0){//$arcfile完全服务器路径 if($force || !is_file($arcfile)) str2file(blank_content("archive.php?aid=$aid"),$arcfile); } function fetch_txt(&$item){ $fields = read_cache('fields',$item['chid']); foreach($fields as $k => $v){ if(!empty($v['istxt']) && isset($item[$k])) $item[$k] = readfromtxt($item[$k]); } } function cn_discount(&$item,$dcmode = 1){ global $catalogs,$cotypes; if(empty($item['aid']) || !$dcmode) return 0; $dcarr = array(); if(!empty($item['caid'])){ $catalog = read_cache('catalog',$item['caid'],'',$item['sid']); !empty($catalog['discount']) && $dcarr[] = $catalog['discount']; } foreach($cotypes as $coid => $cotype){ if(!empty($item["cotype$coid"])){ $coclass = read_cache('coclass',$coid,$item["cotype$coid"]); !empty($coclass['discount']) && $dcarr[] = $coclass['discount']; } } $discount = caldiscount($dcarr,$dcmode); return $discount; } function caldiscount($dcarr=array(),$dcmode=1){ $discount = 0; if(!$dcmode || empty($dcarr)) return $discount; foreach($dcarr as $v){ if($dcmode == 1){ $discount = max($discount,$v / 100); }else{ $discount = 1 - (1 - $discount) * (1 - $v / 100); } } return round($discount * 100,2); } ?>