mirror of
https://codeberg.org/streams/streams.git
synced 2024-09-19 23:35:12 +00:00
implement what I hope will now be the server side of directory sync, add viewsrc to item_photo_menu, and log what changed in import_xchan update objects so we can find out why there are so many updates when nothing _obvious_ has changed that should trigger it.
This commit is contained in:
parent
aefb0f8233
commit
129a119c84
4 changed files with 40 additions and 18 deletions
|
@ -876,6 +876,12 @@ function item_photo_menu($item){
|
|||
|
||||
$ssl_state = false;
|
||||
|
||||
$sub_link="";
|
||||
$poke_link="";
|
||||
$contact_url="";
|
||||
$pm_url="";
|
||||
$vsrc_link = "";
|
||||
|
||||
if(local_user()) {
|
||||
$ssl_state = true;
|
||||
if(! count($a->contacts))
|
||||
|
@ -884,14 +890,11 @@ function item_photo_menu($item){
|
|||
$channel_hash = (($channel) ? $channel['channel_hash'] : '');
|
||||
}
|
||||
|
||||
$sub_link="";
|
||||
$poke_link="";
|
||||
$contact_url="";
|
||||
$pm_url="";
|
||||
|
||||
if((local_user()) && local_user() == $item['uid'] && $item['parent'] == $item['id']
|
||||
&& $channel && ($channel_hash != $item['author_xchan'])) {
|
||||
$sub_link = 'javascript:dosubthread(' . $item['id'] . '); return false;';
|
||||
if((local_user()) && local_user() == $item['uid']) {
|
||||
$vsrc_link = $a->get_baseurl() . '/viewsrc/' . $item['id'];
|
||||
if($item['parent'] == $item['id'] && $channel && ($channel_hash != $item['author_xchan'])) {
|
||||
$sub_link = 'javascript:dosubthread(' . $item['id'] . '); return false;';
|
||||
}
|
||||
}
|
||||
|
||||
$profile_link = z_root() . "/chanview/?f=&hash=" . $item['author_xchan'];
|
||||
|
@ -910,6 +913,7 @@ function item_photo_menu($item){
|
|||
}
|
||||
|
||||
$menu = Array(
|
||||
t("View Source") => $vsrc_link,
|
||||
t("Follow Thread") => $sub_link,
|
||||
t("View Status") => $status_link,
|
||||
t("View Profile") => $profile_link,
|
||||
|
|
|
@ -417,6 +417,7 @@ function import_xchan($arr) {
|
|||
$dirmode = intval(get_config('system','directory_mode'));
|
||||
|
||||
$changed = false;
|
||||
$what = '';
|
||||
|
||||
if(! (is_array($arr) && array_key_exists('success',$arr) && $arr['success'])) {
|
||||
logger('import_xchan: invalid data packet: ' . print_r($arr,true));
|
||||
|
@ -492,7 +493,7 @@ function import_xchan($arr) {
|
|||
|
||||
logger('import_xchan: existing: ' . print_r($r[0],true), LOGGER_DATA);
|
||||
logger('import_xchan: new: ' . print_r($arr,true), LOGGER_DATA);
|
||||
|
||||
$what .= 'xchan ';
|
||||
$changed = true;
|
||||
}
|
||||
}
|
||||
|
@ -532,6 +533,7 @@ function import_xchan($arr) {
|
|||
intval($new_flags)
|
||||
);
|
||||
|
||||
$what .= 'new_xchan';
|
||||
$changed = true;
|
||||
|
||||
}
|
||||
|
@ -552,7 +554,7 @@ function import_xchan($arr) {
|
|||
dbesc($xchan_hash)
|
||||
);
|
||||
|
||||
|
||||
$what .= 'photo ';
|
||||
$changed = true;
|
||||
}
|
||||
|
||||
|
@ -605,6 +607,7 @@ function import_xchan($arr) {
|
|||
dbesc(datetime_convert()),
|
||||
intval($r[0]['hubloc_id'])
|
||||
);
|
||||
$what = 'primary_hub ';
|
||||
$changed = true;
|
||||
}
|
||||
continue;
|
||||
|
@ -644,7 +647,7 @@ function import_xchan($arr) {
|
|||
dbesc(datetime_convert()),
|
||||
dbesc(datetime_convert())
|
||||
);
|
||||
|
||||
$what .= 'newhub ';
|
||||
$changed = true;
|
||||
}
|
||||
|
||||
|
@ -656,7 +659,7 @@ function import_xchan($arr) {
|
|||
$r = q("delete from hubloc where hubloc_id = %d limit 1",
|
||||
intval($x['hubloc_id'])
|
||||
);
|
||||
|
||||
$what .= 'removed_hub';
|
||||
$changed = true;
|
||||
}
|
||||
}
|
||||
|
@ -670,7 +673,7 @@ function import_xchan($arr) {
|
|||
if(array_key_exists('profile',$arr) && is_array($arr['profile'])) {
|
||||
$profile_changed = import_directory_profile($xchan_hash,$arr['profile']);
|
||||
if($profile_changed) {
|
||||
|
||||
$what .= 'profile ';
|
||||
$changed = true;
|
||||
}
|
||||
}
|
||||
|
@ -689,6 +692,7 @@ function import_xchan($arr) {
|
|||
if(array_key_exists('site',$arr) && is_array($arr['site'])) {
|
||||
$profile_changed = import_site($arr['site'],$arr['key']);
|
||||
if($profile_changed) {
|
||||
$what .= 'site ';
|
||||
$changed = true;
|
||||
}
|
||||
}
|
||||
|
@ -698,6 +702,7 @@ function import_xchan($arr) {
|
|||
if($changed) {
|
||||
$guid = random_string() . '@' . get_app()->get_hostname();
|
||||
update_modtime($xchan_hash,$guid);
|
||||
logger('import_xchan: changed: ' . $what,LOGGER_DEBUG);
|
||||
}
|
||||
|
||||
if(! x($ret,'message')) {
|
||||
|
@ -1396,6 +1401,7 @@ function import_directory_profile($hash,$profile) {
|
|||
$update = false;
|
||||
foreach($r[0] as $k => $v) {
|
||||
if((array_key_exists($k,$arr)) && ($arr[$k] != $v)) {
|
||||
logger('import_directory_profile: update' . $k . ' => ' . $arr[$k]);
|
||||
$update = true;
|
||||
break;
|
||||
}
|
||||
|
@ -1431,6 +1437,7 @@ function import_directory_profile($hash,$profile) {
|
|||
}
|
||||
else {
|
||||
$update = true;
|
||||
logger('import_directory_profile: new profile');
|
||||
$x = q("insert into xprof (xprof_hash, xprof_desc, xprof_dob, xprof_age, xprof_gender, xprof_marital, xprof_sexual, xprof_locale, xprof_region, xprof_postcode, xprof_country, xprof_keywords) values ('%s', '%s', '%s', %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s') ",
|
||||
dbesc($arr['xprof_hash']),
|
||||
dbesc($arr['xprof_desc']),
|
||||
|
|
|
@ -41,6 +41,7 @@ function dirsearch_content(&$a) {
|
|||
$agege = ((x($_REQUEST,'agege')) ? intval($_REQUEST['agege']) : 0 );
|
||||
$agele = ((x($_REQUEST,'agele')) ? intval($_REQUEST['agele']) : 0 );
|
||||
|
||||
$sync = ((x($_REQUEST,'sync')) ? datetime_convert('UTC','UTC',$_REQUEST['sync']) : '');
|
||||
$sort_order = ((x($_REQUEST,'order')) ? $_REQUEST['order'] : '');
|
||||
|
||||
// TODO - a meta search which joins all of these things to one search string
|
||||
|
@ -82,6 +83,7 @@ function dirsearch_content(&$a) {
|
|||
$limit = (($_REQUEST['limit']) ? intval($_REQUEST['limit']) : 0);
|
||||
$return_total = ((x($_REQUEST,'return_total')) ? intval($_REQUEST['return_total']) : 0);
|
||||
|
||||
// mtime is not currently working
|
||||
|
||||
$mtime = ((x($_REQUEST,'mtime')) ? datetime_convert('UTC','UTC',$_REQUEST['mtime']) : '');
|
||||
|
||||
|
@ -124,11 +126,19 @@ function dirsearch_content(&$a) {
|
|||
$order = " order by xchan_name asc ";
|
||||
|
||||
|
||||
if($sync) {
|
||||
|
||||
$r = q("SELECT xchan.*, xprof.* from xchan left join xprof on xchan_hash = xprof_hash where $logic $sql_extra and not ( xchan_flags & %d ) and not ( xchan_flags & %d ) $order $qlimit ",
|
||||
intval(XCHAN_FLAGS_HIDDEN),
|
||||
intval(XCHAN_FLAGS_ORPHAN)
|
||||
);
|
||||
$r = q("select xchan.*, updates.* from xchan left join updates on ud_hash = xchan_hash where ud_date >= '%s' and ud_guid != '' order by ud_date desc",
|
||||
dbesc($sync)
|
||||
);
|
||||
|
||||
}
|
||||
else {
|
||||
$r = q("SELECT xchan.*, xprof.* from xchan left join xprof on xchan_hash = xprof_hash where $logic $sql_extra and not ( xchan_flags & %d ) and not ( xchan_flags & %d ) $order $qlimit ",
|
||||
intval(XCHAN_FLAGS_HIDDEN),
|
||||
intval(XCHAN_FLAGS_ORPHAN)
|
||||
);
|
||||
}
|
||||
|
||||
$ret['page'] = $page + 1;
|
||||
$ret['records'] = count($r);
|
||||
|
@ -145,6 +155,7 @@ function dirsearch_content(&$a) {
|
|||
$entry['hash'] = $rr['xchan_hash'];
|
||||
|
||||
$entry['updated'] = (($rr['ud_date']) ? $rr['ud_date'] : '0000-00-00 00:00:00');
|
||||
$entry['update_guid'] = (($rr['ud_guid']) ? $rr['ud_guid'] : '');
|
||||
$entry['url'] = $rr['xchan_url'];
|
||||
$entry['photo'] = $rr['xchan_photo_m'];
|
||||
$entry['address'] = $rr['xchan_addr'];
|
||||
|
|
|
@ -1 +1 @@
|
|||
2013-09-14.436
|
||||
2013-09-15.437
|
||||
|
|
Loading…
Reference in a new issue