function b_update_notice($options) { global $xoopsDB, $xoopsUser; $pkg = $xoopsDB->prefix('update_package'); $res = $xoopsDB->query("SELECT a.pname, b.name, b.pversion\nFROM {$pkg} a, {$pkg} b WHERE a.pversion='HEAD' AND a.parent=b.pkgid"); $pkgs = array(); while ($data = $xoopsDB->fetchArray($res)) { $pkgs[$data['pname']] = array('name' => $data['name'], 'pversion' => $data['pversion']); } $modpath = dirname(dirname(__FILE__)); $dirname = basename($modpath); include_once $modpath . '/functions.php'; $module_handler =& xoops_gethandler('module'); $module =& $module_handler->getByDirname($dirname); // only for admin this module if (!is_object($xoopsUser) || !$xoopsUser->isAdmin($module->getVar('mid'))) { return array('admin' => false); } $config_handler =& xoops_gethandler('config'); $config =& $config_handler->getConfigsByCat(0, $module->getVar('mid')); $svr = $config['update_server']; if (!preg_match('/^\\w+:/', $svr)) { return null; } $url = $svr . "/modules/server/list.php?pkg=all&ext=1"; $block = array('admin' => true, 'dirname' => $dirname); $updates = array(); if (empty($pkgs)) { $msg = _BL_UPDATE_NOPKGS; } else { $list = file_get_url($url, 'list'); if (empty($list)) { return null; } foreach (split("\n", $list) as $ln) { if (empty($ln)) { continue; } list($pname, $ver, $date, $vcheck, $name) = split_csv($ln); if (isset($pkgs[$pname])) { if ($ver != $pkgs[$pname]['pversion']) { $time = strtotime_tz($date); $date = formatTimestamp($time, 'm/d h:i'); $updates[] = array('pname' => $pname, 'pversion' => $ver, 'time' => $time, 'date' => $date, 'vcheck' => $vcheck, 'name' => $name); } } } $msg = empty($updates) ? "" : _BL_UPDATE_EXIST; } $block['message'] = $msg; $block['updates'] = $updates; return $block; }
function fetch_vedio_url($url) { $files = file_get_url($url); $source_url = ""; if (strpos($url, 'www.tudou.com') !== false) { if (strpos($url, '.html')) { preg_match("/,iid: (\\w+)/i", $files, $items); $iid = $items[1]; if (!empty($iid)) { $source_url = "http://www.tudou.com/v/" . $iid . "/v.swf"; } } else { preg_match("/,iid: (\\w+)/i", $files, $items); $iid = $items[1]; if (!empty($iid)) { //$source_url=tudou_get($url); $source_url = "http://www.tudou.com/v/" . $iid . "/v.swf"; } else { $source_url = tudou_get($url); } } } elseif (strpos($url, 'v.ku6.com') !== false) { preg_match("/A.VideoInfo(.*)/i", $files, $context); $context = $context[1]; //匹配网页中的内容\"bigpicpath\" 获取图片 //id:\s*\"([^,]+) 获取 视频ID ,"http://player.ku6.com/refer/$id/v.swf" preg_match("/\"bigpicpath\":\"([^,]+)\"/i", $context, $items); //json的UTF8 js编码 $pattner = array('\\u003a' => ':', '\\u002e' => '.'); $pic = $items[1]; if (!empty($pic)) { preg_match("/id:\\s*\"([^,]+)\"/i", $context, $items); $id = $items[1]; $source_url = "http://player.ku6.com/refer/{$id}/v.swf"; } } elseif (strpos($url, 'v.youku.com') !== false) { // preg_match("/videoId2=(.*)';/i",$files,$items); // $videoId2=trim(str_replace('\'','',$items[1])); // if(!empty($videoId2)) // $source_url="http://player.youku.com/player.php/sid/$videoId2/v.swf"; $source_url = preg_replace("/id_(.*)\\.html(.*)/i", "http://player.youku.com/embed/\${1}", baseName($url)); } return $source_url; }
function addServerList($pname = 'all') { $server = get_update_server(); if (empty($server)) { return; } $url = $server . "list.php?pkg=" . urlencode($pname) . "&ext=1"; $list = file_get_url($url, 'list'); $pkgs =& $this->pkgs; foreach (preg_split('/\\n/', $list) as $ln) { $pkg = pkg_info_csv($ln); if ($pkg) { $dirname = $pkg['vcheck']; if (isset($pkgs[$dirname])) { $pkgs[$dirname][] = $pkg; } else { $pkgs[$dirname] = array($pkg); } } } }