Merge pull request #570 from annando/master
Vier, caches and "share" via API
This commit is contained in:
commit
88cc414355
7
.gitignore
vendored
7
.gitignore
vendored
|
@ -25,3 +25,10 @@ report/
|
|||
.DS_Store
|
||||
|
||||
/nbproject/private/
|
||||
|
||||
#ignore smarty cache
|
||||
/view/smarty3/compiled/
|
||||
|
||||
#ignore cache folders
|
||||
/privacy_image_cache/
|
||||
/photo/
|
||||
|
|
|
@ -944,7 +944,7 @@
|
|||
//$include_entities = (x($_REQUEST,'include_entities')?$_REQUEST['include_entities']:false);
|
||||
|
||||
$r = q("SELECT `item`.*, `item`.`id` AS `item_id`, `contact`.`nick` as `reply_author`,
|
||||
`contact`.`name`, `contact`.`photo`, `contact`.`url` as `reply_url`, `contact`.`rel`,
|
||||
`contact`.`name`, `contact`.`photo` as `reply_photo`, `contact`.`url` as `reply_url`, `contact`.`rel`,
|
||||
`contact`.`network`, `contact`.`thumb`, `contact`.`dfrn-id`, `contact`.`self`,
|
||||
`contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`
|
||||
FROM `item`, `contact`
|
||||
|
@ -957,7 +957,18 @@
|
|||
);
|
||||
|
||||
if ($r[0]['body'] != "") {
|
||||
$_REQUEST['body'] = html_entity_decode("♲ ", ENT_QUOTES, 'UTF-8')."[url=".$r[0]['reply_url']."]".$r[0]['reply_author']."[/url] \n".$r[0]['body'];
|
||||
if (intval(get_config('system','new_share'))) {
|
||||
$post = "[share author='".str_replace("'", "'", $r[0]['reply_author']).
|
||||
"' profile='".$r[0]['reply_url'].
|
||||
"' avatar='".$r[0]['reply_photo'].
|
||||
"' link='".$r[0]['plink']."']";
|
||||
|
||||
$post .= $r[0]['body'];
|
||||
$post .= "[/share]";
|
||||
$_REQUEST['body'] = $post;
|
||||
} else
|
||||
$_REQUEST['body'] = html_entity_decode("♲ ", ENT_QUOTES, 'UTF-8')."[url=".$r[0]['reply_url']."]".$r[0]['reply_author']."[/url] \n".$r[0]['body'];
|
||||
|
||||
$_REQUEST['profile_uid'] = api_user();
|
||||
$_REQUEST['type'] = 'wall';
|
||||
$_REQUEST['api_source'] = true;
|
||||
|
|
|
@ -310,6 +310,7 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
|
|||
|
||||
// remove some newlines before the general conversion
|
||||
$Text = preg_replace("/\s?\[share(.*?)\]\s?(.*?)\s?\[\/share\]\s?/ism","[share$1]$2[/share]",$Text);
|
||||
$Text = preg_replace("/\s?\[quote(.*?)\]\s?(.*?)\s?\[\/quote\]\s?/ism","[quote$1]$2[/quote]",$Text);
|
||||
|
||||
// when the content is meant exporting to other systems then remove the avatar picture since this doesn't really look good on these systems
|
||||
if (!$tryoembed)
|
||||
|
@ -324,6 +325,15 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
|
|||
|
||||
$Text = trim($Text);
|
||||
$Text = str_replace("\r\n","\n", $Text);
|
||||
|
||||
// removing multiplicated newlines
|
||||
$search = array("\n\n\n", "\n ", " \n", "[/quote]\n\n", "\n[/quote]");
|
||||
$replace = array("\n\n", "\n", "\n", "[/quote]\n", "[/quote]");
|
||||
do {
|
||||
$oldtext = $Text;
|
||||
$Text = str_replace($search, $replace, $Text);
|
||||
} while ($oldtext != $Text);
|
||||
|
||||
$Text = str_replace(array("\r","\n"), array('<br />','<br />'), $Text);
|
||||
|
||||
if($preserve_nl)
|
||||
|
|
|
@ -99,14 +99,26 @@ function poller_run(&$argv, &$argc){
|
|||
proc_run('php','include/expire.php');
|
||||
}
|
||||
|
||||
// clear old cache
|
||||
Cache::clear();
|
||||
$last = get_config('system','cache_last_cleared');
|
||||
|
||||
// clear old item cache files
|
||||
clear_cache();
|
||||
if($last) {
|
||||
$next = $last + (3600); // Once per hour
|
||||
$clear_cache = ($next <= time());
|
||||
} else
|
||||
$clear_cache = true;
|
||||
|
||||
// clear cache for photos
|
||||
clear_cache($a->get_basepath(), $a->get_basepath()."/photo");
|
||||
if ($clear_cache) {
|
||||
// clear old cache
|
||||
Cache::clear();
|
||||
|
||||
// clear old item cache files
|
||||
clear_cache();
|
||||
|
||||
// clear cache for photos
|
||||
clear_cache($a->get_basepath(), $a->get_basepath()."/photo");
|
||||
|
||||
set_config('system','cache_last_cleared', time());
|
||||
}
|
||||
|
||||
$manual_id = 0;
|
||||
$generation = 0;
|
||||
|
|
|
@ -212,9 +212,14 @@ class Item extends BaseObject {
|
|||
|
||||
localize_item($item);
|
||||
|
||||
if ($item["postopts"]) {
|
||||
$langdata = explode(";", $item["postopts"]);
|
||||
$langstr = substr($langdata[0], 5)." (".round($langdata[1]*100, 1)."%)";
|
||||
}
|
||||
|
||||
$body = prepare_body($item,true);
|
||||
|
||||
list($categories, $folders) = get_cats_and_terms($item);
|
||||
list($categories, $folders) = get_cats_and_terms($item);
|
||||
|
||||
if($a->theme['template_engine'] === 'internal') {
|
||||
$body_e = template_escape($body);
|
||||
|
@ -285,7 +290,8 @@ class Item extends BaseObject {
|
|||
'comment' => $this->get_comment_box($indent),
|
||||
'previewing' => ($conv->is_preview() ? ' preview ' : ''),
|
||||
'wait' => t('Please wait'),
|
||||
'thread_level' => $thread_level
|
||||
'thread_level' => $thread_level,
|
||||
'postopts' => $langstr
|
||||
);
|
||||
|
||||
$arr = array('item' => $item, 'output' => $tmp_item);
|
||||
|
|
1
view/theme/vier/profile_edlink.tpl
Normal file
1
view/theme/vier/profile_edlink.tpl
Normal file
|
@ -0,0 +1 @@
|
|||
<div class="clear"></div>
|
65
view/theme/vier/profile_vcard.tpl
Normal file
65
view/theme/vier/profile_vcard.tpl
Normal file
|
@ -0,0 +1,65 @@
|
|||
<div class="vcard">
|
||||
|
||||
<div class="tool">
|
||||
<div class="fn label">$profile.name</div>
|
||||
{{ if $profile.edit }}
|
||||
<div class="action">
|
||||
<a class="icon s16 edit ttright" href="#" rel="#profiles-menu" title="$profile.edit.3"><span>$profile.edit.1</span></a>
|
||||
<ul id="profiles-menu" class="menu-popup">
|
||||
{{ for $profile.menu.entries as $e }}
|
||||
<li>
|
||||
<a href="profiles/$e.id"><img src='$e.photo'>$e.profile_name</a>
|
||||
</li>
|
||||
{{ endfor }}
|
||||
<li><a href="profile_photo" >$profile.menu.chg_photo</a></li>
|
||||
<li><a href="profiles/new" id="profile-listing-new-link">$profile.menu.cr_new</a></li>
|
||||
<li><a href="profiles" >$profile.edit.3</a></li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
{{ else }}
|
||||
<div class="profile-edit-side-div"><a class="profile-edit-side-link icon edit" title="$editprofile" href="profiles/$profid" ></a></div>
|
||||
{{ endif }}
|
||||
</div>
|
||||
|
||||
|
||||
<div id="profile-photo-wrapper"><img class="photo" src="$profile.photo?rev=$profile.picdate" alt="$profile.name" /></div>
|
||||
{{ if $pdesc }}<div class="title">$profile.pdesc</div>{{ endif }}
|
||||
|
||||
|
||||
{{ if $location }}
|
||||
<dl class="location"><dt class="location-label">$location</dt><br>
|
||||
<dd class="adr">
|
||||
{{ if $profile.address }}<div class="street-address">$profile.address</div>{{ endif }}
|
||||
<span class="city-state-zip">
|
||||
<span class="locality">$profile.locality</span>{{ if $profile.locality }}, {{ endif }}
|
||||
<span class="region">$profile.region</span>
|
||||
<span class="postal-code">$profile.postal-code</span>
|
||||
</span>
|
||||
{{ if $profile.country-name }}<span class="country-name">$profile.country-name</span>{{ endif }}
|
||||
</dd>
|
||||
</dl>
|
||||
{{ endif }}
|
||||
|
||||
{{ if $gender }}<dl class="mf"><dt class="gender-label">$gender</dt> <dd class="x-gender">$profile.gender</dd></dl>{{ endif }}
|
||||
|
||||
{{ if $profile.pubkey }}<div class="key" style="display:none;">$profile.pubkey</div>{{ endif }}
|
||||
|
||||
{{ if $marital }}<dl class="marital"><dt class="marital-label"><span class="heart">♥</span>$marital</dt><dd class="marital-text">$profile.marital</dd></dl>{{ endif }}
|
||||
|
||||
{{ if $homepage }}<dl class="homepage"><dt class="homepage-label">$homepage</dt><dd class="homepage-url"><a href="$profile.homepage" target="external-link">$profile.homepage</a></dd></dl>{{ endif }}
|
||||
|
||||
{{ inc diaspora_vcard.tpl }}{{ endinc }}
|
||||
|
||||
<div id="profile-extra-links">
|
||||
<ul>
|
||||
{{ if $connect }}
|
||||
<li><a id="dfrn-request-link" href="dfrn_request/$profile.nickname">$connect</a></li>
|
||||
{{ endif }}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
$contact_block
|
||||
|
||||
|
1
view/theme/vier/smarty3/profile_edlink.tpl
Normal file
1
view/theme/vier/smarty3/profile_edlink.tpl
Normal file
|
@ -0,0 +1 @@
|
|||
<div class="clear"></div>
|
65
view/theme/vier/smarty3/profile_vcard.tpl
Normal file
65
view/theme/vier/smarty3/profile_vcard.tpl
Normal file
|
@ -0,0 +1,65 @@
|
|||
<div class="vcard">
|
||||
|
||||
<div class="tool">
|
||||
<div class="fn label">{{$profile.name}}</div>
|
||||
{{if $profile.edit}}
|
||||
<div class="action">
|
||||
<a class="icon s16 edit ttright" href="#" rel="#profiles-menu" title="{{$profile.edit.3}}"><span>{{$profile.edit.1}}</span></a>
|
||||
<ul id="profiles-menu" class="menu-popup">
|
||||
{{foreach $profile.menu.entries as $e}}
|
||||
<li>
|
||||
<a href="profiles/{{$e.id}}"><img src='{{$e.photo}}'>{{$e.profile_name}}</a>
|
||||
</li>
|
||||
{{/foreach}}
|
||||
<li><a href="profile_photo" >{{$profile.menu.chg_photo}}</a></li>
|
||||
<li><a href="profiles/new" id="profile-listing-new-link">{{$profile.menu.cr_new}}</a></li>
|
||||
<li><a href="profiles" >{{$profile.edit.3}}</a></li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="profile-edit-side-div"><a class="profile-edit-side-link icon edit" title="{{$editprofile}}" href="profiles/{{$profid}}" ></a></div>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
|
||||
<div id="profile-photo-wrapper"><img class="photo" src="{{$profile.photo}}?rev={{$profile.picdate}}" alt="{{$profile.name}}" /></div>
|
||||
{{if $pdesc}}<div class="title">{{$profile.pdesc}}</div>{{/if}}
|
||||
|
||||
|
||||
{{if $location}}
|
||||
<dl class="location"><dt class="location-label">{{$location}}</dt><br>
|
||||
<dd class="adr">
|
||||
{{if $profile.address}}<div class="street-address">{{$profile.address}}</div>{{/if}}
|
||||
<span class="city-state-zip">
|
||||
<span class="locality">{{$profile.locality}}</span>{{if $profile.locality}}, {{/if}}
|
||||
<span class="region">{{$profile.region}}</span>
|
||||
<span class="postal-code">{{$profile.postal-code}}</span>
|
||||
</span>
|
||||
{{if $profile.country-name}}<span class="country-name">{{$profile.country-name}}</span>{{/if}}
|
||||
</dd>
|
||||
</dl>
|
||||
{{/if}}
|
||||
|
||||
{{if $gender}}<dl class="mf"><dt class="gender-label">{{$gender}}</dt> <dd class="x-gender">{{$profile.gender}}</dd></dl>{{/if}}
|
||||
|
||||
{{if $profile.pubkey}}<div class="key" style="display:none;">{{$profile.pubkey}}</div>{{/if}}
|
||||
|
||||
{{if $marital}}<dl class="marital"><dt class="marital-label"><span class="heart">♥</span>{{$marital}}</dt><dd class="marital-text">{{$profile.marital}}</dd></dl>{{/if}}
|
||||
|
||||
{{if $homepage}}<dl class="homepage"><dt class="homepage-label">{{$homepage}}</dt><dd class="homepage-url"><a href="{{$profile.homepage}}" target="external-link">{{$profile.homepage}}</a></dd></dl>{{/if}}
|
||||
|
||||
{{include file="diaspora_vcard.tpl"}}
|
||||
|
||||
<div id="profile-extra-links">
|
||||
<ul>
|
||||
{{if $connect}}
|
||||
<li><a id="dfrn-request-link" href="dfrn_request/{{$profile.nickname}}">{{$connect}}</a></li>
|
||||
{{/if}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{$contact_block}}
|
||||
|
||||
|
|
@ -111,7 +111,7 @@
|
|||
<a href="#" id="filer-{{$item.id}}" onclick="itemFiler({{$item.id}}); return false;" class="filer-item filer-icon" title="{{$item.filer}}"><i class="icon-folder-close icon-large"></i></a>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="wall-item-location">{{$item.location}}</div>
|
||||
<div class="wall-item-location">{{$item.location}} {{$item.postopts}}</div>
|
||||
<div class="wall-item-actions-tools">
|
||||
|
||||
{{if $item.drop.pagedrop}}
|
||||
|
@ -128,14 +128,16 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="wall-item-bottom">
|
||||
<div class="wall-item-links"></div>
|
||||
<div class="wall-item-links">
|
||||
</div>
|
||||
<div class="wall-item-like" id="wall-item-like-{{$item.id}}">{{$item.like}}</div>
|
||||
<div class="wall-item-dislike" id="wall-item-dislike-{{$item.id}}">{{$item.dislike}}</div>
|
||||
</div>
|
||||
|
||||
{{if $item.threaded}}{{if $item.comment}}
|
||||
<div class="wall-item-bottom">
|
||||
<div class="wall-item-links"></div>
|
||||
<div class="wall-item-links">
|
||||
</div>
|
||||
<div class="wall-item-comment-wrapper" id="item-comments-{{$item.id}}" style="display: none;">
|
||||
{{$item.comment}}
|
||||
</div>
|
||||
|
|
|
@ -7,6 +7,10 @@
|
|||
@import url("css/font-awesome.css") all;
|
||||
@import url("css/font2.css") all;
|
||||
|
||||
img {
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
/* ========= */
|
||||
/* = Admin = */
|
||||
/* ========= */
|
||||
|
@ -1067,8 +1071,9 @@ border-bottom: 1px solid #D2D2D2;
|
|||
text-align: left;
|
||||
width: 80px;
|
||||
}
|
||||
.wall-item-container .wall-item-location {
|
||||
padding-right: 40px;
|
||||
.wall-item-container {
|
||||
/* padding-right: 30px; */
|
||||
padding-right: 0px;
|
||||
}
|
||||
.wall-item-container .wall-item-ago {
|
||||
word-wrap: break-word;
|
||||
|
@ -1077,7 +1082,7 @@ border-bottom: 1px solid #D2D2D2;
|
|||
color: #999;
|
||||
}
|
||||
.wall-item-location {
|
||||
width: 180px;
|
||||
width: 350px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
|
@ -1253,7 +1258,8 @@ border-bottom: 1px solid #D2D2D2;
|
|||
|
||||
#profile-jot-form #profile-jot-text {
|
||||
height: 2.0em;
|
||||
width: 99%;
|
||||
/* width: 99%; */
|
||||
width: 752px;
|
||||
font-size: 15px;
|
||||
color: #999999;
|
||||
border: 1px solid #DDD;
|
||||
|
@ -1267,7 +1273,8 @@ border-bottom: 1px solid #D2D2D2;
|
|||
font-weight: bold;
|
||||
height: 20px;
|
||||
margin: 0 0 5px;
|
||||
width: 60%;
|
||||
/* width: 60%; */
|
||||
width: 762px;
|
||||
border: 1px solid #d2d2d2;
|
||||
}
|
||||
|
||||
|
@ -1282,6 +1289,10 @@ border-bottom: 1px solid #D2D2D2;
|
|||
height: 100px;
|
||||
}
|
||||
|
||||
#profile-jot-perms {
|
||||
float: right;
|
||||
}
|
||||
|
||||
#jot-preview-content {
|
||||
padding-top: 25px;
|
||||
}
|
||||
|
@ -1689,7 +1700,7 @@ div.pager, .birthday-notice, ul.tabs a, #jot-preview-link, .comment-edit-submit-
|
|||
border: 1px solid lightgray;
|
||||
color: black;
|
||||
background: #F2F2F2;
|
||||
padding: 3px 7px 2px 7px;
|
||||
padding: 2px 7px 2px 7px;
|
||||
margin-top: 2px;
|
||||
margin-bottom: 2px;
|
||||
|
||||
|
@ -1816,10 +1827,15 @@ div.pager, .birthday-notice, ul.tabs a, #jot-preview-link, .comment-edit-submit-
|
|||
}
|
||||
|
||||
.profile-edit-side-div {
|
||||
display: none;
|
||||
/* float: right; */
|
||||
/* display: none; */
|
||||
float: right;
|
||||
}
|
||||
|
||||
/* aside div.clear {
|
||||
clear: none;
|
||||
float: left;
|
||||
} */
|
||||
|
||||
#register-form label,
|
||||
#profile-edit-form label {
|
||||
width: 300px; float: left;
|
||||
|
|
|
@ -111,7 +111,7 @@
|
|||
<a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item filer-icon" title="$item.filer"><i class="icon-folder-close icon-large"></i></a>
|
||||
{{ endif }}
|
||||
</div>
|
||||
<div class="wall-item-location">$item.location</div>
|
||||
<div class="wall-item-location">$item.location $item.postopts</div>
|
||||
<div class="wall-item-actions-tools">
|
||||
|
||||
{{ if $item.drop.pagedrop }}
|
||||
|
@ -128,14 +128,16 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="wall-item-bottom">
|
||||
<div class="wall-item-links"></div>
|
||||
<div class="wall-item-links">
|
||||
</div>
|
||||
<div class="wall-item-like" id="wall-item-like-$item.id">$item.like</div>
|
||||
<div class="wall-item-dislike" id="wall-item-dislike-$item.id">$item.dislike</div>
|
||||
</div>
|
||||
|
||||
{{ if $item.threaded }}{{ if $item.comment }}
|
||||
<div class="wall-item-bottom">
|
||||
<div class="wall-item-links"></div>
|
||||
<div class="wall-item-links">
|
||||
</div>
|
||||
<div class="wall-item-comment-wrapper" id="item-comments-$item.id" style="display: none;">
|
||||
$item.comment
|
||||
</div>
|
||||
|
|
Loading…
Reference in a new issue