Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
06bfd2b502
@ -6,6 +6,7 @@ We need much more than this, but here are areas where developers can help. Pleas
|
|||||||
[li]Include TOS link in registration/verification email[/li]
|
[li]Include TOS link in registration/verification email[/li]
|
||||||
[li]Auto preview posts/comments (configurable timer kicks in the preview if not 0)[/li]
|
[li]Auto preview posts/comments (configurable timer kicks in the preview if not 0)[/li]
|
||||||
[li]Create bug tracker module[/li]
|
[li]Create bug tracker module[/li]
|
||||||
|
[li]Filing posts - provide a dropdown menu integrated with the 'post actions menu'[/li]
|
||||||
[li]translation plugins - moses or apertium[/li]
|
[li]translation plugins - moses or apertium[/li]
|
||||||
[li]plugins - provide 'disable' which is softer than 'uninstall' for those plugins which create additional DB tables[/li]
|
[li]plugins - provide 'disable' which is softer than 'uninstall' for those plugins which create additional DB tables[/li]
|
||||||
[li]Infinite scroll improvements (i.e. embedded page links) see http://scrollsample.appspot.com/items [/li]
|
[li]Infinite scroll improvements (i.e. embedded page links) see http://scrollsample.appspot.com/items [/li]
|
||||||
|
@ -92,12 +92,12 @@ function deliver_run($argv, $argc) {
|
|||||||
$m = json_decode($r[0]['outq_msg'],true);
|
$m = json_decode($r[0]['outq_msg'],true);
|
||||||
if(array_key_exists('message_list',$m)) {
|
if(array_key_exists('message_list',$m)) {
|
||||||
foreach($m['message_list'] as $mm) {
|
foreach($m['message_list'] as $mm) {
|
||||||
$msg = array('body' => json_encode(array('pickup' => array(array('notify' => $notify,'message' => $mm)))));
|
$msg = array('body' => json_encode(array('success' => true, 'pickup' => array(array('notify' => $notify,'message' => $mm)))));
|
||||||
zot_import($msg,z_root());
|
zot_import($msg,z_root());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$msg = array('body' => json_encode(array('pickup' => array(array('notify' => $notify,'message' => $m)))));
|
$msg = array('body' => json_encode(array('success' => true, 'pickup' => array(array('notify' => $notify,'message' => $m)))));
|
||||||
zot_import($msg,z_root());
|
zot_import($msg,z_root());
|
||||||
}
|
}
|
||||||
$r = q("delete from outq where outq_hash = '%s'",
|
$r = q("delete from outq where outq_hash = '%s'",
|
||||||
|
@ -276,3 +276,28 @@ function xchan_fetch($arr) {
|
|||||||
}
|
}
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function ping_site($url) {
|
||||||
|
|
||||||
|
$ret = array('success' => false);
|
||||||
|
|
||||||
|
$sys = get_sys_channel();
|
||||||
|
|
||||||
|
$m = zot_build_packet($sys,'ping');
|
||||||
|
$r = zot_zot($url . '/post',$m);
|
||||||
|
if(! $r['success']) {
|
||||||
|
$ret['message'] = 'no answer from ' . $url;
|
||||||
|
return $ret;
|
||||||
|
}
|
||||||
|
$packet_result = $r['body'];
|
||||||
|
if(! $packet_result['success']) {
|
||||||
|
$ret['message'] = 'packet failure from ' . $url;
|
||||||
|
return $ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
$ret['success'] = true;
|
||||||
|
return $ret;
|
||||||
|
|
||||||
|
}
|
||||||
|
@ -3441,6 +3441,8 @@ function post_is_importable($item,$abook) {
|
|||||||
if($exclude) {
|
if($exclude) {
|
||||||
foreach($exclude as $word) {
|
foreach($exclude as $word) {
|
||||||
$word = trim($word);
|
$word = trim($word);
|
||||||
|
if(! $word)
|
||||||
|
continue;
|
||||||
if(substr($word,0,1) === '#' && $tags) {
|
if(substr($word,0,1) === '#' && $tags) {
|
||||||
foreach($tags as $t)
|
foreach($tags as $t)
|
||||||
if(($t['type'] == TERM_HASHTAG) && (($t['term'] === substr($word,1)) || (substr($word,1) === '*')))
|
if(($t['type'] == TERM_HASHTAG) && (($t['term'] === substr($word,1)) || (substr($word,1) === '*')))
|
||||||
@ -3460,6 +3462,8 @@ function post_is_importable($item,$abook) {
|
|||||||
if($include) {
|
if($include) {
|
||||||
foreach($include as $word) {
|
foreach($include as $word) {
|
||||||
$word = trim($word);
|
$word = trim($word);
|
||||||
|
if(! $word)
|
||||||
|
continue;
|
||||||
if(substr($word,0,1) === '#' && $tags) {
|
if(substr($word,0,1) === '#' && $tags) {
|
||||||
foreach($tags as $t)
|
foreach($tags as $t)
|
||||||
if(($t['type'] == TERM_HASHTAG) && (($t['term'] === substr($word,1)) || (substr($word,1) === '*')))
|
if(($t['type'] == TERM_HASHTAG) && (($t['term'] === substr($word,1)) || (substr($word,1) === '*')))
|
||||||
|
@ -537,7 +537,7 @@ function zot_refresh($them, $channel = null, $force = false) {
|
|||||||
* @returns array|null null if site is blacklisted or not found, otherwise an
|
* @returns array|null null if site is blacklisted or not found, otherwise an
|
||||||
* array with an hubloc record
|
* array with an hubloc record
|
||||||
*/
|
*/
|
||||||
function zot_gethub($arr) {
|
function zot_gethub($arr,$multiple = false) {
|
||||||
|
|
||||||
if($arr['guid'] && $arr['guid_sig'] && $arr['url'] && $arr['url_sig']) {
|
if($arr['guid'] && $arr['guid_sig'] && $arr['url'] && $arr['url_sig']) {
|
||||||
|
|
||||||
@ -556,18 +556,20 @@ function zot_gethub($arr) {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$limit = (($multiple) ? '' : ' limit 1 ');
|
||||||
|
|
||||||
$r = q("select * from hubloc
|
$r = q("select * from hubloc
|
||||||
where hubloc_guid = '%s' and hubloc_guid_sig = '%s'
|
where hubloc_guid = '%s' and hubloc_guid_sig = '%s'
|
||||||
and hubloc_url = '%s' and hubloc_url_sig = '%s'
|
and hubloc_url = '%s' and hubloc_url_sig = '%s'
|
||||||
limit 1",
|
$limit",
|
||||||
dbesc($arr['guid']),
|
dbesc($arr['guid']),
|
||||||
dbesc($arr['guid_sig']),
|
dbesc($arr['guid_sig']),
|
||||||
dbesc($arr['url']),
|
dbesc($arr['url']),
|
||||||
dbesc($arr['url_sig'])
|
dbesc($arr['url_sig'])
|
||||||
);
|
);
|
||||||
if($r && count($r)) {
|
if($r) {
|
||||||
logger('zot_gethub: found', LOGGER_DEBUG);
|
logger('zot_gethub: found', LOGGER_DEBUG);
|
||||||
return $r[0];
|
return (($multiple) ? $r : $r[0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
logger('zot_gethub: not found: ' . print_r($arr,true), LOGGER_DEBUG);
|
logger('zot_gethub: not found: ' . print_r($arr,true), LOGGER_DEBUG);
|
||||||
@ -951,7 +953,7 @@ function zot_process_response($hub, $arr, $outq) {
|
|||||||
|
|
||||||
// update the timestamp for this site
|
// update the timestamp for this site
|
||||||
|
|
||||||
q("update site set site_update = '%s' where site_url = '%s'",
|
q("update site set site_dead = 0, site_update = '%s' where site_url = '%s'",
|
||||||
dbesc(datetime_convert()),
|
dbesc(datetime_convert()),
|
||||||
dbesc(dirname($hub))
|
dbesc(dirname($hub))
|
||||||
);
|
);
|
||||||
@ -996,12 +998,17 @@ function zot_fetch($arr) {
|
|||||||
|
|
||||||
$url = $arr['sender']['url'] . $arr['callback'];
|
$url = $arr['sender']['url'] . $arr['callback'];
|
||||||
|
|
||||||
$ret_hub = zot_gethub($arr['sender']);
|
// set $multiple param on zot_gethub() to return all matching hubs
|
||||||
if(! $ret_hub) {
|
// This allows us to recover from re-installs when a redundant (but invalid) hubloc for
|
||||||
|
// this identity is widely dispersed throughout the network.
|
||||||
|
|
||||||
|
$ret_hubs = zot_gethub($arr['sender'],true);
|
||||||
|
if(! $ret_hubs) {
|
||||||
logger('zot_fetch: no hub: ' . print_r($arr['sender'],true));
|
logger('zot_fetch: no hub: ' . print_r($arr['sender'],true));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach($ret_hubs as $ret_hub) {
|
||||||
$data = array(
|
$data = array(
|
||||||
'type' => 'pickup',
|
'type' => 'pickup',
|
||||||
'url' => z_root(),
|
'url' => z_root(),
|
||||||
@ -1014,11 +1021,17 @@ function zot_fetch($arr) {
|
|||||||
$datatosend = json_encode(crypto_encapsulate(json_encode($data),$ret_hub['hubloc_sitekey']));
|
$datatosend = json_encode(crypto_encapsulate(json_encode($data),$ret_hub['hubloc_sitekey']));
|
||||||
|
|
||||||
$fetch = zot_zot($url,$datatosend);
|
$fetch = zot_zot($url,$datatosend);
|
||||||
|
|
||||||
$result = zot_import($fetch, $arr['sender']['url']);
|
$result = zot_import($fetch, $arr['sender']['url']);
|
||||||
|
|
||||||
|
if($result)
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Process incoming array of messages.
|
* @brief Process incoming array of messages.
|
||||||
*
|
*
|
||||||
@ -1055,6 +1068,12 @@ function zot_import($arr, $sender_url) {
|
|||||||
$data = json_decode(crypto_unencapsulate($data,get_config('system','prvkey')),true);
|
$data = json_decode(crypto_unencapsulate($data,get_config('system','prvkey')),true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(! $data['success']) {
|
||||||
|
if($data['message'])
|
||||||
|
logger('remote pickup failed: ' . $data['message']);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
$incoming = $data['pickup'];
|
$incoming = $data['pickup'];
|
||||||
|
|
||||||
$return = array();
|
$return = array();
|
||||||
@ -2663,7 +2682,7 @@ function import_site($arr, $pubkey) {
|
|||||||
// logger('import_site: input: ' . print_r($arr,true));
|
// logger('import_site: input: ' . print_r($arr,true));
|
||||||
// logger('import_site: stored: ' . print_r($siterecord,true));
|
// logger('import_site: stored: ' . print_r($siterecord,true));
|
||||||
|
|
||||||
$r = q("update site set site_location = '%s', site_flags = %d, site_access = %d, site_directory = '%s', site_register = %d, site_update = '%s', site_sellpage = '%s', site_realm = '%s'
|
$r = q("update site set site_dead = 0, site_location = '%s', site_flags = %d, site_access = %d, site_directory = '%s', site_register = %d, site_update = '%s', site_sellpage = '%s', site_realm = '%s'
|
||||||
where site_url = '%s'",
|
where site_url = '%s'",
|
||||||
dbesc($site_location),
|
dbesc($site_location),
|
||||||
intval($site_directory),
|
intval($site_directory),
|
||||||
@ -2681,7 +2700,7 @@ function import_site($arr, $pubkey) {
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// update the timestamp to indicate we communicated with this site
|
// update the timestamp to indicate we communicated with this site
|
||||||
q("update site set site_update = '%s' where site_url = '%s'",
|
q("update site set site_dead = 0, site_update = '%s' where site_url = '%s'",
|
||||||
dbesc(datetime_convert()),
|
dbesc(datetime_convert()),
|
||||||
dbesc($url)
|
dbesc($url)
|
||||||
);
|
);
|
||||||
|
@ -73,7 +73,7 @@ function invite_post(&$a) {
|
|||||||
$account = $a->get_account();
|
$account = $a->get_account();
|
||||||
|
|
||||||
|
|
||||||
$res = mail($recip, sprintf( t('Please join us on Red'), $a->config['sitename']),
|
$res = mail($recip, sprintf( t('Please join us on $Projectname'), $a->config['sitename']),
|
||||||
$nmessage,
|
$nmessage,
|
||||||
"From: " . $account['account_email'] . "\n"
|
"From: " . $account['account_email'] . "\n"
|
||||||
. 'Content-type: text/plain; charset=UTF-8' . "\n"
|
. 'Content-type: text/plain; charset=UTF-8' . "\n"
|
||||||
|
@ -92,13 +92,16 @@ function profile_photo_post(&$a) {
|
|||||||
$is_default_profile = 1;
|
$is_default_profile = 1;
|
||||||
|
|
||||||
if($_REQUEST['profile']) {
|
if($_REQUEST['profile']) {
|
||||||
$r = q("select id, is_default from profile where id = %d and uid = %d limit 1",
|
$r = q("select id, profile_guid, is_default, gender from profile where id = %d and uid = %d limit 1",
|
||||||
intval($_REQUEST['profile']),
|
intval($_REQUEST['profile']),
|
||||||
intval(local_channel())
|
intval(local_channel())
|
||||||
);
|
);
|
||||||
if(($r) && (! intval($r[0]['is_default'])))
|
if($r) {
|
||||||
|
$profile = $r[0];
|
||||||
|
if(! intval($profile['is_default']))
|
||||||
$is_default_profile = 0;
|
$is_default_profile = 0;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -167,6 +170,8 @@ function profile_photo_post(&$a) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$channel = $a->get_channel();
|
||||||
|
|
||||||
// If setting for the default profile, unset the profile photo flag from any other photos I own
|
// If setting for the default profile, unset the profile photo flag from any other photos I own
|
||||||
|
|
||||||
if($is_default_profile) {
|
if($is_default_profile) {
|
||||||
@ -177,6 +182,9 @@ function profile_photo_post(&$a) {
|
|||||||
dbesc($base_image['resource_id']),
|
dbesc($base_image['resource_id']),
|
||||||
intval(local_channel())
|
intval(local_channel())
|
||||||
);
|
);
|
||||||
|
|
||||||
|
send_profile_photo_activity($channel,$base_image,$profile);
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$r = q("update profile set photo = '%s', thumb = '%s' where id = %d and uid = %d",
|
$r = q("update profile set photo = '%s', thumb = '%s' where id = %d and uid = %d",
|
||||||
@ -190,7 +198,6 @@ function profile_photo_post(&$a) {
|
|||||||
// We'll set the updated profile-photo timestamp even if it isn't the default profile,
|
// We'll set the updated profile-photo timestamp even if it isn't the default profile,
|
||||||
// so that browsers will do a cache update unconditionally
|
// so that browsers will do a cache update unconditionally
|
||||||
|
|
||||||
$channel = $a->get_channel();
|
|
||||||
|
|
||||||
$r = q("UPDATE xchan set xchan_photo_mimetype = '%s', xchan_photo_date = '%s'
|
$r = q("UPDATE xchan set xchan_photo_mimetype = '%s', xchan_photo_date = '%s'
|
||||||
where xchan_hash = '%s'",
|
where xchan_hash = '%s'",
|
||||||
@ -208,6 +215,8 @@ function profile_photo_post(&$a) {
|
|||||||
|
|
||||||
profile_photo_set_profile_perms($_REQUEST['profile']);
|
profile_photo_set_profile_perms($_REQUEST['profile']);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
notice( t('Unable to process image') . EOL);
|
notice( t('Unable to process image') . EOL);
|
||||||
@ -262,6 +271,59 @@ function profile_photo_post(&$a) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function send_profile_photo_activity($channel,$photo,$profile) {
|
||||||
|
|
||||||
|
// for now only create activities for the default profile
|
||||||
|
|
||||||
|
if(! intval($profile['is_default']))
|
||||||
|
return;
|
||||||
|
|
||||||
|
$arr = array();
|
||||||
|
$arr['item_thread_top'] = 1;
|
||||||
|
$arr['item_origin'] = 1;
|
||||||
|
$arr['item_wall'] = 1;
|
||||||
|
$arr['obj_type'] = ACTIVITY_OBJ_PHOTO;
|
||||||
|
$arr['verb'] = ACTIVITY_UPDATE;
|
||||||
|
|
||||||
|
$arr['object'] = json_encode(array(
|
||||||
|
'type' => $arr['obj_type'],
|
||||||
|
'id' => z_root() . '/photo/profile/l/' . $channel['channel_id'],
|
||||||
|
'link' => array('rel' => 'photo', 'type' => $photo['type'], 'href' => z_root() . '/photo/profile/l/' . $channel['channel_id'])
|
||||||
|
));
|
||||||
|
|
||||||
|
if(stripos($profile['gender'],t('female')) !== false)
|
||||||
|
$t = t('%1$s updated her %2$s');
|
||||||
|
elseif(stripos($profile['gender'],t('male')) !== false)
|
||||||
|
$t = t('%1$s updated his %2$s');
|
||||||
|
else
|
||||||
|
$t = t('%1$s updated their %2$s');
|
||||||
|
|
||||||
|
$ptext = '[zrl=' . z_root() . '/photos/' . $channel['channel_address'] . '/image/' . $photo['resource_id'] . ']' . t('profile photo') . '[/zrl]';
|
||||||
|
|
||||||
|
$ltext = '[zrl=' . z_root() . '/profile/' . $channel['channel_address'] . ']' . '[zmg=150x150]' . z_root() . '/photo/' . $photo['resource_id'] . '-4[/zmg][/zrl]';
|
||||||
|
|
||||||
|
$arr['body'] = sprintf($t,$channel['channel_name'],$ptext) . "\n\n" . $ltext;
|
||||||
|
|
||||||
|
$acl = new AccessList($channel);
|
||||||
|
$x = $acl->get();
|
||||||
|
$arr['allow_cid'] = $x['allow_cid'];
|
||||||
|
|
||||||
|
$arr['allow_gid'] = $x['allow_gid'];
|
||||||
|
$arr['deny_cid'] = $x['deny_cid'];
|
||||||
|
$arr['deny_gid'] = $x['deny_gid'];
|
||||||
|
|
||||||
|
$arr['uid'] = $channel['channel_id'];
|
||||||
|
$arr['aid'] = $channel['channel_account_id'];
|
||||||
|
|
||||||
|
$arr['owner_xchan'] = $channel['channel_hash'];
|
||||||
|
$arr['author_xchan'] = $channel['channel_hash'];
|
||||||
|
|
||||||
|
post_activity_item($arr);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* @brief Generate content of profile-photo view
|
/* @brief Generate content of profile-photo view
|
||||||
*
|
*
|
||||||
* @param $a Current application
|
* @param $a Current application
|
||||||
|
@ -1 +1 @@
|
|||||||
2015-09-10.1151
|
2015-09-11.1152
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
header #banner {
|
header #banner {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
top: 0;
|
width: 33%;
|
||||||
width: 250px;
|
margin-left: 33%;
|
||||||
margin-left: auto;
|
margin-right: 33%;
|
||||||
margin-right: auto;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#blog-banner {
|
#blog-banner {
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
header #banner {
|
header #banner {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
top: 0;
|
width: 33%;
|
||||||
width: 250px;
|
margin-left: 33%;
|
||||||
margin-left: auto;
|
margin-right: 33%;
|
||||||
margin-right: auto;
|
|
||||||
}
|
}
|
||||||
#blog-banner {
|
#blog-banner {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
header #banner {
|
header #banner {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
top: 0;
|
width: 33%;
|
||||||
width: 250px;
|
margin-left: 33%;
|
||||||
margin-left: auto;
|
margin-right: 33%;
|
||||||
margin-right: auto;
|
|
||||||
}
|
}
|
||||||
#blog-banner {
|
#blog-banner {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
header #banner {
|
header #banner {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
top: 0;
|
width: 33%;
|
||||||
width: 250px;
|
margin-left: 33%;
|
||||||
margin-left: auto;
|
margin-right: 33%;
|
||||||
margin-right: auto;
|
|
||||||
}
|
}
|
||||||
#blog-banner {
|
#blog-banner {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
header #banner {
|
header #banner {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
top: 0;
|
width: 33%;
|
||||||
width: 250px;
|
margin-left: 33%;
|
||||||
margin-left: auto;
|
margin-right: 33%;
|
||||||
margin-right: auto;
|
|
||||||
}
|
}
|
||||||
#blog-banner {
|
#blog-banner {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
header #banner {
|
header #banner {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
top: 0;
|
width: 33%;
|
||||||
width: 250px;
|
margin-left: 33%;
|
||||||
margin-left: auto;
|
margin-right: 33%;
|
||||||
margin-right: auto;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
main {
|
main {
|
||||||
@ -18,7 +17,6 @@ aside {
|
|||||||
display: table-cell;
|
display: table-cell;
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
padding: 80px 7px 0px 7px;
|
padding: 80px 7px 0px 7px;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
section {
|
section {
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
header #banner {
|
header #banner {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
top: 0;
|
width: 33%;
|
||||||
width: 250px;
|
margin-left: 33%;
|
||||||
margin-left: auto;
|
margin-right: 33%;
|
||||||
margin-right: auto;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
section {
|
section {
|
||||||
|
8
view/theme/redbasic/css/align_left.css
Normal file
8
view/theme/redbasic/css/align_left.css
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
main {
|
||||||
|
margin-left: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
aside#region_3 {
|
||||||
|
width: auto;
|
||||||
|
padding: 0px 0px 0px 0px;
|
||||||
|
}
|
@ -1,10 +0,0 @@
|
|||||||
main {
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
aside#region_3 {
|
|
||||||
width: $aside_widthpx;
|
|
||||||
min-width: $aside_widthpx;
|
|
||||||
max-width: $aside_widthpx;
|
|
||||||
}
|
|
@ -24,13 +24,15 @@ body {
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
aside#region_1 {
|
aside {
|
||||||
width: $aside_widthpx;
|
width: $aside_widthpx;
|
||||||
min-width: $aside_widthpx;
|
min-width: $aside_widthpx;
|
||||||
max-width: $aside_widthpx;
|
max-width: $aside_widthpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
main {
|
main {
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
max-width: $main_widthpx;
|
max-width: $main_widthpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -199,13 +201,14 @@ nav #banner #logo-text a:hover { text-decoration: none; }
|
|||||||
.nav-channel-select { margin-left: 8px; }
|
.nav-channel-select { margin-left: 8px; }
|
||||||
|
|
||||||
header #banner {
|
header #banner {
|
||||||
/* overflow: hidden; */
|
z-index: 1040;
|
||||||
|
margin-top: 14px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-family: tahoma, "Lucida Sans", sans;
|
font-family: tahoma, "Lucida Sans", sans;
|
||||||
color: $banner_colour;
|
color: $banner_colour;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
margin-top: 14px;
|
whitespace: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
header #banner a,
|
header #banner a,
|
||||||
@ -213,15 +216,17 @@ header #banner a:active,
|
|||||||
header #banner a:visited,
|
header #banner a:visited,
|
||||||
header #banner a:link,
|
header #banner a:link,
|
||||||
header #banner a:hover {
|
header #banner a:hover {
|
||||||
color: #FFF;
|
color: $banner_colour;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
outline: none;
|
outline: none;
|
||||||
vertical-align: bottom;
|
vertical-align: bottom;
|
||||||
}
|
}
|
||||||
|
|
||||||
header #banner #logo-img {
|
header #banner #logo-img {
|
||||||
height: 22px;
|
height: 22px;
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
header #banner #logo-text {
|
header #banner #logo-text {
|
||||||
font-size: 22px;
|
font-size: 22px;
|
||||||
}
|
}
|
||||||
@ -751,8 +756,7 @@ a.rateme, div.rateme {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.wall-item-conv {
|
.wall-item-conv {
|
||||||
padding-top: 10px;
|
padding: 7px 10px;
|
||||||
padding-left: 10px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1301,17 +1305,6 @@ a.rconnect:hover, a.rateme:hover, div.rateme:hover {
|
|||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* header */
|
|
||||||
header {
|
|
||||||
position: fixed;
|
|
||||||
left: 43%;
|
|
||||||
right: 43%;
|
|
||||||
margin: 0px;
|
|
||||||
padding: 0px;
|
|
||||||
z-index: 1040;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.notif-item a {
|
.notif-item a {
|
||||||
color: #000;
|
color: #000;
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,7 @@ function theme_content(&$a) {
|
|||||||
$arr['radius'] = get_pconfig(local_channel(),'redbasic', 'radius' );
|
$arr['radius'] = get_pconfig(local_channel(),'redbasic', 'radius' );
|
||||||
$arr['shadow'] = get_pconfig(local_channel(),'redbasic', 'photo_shadow' );
|
$arr['shadow'] = get_pconfig(local_channel(),'redbasic', 'photo_shadow' );
|
||||||
$arr['converse_width']=get_pconfig(local_channel(),"redbasic","converse_width");
|
$arr['converse_width']=get_pconfig(local_channel(),"redbasic","converse_width");
|
||||||
$arr['converse_center']=get_pconfig(local_channel(),"redbasic","converse_center");
|
$arr['align_left']=get_pconfig(local_channel(),"redbasic","align_left");
|
||||||
$arr['nav_min_opacity']=get_pconfig(local_channel(),"redbasic","nav_min_opacity");
|
$arr['nav_min_opacity']=get_pconfig(local_channel(),"redbasic","nav_min_opacity");
|
||||||
$arr['top_photo']=get_pconfig(local_channel(),"redbasic","top_photo");
|
$arr['top_photo']=get_pconfig(local_channel(),"redbasic","top_photo");
|
||||||
$arr['reply_photo']=get_pconfig(local_channel(),"redbasic","reply_photo");
|
$arr['reply_photo']=get_pconfig(local_channel(),"redbasic","reply_photo");
|
||||||
@ -68,7 +68,7 @@ function theme_post(&$a) {
|
|||||||
set_pconfig(local_channel(), 'redbasic', 'radius', $_POST['redbasic_radius']);
|
set_pconfig(local_channel(), 'redbasic', 'radius', $_POST['redbasic_radius']);
|
||||||
set_pconfig(local_channel(), 'redbasic', 'photo_shadow', $_POST['redbasic_shadow']);
|
set_pconfig(local_channel(), 'redbasic', 'photo_shadow', $_POST['redbasic_shadow']);
|
||||||
set_pconfig(local_channel(), 'redbasic', 'converse_width', $_POST['redbasic_converse_width']);
|
set_pconfig(local_channel(), 'redbasic', 'converse_width', $_POST['redbasic_converse_width']);
|
||||||
set_pconfig(local_channel(), 'redbasic', 'converse_center', $_POST['redbasic_converse_center']);
|
set_pconfig(local_channel(), 'redbasic', 'align_left', $_POST['redbasic_align_left']);
|
||||||
set_pconfig(local_channel(), 'redbasic', 'nav_min_opacity', $_POST['redbasic_nav_min_opacity']);
|
set_pconfig(local_channel(), 'redbasic', 'nav_min_opacity', $_POST['redbasic_nav_min_opacity']);
|
||||||
set_pconfig(local_channel(), 'redbasic', 'top_photo', $_POST['redbasic_top_photo']);
|
set_pconfig(local_channel(), 'redbasic', 'top_photo', $_POST['redbasic_top_photo']);
|
||||||
set_pconfig(local_channel(), 'redbasic', 'reply_photo', $_POST['redbasic_reply_photo']);
|
set_pconfig(local_channel(), 'redbasic', 'reply_photo', $_POST['redbasic_reply_photo']);
|
||||||
@ -126,7 +126,7 @@ if(feature_enabled(local_channel(),'expert'))
|
|||||||
'$radius' => array('redbasic_radius', t('Set radius of corners'), $arr['radius']),
|
'$radius' => array('redbasic_radius', t('Set radius of corners'), $arr['radius']),
|
||||||
'$shadow' => array('redbasic_shadow', t('Set shadow depth of photos'), $arr['shadow']),
|
'$shadow' => array('redbasic_shadow', t('Set shadow depth of photos'), $arr['shadow']),
|
||||||
'$converse_width' => array('redbasic_converse_width',t('Set maximum width of content region in pixel'),$arr['converse_width'], t('Leave empty for default width')),
|
'$converse_width' => array('redbasic_converse_width',t('Set maximum width of content region in pixel'),$arr['converse_width'], t('Leave empty for default width')),
|
||||||
'$converse_center' => array('redbasic_converse_center',t('Center page content'),$arr['converse_center'], '', array(t('No'),t('Yes'))),
|
'$align_left' => array('redbasic_align_left',t('Left align page content'),$arr['align_left'], '', array(t('No'),t('Yes'))),
|
||||||
'$nav_min_opacity' => array('redbasic_nav_min_opacity',t('Set minimum opacity of nav bar - to hide it'),$arr['nav_min_opacity']),
|
'$nav_min_opacity' => array('redbasic_nav_min_opacity',t('Set minimum opacity of nav bar - to hide it'),$arr['nav_min_opacity']),
|
||||||
'$top_photo' => array('redbasic_top_photo', t('Set size of conversation author photo'), $arr['top_photo']),
|
'$top_photo' => array('redbasic_top_photo', t('Set size of conversation author photo'), $arr['top_photo']),
|
||||||
'$reply_photo' => array('redbasic_reply_photo', t('Set size of followup author photos'), $arr['reply_photo']),
|
'$reply_photo' => array('redbasic_reply_photo', t('Set size of followup author photos'), $arr['reply_photo']),
|
||||||
|
@ -36,7 +36,7 @@ if(! $a->install) {
|
|||||||
$radius = get_pconfig($uid, "redbasic", "radius");
|
$radius = get_pconfig($uid, "redbasic", "radius");
|
||||||
$shadow = get_pconfig($uid,"redbasic","photo_shadow");
|
$shadow = get_pconfig($uid,"redbasic","photo_shadow");
|
||||||
$converse_width=get_pconfig($uid,"redbasic","converse_width");
|
$converse_width=get_pconfig($uid,"redbasic","converse_width");
|
||||||
$converse_center=get_pconfig($uid,"redbasic","converse_center");
|
$align_left=get_pconfig($uid,"redbasic","align_left");
|
||||||
$nav_min_opacity=get_pconfig($uid,'redbasic','nav_min_opacity');
|
$nav_min_opacity=get_pconfig($uid,'redbasic','nav_min_opacity');
|
||||||
$top_photo=get_pconfig($uid,'redbasic','top_photo');
|
$top_photo=get_pconfig($uid,'redbasic','top_photo');
|
||||||
$reply_photo=get_pconfig($uid,'redbasic','reply_photo');
|
$reply_photo=get_pconfig($uid,'redbasic','reply_photo');
|
||||||
@ -156,12 +156,12 @@ if(file_exists('view/theme/redbasic/css/style.css')) {
|
|||||||
|
|
||||||
$aside_width = 285;
|
$aside_width = 285;
|
||||||
|
|
||||||
// left aside and right aside are is 231px + converse width
|
// left aside and right aside are 285px + converse width
|
||||||
if($converse_center) {
|
if($align_left) {
|
||||||
$main_width = (($aside_width * 2) + intval($converse_width));
|
$main_width = (($aside_width) + intval($converse_width));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$main_width = (($aside_width) + intval($converse_width));
|
$main_width = (($aside_width * 2) + intval($converse_width));
|
||||||
}
|
}
|
||||||
// prevent main_width smaller than 768px
|
// prevent main_width smaller than 768px
|
||||||
$main_width = (($main_width < 768) ? 768 : $main_width);
|
$main_width = (($main_width < 768) ? 768 : $main_width);
|
||||||
@ -209,9 +209,8 @@ if($narrow_navbar && file_exists('view/theme/redbasic/css/narrow_navbar.css')) {
|
|||||||
echo file_get_contents('view/theme/redbasic/css/narrow_navbar.css');
|
echo file_get_contents('view/theme/redbasic/css/narrow_navbar.css');
|
||||||
}
|
}
|
||||||
|
|
||||||
if($converse_center && file_exists('view/theme/redbasic/css/converse_center.css')) {
|
if($align_left && file_exists('view/theme/redbasic/css/align_left.css')) {
|
||||||
$cc = file_get_contents('view/theme/redbasic/css/converse_center.css');
|
echo file_get_contents('view/theme/redbasic/css/align_left.css');
|
||||||
echo str_replace(array_keys($options), array_values($options), $cc);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if($schemecss) {
|
if($schemecss) {
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
{{include file="field_input.tpl" field=$reply_photo}}
|
{{include file="field_input.tpl" field=$reply_photo}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{include file="field_input.tpl" field=$converse_width}}
|
{{include file="field_input.tpl" field=$converse_width}}
|
||||||
{{include file="field_checkbox.tpl" field=$converse_center}}
|
{{include file="field_checkbox.tpl" field=$align_left}}
|
||||||
{{include file="field_checkbox.tpl" field=$narrow_navbar}}
|
{{include file="field_checkbox.tpl" field=$narrow_navbar}}
|
||||||
{{if $expert}}
|
{{if $expert}}
|
||||||
<script>
|
<script>
|
||||||
|
@ -17,7 +17,7 @@ function drophub(id) {
|
|||||||
{{$hub.hubloc_url}} ({{$hub.hubloc_addr}}){{if $hub.deleted}}</strike>{{/if}}</td>
|
{{$hub.hubloc_url}} ({{$hub.hubloc_addr}}){{if $hub.deleted}}</strike>{{/if}}</td>
|
||||||
<td>
|
<td>
|
||||||
|
|
||||||
{{if $hub.primary}}<i class="icon-check"></i>{{else}}<button class="btn btn-std" onclick="primehub({{$hub.hubloc_id}}); return false;" ><i class="icon-check-empty" ></i></button>{{/if}}
|
{{if $hub.primary}}<button class="btn btn-std"><i class="icon-check"></i></button>{{else}}<button class="btn btn-std" onclick="primehub({{$hub.hubloc_id}}); return false;" ><i class="icon-check-empty" ></i></button>{{/if}}
|
||||||
</td>
|
</td>
|
||||||
<td>{{if $hub.primary}}{{else}}{{if ! $hub.deleted}}<button class="btn btn-std" onclick="drophub({{$hub.hubloc_id}}); return false;"><i class="icon-trash"></i></button>{{/if}}{{/if}}</td>
|
<td>{{if $hub.primary}}{{else}}{{if ! $hub.deleted}}<button class="btn btn-std" onclick="drophub({{$hub.hubloc_id}}); return false;"><i class="icon-trash"></i></button>{{/if}}{{/if}}</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
Reference in New Issue
Block a user