There are no user shares"; exit; } // Display export settings function user_share_settings($protocol,$share) { if (empty($share)) return; if ($protocol!='yes' || $share['export']=='-') return "-"; if ($share['export']=='e') return ucfirst($share['security']); return ''.ucfirst($share['security']).''; } function globalInclude($name) { global $var; return substr($name,0,4)!='disk' || !$var['shareUserInclude'] || strpos("{$var['shareUserInclude']},","$name,")!==false; } function shareInclude($name) { global $include; return !$include || substr($name,0,4)!='disk' || strpos("$include,", "$name,")!==false; } // Compute all user shares if ($compute=='yes') foreach ($shares as $name => $share) exec("webGui/scripts/share_size \"$name\" \"ssz1\""); // global shares include/exclude $myDisks = array_filter(array_diff(array_keys($disks), explode(',',$var['shareUserExclude'])), 'globalInclude'); // Share size per disk $preserve = ($path==$prev || $compute=='yes'); $ssz1 = array(); foreach (glob("state/*.ssz1", GLOB_NOSORT) as $entry) { if ($preserve) $ssz1[basename($entry, ".ssz1")] = parse_ini_file($entry); else unlink($entry); } // Build table $row = 0; foreach ($shares as $name => $share) { $row++; $ball = "/webGui/images/{$share['color']}.png"; switch ($share['color']) { case 'green-on': $help = 'All files protected'; break; case 'yellow-on': $help = 'Some or all files unprotected'; break; } echo ""; echo "$help$name"; echo "{$share['comment']}"; echo "".user_share_settings($var['shareSMBEnabled'], $sec[$name]).""; echo "".user_share_settings($var['shareNFSEnabled'], $sec_nfs[$name]).""; echo "".user_share_settings($var['shareAFPEnabled'], $sec_afp[$name]).""; $cmd="/webGui/scripts/share_size"."&arg1=".urlencode($name)."&arg2=ssz1"; if (array_key_exists($name, $ssz1)) { echo "".my_scale($ssz1[$name]['disk.total']*1024, $unit)." $unit"; echo "".my_scale($share['free']*1024, $unit)." $unit"; echo ""; echo ""; foreach ($ssz1[$name] as $diskname => $disksize) { if ($diskname=='disk.total') continue; $include = $share['include']; $inside = in_array($diskname, array_filter(array_diff($myDisks, explode(',',$share['exclude'])), 'shareInclude')); echo "" : " warning'>"); echo "".my_disk($diskname).":"; echo "".($inside ? "" : "Share is outside the list of designated disks").""; echo ""; echo ""; echo ""; echo "".my_scale($disksize*1024, $unit)." $unit"; echo "".my_scale($disks[$diskname]['fsFree']*1024, $unit)." $unit"; echo ""; echo ""; } } else { echo "Compute..."; echo "".my_scale($share['free']*1024, $unit)." $unit"; echo ""; echo ""; } } if ($row==0) { echo "There are no exportable user shares"; }