コード例 #1
0
 /**
  * @param array $params
  */
 public static function shareHook($params)
 {
     if ($params['itemType'] === 'file' || $params['itemType'] === 'folder') {
         if (isset($params['uidOwner'])) {
             $uidOwner = $params['uidOwner'];
         } else {
             $uidOwner = \OCP\User::getUser();
         }
         $users = \OCP\Share::getUsersItemShared($params['itemType'], $params['fileSource'], $uidOwner, true, false);
         if (!empty($users)) {
             while (!empty($users)) {
                 $reshareUsers = array();
                 foreach ($users as $user) {
                     if ($user !== $uidOwner) {
                         $etag = \OC\Files\Filesystem::getETag('');
                         \OCP\Config::setUserValue($user, 'files_sharing', 'etag', $etag);
                         // Look for reshares
                         $reshareUsers = array_merge($reshareUsers, \OCP\Share::getUsersItemShared('file', $params['fileSource'], $user, true));
                     }
                 }
                 $users = $reshareUsers;
             }
         }
     }
 }