mirror of
https://codeberg.org/streams/streams.git
synced 2024-09-19 23:55:19 +00:00
comanchify all the simple cases - those that only load a profile. Rework permission checks for the profile sidebar so that it is all done internally. Remove crepair which we aren't using.
This commit is contained in:
parent
652959678f
commit
40e2900326
16 changed files with 74 additions and 325 deletions
|
@ -655,6 +655,7 @@ function profile_sidebar($profile, $block = 0, $show_connect = true) {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
if((x($profile,'address') == 1)
|
||||
|| (x($profile,'locality') == 1)
|
||||
|| (x($profile,'region') == 1)
|
||||
|
@ -666,6 +667,10 @@ function profile_sidebar($profile, $block = 0, $show_connect = true) {
|
|||
$marital = ((x($profile,'marital') == 1) ? t('Status:') : False);
|
||||
$homepage = ((x($profile,'homepage') == 1) ? t('Homepage:') : False);
|
||||
|
||||
if(! perm_is_allowed($profile['uid'],((is_array($observer)) ? $observer['xchan_hash'] : ''),'view_profile')) {
|
||||
$block = true;
|
||||
}
|
||||
|
||||
if(($profile['hidewall'] || $block) && (! local_user()) && (! remote_user())) {
|
||||
$location = $pdesc = $gender = $marital = $homepage = False;
|
||||
}
|
||||
|
@ -688,7 +693,7 @@ function profile_sidebar($profile, $block = 0, $show_connect = true) {
|
|||
$channel_menu = menu_render($m);
|
||||
}
|
||||
$menublock = get_pconfig($profile['uid'],'system','channel_menublock');
|
||||
if ($menublock) {
|
||||
if ($menublock && (! $block)) {
|
||||
require_once('include/comanche.php');
|
||||
$channel_menu .= comanche_block($menublock);
|
||||
}
|
||||
|
|
|
@ -21,14 +21,6 @@ function common_init(&$a) {
|
|||
|
||||
}
|
||||
|
||||
function common_aside(&$a) {
|
||||
if(! $a->profile['profile_uid'])
|
||||
return;
|
||||
|
||||
profile_create_sidebar($a);
|
||||
}
|
||||
|
||||
|
||||
function common_content(&$a) {
|
||||
|
||||
$o = '';
|
||||
|
|
171
mod/crepair.php
171
mod/crepair.php
|
@ -1,171 +0,0 @@
|
|||
<?php
|
||||
|
||||
function crepair_init(&$a) {
|
||||
if(! local_user())
|
||||
return;
|
||||
|
||||
$contact_id = 0;
|
||||
|
||||
if(($a->argc == 2) && intval($a->argv[1])) {
|
||||
$contact_id = intval($a->argv[1]);
|
||||
$r = q("SELECT * FROM `contact` WHERE `uid` = %d and `id` = %d LIMIT 1",
|
||||
intval(local_user()),
|
||||
intval($contact_id)
|
||||
);
|
||||
if(! count($r)) {
|
||||
$contact_id = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if(! x($a->page,'aside'))
|
||||
$a->page['aside'] = '';
|
||||
|
||||
if($contact_id) {
|
||||
$a->data['contact'] = $r[0];
|
||||
$o .= '<div class="vcard">';
|
||||
$o .= '<div class="fn">' . $a->data['contact']['name'] . '</div>';
|
||||
$o .= '<div id="profile-photo-wrapper"><img class="photo" style="width: 175px; height: 175px;" src="' . $a->data['contact']['photo'] . '" alt="' . $a->data['contact']['name'] . '" /></div>';
|
||||
$o .= '</div>';
|
||||
$a->page['aside'] .= $o;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function crepair_post(&$a) {
|
||||
if(! local_user())
|
||||
return;
|
||||
|
||||
$cid = (($a->argc > 1) ? intval($a->argv[1]) : 0);
|
||||
|
||||
if($cid) {
|
||||
$r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
||||
intval($cid),
|
||||
intval(local_user())
|
||||
);
|
||||
}
|
||||
|
||||
if(! count($r))
|
||||
return;
|
||||
|
||||
$contact = $r[0];
|
||||
|
||||
$name = ((x($_POST,'name')) ? $_POST['name'] : $contact['name']);
|
||||
$nick = ((x($_POST,'nick')) ? $_POST['nick'] : '');
|
||||
$url = ((x($_POST,'url')) ? $_POST['url'] : '');
|
||||
$request = ((x($_POST,'request')) ? $_POST['request'] : '');
|
||||
$confirm = ((x($_POST,'confirm')) ? $_POST['confirm'] : '');
|
||||
$notify = ((x($_POST,'notify')) ? $_POST['notify'] : '');
|
||||
$poll = ((x($_POST,'poll')) ? $_POST['poll'] : '');
|
||||
$attag = ((x($_POST,'attag')) ? $_POST['attag'] : '');
|
||||
$photo = ((x($_POST,'photo')) ? $_POST['photo'] : '');
|
||||
|
||||
$r = q("UPDATE `contact` SET `name` = '%s', `nick` = '%s', `url` = '%s', `request` = '%s', `confirm` = '%s', `notify` = '%s', `poll` = '%s', `attag` = '%s'
|
||||
WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
||||
dbesc($name),
|
||||
dbesc($nick),
|
||||
dbesc($url),
|
||||
dbesc($request),
|
||||
dbesc($confirm),
|
||||
dbesc($notify),
|
||||
dbesc($poll),
|
||||
dbesc($attag),
|
||||
intval($contact['id']),
|
||||
local_user()
|
||||
);
|
||||
|
||||
if($photo) {
|
||||
logger('mod-crepair: updating photo from ' . $photo);
|
||||
require_once('include/photo/photo_driver.php');
|
||||
|
||||
$photos = import_profile_photo($photo,local_user(),$contact['id']);
|
||||
|
||||
$x = q("UPDATE `contact` SET `photo` = '%s',
|
||||
`thumb` = '%s',
|
||||
`micro` = '%s',
|
||||
`name_date` = '%s',
|
||||
`uri_date` = '%s',
|
||||
`avatar_date` = '%s'
|
||||
WHERE `id` = %d LIMIT 1
|
||||
",
|
||||
dbesc($photos[0]),
|
||||
dbesc($photos[1]),
|
||||
dbesc($photos[2]),
|
||||
dbesc(datetime_convert()),
|
||||
dbesc(datetime_convert()),
|
||||
dbesc(datetime_convert()),
|
||||
intval($contact['id'])
|
||||
);
|
||||
}
|
||||
|
||||
if($r)
|
||||
info( t('Contact settings applied.') . EOL);
|
||||
else
|
||||
notice( t('Contact update failed.') . EOL);
|
||||
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function crepair_content(&$a) {
|
||||
|
||||
if(! local_user()) {
|
||||
notice( t('Permission denied.') . EOL);
|
||||
return;
|
||||
}
|
||||
|
||||
$cid = (($a->argc > 1) ? intval($a->argv[1]) : 0);
|
||||
|
||||
if($cid) {
|
||||
$r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
||||
intval($cid),
|
||||
intval(local_user())
|
||||
);
|
||||
}
|
||||
|
||||
if(! count($r)) {
|
||||
notice( t('Contact not found.') . EOL);
|
||||
return;
|
||||
}
|
||||
|
||||
$contact = $r[0];
|
||||
|
||||
$msg1 = t('Repair Contact Settings');
|
||||
|
||||
$msg2 = t('<strong>WARNING: This is highly advanced</strong> and if you enter incorrect information your communications with this contact may stop working.');
|
||||
$msg3 = t('Please use your browser \'Back\' button <strong>now</strong> if you are uncertain what to do on this page.');
|
||||
|
||||
$o .= '<h2>' . $msg1 . '</h2>';
|
||||
|
||||
$o .= '<div class="error-message">' . $msg2 . EOL . EOL. $msg3 . '</div>';
|
||||
|
||||
$o .= EOL . '<a href="contacts/' . $cid . '">' . t('Return to contact editor') . '</a>' . EOL;
|
||||
|
||||
$tpl = get_markup_template('crepair.tpl');
|
||||
$o .= replace_macros($tpl, array(
|
||||
'$label_name' => t('Name'),
|
||||
'$label_nick' => t('Account Nickname'),
|
||||
'$label_attag' => t('@Tagname - overrides Name/Nickname'),
|
||||
'$label_url' => t('Account URL'),
|
||||
'$label_request' => t('Friend Request URL'),
|
||||
'$label_confirm' => t('Friend Confirm URL'),
|
||||
'$label_notify' => t('Notification Endpoint URL'),
|
||||
'$label_poll' => t('Poll/Feed URL'),
|
||||
'$label_photo' => t('New photo from this URL'),
|
||||
'$contact_name' => $contact['name'],
|
||||
'$contact_nick' => $contact['nick'],
|
||||
'$contact_id' => $contact['id'],
|
||||
'$contact_url' => $contact['url'],
|
||||
'$request' => $contact['request'],
|
||||
'$confirm' => $contact['confirm'],
|
||||
'$notify' => $contact['notify'],
|
||||
'$poll' => $contact['poll'],
|
||||
'$contact_attag' => $contact['attag'],
|
||||
'$lbl_submit' => t('Submit')
|
||||
));
|
||||
|
||||
return $o;
|
||||
|
||||
}
|
|
@ -1,53 +0,0 @@
|
|||
<?php
|
||||
|
||||
function hcard_init(&$a) {
|
||||
|
||||
$blocked = (((get_config('system','block_public')) && (! local_user()) && (! remote_user())) ? true : false);
|
||||
|
||||
if($a->argc > 1)
|
||||
$which = $a->argv[1];
|
||||
else {
|
||||
notice( t('No profile') . EOL );
|
||||
$a->error = 404;
|
||||
return;
|
||||
}
|
||||
|
||||
$profile = 0;
|
||||
if((local_user()) && ($a->argc > 2) && ($a->argv[2] === 'view')) {
|
||||
$which = $a->user['nickname'];
|
||||
$profile = $a->argv[1];
|
||||
}
|
||||
|
||||
profile_load($a,$which,$profile);
|
||||
|
||||
if((x($a->profile,'page-flags')) && ($a->profile['page-flags'] == PAGE_COMMUNITY)) {
|
||||
$a->page['htmlhead'] .= '<meta name="friendica.community" content="true" />';
|
||||
}
|
||||
if(x($a->profile,'openidserver'))
|
||||
$a->page['htmlhead'] .= '<link rel="openid.server" href="' . $a->profile['openidserver'] . '" />' . "\r\n";
|
||||
if(x($a->profile,'openid')) {
|
||||
$delegate = ((strstr($a->profile['openid'],'://')) ? $a->profile['openid'] : 'http://' . $a->profile['openid']);
|
||||
$a->page['htmlhead'] .= '<link rel="openid.delegate" href="' . $delegate . '" />' . "\r\n";
|
||||
}
|
||||
|
||||
if(! $blocked) {
|
||||
$keywords = ((x($a->profile,'keywords')) ? $a->profile['keywords'] : '');
|
||||
$keywords = str_replace(array(',',' ',',,'),array(' ',',',','),$keywords);
|
||||
if(strlen($keywords))
|
||||
$a->page['htmlhead'] .= '<meta name="keywords" content="' . $keywords . '" />' . "\r\n" ;
|
||||
}
|
||||
|
||||
$a->page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . $a->get_baseurl() . '/dfrn_poll/' . $which .'" />' . "\r\n" ;
|
||||
$uri = urlencode('acct:' . $a->profile['nickname'] . '@' . $a->get_hostname() . (($a->path) ? '/' . $a->path : ''));
|
||||
$a->page['htmlhead'] .= '<link rel="lrdd" type="application/xrd+xml" href="' . $a->get_baseurl() . '/xrd/?uri=' . $uri . '" />' . "\r\n";
|
||||
header('Link: <' . $a->get_baseurl() . '/xrd/?uri=' . $uri . '>; rel="lrdd"; type="application/xrd+xml"', false);
|
||||
|
||||
$dfrn_pages = array('request', 'confirm', 'notify', 'poll');
|
||||
foreach($dfrn_pages as $dfrn)
|
||||
$a->page['htmlhead'] .= "<link rel=\"dfrn-{$dfrn}\" href=\"".$a->get_baseurl()."/dfrn_{$dfrn}/{$which}\" />\r\n";
|
||||
|
||||
}
|
||||
|
||||
function hcard_aside(&$a) {
|
||||
profile_create_sidebar($a);
|
||||
}
|
|
@ -14,16 +14,6 @@ function profile_photo_init(&$a) {
|
|||
}
|
||||
|
||||
|
||||
function profile_photo_aside(&$a) {
|
||||
|
||||
if(! local_user()) {
|
||||
return;
|
||||
}
|
||||
|
||||
profile_create_sidebar($a);
|
||||
}
|
||||
|
||||
|
||||
function profile_photo_post(&$a) {
|
||||
|
||||
if(! local_user()) {
|
||||
|
|
|
@ -146,17 +146,6 @@ function profiles_init(&$a) {
|
|||
}
|
||||
}
|
||||
|
||||
function profiles_aside(&$a) {
|
||||
|
||||
if(! local_user()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if((argc() > 1) && (intval(argv(1)))) {
|
||||
profile_create_sidebar($a);
|
||||
}
|
||||
}
|
||||
|
||||
function profiles_post(&$a) {
|
||||
|
||||
if(! local_user()) {
|
||||
|
|
|
@ -13,15 +13,6 @@ function profperm_init(&$a) {
|
|||
}
|
||||
|
||||
|
||||
function profperm_aside(&$a) {
|
||||
|
||||
if(! local_user())
|
||||
return;
|
||||
|
||||
profile_create_sidebar($a);
|
||||
}
|
||||
|
||||
|
||||
function profperm_content(&$a) {
|
||||
|
||||
if(! local_user()) {
|
||||
|
|
|
@ -11,17 +11,6 @@ function viewconnections_init(&$a) {
|
|||
profile_load($a,argv(1));
|
||||
}
|
||||
|
||||
|
||||
function viewconnections_aside(&$a) {
|
||||
|
||||
if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) {
|
||||
return;
|
||||
}
|
||||
|
||||
profile_create_sidebar($a);
|
||||
}
|
||||
|
||||
|
||||
function viewconnections_content(&$a) {
|
||||
|
||||
if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) {
|
||||
|
|
|
@ -1 +1 @@
|
|||
2013-12-10.523
|
||||
2013-12-11.524
|
||||
|
|
|
@ -38,56 +38,6 @@
|
|||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.contact-entry-wrapper {
|
||||
float: left;
|
||||
width: 120px;
|
||||
height: 120px;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
#contacts-search {
|
||||
font-size: 1em;
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
#contacts-search-end {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.contact-entry-photo img {
|
||||
border: none;
|
||||
}
|
||||
.contact-entry-photo-end {
|
||||
clear: both;
|
||||
}
|
||||
.contact-entry-name {
|
||||
float: left;
|
||||
margin-left: 0px;
|
||||
margin-right: 10px;
|
||||
width: 120px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.contact-entry-edit-links {
|
||||
margin-top: 6px;
|
||||
margin-left: 10px;
|
||||
width: 16px;
|
||||
}
|
||||
.contact-entry-nav-wrapper {
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.contact-entry-edit-links img {
|
||||
border: none;
|
||||
margin-right: 15px;
|
||||
}
|
||||
.contact-entry-photo {
|
||||
float: left;
|
||||
position: relative;
|
||||
}
|
||||
.contact-entry-end {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
|
||||
#contact-edit-wrapper {
|
||||
|
|
3
view/pdl/mod_common.pdl
Normal file
3
view/pdl/mod_common.pdl
Normal file
|
@ -0,0 +1,3 @@
|
|||
[region=aside]
|
||||
[widget=fullprofile][/widget]
|
||||
[/region]
|
3
view/pdl/mod_profile_photo.pdl
Normal file
3
view/pdl/mod_profile_photo.pdl
Normal file
|
@ -0,0 +1,3 @@
|
|||
[region=aside]
|
||||
[widget=fullprofile][/widget]
|
||||
[/region]
|
3
view/pdl/mod_profiles.pdl
Normal file
3
view/pdl/mod_profiles.pdl
Normal file
|
@ -0,0 +1,3 @@
|
|||
[region=aside]
|
||||
[widget=fullprofile][/widget]
|
||||
[/region]
|
3
view/pdl/mod_profperm.pdl
Normal file
3
view/pdl/mod_profperm.pdl
Normal file
|
@ -0,0 +1,3 @@
|
|||
[region=aside]
|
||||
[widget=fullprofile][/widget]
|
||||
[/region]
|
3
view/pdl/mod_viewconnections.pdl
Normal file
3
view/pdl/mod_viewconnections.pdl
Normal file
|
@ -0,0 +1,3 @@
|
|||
[region=aside]
|
||||
[widget=fullprofile][/widget]
|
||||
[/region]
|
|
@ -2549,3 +2549,55 @@ img.mail-list-sender-photo {
|
|||
#note-save { margin-top: 10px; }
|
||||
|
||||
|
||||
/* need to put these back in the theme for now - used in more than one module */
|
||||
|
||||
.contact-entry-wrapper {
|
||||
float: left;
|
||||
width: 120px;
|
||||
height: 120px;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
#contacts-search {
|
||||
font-size: 1em;
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
#contacts-search-end {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.contact-entry-photo img {
|
||||
border: none;
|
||||
}
|
||||
.contact-entry-photo-end {
|
||||
clear: both;
|
||||
}
|
||||
.contact-entry-name {
|
||||
float: left;
|
||||
margin-left: 0px;
|
||||
margin-right: 10px;
|
||||
width: 120px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.contact-entry-edit-links {
|
||||
margin-top: 6px;
|
||||
margin-left: 10px;
|
||||
width: 16px;
|
||||
}
|
||||
.contact-entry-nav-wrapper {
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.contact-entry-edit-links img {
|
||||
border: none;
|
||||
margin-right: 15px;
|
||||
}
|
||||
.contact-entry-photo {
|
||||
float: left;
|
||||
position: relative;
|
||||
}
|
||||
.contact-entry-end {
|
||||
clear: both;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue