/** * Returns a valid html tag for the choosen $fieldType for pathes * * @param string path The path to start searching in * @param integer uid The uid which must match the found directories * @param integer gid The gid which must match the found direcotries * @param string fieldType Either "Manual" or "Dropdown" * @return string The html tag for the choosen $fieldType * * @author Martin Burchert <*****@*****.**> * @author Manuel Bernhardt <*****@*****.**> */ function makePathfield($path, $uid, $gid, $fieldType, $value = '') { global $lng; $value = str_replace($path, '', $value); $field = ''; if ($fieldType == 'Manual') { $field = '<input type="text" name="path" value="' . htmlspecialchars($value) . '" size="30" />'; } elseif ($fieldType == 'Dropdown') { $dirList = findDirs($path, $uid, $gid); natcasesort($dirList); if (sizeof($dirList) > 0) { $field = '<select name="path">'; foreach ($dirList as $key => $dir) { if (strpos($dir, $path) === 0) { $dir = makeCorrectDir(substr($dir, strlen($path))); } $field .= makeoption($dir, $dir, $value); } $field .= '</select>'; } else { $field = $lng['panel']['dirsmissing']; $field .= '<input type="hidden" name="path" value="/" />'; } } return $field; }
/** * Returns a valid html tag for the chosen $fieldType for paths * * @param string path The path to start searching in * @param integer uid The uid which must match the found directories * @param integer gid The gid which must match the found direcotries * @param string value the value for the input-field * * @return string The html tag for the chosen $fieldType * * @author Martin Burchert <*****@*****.**> * @author Manuel Bernhardt <*****@*****.**> */ function makePathfield($path, $uid, $gid, $value = '', $dom = false) { global $lng; $value = str_replace($path, '', $value); $field = array(); // path is given without starting slash // but dirList holds the paths with starting slash // so we just add one here to get the correct // default path selected, #225 if (substr($value, 0, 1) != '/' && !$dom) { $value = '/' . $value; } $fieldType = Settings::Get('panel.pathedit'); if ($fieldType == 'Manual') { $field = array('type' => 'text', 'value' => htmlspecialchars($value)); } elseif ($fieldType == 'Dropdown') { $dirList = findDirs($path, $uid, $gid); natcasesort($dirList); if (sizeof($dirList) > 0) { if (sizeof($dirList) <= 100) { $_field = ''; foreach ($dirList as $key => $dir) { if (strpos($dir, $path) === 0) { $dir = substr($dir, strlen($path)); // docroot cut off of current directory == empty -> directory is the docroot if (empty($dir)) { $dir = '/'; } $dir = makeCorrectDir($dir); } $_field .= makeoption($dir, $dir, $value); } $field = array('type' => 'select', 'value' => $_field); } else { // remove starting slash we added // for the Dropdown, #225 $value = substr($value, 1); //$field = $lng['panel']['toomanydirs']; $field = array('type' => 'text', 'value' => htmlspecialchars($value), 'note' => $lng['panel']['toomanydirs']); } } else { //$field = $lng['panel']['dirsmissing']; //$field = '<input type="hidden" name="path" value="/" />'; $field = array('type' => 'hidden', 'value' => '/', 'note' => $lng['panel']['dirsmissing']); } } return $field; }