Merge branch 'master' of https://github.com/friendica/red
This commit is contained in:
commit
d9688e5ab3
4
app/suggest.apd
Normal file
4
app/suggest.apd
Normal file
@ -0,0 +1,4 @@
|
||||
url: $baseurl/suggest
|
||||
requires: local_user
|
||||
name: Suggest
|
||||
photo: $baseurl/app/suggest.png
|
BIN
app/suggest.png
Normal file
BIN
app/suggest.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.1 KiB |
38
doc/technical_faq.bb
Normal file
38
doc/technical_faq.bb
Normal file
@ -0,0 +1,38 @@
|
||||
These are common questions with answers which are almost always correct. Note these aren't the [i]only[/i] possible
|
||||
answers, they're merely the most probable answers. 90% of the time, these solutions should work. The other 10% of
|
||||
the time is when you should use a support forum.
|
||||
|
||||
[b]I can log in, but there are no posts or webpages[/b]
|
||||
|
||||
Your item table has crashed. Run the MySQL command repair table item;
|
||||
|
||||
[b]Login doesn't work, immediately after login, the page reloads and I'm logged out[/b]
|
||||
|
||||
Your session table has crashed. Run the MySQL command repair table session;
|
||||
|
||||
[b]When I switch theme, I sometimes get elements of one theme superimposed on top of the other[/b]
|
||||
|
||||
a) view/tpl/smarty3 isn't writeable by the webserver.
|
||||
|
||||
b) You're using Midori.
|
||||
|
||||
[b]My network tab won't load, it appears to be caused by a photo or video[/b]
|
||||
|
||||
Your PHP memory limit is too low. Increase the size of the memory_limit directive in your php.ini
|
||||
|
||||
[b]I have no communication with anybody[/b]
|
||||
|
||||
You're listening on port 443, but do not have a valid SSL certificate. Note this applies even if your baseurl is http.
|
||||
Don't listen on port 443 if you cannot use it.
|
||||
|
||||
[b]I can't see private resources[/b]
|
||||
|
||||
You have disabled third party cookies.
|
||||
|
||||
[b]What do I need to do when moving my hub to a different server[/b]
|
||||
|
||||
1) Git clone on the new server. Repeat the process for any custom themes, and addons.
|
||||
2) Copy .htconfig.php
|
||||
3) Rsync everything in store/
|
||||
4) Rsync everything in custom/ (this will only exist if you have custom modules)
|
||||
5) Dump and restore DB.
|
@ -1,5 +1,6 @@
|
||||
[b]Troubleshooting[/b]
|
||||
|
||||
[li][zrl=[baseurl]/help/technical_faq]Technical FAQ[/zrl][/li]
|
||||
[li][zrl=[baseurl]/help/problems-following-an-update]Problems following an update[/zrl][/li]
|
||||
|
||||
Return to the [url=[baseurl]/help/main]Main documentation page[/url]
|
||||
Return to the [url=[baseurl]/help/main]Main documentation page[/url]
|
||||
|
@ -131,7 +131,9 @@ function translate_system_apps(&$arr) {
|
||||
'Mood' => t('Mood'),
|
||||
'Poke' => t('Poke'),
|
||||
'Chat' => t('Chat'),
|
||||
'Search' => t('Search')
|
||||
'Search' => t('Search'),
|
||||
'Probe' => t('Probe'),
|
||||
'Suggest' => t('Suggest')
|
||||
);
|
||||
|
||||
if(array_key_exists($arr['name'],$apps))
|
||||
|
@ -484,11 +484,16 @@ function z_birthday($dob,$tz,$format="Y-m-d H:i:s") {
|
||||
function update_birthdays() {
|
||||
|
||||
require_once('include/event.php');
|
||||
require_once('include/permissions.php');
|
||||
|
||||
$r = q("SELECT * FROM abook left join xchan on abook_xchan = xchan_hash
|
||||
WHERE abook_dob > utc_timestamp() + interval 7 day and abook_dob < utc_timestamp() + interval 14 day");
|
||||
if($r) {
|
||||
foreach($r as $rr) {
|
||||
|
||||
if(! perm_is_allowed($rr['abook_channel'],$rr['xchan_hash'],'send_stream'))
|
||||
continue;
|
||||
|
||||
$ev = array();
|
||||
$ev['uid'] = $rr['abook_channel'];
|
||||
$ev['account'] = $rr['abook_account'];
|
||||
|
@ -318,7 +318,22 @@ function event_store_item($arr,$event) {
|
||||
}
|
||||
}
|
||||
|
||||
$prefix = (($event['type'] === 'birthday') ? t('This event has been added to your calendar.') . "\n\n" : '');
|
||||
$item_arr = array();
|
||||
$prefix = '';
|
||||
$birthday = false;
|
||||
|
||||
if($event['type'] === 'birthday') {
|
||||
$prefix = t('This event has been added to your calendar.');
|
||||
$birthday = true;
|
||||
|
||||
// The event is created on your own site by the system, but appears to belong
|
||||
// to the birthday person. It also isn't propagated - so we need to prevent
|
||||
// folks from trying to comment on it. If you're looking at this and trying to
|
||||
// fix it, you'll need to completely change the way birthday events are created
|
||||
// and send them out from the source. This has its own issues.
|
||||
|
||||
$item_arr['comment_policy'] = 'none';
|
||||
}
|
||||
|
||||
$r = q("SELECT * FROM item left join xchan on author_xchan = xchan_hash WHERE resource_id = '%s' AND resource_type = 'event' and uid = %d LIMIT 1",
|
||||
dbesc($event['event_hash']),
|
||||
@ -373,7 +388,6 @@ function event_store_item($arr,$event) {
|
||||
|
||||
$private = (($arr['allow_cid'] || $arr['allow_gid'] || $arr['deny_cid'] || $arr['deny_gid']) ? 1 : 0);
|
||||
|
||||
$item_arr = array();
|
||||
|
||||
if($item) {
|
||||
$item_arr['id'] = $item['id'];
|
||||
@ -387,6 +401,7 @@ function event_store_item($arr,$event) {
|
||||
$item_flags |= ITEM_ORIGIN;
|
||||
}
|
||||
$item_arr['item_flags'] = $item_flags;
|
||||
|
||||
}
|
||||
|
||||
if(! $arr['mid'])
|
||||
|
@ -196,7 +196,7 @@ function widget_savedsearch($arr) {
|
||||
$a = get_app();
|
||||
|
||||
$search = ((x($_GET,'search')) ? $_GET['search'] : '');
|
||||
|
||||
|
||||
if(x($_GET,'searchsave') && $search) {
|
||||
$r = q("select * from `term` where `uid` = %d and `type` = %d and `term` = '%s' limit 1",
|
||||
intval(local_user()),
|
||||
@ -264,7 +264,7 @@ function widget_savedsearch($arr) {
|
||||
$o = replace_macros($tpl, array(
|
||||
'$title' => t('Saved Searches'),
|
||||
'$add' => t('add'),
|
||||
'$searchbox' => searchbox('','netsearch-box',$srchurl . (($hasq) ? '' : '?f='),true),
|
||||
'$searchbox' => searchbox($search,'netsearch-box',$srchurl . (($hasq) ? '' : '?f='),true),
|
||||
'$saved' => $saved,
|
||||
));
|
||||
|
||||
|
@ -150,6 +150,9 @@ function display_content(&$a, $update = 0, $load = false) {
|
||||
if($load || ($_COOKIE['jsAvailable'] != 1)) {
|
||||
$r = null;
|
||||
|
||||
require_once('include/identity.php');
|
||||
$sys = get_sys_channel();
|
||||
|
||||
if(local_user()) {
|
||||
$r = q("SELECT * from item
|
||||
WHERE item_restrict = 0
|
||||
@ -169,12 +172,14 @@ function display_content(&$a, $update = 0, $load = false) {
|
||||
$r = q("SELECT * from item
|
||||
WHERE item_restrict = 0
|
||||
and mid = '%s'
|
||||
AND ((( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = ''
|
||||
AND (((( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = ''
|
||||
AND `item`.`deny_gid` = '' AND item_private = 0 )
|
||||
and owner_xchan in ( " . stream_perms_xchans(($observer) ? PERMS_NETWORK : PERMS_PUBLIC) . " ))
|
||||
OR owner_xchan = '%s')
|
||||
$sql_extra )
|
||||
group by mid limit 1",
|
||||
dbesc($target_item['parent_mid'])
|
||||
dbesc($target_item['parent_mid']),
|
||||
dbesc($sys['xchan_hash'])
|
||||
);
|
||||
|
||||
}
|
||||
|
@ -254,12 +254,18 @@ function import_post(&$a) {
|
||||
|
||||
require_once('include/photo/photo_driver.php');
|
||||
$photos = import_profile_photo($xchan['xchan_photo_l'],$xchan['xchan_hash']);
|
||||
$r = q("update xchan set xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s'
|
||||
if($photos[4])
|
||||
$photodate = '0000-00-00 00:00:00';
|
||||
else
|
||||
$photodate = $xchan['xchan_photo_date'];
|
||||
|
||||
$r = q("update xchan set xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s', xchan_photo_date = '%s'
|
||||
where xchan_hash = '%s' limit 1",
|
||||
dbesc($photos[0]),
|
||||
dbesc($photos[1]),
|
||||
dbesc($photos[2]),
|
||||
dbesc($photos[3]),
|
||||
dbesc($photodate),
|
||||
dbesc($xchan_hash)
|
||||
);
|
||||
|
||||
|
@ -39,7 +39,8 @@ function search_content(&$a,$update = 0, $load = false) {
|
||||
$search = ((x($_GET,'tag')) ? trim(rawurldecode($_GET['tag'])) : '');
|
||||
}
|
||||
|
||||
$o .= search($search,'search-box','/search',((local_user()) ? true : false));
|
||||
if((! local_user()) || (! feature_enabled(local_user(),'savedsearch')))
|
||||
$o .= search($search,'search-box','/search',((local_user()) ? true : false));
|
||||
|
||||
if(strpos($search,'#') === 0) {
|
||||
$tag = true;
|
||||
@ -114,6 +115,10 @@ function search_content(&$a,$update = 0, $load = false) {
|
||||
|
||||
$pub_sql = public_permissions_sql(get_observer_hash());
|
||||
|
||||
require_once('include/identity.php');
|
||||
|
||||
$sys = get_sys_channel();
|
||||
|
||||
if(($update) && ($load)) {
|
||||
$itemspage = get_pconfig(local_user(),'system','itemspage');
|
||||
$a->set_pager_itemspage(((intval($itemspage)) ? $itemspage : 20));
|
||||
@ -125,24 +130,24 @@ function search_content(&$a,$update = 0, $load = false) {
|
||||
if(local_user()) {
|
||||
$r = q("SELECT distinct mid, item.id as item_id, item.* from item
|
||||
WHERE item_restrict = 0
|
||||
AND (( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = '' AND `item`.`deny_gid` = '' AND item_private = 0 )
|
||||
OR ( `item`.`uid` = %d ))
|
||||
AND ((( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = '' AND `item`.`deny_gid` = '' AND item_private = 0 )
|
||||
OR ( `item`.`uid` = %d )) OR item.owner_xchan = '%s' )
|
||||
$sql_extra
|
||||
group by mid ORDER BY created DESC $pager_sql ",
|
||||
intval(local_user()),
|
||||
intval(ABOOK_FLAG_BLOCKED)
|
||||
|
||||
dbesc($sys['xchan_hash'])
|
||||
);
|
||||
}
|
||||
if($r === null) {
|
||||
$r = q("SELECT distinct mid, item.id as item_id, item.* from item
|
||||
WHERE item_restrict = 0
|
||||
AND ((( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = ''
|
||||
AND (((( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = ''
|
||||
AND `item`.`deny_gid` = '' AND item_private = 0 )
|
||||
and owner_xchan in ( " . stream_perms_xchans(($observer) ? PERMS_NETWORK : PERMS_PUBLIC) . " ))
|
||||
$pub_sql )
|
||||
$pub_sql ) OR owner_xchan = '%s')
|
||||
$sql_extra
|
||||
group by mid ORDER BY created DESC $pager_sql"
|
||||
group by mid ORDER BY created DESC $pager_sql",
|
||||
dbesc($sys['xchan_hash'])
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -1 +1 @@
|
||||
2014-06-02.694
|
||||
2014-06-04.696
|
||||
|
@ -54,4 +54,5 @@ $(document).ready(function() {
|
||||
$('.icon-bookmark').addClass('');
|
||||
$('.icon-fullscreen').addClass('');
|
||||
$('.icon-share').addClass('');
|
||||
$('.icon-plus').addClass('');
|
||||
});
|
@ -43,6 +43,10 @@ abbr {
|
||||
text-indent: 0px;
|
||||
}
|
||||
|
||||
.connect-icon {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
a, a:visited, a:link, .fakelink, .fakelink:visited, .fakelink:link {
|
||||
font-weight: bold;
|
||||
color: $link_colour;
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
<div class="contact-name" id="directory-name-{{$entry.id}}" ><span onclick="dirdetails('{{$entry.hash}}');" class="fakelink" >{{$entry.name}}</span></div>
|
||||
{{if $entry.connect}}
|
||||
<div class="directory-connect btn btn-default"><a href="{{$entry.connect}}">{{$entry.conn_label}}</a></div>
|
||||
<div class="directory-connect btn btn-default"><a href="{{$entry.connect}}"><i class="icon-plus connect-icon"></i> {{$entry.conn_label}}</a></div>
|
||||
{{/if}}
|
||||
<div class="contact-details">{{$entry.details}}</div>
|
||||
</div>
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
<div class="contact-name" id="directory-name-{{$id}}" >{{$name}}{{if $online}} <i class="icon-asterisk online-now" title="{{$online}}"></i>{{/if}}</div>
|
||||
{{if $connect}}
|
||||
<div class="directory-connect btn btn-default"><a href="{{$connect}}">{{$conn_label}}</a></div>
|
||||
<div class="directory-connect btn btn-default"><a href="{{$connect}}"><i class="icon-plus connect-icon"></i> {{$conn_label}}</a></div>
|
||||
{{/if}}
|
||||
|
||||
<div class="contact-webbie">{{$address}}</div>
|
||||
|
@ -10,7 +10,7 @@
|
||||
</div>
|
||||
<div class="profile-match-end"></div>
|
||||
{{if $connlnk}}
|
||||
<div class="profile-match-connect"><a href="{{$connlnk}}" title="{{$conntxt}}">{{$conntxt}}</a></div>
|
||||
<div class="profile-match-connect"><a href="{{$connlnk}}" title="{{$conntxt}}"><i class="icon-plus connect-icon"></i> {{$conntxt}}</a></div>
|
||||
{{/if}}
|
||||
|
||||
</div>
|
||||
|
@ -45,7 +45,7 @@
|
||||
|
||||
|
||||
{{if $connect}}
|
||||
<a href="{{$connect_url}}" class="rconnect">{{$connect}}</a>
|
||||
<a href="{{$connect_url}}" class="rconnect"><i class="icon-plus connect-icon"></i> {{$connect}}</a>
|
||||
{{/if}}
|
||||
|
||||
</div>
|
||||
|
@ -11,6 +11,6 @@
|
||||
</div>
|
||||
<div class="profile-match-end"></div>
|
||||
{{if $entry.connlnk}}
|
||||
<div class="profile-match-connect"><a href="{{$entry.connlnk}}" title="{{$entry.conntxt}}">{{$entry.conntxt}}</a></div>
|
||||
<div class="profile-match-connect"><a href="{{$entry.connlnk}}" title="{{$entry.conntxt}}"><i class="icon-plus connect-icon"></i> {{$entry.conntxt}}</a></div>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
Reference in New Issue
Block a user