Missing stuff in "develop"? (#5516)
* "post-type" replaces "bookmark" and "type" * Removed some more type * Added index to permission set * The permission set is now stored * The permission set is now removed upon expiry * Post update now stores the permission set * New file * Permissions are now sorted * The permission set is now used for item permissions * Check for allow_cid, ... is superfluous. Checking for "private" is enough * We query the permissionset * Permissions are displayed correctly * Changed index * We don't store the permissions in the item table anymore * Permission fields are now deprecated * Reversed ... * Postupdate now handles "postopts" as well * Set deprecated fields to "null" if empty * Postupdates are enabled again * "post-type" replaces "bookmark" and "type" * The permission set is now stored * The permission set is now removed upon expiry * Postupdate now handles "postopts" as well
This commit is contained in:
parent
0902ea508d
commit
36d4516e7a
5 changed files with 19 additions and 7 deletions
|
@ -262,8 +262,7 @@ class PostUpdate
|
||||||
$item['owner-id'] = Contact::getIdForURL($item["owner-link"], 0, false, $default);
|
$item['owner-id'] = Contact::getIdForURL($item["owner-link"], 0, false, $default);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!is_null($item['allow_cid']) && !is_null($item['allow_gid'])
|
if (empty($item['psid'])) {
|
||||||
&& !is_null($item['deny_cid']) && !is_null($item['deny_gid'])) {
|
|
||||||
$item['psid'] = PermissionSet::fetchIDForPost($item);
|
$item['psid'] = PermissionSet::fetchIDForPost($item);
|
||||||
} else {
|
} else {
|
||||||
$item['allow_cid'] = null;
|
$item['allow_cid'] = null;
|
||||||
|
|
|
@ -16,6 +16,7 @@ use Friendica\Core\System;
|
||||||
use Friendica\Core\Worker;
|
use Friendica\Core\Worker;
|
||||||
use Friendica\Database\DBA;
|
use Friendica\Database\DBA;
|
||||||
use Friendica\Model\Contact;
|
use Friendica\Model\Contact;
|
||||||
|
use Friendica\Model\PermissionSet;
|
||||||
use Friendica\Object\Image;
|
use Friendica\Object\Image;
|
||||||
use Friendica\Protocol\Diaspora;
|
use Friendica\Protocol\Diaspora;
|
||||||
use Friendica\Protocol\OStatus;
|
use Friendica\Protocol\OStatus;
|
||||||
|
|
|
@ -22,11 +22,6 @@ class PermissionSet extends BaseObject
|
||||||
*/
|
*/
|
||||||
public static function fetchIDForPost(&$postarray)
|
public static function fetchIDForPost(&$postarray)
|
||||||
{
|
{
|
||||||
if (is_null($postarray['allow_cid']) || is_null($postarray['allow_gid'])
|
|
||||||
|| is_null($postarray['deny_cid']) || is_null($postarray['deny_gid'])) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
$condition = ['uid' => $postarray['uid'],
|
$condition = ['uid' => $postarray['uid'],
|
||||||
'allow_cid' => self::sortPermissions(defaults($postarray, 'allow_cid', '')),
|
'allow_cid' => self::sortPermissions(defaults($postarray, 'allow_cid', '')),
|
||||||
'allow_gid' => self::sortPermissions(defaults($postarray, 'allow_gid', '')),
|
'allow_gid' => self::sortPermissions(defaults($postarray, 'allow_gid', '')),
|
||||||
|
|
|
@ -43,6 +43,11 @@ class Expire
|
||||||
if (!empty($row['psid']) && !DBA::exists('item', ['psid' => $row['psid']])) {
|
if (!empty($row['psid']) && !DBA::exists('item', ['psid' => $row['psid']])) {
|
||||||
DBA::delete('permissionset', ['id' => $row['psid']]);
|
DBA::delete('permissionset', ['id' => $row['psid']]);
|
||||||
}
|
}
|
||||||
|
// When the permission set will be used in photo and events as well.
|
||||||
|
// this query here needs to be extended.
|
||||||
|
if (!empty($row['psid']) && !dba::exists('item', ['psid' => $row['psid']])) {
|
||||||
|
dba::delete('permissionset', ['id' => $row['psid']]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
DBA::close($rows);
|
DBA::close($rows);
|
||||||
|
|
||||||
|
|
12
update.php
12
update.php
|
@ -258,3 +258,15 @@ function update_1278() {
|
||||||
|
|
||||||
return UPDATE_SUCCESS;
|
return UPDATE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function update_1278() {
|
||||||
|
Config::set('system', 'maintenance', 1);
|
||||||
|
Config::set('system', 'maintenance_reason', L10n::t('%s: Updating post-type.', DBM::date().' '.date('e')));
|
||||||
|
|
||||||
|
Item::update(['post-type' => Item::PT_PAGE], ['bookmark' => true]);
|
||||||
|
Item::update(['post-type' => Item::PT_PERSONAL_NOTE], ['type' => 'note']);
|
||||||
|
|
||||||
|
Config::set('system', 'maintenance', 0);
|
||||||
|
|
||||||
|
return UPDATE_SUCCESS;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue