Example #1
0
 function getAllByGroupModule($groupid, $app_id = 0, $toponlyblock = false, $visible = null, $orderby = 'b.weight,b.bid', $isactive = 1, $subpage = '')
 {
     $orderby = $orderby == '' ? 'b.weight,b.bid' : $orderby;
     $db =& EXMDatabase::get();
     $ret = array();
     $sql = "SELECT DISTINCT gperm_itemid FROM " . $db->prefix('group_permission') . " WHERE (gperm_name = 'block_read' OR gperm_name='block_admin') AND gperm_modid = 1";
     if (is_array($groupid)) {
         $sql .= ' AND gperm_groupid IN (' . implode(',', $groupid) . ',0)';
     } else {
         if (intval($groupid) > 0) {
             $sql .= ' AND gperm_groupid IN (0,' . $groupid . ')';
         }
     }
     $result = $db->query($sql);
     $blockids = array();
     while ($myrow = $db->fetchArray($result)) {
         $blockids[] = $myrow['gperm_itemid'];
     }
     if (!empty($blockids)) {
         $sql = 'SELECT b.* FROM ' . $db->prefix('rmc_blocks') . ' b, ' . $db->prefix('rmc_bkmod') . ' m WHERE m.bid=b.bid';
         $sql .= ' AND b.isactive=' . $isactive;
         if (isset($visible)) {
             $sql .= ' AND b.visible=' . intval($visible);
         }
         $app_id = intval($app_id);
         if (!empty($app_id)) {
             $sql .= ' AND m.app_id IN (0,' . $app_id;
             if ($toponlyblock) {
                 $sql .= ',1';
             }
             $sql .= ')';
         } else {
             /*   if ($toponlyblock) {*/
             $sql .= ' AND m.app_id IN (0,1)';
             /*} else {
                   $sql .= ' AND m.app_id=0';
               }*/
         }
         $sql .= $subpage != '' ? " AND (m.subpage='{$subpage}' OR m.subpage='--')" : '';
         $sql .= ' AND b.bid IN (' . implode(',', $blockids) . ')';
         $sql .= ' ORDER BY ' . $orderby;
         $result = $db->query($sql);
         //echo $sql; die();
         while ($myrow = $db->fetchArray($result)) {
             $block = new RMBlock();
             $block->assignVars($myrow);
             $ret[$myrow['bid']] =& $block;
             unset($block);
         }
     }
     return $ret;
 }
Example #2
0
function save_block_config()
{
    global $xoopsSecurity;
    foreach ($_POST as $k => $v) {
        ${$k} = $v;
    }
    if (!$xoopsSecurity->check($XOOPS_TOKEN_REQUEST)) {
        response(array('message' => __('Session token expired. Please try again.', 'rmcommon')), 1, 0);
        die;
    }
    if ($bid <= 0) {
        response(array('message' => __('You must provide a block ID!', 'rmcommon')), 1, 1);
        die;
    }
    $block = new RMBlock($bid);
    if ($block->isNew()) {
        response(array('message' => __('Specified block does not exists!', 'rmcommon')), 1, 1);
        die;
    }
    if (isset($options)) {
        $block->setVar('options', serialize($options));
    }
    $block->setVar('name', $bk_name);
    $block->setVar('canvas', $bk_pos);
    $block->setVar('weight', $bk_weight);
    $block->setVar('visible', $bk_visible);
    $block->setVar('bcachetime', $bk_cache);
    // Set modules
    $block->sections($bk_mod);
    // Set Groups
    $block->setReadGroups($bk_groups);
    if ($block->save()) {
        response(array('message' => __('Block updated successfully!', 'rmcommon')), 0, 1);
    }
    die;
}