aboutsummaryrefslogtreecommitdiffstats
path: root/include/security.php
diff options
context:
space:
mode:
authortommy tomson <thomas.bierey@gmx.de>2012-03-06 08:28:21 +0100
committertommy tomson <thomas.bierey@gmx.de>2012-03-06 08:28:21 +0100
commiteaaf030c182bd6f9c829a26bdc76c33a83d8c098 (patch)
tree14d3ddc70daf4bfe85ba116cfebb82a562c83158 /include/security.php
parentb64b1d13a43659af3f479bf29b6ac9b9b3f009ee (diff)
parent321b6516352d25fa64a987fb2efeb0502a24623e (diff)
downloadvolse-hubzilla-eaaf030c182bd6f9c829a26bdc76c33a83d8c098.tar.gz
volse-hubzilla-eaaf030c182bd6f9c829a26bdc76c33a83d8c098.tar.bz2
volse-hubzilla-eaaf030c182bd6f9c829a26bdc76c33a83d8c098.zip
Merge remote-tracking branch 'origin/master'
Diffstat (limited to 'include/security.php')
-rwxr-xr-xinclude/security.php7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/security.php b/include/security.php
index bc2c9f0bf..6b8128bdd 100755
--- a/include/security.php
+++ b/include/security.php
@@ -108,14 +108,18 @@ function can_write_wall(&$a,$owner) {
if(remote_user()) {
- // user remembered decision and avoid a DB lookup for each and every display item
+ // use remembered decision and avoid a DB lookup for each and every display item
// DO NOT use this function if there are going to be multiple owners
+ // We have a contact-id for an authenticated remote user, this block determines if the contact
+ // belongs to this page owner, and has the necessary permissions to post content
+
if($verified === 2)
return true;
elseif($verified === 1)
return false;
else {
+
$r = q("SELECT `contact`.*, `user`.`page-flags` FROM `contact` LEFT JOIN `user` on `user`.`uid` = `contact`.`uid`
WHERE `contact`.`uid` = %d AND `contact`.`id` = %d AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
AND `user`.`blockwall` = 0 AND `readonly` = 0 AND ( `contact`.`rel` IN ( %d , %d ) OR `user`.`page-flags` = %d ) LIMIT 1",
@@ -125,6 +129,7 @@ function can_write_wall(&$a,$owner) {
intval(CONTACT_IS_FRIEND),
intval(PAGE_COMMUNITY)
);
+
if(count($r)) {
$verified = 2;
return true;