Merge branch 'master' into trinidad

This commit is contained in:
friendica 2014-12-29 23:58:14 -08:00
commit 2f650b74d3
30 changed files with 5378 additions and 5315 deletions

View File

@ -1,4 +1,3 @@
url: https://github.com/friendica/red/issues
requires: local_user
name: Bug Report
photo: $baseurl/app/bugreport.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

@ -1,4 +1,4 @@
url: $baseurl/profile/$nick
requires: local_user
name: Profile
name: View profile
photo: $baseurl/app/profile.png

BIN
app/profile.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

@ -242,6 +242,8 @@ define ( 'PHOTO_XCHAN', 0x0002 );
define ( 'PHOTO_THING', 0x0004 );
define ( 'PHOTO_ADULT', 0x0008 );
define ( 'PHOTO_FLAG_OS', 0x4000 );
/**
* Menu types
*/

View File

@ -128,6 +128,9 @@ This document assumes you're an administrator.
When requesting a random profile, check that it actually exists first
[b]randprofile > retry[/b]
Number of times to retry getting a random profile
[b]system > photo_cache_time[/b]
How long to cache photos, in seconds. Default is 86400 (1 day).
Longer time increases performance, but it also means it takes longer for changed permissions to apply.
#include doc/macros/main_footer.bb;

View File

@ -283,7 +283,7 @@ else {
@file_put_contents($authlog, datetime_convert() . ':' . session_id() . ' ' . $error . "\n", FILE_APPEND);
notice( t('Login failed.') . EOL );
goaway(z_root());
goaway(z_root() . '/login');
}
// If the user specified to remember the authentication, then change the cookie

View File

@ -22,7 +22,7 @@ function tryzrlaudio($match) {
$zrl = is_matrix_url($link);
if($zrl)
$link = zid($link);
return '<audio src="' . $link . '" controls="controls" ><a href="' . $link . '">' . $link . '</a></audio>';
return '<audio src="' . str_replace(' ','%20',$link) . '" controls="controls" ><a href="' . str_replace(' ','%20',$link) . '">' . $link . '</a></audio>';
}
function tryzrlvideo($match) {
@ -30,7 +30,7 @@ function tryzrlvideo($match) {
$zrl = is_matrix_url($link);
if($zrl)
$link = zid($link);
return '<video controls="controls" src="' . $link . '" style="width:100%; max-width:' . get_app()->videowidth . 'px"><a href="' . $link . '">' . $link . '</a></video>';
return '<video controls="controls" src="' . str_replace(' ','%20',$link) . '" style="width:100%; max-width:' . get_app()->videowidth . 'px"><a href="' . str_replace(' ','%20',$link) . '">' . $link . '</a></video>';
}

View File

@ -28,8 +28,13 @@ function manage_content(&$a) {
if($change_channel) {
$r = change_channel($change_channel);
if($r && $r['channel_startpage'])
goaway(z_root() . '/' . $r['channel_startpage']);
if((argc() > 2) && !(argv(2) === 'default')) {
goaway(z_root() . '/' . implode('/',array_slice($a->argv,2))); // Go to whatever is after /manage/, but with the new channel
}
else {
if($r && $r['channel_startpage'])
goaway(z_root() . '/' . $r['channel_startpage']); // If nothing extra is specified, go to the default page
}
goaway(z_root());
}
@ -41,15 +46,12 @@ function manage_content(&$a) {
intval(PAGE_REMOVED)
);
$selected_channel = null;
$account = get_app()->get_account();
if($r && count($r)) {
$channels = $r;
for($x = 0; $x < count($channels); $x ++) {
$channels[$x]['link'] = 'manage/' . intval($channels[$x]['channel_id']);
if($channels[$x]['channel_id'] == local_user())
$selected_channel = $channels[$x];
$channels[$x]['default'] = (($channels[$x]['channel_id'] == $account['account_default_channel']) ? "1" : '');
$channels[$x]['default_links'] = '1';
@ -147,12 +149,14 @@ function manage_content(&$a) {
$o = replace_macros(get_markup_template('channels.tpl'), array(
'$header' => t('Channel Manager'),
'$msg_selected' => t('Current Channel'),
'$selected' => $selected_channel,
'$desc' => t('Attach to one of your channels by selecting it.'),
'$selected' => local_user(),
'$desc' => t('Switch to one of your channels by selecting it.'),
'$msg_default' => t('Default Channel'),
'$msg_make_default' => t('Make Default'),
'$links' => $links,
'$all_channels' => $channels,
'$mail_format' => t('%d new messages'),
'$intros_format' => t('%d new introductions'),
'$channel_usage_message' => $channel_usage_message,
));

View File

@ -46,6 +46,7 @@ function ping_init(&$a) {
if(local_user()) {
$vnotify = get_pconfig(local_user(),'system','vnotify');
$evdays = intval(get_pconfig(local_user(),'system','evdays'));
$ob_hash = get_observer_hash();
}
// if unset show all visual notification types
@ -275,10 +276,12 @@ function ping_init(&$a) {
$result = array();
$r = q("SELECT * FROM item
WHERE item_restrict = %d and ( item_flags & %d ) > 0 and uid = %d",
WHERE item_restrict = %d and ( item_flags & %d ) > 0 and uid = %d
and author_xchan != '%s' ",
intval(ITEM_VISIBLE),
intval(ITEM_UNSEEN),
intval(local_user())
intval(local_user()),
dbesc($ob_hash)
);
if($r) {
@ -381,10 +384,12 @@ function ping_init(&$a) {
if($vnotify & (VNOTIFY_NETWORK|VNOTIFY_CHANNEL)) {
$r = q("SELECT id, item_restrict, item_flags FROM item
WHERE (item_restrict = %d) and ( item_flags & %d ) > 0 and uid = %d",
WHERE (item_restrict = %d) and ( item_flags & %d ) > 0 and uid = %d
and author_xchan != '%s'",
intval(ITEM_VISIBLE),
intval(ITEM_UNSEEN),
intval(local_user())
intval(local_user()),
dbesc($ob_hash)
);
if($r) {

View File

@ -156,9 +156,14 @@ function profiles_init(&$a) {
// Run profile_load() here to make sure the theme is set before
// we start loading content
if((argc() > 1) && (intval(argv(1)))) {
if(((argc() > 1) && (intval(argv(1)))) || !feature_enabled(local_user(),'multi_profiles')) {
if(feature_enabled(local_user(),'multi_profiles'))
$id = $a->argv[1];
else
$id = q("select id from profile where uid = %d and is_default = 1",local_user())[0]['id'];
$r = q("SELECT * FROM `profile` WHERE `id` = %d AND `uid` = %d LIMIT 1",
intval($a->argv[1]),
intval($id),
intval(local_user())
);
if(! count($r)) {
@ -556,9 +561,14 @@ function profiles_content(&$a) {
$profile_fields_basic = get_profile_fields_basic();
$profile_fields_advanced = get_profile_fields_advanced();
if((argc() > 1) && (intval(argv(1)))) {
if(((argc() > 1) && (intval(argv(1)))) || !feature_enabled(local_user(),'multi_profiles')) {
if(feature_enabled(local_user(),'multi_profiles'))
$id = $a->argv[1];
else
$id = q("select id from profile where uid = %d and is_default = 1",local_user())[0]['id'];
$r = q("SELECT * FROM `profile` WHERE `id` = %d AND `uid` = %d LIMIT 1",
intval($a->argv[1]),
intval($id),
intval(local_user())
);
if(! count($r)) {

View File

@ -73,7 +73,7 @@ function po2php_run($argv, $argc) {
}
$match=Array();
preg_match("|\[([0-9]*)\] (.*)|", $l, $match);
$out .= "\t".
$out .= "\t".
preg_replace_callback($escape_s_exp,'escape_s',$match[1])
." => "
.preg_replace_callback($escape_s_exp,'escape_s',$match[2]) .",\n";
@ -83,7 +83,7 @@ function po2php_run($argv, $argc) {
if ($ink) {
$k .= trim($l,"\"\r\n");
$k .= trim_message($l);
$k = preg_replace_callback($escape_s_exp,'escape_s',$k);
//$out .= '$a->strings['.$k.'] = ';
}
@ -93,7 +93,7 @@ function po2php_run($argv, $argc) {
if ($k!="") $out .= $arr?");\n":";\n";
$arr=False;
$k = str_replace("msgid ","",$l);
$k = trim($k,"\"\r\n");
$k = trim_message($k);
$k = $ctx.$k;
// echo $ctx ? $ctx."\nX\n":"";
$k = preg_replace_callback($escape_s_exp,'escape_s',$k);
@ -102,14 +102,14 @@ function po2php_run($argv, $argc) {
}
if ($inv && substr($l,0,6)!="msgstr" && substr($l,0,7)!="msgctxt") {
$v .= trim($l,"\"\r\n");
$v .= trim_message($l);
$v = preg_replace_callback($escape_s_exp,'escape_s',$v);
//$out .= '$a->strings['.$k.'] = ';
}
if (substr($l,0,7)=="msgctxt") {
$ctx = str_replace("msgctxt ","",$l);
$ctx = trim($ctx,"\"\r\n");
$ctx = trim_message($ctx);
$ctx = "__ctx:".$ctx."__ ";
$ctx = preg_replace_callback($escape_s_exp,'escape_s',$ctx);
}
@ -123,6 +123,14 @@ function po2php_run($argv, $argc) {
}
function trim_message($str) {
// Almost same as trim("\"\r\n") except that escaped quotes are preserved
$str = trim($str, "\r\n");
$str = ltrim($str, "\"");
$str = preg_replace('/(?<!\\\)"+$/', '', $str);
return $str;
}
if (array_search(__file__,get_included_files())===0){
po2php_run($argv,$argc);
}

View File

@ -1 +1 @@
2014-12-27.902
2014-12-29.904

View File

@ -4,15 +4,39 @@
display: none;
}
[id^="perms-panel-"] {
padding: 3px 10px 0px 10px !important;
}
#attach-code,
#link-code {
display: none;
}
#cloud-index {
width: 100%;
}
#cloud-index td:nth-child(1){
padding: 3px 4px 3px 0px;
padding: 7px 3px 7px 10px;
}
#cloud-index th:nth-child(8),
#cloud-index td:nth-child(8){
padding: 7px 3px;
white-space: nowrap;
}
#cloud-index th:nth-child(9),
#cloud-index td:nth-child(9){
padding: 7px 10px 7px 7px;
white-space: nowrap;
}
.cloud-index-tool {
padding: 3px 4px;
padding: 7px 10px;
}
#files-upload {
padding: 2px;
}

View File

@ -1,7 +1,6 @@
#channels-selected {
color: #666666;
font-size: 0.8em;
}
#channels-desc {
@ -14,33 +13,23 @@
.channels-break {
margin-bottom: 15px;
}
#selected-channel {
float: left;
margin-left: 0;
}
.channels-end.selected {
clear: both;
}
#selected-channel .channel-selection {
clear: both;
margin: 0 auto 0 auto;
}
.channel-selection-default {
font-size: 0.8em;
margin-bottom: 10px;
}
#all-channels .channel-selection {
.channel-selection {
width: 12em;
height: 16em;
float: left;
margin: 0 15px 15px 0;
text-align: center;
}
.channels-end {
clear: both;
.channel-selection img {
display: block;
margin-left: auto;
margin-right: auto;
}
.channel-selection-name-link {
@ -50,7 +39,6 @@
.channel-selection-name-link .channel-name {
padding-top: 10px;
text-align: left;
word-wrap: break-word;
overflow: hidden;
}
@ -59,3 +47,7 @@
clear: both;
padding-top: 10px;
}
.selected-channel img {
border: 2px solid #ff0000;
}

View File

@ -25,6 +25,5 @@
}
#photos-upload-choose {
border: unset;
padding: unset;
padding: 2px;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -468,7 +468,7 @@ function updateConvItems(mode,data) {
$('#' + prev).after($(this));
if(isVisible)
showHideComments(itmId);
$(".autotime").timeago();
$(".autotime",this).timeago();
}
else {
$('img',this).each(function() {
@ -479,7 +479,7 @@ function updateConvItems(mode,data) {
$('#' + ident).replaceWith($(this));
if(isVisible)
showHideComments(itmId);
$(".autotime").timeago();
$(".autotime",this).timeago();
}
prev = ident;
});
@ -510,7 +510,7 @@ function updateConvItems(mode,data) {
$('#threads-end').before($(this));
if(isVisible)
showHideComments(itmId);
$(".autotime").timeago();
$(".autotime",this).timeago();
}
else {
$('img',this).each(function() {
@ -521,7 +521,7 @@ function updateConvItems(mode,data) {
$('#' + ident).replaceWith($(this));
if(isVisible)
showHideComments(itmId);
$(".autotime").timeago();
$(".autotime",this).timeago();
}
});
@ -555,7 +555,7 @@ function updateConvItems(mode,data) {
$('#' + prev).after($(this));
if(isVisible)
showHideComments(itmId);
$(".autotime").timeago();
$(".autotime",this).timeago();
}
prev = ident;
@ -844,10 +844,12 @@ function updateConvItems(mode,data) {
}
function filestorage(event,nick,id) {
$('#cloud-index-' + last_filestorage_id).removeClass('cloud-index-active');
$('#perms-panel-' + last_filestorage_id).hide().html('');
$('#file-edit-' + id).spin('tiny');
delete acl;
$.get('filestorage/' + nick + '/' + id + '/edit', function(data) {
$('#cloud-index-' + id).addClass('cloud-index-active');
$('#perms-panel-' + id).html(data).show();
$('#file-edit-' + id).spin(false);
last_filestorage_id = id;

View File

@ -3,16 +3,6 @@ var ispublic = aStr['everybody'];
$(document).ready(function() {
$("a#photos-upload-perms-menu").colorbox({
'inline' : true,
'transition' : 'elastic'
});
$("a#settings-default-perms-menu").colorbox({
'inline' : true,
'transition' : 'elastic'
});
var a;
a = $("#photo-edit-newtag").autocomplete({
serviceUrl: baseurl + '/acl',

View File

@ -689,18 +689,6 @@ footer {
overflow: hidden;
}
#photos-upload-perms-menu, #photos-upload-perms-menu:visited, #photos-upload-perms-menu:link {
color: #8888FF;
text-decoration: none;
cursor: pointer;
}
#photos-upload-perms-menu:hover {
color: #0000FF;
text-decoration: underline;
cursor: pointer;
}
#photo-view-wrapper {
background-color: $item_colour;
}
@ -1774,7 +1762,6 @@ img.mail-list-sender-photo {
color: #777;
}
#jot-perms-icon,
.jot-icons {
color: $toolicon_colour;
}
@ -2031,6 +2018,43 @@ nav .dropdown-menu>li>a:hover,nav .dropdown-menu>li>a:focus{
color: $nav_active_icon_colour;
}
.section-title-wrapper {
padding: 7px 10px;
background-color: $item_colour;
border-top-left-radius: $radiuspx;
border-top-right-radius: $radiuspx;
margin-bottom: 3px;
}
.section-title-wrapper h2 {
margin-top: 0px;
margin-bottom: 0px;
}
.section-content-tools-wrapper {
padding: 7px 10px;
background-color: $comment_item_colour;
margin-bottom: 3px;
}
.section-content-wrapper {
padding: 7px 10px;
background-color: $comment_item_colour;
border-bottom-left-radius: $radiuspx;
border-bottom-right-radius: $radiuspx;
}
.section-content-wrapper-np {
background-color: $comment_item_colour;
border-bottom-left-radius: $radiuspx;
border-bottom-right-radius: $radiuspx;
}
[id^="cloud-index-"]:hover,
.cloud-index-active {
background-color: $item_colour;
}
/* bootstrap overrides */
blockquote {
@ -2226,32 +2250,6 @@ aside .nav > li > a:hover, aside .nav > li > a:focus {
background-image: linear-gradient(to bottom, $advperm_gradientcol 0px, $advperm_bgcolour 100%);
}
.section-title-wrapper {
padding: 7px 10px;
background-color: $item_colour;
border-top-left-radius: $radiuspx;
border-top-right-radius: $radiuspx;
margin-bottom: 3px;
}
.section-title-wrapper h2 {
margin-top: 0px;
margin-bottom: 0px;
}
.section-content-tools-wrapper {
padding: 7px 10px;
background-color: $comment_item_colour;
margin-bottom: 3px;
}
.section-content-wrapper {
padding: 7px 10px;
background-color: $comment_item_colour;
border-bottom-left-radius: $radiuspx;
border-bottom-right-radius: $radiuspx;
}
@media screen and (max-width: 767px) {
aside#region_1 {
background: rgba(0, 0, 0, .1);

View File

@ -34,7 +34,7 @@
{{include file="field_input.tpl" field=$nav_min_opacity}}
{{include file="field_input.tpl" field=$top_photo}}
{{include file="field_input.tpl" field=$reply_photo}}
{{include file="field_checkbox.tpl" field=$sloppy_photos}}
{{*include file="field_checkbox.tpl" field=$sloppy_photos*}}
<script>
$(function(){
$('#id_redbasic_nav_bg,#id_redbasic_nav_gradient_top,#id_redbasic_nav_gradient_bottom,#id_redbasic_nav_active_gradient_top,#id_redbasic_nav_active_gradient_bottom').colorpicker();

View File

@ -18,7 +18,6 @@
<li><a href='{{$admin.channels.0}}'>{{$admin.channels.1}}</a></li>
<li><a href='{{$admin.plugins.0}}'>{{$admin.plugins.1}}</a></li>
<li><a href='{{$admin.themes.0}}'>{{$admin.themes.1}}</a></li>
<li><a href='{{$admin.hubloc.0}}'>{{$admin.hubloc.1}}</a></li>
<li><a href='{{$admin.dbsync.0}}'>{{$admin.dbsync.1}}</a></li>
</ul>
</div>

View File

@ -1,34 +1,41 @@
<form action="filestorage/{{$channelnick}}/{{$file.id}}/edit" method="post" >
<div id="attach-edit-perms" >
<button id="dbtn-acl" class="btn btn-default btn-sm" data-toggle="modal" data-target="#aclModal" title="{{$permset}}" onclick="return false;">
<i id="jot-perms-icon" class="icon-{{$lockstate}} jot-icons"></i>
</button>
<button id="dbtn-submit" class="btn btn-primary btn-sm" type="submit" name="submit">
{{$submit}}
</button>
</div>
<div id="attach-edit-tools" class="btn-group form-group">
{{if !$isadir}}
<a href="/rpost?body=[attachment]{{$file.hash}},{{$file.revision}}[/attachment]" id="attach-btn" class="btn btn-default btn-xs">
<i class="icon-paperclip jot-icons"></i>
</a>
{{/if}}
<button id="link-btn" class="btn btn-default btn-xs" type="button" onclick="openClose('link-code');">
<i class="icon-share jot-icons"></i>
</button>
</div>
<div id="attach-edit-perms" class="btn-group form-group pull-right">
<button id="dbtn-acl" class="btn btn-default btn-xs" data-toggle="modal" data-target="#aclModal" title="{{$permset}}" onclick="return false;">
<i id="jot-perms-icon" class="icon-{{$lockstate}} jot-icons"></i>
</button>
<button id="dbtn-submit" class="btn btn-primary btn-xs" type="submit" name="submit">
{{$submit}}
</button>
</div>
{{$aclselect}}
{{$aclselect}}
<input type="hidden" name="channelnick" value="{{$channelnick}}" />
<input type="hidden" name="filehash" value="{{$file.hash}}" />
<input type="hidden" name="uid" value="{{$uid}}" />
<input type="hidden" name="fileid" value="{{$file.id}}" />
<input type="hidden" name="channelnick" value="{{$channelnick}}" />
<input type="hidden" name="filehash" value="{{$file.hash}}" />
<input type="hidden" name="uid" value="{{$uid}}" />
<input type="hidden" name="fileid" value="{{$file.id}}" />
{{if $isadir}}
<div id="attach-edit-recurse" >
<label id="attach-edit-recurse-text" for="attach-recurse-input" >{{$recurse}}</label>
<input id="attach-recurse-input" type="checkbox" name="recurse" value="1" />
</div>
{{else}}
<div class="cut-paste-desc">{{$cpdesc}}</div>
<input type="text" id="cutpasteinput" name="cutpastelink" value="[attachment]{{$file.hash}},{{$file.revision}}[/attachment]" onclick="this.select();" /><br />
{{/if}}
<div class="cut-paste-desc">{{$cpldesc}}</div>
<input type="text" id="linkpasteinput" name="cutpasteextlink" value="{{$cloudpath}}" onclick="this.select();"/><br />
<div class="clear"></div>
{{if $isadir}}
<div class="form-group">
<label id="attach-edit-recurse-text" class="checkbox-inline" for="attach-recurse-input" >
<input class="checkbox-inline" id="attach-recurse-input" type="checkbox" name="recurse" value="1" />{{$recurse}}
</label>
</div>
{{/if}}
<div id="link-code" class="form-group">
<label for="">{{$cpldesc}}</label>
<input type="text" class="form-control" id="linkpasteinput" name="cutpasteextlink" value="{{$cloudpath}}" onclick="this.select();"/>
</div>
</form>

View File

@ -1,4 +1,4 @@
<div class="channel-selection">
<div class='channel-selection {{if $selected == $channel.channel_id}}selected-channel{{/if}}'>
{{if $channel.default_links}}
{{if $channel.default}}
<div class="channel-selection-default default"><i class="icon-check"></i> {{$msg_default}}</div>
@ -7,8 +7,6 @@
{{/if}}
{{/if}}
<a href="{{$channel.link}}" class="channel-selection-photo-link" title="{{$channel.channel_name}}"><img class="channel-photo" src="{{$channel.xchan_photo_m}}" alt="{{$channel.channel_name}}" /></a>
<div class="channels-notifications-wrapper">{{if $channel.mail != 0}}<span style="color:#c60032;"><i class="icon-envelope"></i> {{$channel.mail}}</span>{{else}}<i class="icon-envelope"></i> &nbsp;{{/if}} {{if $channel.intros != 0}}<span style="color:#c60032;"><i class="icon-user"></i> {{$channel.intros}}</span>{{else}}<i class="icon-user"></i> &nbsp;{{/if}}</div>
<div class="channels-notifications-wrapper"><a href='manage/{{$channel.channel_id}}/message' style="{{if $channel.mail != 0}}color:#c60032;{{/if}}" title='{{$channel.mail|string_format:$mail_format}}'><i class="icon-envelope"></i> {{$channel.mail}}</a>&nbsp;<a href='manage/{{$channel.channel_id}}/connections/ifpending' style="{{if $channel.intros != 0}}color:#c60032;{{/if}}" title='{{$channel.intros|string_format:$intros_format}}'><i class="icon-user"></i> {{$channel.intros}}</a></div>
<a href="{{$channel.link}}" class="channel-selection-name-link" title="{{$channel.channel_name}}"><div class="channel-name">{{$channel.channel_name}}</div></a>
</div>
<div class="channel-selection-end"></div>

View File

@ -13,14 +13,6 @@
{{$channel_usage_message}}
</div>
{{/if}}
{{if $selected}}
<div id="selected-channel">
<div id="channels-selected">{{$msg_selected}}</div>
{{include file="channel.tpl" channel=$selected}}
</div>
<div class="channels-end selected"></div>
{{/if}}
<br />
<div id="channels-desc" class="descriptive-text">{{$desc}}</div>
<div id="all-channels">

View File

@ -2,16 +2,17 @@
<label for="files-mkdir">{{$folder_header}}</label>
<form method="post" action="">
<input type="hidden" name="sabreAction" value="mkcol">
<input id="files-mkdir" type="text" name="name">
<input type="submit" value="{{$folder_submit}}">
<input id="files-mkdir" type="text" name="name" class="form-control form-group">
<button class="btn btn-primary btn-sm pull-right" type="submit" value="{{$folder_submit}}">{{$folder_submit}}</button>
</form>
<div class="clear"></div>
</div>
<div id="files-upload-tools" class="section-content-tools-wrapper form-group">
<label for="files-upload">{{$upload_header}}</label>
<form method="post" action="" enctype="multipart/form-data">
<input type="hidden" name="sabreAction" value="put">
<input id="files-upload" type="file" name="file" style="display: inline;">
<input type="submit" value="{{$upload_submit}}">
<input class="pull-left" id="files-upload" type="file" name="file">
<button class="btn btn-primary btn-sm pull-right" type="submit" value="{{$upload_submit}}">{{$upload_submit}}</button>
<!-- Name (optional): <input type="text" name="name"> we should rather provide a rename action in edit form-->
</form>
<div class="clear"></div>
</div>

View File

@ -1,12 +1,12 @@
<div class="section-content-wrapper generic-content-wrapper">
<div class="generic-content-wrapper section-content-wrapper-np">
<table id="cloud-index">
<tr>
<th></th>
<th>{{$name}}</th>
<th></th><th></th><th></th><th></th>
<th>{{*{{$type}}*}}</th>
<th class="hidden-xs">{{$size}}</th>
<th class="hidden-xs">{{$lastmod}}</th>
<th width="1%"></th>
<th width="92%">{{$name}}</th>
<th width="1%"></th><th width="1%"></th><th width="1%"></th><th width="1%"></th>
<th width="1%">{{*{{$type}}*}}</th>
<th width="1%" class="hidden-xs">{{$size}}</th>
<th width="1%" class="hidden-xs">{{$lastmod}}</th>
</tr>
{{if $parentpath}}
<tr>
@ -19,14 +19,14 @@
</tr>
{{/if}}
{{foreach $entries as $item}}
<tr id="cloud-panel-{{$item.attachId}}">
<tr id="cloud-index-{{$item.attachId}}">
<td><i class="{{$item.iconFromType}}" title="{{$item.type}}"></i></td>
<td><a href="{{$item.fullPath}}">{{$item.displayName}}</a></td>
{{if $item.is_owner}}
<td class="cloud-index-tool">{{$item.attachIcon}}</td>
<td id="file-edit-{{$item.attachId}}" class="cloud-index-tool"></td>
<td class="cloud-index-tool"><i class="fakelink icon-pencil" onclick="filestorage(event, '{{$nick}}', {{$item.attachId}});"></i></td>
<td class="cloud-index-tool"><a href="{{$item.fileStorageUrl}}/{{$item.attachId}}/delete" title="{{$delete}}" onclick="return confirmDelete();"><i class="icon-remove drop-icons"></i></a></td>
<td class="cloud-index-tool"><a href="{{$item.fileStorageUrl}}/{{$item.attachId}}/delete" title="{{$delete}}" onclick="return confirmDelete();"><i class="icon-trash drop-icons"></i></a></td>
{{else}}
<td></td><td></td><td></td><td></td>
@ -35,7 +35,9 @@
<td class="hidden-xs">{{$item.sizeFormatted}}</td>
<td class="hidden-xs">{{$item.lastmodified}}</td>
</tr>
<tr><td id="perms-panel-{{$item.attachId}}" colspan="9"></td></tr>
<tr>
<td id="perms-panel-{{$item.attachId}}" colspan="9"></td>
</tr>
{{/foreach}}
</table>
</div>