diff --git a/include/text.php b/include/text.php
index 6f66cef651..5aaf047291 100644
--- a/include/text.php
+++ b/include/text.php
@@ -1300,6 +1300,7 @@ function file_tag_save_file($uid,$item,$file) {
$saved = get_pconfig($uid,'system','filetags');
if((! strlen($saved)) || (! stristr($saved,'[' . file_tag_encode($file) . ']')))
set_pconfig($uid,'system','filetags',$saved . '[' . file_tag_encode($file) . ']');
+ info( t('Item filed') );
}
return true;
}
diff --git a/mod/filer.php b/mod/filer.php
index a9e2135361..82537848ba 100755
--- a/mod/filer.php
+++ b/mod/filer.php
@@ -16,8 +16,20 @@ function filer_content(&$a) {
logger('filer: tag ' . $term . ' item ' . $item_id);
- if($item_id && strlen($term))
+ if($item_id && strlen($term)){
+ // file item
file_tag_save_file(local_user(),$item_id,$term);
-
+ } else {
+ // return filer dialog
+ $filetags = get_pconfig(local_user(),'system','filetags');
+ $filetags = explode("][", trim($filetags,"[]"));
+ $tpl = get_markup_template("filer_dialog.tpl");
+ $o = replace_macros($tpl, array(
+ '$field' => array('term', t("File as:"), '', '', $filetags, t('- select -')),
+ '$submit' => t('Save'),
+ ));
+
+ echo $o;
+ }
killme();
}
diff --git a/view/field_combobox.tpl b/view/field_combobox.tpl
new file mode 100644
index 0000000000..6581330714
--- /dev/null
+++ b/view/field_combobox.tpl
@@ -0,0 +1,18 @@
+
+
+
+ {# html5 don't work on Chrome, Safari and IE9
+
+ #}
+
+
+
+
+ $field.3
+
+
diff --git a/view/filer_dialog.tpl b/view/filer_dialog.tpl
new file mode 100644
index 0000000000..ae837d6b74
--- /dev/null
+++ b/view/filer_dialog.tpl
@@ -0,0 +1,4 @@
+{{ inc field_combobox.tpl }}{{ endinc }}
+
+
+
diff --git a/view/jot-header.tpl b/view/jot-header.tpl
index 99e3aa0ec5..67e5eb6810 100755
--- a/view/jot-header.tpl
+++ b/view/jot-header.tpl
@@ -264,15 +264,36 @@ function enableOnUser(){
}
function itemFiler(id) {
- reply = prompt("$fileas");
- if(reply && reply.length) {
- commentBusy = true;
- $('body').css('cursor', 'wait');
- $.get('filer/' + id + '?term=' + reply);
- if(timer) clearTimeout(timer);
- timer = setTimeout(NavUpdate,3000);
- liking = 1;
- }
+
+ var bordercolor = $("input").css("border-color");
+
+ $.get('filer/', function(data){
+ $.fancybox(data);
+ $("#id_term").keypress(function(){
+ $(this).css("border-color",bordercolor);
+ })
+ $("#select_term").change(function(){
+ $("#id_term").css("border-color",bordercolor);
+ })
+
+ $("#filer_save").click(function(e){
+ e.preventDefault();
+ reply = $("#id_term").val();
+ if(reply && reply.length) {
+ commentBusy = true;
+ $('body').css('cursor', 'wait');
+ $.get('filer/' + id + '?term=' + reply);
+ if(timer) clearTimeout(timer);
+ timer = setTimeout(NavUpdate,3000);
+ liking = 1;
+ $.fancybox.close();
+ } else {
+ $("#id_term").css("border-color","#FF0000");
+ }
+ return false;
+ });
+ });
+
}
function jotClearLocation() {
diff --git a/view/theme/dispy-dark/jot-header.tpl b/view/theme/dispy-dark/jot-header.tpl
index 4c8f59d796..92eccf7401 100644
--- a/view/theme/dispy-dark/jot-header.tpl
+++ b/view/theme/dispy-dark/jot-header.tpl
@@ -264,17 +264,39 @@ function enableOnUser(){
}
function itemFiler(id) {
- reply = prompt("$fileas");
- if(reply && reply.length) {
- commentBusy = true;
- $('body').css('cursor', 'wait');
- $.get('filer/' + id + '?term=' + reply);
- if(timer) clearTimeout(timer);
- timer = setTimeout(NavUpdate,3000);
- liking = 1;
- }
+
+ var bordercolor = $("input").css("border-color");
+
+ $.get('filer/', function(data){
+ $.fancybox(data);
+ $("#id_term").keypress(function(){
+ $(this).css("border-color",bordercolor);
+ })
+ $("#select_term").change(function(){
+ $("#id_term").css("border-color",bordercolor);
+ })
+
+ $("#filer_save").click(function(e){
+ e.preventDefault();
+ reply = $("#id_term").val();
+ if(reply && reply.length) {
+ commentBusy = true;
+ $('body').css('cursor', 'wait');
+ $.get('filer/' + id + '?term=' + reply);
+ if(timer) clearTimeout(timer);
+ timer = setTimeout(NavUpdate,3000);
+ liking = 1;
+ $.fancybox.close();
+ } else {
+ $("#id_term").css("border-color","#FF0000");
+ }
+ return false;
+ });
+ });
+
}
+
function jotClearLocation() {
$('#jot-coord').val('');
$('#profile-nolocation-wrapper').hide();
diff --git a/view/theme/dispy/jot-header.tpl b/view/theme/dispy/jot-header.tpl
index 4c8f59d796..92eccf7401 100644
--- a/view/theme/dispy/jot-header.tpl
+++ b/view/theme/dispy/jot-header.tpl
@@ -264,17 +264,39 @@ function enableOnUser(){
}
function itemFiler(id) {
- reply = prompt("$fileas");
- if(reply && reply.length) {
- commentBusy = true;
- $('body').css('cursor', 'wait');
- $.get('filer/' + id + '?term=' + reply);
- if(timer) clearTimeout(timer);
- timer = setTimeout(NavUpdate,3000);
- liking = 1;
- }
+
+ var bordercolor = $("input").css("border-color");
+
+ $.get('filer/', function(data){
+ $.fancybox(data);
+ $("#id_term").keypress(function(){
+ $(this).css("border-color",bordercolor);
+ })
+ $("#select_term").change(function(){
+ $("#id_term").css("border-color",bordercolor);
+ })
+
+ $("#filer_save").click(function(e){
+ e.preventDefault();
+ reply = $("#id_term").val();
+ if(reply && reply.length) {
+ commentBusy = true;
+ $('body').css('cursor', 'wait');
+ $.get('filer/' + id + '?term=' + reply);
+ if(timer) clearTimeout(timer);
+ timer = setTimeout(NavUpdate,3000);
+ liking = 1;
+ $.fancybox.close();
+ } else {
+ $("#id_term").css("border-color","#FF0000");
+ }
+ return false;
+ });
+ });
+
}
+
function jotClearLocation() {
$('#jot-coord').val('');
$('#profile-nolocation-wrapper').hide();
diff --git a/view/theme/testbubble/jot-header.tpl b/view/theme/testbubble/jot-header.tpl
index b44ea78fdd..0d11da2717 100755
--- a/view/theme/testbubble/jot-header.tpl
+++ b/view/theme/testbubble/jot-header.tpl
@@ -304,6 +304,41 @@ function initEditor(cb) {
}
}
}
+
+ function itemFiler(id) {
+
+ var bordercolor = $("input").css("border-color");
+
+ $.get('filer/', function(data){
+ $.fancybox(data);
+ $("#id_term").keypress(function(){
+ $(this).css("border-color",bordercolor);
+ })
+ $("#select_term").change(function(){
+ $("#id_term").css("border-color",bordercolor);
+ })
+
+ $("#filer_save").click(function(e){
+ e.preventDefault();
+ reply = $("#id_term").val();
+ if(reply && reply.length) {
+ commentBusy = true;
+ $('body').css('cursor', 'wait');
+ $.get('filer/' + id + '?term=' + reply);
+ if(timer) clearTimeout(timer);
+ timer = setTimeout(NavUpdate,3000);
+ liking = 1;
+ $.fancybox.close();
+ } else {
+ $("#id_term").css("border-color","#FF0000");
+ }
+ return false;
+ });
+ });
+
+ }
+
+
function jotClearLocation() {
$('#jot-coord').val('');