#!/bin/sh -e # __nextcloud_user/explorer/user # Outputs the raw nextcloud command output of the given user. # # The output is extended by the following fields (in the same syntax): # 1. quota_param which outputs the real quota value instead of resolved values # Parameters user="$__object/parameter/user" if [ -f "$user" ]; then user="$(cat "$user")" else user="$__object_id" fi cloud="$(cat "$__object/parameter/cloud")" www_user="$(cat "$__object/parameter/www-user")" # Check if there exists the installation if [ -d "$cloud" ]; then # if those files exist, everything should be good if [ -f "$cloud/occ" ] && [ -f "$cloud/config/config.php" ]; then # Content could be gathered through php code directly, too. This can # be done if more parameters are required than user:info will output # or if there will be too much fuzz in the output. # Output the information of the user # type will abort if explorer is empty, not if occ aborts su -s /bin/sh -l "$www_user" -- -e <getUserSession()->getManager()->userExists("$user") ? 0 : 1);' then php occ --no-warnings --no-interaction --no-ansi --output=plain user:info '$user' # also output the quota parameter printf " - quota_param: %s\n" \ "\$(php occ --no-warnings --no-interaction --no-ansi user:setting '$user' files quota)" fi SU fi fi