add permission controls to "storage" objects such as attachments or other stored files
This commit is contained in:
parent
8d71fe91f6
commit
f09b9f1e44
5
boot.php
5
boot.php
@ -16,7 +16,7 @@ require_once('include/features.php');
|
||||
define ( 'FRIENDICA_PLATFORM', 'Friendica Red');
|
||||
define ( 'FRIENDICA_VERSION', trim(file_get_contents('version.inc')) . 'R');
|
||||
define ( 'ZOT_REVISION', 1 );
|
||||
define ( 'DB_UPDATE_VERSION', 1007 );
|
||||
define ( 'DB_UPDATE_VERSION', 1008 );
|
||||
|
||||
define ( 'EOL', "<br />\r\n" );
|
||||
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
|
||||
@ -190,6 +190,9 @@ define ( 'PERMS_W_PHOTOS', 0x0200);
|
||||
define ( 'PERMS_W_CHAT', 0x0400);
|
||||
define ( 'PERMS_A_DELEGATE', 0x0800);
|
||||
|
||||
define ( 'PERMS_R_STORAGE', 0x1000);
|
||||
define ( 'PERMS_W_STORAGE', 0x2000);
|
||||
|
||||
|
||||
// General channel permissions
|
||||
|
||||
|
@ -14,6 +14,7 @@ function get_perms() {
|
||||
'view_profile' => array('channel_r_profile', intval(PERMS_R_PROFILE), true, t('Can view my "public" channel profile'), ''),
|
||||
'view_photos' => array('channel_r_photos', intval(PERMS_R_PHOTOS), true, t('Can view my "public" photo albums'), ''),
|
||||
'view_contacts' => array('channel_r_abook', intval(PERMS_R_ABOOK), true, t('Can view my "public" address book'), ''),
|
||||
'view_storage' => array('channel_r_storage', intval(PERMS_R_STORAGE), true, t('Can view my "public" file storage'), ''),
|
||||
|
||||
// Write permissions
|
||||
'send_stream' => array('channel_w_stream', intval(PERMS_W_STREAM), false, t('Can send me their channel stream and posts'), ''),
|
||||
@ -23,6 +24,8 @@ function get_perms() {
|
||||
'post_photos' => array('channel_w_photos', intval(PERMS_W_PHOTOS), false, t('Can post photos to my photo albums'), ''),
|
||||
'tag_deliver' => array('channel_w_tagwall', intval(PERMS_W_TAGWALL), false, t('Can forward to all my channel contacts via post tags'), t('Advanced - useful for creating group forum channels')),
|
||||
'chat' => array('channel_w_chat', intval(PERMS_W_CHAT), false, t('Can chat with me (when available)'), t('Requires compatible chat plugin')),
|
||||
'write_storage' => array('channel_w_storage', intval(PERMS_W_STORAGE), false, t('Can write to my "public" file storage'), ''),
|
||||
|
||||
'delegate' => array('channel_a_delegate', intval(PERMS_A_DELEGATE), false, t('Can administer my channel resources'), t('Extremely advanced. Leave this alone unless you know what you are doing')),
|
||||
);
|
||||
return $global_perms;
|
||||
|
@ -159,6 +159,8 @@ CREATE TABLE IF NOT EXISTS `channel` (
|
||||
`channel_w_photos` tinyint(3) unsigned NOT NULL DEFAULT '128',
|
||||
`channel_w_chat` tinyint(3) unsigned NOT NULL DEFAULT '128',
|
||||
`channel_a_delegate` tinyint(3) unsigned NOT NULL DEFAULT '0',
|
||||
`channel_r_storage` int(10) unsigned NOT NULL DEFAULT '128',
|
||||
`channel_w_storage` int(10) unsigned NOT NULL DEFAULT '128',
|
||||
PRIMARY KEY (`channel_id`),
|
||||
KEY `channel_account_id` (`channel_account_id`),
|
||||
KEY `channel_primary` (`channel_primary`),
|
||||
@ -186,7 +188,9 @@ CREATE TABLE IF NOT EXISTS `channel` (
|
||||
KEY `channel_guid` (`channel_guid`),
|
||||
KEY `channel_hash` (`channel_hash`),
|
||||
KEY `channel_expire_days` (`channel_expire_days`),
|
||||
KEY `channel_a_delegate` (`channel_a_delegate`)
|
||||
KEY `channel_a_delegate` (`channel_a_delegate`),
|
||||
KEY `channel_r_storage` (`channel_r_storage`),
|
||||
KEY `channel_w_storage` (`channel_w_storage`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `clients` (
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
define( 'UPDATE_VERSION' , 1007 );
|
||||
define( 'UPDATE_VERSION' , 1008 );
|
||||
|
||||
/**
|
||||
*
|
||||
@ -142,4 +142,13 @@ function update_r1006() {
|
||||
if($r && $r2)
|
||||
return UPDATE_SUCCESS;
|
||||
return UPDATE_FAILED;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function update_r1007() {
|
||||
$r = q("ALTER TABLE `channel` ADD `channel_r_storage` INT UNSIGNED NOT NULL DEFAULT '128', ADD `channel_w_storage` INT UNSIGNED NOT NULL DEFAULT '128', add index ( channel_r_storage ), add index ( channel_w_storage )");
|
||||
|
||||
if($r && $r2)
|
||||
return UPDATE_SUCCESS;
|
||||
return UPDATE_FAILED;
|
||||
}
|
||||
|
@ -340,6 +340,8 @@ function settings_post(&$a) {
|
||||
$arr['channel_w_photos'] = (($_POST['post_photos']) ? $_POST['post_photos'] : 0);
|
||||
$arr['channel_w_chat'] = (($_POST['chat']) ? $_POST['chat'] : 0);
|
||||
$arr['channel_a_delegate'] = (($_POST['delegate']) ? $_POST['delegate'] : 0);
|
||||
$arr['channel_r_storage'] = (($_POST['view_storage']) ? $_POST['view_storage'] : 0);
|
||||
$arr['channel_w_storage'] = (($_POST['write_storage']) ? $_POST['write_storage'] : 0);
|
||||
|
||||
|
||||
$notify = 0;
|
||||
|
@ -1 +1 @@
|
||||
2012-12-20.175
|
||||
2012-12-21.176
|
||||
|
@ -31,6 +31,7 @@ function connectFullShare() {
|
||||
$('#me_id_perms_post_comments').attr('checked','checked');
|
||||
$('#me_id_perms_post_mail').attr('checked','checked');
|
||||
$('#me_id_perms_chat').attr('checked','checked');
|
||||
$('#me_id_perms_view_storage').attr('checked','checked');
|
||||
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user