protected static function setSocnetFollow($users = array(), $logId, $type, $manualMode = false, $addingComment = false) { if ($manualMode) { foreach ($users as $userId) { $logFollowObject = CSocNetLogFollow::getList(array('USER_ID' => $userId, 'REF_ID' => $logId), array('BY_WF', 'TYPE')); $logFollow = $logFollowObject->fetch(); if (!empty($logFollow) && $logFollow['TYPE'] == 'Y' && !$logFollow['BY_WF']) { CSocNetLogFollow::delete($userId, 'L' . $logId, false); CSocNetLogFollow::set($userId, 'L' . $logId, $type, ConvertTimeStamp(time() + CTimeZone::GetOffset(), "FULL", SITE_ID), true); } } } else { if ($type == 'Y') { foreach ($users as $userId) { $logFollowObject = CSocNetLogFollow::getList(array('USER_ID' => $userId, 'REF_ID' => $logId), array('BY_WF')); $logFollow = $logFollowObject->fetch(); if (!empty($logFollow) && ($logFollow['BY_WF'] == 'Y' || $addingComment)) { CSocNetLogFollow::delete($userId, 'L' . $logId, false); CSocNetLogFollow::set($userId, 'L' . $logId, $type, ConvertTimeStamp(time() + CTimeZone::GetOffset(), "FULL", SITE_ID), true); } elseif (empty($logFollow)) { CSocNetLogFollow::delete($userId, 'L' . $logId, false); CSocNetLogFollow::set($userId, 'L' . $logId, $type, ConvertTimeStamp(time() + CTimeZone::GetOffset(), "FULL", SITE_ID), true); } } } else { foreach ($users as $userId) { $logFollowObject = CSocNetLogFollow::getList(array('USER_ID' => $userId, 'REF_ID' => $logId), array('BY_WF')); $logFollow = $logFollowObject->fetch(); if (!empty($logFollow) && $logFollow['BY_WF'] == 'Y') { CSocNetLogFollow::set($userId, 'L' . $logId, $type, false, SITE_ID, true); } elseif (empty($logFollow)) { CSocNetLogFollow::set($userId, 'L' . $logId, $type, false, SITE_ID, true); } } } } }