Kaynağa Gözat

file as widget and basic filing implementation for duepuntozero,slackr

much more work needed - this is just for test/evaluation currently
tags/2.39
friendica 8 yıl önce
ebeveyn
işleme
be48fff157
11 değiştirilmiş dosya ile 101 ekleme ve 4 silme
  1. +29
    -0
      include/contact_widgets.php
  2. +2
    -0
      include/conversation.php
  3. +1
    -1
      include/text.php
  4. +23
    -0
      mod/filer.php
  5. +1
    -0
      mod/network.php
  6. +12
    -0
      view/fileas_widget.tpl
  7. +12
    -0
      view/jot-header.tpl
  8. BIN
      view/theme/duepuntozero/file.gif
  9. +20
    -3
      view/theme/duepuntozero/style.css
  10. +1
    -0
      view/theme/duepuntozero/wall_item.tpl
  11. BIN
      view/theme/greenzero/file.gif

+ 29
- 0
include/contact_widgets.php Dosyayı Görüntüle

@@ -75,4 +75,33 @@ function networks_widget($baseurl,$selected = '') {
));
}

function fileas_widget($baseurl,$selected = '') {
$a = get_app();
if(! local_user())
return '';

$saved = get_pconfig(local_user(),'system','filetags');
if(! strlen($saved))
return;

$matches = false;
$terms = array();
$cnt = preg_match_all('/\[(.*?)\]/',$saved,$matches,PREG_SET_ORDER);
if($cnt) {
foreach($matches as $mtch) {
$unescaped = file_tag_decode($mtch[1]);
$terms[] = array('name' => $unescaped,'selected' => (($selected == $unescaped) ? 'selected' : ''));
}
}

return replace_macros(get_markup_template('fileas_widget.tpl'),array(
'$title' => t('File Selections'),
'$desc' => '',
'$sel_all' => (($selected == '') ? 'selected' : ''),
'$all' => t('Everything'),
'$terms' => $terms,
'$base' => $baseurl,

));
}


+ 2
- 0
include/conversation.php Dosyayı Görüntüle

@@ -572,6 +572,7 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
'classundo' => (($item['starred']) ? "" : "hidden"),
'starred' => t('starred'),
'tagger' => t("add tag"),
'filer' => t("file as"),
'classtagger' => "",
);
}
@@ -874,6 +875,7 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) {
'$vidurl' => t("Please enter a video link/URL:"),
'$audurl' => t("Please enter an audio link/URL:"),
'$term' => t('Tag term:'),
'$fileas' => t('File as:'),
'$whereareu' => t('Where are you right now?'),
'$title' => t('Enter a title for this item')
));


+ 1
- 1
include/text.php Dosyayı Görüntüle

@@ -1294,7 +1294,7 @@ function file_tag_save_file($uid,$item,$file) {
if(count($r)) {
if(! stristr($r[0]['file'],'[' . file_tag_encode($file) . ']'))
q("update item set file = '%s' where id = %d and uid = %d limit 1",
dbesc($r[0]['file'] . '[' . $file_tag_encode($file) . ']'),
dbesc($r[0]['file'] . '[' . file_tag_encode($file) . ']'),
intval($item),
intval($uid)
);


+ 23
- 0
mod/filer.php Dosyayı Görüntüle

@@ -0,0 +1,23 @@
<?php

require_once('include/security.php');
require_once('include/bbcode.php');
require_once('include/items.php');


function filer_content(&$a) {

if(! local_user()) {
killme();
}

$term = notags(trim($_GET['term']));
$item_id = (($a->argc > 1) ? notags(trim($a->argv[1])) : 0);

logger('filer: tag ' . $term . ' item ' . $item_id);

if($item_id && strlen($term))
file_tag_save_file(local_user(),$item_id,$term);

killme();
}

+ 1
- 0
mod/network.php Dosyayı Görüntüle

@@ -46,6 +46,7 @@ function network_init(&$a) {
$a->page['aside'] .= group_side('network','network',true,$group_id);
$a->page['aside'] .= networks_widget($a->get_baseurl() . '/network',(x($_GET, 'nets') ? $_GET['nets'] : ''));
$a->page['aside'] .= saved_searches($search);
$a->page['aside'] .= fileas_widget($a->get_baseurl() . '/network',(x($_GET, 'file') ? $_GET['file'] : ''));

}



+ 12
- 0
view/fileas_widget.tpl Dosyayı Görüntüle

@@ -0,0 +1,12 @@
<div id="fileas-sidebar" class="widget">
<h3>$title</h3>
<div id="nets-desc">$desc</div>
<ul class="fileas-ul">
<li class="tool"><a href="$base" class="fileas-link fileas-all{{ if $sel_all }} fileas-selected{{ endif }}">$all</a></li>
{{ for $terms as $term }}
<li class="tool"><a href="$base?f=&file=$term.name" class="fileas-link{{ if $term.selected }} fileas-selected{{ endif }}">$term.name</a></li>
{{ endfor }}
</ul>
</div>

+ 12
- 0
view/jot-header.tpl Dosyayı Görüntüle

@@ -262,6 +262,18 @@ 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;
}
}

function jotClearLocation() {
$('#jot-coord').val('');
$('#profile-nolocation-wrapper').hide();


BIN
view/theme/duepuntozero/file.gif Dosyayı Görüntüle

Önce Sonra
Genişlik: 16  |  Yükseklik: 16  |  Boyut: 615 B

+ 20
- 3
view/theme/duepuntozero/style.css Dosyayı Görüntüle

@@ -309,7 +309,7 @@ div.wall-item-content-wrapper.shiny {
margin-bottom: 10px;
}

.group-selected, .nets-selected {
.group-selected, .nets-selected, .fileas-selected {
padding: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
@@ -1024,6 +1024,10 @@ input#dfrn-url {
float: left;
}

.filer-item {
margin-left: 10px;
float: left;
}

.wall-item-links-wrapper {
float: left;
@@ -1864,11 +1868,11 @@ a.mail-list-link {
margin-top: 10px;
}

.nets-ul {
.nets-ul, .fileas-ul {
list-style-type: none;
}

.nets-ul li {
.nets-ul li, .fileas-ul li {
margin-top: 10px;
}

@@ -1879,6 +1883,14 @@ a.mail-list-link {
margin-left: 42px;
}

.fileas-link {
margin-left: 24px;
}

.fileas-all {
margin-left: 0px;
}

#search-save {
margin-left: 5px;
}
@@ -2902,6 +2914,11 @@ aside input[type='text'] {
.tagged { background-position: -48px -48px; }


.filer-icon {
display: block; width: 16px; height: 16px;
background-image: url('file.gif');
}

.icon.dim { opacity: 0.3;filter:alpha(opacity=30); }

.attachtype {


+ 1
- 0
view/theme/duepuntozero/wall_item.tpl Dosyayı Görüntüle

@@ -56,6 +56,7 @@
{{ if $item.star }}
<a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle"></a>
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a>
<a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item filer-icon" title="$item.star.filer"></a>
{{ endif }}
<div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$item.id" >


BIN
view/theme/greenzero/file.gif Dosyayı Görüntüle

Önce Sonra
Genişlik: 16  |  Yükseklik: 16  |  Boyut: 614 B

Yükleniyor…
İptal
Kaydet