0

I've read this:

https://docs.expressionengine.com/latest/development/conversion/index.html

and this:

https://docs.expressionengine.com/latest/development/extensions.html

I have a folder called:

ee/system/user/addons/ldap_plugin

in this folder I have:

addon.setup.php
ext.ldap_plugin.php
language/

addon.setup.php looks like:

<?php

return array(
  'author'      => 'Me',
  'author_url'  => 'http://example.com/',
  'name'        => 'Ldap Plugin',
  'description' => 'Handles LDAP login / account creation',
  'version'     => '1.0.0',
  'namespace'   => 'Ldap_plugin\Ldap_plugin',
  'settings_exist' => TRUE
);

ext.ldap_plugin.php contains:

class Ldap_plugin_ext {
    var $settings       = array();
    var $name           = 'LDAP Plugin';
    var $version        = '1.0.0';
    var $description    = 'Handles LDAP login / account creation';
    var $settings_exist = 'y';
    var $docs_url       = '';
    var $debug          = TRUE;

    function __construct($settings='')
    {
        $this->EE =& get_instance();
        $this->settings = $settings;
    }

    function activate_extension ()
    {
        /*.....*/
    }

    function update_extension($current = '')
    {
        /*.....*/
    }

    function disable_extension()
    {
        /*.....*/
    }

    function settings()
    {
        /*.....*/
    }

    /* various hooks here*/
}

and yet, it will not show up in Developer / Add-On Manager for installation. I have other 3rd party add-ons that show up. I've removed them and renamed them and they properly respond, so I know the folder is being seen in the right place. I've checked file permissions on the above folders and they match the other add-ons.

I'm not seeing the issue here. Do Extensions get managed elsewhere? Is there something critical I'm missing that's required?

Thanks for the help.

2
  • All your code above is Fine. I Just copied it and addon is showing in my backend. prntscr.com/e5o3kd . I suggest you to delete and recreate the files again. Maybe you are forgetting something. Feb 7 '17 at 15:08
  • 1
    You're spot on. We are migrating to EE3 and I didn't realize in the config that $env_config['allow_extensions'] was set to n. Once I turned this on and cleared out some old DB entries in exp_extensions it showed right up! Thanks for verifying I wasn't crazy! Feb 7 '17 at 16:05
2

Turned out that two things were wrong:

  1. In the config.master.php file, $env_config['allow_extensions'] was set to n and should be set to y
  2. This is a migration and had some old entries in exp_extensions table in the database for extensions we no longer had installed. Once I turned on allow_extensions I had to clear those out in that table. It showed right up then!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.