retry the move of AccessList to composer format (one or more third-party plugins will likely break as a result)

This commit is contained in:
redmatrix 2016-02-21 16:49:49 -08:00
parent c9252d49f7
commit f1564b4cff
16 changed files with 83 additions and 80 deletions

View File

@ -1,5 +1,7 @@
<?php
namespace Zotlabs\Access;
class AccessList {
@ -88,61 +90,3 @@ class AccessList {
}
/**
* @brief Used to wrap ACL elements in angle brackets for storage.
*
* @param[in,out] array &$item
*/
function sanitise_acl(&$item) {
if (strlen($item))
$item = '<' . notags(trim($item)) . '>';
else
unset($item);
}
/**
* @brief Convert an ACL array to a storable string.
*
* @param array $p
* @return array
*/
function perms2str($p) {
$ret = '';
if (is_array($p))
$tmp = $p;
else
$tmp = explode(',', $p);
if (is_array($tmp)) {
array_walk($tmp, 'sanitise_acl');
$ret = implode('', $tmp);
}
return $ret;
}
/**
* @brief Turn user/group ACLs stored as angle bracketed text into arrays.
*
* turn string array of angle-bracketed elements into string array
* e.g. "<123xyz><246qyo><sxo33e>" => array(123xyz,246qyo,sxo33e);
*
* @param string $s
* @return array
*/
function expand_acl($s) {
$ret = array();
if(strlen($s)) {
$t = str_replace('<','',$s);
$a = explode('>',$t);
foreach($a as $aa) {
if($aa)
$ret[] = $aa;
}
}
return $ret;
}

View File

@ -43,12 +43,11 @@ require_once('include/taxonomy.php');
require_once('include/identity.php');
require_once('include/Contact.php');
require_once('include/account.php');
require_once('include/AccessList.php');
define ( 'PLATFORM_NAME', 'hubzilla' );
define ( 'RED_VERSION', trim(file_get_contents('version.inc')));
define ( 'STD_VERSION', '1.2.3' );
define ( 'STD_VERSION', '1.2.4' );
define ( 'ZOT_REVISION', 1 );
define ( 'DB_UPDATE_VERSION', 1163 );

View File

@ -5441,7 +5441,7 @@ function send_profile_photo_activity($channel,$photo,$profile) {
$arr['body'] = sprintf($t,$channel['channel_name'],$ptext) . "\n\n" . $ltext;
$acl = new AccessList($channel);
$acl = new Zotlabs\Access\AccessList($channel);
$x = $acl->get();
$arr['allow_cid'] = $x['allow_cid'];

View File

@ -299,7 +299,7 @@ function menu_add_item($menu_id, $uid, $arr) {
$channel = get_app()->get_channel();
}
$acl = new AccessList($channel);
$acl = new Zotlabs\Access\AccessList($channel);
$acl->set_from_array($arr);
$p = $acl->get();
@ -340,7 +340,7 @@ function menu_edit_item($menu_id, $uid, $arr) {
$channel = get_app()->get_channel();
}
$acl = new AccessList($channel);
$acl = new Zotlabs\Access\AccessList($channel);
$acl->set_from_array($arr);
$p = $acl->get();

View File

@ -48,7 +48,7 @@ function photo_upload($channel, $observer, $args) {
// all other settings. 'allow_cid' being passed from an external source takes priority over channel settings.
// ...messy... needs re-factoring once the photos/files integration stabilises
$acl = new AccessList($channel);
$acl = new Zotlabs\Access\AccessList($channel);
if(array_key_exists('directory',$args) && $args['directory'])
$acl->set($args['directory']);
if(array_key_exists('allow_cid',$args))

View File

@ -2728,3 +2728,63 @@ function item_url_replace($channel,&$item,$old,$new) {
// @fixme item['plink'] and item['llink']
}
/**
* @brief Used to wrap ACL elements in angle brackets for storage.
*
* @param[in,out] array &$item
*/
function sanitise_acl(&$item) {
if (strlen($item))
$item = '<' . notags(trim($item)) . '>';
else
unset($item);
}
/**
* @brief Convert an ACL array to a storable string.
*
* @param array $p
* @return array
*/
function perms2str($p) {
$ret = '';
if (is_array($p))
$tmp = $p;
else
$tmp = explode(',', $p);
if (is_array($tmp)) {
array_walk($tmp, 'sanitise_acl');
$ret = implode('', $tmp);
}
return $ret;
}
/**
* @brief Turn user/group ACLs stored as angle bracketed text into arrays.
*
* turn string array of angle-bracketed elements into string array
* e.g. "<123xyz><246qyo><sxo33e>" => array(123xyz,246qyo,sxo33e);
*
* @param string $s
* @return array
*/
function expand_acl($s) {
$ret = array();
if(strlen($s)) {
$t = str_replace('<','',$s);
$a = explode('>',$t);
foreach($a as $aa) {
if($aa)
$ret[] = $aa;
}
}
return $ret;
}

View File

@ -54,7 +54,7 @@ function chat_post(&$a) {
goaway(z_root() . '/chat/' . $channel['channel_address']);
}
$acl = new AccessList($channel);
$acl = new Zotlabs\Access\AccessList($channel);
$acl->set_from_array($_REQUEST);
$arr = $acl->get();
@ -162,7 +162,7 @@ function chat_content(&$a) {
intval($a->profile['profile_uid'])
);
if($x) {
$acl = new AccessList(false);
$acl = new Zotlabs\Access\AccessList(false);
$acl->set($x[0]);
$private = $acl->is_private();
@ -199,7 +199,7 @@ function chat_content(&$a) {
if(local_channel() && argc() > 2 && argv(2) === 'new') {
$acl = new AccessList($channel);
$acl = new Zotlabs\Access\AccessList($channel);
$channel_acl = $acl->get();
require_once('include/acl_selectors.php');

View File

@ -239,7 +239,7 @@ function send_cover_photo_activity($channel,$photo,$profile) {
$arr['body'] = sprintf($t,$channel['channel_name'],$ptext) . "\n\n" . $ltext;
$acl = new AccessList($channel);
$acl = new Zotlabs\Access\AccessList($channel);
$x = $acl->get();
$arr['allow_cid'] = $x['allow_cid'];

View File

@ -118,7 +118,7 @@ function events_post(&$a) {
$channel = $a->get_channel();
$acl = new AccessList(false);
$acl = new Zotlabs\Access\AccessList(false);
if($event_id) {
$x = q("select * from event where id = %d and uid = %d limit 1",
@ -422,7 +422,7 @@ function events_content(&$a) {
require_once('include/acl_selectors.php');
$acl = new AccessList($channel);
$acl = new Zotlabs\Access\AccessList($channel);
$perm_defaults = $acl->get();
$tpl = get_markup_template('event_form.tpl');

View File

@ -30,7 +30,7 @@ function filestorage_post(&$a) {
$channel = $a->get_channel();
$acl = new AccessList($channel);
$acl = new Zotlabs\Access\AccessList($channel);
$acl->set_from_array($_REQUEST);
$x = $acl->get();

View File

@ -310,7 +310,7 @@ function item_post(&$a) {
}
}
$acl = new AccessList($channel);
$acl = new Zotlabs\Access\AccessList($channel);
$public_policy = ((x($_REQUEST,'public_policy')) ? escape_tags($_REQUEST['public_policy']) : map_scope($channel['channel_r_stream'],true));

View File

@ -127,7 +127,7 @@ function mitem_content(&$a) {
$menu_names[] = $menus['menu_name'];
}
$acl = new AccessList($channel);
$acl = new Zotlabs\Access\AccessList($channel);
$lockstate = (($channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock');

View File

@ -85,7 +85,7 @@ function photos_post(&$a) {
$owner_record = $s[0];
$acl = new AccessList($a->data['channel']);
$acl = new Zotlabs\Access\AccessList($a->data['channel']);
if((argc() > 3) && (argv(2) === 'album')) {
@ -595,7 +595,7 @@ function photos_content(&$a) {
if($_is_owner) {
$channel = $a->get_channel();
$acl = new AccessList($channel);
$acl = new Zotlabs\Access\AccessList($channel);
$channel_acl = $acl->get();
$lockstate = (($acl->is_private()) ? 'lock' : 'unlock');

View File

@ -95,7 +95,7 @@ function rpost_content(&$a) {
$channel = $a->get_channel();
$acl = new AccessList($channel);
$acl = new Zotlabs\Access\AccessList($channel);
$channel_acl = $acl->get();

View File

@ -323,7 +323,7 @@ function settings_post(&$a) {
foreach($global_perms as $k => $v) {
$set_perms .= ', ' . $v[0] . ' = ' . intval($_POST[$k]) . ' ';
}
$acl = new AccessList($channel);
$acl = new Zotlabs\Access\AccessList($channel);
$acl->set_from_array($_POST);
$x = $acl->get();
@ -1002,7 +1002,7 @@ function settings_content(&$a) {
$stpl = get_markup_template('settings.tpl');
$acl = new AccessList($channel);
$acl = new Zotlabs\Access\AccessList($channel);
$perm_defaults = $acl->get();
require_once('include/group.php');

View File

@ -65,7 +65,7 @@ function thing_init(&$a) {
if((! $name) || (! $translated_verb))
return;
$acl = new AccessList($channel);
$acl = new Zotlabs\Access\AccessList($channel);
if(array_key_exists('contact_allow',$_REQUEST)
|| array_key_exists('group_allow',$_REQUEST)
@ -271,7 +271,7 @@ function thing_content(&$a) {
return;
}
$acl = new AccessList($channel);
$acl = new Zotlabs\Access\AccessList($channel);
$channel_acl = $acl->get();
$lockstate = (($acl->is_private()) ? 'lock' : 'unlock');