annotate sites/all/modules/schemaorg/schemaorg.drush.inc @ 4:ce11bbd8f642

added modules
author danieleb <danielebarchiesi@me.com>
date Thu, 19 Sep 2013 10:38:44 +0100
parents
children
rev   line source
danielebarchiesi@4 1 <?php
danielebarchiesi@4 2
danielebarchiesi@4 3 /**
danielebarchiesi@4 4 * @file
danielebarchiesi@4 5 * Drush integration for the schemaorg module.
danielebarchiesi@4 6 */
danielebarchiesi@4 7
danielebarchiesi@4 8 /**
danielebarchiesi@4 9 * Implements hook_drush_command().
danielebarchiesi@4 10 */
danielebarchiesi@4 11 function schemaorg_drush_command() {
danielebarchiesi@4 12 $items['schemaorg-json'] = array(
danielebarchiesi@4 13 'description' => dt('Generates JSON from rdfs.schema.org.'),
danielebarchiesi@4 14 'options' => array(
danielebarchiesi@4 15 '--with-comments' => 'Includes comment in the JSON output',
danielebarchiesi@4 16 ),
danielebarchiesi@4 17 );
danielebarchiesi@4 18 return $items;
danielebarchiesi@4 19 }
danielebarchiesi@4 20
danielebarchiesi@4 21 /**
danielebarchiesi@4 22 * JSON output command callback.
danielebarchiesi@4 23 */
danielebarchiesi@4 24 function drush_schemaorg_json() {
danielebarchiesi@4 25 $data = json_decode(drupal_http_request('http://schema.rdfs.org/all.json')->data);
danielebarchiesi@4 26
danielebarchiesi@4 27 $curated_terms = array();
danielebarchiesi@4 28
danielebarchiesi@4 29 foreach ($data as $category => $terms) {
danielebarchiesi@4 30 foreach ($terms as $id => $term) {
danielebarchiesi@4 31 if (drush_get_option('with-comments')) {
danielebarchiesi@4 32 // The value and label keys are what the jQuery UI autocomplete excepts.
danielebarchiesi@4 33 $curated_terms[$category][$id]['value'] = $term->id;
danielebarchiesi@4 34 $curated_terms[$category][$id]['label'] = $term->id . ': ' . $term->comment_plain;
danielebarchiesi@4 35 }
danielebarchiesi@4 36 else {
danielebarchiesi@4 37 $curated_terms[$category][] = $term->id;
danielebarchiesi@4 38 }
danielebarchiesi@4 39 }
danielebarchiesi@4 40 }
danielebarchiesi@4 41
danielebarchiesi@4 42 print json_encode($curated_terms);
danielebarchiesi@4 43 }