You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.7 KiB
48 lines
1.7 KiB
14 years ago
|
<?php
|
||
|
|
||
|
function fedora_nmlt_install() {
|
||
|
$file = drupal_get_path('module', 'fedora_nmlt').'/cck/scorm_fedora_type.txt';
|
||
|
fedora_nmlt_import_content_type('<create>', '', $file);
|
||
|
}
|
||
|
|
||
|
function fedora_nmlt_enable() {
|
||
|
// Set the module weight so it can override other modules.
|
||
|
db_query("UPDATE {system} SET weight = 50 WHERE name = 'fedora_nmlt'");
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Programmatically create CCK fields and types using the content copy module
|
||
|
* @param $type string
|
||
|
* content type to create, defaults to new type, if type exists, only fields will be added
|
||
|
* @param $macro array
|
||
|
* exported array from content types -> export. If file is not specified, macro will be used
|
||
|
* @param $file string
|
||
|
* path to file containing content copy exported macro data structure. no escaping needed.
|
||
|
*/
|
||
|
function fedora_nmlt_import_content_type($type = '<create>', $macro = '', $file = '') {
|
||
|
if(!module_exists("content_copy")){
|
||
|
drupal_set_message('Programmatically creating CCK fields requires the Content Copy module. Exiting.');
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
include_once( $_SERVER['DOCUMENT_ROOT'].'/'. drupal_get_path('module', 'content') .'/includes/content.admin.inc');
|
||
|
include_once( $_SERVER['DOCUMENT_ROOT'].'/'. drupal_get_path('module', 'node') .'/content_types.inc');
|
||
|
|
||
|
$values = array();
|
||
|
$values['type_name'] = $type;
|
||
|
if($file){
|
||
|
if(file_exists($file)){
|
||
|
$values['macro'] = file_get_contents($file);
|
||
|
}else{
|
||
|
drupal_set_message('Unable to read input file for import. Exiting.');
|
||
|
return;
|
||
|
}
|
||
|
}elseif($macro){
|
||
|
$values['macro'] = $macro;
|
||
|
}
|
||
|
$form_state = array();
|
||
|
$form_state['values'] = $values;
|
||
|
//drupal_set_message('<pre>DEBUG: '.print_r($values['macro'],1).'</pre>');
|
||
|
drupal_execute("content_copy_import_form", $form_state);
|
||
|
content_clear_type_cache();
|
||
|
}
|