Example #1
0
 /**
  * Get the available widgets list
  *
  * @return array
  */
 public static function get_available_list($mods = null)
 {
     $db = XoopsDatabaseFactory::getDatabaseConnection();
     if ($mods == null || empty($mods)) {
         $mods = RMModules::get_modules_list();
     }
     $list = array();
     // Block list to return
     foreach ($mods as $mod) {
         if (!file_exists(XOOPS_ROOT_PATH . '/modules/' . $mod['dirname'] . '/xoops_version.php')) {
             continue;
         }
         load_mod_locale($mod['dirname']);
         $module = new XoopsModule();
         $module->loadInfoAsVar($mod['dirname']);
         $list[$mod['dirname']] = array('name' => $mod['name'], 'blocks' => $module->getInfo('blocks'));
     }
     // Event generated to modify the available widgets list
     $list = RMEvents::get()->run_event('rmcommon.available.widgets', $list);
     return $list;
 }
Example #2
0
function show_rm_blocks()
{
    global $xoopsModule, $xoopsConfig, $wid_globals, $xoopsSecurity, $rmc_config, $rmTpl;
    define('RMCSUBLOCATION', 'blocks');
    $db = XoopsDatabaseFactory::getDatabaseConnection();
    $modules = RMModules::get_modules_list('active');
    $from = rmc_server_var($_GET, 'from', '');
    // ** API Event **
    // Allows other methods to add o modify the list of available widgets
    $modules = RMEvents::get()->run_event('rmcommon.blocks.modules', $modules);
    // Cargamos los grupos
    $sql = "SELECT groupid, name FROM " . $db->prefix("groups") . " ORDER BY name";
    $result = $db->query($sql);
    $groups = array();
    while ($row = $db->fetchArray($result)) {
        $groups[] = array('id' => $row['groupid'], 'name' => $row['name']);
    }
    // Cargamos las posiciones de bloques
    $bpos = RMBlocksFunctions::block_positions();
    $sql = createSQL();
    $result = $db->query($sql);
    $blocks = array();
    $used_blocks = array();
    while ($row = $db->fetchArray($result)) {
        $mod = RMModules::load_module($row['element']);
        if (!$mod) {
            continue;
        }
        $used_blocks[$row['canvas']][] = array('id' => $row['bid'], 'title' => $row['name'], 'module' => array('id' => $mod->mid(), 'dir' => $mod->dirname(), 'name' => $mod->name(), 'icon' => RMModules::icon($mod->dirname(), 16)), 'canvas' => isset($bpos[$row['canvas']]) ? $bpos[$row['canvas']] : array(), 'weight' => $row['weight'], 'visible' => $row['visible'], 'active' => $row['isactive'], 'type' => $row['type'], 'options' => $row['edit_func'] != '' ? 1 : 0, 'description' => $row['description']);
    }
    // ** API **
    // Event for manege the used widgets list
    $used_blocks = RMEvents::get()->run_event('rmcommon.used.blocks.list', $used_blocks);
    $positions = array();
    foreach ($bpos as $row) {
        $positions[] = array('id' => $row['id_position'], 'name' => $row['name'], 'tag' => $row['tag'], 'active' => $row['active']);
    }
    $positions = RMEvents::get()->run_event('rmcommon.block.positions.list', $positions);
    RMTemplate::get()->add_script('jquery.nestable.js', 'rmcommon', array('directory' => 'include'));
    RMBreadCrumb::get()->add_crumb(__('Blocks Management', 'rmcommon'));
    $rmTpl->assign('xoops_pagetitle', __('Blocks Management', 'rmcommon'));
    RMTemplate::get()->add_style('blocks.css', 'rmcommon');
    RMTemplate::get()->add_script('blocks.js', 'rmcommon');
    RMTemplate::get()->add_script('jkmenu.js', 'rmcommon');
    RMTemplate::get()->add_style('forms.css', 'rmcommon');
    RMTemplate::get()->add_script('jquery-ui.min.js', 'rmcommon', array('directory' => 'include'));
    if (!$rmc_config['blocks_enable']) {
        showMessage(__('Internal blocks manager is currenlty disabled!', 'rmcommon'), RMMSG_WARN);
    }
    RMTemplate::get()->add_script('jquery.checkboxes.js', 'rmcommon');
    //include RMCPATH . '/js/cu-js-language.php';
    xoops_cp_header();
    // Available Widgets
    $blocks = RMBlocksFunctions::get_available_list($modules);
    foreach ($blocks as $id => $block) {
        if (empty($block['blocks'])) {
            continue;
        }
        foreach ($block['blocks'] as $bid => $val) {
            $str = isset($val['show_func']) ? $val['show_func'] : '';
            $str .= isset($val['edit_func']) ? $val['edit_func'] : '';
            $str .= isset($val['dir']) ? $val['dir'] : $id;
            $val['id'] = md5($str);
            $blocks[$id]['blocks'][$bid] = $val;
        }
    }
    // Position
    $the_position = isset($_GET['pos']) ? intval($_GET['pos']) : '';
    // Parameters
    $mid = rmc_server_var($_GET, 'mid', 0);
    $subpage = isset($_GET['subpage']) ? $_GET['subpage'] : '';
    $group = isset($_GET['group']) ? intval($_GET['group']) : 0;
    $visible = rmc_server_var($_GET, 'visible', -1);
    $pid = rmc_server_var($_GET, 'pos', 0);
    include RMTemplate::get()->get_template("rmc-blocks.php", 'module', 'rmcommon');
    xoops_cp_footer();
}
Example #3
0
 /**
  * See RMModules::get_modules_list
  * @deprecated
  */
 public function get_modules_list($active = -1)
 {
     trigger_error(sprintf(__('Method %s is deprecated. Use %s::%s instead.', 'rmcommon'), __METHOD__, 'RMModules', 'get_modules_list'));
     $status = 'all';
     if ($active == 0) {
         $status = 'inactive';
     } elseif ($active == 1) {
         $status = 'active';
     }
     return RMModules::get_modules_list($status);
 }