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
@ -655,6 +655,7 @@ function profile_sidebar($profile, $block = 0, $show_connect = true) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if((x($profile,'address') == 1)
|
if((x($profile,'address') == 1)
|
||||||
|| (x($profile,'locality') == 1)
|
|| (x($profile,'locality') == 1)
|
||||||
|| (x($profile,'region') == 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);
|
$marital = ((x($profile,'marital') == 1) ? t('Status:') : False);
|
||||||
$homepage = ((x($profile,'homepage') == 1) ? t('Homepage:') : 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())) {
|
if(($profile['hidewall'] || $block) && (! local_user()) && (! remote_user())) {
|
||||||
$location = $pdesc = $gender = $marital = $homepage = False;
|
$location = $pdesc = $gender = $marital = $homepage = False;
|
||||||
}
|
}
|
||||||
@ -688,7 +693,7 @@ function profile_sidebar($profile, $block = 0, $show_connect = true) {
|
|||||||
$channel_menu = menu_render($m);
|
$channel_menu = menu_render($m);
|
||||||
}
|
}
|
||||||
$menublock = get_pconfig($profile['uid'],'system','channel_menublock');
|
$menublock = get_pconfig($profile['uid'],'system','channel_menublock');
|
||||||
if ($menublock) {
|
if ($menublock && (! $block)) {
|
||||||
require_once('include/comanche.php');
|
require_once('include/comanche.php');
|
||||||
$channel_menu .= comanche_block($menublock);
|
$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) {
|
function common_content(&$a) {
|
||||||
|
|
||||||
$o = '';
|
$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) {
|
function profile_photo_post(&$a) {
|
||||||
|
|
||||||
if(! local_user()) {
|
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) {
|
function profiles_post(&$a) {
|
||||||
|
|
||||||
if(! local_user()) {
|
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) {
|
function profperm_content(&$a) {
|
||||||
|
|
||||||
if(! local_user()) {
|
if(! local_user()) {
|
||||||
|
@ -11,17 +11,6 @@ function viewconnections_init(&$a) {
|
|||||||
profile_load($a,argv(1));
|
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) {
|
function viewconnections_content(&$a) {
|
||||||
|
|
||||||
if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) {
|
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;
|
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 {
|
#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; }
|
#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;
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user