Example #1
0
 function replacePlayNames($from, $url, $src, $num, $weburl)
 {
     global $mac;
     $playfromarr = explode("\$\$\$", $from);
     $playfromarrlen = count($playfromarr);
     $playurlarr = explode("\$\$\$", $url);
     $playurlarrlen = count($playurlarr);
     $weburslarr = explode("\$\$\$", $weburl);
     $weburlarrlen = count($weburslarr);
     for ($i = 0; $i < $playfromarrlen; $i++) {
         if ($src - 1 == $i) {
             $urlfrom = $playfromarr[$i];
             $urlfromshow = getVodXmlText("vodplay.xml", "player", $playfromarr[$i], 1);
             $url = $playurlarr[$i];
             $urlarr = explode("#", $url);
             $webplayurl = $weburlarr[$i];
             $webplayurlarr = explode("{Array}", $webplayurl);
             $url = "";
             //	            for ($j=0;$j<count($urlarr);$j++){
             //					if (!isN($urlarr[$j])){
             //						if ($j==($num-1)){
             if ($num < count($urlarr)) {
                 $urlone = explode("\$", $urlarr[$num - 1]);
             } else {
                 if ($num < count($weburlarr)) {
                     $urlone = explode("\$", $weburlarr[$num - 1]);
                 }
             }
             if (count($urlone) == 2) {
                 $urlname = $urlone[0];
                 $urlpath = $urlone[1];
                 //var_dump($urlname);
             } else {
                 $urlname = '第' . $num . '集';
                 $urlpath = $urlone[0];
             }
             if ($num < count($webplayurlarr)) {
                 $urlone = explode("\$", $webplayurlarr[$num - 1]);
                 if (count($urlone) == 2) {
                     $urlname = $urlone[0];
                 }
             }
             //var_dump($num);var_dump($urlfromshow);var_dump($urlpath);
             $this->html = replaceStr($this->html, "[playinfo:from]", $urlfrom);
             $this->html = replaceStr($this->html, "[playinfo:fromshow]", $urlfromshow);
             $this->html = replaceStr($this->html, "[playinfo:name]", urldecode($mac['vodname']));
             $this->html = replaceStr($this->html, "[playinfo:urlpath]", $urlpath);
             //							break;
             //						}
             //	                }
             //	            }
         }
     }
     unset($urlarr);
     unset($urlone);
     unset($playfromarr);
     unset($playurlarr);
 }
Example #2
0
 function parse($f, $mdes, $m1, $m2, $m3, $mrs, $mnum)
 {
     if ($mnum < 10) {
         $numfill = "0" . $mnum;
     } else {
         $numfill = $mnum;
     }
     $val = $m1;
     switch ($f) {
         case "menu":
             switch ($m2) {
                 case "num":
                     $val = $mnum;
                     break;
                 case "numfill":
                     $val = $numfill;
                     break;
                 case "id":
                     $val = $mrs["t_id"];
                     break;
                 case "name":
                     $val = getTextt($m3, $mrs["t_name"]);
                     break;
                 case "enname":
                     $val = getTextt($m3, $mrs["t_enname"]);
                     break;
                 case "pid":
                     $val = $mrs["t_pid"];
                     break;
                 case "title":
                     $val = $mrs["t_title"];
                     break;
                 case "key":
                     $val = $mrs["t_key"];
                     break;
                 case "des":
                     $val = $mrs["t_des"];
                     break;
                 case "link":
                     if ($this->L['type'] == 'auto') {
                         $an = $this->P['vodtypeid'] > 0 ? 'list' : 'search';
                         $col = $this->P['vodtypeid'] > 0 ? 'id' : 'typeid';
                         $val = $this->getLink($this->L['table'], $an, $this->T, array($col => $mrs['t_id']));
                     } else {
                         $val = $this->getLink($this->L['table'], 'type', $mrs, $row);
                     }
                     break;
                 case "count":
                     if ($this->L['table'] == "art") {
                         $typearr = $GLOBALS['MAC_CACHE']['arttype'][$mrs["t_id"]];
                         $val = $this->getDataCount('art', " and a_type in (" . $typearr["childids"] . ")");
                     } else {
                         $typearr = $GLOBALS['MAC_CACHE']['vodtype'][$mrs["t_id"]];
                         $val = $this->getDataCount('vod', " and d_type in (" . $typearr["childids"] . ")");
                     }
                     break;
             }
             break;
         case "class":
             switch ($m2) {
                 case "num":
                     $val = $mnum;
                     break;
                 case "numfill":
                     $val = $numfill;
                     break;
                 case "id":
                     $val = $mrs["c_id"];
                     break;
                 case "name":
                     $val = getTextt($m3, $mrs["c_name"]);
                     break;
                 case "enname":
                     $val = getTextt($m3, $mrs["c_enname"]);
                     break;
                 case "pid":
                     $val = $mrs["c_pid"];
                     break;
                 case "link":
                     if ($this->L['type'] == 'auto') {
                         $an = $this->P['vodtypeid'] > 0 ? 'list' : 'search';
                         $col = $this->P['vodtypeid'] > 0 ? 'class' : 'classid';
                         $val = $this->getLink('vod', $an, $this->T, array($col => $mrs['c_id']));
                     } else {
                         $val = $this->getLink('vod', 'search', $mrs, array('classid' => $mrs['c_id']));
                     }
                     break;
             }
             break;
         case "topic":
             switch ($m2) {
                 case "num":
                     $val = $mnum;
                     break;
                 case "numfill":
                     $val = $numfill;
                     break;
                 case "id":
                     $val = $mrs["t_id"];
                     break;
                 case "name":
                     $val = getTextt($m3, $mrs["t_name"]);
                     break;
                 case "enname":
                     $val = getTextt($m3, $mrs["t_enname"]);
                     break;
                 case "sort":
                     $val = $mrs["t_sort"];
                     break;
                 case "title":
                     $val = $mrs["t_title"];
                     break;
                 case "key":
                     $val = $mrs["t_key"];
                     break;
                 case "des":
                     $val = $mrs["t_des"];
                     break;
                 case "addtime":
                     $val = getDatet($m3, $mrs["t_addtime"]);
                     break;
                 case "time":
                     $val = getDatet($m3, $mrs["t_time"]);
                     break;
                 case "level":
                     $val = $mrs["t_level"];
                     break;
                 case "hits":
                     $val = $mrs["t_hits"];
                     break;
                 case "dayhits":
                     $val = $mrs["t_dayhits"];
                     break;
                 case "weekhits":
                     $val = $mrs["t_weekhits"];
                     break;
                 case "monthhits":
                     $val = $mrs["t_monthhits"];
                     break;
                 case "content":
                     $val = getTextt($m3, $mrs["t_content"]);
                     break;
                 case "contenttext":
                     $val = getTextt($m3, strip_tags($mrs["t_content"]));
                     break;
                 case "remarks":
                     $val = getTextt($m3, $mrs["t_remarks"]);
                     break;
                 case "pic":
                     $val = $mrs["t_pic"];
                     if (strpos("," . $val, "http://") <= 0) {
                         if ($GLOBALS['MAC']['upload']['remote'] == 1) {
                             $val = $GLOBALS['MAC']['upload']['remoteurl'] . $val;
                         } else {
                             $val = MAC_PATH . $val;
                         }
                     }
                     break;
                 case "count":
                     $val = $this->getDataCount($this->L['table'] . '_relation', " and r_type=2 and r_a=" . $mrs["t_id"]);
                     break;
                 case "link":
                     $val = $this->getLink($this->L['table'], 'topic', $mrs, $row);
                     break;
             }
             break;
         case "link":
             switch ($m2) {
                 case "num":
                     $val = $mnum;
                     break;
                 case "numfill":
                     $val = $numfill;
                     break;
                 case "id":
                     $val = $mrs["l_id"];
                     break;
                 case "name":
                     $val = getTextt($m3, $mrs["l_name"]);
                     break;
                 case "type":
                     $val = $mrs["l_type"] == 1 ? "图片" : "文字";
                     break;
                 case "link":
                     $val = $mrs["l_url"];
                     break;
                 case "pic":
                     $val = $mrs["l_logo"];
                     break;
             }
             break;
         case "gbook":
             $bgcolorArr = array("D66203", "513DBD", "784E1A", "C55200", "DA6912", "537752", "C58200", "519DBD", "D60103", "531752");
             $reg2 = '~(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)~';
             switch ($m2) {
                 case "num":
                     $val = $mnum;
                     break;
                 case "numfill":
                     $val = $numfill;
                     break;
                 case "id":
                     $val = $mrs["g_id"];
                     break;
                 case "name":
                     $val = getTextt($m3, $mrs["g_name"]);
                     break;
                 case "content":
                     $val = regReplace(getTextt($m3, $mrs["g_content"]), "\\[em:(\\d{1,})?\\]", "<img src=\"" . MAC_PATH . "images/face/\$1.gif\" border=0/>");
                     break;
                 case "reply":
                     $val = getTextt($m3, $mrs["g_reply"]);
                     break;
                 case "ip":
                     $val = preg_replace($reg2, "\$1.\$2.*.*", long2ip($mrs["g_ip"]));
                     break;
                 case "time":
                     $val = getDatet($m3, $mrs["g_time"]);
                     break;
                 case "replytime":
                     $val = getDatet($m3, $mrs["g_replytime"]);
                     break;
                 case "color":
                     $val = '#' . $bgcolorArr[rand(1, 9)];
                     break;
             }
             break;
         case "comment":
             $bgcolorArr = array("D66203", "513DBD", "784E1A", "C55200", "DA6912", "537752", "C58200", "519DBD", "D60103", "531752");
             $reg2 = '~(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)~';
             switch ($m2) {
                 case "num":
                     $val = $mnum;
                     break;
                 case "numfill":
                     $val = $numfill;
                     break;
                 case "id":
                     $val = $mrs["c_id"];
                     break;
                 case "name":
                     $val = getTextt($m3, $mrs["c_name"]);
                     break;
                 case "content":
                     $val = regReplace(getTextt($m3, $mrs["c_content"]), "\\[em:(\\d{1,})?\\]", "<img src=\"" . MAC_PATH . "images/face/\$1.gif\" border=0/>");
                     break;
                 case "ip":
                     $val = preg_replace($reg2, "\$1.\$2.*.*", long2ip($mrs["c_ip"]));
                     break;
                 case "time":
                     $val = getDatet($m3, $mrs["c_time"]);
                     break;
                 case "color":
                     $val = '#' . $bgcolorArr[rand(1, 9)];
                     break;
             }
             break;
         case "vod":
             $typearr = $GLOBALS['MAC_CACHE']['vodtype'][$mrs["d_type"]];
             if (!is_array($typearr)) {
                 return;
             }
             $tp = $GLOBALS['MAC_CACHE']['vodtype'][$typearr["t_pid"]];
             switch ($m2) {
                 case "num":
                     $val = $mnum;
                     break;
                 case "numfill":
                     $val = $numfill;
                     break;
                 case "numjoin":
                     $val = $this->L['start'] + $mnum;
                     if ($val < 10) {
                         $val = "0" . $val;
                     }
                     break;
                 case "id":
                     $val = $mrs["d_id"];
                     break;
                 case "name":
                     $val = getTextt($m3, $mrs["d_name"]);
                     break;
                 case "encodename":
                     $val = urlencode($mrs["d_name"]);
                     break;
                 case "colorname":
                     $val = getTextt($m3, $mrs["d_name"]);
                     if (!empty($mrs["d_color"])) {
                         $val = "<font color=" . $mrs["d_color"] . ">" . $val . "</font>";
                     }
                     break;
                 case "subname":
                     $val = getTextt($m3, $mrs["d_subname"]);
                     break;
                 case "enname":
                     $val = getTextt($m3, $mrs["d_enname"]);
                     break;
                 case "ennamelink":
                     $val = getKeysLink($mrs["d_enname"], "pinyin");
                     break;
                 case "state":
                     $val = $mrs["d_state"];
                     break;
                 case "color":
                     $val = $mrs["d_color"];
                     break;
                 case "pic":
                     $val = $mrs["d_pic"];
                     if (strpos("," . $val, "http://") <= 0) {
                         if ($GLOBALS['MAC']['upload']['remote'] == 1) {
                             $val = $GLOBALS['MAC']['upload']['remoteurl'] . $val;
                         } else {
                             $val = MAC_PATH . $val;
                         }
                     }
                     break;
                 case "picthumb":
                     $val = $mrs["d_picthumb"];
                     if (strpos("," . $val, "http://") <= 0) {
                         if ($GLOBALS['MAC']['upload']['remote'] == 1) {
                             $val = $GLOBALS['MAC']['upload']['remoteurl'] . $val;
                         } else {
                             $val = MAC_PATH . $val;
                         }
                     }
                     break;
                 case "picslide":
                     $val = $mrs["d_picslide"];
                     if (strpos("," . $val, "http://") <= 0) {
                         if ($GLOBALS['MAC']['upload']['remote'] == 1) {
                             $val = $GLOBALS['MAC']['upload']['remoteurl'] . $val;
                         } else {
                             $val = MAC_PATH . $val;
                         }
                     }
                     break;
                 case "letter":
                     $val = getTextt($m3, $mrs["d_letter"]);
                     break;
                 case "letterlink":
                     $val = getKeysLink($mrs["d_letter"], "letter");
                     break;
                 case "tag":
                     $val = getTextt($m3, $mrs["d_tag"]);
                     break;
                 case "taglink":
                     $val = getKeysLink($mrs["d_tag"], "tag");
                     break;
                 case "starring":
                     $val = getTextt($m3, $mrs["d_starring"]);
                     break;
                 case "starringlink":
                     $val = getKeysLink($mrs["d_starring"], "starring");
                     break;
                 case "directed":
                     $val = getTextt($m3, $mrs["d_directed"]);
                     break;
                 case "directedlink":
                     $val = getKeysLink($mrs["d_directed"], "directed");
                     break;
                 case "area":
                     $val = $mrs["d_area"];
                     break;
                 case "arealink":
                     $val = getKeysLink($mrs["d_area"], "area");
                     break;
                 case "year":
                     $val = $mrs["d_year"] == 0 ? '未知' : $mrs["d_year"];
                     break;
                 case "yearlink":
                     $val = getKeysLink($mrs["d_year"] == 0 ? '未知' : $mrs["d_year"], "year");
                     break;
                 case "lang":
                     $val = $mrs["d_lang"];
                     break;
                 case "langlink":
                     $val = getKeysLink($mrs["d_lang"], "lang");
                     break;
                 case "level":
                     $val = $mrs["d_level"];
                     break;
                 case "stint":
                     $val = $mrs["d_stint"];
                     break;
                 case "stintdown":
                     $val = $mrs["d_stintdown"];
                     break;
                 case "hits":
                     $val = $mrs["d_hits"];
                     break;
                 case "dayhits":
                     $val = $mrs["d_dayhits"];
                     break;
                 case "weekhits":
                     $val = $mrs["d_weekhits"];
                     break;
                 case "monthhits":
                     $val = $mrs["d_monthhits"];
                     break;
                 case "content":
                     $val = getTextt($m3, $mrs["d_content"]);
                     break;
                 case "contenttext":
                     $val = getTextt($m3, strip_tags($mrs["d_content"]));
                     break;
                 case "remarks":
                     $val = getTextt($m3, $mrs["d_remarks"]);
                     break;
                 case "up":
                     $val = $mrs["d_up"];
                     break;
                 case "down":
                     $val = $mrs["d_down"];
                     break;
                 case "score":
                     $val = $mrs["d_score"];
                     break;
                 case "scoreall":
                     $val = $mrs["d_scoreall"];
                     break;
                 case "scorenum":
                     $val = $mrs["d_scorenum"];
                     break;
                 case "duration":
                     $val = $mrs["d_duration"];
                     break;
                 case "addtime":
                     $val = getDatet($m3, $mrs["d_addtime"]);
                     break;
                 case "time":
                     $val = getDatet($m3, $mrs["d_time"]);
                     break;
                 case "from":
                     $val = getVodXmlText("vodplay", "play", $mrs["d_playfrom"]);
                     break;
                 case "fromdown":
                     $val = getVodXmlText("voddown", "down", $mrs["d_downfrom"]);
                     break;
                 case "link":
                     $val = $this->getLink('vod', 'detail', $typearr, $mrs);
                     break;
                 case "playlink":
                     $val = str_replace(array('{src}', '{num}'), array('1', '1'), $this->getLink('vod', 'play', $typearr, $mrs));
                     break;
                 case "playlinks":
                     $val = '';
                     $arr = explode('$$$', $mrs['d_playfrom']);
                     $cc = count($arr);
                     if (empty($mrs['d_playfrom']) || $cc == 0) {
                         break;
                     }
                     $xmlarr = $GLOBALS['MAC_CACHE']['vodplay'];
                     $url = $this->getLink('vod', 'play', $typearr, $mrs);
                     for ($i = 0; $i < $cc; $i++) {
                         $show = $xmlarr[$arr[$i]]['show'];
                         $lnk = str_replace(array('{src}', '{num}'), array($i + 1, '1'), $url);
                         $val .= '<a href="' . $lnk . '" target="_blank" class="playlink_' . $arr[$i] . '">' . $show . '</a> ';
                     }
                     unset($arr, $xmlarr);
                     break;
                 case "downlink":
                     $val = str_replace(array('{src}', '{num}'), array('1', '1'), $this->getLink('vod', 'down', $typearr, $mrs));
                     break;
                 case "downlinks":
                     $val = '';
                     $arr = explode('$$$', $mrs['d_downfrom']);
                     $cc = count($arr);
                     if (empty($mrs['d_downfrom']) || $cc == 0) {
                         break;
                     }
                     $xmlarr = $GLOBALS['MAC_CACHE']['voddown'];
                     $url = $this->getLink('vod', 'down', $typearr, $mrs);
                     for ($i = 0; $i < $cc; $i++) {
                         $show = $xmlarr[$arr[$i]]['show'];
                         $lnk = str_replace(array('{src}', '{num}'), array($i + 1, '1'), $url);
                         $val .= '<a href="' . $lnk . '" target="_blank" class="downlink_' . $arr[$i] . '">' . $show . '</a> ';
                     }
                     unset($arr, $xmlarr);
                     break;
                 case "type":
                     $val = $mrs["d_type"];
                     break;
                 case "typepid":
                     $val = $typearr["t_pid"];
                     break;
                 case "typeplink":
                     $val = $this->getLink('vod', 'type', $tp, $mrs);
                     break;
                 case "typepname":
                     $val = $tp["t_name"];
                     break;
                 case "typepenname":
                     $val = $tp["t_enname"];
                     break;
                 case "typepkey":
                     $val = $tp["t_key"];
                     break;
                 case "typepdes":
                     $val = $tp["t_des"];
                     break;
                 case "typelink":
                     $val = $this->getLink('vod', 'type', $typearr, $mrs);
                     break;
                 case "typename":
                     $val = $typearr["t_name"];
                     break;
                 case "typeenname":
                     $val = $typearr["t_enname"];
                     break;
                 case "typekey":
                     $val = $typearr["t_key"];
                     break;
                 case "typedes":
                     $val = $typearr["t_des"];
                     break;
                 case "typetitle":
                     $val = $typearr["t_title"];
                     break;
                 case "typeexpandlink":
                     $val = '';
                     break;
                 case "classname":
                     $val = '';
                     if (!empty($mrs['d_class'])) {
                         $rc = false;
                         $ids = explode(',', $mrs['d_class']);
                         foreach ($ids as $a) {
                             if (!empty($a)) {
                                 $arr = $GLOBALS['MAC_CACHE']['vodclass'][$a];
                                 if ($rc) {
                                     $val .= '&nbsp;';
                                 }
                                 $val .= $arr['c_name'];
                                 $rc = true;
                             }
                         }
                         unset($ids);
                     }
                     break;
                 case "classlink":
                     $val = '';
                     if (!empty($mrs['d_class'])) {
                         $rc = false;
                         $ids = explode(',', $mrs['d_class']);
                         foreach ($ids as $a) {
                             if (!empty($a)) {
                                 $arr = $GLOBALS['MAC_CACHE']['vodclass'][$a];
                                 $mrs['id'] = $typearr['t_id'];
                                 $mrs['class'] = $arr['c_id'];
                                 $lnk = $this->getLink('vod', 'list', $typearr, $mrs);
                                 if ($rc) {
                                     $val .= '&nbsp;';
                                 }
                                 $val .= "<a target='_blank' href='" . $lnk . "' />" . $arr['c_name'] . "</a>";
                                 $rc = true;
                             }
                         }
                         unset($ids);
                     }
                     break;
                 case "topiclink":
                     $val = '';
                     if (!empty($mrs['d_topic'])) {
                         $rc = false;
                         $ids = explode(',', $mrs['d_topic']);
                         foreach ($ids as $a) {
                             if (!empty($a)) {
                                 $arr = $GLOBALS['MAC_CACHE']['vodtopic'][$a];
                                 $lnk = $this->getLink('vod', 'topic', $arr, $mrs);
                                 if ($rc) {
                                     $val .= '&nbsp;';
                                 }
                                 $val .= "<a target='_blank' href='" . $lnk . "' />" . $arr['t_name'] . "</a>";
                                 $rc = true;
                             }
                         }
                         unset($ids);
                     }
                     break;
                 case "userfav":
                     $val = "<a href=\"javascript:void(0)\" onclick=\"MAC.UserFav('" . $mrs["d_id"] . "');return false;\"/>会员收藏</a>";
                     break;
                 default:
                     $val = $m1;
                     break;
             }
             break;
         case "art":
             $typearr = $GLOBALS['MAC_CACHE']['arttype'][$mrs["a_type"]];
             if (!is_array($typearr)) {
                 return;
             }
             $tp = $GLOBALS['MAC_CACHE']['arttype'][$typearr["t_pid"]];
             switch ($m2) {
                 case "num":
                     $val = $mnum;
                     break;
                 case "numfill":
                     $val = $numfill;
                     break;
                 case "numjoin":
                     $val = $this->P['start'] + $mnum;
                     break;
                 case "id":
                     $val = $mrs["a_id"];
                     break;
                 case "name":
                     $val = getTextt($m3, $mrs["a_name"]);
                     break;
                 case "encodename":
                     $val = urlencode($mrs["a_name"]);
                     break;
                 case "colorname":
                     $val = getTextt($m3, $mrs["a_name"]);
                     if (!empty($mrs["a_color"])) {
                         $val = "<font color=" . $mrs["a_color"] . ">" . $val . "</font>";
                     }
                     break;
                 case "letter":
                     $val = getTextt($m3, $mrs["a_letter"]);
                     break;
                 case "letterlink":
                     $val = getKeysLink($mrs["a_letter"], "letter", 'art');
                     break;
                 case "subname":
                     $val = getTextt($m3, $mrs["a_subname"]);
                     break;
                 case "enname":
                     $val = getTextt($m3, $mrs["a_enname"]);
                     break;
                 case "from":
                     $val = getTextt($m3, $mrs["a_from"]);
                     break;
                 case "remarks":
                     $val = getTextt($m3, $mrs["a_remarks"]);
                     break;
                 case "tag":
                     $val = getTextt($m3, $mrs["a_tag"], 'art');
                     break;
                 case "taglink":
                     $val = getKeysLink($mrs["a_tag"], "tag", 'art');
                     break;
                 case "content":
                     $val = $mrs["a_content"];
                     if ($this->P['pagetype'] == "detail") {
                         $val = $this->P['content'];
                     }
                     $val = getTextt($m3, $val);
                     break;
                 case "contenttext":
                     $val = $mrs["a_content"];
                     if ($this->P['pagetype'] == "detail") {
                         $val = $this->P['content'];
                     }
                     $val = strip_tags($val);
                     $val = getTextt($m3, strip_tags($val));
                     break;
                 case "author":
                     $val = getTextt($m3, $mrs["a_author"]);
                     break;
                 case "color":
                     $val = $mrs["a_color"];
                     break;
                 case "up":
                     $val = $mrs["a_up"];
                     break;
                 case "down":
                     $val = $mrs["a_down"];
                     break;
                 case "hits":
                     $val = $mrs["a_hits"];
                     break;
                 case "dayhits":
                     $val = $mrs["a_dayhits"];
                     break;
                 case "weekhits":
                     $val = $mrs["a_weekhits"];
                     break;
                 case "monthhits":
                     $val = $mrs["a_monthhits"];
                     break;
                 case "addtime":
                     $val = getDatet($m3, $mrs["a_addtime"]);
                     break;
                 case "time":
                     $val = getDatet($m3, $mrs["a_time"]);
                     break;
                 case "pic":
                     $val = $mrs["a_pic"];
                     if (strpos("," . $val, "http://") <= 0) {
                         if ($GLOBALS['MAC']['upload']['remote'] == 1) {
                             $val = $GLOBALS['MAC']['upload']['remoteurl'] . $val;
                         } else {
                             $val = MAC_PATH . $val;
                         }
                     }
                     break;
                 case "link":
                     $val = $this->getLink('art', 'detail', $typearr, $mrs);
                     break;
                 case "level":
                     $val = $mrs["a_level"];
                     break;
                 case "type":
                     $val = $mrs["a_type"];
                     break;
                 case "typepid":
                     $val = $typearr["t_pid"];
                     break;
                 case "typeplink":
                     $val = $this->getLink('art', 'type', $tp, $mrs);
                     break;
                 case "typepname":
                     $val = $tp["t_name"];
                     break;
                 case "typepenname":
                     $val = $tp["t_enname"];
                     break;
                 case "typepkey":
                     $val = $tp["t_key"];
                     break;
                 case "typepdes":
                     $val = $tp["t_des"];
                     break;
                 case "typeptitle":
                     $val = $tp["t_title"];
                     break;
                 case "typelink":
                     $val = $this->getLink('art', 'type', $typearr, $mrs);
                     break;
                 case "typename":
                     $val = $typearr["t_name"];
                     break;
                 case "typeenname":
                     $val = $typearr["t_enname"];
                     break;
                 case "typekey":
                     $val = $typearr["t_key"];
                     break;
                 case "typedes":
                     $val = $typearr["t_des"];
                     break;
                 case "typetitle":
                     $val = $typearr["t_title"];
                     break;
                 case "topiclink":
                     $val = '';
                     if (!empty($mrs['a_topic'])) {
                         $rc = false;
                         $ids = explode(',', $mrs['a_topic']);
                         foreach ($ids as $a) {
                             if (!empty($a)) {
                                 $arr = $GLOBALS['MAC_CACHE']['arttopic'][$a];
                                 $lnk = $this->getLink('art', 'topic', $arr, $mrs);
                                 if ($rc) {
                                     $val .= '&nbsp;';
                                 }
                                 $val .= "<a target='_blank' href='" . $lnk . "' />" . $arr['t_name'] . "</a>";
                                 $rc = true;
                             }
                         }
                         unset($ids);
                     }
                     break;
                 default:
                     $val = $m1;
                     break;
             }
             break;
         default:
             break;
     }
     unset($typearr, $tp);
     $markstr = str_replace($m1, $val, $mdes);
     return $markstr;
 }
function makeviewbyrs($rs, $typearr)
{
    global $flag, $db, $template, $mac, $stime;
    $tname = $typearr["t_name"];
    $tpath = $typearr["t_enname"];
    if ($flag == "vod") {
        $rcfrom = false;
        $mac["vodtypeid"] = $rs["d_type"];
        $viewId = $rs["d_id"];
        $strName = $rs["d_name"];
        if (app_playtype == 0) {
            $viewLink = $template->getVodLink($rs["d_id"], $rs["d_name"], $rs["d_enname"], $rs["d_type"], $tname, $tpath);
            if (app_installdir != "/") {
                $viewLink = replaceStr($viewLink, app_installdir, "../");
            } else {
                $viewLink = ".." . $viewLink;
            }
            if (substring($viewLink, 1, strlen($viewLink) - 1) == "/") {
                $viewLink = $viewLink . "index." . app_vodsuffix;
            }
            $template->loadvod($rs, $typearr, "view");
            $template->run("vod");
            $path = dirname($viewLink);
            mkdirs($path);
            fwrite(fopen($viewLink, "wb"), $template->html);
        }
        $template->html = "";
        if (app_vodplayviewtype == 3) {
            $template->loadvod($rs, $typearr, "play");
            $template->html = replaceStr($template->html, "[playinfo:num]", "");
            $template->html = replaceStr($template->html, "[playinfo:name]", "");
            $template->html = replaceStr($template->html, "[playinfo:urlpath]", "");
            $template->run("vod");
            $playLink = $template->getVodPlayUrl($rs["d_id"], $rs["d_name"], $rs["d_enname"], $rs["d_type"], $tname, $tpath, 1, 1);
            $playLink = substring($playLink, strpos($playLink, "?"));
            if (app_installdir != "/") {
                $playLink = replaceStr($playLink, app_installdir, "../");
            } else {
                $playLink = ".." . $playLink;
            }
            if (substring($playLink, 1, strlen($playLink) - 1) == "/") {
                $playLink = $playLink . "index." . app_vodsuffix;
            }
            $path = dirname($playLink);
            mkdirs($path);
            fwrite(fopen($playLink, "wb"), $template->html);
        } else {
            if (app_vodplayviewtype == 4) {
                $template->loadvod($rs, $typearr, "play");
                if (strpos($template->html, "from=current") > 0) {
                    $rcfrom = true;
                } else {
                    $template->playlist($rs["d_id"], $rs["d_name"], $rs["d_enname"], $rs["d_type"], $typearr["t_name"], $typearr["t_enname"], $rs["d_playfrom"], $rs["d_playserver"], $rs["d_playurl"]);
                }
                $tmpHtml = $template->html;
                $playarr1 = explode("\$\$\$", $rs["d_playurl"]);
                $playarr2 = explode("\$\$\$", $rs["d_playfrom"]);
                $playarr3 = explode("\$\$\$", $rs["d_playserver"]);
                for ($i = 0; $i < count($playarr2); $i++) {
                    $sserver = $playarr3[$i];
                    $from = $playarr2[$i];
                    $url = $playarr1[$i];
                    $urlfrom = $playarr2[$i];
                    $urlfromshow = getVodXmlText("vodplay.xml", "player", $playarr2[$i], 1);
                    $mac["vodsrc"] = $i + 1;
                    $urlarr = explode("#", $url);
                    if ($rcfrom) {
                        $template->html = $tmpHtml;
                        $template->playlist($rs["d_id"], $rs["d_name"], $rs["d_enname"], $rs["d_type"], $typearr["t_name"], $typearr["t_enname"], $rs["d_playfrom"], $rs["d_playserver"], $rs["d_playurl"]);
                        $tmpHtml1 = $template->html;
                    } else {
                        $tmpHtml1 = $tmpHtml;
                    }
                    for ($j = 0; $j < count($urlarr); $j++) {
                        if (!isN($urlarr[$j])) {
                            $template->html = $tmpHtml1;
                            $urlone = explode("\$", $urlarr[$j]);
                            $urlname = "";
                            $urlpath = "";
                            if (count($urlone) == 2) {
                                $urlname = $urlone[0];
                                $urlpath = $urlone[1];
                            } else {
                                $urlname = "第" . $j + 1 . "集";
                                $urlpath = $urlone[0];
                            }
                            $playLink = $template->getVodPlayUrl($rs["d_id"], $rs["d_name"], $rs["d_enname"], $rs["d_type"], $tname, $tpath, $i + 1, $j + 1);
                            if (app_playtype == 1 && $i == 0 && $j == 0) {
                                $viewLink = $playLink . "?" . $rs["d_id"] . ",1,0." . app_htmlSuffix;
                            }
                            if (app_installdir != "/") {
                                $playLink = replaceStr($playLink, app_installdir, "../");
                            } else {
                                $playLink = ".." . $playLink;
                            }
                            if (substring($playLink, 1, strlen($playLink) - 1) == "/") {
                                $playLink = $playLink . "index." . app_vodsuffix;
                            }
                            $template->html = replaceStr($template->html, "[playinfo:from]", $urlfrom);
                            $template->html = replaceStr($template->html, "[playinfo:fromshow]", $urlfromshow);
                            $template->html = replaceStr($template->html, "[playinfo:num]", $j + 1);
                            $template->html = replaceStr($template->html, "[playinfo:name]", $urlname);
                            $template->html = replaceStr($template->html, "[playinfo:urlpath]", $urlpath);
                            $template->run("vod");
                            $path = dirname($playLink);
                            mkdirs($path);
                            fwrite(fopen($playLink, "wb"), $template->html);
                        }
                    }
                }
            } else {
                if (app_vodplayviewtype == 5) {
                    $template->loadvod($rs, $typearr, "play");
                    $template->html = replaceStr($template->html, "[playinfo:num]", "");
                    $template->html = replaceStr($template->html, "[playinfo:name]", "");
                    $template->html = replaceStr($template->html, "[playinfo:urlpath]", "");
                    if (strpos($template->html, "from=current") > 0) {
                        $rcfrom = true;
                    } else {
                        $template->playlist($rs["d_id"], $rs["d_name"], $rs["d_enname"], $rs["d_type"], $typearr["t_name"], $typearr["t_enname"], $rs["d_playfrom"], $rs["d_playserver"], $rs["d_playurl"]);
                    }
                    $tmpHtml = $template->html;
                    $playarr2 = explode("\$\$\$", $rs["d_playfrom"]);
                    for ($i = 0; $i < count($playarr2); $i++) {
                        $mac["vodsrc"] = $i + 1;
                        $urlfrom = $playarr2[$i];
                        $urlfromshow = getVodXmlText("vodplay.xml", "player", $playarr2[$i], 1);
                        $template->html = $tmpHtml;
                        if ($rcfrom) {
                            $template->playlist($rs["d_id"], $rs["d_name"], $rs["d_enname"], $rs["d_type"], $typearr["t_name"], $typearr["t_enname"], $rs["d_playfrom"], $rs["d_playserver"], $rs["d_playurl"]);
                        }
                        $template->html = replaceStr($template->html, "[playinfo:from]", $urlfrom);
                        $template->html = replaceStr($template->html, "[playinfo:fromshow]", $urlfromshow);
                        $playLink = $template->getVodPlayUrl($rs["d_id"], $rs["d_name"], $rs["d_enname"], $rs["d_type"], $tname, $tpath, $i + 1, 1);
                        $playLink = substring($playLink, strpos($playLink, "?"));
                        if (app_installdir != "/") {
                            $playLink = replaceStr($playLink, app_installdir, "../");
                        } else {
                            $playLink = ".." . $playLink;
                        }
                        if (substring($playLink, 1, strlen($playLink) - 1) == "/") {
                            $playLink = $playLink . "index." . app_vodsuffix;
                        }
                        $template->run("vod");
                        $path = dirname($playLink);
                        mkdirs($path);
                        fwrite(fopen($playLink, "wb"), $template->html);
                    }
                } else {
                    if (app_vodplayviewtype == 6) {
                        $template->loadvod($rs, $typearr, "play");
                    }
                }
            }
        }
        unset($urlarr);
        unset($urlone);
        unset($playarr1);
        unset($playarr2);
        unset($playarr3);
    } else {
        $mac["arttypeid"] = $rs["a_type"];
        $viewId = $rs["a_id"];
        $strName = $rs["a_title"];
        $urlarr = explode("[artinfo:page]", $rs["a_content"]);
        $urlarrlen = count($urlarr);
        for ($i = 1; $i <= $urlarrlen; $i++) {
            $mac["page"] = $i;
            $template->page_type = "art";
            $template->page_typearr = $typearr;
            $template->page_id = $rs["a_id"];
            $template->page_name = $rs["a_title"];
            $template->page_enname = $rs["a_entitle"];
            $playLink = $template->getPageLink($i);
            if (app_installdir != "/") {
                $playLink = replaceStr($playLink, app_installdir, "../");
            } else {
                $playLink = ".." . $playLink;
            }
            if (substring($playLink, 1, strlen($playLink) - 1) == "/") {
                $playLink = $playLink . "index." . app_artsuffix;
            }
            if ($i == 1) {
                $viewLink = $playLink;
            }
            $template->loadart($rs, $typearr);
            $template->run("art");
            $path = dirname($playLink);
            mkdirs($path);
            fwrite(fopen($playLink, "wb"), $template->html);
        }
        unset($urlarr);
    }
    echo $strName . " <a target='_blank' href='" . $viewLink . "'>&nbsp;&nbsp;<font color=red>浏览</font></a><br>";
}