コード例 #1
0
ファイル: sharing.php プロジェクト: DarneoStudio/bitrix
 /**
  * Catches event from IM module, when user click on buttons in notify.
  * @param string $module Module.
  * @param string $tag Tag.
  * @param string $value Value.
  * @param mixed $notify Notify.
  * @return void
  */
 public static function onBeforeConfirmNotify($module, $tag, $value, $notify)
 {
     global $USER;
     $userId = $USER->getId();
     if (!($module === Driver::INTERNAL_MODULE_ID && $userId)) {
         return;
     }
     $sharingModel = static::loadByNotifyTag($tag);
     if (!$sharingModel) {
         return;
     }
     if (!$sharingModel->isToUser()) {
         return;
     }
     if ($sharingModel->getToEntity() !== self::CODE_USER . $userId) {
         return;
     }
     list(, $tag) = $sharingModel->getNotifyTags();
     \CIMNotify::deleteByTag($tag);
     if ($value === 'N') {
         $sharingModel->decline($userId);
         return;
     }
     if ($sharingModel->approve()) {
         $isFolder = $sharingModel->getLinkObject() instanceof Folder;
         $pathInListing = Driver::getInstance()->getUrlManager()->getUrlFocusController('showObjectInGrid', array('objectId' => $sharingModel->getLinkObjectId()));
         $message = Loc::getMessage($isFolder ? 'DISK_SHARING_MODEL_AUTOCONNECT_NOTIFY' : 'DISK_SHARING_MODEL_AUTOCONNECT_NOTIFY_FILE', array('#NAME#' => '<a href="' . $pathInListing . '">' . $sharingModel->getLinkObject()->getName() . '</a>', '#DESCRIPTION#' => '', '#DISCONNECT_LINK#' => ''));
         list($subTag, $tag) = $sharingModel->getNotifyTags();
         Driver::getInstance()->sendNotify(substr($sharingModel->getToEntity(), 1), array('FROM_USER_ID' => $sharingModel->getCreatedBy(), 'NOTIFY_EVENT' => 'sharing', 'NOTIFY_TAG' => $tag, 'NOTIFY_SUB_TAG' => $subTag, 'NOTIFY_MESSAGE' => $message, 'NOTIFY_MESSAGE_OUT' => strip_tags($message)));
     }
 }
コード例 #2
0
ファイル: sharing.php プロジェクト: mrdeadmouse/u136006
 public static function onBeforeConfirmNotify($module, $tag, $value, $notify)
 {
     global $USER;
     $userId = $USER->getId();
     if (!($module == Driver::INTERNAL_MODULE_ID && $userId)) {
         return;
     }
     $sharingModel = static::loadByNotifyTag($tag);
     if (!$sharingModel) {
         return;
     }
     if (!$sharingModel->isToUser()) {
         return;
     }
     if ($sharingModel->getToEntity() != self::CODE_USER . $userId) {
         return;
     }
     list(, $tag) = $sharingModel->getNotifyTags();
     \CIMNotify::deleteByTag($tag);
     if ($value === 'N') {
         $sharingModel->decline($userId);
         return;
     }
     $sharingModel->approve();
     return;
 }
コード例 #3
0
ファイル: folderinvite.php プロジェクト: DarneoStudio/bitrix
 private static function removeNotifyToUser(array $folderInvite)
 {
     if (\Bitrix\Main\Loader::includeModule('im')) {
         \CIMNotify::deleteByTag(self::getNotifyTag($folderInvite));
     }
     \CWebDavDiskDispatcher::sendChangeStatus($folderInvite['INVITE_USER_ID'], 'delete_symlink');
 }