Exemple #1
0
function get_modules_ajax()
{
    XoopsLogger::getInstance()->activated = false;
    XoopsLogger::getInstance()->renderingEnabled = false;
    $db = Database::getInstance();
    $sql = "SELECT COUNT(*) FROM " . $db->prefix("modules");
    $page = rmc_server_var($_POST, 'page', 1);
    $limit = RMFunctions::configs('mods_number');
    list($num) = $db->fetchRow($db->query($sql));
    $tpages = ceil($num / $limit);
    $page = $page > $tpages ? $tpages : $page;
    $start = $num <= 0 ? 0 : ($page - 1) * $limit;
    $nav = new RMPageNav($num, $limit, $page, 5);
    $nav->target_url('javascript:;" onclick="get_mods_page({PAGE_NUM})');
    $sql = 'SELECT * FROM ' . $db->prefix('modules') . " ORDER BY mid, weight LIMIT {$start},{$limit}";
    $result = $db->query($sql);
    $installed_mods = array();
    while ($row = $db->fetchArray($result)) {
        $mod = new XoopsModule();
        $mod->assignVars($row);
        $installed_mods[] = $mod;
    }
    include RMTemplate::get()->get_template('rmc_mods_installed.php', 'module', 'rmcommon');
    die;
}
Exemple #2
0
function get_modules_list()
{
    $db = XoopsDatabaseFactory::getDatabaseConnection();
    $sql = 'SELECT * FROM ' . $db->prefix('modules') . " ORDER BY mid, weight";
    $result = $db->query($sql);
    $installed_mods = array();
    while ($row = $db->fetchArray($result)) {
        $mod = new XoopsModule();
        $mod->assignVars($row);
        $module_icon = $mod->getInfo('icon48') != '' ? XOOPS_URL . '/modules/' . $mod->getVar('dirname') . '/' . $mod->getInfo('icon48') : '';
        $module_logo = XOOPS_URL . '/modules/' . $mod->getVar('dirname') . '/' . $mod->getInfo('image');
        if ($mod->hasconfig()) {
            $config_link = $mod->getInfo('rmnative') ? XOOPS_URL . '/modules/rmcommon/settings.php?action=configure&amp;mod=' . $mod->mid() : XOOPS_URL . '/modules/system/admin.php?fct=preferences&amp;op=showmod&amp;mod=' . $mod->mid();
        }
        $this_module = array('name' => $mod->getVar('name'), 'dirname' => $mod->getVar('dirname'), 'real_name' => $mod->getInfo('name'), 'version' => is_array($mod->getInfo('rmversion')) ? RMModules::format_module_version($mod->getInfo('rmversion')) : $mod->getVar('version') / 100, 'icon' => $module_icon, 'logo' => $module_logo, 'admin' => $mod->getVar('hasadmin') ? XOOPS_URL . '/modules/' . $mod->getVar('dirname') . '/' . $mod->getInfo('adminindex') : '', 'main' => RMUris::anchor($mod->getVar('dirname')), 'updated' => RMTimeFormatter::get()->format($mod->getVar('last_update'), __('%d% %T% %Y%', 'rmcommon')), 'config' => isset($config_link) ? $config_link : '', 'description' => $mod->getInfo('description'));
        $installed_mods[] = (object) $this_module;
    }
    return $installed_mods;
}
Exemple #3
0
function show_modules_list()
{
    global $xoopsSecurity;
    $installed_modules = array();
    $limit = rmc_server_var($_SESSION, 'mods_limit', 4);
    include_once XOOPS_ROOT_PATH . '/kernel/module.php';
    $db = XoopsDatabaseFactory::getDatabaseConnection();
    $sql = "SELECT * FROM " . $db->prefix("modules") . " ORDER BY `name`";
    $result = $db->query($sql);
    $installed_dirs = array();
    while ($row = $db->fetchArray($result)) {
        $mod = new XoopsModule();
        $mod->assignVars($row);
        $installed_dirs[] = $mod->dirname();
        if (file_exists(XOOPS_ROOT_PATH . '/modules/' . $mod->getVar('dirname') . '/class/' . strtolower($mod->getVar('dirname') . 'controller') . '.php')) {
            include_once XOOPS_ROOT_PATH . '/modules/' . $mod->getVar('dirname') . '/class/' . strtolower($mod->getVar('dirname') . 'controller') . '.php';
            $class = ucfirst($mod->getVar('dirname')) . 'Controller';
            $class = new $class();
            if (method_exists($class, 'get_main_link')) {
                $main_link = $class->get_main_link();
            } else {
                if ($mod->getVar('hasmain')) {
                    $main_link = XOOPS_URL . '/modules/' . $mod->dirname();
                } else {
                    $main_link = "#";
                }
            }
        } else {
            if ($mod->getVar('hasmain')) {
                $main_link = XOOPS_URL . '/modules/' . $mod->dirname();
            } else {
                $main_link = "#";
            }
        }
        // Admin section
        $admin_link = $mod->getVar('hasadmin') ? XOOPS_URL . '/modules/' . $mod->dirname() . '/' . $mod->getInfo('adminindex') : '';
        $modules[] = array('id' => $mod->getVar('mid'), 'name' => $mod->getVar('name'), 'realname' => $mod->getInfo('name'), 'version' => $mod->getInfo('rmnative') ? RMUtilities::format_version($mod->getInfo('rmversion')) : $mod->getInfo('version'), 'description' => $mod->getInfo('description'), 'icon' => XOOPS_URL . '/modules/' . $mod->getVar('dirname') . '/' . ($mod->getInfo('icon48') ? $mod->getInfo('icon48') : $mod->getInfo('image')), 'image' => XOOPS_URL . '/modules/' . $mod->getVar('dirname') . '/' . $mod->getInfo('image'), 'link' => $main_link, 'admin_link' => $admin_link, 'updated' => formatTimestamp($mod->getVar('last_update'), 's'), 'author' => $mod->getInfo('author'), 'author_mail' => $mod->getInfo('authormail'), 'author_web' => $mod->getInfo('authorweb'), 'author_url' => $mod->getInfo('authorurl'), 'license' => $mod->getInfo('license'), 'dirname' => $mod->getInfo('dirname'), 'active' => $mod->getVar('isactive'), 'help' => $mod->getInfo('help'));
    }
    // Event for installed modules
    $modules = RMEvents::get()->run_event('rmcommon.installed.modules', $modules, $installed_dirs);
    require_once XOOPS_ROOT_PATH . "/class/xoopslists.php";
    $dirlist = XoopsLists::getModulesList();
    $available_mods = array();
    $module_handler = xoops_gethandler('module');
    foreach ($dirlist as $file) {
        clearstatcache();
        $file = trim($file);
        if (!in_array($file, $installed_dirs)) {
            $module =& $module_handler->create();
            if (!$module->loadInfo($file, false)) {
                continue;
            }
            $available_mods[] = $module;
            unset($module);
        }
    }
    // Event for available modules
    $available_mods = RMEvents::get()->run_event('rmcommon.available.modules', $available_mods);
    $GLOBALS['available_mods'] = $available_mods;
    RMFunctions::create_toolbar();
    RMTemplate::get()->assign('xoops_pagetitle', __('Modules Management', 'rmcommon'));
    RMTemplate::get()->add_style('modules.css', 'rmcommon');
    RMTemplate::get()->add_local_script('modules.js', 'rmcommon', 'include');
    RMTemplate::get()->set_help('http://www.redmexico.com.mx/docs/common-utilities/uso-de-common-utilities/standalone/1/#administrador-de-modulos');
    xoops_cp_header();
    include RMTemplate::get()->get_template('rmc_modules.php', 'module', 'rmcommon');
    xoops_cp_footer();
}
Exemple #4
0
 /**
  * Load a module by its dirname
  * 
  * @param	string  $dirname
  * 
  * @return	object  FALSE on fail
  */
 function &getByDirname($dirname)
 {
     static $_cachedModule_mid;
     static $_cachedModule_dirname;
     if (!empty($_cachedModule_dirname[$dirname])) {
         return $_cachedModule_dirname[$dirname];
     } else {
         $sql = "SELECT * FROM " . $this->db->prefix('modules') . " WHERE dirname = '" . trim($dirname) . "'";
         if (!($result = $this->db->query($sql))) {
             return false;
         }
         $numrows = $this->db->getRowsNum($result);
         if ($numrows == 1) {
             $module = new XoopsModule();
             $myrow = $this->db->fetchArray($result);
             $module->assignVars($myrow);
             $_cachedModule_dirname[$dirname] =& $module;
             $_cachedModule_mid[$module->getVar('mid')] =& $module;
             return $module;
         }
         return false;
     }
 }
Exemple #5
0
 /**
  * Load some modules
  * 
  * @param   object  $criteria   {@link CriteriaElement} 
  * @param   boolean $id_as_key  Use the ID as key into the array
  * @return  array
  **/
 function &getObjects($criteria = null, $id_as_key = false)
 {
     $ret = array();
     $limit = $start = 0;
     $sql = 'SELECT * FROM ' . $this->db->prefix('modules');
     if (isset($criteria) && is_subclass_of($criteria, 'criteriaelement')) {
         $sql .= ' ' . $criteria->renderWhere();
         $sql .= ' ORDER BY weight ' . $criteria->getOrder() . ', mid ASC';
         $limit = $criteria->getLimit();
         $start = $criteria->getStart();
     }
     $result = $this->db->query($sql, $limit, $start);
     if (!$result) {
         return $ret;
     }
     while ($myrow = $this->db->fetchArray($result)) {
         $module = new XoopsModule();
         $module->assignVars($myrow);
         if (!$id_as_key) {
             $ret[] =& $module;
         } else {
             $ret[$myrow['mid']] =& $module;
         }
         unset($module);
     }
     return $ret;
 }
Exemple #6
0
$xoopsLogger->renderingEnabled = false;
$xoopsLogger->activated = false;

if(!$xoopsSecurity->check()){
    die('Session token expired');    
}*/
$installed_modules = array();
include_once XOOPS_ROOT_PATH . '/kernel/module.php';
$db = XoopsDatabaseFactory::getDatabaseConnection();
$sql = "SELECT * FROM " . $db->prefix("modules") . " WHERE isactive='1' ORDER BY `name`";
$result = $db->query($sql);
$installed_dirs = array();
while ($row = $db->fetchArray($result)) {
    $mod = new XoopsModule();
    $mod->assignVars($row);
    $installed_dirs[] = $mod->dirname();
    if (file_exists(XOOPS_ROOT_PATH . '/modules/' . $mod->getVar('dirname') . '/class/' . strtolower($mod->getVar('dirname') . 'controller') . '.php')) {
        include_once XOOPS_ROOT_PATH . '/modules/' . $mod->getVar('dirname') . '/class/' . strtolower($mod->getVar('dirname') . 'controller') . '.php';
        $class = ucfirst($mod->getVar('dirname')) . 'Controller';
        $class = new $class();
        if (method_exists($class, 'get_main_link')) {
            $main_link = $class->get_main_link();
        } else {
            if ($mod->getVar('hasmain')) {
                $main_link = XOOPS_URL . '/modules/' . $mod->dirname();
            } else {
                $main_link = "#";
            }
        }
    } else {
 /**
  * Load a module from the database
  *
  * @param	int     $id     ID of the module
  *
  * @return	object  FALSE on fail
  */
 function &get($id)
 {
     static $_cachedModule_dirname;
     static $_cachedModule_mid;
     $id = intval($id);
     if ($id > 0) {
         if (!empty($_cachedModule_mid[$id])) {
             return $_cachedModule_mid[$id];
         } else {
             $sql = 'SELECT * FROM ' . $this->db->prefix('modules') . ' WHERE mid = ' . $id;
             if (!($result = $this->db->query($sql))) {
                 return false;
             }
             $numrows = $this->db->getRowsNum($result);
             if ($numrows == 1) {
                 $module = new XoopsModule();
                 $myrow = $this->db->fetchArray($result);
                 $module->assignVars($myrow);
                 $_cachedModule_mid[$id] =& $module;
                 $_cachedModule_dirname[$module->getVar('dirname')] =& $module;
                 return $module;
             }
         }
     }
     return false;
 }
Exemple #8
0
 /**
  * Load some modules
  *
  * @param CriteriaElement|null $criteria  {@link CriteriaElement}
  * @param boolean              $id_as_key Use the ID as key into the array
  *
  * @return array
  */
 public function getObjectsArray(CriteriaElement $criteria = null, $id_as_key = false)
 {
     $ret = array();
     $qb = $this->db2->createXoopsQueryBuilder();
     $qb->select('*')->fromPrefix('modules', null);
     if (isset($criteria) && $criteria instanceof CriteriaElement) {
         $criteria->setSort('weight');
         $criteria->renderQb($qb);
         $qb->addOrderBy('mid', 'ASC');
     }
     try {
         if (!($result = $qb->execute())) {
             return $ret;
         }
     } catch (Exception $e) {
         return $ret;
     }
     while ($myrow = $result->fetch(PDO::FETCH_ASSOC)) {
         $module = new XoopsModule();
         $module->assignVars($myrow);
         if (!$id_as_key) {
             $ret[] = $module;
         } else {
             $ret[$myrow['mid']] = $module;
         }
         unset($module);
     }
     return $ret;
 }