Same name and namespace in other branches
  1. 7.x-1.x drush/colorbox.drush.inc \drush_colorbox_plugin() 1 comment
  2. 8.x-1.x drush/colorbox.drush.inc \drush_colorbox_plugin() 1 comment

Command to download the Colorbox plugin.

1 call to drush_colorbox_plugin()
drush_colorbox_pre_pm_enable in drush/colorbox.drush.inc
Implements drush_MODULE_pre_pm_enable().
1 string reference to 'drush_colorbox_plugin'
colorbox_drush_command in drush/colorbox.drush.inc
Implements hook_drush_command().

File

drush/colorbox.drush.inc, line 82

Code

function drush_colorbox_plugin() {
    $args = func_get_args();
    if (!empty($args[0])) {
        $path = $args[0];
    }
    else {
        $path = 'sites/all/libraries';
    }
    // Create the path if it does not exist.
    if (!is_dir($path)) {
        drush_op('mkdir', $path);
        drush_log(dt('Directory @path was created', array(
            '@path' => $path,
        )), 'notice');
    }
    // Download colorbox plugin only if path is writable.
    if (is_writable($path)) {
        // Set the directory to the download location.
        $olddir = getcwd();
        chdir($path);
        // Download the zip archive.
        if ($filepath = drush_download_file(COLORBOX_DOWNLOAD_URI)) {
            $filename = basename($filepath);
            $dirname = COLORBOX_DOWNLOAD_PREFIX . basename($filepath, '.zip');
            // Remove any existing Colorbox plugin directory.
            if (is_dir($dirname) || is_dir('colorbox')) {
                drush_delete_dir($dirname, TRUE);
                drush_delete_dir('colorbox', TRUE);
                drush_log(dt('A existing Colorbox plugin was deleted from @path', array(
                    '@path' => $path,
                )), 'notice');
            }
            // Decompress the zip archive.
            drush_tarball_extract($filename);
            // Change the directory name to "colorbox" if needed.
            if ($dirname != 'colorbox') {
                drush_move_dir($dirname, 'colorbox', TRUE);
                $dirname = 'colorbox';
            }
        }
        if (is_dir($dirname)) {
            drush_log(dt('Colorbox plugin has been installed in @path', array(
                '@path' => $path,
            )), 'success');
        }
        else {
            drush_log(dt('Drush was unable to install the Colorbox plugin to @path', array(
                '@path' => $path,
            )), 'error');
        }
        // Set working directory back to the previous working directory.
        chdir($olddir);
    }
    else {
        drush_log(dt('Drush was unable to install the Colorbox plugin because @path is not writable. If you enable the colorbox module before you install the plugin library, you may find that colorbox does not work until you reinstall the colorbox module.', array(
            '@path' => $path,
        )), 'warning');
    }
}