ExpressionEngine CMS
Open, Free, Amazing

Thread

This is an archived forum and the content is probably no longer relevant, but is provided here for posterity.

The active forums are here.

Equipment - The FREE Addon Manager

July 31, 2010 5:47pm

Subscribe [3]
  • #1 / Jul 31, 2010 5:47pm

    Dan Horrigan

    342 posts

    Sorry if this seems like spam, but I think this will be useful for add-on developers (i know it is to me).

    Until a first party solution for Add-on management is released I have developed and released open source an add-on called Equipment.  It allows you to easily have admin areas for your more involved add-ons (i.e. user enters info to store in the DB).

    Docs and a Screenshot are in the README in the GitHub repo.

    http://github.com/dhorrigan/mojo-equipment


    I plan on adding more features like Installing, Updating and Uninstalling add-ons right from the admin.

    Dan

  • #2 / Jul 31, 2010 7:08pm

    Lisa Wess

    20502 posts

    Hey Dan,

    That looks pretty nifty.

    We have a forum dedicated to these types of announcement: Community News.  I’ve moved it there for you.  There are some guidelines to know about.

    Thanks for sharing this with us!

  • #3 / Jul 31, 2010 8:04pm

    Dan Horrigan

    342 posts

    Oops.  Sorry about that.

    Thanks,
    Dan

  • #4 / Jul 31, 2010 8:08pm

    Lisa Wess

    20502 posts

    No worries at all. =)

  • #5 / Aug 10, 2010 7:53pm

    Loic Sharma

    114 posts

    I’ve started writing my own addons, and the very first thing I did was install this… except for me a Equipment didn’t correctly display it’s MojoBar (the icon showed up, but no content would appear). I found out that the problem was because Equipment was reloading the equipment.php library file. So, here’s a minor edit you might want to consider to put in Equipment.

    Change the foreach in the index function of equipment/libraries/equipment.php to:

    foreach ($addons as $addon)
            {
                if ($addon == 'equipment')
                {
                    $data['addons'][$addon] = array (
                        'name'            => $addon,
                        'display_name'    => '<span>' . $this->display_name . '</span>',
                        'version'        => $this->addon_version
                    );
                }
    
                elseif (strpos($addon, '.') === FALSE)
                {
                    $this->mojo->load->add_package_path(APPPATH.'/third_party/'.$addon.'/');
                    include_once APPPATH.'third_party/'.$addon.'/libraries/'.$addon.'.php';
                    $temp_obj = new $addon();
                    $data['addons'][$addon] = array (
                        'name'            => $addon,
                        'display_name'    => isset($temp_obj->display_name) ? $temp_obj->display_name : ucfirst($addon),
                        'version'        => isset($temp_obj->addon_version) ? $temp_obj->addon_version : 'Unknown',
                    );
                    $data['addons'][$addon]['admin_method'] = isset($temp_obj->admin_method) ? $temp_obj->admin_method : NULL;
                    $data['addons'][$addon]['has_admin'] = method_exists($temp_obj, $data['addons'][$addon]['admin_method']);
                    unset($temp_obj);
                    $this->mojo->load->remove_package_path();
                }
            }
  • #6 / Aug 11, 2010 9:05am

    Dan Horrigan

    342 posts

    Thanks, I will have a look.

.(JavaScript must be enabled to view this email address)

ExpressionEngine News!

#eecms, #events, #releases