|
@@ -325,22 +325,58 @@ function display_student_publications_list($work_dir,$sub_course_dir,$currentCou
|
|
|
|
|
|
foreach($dirs_list as $dir)
|
|
|
{
|
|
|
+
|
|
|
$mydir = $my_sub_dir.$dir;
|
|
|
+ $display_edit_form = false;
|
|
|
+
|
|
|
+ if(isset($_GET['edit_dir']) && $_GET['edit_dir']==$mydir)
|
|
|
+ {
|
|
|
+ $display_edit_form = true;
|
|
|
+ $form_folder = new FormValidator('edit_dir', 'post', api_get_self().'?curdirpath='.$my_sub_dir.'&edit_dir='.$mydir);
|
|
|
+ $group_name[] = FormValidator :: createElement('text','dir_name');
|
|
|
+ $group_name[] = FormValidator :: createElement('submit','submit_edit_dir',get_lang('Ok'));
|
|
|
+ $form_folder -> addGroup($group_name,'my_group');
|
|
|
+ $form_folder -> addGroupRule('my_group',get_lang('ThisFieldIsRequired'),'required');
|
|
|
+ $form_folder -> setDefaults(array('my_group[dir_name]'=>$dir));
|
|
|
+ if($form_folder -> validate())
|
|
|
+ {
|
|
|
+ $values = $form_folder -> exportValues();
|
|
|
+ $values = $values['my_group'];
|
|
|
+ update_dir_name($mydir,$values['dir_name']);
|
|
|
+ $mydir = $my_sub_dir.$values['dir_name'];
|
|
|
+ $dir = $values['dir_name'];
|
|
|
+ $display_edit_form = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
$action = '';
|
|
|
//display info depending on the permissions
|
|
|
$row = array();
|
|
|
$class = '';
|
|
|
$url = implode("/", array_map("rawurlencode", explode("/", $work->url)));
|
|
|
+
|
|
|
+ if($display_edit_form)
|
|
|
+ {
|
|
|
+ $row[] = $form_folder->toHtml();
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ $row[] = '<a href="'.api_get_self().'?'.api_get_cidreq().
|
|
|
+ '&curdirpath='.$mydir.'"'.$class.'><img src="../img/folder_document.gif" alt="dir" height="20" width="20" align="absbottom"/> '.$dir.'</a>';
|
|
|
+ }
|
|
|
+ $row[] = '';
|
|
|
+
|
|
|
|
|
|
$row[] = '<img src="../img/folder_document.gif" border="0" hspace="5" align="middle" />';
|
|
|
$row[] = '<a href="'.api_get_self().'?'.api_get_cidreq().'&curdirpath='.$mydir.'"'.$class.'>'.$dir.'</a>';
|
|
|
+
|
|
|
$row[] = '';
|
|
|
$row[] = '';
|
|
|
|
|
|
if( $is_allowed_to_edit)
|
|
|
{
|
|
|
- //$action .= '<a href="'.api_get_self().'?cidReq='.api_get_course_id().
|
|
|
- // '&edit_dir='.$mydir.'"><img src="../img/edit.gif" alt="'.get_lang('Modify').'"></a>';
|
|
|
+ $action .= '<a href="'.api_get_self().'?cidReq='.api_get_course_id().
|
|
|
+ '&curdirpath='.$my_sub_dir.'&edit_dir='.$mydir.'"><img src="../img/edit.gif" alt="'.get_lang('Modify').'"></a>';
|
|
|
$action .= '<img src="'.api_get_path(WEB_IMG_PATH).'edit_na.gif" alt="'.get_lang('Modify').'">';
|
|
|
$action .= '<a href="'.api_get_self().'?'.api_get_cidreq().'&delete_dir='.$mydir.'" onclick="javascript:if(!confirm('."'".addslashes(htmlentities(get_lang('ConfirmYourChoice'),ENT_QUOTES,$charset))."'".')) return false;" title="'.get_lang('DirDelete').'" ><img src="'.api_get_path(WEB_IMG_PATH).'delete.gif" alt="'.get_lang('DirDelete').'"></a>';
|
|
|
$row[] = $action;
|
|
@@ -669,4 +705,36 @@ function update_work_url($id,$new_path){
|
|
|
return $res2;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+/**
|
|
|
+ * Update the url of a dir in the student_publication table
|
|
|
+ * @param string old path
|
|
|
+ * @param string new path
|
|
|
+ */
|
|
|
+function update_dir_name($path, $new_name)
|
|
|
+{
|
|
|
+ global $base_work_dir;
|
|
|
+
|
|
|
+ include_once(api_get_path(LIBRARY_PATH) . "/fileManage.lib.php");
|
|
|
+ include_once(api_get_path(LIBRARY_PATH) . "/fileUpload.lib.php");
|
|
|
+
|
|
|
+ $path_to_dir = dirname($path);
|
|
|
+ if($path_to_dir=='.')
|
|
|
+ $path_to_dir = '';
|
|
|
+ else
|
|
|
+ $path_to_dir .= '/';
|
|
|
+
|
|
|
+ my_rename($base_work_dir.'/'.$path,$new_name);
|
|
|
+
|
|
|
+ $table = Database::get_course_table(TABLE_STUDENT_PUBLICATION);
|
|
|
+ $sql = 'SELECT id, url FROM '.$table.' WHERE url LIKE "work/'.$path.'/%"';
|
|
|
+ $rs = api_sql_query($sql, __FILE__, __LINE__);
|
|
|
+ while($work = Database :: fetch_array($rs))
|
|
|
+ {
|
|
|
+ $work_name = basename($work['url']);
|
|
|
+ //echo $work_name;
|
|
|
+ $sql = 'UPDATE '.$table.' SET url="work/'.$path_to_dir.$new_name.'/'.$work_name.'" WHERE id= '.$work['id'];
|
|
|
+ api_sql_query($sql, __FILE__, __LINE__);
|
|
|
+ }
|
|
|
+}
|
|
|
?>
|