$item['owner-id'] = Contact::getIdForURL($item["owner-link"], 0, false, $default);
}
- if (!is_null($item['allow_cid']) && !is_null($item['allow_gid'])
- && !is_null($item['deny_cid']) && !is_null($item['deny_gid'])) {
+ if (empty($item['psid'])) {
$item['psid'] = PermissionSet::fetchIDForPost($item);
} else {
$item['allow_cid'] = null;
use Friendica\Core\Worker;
use Friendica\Database\DBA;
use Friendica\Model\Contact;
+use Friendica\Model\PermissionSet;
use Friendica\Object\Image;
use Friendica\Protocol\Diaspora;
use Friendica\Protocol\OStatus;
*/
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'],
'allow_cid' => self::sortPermissions(defaults($postarray, 'allow_cid', '')),
'allow_gid' => self::sortPermissions(defaults($postarray, 'allow_gid', '')),
if (!empty($row['psid']) && !DBA::exists('item', ['psid' => $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);
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;
+}