You are here

nodequeue_generate.drush.inc in Nodequeue 7.2

Same filename and directory in other branches
  1. 7.3 nodequeue_generate.drush.inc

Nodequeue generate drush integration.

File

nodequeue_generate.drush.inc
View source
<?php

/**
 * @file
 *   Nodequeue generate drush integration.
 */

/**
 * Implementation of hook_drush_command().
 *
 * @See drush_parse_command() for a list of recognized keys.
 *
 * @return array
 *   An associative array describing your command(s).
 */
function nodequeue_generate_drush_command() {
  $items = array();
  $items['nodequeue-generate'] = array(
    'description' => "Re-populates specified nodequeues with random nodes.",
    'drupal dependencies' => array(
      'nodequeue_generate',
    ),
    'arguments' => array(
      'queue' => 'Machine name of queue to be re-populated.',
    ),
    'aliases' => array(
      'nqg',
    ),
  );
  $items['nodequeue-generate-all'] = array(
    'description' => "Re-populates nodequeues with random nodes.",
    'drupal dependencies' => array(
      'nodequeue_generate',
    ),
    'aliases' => array(
      'nqga',
    ),
  );
  $items['nodequeue-generate-rehash'] = array(
    'description' => "Rehashes smartqueue subqueues for taxonomy smartqueue.",
    'drupal dependencies' => array(
      'nodequeue_generate',
      'smartqueue',
    ),
    'aliases' => array(
      'nqgr',
    ),
  );
  return $items;
}

/**
 * Implementation of hook_drush_help().
 */
function nodequeue_generate_drush_help($section) {
  switch ($section) {
    case 'drush:nodequeue-generate':
      return dt("Re-populates specified nodequeues with random nodes.");
    case 'drush:nodequeue-generate-all':
      return dt("Re-populates all nodequeues with random nodes.");
    case 'drush:nodequeue-generate-rehash':
      return dt("Rehashes smartqueue subqueues for taxonomy smartqueue.");
  }
}

/**
 * Re-populates specified nodequeues with random nodes.
 */
function drush_nodequeue_generate() {
  $args = func_get_args();

  // At least one queue must be specified.
  if (count($args) < 1) {
    drush_set_error('error', dt('At least one queue must be specified.'));
  }

  // Get qids from machine names.
  $qids = array();
  foreach ($args as $queue) {
    $qid = db_select('nodequeue_queue', 'nq')
      ->fields('nq', array(
      'qid',
    ))
      ->condition('name', $queue)
      ->execute()
      ->fetchField();
    if ($qid) {
      $qids[] = $qid;
    }
    else {
      drush_set_error('error', dt('Queue @queue was not found.', array(
        '@queue' => $queue,
      )));
    }
  }
  nodequeue_generate_rehash();
  nodequeue_generate_repopulate_queues($qids);
}

/**
 * Re-populates all nodequeues with random nodes.
 */
function drush_nodequeue_generate_all() {
  $qids = db_select('nodequeue_queue', 'nq')
    ->fields('nq', array(
    'qid',
  ))
    ->execute()
    ->fetchAll(PDO::FETCH_COLUMN, 'qid');
  nodequeue_generate_rehash();
  nodequeue_generate_repopulate_queues($qids);
}

/**
 * Rehashes smartqueue subqueues for taxonomy smartqueue.
 */
function drush_nodequeue_generate_rehash() {
  nodequeue_generate_rehash();
}

Functions

Namesort descending Description
drush_nodequeue_generate Re-populates specified nodequeues with random nodes.
drush_nodequeue_generate_all Re-populates all nodequeues with random nodes.
drush_nodequeue_generate_rehash Rehashes smartqueue subqueues for taxonomy smartqueue.
nodequeue_generate_drush_command Implementation of hook_drush_command().
nodequeue_generate_drush_help Implementation of hook_drush_help().