0 && $uid == $uid2 && @fileowner('test') == $uid) { $chmod = 0700; } else { if ($gid > 0 && $gid == $gid2 && @filegroup('test') == $gid) { $chmod = 0770; } else { $chmod = 0777; } } // Appliquer de plus les droits d'acces du script if ($perms > 0) { $perms = ($perms & 0777) | (($perms & 0444) >> 2); $chmod |= $perms; } spip_unlink('test'); } $ok = is_dir($my_dir) && is_writable($my_dir); return $ok ? $chmod : false; } // // tester les droits en ecriture sur les repertoires // rajouter celui passe dans l'url ou celui du source (a l'installation) // // http://code.spip.net/@install_etape_chmod_dist function install_etape_chmod_dist() { $test_dir = _request('test_dir'); $chmod = 0; if ($test_dir and strpos($test_dir, '..') === false) { if (substr($test_dir, -1) !== '/') { $test_dir .= '/'; } if (!in_array($test_dir, $GLOBALS['test_dirs'])) { $GLOBALS['test_dirs'][] = _DIR_RACINE . $test_dir; } } else { if (!_FILE_CONNECT) { $GLOBALS['test_dirs'][] = _DIR_CONNECT; $GLOBALS['test_dirs'][] = _DIR_CHMOD; } } $bad_dirs = array(); $absent_dirs = array(); foreach ($GLOBALS['test_dirs'] as $i => $my_dir) { $test = test_ecrire($my_dir); if (!$test) { $m = preg_replace(',^' . _DIR_RACINE . ',', '', $my_dir); if (@file_exists($my_dir)) { $bad_dirs['
' . $continuer . $res . aider('install0', true) . '
'; $t = _T('login_recharger'); $t = (!$test_dir ? '' : "") . "" . ""; echo minipres($titre, $res . generer_form_ecrire('install', $t)); } else { $deja = (_FILE_CONNECT and analyse_fichier_connection(_FILE_CONNECT)); if (!$deja) { redirige_url_ecrire('install', 'etape=1&chmod=' . $chmod); } else { redirige_url_ecrire(); } } }