http://www.dokeos.com/forum/viewtopic.php?t=7982skala
parent
e8ec224615
commit
1150048a4b
File diff suppressed because it is too large
Load Diff
@ -1,100 +1,100 @@ |
||||
<?php //$id:$
|
||||
/** |
||||
* File containing the declaration of the learnpathList class. |
||||
* @package dokeos.learningpath |
||||
* @author Yannick Warnier <ywarnier@beeznest.org> |
||||
*/ |
||||
/** |
||||
* This class is only a learning path list container with several practical methods for sorting the list and |
||||
* provide links to specific paths |
||||
* @uses Database.lib.php to use the database |
||||
* @uses learnpath.class.php to generate learnpath objects to get in the list |
||||
*/ |
||||
class learnpathList { |
||||
var $list = array(); //holds a flat list of learnpaths data from the database |
||||
var $ref_list = array(); //holds a list of references to the learnpaths objects (only filled by get_refs()) |
||||
var $alpha_list = array(); //holds a flat list of learnpaths sorted by alphabetical name order |
||||
var $course_code; |
||||
var $user_id; |
||||
var $refs_active = false; |
||||
|
||||
/** |
||||
* This method is the constructor for the learnpathList. It gets a list of available learning paths from |
||||
* the database and creates the learnpath objects. This list depends on the user that is connected |
||||
* (only displays) items if he has enough permissions to view them. |
||||
* @param integer User ID |
||||
* @param string Optional course code (otherwise we use api_get_course_id()) |
||||
* @return void |
||||
*/ |
||||
function learnpathList($user_id,$course_code='') { |
||||
if(!empty($course_code)){ |
||||
//proceed with course code given |
||||
}else{ |
||||
$course_code = api_get_course_id(); |
||||
$lp_table = Database::get_course_table('lp'); |
||||
} |
||||
$this->course_code = $course_code; |
||||
$this->user_id = $user_id; |
||||
$sql = "SELECT * FROM $lp_table ORDER BY name ASC"; |
||||
$res = api_sql_query($sql); |
||||
$names = array(); |
||||
while ($row = Database::fetch_array($res)) |
||||
{ |
||||
$tbl_tool = Database::get_course_table(TOOL_LIST_TABLE); |
||||
//use domesticate here instead of mysql_real_escape_string because |
||||
//it prevents ' to be slashed and the input (done by learnpath.class.php::toggle_visibility()) |
||||
//is done using domesticate() |
||||
$myname = domesticate($row['name']); |
||||
$mylink = 'newscorm/lp_controller.php?mode=view&lp_id='.$row['id']; |
||||
$sql2="SELECT * FROM $tbl_tool where (name='$myname' and image='scormbuilder.gif' and link LIKE '$mylink%')"; |
||||
//error_log('New LP - learnpathList::learnpathList - getting visibility - '.$sql2,0); |
||||
$res2 = api_sql_query($sql2,__FILE__,__LINE__); |
||||
if(Database::num_rows($res2)>0){ |
||||
$row2 = Database::fetch_array($res2); |
||||
$vis = $row2['visibility']; |
||||
}else{ |
||||
$vis = 'i'; |
||||
} |
||||
|
||||
$this->list[$row['id']] = array( |
||||
'lp_type' => $row['lp_type'], |
||||
'lp_name' => stripslashes($row['name']), |
||||
'lp_desc' => stripslashes($row['description']), |
||||
'lp_path' => $row['path'], |
||||
'lp_view_mode' => $row['default_view_mod'], |
||||
'lp_force_commit' => $row['force_commit'], |
||||
'lp_maker' => stripslashes($row['content_maker']), |
||||
'lp_proximity' => $row['content_local'], |
||||
'lp_encoding' => $row['default_encoding'], |
||||
'lp_progress' => $row['progress'], |
||||
'lp_visibility' => $vis, |
||||
'lp_prevent_reinit' => $row['prevent_reinit'], |
||||
'lp_scorm_debug' => $row['debug'], |
||||
); |
||||
$names[$row['name']]=$row['id']; |
||||
} |
||||
$this->alpha_list = asort($names); |
||||
} |
||||
/** |
||||
* Gets references to learnpaths for all learnpaths IDs kept in the local list. |
||||
* This applies a transformation internally on list and ref_list and returns a copy of the refs list |
||||
* @return array List of references to learnpath objects |
||||
*/ |
||||
function get_refs(){ |
||||
foreach($this->list as $id => $dummy) |
||||
{ |
||||
$this->ref_list[$id] = new learnpath($this->course_code,$id,$this->user_id); |
||||
} |
||||
$this->refs_active = true; |
||||
return $this->ref_list; |
||||
} |
||||
/** |
||||
* Gets a table of the different learnpaths we have at the moment |
||||
* @return array Learnpath info as [lp_id] => ([lp_type]=> ..., [lp_name]=>...,[lp_desc]=>...,[lp_path]=>...) |
||||
*/ |
||||
function get_flat_list() |
||||
{ |
||||
return $this->list; |
||||
} |
||||
} |
||||
?> |
||||
<?php //$id:$
|
||||
/** |
||||
* File containing the declaration of the learnpathList class. |
||||
* @package dokeos.learningpath |
||||
* @author Yannick Warnier <ywarnier@beeznest.org> |
||||
*/ |
||||
/** |
||||
* This class is only a learning path list container with several practical methods for sorting the list and |
||||
* provide links to specific paths |
||||
* @uses Database.lib.php to use the database |
||||
* @uses learnpath.class.php to generate learnpath objects to get in the list |
||||
*/ |
||||
class learnpathList { |
||||
var $list = array(); //holds a flat list of learnpaths data from the database |
||||
var $ref_list = array(); //holds a list of references to the learnpaths objects (only filled by get_refs()) |
||||
var $alpha_list = array(); //holds a flat list of learnpaths sorted by alphabetical name order |
||||
var $course_code; |
||||
var $user_id; |
||||
var $refs_active = false; |
||||
|
||||
/** |
||||
* This method is the constructor for the learnpathList. It gets a list of available learning paths from |
||||
* the database and creates the learnpath objects. This list depends on the user that is connected |
||||
* (only displays) items if he has enough permissions to view them. |
||||
* @param integer User ID |
||||
* @param string Optional course code (otherwise we use api_get_course_id()) |
||||
* @return void |
||||
*/ |
||||
function learnpathList($user_id,$course_code='') { |
||||
if(!empty($course_code)){ |
||||
//proceed with course code given |
||||
}else{ |
||||
$course_code = api_get_course_id(); |
||||
$lp_table = Database::get_course_table('lp'); |
||||
} |
||||
$this->course_code = $course_code; |
||||
$this->user_id = $user_id; |
||||
$sql = "SELECT * FROM $lp_table ORDER BY name ASC"; |
||||
$res = api_sql_query($sql); |
||||
$names = array(); |
||||
while ($row = Database::fetch_array($res)) |
||||
{ |
||||
$tbl_tool = Database::get_course_table(TABLE_TOOL_LIST); |
||||
//use domesticate here instead of mysql_real_escape_string because |
||||
//it prevents ' to be slashed and the input (done by learnpath.class.php::toggle_visibility()) |
||||
//is done using domesticate() |
||||
$myname = domesticate($row['name']); |
||||
$mylink = 'newscorm/lp_controller.php?mode=view&lp_id='.$row['id']; |
||||
$sql2="SELECT * FROM $tbl_tool where (name='$myname' and image='scormbuilder.gif' and link LIKE '$mylink%')"; |
||||
//error_log('New LP - learnpathList::learnpathList - getting visibility - '.$sql2,0); |
||||
$res2 = api_sql_query($sql2,__FILE__,__LINE__); |
||||
if(Database::num_rows($res2)>0){ |
||||
$row2 = Database::fetch_array($res2); |
||||
$vis = $row2['visibility']; |
||||
}else{ |
||||
$vis = 'i'; |
||||
} |
||||
|
||||
$this->list[$row['id']] = array( |
||||
'lp_type' => $row['lp_type'], |
||||
'lp_name' => stripslashes($row['name']), |
||||
'lp_desc' => stripslashes($row['description']), |
||||
'lp_path' => $row['path'], |
||||
'lp_view_mode' => $row['default_view_mod'], |
||||
'lp_force_commit' => $row['force_commit'], |
||||
'lp_maker' => stripslashes($row['content_maker']), |
||||
'lp_proximity' => $row['content_local'], |
||||
'lp_encoding' => $row['default_encoding'], |
||||
'lp_progress' => $row['progress'], |
||||
'lp_visibility' => $vis, |
||||
'lp_prevent_reinit' => $row['prevent_reinit'], |
||||
'lp_scorm_debug' => $row['debug'], |
||||
); |
||||
$names[$row['name']]=$row['id']; |
||||
} |
||||
$this->alpha_list = asort($names); |
||||
} |
||||
/** |
||||
* Gets references to learnpaths for all learnpaths IDs kept in the local list. |
||||
* This applies a transformation internally on list and ref_list and returns a copy of the refs list |
||||
* @return array List of references to learnpath objects |
||||
*/ |
||||
function get_refs(){ |
||||
foreach($this->list as $id => $dummy) |
||||
{ |
||||
$this->ref_list[$id] = new learnpath($this->course_code,$id,$this->user_id); |
||||
} |
||||
$this->refs_active = true; |
||||
return $this->ref_list; |
||||
} |
||||
/** |
||||
* Gets a table of the different learnpaths we have at the moment |
||||
* @return array Learnpath info as [lp_id] => ([lp_type]=> ..., [lp_name]=>...,[lp_desc]=>...,[lp_path]=>...) |
||||
*/ |
||||
function get_flat_list() |
||||
{ |
||||
return $this->list; |
||||
} |
||||
} |
||||
?> |
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,234 +1,234 @@ |
||||
<?php //$id: $
|
||||
/** |
||||
* Process part of the document sub-process for upload. This script MUST BE included by upload/index.php |
||||
* as it prepares most of the variables needed here. |
||||
* @package dokeos.upload |
||||
* @author Yannick Warnier <ywarnier@beeznest.org> |
||||
*/ |
||||
/** |
||||
* Process the document and return to the document tool |
||||
*/ |
||||
|
||||
/* |
||||
----------------------------------------------------------- |
||||
Libraries |
||||
----------------------------------------------------------- |
||||
*/ |
||||
|
||||
//many useful functions in main_api.lib.php, by default included |
||||
|
||||
require_once(api_get_path(LIBRARY_PATH) . 'fileUpload.lib.php'); |
||||
require_once(api_get_path(LIBRARY_PATH) . 'events.lib.inc.php'); |
||||
require_once(api_get_path(LIBRARY_PATH) . 'document.lib.php'); |
||||
require_once('../document/document.inc.php'); |
||||
|
||||
//REMOVE |
||||
// If we want to unzip a file, we need the library |
||||
if (isset($_POST['unzip']) && $_POST['unzip'] == 1) |
||||
{ |
||||
require_once(api_get_path(LIBRARY_PATH).'pclzip/pclzip.lib.php'); |
||||
} |
||||
/* |
||||
----------------------------------------------------------- |
||||
Variables |
||||
- some need defining before inclusion of libraries |
||||
----------------------------------------------------------- |
||||
*/ |
||||
$courseDir = $_course['path']."/document"; |
||||
$sys_course_path = api_get_path(SYS_COURSE_PATH); |
||||
$base_work_dir = $sys_course_path.$courseDir; |
||||
$noPHP_SELF=true; |
||||
$max_filled_space = DocumentManager::get_course_quota(); |
||||
|
||||
//what's the current path? |
||||
if(isset($_POST['curdirpath'])) { |
||||
$path = $_POST['curdirpath']; |
||||
}else{ |
||||
$path = '/'; |
||||
} |
||||
|
||||
// Check the path |
||||
// If the path is not found (no document id), set the path to / |
||||
if(!DocumentManager::get_document_id($_course,$path)) { $path = '/'; } |
||||
|
||||
/** |
||||
* Header |
||||
*/ |
||||
|
||||
$nameTools = get_lang('UplUploadDocument'); |
||||
$interbreadcrumb[]=array("url"=>"./document.php?curdirpath=".urlencode($path).$req_gid, "name"=> $langDocuments); |
||||
Display::display_header($nameTools,"Doc"); |
||||
//show the title |
||||
api_display_tool_title($nameTools.$add_group_to_title); |
||||
|
||||
/** |
||||
* Process |
||||
*/ |
||||
|
||||
//user has submitted a file |
||||
if(isset($_FILES['user_upload'])) |
||||
{ |
||||
//echo("<pre>"); |
||||
//print_r($_FILES['user_upload']); |
||||
//echo("</pre>"); |
||||
|
||||
$upload_ok = process_uploaded_file($_FILES['user_upload']); |
||||
if($upload_ok) |
||||
{ |
||||
//file got on the server without problems, now process it |
||||
$new_path = handle_uploaded_document($_course, $_FILES['user_upload'],$base_work_dir,$_POST['curdirpath'],$_user['user_id'],$to_group_id,$to_user_id,$max_filled_space,$_POST['unzip'],$_POST['if_exists']); |
||||
$new_comment = isset($_POST['comment']) ? trim($_POST['comment']) : ''; |
||||
$new_title = isset($_POST['title']) ? trim($_POST['title']) : ''; |
||||
|
||||
if ($new_path && ($new_comment || $new_title)) |
||||
if (($docid = DocumentManager::get_document_id($_course, $new_path))) |
||||
{ |
||||
$table_document = Database::get_course_table(DOCUMENT_TABLE); |
||||
$ct = ''; |
||||
if ($new_comment) $ct .= ", comment='$new_comment'"; |
||||
if ($new_title) $ct .= ", title='$new_title'"; |
||||
api_sql_query("UPDATE $table_document SET" . substr($ct, 1) . |
||||
" WHERE id = '$docid'", __FILE__, __LINE__); |
||||
} |
||||
//check for missing images in html files |
||||
$missing_files = check_for_missing_files($base_work_dir.$_POST['curdirpath'].$new_path); |
||||
if($missing_files) |
||||
{ |
||||
//show a form to upload the missing files |
||||
Display::display_normal_message(build_missing_files_form($missing_files,$_POST['curdirpath'],$_FILES['user_upload']['name'])); |
||||
} |
||||
} |
||||
} |
||||
//missing images are submitted |
||||
if(isset($_POST['submit_image'])) |
||||
{ |
||||
$number_of_uploaded_images = count($_FILES['img_file']['name']); |
||||
//if images are uploaded |
||||
if ($number_of_uploaded_images > 0) |
||||
{ |
||||
//we could also create a function for this, I'm not sure... |
||||
//create a directory for the missing files |
||||
$img_directory = str_replace('.','_',$_POST['related_file']."_files"); |
||||
$missing_files_dir = create_unexisting_directory($_course,$_user['user_id'],$to_group_id,$to_user_id,$base_work_dir,$img_directory); |
||||
//put the uploaded files in the new directory and get the paths |
||||
$paths_to_replace_in_file = move_uploaded_file_collection_into_directory($_course, $_FILES['img_file'],$base_work_dir,$missing_files_dir,$_user['user_id'],$to_group_id,$to_user_id,$max_filled_space); |
||||
//open the html file and replace the paths |
||||
replace_img_path_in_html_file($_POST['img_file_path'],$paths_to_replace_in_file,$base_work_dir.$_POST['related_file']); |
||||
//update parent folders |
||||
item_property_update_on_folder($_course,$_POST['curdirpath'],$_user['user_id']); |
||||
} |
||||
} |
||||
//they want to create a directory |
||||
if(isset($_POST['create_dir']) && $_POST['dirname']!='') |
||||
{ |
||||
$added_slash = ($path=='/')?'':'/'; |
||||
$dir_name = $path.$added_slash.replace_dangerous_char($_POST['dirname']); |
||||
$created_dir = create_unexisting_directory($_course,$_user['user_id'],$to_group_id,$to_user_id,$base_work_dir,$dir_name,$_POST['dirname']); |
||||
if($created_dir) |
||||
{ |
||||
//Display::display_normal_message("<strong>".$created_dir."</strong> was created!"); |
||||
Display::display_normal_message(get_lang('DirCr')); |
||||
$path = $created_dir; |
||||
} |
||||
else |
||||
{ |
||||
display_error(get_lang('CannotCreateDir')); |
||||
} |
||||
} |
||||
|
||||
//tracking not needed here? |
||||
//event_access_tool(TOOL_DOCUMENT); |
||||
|
||||
/*============================================================================*/ |
||||
?> |
||||
|
||||
<?php |
||||
//=======================================// |
||||
//they want to create a new directory// |
||||
//=======================================// |
||||
|
||||
if(isset($_GET['createdir'])) |
||||
{ |
||||
//create the form that asks for the directory name |
||||
$new_folder_text = '<form action="'.$_SERVER['PHP_SELF'].'" method="POST">'; |
||||
$new_folder_text .= '<input type="hidden" name="curdirpath" value="'.$path.'"/>'; |
||||
$new_folder_text .= get_lang('NewDir') .' '; |
||||
$new_folder_text .= '<input type="text" name="dirname"/>'; |
||||
$new_folder_text .= '<input type="submit" name="create_dir" value="'.get_lang('Ok').'"/>'; |
||||
$new_folder_text .= '</form>'; |
||||
//show the form |
||||
Display::display_normal_message($new_folder_text); |
||||
} |
||||
else { //give them a link to create a directory |
||||
?> |
||||
<p><a href="<?php echo $_SERVER['PHP_SELF']; ?>?path=<?php echo $path; ?>&createdir=1"><img src="../img/new_folder.gif" border="0" align="absmiddle" alt ="" /> <?php echo(get_lang('CreateDir'));?></a></p>
|
||||
<?php |
||||
} |
||||
?> |
||||
|
||||
<div id="folderselector"> |
||||
<?php |
||||
//form to select directory |
||||
//$folders = DocumentManager::get_all_document_folders($_course,$to_group_id,$is_allowed_to_edit); |
||||
//echo(build_directory_selector($folders,$path,$group_properties['directory'])); |
||||
?> |
||||
</div> |
||||
|
||||
<!-- start upload form --> |
||||
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST" name="upload" enctype="multipart/form-data">
|
||||
<!-- <input type="hidden" name="MAX_FILE_SIZE" value="5400"> --> |
||||
<input type="hidden" name="curdirpath" value="<?php echo $path; ?>">
|
||||
<table> |
||||
<tr> |
||||
<td valign="top"> |
||||
<?php echo get_lang('File'); ?> |
||||
</td> |
||||
<td> |
||||
<input type="file" name="user_upload"/> |
||||
</td> |
||||
</tr> |
||||
<?php |
||||
if(get_setting('use_document_title')=='true') |
||||
{ |
||||
?> |
||||
<tr> |
||||
<td><?php echo get_lang('Title');?></td>
|
||||
<td><input type="text" size="20" name="title" style="width:300px;"></td> |
||||
</tr> |
||||
<?php
|
||||
} |
||||
?> |
||||
<tr> |
||||
<td valign="top"><?php echo get_lang('Comment');?></td>
|
||||
<td><textarea rows="3" cols="20" name="comment" wrap="virtual" style="width:300px;"></textarea></td> |
||||
</tr> |
||||
<tr> |
||||
<td valign="top"> |
||||
<?php echo get_lang('Options'); ?> |
||||
</td> |
||||
<td> |
||||
- <input type="checkbox" name="unzip" value="1" onclick="check_unzip()"/> <?php echo(get_lang('Uncompress'));?><br/>
|
||||
- <?php echo (get_lang('UplWhatIfFileExists'));?><br/>
|
||||
<input type="radio" name="if_exists" value="nothing" title="<?php echo (get_lang('UplDoNothingLong'));?>" checked="checked"/> <?php echo (get_lang('UplDoNothing'));?><br/>
|
||||
<input type="radio" name="if_exists" value="overwrite" title="<?php echo (get_lang('UplOverwriteLong'));?>"/> <?php echo (get_lang('UplOverwrite'));?><br/>
|
||||
<input type="radio" name="if_exists" value="rename" title="<?php echo (get_lang('UplRenameLong'));?>"/> <?php echo (get_lang('UplRename'));?> |
||||
|
||||
</td> |
||||
</tr> |
||||
</table> |
||||
|
||||
<input type="submit" value="<?php echo(get_lang('Ok'));?>">
|
||||
</form> |
||||
<!-- end upload form --> |
||||
|
||||
<!-- so they can get back to the documents --> |
||||
<p><?php echo (get_lang('Back'));?> <?php echo (get_lang('To'));?> <a href="document.php?curdirpath=<?php echo $path; ?>"><?php echo (get_lang('DocumentsOverview'));?></a></p>
|
||||
|
||||
<?php |
||||
/* |
||||
============================================================================== |
||||
FOOTER |
||||
============================================================================== |
||||
*/ |
||||
Display::display_footer(); |
||||
<?php //$id: $
|
||||
/** |
||||
* Process part of the document sub-process for upload. This script MUST BE included by upload/index.php |
||||
* as it prepares most of the variables needed here. |
||||
* @package dokeos.upload |
||||
* @author Yannick Warnier <ywarnier@beeznest.org> |
||||
*/ |
||||
/** |
||||
* Process the document and return to the document tool |
||||
*/ |
||||
|
||||
/* |
||||
----------------------------------------------------------- |
||||
Libraries |
||||
----------------------------------------------------------- |
||||
*/ |
||||
|
||||
//many useful functions in main_api.lib.php, by default included |
||||
|
||||
require_once(api_get_path(LIBRARY_PATH) . 'fileUpload.lib.php'); |
||||
require_once(api_get_path(LIBRARY_PATH) . 'events.lib.inc.php'); |
||||
require_once(api_get_path(LIBRARY_PATH) . 'document.lib.php'); |
||||
require_once('../document/document.inc.php'); |
||||
|
||||
//REMOVE |
||||
// If we want to unzip a file, we need the library |
||||
if (isset($_POST['unzip']) && $_POST['unzip'] == 1) |
||||
{ |
||||
require_once(api_get_path(LIBRARY_PATH).'pclzip/pclzip.lib.php'); |
||||
} |
||||
/* |
||||
----------------------------------------------------------- |
||||
Variables |
||||
- some need defining before inclusion of libraries |
||||
----------------------------------------------------------- |
||||
*/ |
||||
$courseDir = $_course['path']."/document"; |
||||
$sys_course_path = api_get_path(SYS_COURSE_PATH); |
||||
$base_work_dir = $sys_course_path.$courseDir; |
||||
$noPHP_SELF=true; |
||||
$max_filled_space = DocumentManager::get_course_quota(); |
||||
|
||||
//what's the current path? |
||||
if(isset($_POST['curdirpath'])) { |
||||
$path = $_POST['curdirpath']; |
||||
}else{ |
||||
$path = '/'; |
||||
} |
||||
|
||||
// Check the path |
||||
// If the path is not found (no document id), set the path to / |
||||
if(!DocumentManager::get_document_id($_course,$path)) { $path = '/'; } |
||||
|
||||
/** |
||||
* Header |
||||
*/ |
||||
|
||||
$nameTools = get_lang('UplUploadDocument'); |
||||
$interbreadcrumb[]=array("url"=>"./document.php?curdirpath=".urlencode($path).$req_gid, "name"=> $langDocuments); |
||||
Display::display_header($nameTools,"Doc"); |
||||
//show the title |
||||
api_display_tool_title($nameTools.$add_group_to_title); |
||||
|
||||
/** |
||||
* Process |
||||
*/ |
||||
|
||||
//user has submitted a file |
||||
if(isset($_FILES['user_upload'])) |
||||
{ |
||||
//echo("<pre>"); |
||||
//print_r($_FILES['user_upload']); |
||||
//echo("</pre>"); |
||||
|
||||
$upload_ok = process_uploaded_file($_FILES['user_upload']); |
||||
if($upload_ok) |
||||
{ |
||||
//file got on the server without problems, now process it |
||||
$new_path = handle_uploaded_document($_course, $_FILES['user_upload'],$base_work_dir,$_POST['curdirpath'],$_user['user_id'],$to_group_id,$to_user_id,$max_filled_space,$_POST['unzip'],$_POST['if_exists']); |
||||
$new_comment = isset($_POST['comment']) ? trim($_POST['comment']) : ''; |
||||
$new_title = isset($_POST['title']) ? trim($_POST['title']) : ''; |
||||
|
||||
if ($new_path && ($new_comment || $new_title)) |
||||
if (($docid = DocumentManager::get_document_id($_course, $new_path))) |
||||
{ |
||||
$table_document = Database::get_course_table(TABLE_DOCUMENT); |
||||
$ct = ''; |
||||
if ($new_comment) $ct .= ", comment='$new_comment'"; |
||||
if ($new_title) $ct .= ", title='$new_title'"; |
||||
api_sql_query("UPDATE $table_document SET" . substr($ct, 1) . |
||||
" WHERE id = '$docid'", __FILE__, __LINE__); |
||||
} |
||||
//check for missing images in html files |
||||
$missing_files = check_for_missing_files($base_work_dir.$_POST['curdirpath'].$new_path); |
||||
if($missing_files) |
||||
{ |
||||
//show a form to upload the missing files |
||||
Display::display_normal_message(build_missing_files_form($missing_files,$_POST['curdirpath'],$_FILES['user_upload']['name'])); |
||||
} |
||||
} |
||||
} |
||||
//missing images are submitted |
||||
if(isset($_POST['submit_image'])) |
||||
{ |
||||
$number_of_uploaded_images = count($_FILES['img_file']['name']); |
||||
//if images are uploaded |
||||
if ($number_of_uploaded_images > 0) |
||||
{ |
||||
//we could also create a function for this, I'm not sure... |
||||
//create a directory for the missing files |
||||
$img_directory = str_replace('.','_',$_POST['related_file']."_files"); |
||||
$missing_files_dir = create_unexisting_directory($_course,$_user['user_id'],$to_group_id,$to_user_id,$base_work_dir,$img_directory); |
||||
//put the uploaded files in the new directory and get the paths |
||||
$paths_to_replace_in_file = move_uploaded_file_collection_into_directory($_course, $_FILES['img_file'],$base_work_dir,$missing_files_dir,$_user['user_id'],$to_group_id,$to_user_id,$max_filled_space); |
||||
//open the html file and replace the paths |
||||
replace_img_path_in_html_file($_POST['img_file_path'],$paths_to_replace_in_file,$base_work_dir.$_POST['related_file']); |
||||
//update parent folders |
||||
item_property_update_on_folder($_course,$_POST['curdirpath'],$_user['user_id']); |
||||
} |
||||
} |
||||
//they want to create a directory |
||||
if(isset($_POST['create_dir']) && $_POST['dirname']!='') |
||||
{ |
||||
$added_slash = ($path=='/')?'':'/'; |
||||
$dir_name = $path.$added_slash.replace_dangerous_char($_POST['dirname']); |
||||
$created_dir = create_unexisting_directory($_course,$_user['user_id'],$to_group_id,$to_user_id,$base_work_dir,$dir_name,$_POST['dirname']); |
||||
if($created_dir) |
||||
{ |
||||
//Display::display_normal_message("<strong>".$created_dir."</strong> was created!"); |
||||
Display::display_normal_message(get_lang('DirCr')); |
||||
$path = $created_dir; |
||||
} |
||||
else |
||||
{ |
||||
display_error(get_lang('CannotCreateDir')); |
||||
} |
||||
} |
||||
|
||||
//tracking not needed here? |
||||
//event_access_tool(TOOL_DOCUMENT); |
||||
|
||||
/*============================================================================*/ |
||||
?> |
||||
|
||||
<?php |
||||
//=======================================// |
||||
//they want to create a new directory// |
||||
//=======================================// |
||||
|
||||
if(isset($_GET['createdir'])) |
||||
{ |
||||
//create the form that asks for the directory name |
||||
$new_folder_text = '<form action="'.$_SERVER['PHP_SELF'].'" method="POST">'; |
||||
$new_folder_text .= '<input type="hidden" name="curdirpath" value="'.$path.'"/>'; |
||||
$new_folder_text .= get_lang('NewDir') .' '; |
||||
$new_folder_text .= '<input type="text" name="dirname"/>'; |
||||
$new_folder_text .= '<input type="submit" name="create_dir" value="'.get_lang('Ok').'"/>'; |
||||
$new_folder_text .= '</form>'; |
||||
//show the form |
||||
Display::display_normal_message($new_folder_text); |
||||
} |
||||
else { //give them a link to create a directory |
||||
?> |
||||
<p><a href="<?php echo $_SERVER['PHP_SELF']; ?>?path=<?php echo $path; ?>&createdir=1"><img src="../img/new_folder.gif" border="0" align="absmiddle" alt ="" /> <?php echo(get_lang('CreateDir'));?></a></p>
|
||||
<?php |
||||
} |
||||
?> |
||||
|
||||
<div id="folderselector"> |
||||
<?php |
||||
//form to select directory |
||||
//$folders = DocumentManager::get_all_document_folders($_course,$to_group_id,$is_allowed_to_edit); |
||||
//echo(build_directory_selector($folders,$path,$group_properties['directory'])); |
||||
?> |
||||
</div> |
||||
|
||||
<!-- start upload form --> |
||||
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST" name="upload" enctype="multipart/form-data">
|
||||
<!-- <input type="hidden" name="MAX_FILE_SIZE" value="5400"> --> |
||||
<input type="hidden" name="curdirpath" value="<?php echo $path; ?>">
|
||||
<table> |
||||
<tr> |
||||
<td valign="top"> |
||||
<?php echo get_lang('File'); ?> |
||||
</td> |
||||
<td> |
||||
<input type="file" name="user_upload"/> |
||||
</td> |
||||
</tr> |
||||
<?php |
||||
if(get_setting('use_document_title')=='true') |
||||
{ |
||||
?> |
||||
<tr> |
||||
<td><?php echo get_lang('Title');?></td>
|
||||
<td><input type="text" size="20" name="title" style="width:300px;"></td> |
||||
</tr> |
||||
<?php
|
||||
} |
||||
?> |
||||
<tr> |
||||
<td valign="top"><?php echo get_lang('Comment');?></td>
|
||||
<td><textarea rows="3" cols="20" name="comment" wrap="virtual" style="width:300px;"></textarea></td> |
||||
</tr> |
||||
<tr> |
||||
<td valign="top"> |
||||
<?php echo get_lang('Options'); ?> |
||||
</td> |
||||
<td> |
||||
- <input type="checkbox" name="unzip" value="1" onclick="check_unzip()"/> <?php echo(get_lang('Uncompress'));?><br/>
|
||||
- <?php echo (get_lang('UplWhatIfFileExists'));?><br/>
|
||||
<input type="radio" name="if_exists" value="nothing" title="<?php echo (get_lang('UplDoNothingLong'));?>" checked="checked"/> <?php echo (get_lang('UplDoNothing'));?><br/>
|
||||
<input type="radio" name="if_exists" value="overwrite" title="<?php echo (get_lang('UplOverwriteLong'));?>"/> <?php echo (get_lang('UplOverwrite'));?><br/>
|
||||
<input type="radio" name="if_exists" value="rename" title="<?php echo (get_lang('UplRenameLong'));?>"/> <?php echo (get_lang('UplRename'));?> |
||||
|
||||
</td> |
||||
</tr> |
||||
</table> |
||||
|
||||
<input type="submit" value="<?php echo(get_lang('Ok'));?>">
|
||||
</form> |
||||
<!-- end upload form --> |
||||
|
||||
<!-- so they can get back to the documents --> |
||||
<p><?php echo (get_lang('Back'));?> <?php echo (get_lang('To'));?> <a href="document.php?curdirpath=<?php echo $path; ?>"><?php echo (get_lang('DocumentsOverview'));?></a></p>
|
||||
|
||||
<?php |
||||
/* |
||||
============================================================================== |
||||
FOOTER |
||||
============================================================================== |
||||
*/ |
||||
Display::display_footer(); |
||||
?> |
Loading…
Reference in new issue