Database stuff. New table "thread". Changing "left join" to "inner join", removing "limit 1" at update and delete.

This commit is contained in:
Michael Vogel 2014-03-09 09:19:14 +01:00
parent 2b5345323f
commit 6b8585d48d
33 changed files with 487 additions and 444 deletions

View file

@ -56,7 +56,7 @@ function authenticate_success($user_record, $login_initial = false, $interactive
$a->identities = array();
$r = q("select `user`.`uid`, `user`.`username`, `user`.`nickname`
from manage left join user on manage.mid = user.uid where `user`.`account_removed` = 0
from manage INNER JOIN user on manage.mid = user.uid where `user`.`account_removed` = 0
and `manage`.`uid` = %d",
intval($master_record['uid'])
);
@ -139,7 +139,7 @@ function can_write_wall(&$a,$owner) {
return false;
$r = q("SELECT `contact`.*, `user`.`page-flags` FROM `contact` LEFT JOIN `user` on `user`.`uid` = `contact`.`uid`
$r = q("SELECT `contact`.*, `user`.`page-flags` FROM `contact` INNER 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",
intval($owner),
@ -255,11 +255,11 @@ function item_permissions_sql($owner_id,$remote_verified = false,$groups = null)
* default permissions - anonymous user
*/
$sql = " AND allow_cid = ''
AND allow_gid = ''
AND deny_cid = ''
AND deny_gid = ''
AND private = 0
$sql = " AND `item`.allow_cid = ''
AND `item`.allow_gid = ''
AND `item`.deny_cid = ''
AND `item`.deny_gid = ''
AND `item`.private = 0
";
/**
@ -291,7 +291,7 @@ function item_permissions_sql($owner_id,$remote_verified = false,$groups = null)
}
}
if($remote_verified) {
$gs = '<<>>'; // should be impossible to match
if(is_array($groups) && count($groups)) {
@ -310,9 +310,9 @@ function item_permissions_sql($owner_id,$remote_verified = false,$groups = null)
dbesc($gs),
dbesc($gs)
*/
" AND ( private = 0 OR ( private in (1,2) AND wall = 1
AND ( NOT (deny_cid REGEXP '<%d>' OR deny_gid REGEXP '%s')
AND ( allow_cid REGEXP '<%d>' OR allow_gid REGEXP '%s' OR ( allow_cid = '' AND allow_gid = '')))))
" AND ( `item`.private = 0 OR ( `item`.private in (1,2) AND wall = 1
AND ( NOT (`item`.deny_cid REGEXP '<%d>' OR `item`.deny_gid REGEXP '%s')
AND ( `item`.allow_cid REGEXP '<%d>' OR `item`.allow_gid REGEXP '%s' OR ( allow_cid = '' AND allow_gid = '')))))
",
intval($remote_user),
dbesc($gs),