File size: 1.9Kb
<?php
namespace MMO\Hide\Install;
use XF\Finder\StylePropertyFinder;
/**
* @author Xon
*/
trait InstallerHelper
{
/**
* @param string $oldGroupId
* @param string $oldPermissionId
* @param string $newGroupId
* @param string $newPermissionId
*
* @throws \XF\Db\Exception
*/
protected function renamePermission(string $oldGroupId, string $oldPermissionId, string $newGroupId, string $newPermissionId)
{
$this->db()->query('
UPDATE IGNORE xf_permission_entry
SET permission_group_id = ?, permission_id = ?
WHERE permission_group_id = ? AND permission_id = ?
', [$newGroupId, $newPermissionId, $oldGroupId, $oldPermissionId]);
$this->db()->query('
UPDATE IGNORE xf_permission_entry_content
SET permission_group_id = ?, permission_id = ?
WHERE permission_group_id = ? AND permission_id = ?
', [$newGroupId, $newPermissionId, $oldGroupId, $oldPermissionId]);
$this->db()->query('
DELETE FROM xf_permission_entry
WHERE permission_group_id = ? AND permission_id = ?
', [$oldGroupId, $oldPermissionId]);
$this->db()->query('
DELETE FROM xf_permission_entry_content
WHERE permission_group_id = ? AND permission_id = ?
', [$oldGroupId, $oldPermissionId]);
}
/**
* @param string $old
* @param string $new
*/
protected function renameStyleProperty($old, $new)
{
$optionOld = \XF::finder(StylePropertyFinder::class)->where('property_name', '=', $old)->fetchOne();
$optionNew = \XF::finder(StylePropertyFinder::class)->where('property_name', '=', $new)->fetchOne();
if ($optionOld && !$optionNew)
{
$optionOld->property_name = $new;
$optionOld->saveIfChanged();
}
}
}