|
@@ -11,6 +11,7 @@
|
|
|
*/
|
|
|
|
|
|
class word_document extends learnpath {
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* Class constructor. Based on the parent constructor.
|
|
@@ -36,6 +37,7 @@ class word_document extends learnpath {
|
|
|
$file_extension = (strrpos($file['name'],'.')>0 ? substr($file['name'], strrpos($file['name'],'.'),10) : '');
|
|
|
|
|
|
|
|
|
+ $learnpath_name = $file_name;
|
|
|
$file_name = remove_accents($file_name);
|
|
|
$file_name = replace_dangerous_char($file_name,'strict');
|
|
|
$file_name = strtolower($file_name);
|
|
@@ -43,6 +45,7 @@ class word_document extends learnpath {
|
|
|
$file['name'] = $file_name.$file_extension;
|
|
|
|
|
|
|
|
|
+
|
|
|
$dir_name = '/'.$file_name;
|
|
|
|
|
|
|
|
@@ -90,7 +93,6 @@ class word_document extends learnpath {
|
|
|
}
|
|
|
else {
|
|
|
// create lp
|
|
|
- $learnpath_name .= $file_name;
|
|
|
|
|
|
$this->lp_id = learnpath::add_lp($_course['id'], $learnpath_name,'','guess','manual');
|
|
|
$content = file_get_contents($base_work_dir.$created_dir.'/'.$file_name.'.html');
|
|
@@ -111,7 +113,7 @@ class word_document extends learnpath {
|
|
|
|
|
|
$key +=1;
|
|
|
|
|
|
- $page_content = $this->format_page_content($header, $page_content);
|
|
|
+ $page_content = $this->format_page_content($header, $page_content, $base_work_dir.$created_dir);
|
|
|
$html_file = $created_dir.'-'.$key.'.html';
|
|
|
$handle = fopen($base_work_dir.$created_dir.'/'.$html_file,'w+');
|
|
|
fwrite($handle, $page_content);
|
|
@@ -125,7 +127,7 @@ class word_document extends learnpath {
|
|
|
api_item_property_update($_course,TOOL_DOCUMENT,$document_id,'DocumentAdded',$_SESSION['_uid'],$to_group_id,$to_user_id);
|
|
|
|
|
|
$infos = pathinfo($file);
|
|
|
- $slide_name = 'page'.str_repeat('0',2-strlen($key)).$key;
|
|
|
+ $slide_name = 'Page '.str_repeat('0',2-strlen($key)).$key;
|
|
|
$previous = learnpath::add_item(0, $previous, 'document', $document_id, $slide_name, '');
|
|
|
if($first_item == 0){
|
|
|
$first_item = $previous;
|
|
@@ -145,7 +147,7 @@ class word_document extends learnpath {
|
|
|
}
|
|
|
|
|
|
|
|
|
- function format_page_content($header, $content)
|
|
|
+ function format_page_content($header, $content, $path_to_folder)
|
|
|
{
|
|
|
|
|
|
// Tidy
|
|
@@ -153,14 +155,16 @@ class word_document extends learnpath {
|
|
|
$config = array(
|
|
|
'indent' => true,
|
|
|
'output-xhtml' => true,
|
|
|
- 'wrap' => 200);
|
|
|
+ 'wrap' => 200,
|
|
|
+ 'clean' => true,
|
|
|
+ 'bare' => true);
|
|
|
$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 = preg_replace("|<body[^>]*>|","\\0\r\n<div style=\"width:".$max_width."\">",$content);
|
|
|
$content = str_replace('</body>','</div></body>',$content);
|
|
|
|
|
|
// line break before and after picture
|
|
@@ -174,10 +178,40 @@ class word_document extends learnpath {
|
|
|
|
|
|
$content = str_replace('/*<![cdata[*/','/*<![cdata[*/ '.$style_to_import,$content);
|
|
|
|
|
|
+ $content = str_replace('absolute','relative',$content);
|
|
|
+
|
|
|
+ /*
|
|
|
+ // resize all the picture to the max_width-10
|
|
|
+ preg_match_all("|<img src=\"([^\"]*)\"|",strtolower($content),$images);
|
|
|
+
|
|
|
+ foreach ($images[1] as $image)
|
|
|
+ {
|
|
|
+ list($img_width, $img_height, $type) = getimagesize($path_to_folder.'/'.$image);
|
|
|
+
|
|
|
+ $new_width = $max_width-10;
|
|
|
+ if($img_width > $new_width)
|
|
|
+ {
|
|
|
+ $new_height = round($new_width/$img_width*$img_height);
|
|
|
+
|
|
|
+ include_once (api_get_path(LIBRARY_PATH).'image.lib.php');
|
|
|
+ $src = imagecreatefromgif($path_to_folder.'/'.$image);
|
|
|
+ $dstImg = imagecreatetruecolor($new_width, $new_height);
|
|
|
+
|
|
|
+ $white = imagecolorallocate($dstImg, 255, 255, 255);
|
|
|
+
|
|
|
+ imagefill($dstImg, 0, 0, $white);
|
|
|
+ imageColorTransparent($dstImg, $white);
|
|
|
+ imagecopyresampled($dstImg, $src, 0, 0, 0, 0, $new_width, $new_height, $img_width, $img_height);
|
|
|
+
|
|
|
+ imagegif($dstImg,$path_to_folder.'/2'.$image);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ */
|
|
|
|
|
|
return $content;
|
|
|
|
|
|
}
|
|
|
+
|
|
|
|
|
|
}
|
|
|
?>
|