[svn r10146] remove ppt2lpfeature from document tool

skala
Eric Marguin 19 years ago
parent a93bc5a260
commit fb2ed8e798
  1. 114
      main/document/document.php

@ -1,4 +1,4 @@
<?php // $Id: document.php 10124 2006-11-22 17:19:37Z elixir_inter $
<?php // $Id: document.php 10146 2006-11-23 07:55:38Z elixir_inter $
/*
==============================================================================
Dokeos - elearning and course management software
@ -67,13 +67,8 @@ include("../inc/global.inc.php");
$this_section=SECTION_COURSES;
include('document.inc.php');
include(api_get_path(LIBRARY_PATH).'/xajax/xajax.inc.php');
$xajax = new Xajax();
//$xajax -> debugOn();
$xajax -> registerFunction('launch_ppt2lp');
api_protect_course_script();
//session
@ -219,108 +214,6 @@ $course_quota = DocumentManager::get_course_quota();
==============================================================================
*/
/**
* Function called with xajax.
* It create a directory named like the powerpoint file and generate slides from it.
* @param $file the path of the powerpoint document
* @return XajaxResponse object
*/
function launch_ppt2lp($file){
global $_course,$_user, $openoffice_conf, $base_work_dir;
$response = new XajaxResponse();
// lp tables
$tbl_learnpath_item = Database::get_course_table(LEARNPATH_ITEM_TABLE);
$tbl_learnpath_chapter = Database::get_course_table(LEARNPATH_CHAPTER_TABLE);
$tbl_learnpath_main = Database::get_course_table(LEARNPATH_MAIN_TABLE);
$tbl_tool = Database::get_course_table(TOOL_LIST_TABLE);
$file = urldecode($file);
// 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, 1, strrpos($file,'.')-1);
$created_dir = create_unexisting_directory($_course,$_user['user_id'],$to_group_id,$to_user_id,$base_work_dir,$dir_name);
chmod ($base_work_dir.$created_dir,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 '.$openoffice_conf['javacommand'].' '.$openoffice_conf['host'].' '.$openoffice_conf['port'].' "'.$base_work_dir.$file.'" "'.$base_work_dir.$created_dir.'" '.$openoffice_conf['ftppasswd'];
$files = array();
$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);
$response -> addAssign('ajax_response', 'innerHTML', '<div class="error-message">'.get_lang('nookppt2lp').' : '.$return.$cmd.'</div>');
$response -> addScript('document.getElementById("documents_content").style.display="block"');
}
else {
// create lp
$learnpath_name = 'lp_';
$learnpath_name .= substr($_GET['file'], strrpos($_GET['file'],'/')+1);
$learnpath_name = substr($learnpath_name,0, strrpos($learnpath_name,'.'));
$learnpath_description = '';
$sql ="INSERT INTO $tbl_learnpath_main (learnpath_name, learnpath_description) VALUES ('".domesticate($learnpath_name)."','".domesticate($learnpath_description)."')";
api_sql_query($sql,__FILE__,__LINE__);
$my_lp_id = Database::get_last_insert_id();
$sql ="INSERT INTO $tbl_tool (name, link, image, visibility, admin, address, added_tool) VALUES ('".domesticate($learnpath_name)."','learnpath/learnpath_handler.php?learnpath_id=$my_lp_id','scormbuilder.gif','1','0','squaregrey.gif',0)";
api_sql_query($sql,__FILE__,__LINE__);
// insert a new module
$title = 'slides';
$omschrijving = '';
$order = 1;
$sql ="INSERT INTO $tbl_learnpath_chapter (learnpath_id, chapter_name, chapter_description, display_order) VALUES ('".domesticate($my_lp_id)."', '".domesticate(htmlspecialchars($title))."','".domesticate(htmlspecialchars($omschrijving))."', '".domesticate($order)."')";
$result=api_sql_query($sql,__FILE__,__LINE__);
$chapter_id = Database::get_last_insert_id();
$order = 1;
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);
$sql = "INSERT INTO $tbl_learnpath_item (chapter_id, item_type, item_id, display_order) VALUES ('$chapter_id', 'Document','".$document_id."','".$order."')";
$result = api_sql_query($sql, __FILE__, __LINE__);
$order++;
}
}
// redirect on the lp view
$response -> addScript('document.location="../learnpath/showinframes.php?source_id=5&action=&learnpath_id='.$my_lp_id.'&chapter_id=&originalresource=no";');
}
return $response;
}
$xajax -> processRequests();
//-------------------------------------------------------------------//
if ($_GET['action']=="download")
{
@ -693,10 +586,7 @@ if($docs_and_folders)
if ($is_allowed_to_edit || $group_member_with_upload_rights)
{
$edit_icons = build_edit_icons($curdirpath,$id['filetype'],$id['path'],$id['visibility'],$key);
// if ppt2lp is actived and it's a ppt-like document, we display a link on which an ajax event is linked : prepare_ppt2lp (see upper)
if(in_array(substr($id['path'],strrpos($id['path'],'.')+1),array("ppt","odp"))){
$edit_icons .= '<a href="#" onclick="prepare_ppt2lp(\''.urlencode($id['path']).'\')" title="'.get_lang('Ppt2lp').'" alt="'.get_lang('Ppt2lp').'"><img src="../img/recycle.gif" border="0" /></a>';
}
$row[] = $edit_icons;
}
$sortable_data[] = $row;

Loading…
Cancel
Save