[svn r13470] improve woogie dealing

skala
Eric Marguin 18 years ago
parent 5c42380895
commit 6b74f55884
  1. 54
      main/newscorm/word_document.class.php

@ -110,17 +110,11 @@ class word_document extends learnpath {
foreach($pages as $key=>$page_content){ // for every pages, we create a new file foreach($pages as $key=>$page_content){ // for every pages, we create a new file
$key +=1; $key +=1;
// Tidy
$tidy = new tidy; $page_content = $this->format_page_content($header, $page_content);
$config = array(
'indent' => true,
'output-xhtml' => true,
'wrap' => 200);
$tidy->parseString($header.$page_content, $config, 'utf8');
$tidy->cleanRepair();
$html_file = $created_dir.'-'.$key.'.html'; $html_file = $created_dir.'-'.$key.'.html';
$handle = fopen($base_work_dir.$created_dir.'/'.$html_file,'w+'); $handle = fopen($base_work_dir.$created_dir.'/'.$html_file,'w+');
fwrite($handle, $tidy); fwrite($handle, $page_content);
fclose($handle); fclose($handle);
$document_id = add_document($_course,$created_dir.'/'.$html_file,'file',filesize($base_work_dir.$created_dir.'/'.$html_file),$html_file); $document_id = add_document($_course,$created_dir.'/'.$html_file,'file',filesize($base_work_dir.$created_dir.'/'.$html_file),$html_file);
@ -138,14 +132,52 @@ class word_document extends learnpath {
} }
} }
} }
$perm = octdec(!empty($perm)?$perm:0700); $perm = api_get_setting('permissions_for_new_files');
chmod ($base_work_dir.$created_dir,$perm); $perm = octdec(!empty($perm)?$perm:0770);
chmod($file,$perm); chmod($file,$perm);
} }
$perm = api_get_setting('permissions_for_new_directories');
$perm = octdec(!empty($perm)?$perm:0770);
chmod ($base_work_dir.$created_dir,$perm);
return $first_item; return $first_item;
} }
function format_page_content($header, $content)
{
// Tidy
$tidy = new tidy;
$config = array(
'indent' => true,
'output-xhtml' => true,
'wrap' => 200);
$tidy->parseString($header.$content, $config, 'utf8');
$tidy->cleanRepair();
$content = $tidy;
// limit the width of the doc
$max_width = '720px';
$content = str_replace('<body>','<body><div style="width:'.$max_width.'">',$content);
$content = str_replace('</body>','</div></body>',$content);
// line break before and after picture
$content = str_replace('p {','p {clear:both;',strtolower($content));
// dokeos styles
$my_style = api_get_setting('stylesheets');
if(empty($my_style)){$my_style = 'default';}
$style_to_import = '@import "'.api_get_path(WEB_CODE_PATH).'css/'.$my_style.'/default.css";'."\n";
$style_to_import .= '@import "'.api_get_path(WEB_CODE_PATH).'css/'.$my_style.'/course.css";'."\n";
$content = str_replace('/*<![cdata[*/','/*<![cdata[*/ '.$style_to_import,$content);
return $content;
}
} }
?> ?>

Loading…
Cancel
Save