Example #1
0
 if ($frame) {
     $area = '';
     $filename = $frame;
     $framedata = array();
     foreach ($diycontent['layoutdata'] as $key => $value) {
         $framedata = getobjbyname($frame, $value);
         if ($framedata) {
             $area = $key;
             getframeblock(array($framedata['type'] . '`' . $frame => $framedata['content']));
             break;
         }
     }
 } else {
     foreach ($diycontent['layoutdata'] as $key => $value) {
         if (!empty($value)) {
             getframeblock($value);
         }
     }
 }
 $diycontent['blockdata'] = block_export($_G['curtplbid']);
 if ($frame) {
     $diycontent['spacecss'] = getcssdata($diycontent['spacecss']);
     $diycontent['layoutdata'] = array();
     $area = empty($area) ? 'diy1' : $area;
     $diycontent['layoutdata'][$area][$framedata['type'] . '`' . $frame] = $framedata['content'] ? $framedata['content'] : array();
 }
 dheader('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
 dheader('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
 dheader('Cache-Control: no-cache, must-revalidate');
 dheader('Pragma: no-cache');
 dheader('Content-Encoding: none');
Example #2
0
function import_diy($importfile, $primaltplname, $targettplname)
{
    global $_G;
    $css = $html = '';
    $arr = array();
    $content = file_get_contents(realpath($importfile));
    if (empty($content)) {
        return $arr;
    }
    require_once DISCUZ_ROOT . './source/class/class_xml.php';
    $diycontent = xml2array($content);
    if ($diycontent) {
        foreach ($diycontent['layoutdata'] as $key => $value) {
            if (!empty($value)) {
                getframeblock($value);
            }
        }
        $newframe = array();
        foreach ($_G['curtplframe'] as $value) {
            $newframe[] = $value['type'] . random(6);
        }
        $mapping = array();
        if (!empty($diycontent['blockdata'])) {
            $mapping = block_import($diycontent['blockdata']);
            unset($diycontent['bockdata']);
        }
        $oldbids = $newbids = array();
        if (!empty($mapping)) {
            foreach ($mapping as $obid => $nbid) {
                $oldbids[] = 'portal_block_' . $obid;
                $newbids[] = 'portal_block_' . $nbid;
            }
        }
        require_once DISCUZ_ROOT . './source/class/class_xml.php';
        $xml = array2xml($diycontent['layoutdata'], true);
        $xml = str_replace($oldbids, $newbids, $xml);
        $xml = str_replace((array) array_keys($_G['curtplframe']), $newframe, $xml);
        $diycontent['layoutdata'] = xml2array($xml);
        $css = str_replace($oldbids, $newbids, $diycontent['spacecss']);
        $css = str_replace((array) array_keys($_G['curtplframe']), $newframe, $css);
        $arr['spacecss'] = $css;
        $arr['layoutdata'] = $diycontent['layoutdata'];
        $arr['style'] = $diycontent['style'];
        save_diy_data($primaltplname, $targettplname, $arr, true);
    }
    return $arr;
}
Example #3
0
function import_diy($file)
{
    global $_G;
    $css = '';
    $html = array();
    $arr = array();
    $content = file_get_contents($file);
    require_once libfile('class/xml');
    if (empty($content)) {
        return $arr;
    }
    $content = preg_replace("/\\<\\!\\-\\-\\[name\\](.+?)\\[\\/name\\]\\-\\-\\>\\s+/i", '', $content);
    $diycontent = xml2array($content);
    if ($diycontent) {
        foreach ($diycontent['layoutdata'] as $key => $value) {
            if (!empty($value)) {
                getframeblock($value);
            }
        }
        $newframe = array();
        foreach ($_G['curtplframe'] as $value) {
            $newframe[] = $value['type'] . random(6);
        }
        $mapping = array();
        if (!empty($diycontent['blockdata'])) {
            $mapping = block_import($diycontent['blockdata']);
            unset($diycontent['blockdata']);
        }
        $oldbids = $newbids = array();
        if (!empty($mapping)) {
            foreach ($mapping as $obid => $nbid) {
                $oldbids[] = '#portal_block_' . $obid . ' ';
                $newbids[] = '#portal_block_' . $nbid . ' ';
                $oldbids[] = '[portal_block_' . $obid . ']';
                $newbids[] = '[portal_block_' . $nbid . ']';
                $oldbids[] = '~portal_block_' . $obid . '"';
                $newbids[] = '~portal_block_' . $nbid . '"';
            }
        }
        require_once libfile('class/xml');
        $xml = array2xml($diycontent['layoutdata'], true);
        $xml = str_replace($oldbids, $newbids, $xml);
        $xml = str_replace((array) array_keys($_G['curtplframe']), $newframe, $xml);
        $diycontent['layoutdata'] = xml2array($xml);
        $css = str_replace($oldbids, $newbids, $diycontent['spacecss']);
        $css = str_replace((array) array_keys($_G['curtplframe']), $newframe, $css);
        foreach ($diycontent['layoutdata'] as $key => $value) {
            $html[$key] = getframehtml($value);
        }
    }
    if (!empty($html)) {
        $xml = array2xml($html, true);
        require_once libfile('function/block');
        block_get_batch(implode(',', $mapping));
        foreach ($mapping as $bid) {
            $blocktag[] = '<!--{block/' . $bid . '}-->';
            $blockcontent[] = block_fetch_content($bid);
        }
        $xml = str_replace($blocktag, $blockcontent, $xml);
        $html = xml2array($xml);
        $arr = array('html' => $html, 'css' => $css, 'mapping' => $mapping);
    }
    return $arr;
}