* @throws \SodiumException
*/
public static function decryptLink($link) {
- $array = false;
- if (is_array($link)) {
- $array = true;
- $link = ObjectUtil::asObject($link);
- }
-
foreach ($link as $attr => $item) {
if (!str_starts_with($item, '///')) {
continue;
$v = Crypt::safeDecrypt(substr($item, 3), self::_getLinkKey());
$e = explode('|||', $v);
if ($e[0] === $link->uid) {
- $link->$attr = $e[1];
+ $link[$attr] = $e[1];
} else {
- $link->$attr = '';
+ $link[$attr] = '';
}
}
- if (!$array) {
- return $link;
- }
- return ArrayUtil::asArray($link);
+ return $link;
}
public static function decryptLinks($links) {
*/
public static function encryptLinkAttrs($link)
{
- if (is_array($link)) {
- $link = ObjectUtil::asObject($link);
- }
-
$crypted = [13, 14, 35];
- if (!isset($link->type) || !in_array($link->type, $crypted)) {
+ if (!isset($link['type']) || !in_array($link['type'], $crypted)) {
return $link;
}
$attrs = ['image_rollover'];
foreach ($attrs as $attr) {
- if (!isset($link->$attr)) {
+ if (!isset($link[$attr])) {
continue;
}
- $link->$attr = trim($link->$attr);
- if (str_starts_with($link->$attr, '///') || $link->$attr == '') {
+ $link[$attr] = trim($link[$attr]);
+ if (str_starts_with($link[$attr], '///') || $link[$attr] == '') {
continue;
}
- $link->$attr = '///' . Crypt::safeEncrypt($link->uid . '|||' . $link->$attr, self::_getLinkKey());
+ $link[$attr] = '///' . Crypt::safeEncrypt($link['uid'] . '|||' . $link[$attr], self::_getLinkKey());
}
return $link;
}