public static function add()
 {
     parent::add();
     self::$facebook_app_id = Installer::getComposerEvent()->getIO()->ask(":: enter your facebook app id: ", "[app_id]");
     self::$facebook_api_secret = Installer::getComposerEvent()->getIO()->ask(":: enter your facebook app secret: ", "[app_secret]");
     File::replaceContent(Installer::getRootDirConfig() . self::getConfigfile(), "[app_id]", self::getFacebookAppId());
     File::replaceContent(Installer::getRootDirConfig() . self::getConfigfile(), "[api_secret]", self::getFacebookApiSecret());
     File::addContent(Installer::getRootDirTheme() . "Includes/Footer.ss", "<% include FacebookLoginLink %>", "SilverStripe</a></small>");
     Installer::getComposerEvent()->getIO()->write(":: added facebookconnect extension");
 }
 /**
  * copy customized extension.yml, classes and templates to silverstripe project which should be availible as skelet
  */
 public static function add()
 {
     File::copy(Installer::getRootDirVendor() . static::getExtension(), Installer::getRootDirConfig());
     Installer::getComposerEvent()->getIO()->write(":: copied " . self::getConfigfile());
     foreach (static::getClasses() as $folder => $class) {
         File::copy(Installer::getRootDirVendor() . $class, Installer::getRootDirCode() . $folder . "/");
         Installer::getComposerEvent()->getIO()->write(":: added class {$class}");
     }
     foreach (static::getTemplates() as $folder => $template) {
         File::copy(Installer::getRootDirVendor() . $template, Installer::getRootDirTheme() . $folder . "/");
         Installer::getComposerEvent()->getIO()->write(":: added template {$template}");
     }
 }