From 7c6a0735b5bb9cd6c13ca8149eb105fa26a6a31f Mon Sep 17 00:00:00 2001 From: robertall Date: Mon, 16 Jun 2008 14:02:27 +0000 Subject: [PATCH] [MDL-15258] Move data_presets_export() function out from common module specific library. Merged and ported from MOODLE_19_STABLE. --- mod/data/lib.php | 112 ------------------------------------------- mod/data/preset.php | 114 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 114 insertions(+), 112 deletions(-) diff --git a/mod/data/lib.php b/mod/data/lib.php index 1e714bb550..abd2248c3f 100755 --- a/mod/data/lib.php +++ b/mod/data/lib.php @@ -1827,118 +1827,6 @@ function clean_preset($folder) { } -function data_presets_export($course, $cm, $data) { - global $CFG, $DB; - - /* Info Collected. Now need to make files in moodledata/temp */ - $tempfolder = $CFG->dataroot.'/temp'; - $singletemplate = fopen($tempfolder.'/singletemplate.html', 'w'); - $listtemplate = fopen($tempfolder.'/listtemplate.html', 'w'); - $listtemplateheader = fopen($tempfolder.'/listtemplateheader.html', 'w'); - $listtemplatefooter = fopen($tempfolder.'/listtemplatefooter.html', 'w'); - $addtemplate = fopen($tempfolder.'/addtemplate.html', 'w'); - $rsstemplate = fopen($tempfolder.'/rsstemplate.html', 'w'); - $rsstitletemplate = fopen($tempfolder.'/rsstitletemplate.html', 'w'); - $csstemplate = fopen($tempfolder.'/csstemplate.css', 'w'); - $jstemplate = fopen($tempfolder.'/jstemplate.js', 'w'); - $asearchtemplate = fopen($tempfolder.'/asearchtemplate.html', 'w'); - - fwrite($singletemplate, $data->singletemplate); - fwrite($listtemplate, $data->listtemplate); - fwrite($listtemplateheader, $data->listtemplateheader); - fwrite($listtemplatefooter, $data->listtemplatefooter); - fwrite($addtemplate, $data->addtemplate); - fwrite($rsstemplate, $data->rsstemplate); - fwrite($rsstitletemplate, $data->rsstitletemplate); - fwrite($csstemplate, $data->csstemplate); - fwrite($jstemplate, $data->jstemplate); - fwrite($asearchtemplate, $data->asearchtemplate); - - fclose($singletemplate); - fclose($listtemplate); - fclose($listtemplateheader); - fclose($listtemplatefooter); - fclose($addtemplate); - fclose($rsstemplate); - fclose($rsstitletemplate); - fclose($csstemplate); - fclose($jstemplate); - fclose($asearchtemplate); - - /* All the display data is now done. Now assemble preset.xml */ - $presetfile = fopen($tempfolder.'/preset.xml', 'w'); - $presetxml = "\n\n"; - - // raw settings are not preprocessed during saving of presets - $raw_settings = array('intro', 'comments', 'requiredentries', 'requiredentriestoview', - 'maxentries', 'rssarticles', 'approval', 'defaultsortdir'); - - $presetxml .= "\n"; - // first settings that do not require any conversion - foreach ($raw_settings as $setting) { - $presetxml .= "<$setting>".htmlspecialchars($data->$setting)."\n"; - } - - // now specific settings - if ($data->defaultsort > 0 and $sortfield = data_get_field_from_id($data->defaultsort, $data)) { - $presetxml .= "".htmlspecialchars($sortfield->field->name)."\n"; - } else { - $presetxml .= "0\n"; - } - // note: grading settings are not exported intentionally - $presetxml .= "\n\n"; - - // Now for the fields. Grab all that are non-empty - $fields = $DB->get_records('data_fields', array('dataid'=>$data->id)); - ksort($fields); - if (!empty($fields)) { - foreach ($fields as $field) { - $presetxml .= "\n"; - foreach ($field as $key => $value) { - if ($value != '' && $key != 'id' && $key != 'dataid') { - $presetxml .= "<$key>".htmlspecialchars($value)."\n"; - } - } - $presetxml .= "\n\n"; - } - } - - $presetxml .= ""; - fwrite($presetfile, $presetxml); - fclose($presetfile); - - /* Check all is well */ - if (!is_directory_a_preset($tempfolder)) { - error("Not all files generated!"); - } - - $filelist = array( - 'singletemplate.html', - 'listtemplate.html', - 'listtemplateheader.html', - 'listtemplatefooter.html', - 'addtemplate.html', - 'rsstemplate.html', - 'rsstitletemplate.html', - 'csstemplate.css', - 'jstemplate.js', - 'preset.xml', - 'asearchtemplate.html' - ); - - foreach ($filelist as $key => $file) { - $filelist[$key] = $tempfolder.'/'.$filelist[$key]; - } - - @unlink($tempfolder.'/export.zip'); - $status = zip_files($filelist, $tempfolder.'/export.zip'); - - /* made the zip... now return the filename for storage.*/ - return $tempfolder.'/export.zip'; -} - - - class PresetImporter { function PresetImporter($course, $cm, $data, $userid, $shortname) { global $CFG; diff --git a/mod/data/preset.php b/mod/data/preset.php index 66f0e0e018..b6d660523f 100644 --- a/mod/data/preset.php +++ b/mod/data/preset.php @@ -374,5 +374,119 @@ echo ''; echo ''; print_footer($course); +exit(0); + +################################################################################ + + +function data_presets_export($course, $cm, $data) { + global $CFG, $DB; + + /* Info Collected. Now need to make files in moodledata/temp */ + $tempfolder = $CFG->dataroot.'/temp'; + $singletemplate = fopen($tempfolder.'/singletemplate.html', 'w'); + $listtemplate = fopen($tempfolder.'/listtemplate.html', 'w'); + $listtemplateheader = fopen($tempfolder.'/listtemplateheader.html', 'w'); + $listtemplatefooter = fopen($tempfolder.'/listtemplatefooter.html', 'w'); + $addtemplate = fopen($tempfolder.'/addtemplate.html', 'w'); + $rsstemplate = fopen($tempfolder.'/rsstemplate.html', 'w'); + $rsstitletemplate = fopen($tempfolder.'/rsstitletemplate.html', 'w'); + $csstemplate = fopen($tempfolder.'/csstemplate.css', 'w'); + $jstemplate = fopen($tempfolder.'/jstemplate.js', 'w'); + $asearchtemplate = fopen($tempfolder.'/asearchtemplate.html', 'w'); + + fwrite($singletemplate, $data->singletemplate); + fwrite($listtemplate, $data->listtemplate); + fwrite($listtemplateheader, $data->listtemplateheader); + fwrite($listtemplatefooter, $data->listtemplatefooter); + fwrite($addtemplate, $data->addtemplate); + fwrite($rsstemplate, $data->rsstemplate); + fwrite($rsstitletemplate, $data->rsstitletemplate); + fwrite($csstemplate, $data->csstemplate); + fwrite($jstemplate, $data->jstemplate); + fwrite($asearchtemplate, $data->asearchtemplate); + + fclose($singletemplate); + fclose($listtemplate); + fclose($listtemplateheader); + fclose($listtemplatefooter); + fclose($addtemplate); + fclose($rsstemplate); + fclose($rsstitletemplate); + fclose($csstemplate); + fclose($jstemplate); + fclose($asearchtemplate); + + /* All the display data is now done. Now assemble preset.xml */ + $presetfile = fopen($tempfolder.'/preset.xml', 'w'); + $presetxml = "\n\n"; + + // raw settings are not preprocessed during saving of presets + $raw_settings = array('intro', 'comments', 'requiredentries', 'requiredentriestoview', + 'maxentries', 'rssarticles', 'approval', 'defaultsortdir'); + + $presetxml .= "\n"; + // first settings that do not require any conversion + foreach ($raw_settings as $setting) { + $presetxml .= "<$setting>".htmlspecialchars($data->$setting)."\n"; + } + + // now specific settings + if ($data->defaultsort > 0 and $sortfield = data_get_field_from_id($data->defaultsort, $data)) { + $presetxml .= "".htmlspecialchars($sortfield->field->name)."\n"; + } else { + $presetxml .= "0\n"; + } + // note: grading settings are not exported intentionally + $presetxml .= "\n\n"; + + // Now for the fields. Grab all that are non-empty + $fields = $DB->get_records('data_fields', array('dataid'=>$data->id)); + ksort($fields); + if (!empty($fields)) { + foreach ($fields as $field) { + $presetxml .= "\n"; + foreach ($field as $key => $value) { + if ($value != '' && $key != 'id' && $key != 'dataid') { + $presetxml .= "<$key>".htmlspecialchars($value)."\n"; + } + } + $presetxml .= "\n\n"; + } + } + + $presetxml .= ""; + fwrite($presetfile, $presetxml); + fclose($presetfile); + + /* Check all is well */ + if (!is_directory_a_preset($tempfolder)) { + error("Not all files generated!"); + } + + $filelist = array( + 'singletemplate.html', + 'listtemplate.html', + 'listtemplateheader.html', + 'listtemplatefooter.html', + 'addtemplate.html', + 'rsstemplate.html', + 'rsstitletemplate.html', + 'csstemplate.css', + 'jstemplate.js', + 'preset.xml', + 'asearchtemplate.html' + ); + + foreach ($filelist as $key => $file) { + $filelist[$key] = $tempfolder.'/'.$filelist[$key]; + } + + @unlink($tempfolder.'/export.zip'); + $status = zip_files($filelist, $tempfolder.'/export.zip'); + + /* made the zip... now return the filename for storage.*/ + return $tempfolder.'/export.zip'; +} ?> -- 2.39.5