API16

JInstallerModule/discover: Difference between revisions

From Joomla! Documentation

m removing red link to edit, no existant pages
m clean up
Line 2: Line 2:
Custom discover method
Custom discover method


<span class="editsection" style="font-size:76%;">
 
<nowiki>[<! removed edit link to red link >]</nowiki>
</span>


<! removed transcluded page call, red link never existed >
<! removed transcluded page call, red link never existed >
Line 53: Line 51:
</source>
</source>


<span class="editsection" style="font-size:76%;">
 
<nowiki>[<! removed edit link to red link >]</nowiki>
</span>
<! removed transcluded page call, red link never existed >
<! removed transcluded page call, red link never existed >



Revision as of 14:10, 24 March 2017

Description

Custom discover method


<! removed transcluded page call, red link never existed >

Syntax

discover()


Returns

array(JExtension) list of extensions available

Defined in

libraries/joomla/installer/adapters/module.php

Importing

jimport( 'joomla.installer.adapters.module' );

Source Body

function discover()
{
        $results = Array();
        $site_list = JFolder::folders(JPATH_SITE.DS.'modules');
        $admin_list = JFolder::folders(JPATH_ADMINISTRATOR.DS.'modules');
        $site_info = JApplicationHelper::getClientInfo('site', true);
        $admin_info = JApplicationHelper::getClientInfo('administrator', true);
        foreach ($site_list as $module)
        {
                $extension = &JTable::getInstance('extension');
                $extension->set('type',  'module');
                $extension->set('client_id', $site_info->id);
                $extension->set('element', $module);
                $extension->set('name', $module);
                $extension->set('state', -1);
                $results[] = clone $extension;
        }
        foreach ($admin_list as $module)
        {
                $extension = &JTable::getInstance('extension');
                $extension->set('type', 'module');
                $extension->set('client_id', $admin_info->id);
                $extension->set('element', $module);
                $extension->set('name', $module);
                $extension->set('state', -1);
                $results[] = clone $extension;
        }
        return $results;
}


<! removed transcluded page call, red link never existed >

Examples

<CodeExamplesForm />