break; case 'edit': $name = isset($_REQUEST['name']) ? $_REQUEST['name'] : ''; $name = preg_replace("/[^a-z0-9_]+/i", "", $name); if (!$name) { redirect('ftp.php'); } $password = $_REQUEST['password']; $owner = strtok($name, '_'); $users = ZUser::getUsers(); $account = ZFtp::getFtpAccount($name); if (!$account) { setmsg(t('No such user.')); } $myuid = ZUser::getuid($owner); $dirs = ZFile::getUserDirs($owner); $docroot = trim($account->home); $docroot = str_replace("/home/{$owner}", '~', $docroot); if (checktoken()) { $op = $_REQUEST['op']; if ($op == 'remove') { if (ZFtp::removeFtpAccount($name)) { setmsg(t('Ftp Account Deleted.'), 'notice', 'ftp.php'); } } else { if ('suspend' == $op) { if (ZFtp::suspendFtpUser($name, !intval($_REQUEST['suspend']))) { setmsg('', 'notice'); } else { setmsg(t('Error')); }
<?php require_once 'lib/init.php'; $norender = false; initVars('domain', 'docroot'); $error_documents = array(401, 403, 404, 500); header('Cache-Control: private'); switch ($task) { case 'add': if (!checkPackage('site')) { setmsg(t('The package limitation reached.'), 'warning'); } $dirs = ZFile::getUserDirs($me); if (checktoken()) { $domain = $_REQUEST['domain']; $docroot = $_REQUEST['docroot']; // check domain $break = false; if (true !== ($res = ZVhosts::chkDomain($domain))) { $err['domain'] = t('Domain Invalid.'); if ($res == 'occupied') { $err['domain'] = t('Domain Occupied.'); } $break = true; } // check docroot if (!in_array($docroot, $dirs)) { $err['docroot'] = t('Please select a valid document root.'); $break = true; } $docroot = str_replace('~/', "/home/{$me}/", $docroot);
function getUserDirs($user) { return ZFile::getUserDirs($user); }