Пример #1
0
/**
 *  远程打开URL
 *  @param string $url		打开的url, 如 http://www.baidu.com/123.htm
 *  @param int $limit		取返回的数据的长度
 *  @param string $post		要发送的 POST 数据,如uid=1&password=1234
 *  @param string $cookie	要模拟的 COOKIE 数据,如uid=123&auth=a2323sd2323
 *  @param bool $bysocket	TRUE/FALSE 是否通过SOCKET打开
 *  @param string $ip		IP地址
 *  @param int $timeout		连接超时时间
 *  @param bool $block		是否为阻塞模式
 *  @return			取到的字符串
 */
function uc_fopen2($url, $limit = 0, $post = '', $cookie = '', $bysocket = FALSE, $ip = '', $timeout = 15, $block = TRUE)
{
    $__times__ = isset($_GET['__times__']) ? intval($_GET['__times__']) + 1 : 1;
    if ($__times__ > 2) {
        return '';
    }
    $url .= (strpos($url, '?') === FALSE ? '?' : '&') . "__times__={$__times__}";
    $postnew = array();
    $postarr = explode('&', $post);
    foreach ($postarr as $value) {
        $var = explode('=', $value);
        $postnew[$var[0]] = urldecode($var[1]);
    }
    return curl_fopen($url, $limit, $postnew, $cookie, $bysocket, $ip, $timeout, $block);
}
Пример #2
0
\t\t</table>
\t\t<input type="hidden" name="formhash" value="{$formhash}">
\t\t</form>
END;
        show_footer();
        exit;
    } elseif ($dbcharset && $ucdbcharset && $ucdbcharset != $dbcharset) {
        show_msg('UCenter 服务端字符集与当前应用的字符集不同,请下载 ' . $ucdbcharset . ' 编码的 UCenter Home 进行安装,下载地址:http://download.comsenz.com/');
    } elseif (strexists($apptypes, 'uchome')) {
        show_msg('已经安装过一个UCenter Home产品,如果想继续安装,请先到 UCenter 应用管理中删除已有的UCenter Home!');
    }
    $tagtemplates = array('apptagtemplates[template]' => '<a href="{url}" target="_blank">{subject}</a>', 'apptagtemplates[fields][subject]' => '日志标题', 'apptagtemplates[fields][uid]' => '用户 ID', 'apptagtemplates[fields][username]' => '用户名', 'apptagtemplates[fields][dateline]' => '日期', 'apptagtemplates[fields][spaceurl]' => '空间地址', 'apptagtemplates[fields][url]' => '日志地址');
    $uri = $_SERVER['REQUEST_URI'] ? $_SERVER['REQUEST_URI'] : ($_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME']);
    $app_url = strtolower(substr($_SERVER['SERVER_PROTOCOL'], 0, strpos($_SERVER['SERVER_PROTOCOL'], '/'))) . '://' . $_SERVER['HTTP_HOST'] . preg_replace("/\\/*install\$/i", '', substr($uri, 0, strrpos($uri, '/install')));
    $postdata = array_merge(array('m' => 'app', 'a' => 'add', 'ucfounder' => '', 'ucfounderpw' => $_POST['ucfounderpw'], 'apptype' => 'UCHOME', 'appname' => '个人家园', 'appurl' => $app_url, 'appip' => '', 'appcharset' => $_SC['charset'], 'appdbcharset' => $_SC['dbcharset'], 'release' => UC_CLIENT_RELEASE), $tagtemplates);
    $s = curl_fopen($ucapi . '/index.php', 500, $postdata, '', 1, $ucip);
    if (empty($s)) {
        show_msg('UCenter用户中心无法连接');
    } elseif ($s == '-1') {
        show_msg('UCenter管理员帐号密码不正确');
    } else {
        $ucs = explode('|', $s);
        if (empty($ucs[0]) || empty($ucs[1])) {
            show_msg('UCenter返回的数据出现问题,请参考:<br />' . shtmlspecialchars($s));
        } else {
            //处理成功
            $apphidden = '';
            //验证是否可以直接联接MySQL
            $link = mysql_connect($ucs[2], $ucs[4], $ucs[5], 1);
            $connect = $link && mysql_select_db($ucs[3], $link) ? 'mysql' : '';
            //返回