mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-26 18:03:39 +01:00
Add a button to allow linking to existing VFS files - work in progress
This commit is contained in:
parent
69812c92ee
commit
b2817cf358
@ -212,6 +212,26 @@ class etemplate_widget_link extends etemplate_widget
|
|||||||
$response->data($result !== false);
|
$response->data($result !== false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Symlink an existing file in filemanager
|
||||||
|
*/
|
||||||
|
public static function link_existing($app_id, $files)
|
||||||
|
{
|
||||||
|
list($app, $id) = explode(':', $app_id);
|
||||||
|
$app_path = "/apps/$app/$id";
|
||||||
|
|
||||||
|
if(!is_array($files)) $files = array($files);
|
||||||
|
foreach($files as $target) {
|
||||||
|
if (!egw_vfs::stat($target))
|
||||||
|
{
|
||||||
|
return lang('Link target %1 not found!',egw_vfs::decodePath($target));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
$link = egw_vfs::concat($app_path,egw_vfs::basename($target));
|
||||||
|
egw_vfs::symlink($target,$link);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public function ajax_delete($value) {
|
public function ajax_delete($value) {
|
||||||
$response = egw_json_response::get();
|
$response = egw_json_response::get();
|
||||||
$response->data(egw_link::unlink($value));
|
$response->data(egw_link::unlink($value));
|
||||||
|
@ -128,6 +128,21 @@ var et2_link_to = et2_inputWidget.extend({
|
|||||||
.appendTo(this.div).hide();
|
.appendTo(this.div).hide();
|
||||||
et2_link_entry.prototype.set_blur(this.egw().lang("Comment..."),this.comment);
|
et2_link_entry.prototype.set_blur(this.egw().lang("Comment..."),this.comment);
|
||||||
|
|
||||||
|
// Filemanager link popup
|
||||||
|
this.filemanager_button = $j(document.createElement("img"))
|
||||||
|
.attr("src", this.egw().image("filemanager/navbar"))
|
||||||
|
.addClass("et2_button et2_button_icon")
|
||||||
|
.appendTo(this.div)
|
||||||
|
.click(this, function(e) {
|
||||||
|
// Open the filemanager select in a popup
|
||||||
|
var values = e.data.options.value;
|
||||||
|
e.data.egw().open_link(
|
||||||
|
'/index.php?menuaction=filemanager.filemanager_select.select&mode=open-multiple&method=etemplate_widget_link::link_existing&label=link&id=' + values.to_app + ":" + values.to_id,
|
||||||
|
false,
|
||||||
|
'640x580'
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
// Need a div for file upload widget
|
// Need a div for file upload widget
|
||||||
this.file_div = $j(document.createElement("div")).appendTo(this.div);
|
this.file_div = $j(document.createElement("div")).appendTo(this.div);
|
||||||
|
|
||||||
|
@ -424,6 +424,10 @@ div.et2_link_entry:after {
|
|||||||
.et2_link_to .progress li:hover.success span.ui-icon-comment {
|
.et2_link_to .progress li:hover.success span.ui-icon-comment {
|
||||||
display: inline;
|
display: inline;
|
||||||
}
|
}
|
||||||
|
.et2_link_to .et2_button_icon {
|
||||||
|
float: left;
|
||||||
|
width: 22px;
|
||||||
|
}
|
||||||
|
|
||||||
.et2_link {
|
.et2_link {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
Loading…
Reference in New Issue
Block a user