aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfriendica <info@friendica.com>2013-12-11 14:54:36 -0800
committerfriendica <info@friendica.com>2013-12-11 14:54:36 -0800
commit40e2900326a25ba0e2feedb802d38b7052b194cc (patch)
treeb2de897ab6f3c9803c890ca7f56a928d9153683e
parent652959678f47b84830123df4fac8add31657b4c9 (diff)
downloadvolse-hubzilla-40e2900326a25ba0e2feedb802d38b7052b194cc.tar.gz
volse-hubzilla-40e2900326a25ba0e2feedb802d38b7052b194cc.tar.bz2
volse-hubzilla-40e2900326a25ba0e2feedb802d38b7052b194cc.zip
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.
-rw-r--r--include/identity.php7
-rw-r--r--mod/common.php8
-rw-r--r--mod/crepair.php171
-rw-r--r--mod/hcard.php53
-rw-r--r--mod/profile_photo.php10
-rw-r--r--mod/profiles.php11
-rw-r--r--mod/profperm.php9
-rw-r--r--mod/viewconnections.php11
-rw-r--r--version.inc2
-rw-r--r--view/css/mod_connections.css50
-rw-r--r--view/pdl/mod_common.pdl3
-rw-r--r--view/pdl/mod_profile_photo.pdl3
-rw-r--r--view/pdl/mod_profiles.pdl3
-rw-r--r--view/pdl/mod_profperm.pdl3
-rw-r--r--view/pdl/mod_viewconnections.pdl3
-rw-r--r--view/theme/redbasic/css/style.css52
16 files changed, 74 insertions, 325 deletions
diff --git a/include/identity.php b/include/identity.php
index b25594c87..6bbf193c1 100644
--- a/include/identity.php
+++ b/include/identity.php
@@ -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);
}
diff --git a/mod/common.php b/mod/common.php
index 4afaf37eb..e19a9d3a9 100644
--- a/mod/common.php
+++ b/mod/common.php
@@ -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 = '';
diff --git a/mod/crepair.php b/mod/crepair.php
deleted file mode 100644
index f749fac0e..000000000
--- a/mod/crepair.php
+++ /dev/null
@@ -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;
-
-}
diff --git a/mod/hcard.php b/mod/hcard.php
deleted file mode 100644
index ab2fa88a1..000000000
--- a/mod/hcard.php
+++ /dev/null
@@ -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);
-}
diff --git a/mod/profile_photo.php b/mod/profile_photo.php
index e86e2a828..876e3a931 100644
--- a/mod/profile_photo.php
+++ b/mod/profile_photo.php
@@ -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()) {
diff --git a/mod/profiles.php b/mod/profiles.php
index 173d97138..4625a8805 100644
--- a/mod/profiles.php
+++ b/mod/profiles.php
@@ -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()) {
diff --git a/mod/profperm.php b/mod/profperm.php
index 8054851e8..b31dfc128 100644
--- a/mod/profperm.php
+++ b/mod/profperm.php
@@ -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()) {
diff --git a/mod/viewconnections.php b/mod/viewconnections.php
index 9c85d63b6..e0b1af346 100644
--- a/mod/viewconnections.php
+++ b/mod/viewconnections.php
@@ -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())) {
diff --git a/version.inc b/version.inc
index e228ff0df..7a72887e8 100644
--- a/version.inc
+++ b/version.inc
@@ -1 +1 @@
-2013-12-10.523
+2013-12-11.524
diff --git a/view/css/mod_connections.css b/view/css/mod_connections.css
index ee2ea52ac..d133a1b99 100644
--- a/view/css/mod_connections.css
+++ b/view/css/mod_connections.css
@@ -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 {
diff --git a/view/pdl/mod_common.pdl b/view/pdl/mod_common.pdl
new file mode 100644
index 000000000..f12bf39c3
--- /dev/null
+++ b/view/pdl/mod_common.pdl
@@ -0,0 +1,3 @@
+[region=aside]
+[widget=fullprofile][/widget]
+[/region]
diff --git a/view/pdl/mod_profile_photo.pdl b/view/pdl/mod_profile_photo.pdl
new file mode 100644
index 000000000..f12bf39c3
--- /dev/null
+++ b/view/pdl/mod_profile_photo.pdl
@@ -0,0 +1,3 @@
+[region=aside]
+[widget=fullprofile][/widget]
+[/region]
diff --git a/view/pdl/mod_profiles.pdl b/view/pdl/mod_profiles.pdl
new file mode 100644
index 000000000..f12bf39c3
--- /dev/null
+++ b/view/pdl/mod_profiles.pdl
@@ -0,0 +1,3 @@
+[region=aside]
+[widget=fullprofile][/widget]
+[/region]
diff --git a/view/pdl/mod_profperm.pdl b/view/pdl/mod_profperm.pdl
new file mode 100644
index 000000000..f12bf39c3
--- /dev/null
+++ b/view/pdl/mod_profperm.pdl
@@ -0,0 +1,3 @@
+[region=aside]
+[widget=fullprofile][/widget]
+[/region]
diff --git a/view/pdl/mod_viewconnections.pdl b/view/pdl/mod_viewconnections.pdl
new file mode 100644
index 000000000..f12bf39c3
--- /dev/null
+++ b/view/pdl/mod_viewconnections.pdl
@@ -0,0 +1,3 @@
+[region=aside]
+[widget=fullprofile][/widget]
+[/region]
diff --git a/view/theme/redbasic/css/style.css b/view/theme/redbasic/css/style.css
index e13bc1edb..b7883f42e 100644
--- a/view/theme/redbasic/css/style.css
+++ b/view/theme/redbasic/css/style.css
@@ -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;
+}