parent
cc34902ce3
commit
df72f6460f
@ -0,0 +1,97 @@ |
|||||||
|
<?php //$id:$
|
||||||
|
/** |
||||||
|
* Defines the AICC class, which is meant to contain the aicc items (nuclear elements) |
||||||
|
* @package dokeos.learnpath.aicc |
||||||
|
* @author Yannick Warnier <ywarnier@beeznest.org> |
||||||
|
* @license GNU/GPL - See Dokeos license directory for details |
||||||
|
*/ |
||||||
|
/** |
||||||
|
* Defines the "aicc" child of class "learnpath" |
||||||
|
* @package dokeos.learnpath.aicc |
||||||
|
*/ |
||||||
|
|
||||||
|
class presentation extends learnpath { |
||||||
|
|
||||||
|
/** |
||||||
|
* Class constructor. Based on the parent constructor. |
||||||
|
* @param string Course code |
||||||
|
* @param integer Learnpath ID in DB |
||||||
|
* @param integer User ID |
||||||
|
*/ |
||||||
|
function presentation($course_code=null,$resource_id=null,$user_id=null) { |
||||||
|
if($this->debug>0){error_log('In presentation::presentation()',0);} |
||||||
|
if(!empty($course_code) and !empty($resource_id) and !empty($user_id)) |
||||||
|
{ |
||||||
|
parent::learnpath($course_code, $resource_id, $user_id); |
||||||
|
}else{ |
||||||
|
//do nothing but still build the presentation object |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
function convert_presentation($file){ |
||||||
|
|
||||||
|
global $_course, $_user; |
||||||
|
|
||||||
|
|
||||||
|
// get properties of ppt file |
||||||
|
$document_datas = DocumentManager::get_all_document_data($_course, $file); |
||||||
|
$to_group_id = (empty($document_datas['to_group_id'])) ? 0 : $document_datas['to_group_id']; |
||||||
|
$to_user_id = (empty($document_datas['to_user_id'])) ? null : $document_datas['to_user_id']; |
||||||
|
|
||||||
|
//create the directory |
||||||
|
$added_slash = '/'; |
||||||
|
$dir_name = $added_slash.substr($file['name'], 0, strrpos($file['name'],'.')); |
||||||
|
$base_work_dir = api_get_path(SYS_COURSE_PATH).$_course['path'].'/document/'; |
||||||
|
$created_dir = create_unexisting_directory($_course,$_user['user_id'],$to_group_id,$to_user_id,$base_work_dir,$dir_name); |
||||||
|
|
||||||
|
move_uploaded_file($file['tmp_name'],$base_work_dir.$file['name']); |
||||||
|
$file = $base_work_dir.$file['name']; |
||||||
|
chmod($file,0777); |
||||||
|
/* |
||||||
|
* exec java application |
||||||
|
* the parameters of the program are : |
||||||
|
* - javacommand on this server ; |
||||||
|
* - host where openoffice is running; |
||||||
|
* - port with which openoffice is listening |
||||||
|
* - file to convert |
||||||
|
* - folder where put the slides |
||||||
|
* - ftppassword if required |
||||||
|
* The program fills $files with the list of slides created |
||||||
|
*/ |
||||||
|
$cmd = 'cd '.api_get_path(LIBRARY_PATH).'ppt2png && ./launch_ppt2png.sh java localhost 2002 "'.$file.'" "'.$base_work_dir.$created_dir.'"'; |
||||||
|
|
||||||
|
chmod ($base_work_dir.$created_dir,0777); |
||||||
|
|
||||||
|
$shell = exec($cmd, $files, $return); |
||||||
|
|
||||||
|
chmod ($base_work_dir.$created_dir,0744); |
||||||
|
if($return != 0) { //if the java application returns an error code |
||||||
|
DocumentManager::delete_document($_course, $dir_name, $base_work_dir); |
||||||
|
} |
||||||
|
|
||||||
|
else { |
||||||
|
// create lp |
||||||
|
$learnpath_name = 'lp_'; |
||||||
|
$learnpath_name .= basename($file); |
||||||
|
$learnpath_name = substr($learnpath_name,0, strrpos($learnpath_name,'.')); |
||||||
|
|
||||||
|
$this->lp_id = learnpath::add_lp($_course['id'], $learnpath_name,'','guess','manual'); |
||||||
|
$previous = 0; |
||||||
|
foreach($files as $file){ |
||||||
|
$document_id = add_document($_course,$created_dir.'/'.$file,'file',filesize($base_work_dir.$created_dir.'/'.$file),$file); |
||||||
|
if ($document_id){ |
||||||
|
//put the document in item_property update |
||||||
|
api_item_property_update($_course,TOOL_DOCUMENT,$document_id,'DocumentAdded',$_SESSION['_uid'],$to_group_id,$to_user_id); |
||||||
|
|
||||||
|
$infos = pathinfo($file); |
||||||
|
$slide_name = substr($infos['basename'],0,strpos($infos['basename'],'.')); |
||||||
|
$previous = learnpath::add_item(0, $previous, 'document', $document_id, $slide_name, 0); |
||||||
|
|
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
?> |
||||||
Loading…
Reference in new issue