コード例 #1
0
/** 
 * change the function name so themes remain compatable 
 */
function blocks($side)
{
    global $blocks_modules, $blocks_side;
    list($dbconn) = pnDBGetConn();
    $pntable = pnDBGetTables();
    $currentlang = pnUserGetLang();
    if (pnConfigGetVar('multilingual') == 1) {
        $column =& $pntable['blocks_column'];
        $querylang = "AND ({$column['blanguage']}='{$currentlang}' OR {$column['blanguage']}='')";
    } else {
        $querylang = '';
    }
    $side = strtolower($side[0]);
    $blocks_side = $side;
    $column =& $pntable['blocks_column'];
    $result = $dbconn->Execute("SELECT {$column['bid']} as bid, {$column['bkey']} as bkey, {$column['mid']} as mid, {$column['title']} as title, {$column['content']} as content, {$column['url']} as url, {$column['position']} as position, {$column['weight']} as weight, {$column['active']} as active, {$column['refresh']} as refresh, {$column['last_update']} AS unix_update, {$column['blanguage']} as blanguage FROM {$pntable['blocks']} WHERE {$column['position']}='" . pnVarPrepForStore($side) . "' AND {$column['active']}=1 {$querylang} ORDER BY {$column['weight']}");
    while (!$result->EOF) {
        $row = $result->GetRowAssoc(false);
        $row['unix_update'] = $result->UnixTimeStamp($row['unix_update']);
        $modinfo = pnModGetInfo($row['mid']);
        if (!$modinfo) {
            // Assume core
            $modinfo['name'] = 'Core';
        }
        echo pnBlockShow($modinfo['name'], $row['bkey'], $row);
        $result->MoveNext();
    }
}
コード例 #2
0
/**
 * change the function name so themes remain compatable
 * @param $side block position to render
 */
function blocks($side = null)
{
    if (empty($side)) {
        return null;
    }
    static $blocks = array();
    if (empty($blocks)) {
        pnModDBInfoLoad('Blocks');
        $dbconn =& pnDBGetConn(true);
        $pntable =& pnDBGetTables();
        $currentlang = pnUserGetLang();
        $column =& $pntable['blocks_column'];
        if (pnConfigGetVar('multilingual') == 1) {
            $querylang = "AND ({$column['blanguage']}='{$currentlang}' OR {$column['blanguage']}='')";
        } else {
            $querylang = '';
        }
        $side = strtolower($side[0]);
        $sql = "SELECT {$column['bid']} as bid,\n\t\t\t\t\t   {$column['bkey']} as bkey,\n\t\t\t\t\t   {$column['mid']} as mid,\n\t\t\t\t\t   {$column['title']} as title,\n\t\t\t\t\t   {$column['content']} as content,\n\t\t\t\t\t   {$column['url']} as url,\n\t\t\t\t\t   {$column['position']} as position,\n\t\t\t\t\t   {$column['weight']} as weight,\n\t\t\t\t\t   {$column['active']} as active,\n\t\t\t\t\t   {$column['collapsable']} as collapsable,\n\t\t\t\t\t   {$column['defaultstate']} as defaultstate,\n\t\t\t\t\t   {$column['refresh']} as refresh,\n\t\t\t\t\t   {$column['last_update']} AS unix_update,\n\t\t\t\t\t   {$column['blanguage']} as blanguage,\n\t\t\t\t\t   {$column['position']} as postion\n\t\t\t\tFROM {$pntable['blocks']}\n\t\t\t\tWHERE {$column['active']} = 1\n\t\t\t\t{$querylang}\n\t\t\t\tORDER BY {$column['weight']}";
        $dbconn->SetFetchMode(ADODB_FETCH_NUM);
        $result =& $dbconn->Execute($sql);
        if ($dbconn->ErrorNo() != 0) {
            return;
        }
        while (!$result->EOF) {
            $row = $result->GetRowAssoc(false);
            $row['unix_update'] = $result->UnixTimeStamp($row['unix_update']);
            $blocks[] = $row;
            $result->MoveNext();
        }
    }
    foreach ($blocks as $block) {
        if ($block['postion'] == $side[0]) {
            $modinfo = pnModGetInfo($block['mid']);
            if (!$modinfo) {
                // Assume core
                $modinfo['name'] = 'Core';
            }
            echo pnBlockShow($modinfo['name'], $block['bkey'], $block);
        }
    }
}