? panels_schema.info
? panels_schema.module
Index: cck_schema.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/graphviz_filter/Attic/cck_schema.module,v
retrieving revision 1.1.2.4.2.5
diff -u -p -r1.1.2.4.2.5 cck_schema.module
--- cck_schema.module	3 Oct 2009 18:29:22 -0000	1.1.2.4.2.5
+++ cck_schema.module	22 Jan 2010 23:01:22 -0000
@@ -9,10 +9,17 @@ function cck_schema_menu() {
     'access arguments' => array('administer content types'),
     'weight' => 10,
   );
+  $items['admin/content/types/schema/dot'] = array(
+    'title' => t('Schema DOT file'),
+    'type' => MENU_NORMAL_ITEM,
+    'page callback' => 'cck_schema_dump',
+    'access arguments' => array('administer content types'),
+    'weight' => 10,
+  );
   return $items;
 }
 
-function cck_schema_render() {
+function cck_schema_generate() {
   require_once(_graphviz_create_filepath(variable_get('graphviz_filter_pear_path', ''), 'Image/GraphViz.php'));
   $G = new Image_Graphviz(TRUE);
   foreach (taxonomy_get_vocabularies() as $vid => $vocabulary) {
@@ -64,10 +71,28 @@ function cck_schema_render() {
   ));
 
   _cck_schema_relativity($G);
+  return $G;
+}
 
+function cck_schema_render() {
+  $G = cck_schema_generate();
   return graphviz_filter_render($G);
 }
 
+/**
+ * Return the DOT file for the cck schema
+ */
+function cck_schema_dump() {
+  $G = cck_schema_generate();
+  $dot = '/*
+* @formats = png
+* @imagemap = TRUE
+*/
+';
+  $dot .= $G->parse();
+  return "<pre>$dot</pre>";
+}
+
 function _cck_schema_nodereference_cardinality($field) {
   if ($field['required']) {
     if ($field['multiple']) {
